@prosekit/web 0.7.8 → 0.7.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/dist/{get-default-state-Bqluw34o.js → get-default-state-BzBimBWi.js} +1 -1
  2. package/dist/get-default-state-BzBimBWi.js.map +1 -0
  3. package/dist/{get-safe-editor-view-DJlcheeV.js → get-safe-editor-view-Dt9Amrcn.js} +1 -1
  4. package/dist/{get-safe-editor-view-DJlcheeV.js.map → get-safe-editor-view-Dt9Amrcn.js.map} +1 -1
  5. package/dist/{inject-style-DYQXx-cE.js → inject-style-BaFaVQvj.js} +7 -7
  6. package/dist/inject-style-BaFaVQvj.js.map +1 -0
  7. package/dist/prosekit-web-autocomplete.d.ts.map +1 -1
  8. package/dist/prosekit-web-autocomplete.js +3 -3
  9. package/dist/prosekit-web-autocomplete.js.map +1 -1
  10. package/dist/prosekit-web-block-handle.d.ts.map +1 -1
  11. package/dist/prosekit-web-block-handle.js +4 -4
  12. package/dist/prosekit-web-block-handle.js.map +1 -1
  13. package/dist/prosekit-web-drop-indicator.d.ts.map +1 -1
  14. package/dist/prosekit-web-drop-indicator.js +2 -2
  15. package/dist/prosekit-web-drop-indicator.js.map +1 -1
  16. package/dist/prosekit-web-inline-popover.d.ts.map +1 -1
  17. package/dist/prosekit-web-inline-popover.js +1 -1
  18. package/dist/prosekit-web-inline-popover.js.map +1 -1
  19. package/dist/prosekit-web-popover.d.ts.map +1 -1
  20. package/dist/prosekit-web-popover.js.map +1 -1
  21. package/dist/prosekit-web-resizable.d.ts.map +1 -1
  22. package/dist/prosekit-web-resizable.js.map +1 -1
  23. package/dist/prosekit-web-table-handle.d.ts.map +1 -1
  24. package/dist/prosekit-web-table-handle.js +25 -25
  25. package/dist/prosekit-web-table-handle.js.map +1 -1
  26. package/dist/prosekit-web-tooltip.d.ts.map +1 -1
  27. package/dist/prosekit-web-tooltip.js.map +1 -1
  28. package/dist/prosekit-web.d.ts +80 -1
  29. package/dist/prosekit-web.d.ts.map +1 -0
  30. package/dist/prosekit-web.js +95 -1
  31. package/dist/prosekit-web.js.map +1 -0
  32. package/dist/{use-editor-extension-B_5BbYvf.js → use-editor-extension-B2WuUfnd.js} +1 -1
  33. package/dist/use-editor-extension-B2WuUfnd.js.map +1 -0
  34. package/dist/{use-scrolling-BjI3cuLt.js → use-scrolling-BjVzAkiZ.js} +3 -1
  35. package/dist/use-scrolling-BjVzAkiZ.js.map +1 -0
  36. package/package.json +10 -10
  37. package/src/components/autocomplete/autocomplete-empty/types.ts +1 -4
  38. package/src/components/autocomplete/autocomplete-item/setup.ts +2 -10
  39. package/src/components/autocomplete/autocomplete-item/types.ts +2 -8
  40. package/src/components/autocomplete/autocomplete-list/setup.ts +5 -21
  41. package/src/components/autocomplete/autocomplete-list/types.ts +2 -10
  42. package/src/components/autocomplete/autocomplete-popover/helpers.spec.ts +1 -5
  43. package/src/components/autocomplete/autocomplete-popover/setup.ts +4 -20
  44. package/src/components/autocomplete/autocomplete-popover/types.ts +1 -4
  45. package/src/components/autocomplete/context.ts +1 -4
  46. package/src/components/block-handle/block-handle-add/setup.ts +1 -5
  47. package/src/components/block-handle/block-handle-add/types.ts +1 -4
  48. package/src/components/block-handle/block-handle-draggable/setup.ts +3 -18
  49. package/src/components/block-handle/block-handle-draggable/types.ts +1 -4
  50. package/src/components/block-handle/block-handle-popover/pointer-move.ts +2 -10
  51. package/src/components/block-handle/block-handle-popover/setup.ts +4 -22
  52. package/src/components/block-handle/block-handle-popover/types.ts +1 -4
  53. package/src/components/block-handle/context.ts +1 -4
  54. package/src/components/drop-indicator/drop-indicator/setup.ts +3 -15
  55. package/src/components/drop-indicator/drop-indicator/types.ts +1 -4
  56. package/src/components/inline-popover/inline-popover/setup.ts +1 -4
  57. package/src/components/inline-popover/inline-popover/types.ts +1 -4
  58. package/src/components/inline-popover/inline-popover/virtual-selection-element.ts +1 -5
  59. package/src/components/popover/popover-content/types.ts +2 -8
  60. package/src/components/popover/popover-root/types.ts +2 -8
  61. package/src/components/popover/popover-trigger/types.ts +2 -8
  62. package/src/components/resizable/context.ts +1 -4
  63. package/src/components/resizable/resizable-handle/calc-resize.spec.ts +1 -4
  64. package/src/components/resizable/resizable-handle/setup.ts +2 -15
  65. package/src/components/resizable/resizable-handle/types.ts +1 -4
  66. package/src/components/resizable/resizable-root/setup.ts +4 -20
  67. package/src/components/resizable/resizable-root/types.ts +1 -4
  68. package/src/components/table-handle/context.ts +2 -8
  69. package/src/components/table-handle/dnd.ts +11 -17
  70. package/src/components/table-handle/hooks/use-drop.ts +2 -11
  71. package/src/components/table-handle/table-handle-column-root/setup.ts +2 -13
  72. package/src/components/table-handle/table-handle-column-root/types.ts +1 -4
  73. package/src/components/table-handle/table-handle-column-trigger/setup.ts +3 -14
  74. package/src/components/table-handle/table-handle-column-trigger/types.ts +1 -4
  75. package/src/components/table-handle/table-handle-drag-preview/render-preview.ts +2 -5
  76. package/src/components/table-handle/table-handle-drag-preview/setup.ts +3 -13
  77. package/src/components/table-handle/table-handle-drag-preview/types.ts +1 -4
  78. package/src/components/table-handle/table-handle-drag-preview/updater.ts +3 -14
  79. package/src/components/table-handle/table-handle-drop-indicator/setup.ts +6 -10
  80. package/src/components/table-handle/table-handle-drop-indicator/types.ts +1 -4
  81. package/src/components/table-handle/table-handle-drop-indicator/updater.ts +5 -19
  82. package/src/components/table-handle/table-handle-popover-content/setup.ts +2 -9
  83. package/src/components/table-handle/table-handle-popover-content/types.ts +2 -10
  84. package/src/components/table-handle/table-handle-popover-item/setup.ts +2 -8
  85. package/src/components/table-handle/table-handle-popover-item/types.ts +2 -10
  86. package/src/components/table-handle/table-handle-root/setup.ts +2 -9
  87. package/src/components/table-handle/table-handle-root/types.ts +1 -4
  88. package/src/components/table-handle/table-handle-row-root/setup.ts +2 -9
  89. package/src/components/table-handle/table-handle-row-root/types.ts +2 -9
  90. package/src/components/table-handle/table-handle-row-trigger/setup.ts +3 -14
  91. package/src/components/table-handle/table-handle-row-trigger/types.ts +1 -4
  92. package/src/components/table-handle/utils.ts +1 -4
  93. package/src/components/tooltip/tooltip-content/types.ts +2 -8
  94. package/src/components/tooltip/tooltip-root/types.ts +2 -8
  95. package/src/components/tooltip/tooltip-trigger/types.ts +2 -8
  96. package/src/hooks/use-editor-extension.ts +2 -9
  97. package/src/hooks/use-editor-focus-event.ts +2 -9
  98. package/src/hooks/use-editor-typing.ts +2 -10
  99. package/src/hooks/use-editor-update-event.ts +2 -9
  100. package/src/hooks/use-first-rendering.ts +1 -6
  101. package/src/hooks/use-keymap.ts +2 -9
  102. package/src/hooks/use-scrolling.ts +3 -6
  103. package/src/hooks/use-selecting.ts +1 -5
  104. package/src/index.ts +1 -1
  105. package/src/queue-extension.ts +93 -0
  106. package/src/utils/get-default-state.spec.ts +2 -10
  107. package/src/utils/get-default-state.ts +1 -5
  108. package/dist/get-default-state-Bqluw34o.js.map +0 -1
  109. package/dist/inject-style-DYQXx-cE.js.map +0 -1
  110. package/dist/use-editor-extension-B_5BbYvf.js.map +0 -1
  111. package/dist/use-scrolling-BjI3cuLt.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"prosekit-web-popover.d.ts","names":[],"sources":["../src/components/popover/popover-content/types.ts","../src/components/popover/popover-content/element.gen.ts","../src/components/popover/popover-root/types.ts","../src/components/popover/popover-root/element.gen.ts","../src/components/popover/popover-trigger/types.ts","../src/components/popover/popover-trigger/element.gen.ts"],"sourcesContent":[],"mappings":";;;;UAUiB,mBAAA,SAA4B;AAA5B,UACA,oBAAA,SAA6B,sBADD,CAAA,CAC7C;;;cCNM,2BAA2B,uBAAuB;cAQlD,qBAAA,SAA8B,yBAAA;;;UCHnB,gBAAA,SAAyB;AFAzB,UECA,iBAAA,SAA0B,mBFDE,CAAA,CAC7C;;;cGNM,wBAAwB,uBAAuB;cAQ/C,kBAAA,SAA2B,sBAAA;;;UCHhB,mBAAA,SAA4B;AJA5B,UICA,oBAAA,SAA6B,sBJDD,CAAA,CAC7C;;;cKNM,2BAA2B,uBAAuB;cAQlD,qBAAA,SAA8B,yBAAA"}
