titlebar-tab-gesture.ts 573 B

1234567891011121314151617
  1. import type { Ref } from "solid-js"
  2. export function isTabCloseTarget(target: EventTarget | null) {
  3. return target instanceof Element && !!target.closest('[data-slot="tab-close"]')
  4. }
  5. export function canStartTabDrag(pointerType: string) {
  6. return pointerType !== "touch"
  7. }
  8. export function forwardTabRef(ref: Ref<HTMLDivElement> | undefined, element: HTMLDivElement) {
  9. if (typeof ref === "function") ref(element)
  10. }
  11. export function canOpenTabRename(dragging: boolean | undefined, editing: boolean, committing: boolean) {
  12. return !dragging && !editing && !committing
  13. }