1
+ {"version":3,"file":"prosekit-web-popover.d.ts","names":[],"sources":["../src/components/popover/popover-content/types.ts","../src/components/popover/popover-content/element.gen.ts","../src/components/popover/popover-root/types.ts","../src/components/popover/popover-root/element.gen.ts","../src/components/popover/popover-trigger/types.ts","../src/components/popover/popover-trigger/element.gen.ts"],"mappings":";;;;UAIiB,mBAAA,SAA4B,qBAAA;AAAA,UAC5B,oBAAA,SAA6B,sBAAA;;;cCAxC,yBAAA,EAA2B,sBAAA,CAAuB,mBAAA;AAAA,cAQlD,qBAAA,SAA8B,yBAAA;;;UCTnB,gBAAA,SAAyB,kBAAA;AAAA,UACzB,iBAAA,SAA0B,mBAAA;;;cCArC,sBAAA,EAAwB,sBAAA,CAAuB,gBAAA;AAAA,cAQ/C,kBAAA,SAA2B,sBAAA;;;UCThB,mBAAA,SAA4B,qBAAA;AAAA,UAC5B,oBAAA,SAA6B,sBAAA;;;cCAxC,yBAAA,EAA2B,sBAAA,CAAuB,mBAAA;AAAA,cAQlD,qBAAA,SAA8B,yBAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"prosekit-web-popover.js","names":["PopoverContentElementBase: BaseElementConstructor<PopoverContentProps>","PopoverRootElementBase: BaseElementConstructor<PopoverRootProps>","PopoverTriggerElementBase: BaseElementConstructor<PopoverTriggerProps>"],"sources":["../src/components/popover/popover-content/element.gen.ts","../src/components/popover/popover-root/element.gen.ts","../src/components/popover/popover-trigger/element.gen.ts"],"sourcesContent":["import { defineCustomElement, registerCustomElement, type BaseElementConstructor } from \"@aria-ui/core\"\n\nimport { usePopoverContent } from \"./setup\"\nimport { popoverContentEvents, popoverContentProps, type PopoverContentEvents, type PopoverContentProps } from \"./types\"\n\nconst PopoverContentElementBase: BaseElementConstructor<PopoverContentProps> = defineCustomElement<\n PopoverContentProps,\n PopoverContentEvents\n>({\n props: popoverContentProps,\n events: popoverContentEvents,\n setup: usePopoverContent,\n})\nclass PopoverContentElement extends PopoverContentElementBase {}\n\nregisterCustomElement('prosekit-popover-content', PopoverContentElement)\n \nexport { PopoverContentElement }\n","import { defineCustomElement, registerCustomElement, type BaseElementConstructor } from \"@aria-ui/core\"\n\nimport { usePopoverRoot } from \"./setup\"\nimport { popoverRootEvents, popoverRootProps, type PopoverRootEvents, type PopoverRootProps } from \"./types\"\n\nconst PopoverRootElementBase: BaseElementConstructor<PopoverRootProps> = defineCustomElement<\n PopoverRootProps,\n PopoverRootEvents\n>({\n props: popoverRootProps,\n events: popoverRootEvents,\n setup: usePopoverRoot,\n})\nclass PopoverRootElement extends PopoverRootElementBase {}\n\nregisterCustomElement('prosekit-popover-root', PopoverRootElement)\n \nexport { PopoverRootElement }\n","import { defineCustomElement, registerCustomElement, type BaseElementConstructor } from \"@aria-ui/core\"\n\nimport { usePopoverTrigger } from \"./setup\"\nimport { popoverTriggerEvents, popoverTriggerProps, type PopoverTriggerEvents, type PopoverTriggerProps } from \"./types\"\n\nconst PopoverTriggerElementBase: BaseElementConstructor<PopoverTriggerProps> = defineCustomElement<\n PopoverTriggerProps,\n PopoverTriggerEvents\n>({\n props: popoverTriggerProps,\n events: popoverTriggerEvents,\n setup: usePopoverTrigger,\n})\nclass PopoverTriggerElement extends PopoverTriggerElementBase {}\n\nregisterCustomElement('prosekit-popover-trigger', PopoverTriggerElement)\n \nexport { PopoverTriggerElement }\n"],"mappings":";;;;AAKA,MAAMA,4BAAyE,oBAG7E;CACA,OAAO;CACP,QAAQ;CACR,OAAO;CACR,CAAC;AACF,IAAM,wBAAN,cAAoC,0BAA0B;AAE9D,sBAAsB,4BAA4B,sBAAsB;;;;ACVxE,MAAMC,yBAAmE,oBAGvE;CACA,OAAO;CACP,QAAQ;CACR,OAAO;CACR,CAAC;AACF,IAAM,qBAAN,cAAiC,uBAAuB;AAExD,sBAAsB,yBAAyB,mBAAmB;;;;ACVlE,MAAMC,4BAAyE,oBAG7E;CACA,OAAO;CACP,QAAQ;CACR,OAAO;CACR,CAAC;AACF,IAAM,wBAAN,cAAoC,0BAA0B;AAE9D,sBAAsB,4BAA4B,sBAAsB"}
1
+ {"version":3,"file":"prosekit-web-popover.js","names":[],"sources":["../src/components/popover/popover-content/element.gen.ts","../src/components/popover/popover-root/element.gen.ts","../src/components/popover/popover-trigger/element.gen.ts"],"sourcesContent":["import { defineCustomElement, registerCustomElement, type BaseElementConstructor } from \"@aria-ui/core\"\n\nimport { usePopoverContent } from \"./setup\"\nimport { popoverContentEvents, popoverContentProps, type PopoverContentEvents, type PopoverContentProps } from \"./types\"\n\nconst PopoverContentElementBase: BaseElementConstructor<PopoverContentProps> = defineCustomElement<\n PopoverContentProps,\n PopoverContentEvents\n>({\n props: popoverContentProps,\n events: popoverContentEvents,\n setup: usePopoverContent,\n})\nclass PopoverContentElement extends PopoverContentElementBase {}\n\nregisterCustomElement('prosekit-popover-content', PopoverContentElement)\n \nexport { PopoverContentElement }\n","import { defineCustomElement, registerCustomElement, type BaseElementConstructor } from \"@aria-ui/core\"\n\nimport { usePopoverRoot } from \"./setup\"\nimport { popoverRootEvents, popoverRootProps, type PopoverRootEvents, type PopoverRootProps } from \"./types\"\n\nconst PopoverRootElementBase: BaseElementConstructor<PopoverRootProps> = defineCustomElement<\n PopoverRootProps,\n PopoverRootEvents\n>({\n props: popoverRootProps,\n events: popoverRootEvents,\n setup: usePopoverRoot,\n})\nclass PopoverRootElement extends PopoverRootElementBase {}\n\nregisterCustomElement('prosekit-popover-root', PopoverRootElement)\n \nexport { PopoverRootElement }\n","import { defineCustomElement, registerCustomElement, type BaseElementConstructor } from \"@aria-ui/core\"\n\nimport { usePopoverTrigger } from \"./setup\"\nimport { popoverTriggerEvents, popoverTriggerProps, type PopoverTriggerEvents, type PopoverTriggerProps } from \"./types\"\n\nconst PopoverTriggerElementBase: BaseElementConstructor<PopoverTriggerProps> = defineCustomElement<\n PopoverTriggerProps,\n PopoverTriggerEvents\n>({\n props: popoverTriggerProps,\n events: popoverTriggerEvents,\n setup: usePopoverTrigger,\n})\nclass PopoverTriggerElement extends PopoverTriggerElementBase {}\n\nregisterCustomElement('prosekit-popover-trigger', PopoverTriggerElement)\n \nexport { PopoverTriggerElement }\n"],"mappings":";;;;AAKA,MAAM,4BAAyE,oBAG7E;CACA,OAAO;CACP,QAAQ;CACR,OAAO;CACR,CAAC;AACF,IAAM,wBAAN,cAAoC,0BAA0B;AAE9D,sBAAsB,4BAA4B,sBAAsB;;;;ACVxE,MAAM,yBAAmE,oBAGvE;CACA,OAAO;CACP,QAAQ;CACR,OAAO;CACR,CAAC;AACF,IAAM,qBAAN,cAAiC,uBAAuB;AAExD,sBAAsB,yBAAyB,mBAAmB;;;;ACVlE,MAAM,4BAAyE,oBAG7E;CACA,OAAO;CACP,QAAQ;CACR,OAAO;CACR,CAAC;AACF,IAAM,wBAAN,cAAoC,0BAA0B;AAE9D,sBAAsB,4BAA4B,sBAAsB"}
@@ -1 +1 @@
1
- {"version":3,"file":"prosekit-web-resizable.d.ts","names":[],"sources":["../src/components/resizable/resizable-handle/types.ts","../src/components/resizable/resizable-handle/element.gen.ts","../src/components/resizable/resizable-handle/setup.ts","../src/components/resizable/resizable-root/types.ts","../src/components/resizable/resizable-root/element.gen.ts","../src/components/resizable/resizable-root/setup.ts"],"sourcesContent":[],"mappings":";;;UAKiB,oBAAA;;AAAjB;AAkBA;AAKA;AAGA;;;;AC1BM,cDkBO,oBCXX,EDWiC,gBClBsB,CDkBL,oBClBlB,CAAA;AAAsB;UDuBvC,qBAAA;;AEJD,cFOH,qBEPqB,EFOE,iBEPF,CFOoB,qBEPpB,CAAA;;;cDnB5B,4BAA4B,uBAAuB;ADAzD,cCQM,sBAAA,SAA+B,0BAAA,CDRA;;;;AAArC;AAkBA;AAKiB,iBEJD,kBAAA,CFIsB,IAAA,EEH9B,kBFG8B,EAAA;EAAA;CAAA,EAAA;EAGzB,KAAA,EELS,WFKT,CELqB,oBFKoB,CAAA;;;;UG1BrC,kBAAA;;EHAA,MAAA,EAAA,MAAA,GAAA,IAAA;EAkBJ,WAAA,EAAA,MAAA,GAAA,IAEZ;AAGD;AAGA;cGnBa,oBAAoB,iBAAiB;UAMjC,mBAAA;eACF;IFdT,KAAA,EAAA,MAAA;IAQA,MAAA,EAAA,MAAA;;aEOO;;IDIG,MAAA,EAAA,MAAA;EACR,CAAA,CAAA;;;AACc,cCFT,mBDES,ECFY,iBDEZ,CCF8B,mBDE9B,CAAA;;;cErBhB,0BAA0B,uBAAuB;AJAvD,cIQM,oBAAA,SAA6B,wBAAA,CJRE;;;;AAArC;AAkBA;AAKiB,iBKFD,gBAAA,CLEsB,IAAA,EKD9B,kBLC8B,EAAA;EAAA,KAAA;EAAA;AAAA,CAAA,EKAnB,YLAmB,CKAN,kBLAM,EKAc,mBLAd,CAAA,CAAA,EAAA,IAAA"}
1
+ {"version":3,"file":"prosekit-web-resizable.d.ts","names":[],"sources":["../src/components/resizable/resizable-handle/types.ts","../src/components/resizable/resizable-handle/element.gen.ts","../src/components/resizable/resizable-handle/setup.ts","../src/components/resizable/resizable-root/types.ts","../src/components/resizable/resizable-root/element.gen.ts","../src/components/resizable/resizable-root/setup.ts"],"mappings":";;;UAEiB,oBAAA;;AAAjB;;;;EAME,QAAA;AAAA;;cAYW,oBAAA,EAAsB,gBAAA,CAAiB,oBAAA;;UAKnC,qBAAA;;cAGJ,qBAAA,EAAuB,iBAAA,CAAkB,qBAAA;;;cCvBhD,0BAAA,EAA4B,sBAAA,CAAuB,oBAAA;AAAA,cAQnD,sBAAA,SAA+B,0BAAA;;;;ADXrC;;iBESgB,kBAAA,CACd,IAAA,EAAM,kBAAA;EACJ;AAAA;EAAW,KAAA,EAAO,WAAA,CAAY,oBAAA;AAAA;;;UCXjB,kBAAA;EACf,KAAA;EACA,MAAA;EACA,WAAA;AAAA;;cAIW,kBAAA,EAAoB,gBAAA,CAAiB,kBAAA;AAAA,UAMjC,mBAAA;EACf,WAAA,EAAa,WAAA;IAAc,KAAA;IAAe,MAAA;EAAA;EAC1C,SAAA,EAAW,WAAA;IAAc,KAAA;IAAe,MAAA;EAAA;AAAA;AHW1C;AAAA,cGPa,mBAAA,EAAqB,iBAAA,CAAkB,mBAAA;;;cChB9C,wBAAA,EAA0B,sBAAA,CAAuB,kBAAA;AAAA,cAQjD,oBAAA,SAA6B,wBAAA;;;;AJXnC;;iBKQgB,gBAAA,CACd,IAAA,EAAM,kBAAA;EACJ,KAAA;EAAO;AAAA,GAAQ,YAAA,CAAa,kBAAA,EAAoB,mBAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"prosekit-web-resizable.js","names":["onResizeContext: Context<OnResize>","onResizeStartContext: Context<OnResizeStart>","onResizeEndContext: Context<OnResizeEnd>","calcBottomRightResize: CalcResize","calcBottomLeftResize: CalcResize","calcTopRightResize: CalcResize","calcTopLeftResize: CalcResize","calcTopResize: CalcResize","calcRightResize: CalcResize","calcBottomResize: CalcResize","calcLeftResize: CalcResize","resizableHandleProps: PropDeclarations<ResizableHandleProps>","resizableHandleEvents: EventDeclarations<ResizableHandleEvents>","ResizableHandleElementBase: BaseElementConstructor<ResizableHandleProps>","onResizeStart: OnResizeStart","aspectRatio: number","onResize: OnResize","onResizeEnd: OnResizeEnd","resizableRootProps: PropDeclarations<ResizableRootProps>","resizableRootEvents: EventDeclarations<ResizableRootEvents>","ResizableRootElementBase: BaseElementConstructor<ResizableRootProps>"],"sources":["../src/components/resizable/context.ts","../src/utils/is-finite-positive-number.ts","../src/components/resizable/resizable-handle/calc-resize.ts","../src/components/resizable/resizable-handle/setup.ts","../src/components/resizable/resizable-handle/types.ts","../src/components/resizable/resizable-handle/element.gen.ts","../src/components/resizable/resizable-root/setup.ts","../src/components/resizable/resizable-root/types.ts","../src/components/resizable/resizable-root/element.gen.ts"],"sourcesContent":["import {\n createContext,\n type Context,\n} from '@aria-ui/core'\n\n/**\n * @internal\n */\nexport const onResizeContext: Context<OnResize> = createContext(\n 'prosekit/resizable/onResize',\n null,\n)\n\n/**\n * @internal\n */\nexport const onResizeStartContext: Context<OnResizeStart> = createContext(\n 'prosekit/resizable/onResizeStart',\n null,\n)\n\n/**\n * @internal\n */\nexport const onResizeEndContext: Context<OnResizeEnd> = createContext(\n 'prosekit/resizable/onResizeEnd',\n null,\n)\n\n/**\n * @internal\n */\nexport type OnResize = ((width: number, height: number) => void) | null\n\n/**\n * @internal\n */\nexport type OnResizeStart =\n | (() => readonly [width: number, height: number, aspectRatio: number])\n | null\n\n/**\n * @internal\n */\nexport type OnResizeEnd = (() => void) | null\n","export function isFinitePositiveNumber(value: unknown): value is number {\n return typeof value === 'number' && Number.isFinite(value) && value > 0\n}\n","import { isFinitePositiveNumber } from '../../../utils/is-finite-positive-number'\n\nexport function calcResize(\n position:\n | 'top'\n | 'right'\n | 'bottom'\n | 'left'\n | 'top-left'\n | 'top-right'\n | 'bottom-left'\n | 'bottom-right',\n w: number,\n h: number,\n dx: number,\n dy: number,\n aspectRatio: number | null | undefined,\n): [w: number, h: number] {\n aspectRatio = aspectRatio ? aspectRatio : w / h\n aspectRatio = isFinitePositiveNumber(aspectRatio) ? aspectRatio : 1\n\n switch (position) {\n case 'bottom-right':\n return clamp(calcBottomRightResize(w, h, dx, dy, aspectRatio))\n case 'bottom-left':\n return clamp(calcBottomLeftResize(w, h, dx, dy, aspectRatio))\n case 'top-right':\n return clamp(calcTopRightResize(w, h, dx, dy, aspectRatio))\n case 'top-left':\n return clamp(calcTopLeftResize(w, h, dx, dy, aspectRatio))\n case 'top':\n return clamp(calcTopResize(w, h, dx, dy, aspectRatio))\n case 'right':\n return clamp(calcRightResize(w, h, dx, dy, aspectRatio))\n case 'bottom':\n return clamp(calcBottomResize(w, h, dx, dy, aspectRatio))\n case 'left':\n return clamp(calcLeftResize(w, h, dx, dy, aspectRatio))\n default:\n throw new RangeError(`Invalid position: ${position}`)\n }\n}\n\ntype CalcResize = (\n w: number,\n h: number,\n dx: number,\n dy: number,\n aspectRatio: number,\n) => [w: number, h: number]\n\nconst calcBottomRightResize: CalcResize = (w, h, dx, dy, r) => {\n w += dx\n h += dy\n\n const sum = w + h\n h = sum / (r + 1)\n w = sum - h\n return [w, h]\n}\n\nconst calcBottomLeftResize: CalcResize = (w, h, dx, dy, r) => {\n w -= dx\n h += dy\n\n const sum = w + h\n h = sum / (r + 1)\n w = sum - h\n return [w, h]\n}\n\nconst calcTopRightResize: CalcResize = (w, h, dx, dy, r) => {\n w += dx\n h -= dy\n\n const sum = w + h\n h = sum / (r + 1)\n w = sum - h\n return [w, h]\n}\n\nconst calcTopLeftResize: CalcResize = (w, h, dx, dy, r) => {\n w -= dx\n h -= dy\n\n const sum = w + h\n h = sum / (r + 1)\n w = sum - h\n return [w, h]\n}\n\nconst calcTopResize: CalcResize = (w, h, dx, dy, r) => {\n h -= dy\n w = h * r\n return [w, h]\n}\n\nconst calcRightResize: CalcResize = (w, h, dx, dy, r) => {\n w += dx\n h = w / r\n return [w, h]\n}\n\nconst calcBottomResize: CalcResize = (w, h, dx, dy, r) => {\n h += dy\n w = h * r\n return [w, h]\n}\n\nconst calcLeftResize: CalcResize = (w, h, dx, dy, r) => {\n w -= dx\n h = w / r\n return [w, h]\n}\n\nfunction clamp([w, h]: [number, number]): [number, number] {\n return [\n Math.max(w, 1),\n Math.max(h, 1),\n ]\n}\n","import {\n createSignal,\n useEffect,\n type ConnectableElement,\n type ReadonlySignal,\n type SignalState,\n} from '@aria-ui/core'\nimport { getWindow } from '@ocavue/utils'\n\nimport {\n onResizeContext,\n onResizeEndContext,\n onResizeStartContext,\n type OnResize,\n type OnResizeEnd,\n type OnResizeStart,\n} from '../context'\n\nimport { calcResize } from './calc-resize'\nimport type { ResizableHandleProps } from './types'\n\n/**\n * @internal\n */\nexport function useResizableHandle(\n host: ConnectableElement,\n { state }: { state: SignalState<ResizableHandleProps> },\n): void {\n const onResize = onResizeContext.consume(host)\n const onResizeStart = onResizeStartContext.consume(host)\n const onResizeEnd = onResizeEndContext.consume(host)\n\n useResizableHandleState(host, state, { onResize, onResizeStart, onResizeEnd })\n}\n\nfunction useResizableHandleState(\n host: ConnectableElement,\n state: SignalState<ResizableHandleProps>,\n context: {\n onResizeStart: ReadonlySignal<OnResizeStart>\n onResize: ReadonlySignal<OnResize>\n onResizeEnd: ReadonlySignal<OnResizeEnd>\n },\n) {\n let startX = 0\n let startY = 0\n let width = 0\n let height = 0\n let aspectRatio = 1\n\n const pointerPressing = createSignal(false)\n\n const handlePointerDown = (event: PointerEvent) => {\n event.preventDefault()\n pointerPressing.set(true)\n\n startX = event.x\n startY = event.y\n\n const size = context.onResizeStart.get()?.()\n if (size) {\n ;[width, height, aspectRatio] = size\n }\n }\n\n const handlePointerMove = (event: PointerEvent) => {\n event.preventDefault()\n\n const dx = event.x - startX\n const dy = event.y - startY\n\n const [w, h] = calcResize(\n state.position.peek(),\n width,\n height,\n dx,\n dy,\n aspectRatio,\n )\n\n context.onResize.get()?.(w, h)\n }\n\n const handlePointerUp = (event: PointerEvent) => {\n event.preventDefault()\n pointerPressing.set(false)\n\n context.onResizeEnd.get()?.()\n }\n\n useEffect(host, () => {\n host.addEventListener('pointerdown', handlePointerDown)\n return () => {\n host.removeEventListener('pointerdown', handlePointerDown)\n }\n })\n\n useEffect(host, () => {\n if (!pointerPressing.get()) {\n return\n }\n\n const win = getWindow(host)\n\n win.addEventListener('pointermove', handlePointerMove)\n win.addEventListener('pointerup', handlePointerUp)\n return () => {\n win.removeEventListener('pointermove', handlePointerMove)\n win.removeEventListener('pointerup', handlePointerUp)\n }\n })\n}\n","import type {\n EventDeclarations,\n PropDeclarations,\n} from '@aria-ui/core'\n\nexport interface ResizableHandleProps {\n /**\n * The position of the handle.\n *\n * @default \"bottom-right\"\n */\n position:\n | 'top'\n | 'right'\n | 'bottom'\n | 'left'\n | 'top-left'\n | 'top-right'\n | 'bottom-left'\n | 'bottom-right'\n}\n\n/** @internal */\nexport const resizableHandleProps: PropDeclarations<ResizableHandleProps> = {\n position: { default: 'bottom-right' },\n}\n\n/** @internal */\nexport interface ResizableHandleEvents {}\n\n/** @internal */\nexport const resizableHandleEvents: EventDeclarations<ResizableHandleEvents> = {}\n","import { defineCustomElement, registerCustomElement, type BaseElementConstructor } from \"@aria-ui/core\"\n\nimport { useResizableHandle } from \"./setup\"\nimport { resizableHandleEvents, resizableHandleProps, type ResizableHandleEvents, type ResizableHandleProps } from \"./types\"\n\nconst ResizableHandleElementBase: BaseElementConstructor<ResizableHandleProps> = defineCustomElement<\n ResizableHandleProps,\n ResizableHandleEvents\n>({\n props: resizableHandleProps,\n events: resizableHandleEvents,\n setup: useResizableHandle,\n})\nclass ResizableHandleElement extends ResizableHandleElementBase {}\n\nregisterCustomElement('prosekit-resizable-handle', ResizableHandleElement)\n \nexport { ResizableHandleElement }\n","import {\n createSignal,\n useAttribute,\n useEffect,\n type ConnectableElement,\n type SetupOptions,\n} from '@aria-ui/core'\n\nimport { isFinitePositiveNumber } from '../../../utils/is-finite-positive-number'\nimport {\n onResizeContext,\n onResizeEndContext,\n onResizeStartContext,\n type OnResize,\n type OnResizeEnd,\n type OnResizeStart,\n} from '../context'\n\nimport type {\n ResizableRootEvents,\n ResizableRootProps,\n} from './types'\n\n/**\n * @internal\n */\nexport function useResizableRoot(\n host: ConnectableElement,\n { state, emit }: SetupOptions<ResizableRootProps, ResizableRootEvents>,\n): void {\n const resizing = createSignal(false)\n\n const onResizeStart: OnResizeStart = () => {\n const { width, height } = host.getBoundingClientRect()\n\n let aspectRatio: number = state.aspectRatio.peek() ?? width / height\n\n if (!isFinitePositiveNumber(aspectRatio)) {\n aspectRatio = 0\n }\n\n emit('resizeStart', { width, height })\n resizing.set(true)\n return [width, height, aspectRatio]\n }\n\n const onResize: OnResize = (width, height) => {\n state.width.set(width)\n state.height.set(height)\n }\n\n const onResizeEnd: OnResizeEnd = () => {\n const { width, height } = host.getBoundingClientRect()\n emit('resizeEnd', { width, height })\n resizing.set(false)\n }\n\n onResizeStartContext.provide(host, createSignal(onResizeStart))\n onResizeContext.provide(host, createSignal(onResize))\n onResizeEndContext.provide(host, createSignal(onResizeEnd))\n\n useEffect(host, () => {\n updateResizableRootStyles(\n host,\n Math.max(state.width.get() || 0, 1),\n Math.max(state.height.get() || 0, 1),\n state.aspectRatio.get(),\n )\n })\n\n useAttribute(host, 'data-resizing', () => (resizing.get() ? '' : undefined))\n}\n\nfunction updateResizableRootStyles(\n host: ConnectableElement,\n width: number,\n height: number,\n aspectRatio: number | null,\n) {\n host.style.width = isFinitePositiveNumber(width) ? `${width}px` : ''\n\n host.style.height = isFinitePositiveNumber(height) ? `${height}px` : ''\n\n if (isFinitePositiveNumber(aspectRatio)) {\n host.style.aspectRatio = `${aspectRatio}`\n\n if (width && width > 0 && aspectRatio >= 1) {\n host.style.height = 'auto'\n } else if (height && height > 0 && aspectRatio <= 1) {\n host.style.width = 'min-content'\n }\n }\n}\n","import type {\n EventDeclarations,\n PropDeclarations,\n} from '@aria-ui/core'\n\nexport interface ResizableRootProps {\n width: number | null\n height: number | null\n aspectRatio: number | null\n}\n\n/** @internal */\nexport const resizableRootProps: PropDeclarations<ResizableRootProps> = {\n width: { default: null },\n height: { default: null },\n aspectRatio: { default: null },\n}\n\nexport interface ResizableRootEvents {\n resizeStart: CustomEvent<{ width: number; height: number }>\n resizeEnd: CustomEvent<{ width: number; height: number }>\n}\n\n/** @internal */\nexport const resizableRootEvents: EventDeclarations<ResizableRootEvents> = {\n resizeStart: {},\n resizeEnd: {},\n}\n","import { defineCustomElement, registerCustomElement, type BaseElementConstructor } from \"@aria-ui/core\"\n\nimport { useResizableRoot } from \"./setup\"\nimport { resizableRootEvents, resizableRootProps, type ResizableRootEvents, type ResizableRootProps } from \"./types\"\n\nconst ResizableRootElementBase: BaseElementConstructor<ResizableRootProps> = defineCustomElement<\n ResizableRootProps,\n ResizableRootEvents\n>({\n props: resizableRootProps,\n events: resizableRootEvents,\n setup: useResizableRoot,\n})\nclass ResizableRootElement extends ResizableRootElementBase {}\n\nregisterCustomElement('prosekit-resizable-root', ResizableRootElement)\n \nexport { ResizableRootElement }\n"],"mappings":"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"}
1
+ {"version":3,"file":"prosekit-web-resizable.js","names":[],"sources":["../src/components/resizable/context.ts","../src/utils/is-finite-positive-number.ts","../src/components/resizable/resizable-handle/calc-resize.ts","../src/components/resizable/resizable-handle/setup.ts","../src/components/resizable/resizable-handle/types.ts","../src/components/resizable/resizable-handle/element.gen.ts","../src/components/resizable/resizable-root/setup.ts","../src/components/resizable/resizable-root/types.ts","../src/components/resizable/resizable-root/element.gen.ts"],"sourcesContent":["import { createContext, type Context } from '@aria-ui/core'\n\n/**\n * @internal\n */\nexport const onResizeContext: Context<OnResize> = createContext(\n 'prosekit/resizable/onResize',\n null,\n)\n\n/**\n * @internal\n */\nexport const onResizeStartContext: Context<OnResizeStart> = createContext(\n 'prosekit/resizable/onResizeStart',\n null,\n)\n\n/**\n * @internal\n */\nexport const onResizeEndContext: Context<OnResizeEnd> = createContext(\n 'prosekit/resizable/onResizeEnd',\n null,\n)\n\n/**\n * @internal\n */\nexport type OnResize = ((width: number, height: number) => void) | null\n\n/**\n * @internal\n */\nexport type OnResizeStart =\n | (() => readonly [width: number, height: number, aspectRatio: number])\n | null\n\n/**\n * @internal\n */\nexport type OnResizeEnd = (() => void) | null\n","export function isFinitePositiveNumber(value: unknown): value is number {\n return typeof value === 'number' && Number.isFinite(value) && value > 0\n}\n","import { isFinitePositiveNumber } from '../../../utils/is-finite-positive-number'\n\nexport function calcResize(\n position:\n | 'top'\n | 'right'\n | 'bottom'\n | 'left'\n | 'top-left'\n | 'top-right'\n | 'bottom-left'\n | 'bottom-right',\n w: number,\n h: number,\n dx: number,\n dy: number,\n aspectRatio: number | null | undefined,\n): [w: number, h: number] {\n aspectRatio = aspectRatio ? aspectRatio : w / h\n aspectRatio = isFinitePositiveNumber(aspectRatio) ? aspectRatio : 1\n\n switch (position) {\n case 'bottom-right':\n return clamp(calcBottomRightResize(w, h, dx, dy, aspectRatio))\n case 'bottom-left':\n return clamp(calcBottomLeftResize(w, h, dx, dy, aspectRatio))\n case 'top-right':\n return clamp(calcTopRightResize(w, h, dx, dy, aspectRatio))\n case 'top-left':\n return clamp(calcTopLeftResize(w, h, dx, dy, aspectRatio))\n case 'top':\n return clamp(calcTopResize(w, h, dx, dy, aspectRatio))\n case 'right':\n return clamp(calcRightResize(w, h, dx, dy, aspectRatio))\n case 'bottom':\n return clamp(calcBottomResize(w, h, dx, dy, aspectRatio))\n case 'left':\n return clamp(calcLeftResize(w, h, dx, dy, aspectRatio))\n default:\n throw new RangeError(`Invalid position: ${position}`)\n }\n}\n\ntype CalcResize = (\n w: number,\n h: number,\n dx: number,\n dy: number,\n aspectRatio: number,\n) => [w: number, h: number]\n\nconst calcBottomRightResize: CalcResize = (w, h, dx, dy, r) => {\n w += dx\n h += dy\n\n const sum = w + h\n h = sum / (r + 1)\n w = sum - h\n return [w, h]\n}\n\nconst calcBottomLeftResize: CalcResize = (w, h, dx, dy, r) => {\n w -= dx\n h += dy\n\n const sum = w + h\n h = sum / (r + 1)\n w = sum - h\n return [w, h]\n}\n\nconst calcTopRightResize: CalcResize = (w, h, dx, dy, r) => {\n w += dx\n h -= dy\n\n const sum = w + h\n h = sum / (r + 1)\n w = sum - h\n return [w, h]\n}\n\nconst calcTopLeftResize: CalcResize = (w, h, dx, dy, r) => {\n w -= dx\n h -= dy\n\n const sum = w + h\n h = sum / (r + 1)\n w = sum - h\n return [w, h]\n}\n\nconst calcTopResize: CalcResize = (w, h, dx, dy, r) => {\n h -= dy\n w = h * r\n return [w, h]\n}\n\nconst calcRightResize: CalcResize = (w, h, dx, dy, r) => {\n w += dx\n h = w / r\n return [w, h]\n}\n\nconst calcBottomResize: CalcResize = (w, h, dx, dy, r) => {\n h += dy\n w = h * r\n return [w, h]\n}\n\nconst calcLeftResize: CalcResize = (w, h, dx, dy, r) => {\n w -= dx\n h = w / r\n return [w, h]\n}\n\nfunction clamp([w, h]: [number, number]): [number, number] {\n return [\n Math.max(w, 1),\n Math.max(h, 1),\n ]\n}\n","import { createSignal, useEffect, type ConnectableElement, type ReadonlySignal, type SignalState } from '@aria-ui/core'\nimport { getWindow } from '@ocavue/utils'\n\nimport { onResizeContext, onResizeEndContext, onResizeStartContext, type OnResize, type OnResizeEnd, type OnResizeStart } from '../context'\n\nimport { calcResize } from './calc-resize'\nimport type { ResizableHandleProps } from './types'\n\n/**\n * @internal\n */\nexport function useResizableHandle(\n host: ConnectableElement,\n { state }: { state: SignalState<ResizableHandleProps> },\n): void {\n const onResize = onResizeContext.consume(host)\n const onResizeStart = onResizeStartContext.consume(host)\n const onResizeEnd = onResizeEndContext.consume(host)\n\n useResizableHandleState(host, state, { onResize, onResizeStart, onResizeEnd })\n}\n\nfunction useResizableHandleState(\n host: ConnectableElement,\n state: SignalState<ResizableHandleProps>,\n context: {\n onResizeStart: ReadonlySignal<OnResizeStart>\n onResize: ReadonlySignal<OnResize>\n onResizeEnd: ReadonlySignal<OnResizeEnd>\n },\n) {\n let startX = 0\n let startY = 0\n let width = 0\n let height = 0\n let aspectRatio = 1\n\n const pointerPressing = createSignal(false)\n\n const handlePointerDown = (event: PointerEvent) => {\n event.preventDefault()\n pointerPressing.set(true)\n\n startX = event.x\n startY = event.y\n\n const size = context.onResizeStart.get()?.()\n if (size) {\n ;[width, height, aspectRatio] = size\n }\n }\n\n const handlePointerMove = (event: PointerEvent) => {\n event.preventDefault()\n\n const dx = event.x - startX\n const dy = event.y - startY\n\n const [w, h] = calcResize(\n state.position.peek(),\n width,\n height,\n dx,\n dy,\n aspectRatio,\n )\n\n context.onResize.get()?.(w, h)\n }\n\n const handlePointerUp = (event: PointerEvent) => {\n event.preventDefault()\n pointerPressing.set(false)\n\n context.onResizeEnd.get()?.()\n }\n\n useEffect(host, () => {\n host.addEventListener('pointerdown', handlePointerDown)\n return () => {\n host.removeEventListener('pointerdown', handlePointerDown)\n }\n })\n\n useEffect(host, () => {\n if (!pointerPressing.get()) {\n return\n }\n\n const win = getWindow(host)\n\n win.addEventListener('pointermove', handlePointerMove)\n win.addEventListener('pointerup', handlePointerUp)\n return () => {\n win.removeEventListener('pointermove', handlePointerMove)\n win.removeEventListener('pointerup', handlePointerUp)\n }\n })\n}\n","import type { EventDeclarations, PropDeclarations } from '@aria-ui/core'\n\nexport interface ResizableHandleProps {\n /**\n * The position of the handle.\n *\n * @default \"bottom-right\"\n */\n position:\n | 'top'\n | 'right'\n | 'bottom'\n | 'left'\n | 'top-left'\n | 'top-right'\n | 'bottom-left'\n | 'bottom-right'\n}\n\n/** @internal */\nexport const resizableHandleProps: PropDeclarations<ResizableHandleProps> = {\n position: { default: 'bottom-right' },\n}\n\n/** @internal */\nexport interface ResizableHandleEvents {}\n\n/** @internal */\nexport const resizableHandleEvents: EventDeclarations<ResizableHandleEvents> = {}\n","import { defineCustomElement, registerCustomElement, type BaseElementConstructor } from \"@aria-ui/core\"\n\nimport { useResizableHandle } from \"./setup\"\nimport { resizableHandleEvents, resizableHandleProps, type ResizableHandleEvents, type ResizableHandleProps } from \"./types\"\n\nconst ResizableHandleElementBase: BaseElementConstructor<ResizableHandleProps> = defineCustomElement<\n ResizableHandleProps,\n ResizableHandleEvents\n>({\n props: resizableHandleProps,\n events: resizableHandleEvents,\n setup: useResizableHandle,\n})\nclass ResizableHandleElement extends ResizableHandleElementBase {}\n\nregisterCustomElement('prosekit-resizable-handle', ResizableHandleElement)\n \nexport { ResizableHandleElement }\n","import { createSignal, useAttribute, useEffect, type ConnectableElement, type SetupOptions } from '@aria-ui/core'\n\nimport { isFinitePositiveNumber } from '../../../utils/is-finite-positive-number'\nimport { onResizeContext, onResizeEndContext, onResizeStartContext, type OnResize, type OnResizeEnd, type OnResizeStart } from '../context'\n\nimport type { ResizableRootEvents, ResizableRootProps } from './types'\n\n/**\n * @internal\n */\nexport function useResizableRoot(\n host: ConnectableElement,\n { state, emit }: SetupOptions<ResizableRootProps, ResizableRootEvents>,\n): void {\n const resizing = createSignal(false)\n\n const onResizeStart: OnResizeStart = () => {\n const { width, height } = host.getBoundingClientRect()\n\n let aspectRatio: number = state.aspectRatio.peek() ?? width / height\n\n if (!isFinitePositiveNumber(aspectRatio)) {\n aspectRatio = 0\n }\n\n emit('resizeStart', { width, height })\n resizing.set(true)\n return [width, height, aspectRatio]\n }\n\n const onResize: OnResize = (width, height) => {\n state.width.set(width)\n state.height.set(height)\n }\n\n const onResizeEnd: OnResizeEnd = () => {\n const { width, height } = host.getBoundingClientRect()\n emit('resizeEnd', { width, height })\n resizing.set(false)\n }\n\n onResizeStartContext.provide(host, createSignal(onResizeStart))\n onResizeContext.provide(host, createSignal(onResize))\n onResizeEndContext.provide(host, createSignal(onResizeEnd))\n\n useEffect(host, () => {\n updateResizableRootStyles(\n host,\n Math.max(state.width.get() || 0, 1),\n Math.max(state.height.get() || 0, 1),\n state.aspectRatio.get(),\n )\n })\n\n useAttribute(host, 'data-resizing', () => (resizing.get() ? '' : undefined))\n}\n\nfunction updateResizableRootStyles(\n host: ConnectableElement,\n width: number,\n height: number,\n aspectRatio: number | null,\n) {\n host.style.width = isFinitePositiveNumber(width) ? `${width}px` : ''\n\n host.style.height = isFinitePositiveNumber(height) ? `${height}px` : ''\n\n if (isFinitePositiveNumber(aspectRatio)) {\n host.style.aspectRatio = `${aspectRatio}`\n\n if (width && width > 0 && aspectRatio >= 1) {\n host.style.height = 'auto'\n } else if (height && height > 0 && aspectRatio <= 1) {\n host.style.width = 'min-content'\n }\n }\n}\n","import type { EventDeclarations, PropDeclarations } from '@aria-ui/core'\n\nexport interface ResizableRootProps {\n width: number | null\n height: number | null\n aspectRatio: number | null\n}\n\n/** @internal */\nexport const resizableRootProps: PropDeclarations<ResizableRootProps> = {\n width: { default: null },\n height: { default: null },\n aspectRatio: { default: null },\n}\n\nexport interface ResizableRootEvents {\n resizeStart: CustomEvent<{ width: number; height: number }>\n resizeEnd: CustomEvent<{ width: number; height: number }>\n}\n\n/** @internal */\nexport const resizableRootEvents: EventDeclarations<ResizableRootEvents> = {\n resizeStart: {},\n resizeEnd: {},\n}\n","import { defineCustomElement, registerCustomElement, type BaseElementConstructor } from \"@aria-ui/core\"\n\nimport { useResizableRoot } from \"./setup\"\nimport { resizableRootEvents, resizableRootProps, type ResizableRootEvents, type ResizableRootProps } from \"./types\"\n\nconst ResizableRootElementBase: BaseElementConstructor<ResizableRootProps> = defineCustomElement<\n ResizableRootProps,\n ResizableRootEvents\n>({\n props: resizableRootProps,\n events: resizableRootEvents,\n setup: useResizableRoot,\n})\nclass ResizableRootElement extends ResizableRootElementBase {}\n\nregisterCustomElement('prosekit-resizable-root', ResizableRootElement)\n \nexport { ResizableRootElement }\n"],"mappings":";;;;;;;AAKA,MAAa,kBAAqC,cAChD,+BACA,KACD;;;;AAKD,MAAa,uBAA+C,cAC1D,oCACA,KACD;;;;AAKD,MAAa,qBAA2C,cACtD,kCACA,KACD;;;;ACxBD,SAAgB,uBAAuB,OAAiC;AACtE,QAAO,OAAO,UAAU,YAAY,OAAO,SAAS,MAAM,IAAI,QAAQ;;;;;ACCxE,SAAgB,WACd,UASA,GACA,GACA,IACA,IACA,aACwB;AACxB,eAAc,cAAc,cAAc,IAAI;AAC9C,eAAc,uBAAuB,YAAY,GAAG,cAAc;AAElE,SAAQ,UAAR;EACE,KAAK,eACH,QAAO,MAAM,sBAAsB,GAAG,GAAG,IAAI,IAAI,YAAY,CAAC;EAChE,KAAK,cACH,QAAO,MAAM,qBAAqB,GAAG,GAAG,IAAI,IAAI,YAAY,CAAC;EAC/D,KAAK,YACH,QAAO,MAAM,mBAAmB,GAAG,GAAG,IAAI,IAAI,YAAY,CAAC;EAC7D,KAAK,WACH,QAAO,MAAM,kBAAkB,GAAG,GAAG,IAAI,IAAI,YAAY,CAAC;EAC5D,KAAK,MACH,QAAO,MAAM,cAAc,GAAG,GAAG,IAAI,IAAI,YAAY,CAAC;EACxD,KAAK,QACH,QAAO,MAAM,gBAAgB,GAAG,GAAG,IAAI,IAAI,YAAY,CAAC;EAC1D,KAAK,SACH,QAAO,MAAM,iBAAiB,GAAG,GAAG,IAAI,IAAI,YAAY,CAAC;EAC3D,KAAK,OACH,QAAO,MAAM,eAAe,GAAG,GAAG,IAAI,IAAI,YAAY,CAAC;EACzD,QACE,OAAM,IAAI,WAAW,qBAAqB,WAAW;;;AAY3D,MAAM,yBAAqC,GAAG,GAAG,IAAI,IAAI,MAAM;AAC7D,MAAK;AACL,MAAK;CAEL,MAAM,MAAM,IAAI;AAChB,KAAI,OAAO,IAAI;AACf,KAAI,MAAM;AACV,QAAO,CAAC,GAAG,EAAE;;AAGf,MAAM,wBAAoC,GAAG,GAAG,IAAI,IAAI,MAAM;AAC5D,MAAK;AACL,MAAK;CAEL,MAAM,MAAM,IAAI;AAChB,KAAI,OAAO,IAAI;AACf,KAAI,MAAM;AACV,QAAO,CAAC,GAAG,EAAE;;AAGf,MAAM,sBAAkC,GAAG,GAAG,IAAI,IAAI,MAAM;AAC1D,MAAK;AACL,MAAK;CAEL,MAAM,MAAM,IAAI;AAChB,KAAI,OAAO,IAAI;AACf,KAAI,MAAM;AACV,QAAO,CAAC,GAAG,EAAE;;AAGf,MAAM,qBAAiC,GAAG,GAAG,IAAI,IAAI,MAAM;AACzD,MAAK;AACL,MAAK;CAEL,MAAM,MAAM,IAAI;AAChB,KAAI,OAAO,IAAI;AACf,KAAI,MAAM;AACV,QAAO,CAAC,GAAG,EAAE;;AAGf,MAAM,iBAA6B,GAAG,GAAG,IAAI,IAAI,MAAM;AACrD,MAAK;AACL,KAAI,IAAI;AACR,QAAO,CAAC,GAAG,EAAE;;AAGf,MAAM,mBAA+B,GAAG,GAAG,IAAI,IAAI,MAAM;AACvD,MAAK;AACL,KAAI,IAAI;AACR,QAAO,CAAC,GAAG,EAAE;;AAGf,MAAM,oBAAgC,GAAG,GAAG,IAAI,IAAI,MAAM;AACxD,MAAK;AACL,KAAI,IAAI;AACR,QAAO,CAAC,GAAG,EAAE;;AAGf,MAAM,kBAA8B,GAAG,GAAG,IAAI,IAAI,MAAM;AACtD,MAAK;AACL,KAAI,IAAI;AACR,QAAO,CAAC,GAAG,EAAE;;AAGf,SAAS,MAAM,CAAC,GAAG,IAAwC;AACzD,QAAO,CACL,KAAK,IAAI,GAAG,EAAE,EACd,KAAK,IAAI,GAAG,EAAE,CACf;;;;;;;;AC5GH,SAAgB,mBACd,MACA,EAAE,SACI;AAKN,yBAAwB,MAAM,OAAO;EAAE,UAJtB,gBAAgB,QAAQ,KAAK;EAIG,eAH3B,qBAAqB,QAAQ,KAAK;EAGQ,aAF5C,mBAAmB,QAAQ,KAAK;EAEyB,CAAC;;AAGhF,SAAS,wBACP,MACA,OACA,SAKA;CACA,IAAI,SAAS;CACb,IAAI,SAAS;CACb,IAAI,QAAQ;CACZ,IAAI,SAAS;CACb,IAAI,cAAc;CAElB,MAAM,kBAAkB,aAAa,MAAM;CAE3C,MAAM,qBAAqB,UAAwB;AACjD,QAAM,gBAAgB;AACtB,kBAAgB,IAAI,KAAK;AAEzB,WAAS,MAAM;AACf,WAAS,MAAM;EAEf,MAAM,OAAO,QAAQ,cAAc,KAAK,IAAI;AAC5C,MAAI,KACD,EAAC,OAAO,QAAQ,eAAe;;CAIpC,MAAM,qBAAqB,UAAwB;AACjD,QAAM,gBAAgB;EAEtB,MAAM,KAAK,MAAM,IAAI;EACrB,MAAM,KAAK,MAAM,IAAI;EAErB,MAAM,CAAC,GAAG,KAAK,WACb,MAAM,SAAS,MAAM,EACrB,OACA,QACA,IACA,IACA,YACD;AAED,UAAQ,SAAS,KAAK,GAAG,GAAG,EAAE;;CAGhC,MAAM,mBAAmB,UAAwB;AAC/C,QAAM,gBAAgB;AACtB,kBAAgB,IAAI,MAAM;AAE1B,UAAQ,YAAY,KAAK,IAAI;;AAG/B,WAAU,YAAY;AACpB,OAAK,iBAAiB,eAAe,kBAAkB;AACvD,eAAa;AACX,QAAK,oBAAoB,eAAe,kBAAkB;;GAE5D;AAEF,WAAU,YAAY;AACpB,MAAI,CAAC,gBAAgB,KAAK,CACxB;EAGF,MAAM,MAAM,UAAU,KAAK;AAE3B,MAAI,iBAAiB,eAAe,kBAAkB;AACtD,MAAI,iBAAiB,aAAa,gBAAgB;AAClD,eAAa;AACX,OAAI,oBAAoB,eAAe,kBAAkB;AACzD,OAAI,oBAAoB,aAAa,gBAAgB;;GAEvD;;;;;;AC7EJ,MAAa,uBAA+D,EAC1E,UAAU,EAAE,SAAS,gBAAgB,EACtC;;AAMD,MAAa,wBAAkE,EAAE;;;;ACvBjF,MAAM,6BAA2E,oBAG/E;CACA,OAAO;CACP,QAAQ;CACR,OAAO;CACR,CAAC;AACF,IAAM,yBAAN,cAAqC,2BAA2B;AAEhE,sBAAsB,6BAA6B,uBAAuB;;;;;;;ACL1E,SAAgB,iBACd,MACA,EAAE,OAAO,QACH;CACN,MAAM,WAAW,aAAa,MAAM;CAEpC,MAAM,sBAAqC;EACzC,MAAM,EAAE,OAAO,WAAW,KAAK,uBAAuB;EAEtD,IAAI,cAAsB,MAAM,YAAY,MAAM,IAAI,QAAQ;AAE9D,MAAI,CAAC,uBAAuB,YAAY,CACtC,eAAc;AAGhB,OAAK,eAAe;GAAE;GAAO;GAAQ,CAAC;AACtC,WAAS,IAAI,KAAK;AAClB,SAAO;GAAC;GAAO;GAAQ;GAAY;;CAGrC,MAAM,YAAsB,OAAO,WAAW;AAC5C,QAAM,MAAM,IAAI,MAAM;AACtB,QAAM,OAAO,IAAI,OAAO;;CAG1B,MAAM,oBAAiC;EACrC,MAAM,EAAE,OAAO,WAAW,KAAK,uBAAuB;AACtD,OAAK,aAAa;GAAE;GAAO;GAAQ,CAAC;AACpC,WAAS,IAAI,MAAM;;AAGrB,sBAAqB,QAAQ,MAAM,aAAa,cAAc,CAAC;AAC/D,iBAAgB,QAAQ,MAAM,aAAa,SAAS,CAAC;AACrD,oBAAmB,QAAQ,MAAM,aAAa,YAAY,CAAC;AAE3D,WAAU,YAAY;AACpB,4BACE,MACA,KAAK,IAAI,MAAM,MAAM,KAAK,IAAI,GAAG,EAAE,EACnC,KAAK,IAAI,MAAM,OAAO,KAAK,IAAI,GAAG,EAAE,EACpC,MAAM,YAAY,KAAK,CACxB;GACD;AAEF,cAAa,MAAM,uBAAwB,SAAS,KAAK,GAAG,KAAK,OAAW;;AAG9E,SAAS,0BACP,MACA,OACA,QACA,aACA;AACA,MAAK,MAAM,QAAQ,uBAAuB,MAAM,GAAG,GAAG,MAAM,MAAM;AAElE,MAAK,MAAM,SAAS,uBAAuB,OAAO,GAAG,GAAG,OAAO,MAAM;AAErE,KAAI,uBAAuB,YAAY,EAAE;AACvC,OAAK,MAAM,cAAc,GAAG;AAE5B,MAAI,SAAS,QAAQ,KAAK,eAAe,EACvC,MAAK,MAAM,SAAS;WACX,UAAU,SAAS,KAAK,eAAe,EAChD,MAAK,MAAM,QAAQ;;;;;;;AChEzB,MAAa,qBAA2D;CACtE,OAAO,EAAE,SAAS,MAAM;CACxB,QAAQ,EAAE,SAAS,MAAM;CACzB,aAAa,EAAE,SAAS,MAAM;CAC/B;;AAQD,MAAa,sBAA8D;CACzE,aAAa,EAAE;CACf,WAAW,EAAE;CACd;;;;ACnBD,MAAM,2BAAuE,oBAG3E;CACA,OAAO;CACP,QAAQ;CACR,OAAO;CACR,CAAC;AACF,IAAM,uBAAN,cAAmC,yBAAyB;AAE5D,sBAAsB,2BAA2B,qBAAqB"}
@@ -1 +1 @@
1
- {"version":3,"file":"prosekit-web-table-handle.d.ts","names":[],"sources":["../src/components/table-handle/table-handle-column-root/types.ts","../src/components/table-handle/table-handle-column-root/element.gen.ts","../src/components/table-handle/table-handle-column-root/setup.ts","../src/components/table-handle/table-handle-column-trigger/types.ts","../src/components/table-handle/table-handle-column-trigger/element.gen.ts","../src/components/table-handle/table-handle-column-trigger/setup.ts","../src/components/table-handle/table-handle-drag-preview/types.ts","../src/components/table-handle/table-handle-drag-preview/element.gen.ts","../src/components/table-handle/table-handle-drag-preview/setup.ts","../src/components/table-handle/table-handle-drop-indicator/types.ts","../src/components/table-handle/table-handle-drop-indicator/element.gen.ts","../src/components/table-handle/table-handle-drop-indicator/setup.ts","../src/components/table-handle/table-handle-popover-content/types.ts","../src/components/table-handle/table-handle-popover-content/element.gen.ts","../src/components/table-handle/table-handle-popover-content/setup.ts","../src/components/table-handle/table-handle-popover-item/types.ts","../src/components/table-handle/table-handle-popover-item/element.gen.ts","../src/components/table-handle/table-handle-popover-item/setup.ts","../src/components/table-handle/table-handle-root/types.ts","../src/components/table-handle/table-handle-root/element.gen.ts","../src/components/table-handle/table-handle-root/setup.ts","../src/components/table-handle/table-handle-row-root/types.ts","../src/components/table-handle/table-handle-row-root/element.gen.ts","../src/components/table-handle/table-handle-row-root/setup.ts","../src/components/table-handle/table-handle-row-trigger/types.ts","../src/components/table-handle/table-handle-row-trigger/element.gen.ts","../src/components/table-handle/table-handle-row-trigger/setup.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"prosekit-web-table-handle.d.ts","names":[],"sources":["../src/components/table-handle/table-handle-column-root/types.ts","../src/components/table-handle/table-handle-column-root/element.gen.ts","../src/components/table-handle/table-handle-column-root/setup.ts","../src/components/table-handle/table-handle-column-trigger/types.ts","../src/components/table-handle/table-handle-column-trigger/element.gen.ts","../src/components/table-handle/table-handle-column-trigger/setup.ts","../src/components/table-handle/table-handle-drag-preview/types.ts","../src/components/table-handle/table-handle-drag-preview/element.gen.ts","../src/components/table-handle/table-handle-drag-preview/setup.ts","../src/components/table-handle/table-handle-drop-indicator/types.ts","../src/components/table-handle/table-handle-drop-indicator/element.gen.ts","../src/components/table-handle/table-handle-drop-indicator/setup.ts","../src/components/table-handle/table-handle-popover-content/types.ts","../src/components/table-handle/table-handle-popover-content/element.gen.ts","../src/components/table-handle/table-handle-popover-content/setup.ts","../src/components/table-handle/table-handle-popover-item/types.ts","../src/components/table-handle/table-handle-popover-item/element.gen.ts","../src/components/table-handle/table-handle-popover-item/setup.ts","../src/components/table-handle/table-handle-root/types.ts","../src/components/table-handle/table-handle-root/element.gen.ts","../src/components/table-handle/table-handle-root/setup.ts","../src/components/table-handle/table-handle-row-root/types.ts","../src/components/table-handle/table-handle-row-root/element.gen.ts","../src/components/table-handle/table-handle-row-root/setup.ts","../src/components/table-handle/table-handle-row-trigger/types.ts","../src/components/table-handle/table-handle-row-trigger/element.gen.ts","../src/components/table-handle/table-handle-row-trigger/setup.ts"],"mappings":";;;;;;;;;UAUiB,0BAAA,SAAmC,IAAA,CAAK,sBAAA;;;;;AAAzD;;EAOE,MAAA,EAAQ,MAAA;EAP+C;;;;;EAcvD,SAAA,EAAW,SAAA;EAduC;;;;;;EAsBlD,KAAA;EAMA;;;;EAAA,IAAA;EAgBW;;;;EAVX,KAAA;EAyBe;;;;EAnBf,IAAA;AAAA;;cAIW,0BAAA,EAA4B,gBAAA,CAAiB,0BAAA;;UAezC,2BAAA,SAAoC,uBAAA;;cAGxC,2BAAA,EAA6B,iBAAA,CAAkB,2BAAA;;;cCnEtD,gCAAA,EAAkC,sBAAA,CAAuB,0BAAA;AAAA,cAQzD,4BAAA,SAAqC,gCAAA;;;;;;iBCC3B,wBAAA,CACd,IAAA,EAAM,kBAAA;EACJ;AAAA;EAAW,KAAA,EAAO,WAAA,CAAY,0BAAA;AAAA;;;KCZ7B,wBAAA,GAAyB,UAAA,QAAkB,mBAAA;AAAA,UAE/B,6BAAA;EACf,MAAA,EAAQ,MAAA,CAAO,wBAAA;AAAA;;cAIJ,6BAAA,EAA+B,gBAAA,CAAiB,6BAAA;AHD7D;AAAA,UGMiB,8BAAA;;cAGJ,8BAAA,EAAgC,iBAAA,CAAkB,8BAAA;;;cCdzD,mCAAA,EAAqC,sBAAA,CAAuB,6BAAA;AAAA,cAQ5D,+BAAA,SAAwC,mCAAA;;;;;;iBCD9B,2BAAA,CACd,IAAA,EAAM,kBAAA;EACJ;AAAA,GAAS,YAAA,CAAa,6BAAA,EAA+B,8BAAA;;;UCXxC,2BAAA;EACf,MAAA,EAAQ,MAAA;AAAA;AAAA,cAGG,2BAAA,EAA6B,gBAAA,CAAiB,2BAAA;AAAA,UAI1C,4BAAA;AAAA,cAEJ,4BAAA,EAA8B,iBAAA,CAAkB,4BAAA;;;cCRvD,iCAAA,EAAmC,sBAAA,CAAuB,2BAAA;AAAA,cAQ1D,6BAAA,SAAsC,iCAAA;;;;;;iBCD5B,yBAAA,CAA0B,IAAA,EAAM,kBAAA;EAAsB;AAAA;EAAW,KAAA,EAAO,WAAA,CAAY,2BAAA;AAAA;;;UCRnF,6BAAA;EACf,MAAA,EAAQ,MAAA,CAAO,sBAAA;AAAA;AAAA,cAGJ,6BAAA,EAA+B,gBAAA,CAAiB,6BAAA;AAAA,UAI5C,8BAAA;AAAA,cAEJ,8BAAA,EAAgC,iBAAA,CAAkB,8BAAA;;;cCTzD,mCAAA,EAAqC,sBAAA,CAAuB,6BAAA;AAAA,cAQ5D,+BAAA,SAAwC,mCAAA;;;;;;iBCA9B,2BAAA,CACd,IAAA,EAAM,kBAAA;EACJ;AAAA;EAAW,KAAA,EAAO,WAAA,CAAY,6BAAA;AAAA;;;UCXjB,8BAAA,SAAuC,IAAA,CAAK,gBAAA;;;;EAI3D,SAAA,EAAW,gBAAA;;AZEb;;EYGE,MAAA,EAAQ,gBAAA;EAER,MAAA,EAAQ,MAAA;AAAA;;cAIG,8BAAA,EAAgC,gBAAA,CAAiB,8BAAA;AAAA,UAO7C,+BAAA,SAAwC,iBAAA;;cAG5C,+BAAA,EAAiC,iBAAA,CAAkB,+BAAA;;;cCxB1D,oCAAA,EAAsC,sBAAA,CAAuB,8BAAA;AAAA,cAQ7D,gCAAA,SAAyC,oCAAA;;;;;;iBCO/B,4BAAA,CACd,IAAA,EAAM,kBAAA;EAEJ,KAAA;EACA;AAAA,GACC,YAAA,CACD,8BAAA,EACA,+BAAA;;;UCxBa,2BAAA,SAAoC,aAAA;;cAGxC,2BAAA,EAA6B,gBAAA,CAAiB,2BAAA;AAAA,UAI1C,4BAAA,SAAqC,cAAA;;cAGzC,4BAAA,EAA8B,iBAAA,CAAkB,4BAAA;;;cCRvD,iCAAA,EAAmC,sBAAA,CAAuB,2BAAA;AAAA,cAQ1D,6BAAA,SAAsC,iCAAA;;;;;;iBCL5B,yBAAA,CACd,OAAA,EAAS,kBAAA;EAEP,KAAA;EACA;AAAA,GACC,YAAA,CAAa,2BAAA,EAA6B,4BAAA;;;UCV9B,oBAAA;;;;;;;EAOf,MAAA,EAAQ,MAAA;AAAA;;cAIG,oBAAA,EAAsB,gBAAA,CAAiB,oBAAA;;UAKnC,qBAAA;;cAGJ,qBAAA,EAAuB,iBAAA,CAAkB,qBAAA;;;cCjBhD,0BAAA,EAA4B,sBAAA,CAAuB,oBAAA;AAAA,cAQnD,sBAAA,SAA+B,0BAAA;;;;;;iBCkBrB,kBAAA,CACd,IAAA,EAAM,kBAAA;EACJ;AAAA;EAAW,KAAA,EAAO,WAAA,CAAY,oBAAA;AAAA;;;UC5BjB,uBAAA,SAAgC,IAAA,CAAK,sBAAA;;;;;ArBKtD;;EqBEE,MAAA,EAAQ,MAAA;ErBF+C;;;;;EqBSvD,SAAA,EAAW,SAAA;ErBTuC;;;;;;EqBiBlD,KAAA;ErBWA;;;;EqBLA,IAAA;ErBqBW;;;;EqBfX,KAAA;ErB8Be;;;;EqBxBf,IAAA;AAAA;;cAIW,uBAAA,EAAyB,gBAAA,CAAiB,uBAAA;;UAetC,wBAAA,SAAiC,uBAAA;;cAGrC,wBAAA,EAA0B,iBAAA,CAAkB,wBAAA;;;cC9DnD,6BAAA,EAA+B,sBAAA,CAAuB,uBAAA;AAAA,cAQtD,yBAAA,SAAkC,6BAAA;;;;;;iBCSxB,qBAAA,CACd,IAAA,EAAM,kBAAA;EACJ;AAAA,GAAS,YAAA,CAAa,uBAAA,EAAyB,wBAAA;;;KCpB9C,wBAAA,GAAyB,UAAA,QAAkB,mBAAA;AAAA,UAE/B,0BAAA;EACf,MAAA,EAAQ,MAAA,CAAO,wBAAA;AAAA;;cAIJ,0BAAA,EAA4B,gBAAA,CAAiB,0BAAA;AAAA,UAIzC,2BAAA;EACf,MAAA,EAAQ,WAAA;AAAA;;cAIG,2BAAA,EAA6B,iBAAA,CAAkB,2BAAA;;;cCftD,gCAAA,EAAkC,sBAAA,CAAuB,0BAAA;AAAA,cAQzD,4BAAA,SAAqC,gCAAA;;;;;;iBCD3B,wBAAA,CACd,IAAA,EAAM,kBAAA;EACJ;AAAA,GAAS,YAAA,CAAa,0BAAA,EAA4B,2BAAA"}
@@ -1,8 +1,8 @@
1
- import { t as getStateWithDefaults } from "./get-default-state-Bqluw34o.js";
2
- import { t as useEditorExtension } from "./use-editor-extension-B_5BbYvf.js";
3
- import { t as getSafeEditorView } from "./get-safe-editor-view-DJlcheeV.js";
4
- import { n as assignStyles, t as useScrolling } from "./use-scrolling-BjI3cuLt.js";
5
- import { n as cloneElement, r as deepCloneElement, t as injectStyle } from "./inject-style-DYQXx-cE.js";
1
+ import { t as getStateWithDefaults } from "./get-default-state-BzBimBWi.js";
2
+ import { t as useEditorExtension } from "./use-editor-extension-B2WuUfnd.js";
3
+ import { t as getSafeEditorView } from "./get-safe-editor-view-Dt9Amrcn.js";
4
+ import { n as assignStyles, t as useScrolling } from "./use-scrolling-BjVzAkiZ.js";
5
+ import { n as cloneElement, r as deepCloneElement, t as injectStyle } from "./inject-style-BaFaVQvj.js";
6
6
  import { createComputed, createContext, createSignal, defineCustomElement, defineEmit, registerCustomElement, useAttribute, useEffect, useEventListener } from "@aria-ui/core";
7
7
  import { defineDOMEventHandler, union } from "@prosekit/core";
8
8
  import { useOverlayPositionerState } from "@aria-ui/overlay/elements";
@@ -241,8 +241,8 @@ function getTableDOMByPos(view, pos) {
241
241
  return (isHTMLElement(dom) ? dom : dom.parentElement)?.closest("table") ?? void 0;
242
242
  }
243
243
  function getTargetFirstCellDOM(table, index, direction) {
244
- if (direction === "row") return table.querySelectorAll("tr")[index]?.querySelector("td") ?? void 0;
245
- else return table.querySelector("tr")?.querySelectorAll("td")[index] ?? void 0;
244
+ if (direction === "row") return table.querySelectorAll("tr")[index]?.querySelector("td, th") ?? void 0;
245
+ else return table.querySelector("tr")?.querySelectorAll("td, th")[index] ?? void 0;
246
246
  }
247
247
  function getDndRelatedDOMs(view, cellPos, draggingIndex, direction) {
248
248
  if (cellPos == null) return;
@@ -323,7 +323,7 @@ function createPreviewDOM(table, previewRoot, index, direction) {
323
323
  const [previewRow, previewRowStyle] = cloneElement(row);
324
324
  injectStyle(previewRoot, previewRowStyle);
325
325
  unsetSize(previewRow);
326
- const cell = row.querySelectorAll("td")[index];
326
+ const cell = row.querySelectorAll("td, th")[index];
327
327
  if (cell) {
328
328
  const [previewCell, previewCellStyle] = deepCloneElement(cell);
329
329
  injectStyle(previewRoot, previewCellStyle);
@@ -368,14 +368,14 @@ function useUpdatePreviewPosition(host, editor) {
368
368
  if (!relatedDOMs) return;
369
369
  const { cell } = relatedDOMs;
370
370
  let cancelled = false;
371
- computePosition(getVirtualElement(cell, x, y), host, { placement: direction === "row" ? "right" : "bottom" }).then(({ x: x$1, y: y$1 }) => {
371
+ computePosition(getVirtualElement(cell, x, y), host, { placement: direction === "row" ? "right" : "bottom" }).then(({ x, y }) => {
372
372
  if (cancelled) return;
373
373
  if (direction === "row") {
374
- assignStyles(host, { top: `${y$1}px` });
374
+ assignStyles(host, { top: `${y}px` });
375
375
  return;
376
376
  }
377
377
  if (direction === "col") {
378
- assignStyles(host, { left: `${x$1}px` });
378
+ assignStyles(host, { left: `${x}px` });
379
379
  return;
380
380
  }
381
381
  });
@@ -459,13 +459,13 @@ function findDragOverElement(elements, pointer, axis) {
459
459
  const startProp = axis === "x" ? "left" : "top";
460
460
  const endProp = axis === "x" ? "right" : "bottom";
461
461
  const lastIndex = elements.length - 1;
462
- const index = elements.findIndex((el, index$1) => {
462
+ const index = elements.findIndex((el, index) => {
463
463
  const rect = el.getBoundingClientRect();
464
464
  const boundaryStart = rect[startProp];
465
465
  const boundaryEnd = rect[endProp];
466
466
  if (boundaryStart <= pointer && pointer <= boundaryEnd) return true;
467
- if (index$1 === lastIndex && pointer > boundaryEnd) return true;
468
- if (index$1 === 0 && pointer < boundaryStart) return true;
467
+ if (index === lastIndex && pointer > boundaryEnd) return true;
468
+ if (index === 0 && pointer < boundaryStart) return true;
469
469
  return false;
470
470
  });
471
471
  return index >= 0 ? [elements[index], index] : void 0;
@@ -510,11 +510,11 @@ function useUpdateIndicatorPosition(host, editor, handleWidth) {
510
510
  if (!relatedDOMs) return;
511
511
  const { table } = relatedDOMs;
512
512
  let cancelled = false;
513
- let cleanup = () => {
513
+ const cleanup = () => {
514
514
  cancelled = true;
515
515
  };
516
516
  if (direction === "col") {
517
- const direction$1 = startXSignal.get() > x ? "left" : "right";
517
+ const direction = startXSignal.get() > x ? "left" : "right";
518
518
  const dragOverColumn = getDragOverColumn(table, x);
519
519
  if (dragOverColumn) {
520
520
  const [col, index] = dragOverColumn;
@@ -523,17 +523,17 @@ function useUpdateIndicatorPosition(host, editor, handleWidth) {
523
523
  droppingIndex: index
524
524
  });
525
525
  computePosition(col, host, {
526
- placement: direction$1 === "left" ? "left" : "right",
527
- middleware: [offset(direction$1 === "left" ? -1 * handleWidth : 0)]
528
- }).then(({ x: x$1 }) => {
526
+ placement: direction === "left" ? "left" : "right",
527
+ middleware: [offset(direction === "left" ? -1 * handleWidth : 0)]
528
+ }).then(({ x }) => {
529
529
  if (cancelled) return;
530
- assignStyles(host, { left: `${x$1}px` });
530
+ assignStyles(host, { left: `${x}px` });
531
531
  });
532
532
  }
533
533
  return cleanup;
534
534
  }
535
535
  if (direction === "row") {
536
- const direction$1 = startYSignal.get() > y ? "up" : "down";
536
+ const direction = startYSignal.get() > y ? "up" : "down";
537
537
  const dragOverRow = getDragOverRow(table, y);
538
538
  if (dragOverRow) {
539
539
  const [row, index] = dragOverRow;
@@ -542,11 +542,11 @@ function useUpdateIndicatorPosition(host, editor, handleWidth) {
542
542
  droppingIndex: index
543
543
  });
544
544
  computePosition(row, host, {
545
- placement: direction$1 === "up" ? "top" : "bottom",
546
- middleware: [offset(direction$1 === "up" ? -1 * handleWidth : 0)]
547
- }).then(({ y: y$1 }) => {
545
+ placement: direction === "up" ? "top" : "bottom",
546
+ middleware: [offset(direction === "up" ? -1 * handleWidth : 0)]
547
+ }).then(({ y }) => {
548
548
  if (cancelled) return;
549
- assignStyles(host, { top: `${y$1}px` });
549
+ assignStyles(host, { top: `${y}px` });
550
550
  });
551
551
  }
552
552
  return cleanup;