@vuu-ui/vuu-ui-controls 2.1.18 → 2.1.19-beta.2

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 (745) hide show
  1. package/package.json +14 -17
  2. package/src/calendar/Calendar.css.js +10 -0
  3. package/src/calendar/Calendar.js +70 -0
  4. package/src/calendar/index.js +4 -0
  5. package/src/calendar/internal/CalendarCarousel.css.js +19 -0
  6. package/src/calendar/internal/CalendarCarousel.js +73 -0
  7. package/src/calendar/internal/CalendarContext.js +9 -0
  8. package/src/calendar/internal/CalendarDay.css.js +116 -0
  9. package/{esm → src}/calendar/internal/CalendarDay.js +33 -53
  10. package/src/calendar/internal/CalendarMonth.css.js +13 -0
  11. package/src/calendar/internal/CalendarMonth.js +43 -0
  12. package/src/calendar/internal/CalendarNavigation.css.js +24 -0
  13. package/src/calendar/internal/CalendarNavigation.js +185 -0
  14. package/src/calendar/internal/CalendarWeekHeader.css.js +23 -0
  15. package/src/calendar/internal/CalendarWeekHeader.js +31 -0
  16. package/src/calendar/internal/useFocusManagement.js +66 -0
  17. package/src/calendar/internal/utils.js +57 -0
  18. package/src/calendar/useCalendar.js +116 -0
  19. package/src/calendar/useCalendarDay.js +74 -0
  20. package/src/calendar/useSelection.js +202 -0
  21. package/src/column-picker/ColumnPicker.css.js +8 -0
  22. package/src/column-picker/ColumnPicker.js +108 -0
  23. package/src/column-picker/ColumnSearch.css.js +61 -0
  24. package/src/column-picker/ColumnSearch.js +66 -0
  25. package/src/column-picker/index.js +2 -0
  26. package/src/column-picker/moving-window.js +49 -0
  27. package/src/common-hooks/index.js +3 -0
  28. package/src/common-hooks/selectionTypes.js +8 -0
  29. package/src/common-hooks/use-resize-observer.js +122 -0
  30. package/src/common-hooks/useControlled.js +45 -0
  31. package/src/context-panel-provider/ContextPanelProvider.js +80 -0
  32. package/src/cycle-state-button/CycleStateButton.js +30 -0
  33. package/src/cycle-state-button/index.js +1 -0
  34. package/src/date-input/DateInput.css.js +195 -0
  35. package/src/date-input/DateInput.js +210 -0
  36. package/src/date-input/index.js +1 -0
  37. package/src/date-picker/DatePicker.js +137 -0
  38. package/src/date-picker/DatePickerContext.js +20 -0
  39. package/src/date-picker/DatePickerPanel.css.js +25 -0
  40. package/src/date-picker/DatePickerPanel.js +124 -0
  41. package/src/date-picker/index.js +1 -0
  42. package/src/drag-drop/DragDropProvider.js +123 -0
  43. package/src/drag-drop/DragDropState.js +25 -0
  44. package/src/drag-drop/Draggable.css.js +57 -0
  45. package/src/drag-drop/Draggable.js +77 -0
  46. package/src/drag-drop/DropIndicator.css.js +11 -0
  47. package/src/drag-drop/DropIndicator.js +28 -0
  48. package/{esm → src}/drag-drop/dragDropTypes.js +0 -2
  49. package/src/drag-drop/drop-target-utils.js +199 -0
  50. package/src/drag-drop/index.js +6 -0
  51. package/src/drag-drop/useAutoScroll.js +53 -0
  52. package/src/drag-drop/useDragDisplacers.js +126 -0
  53. package/src/drag-drop/useDragDrop.js +435 -0
  54. package/src/drag-drop/useDragDropCopy.js +22 -0
  55. package/src/drag-drop/useDragDropIndicator.js +182 -0
  56. package/src/drag-drop/useDragDropNaturalMovement.js +205 -0
  57. package/src/drag-drop/useDropIndicator.js +21 -0
  58. package/src/drag-drop/useGlobalDragDrop.js +67 -0
  59. package/src/drag-drop/useTransition.js +11 -0
  60. package/src/editable/index.js +1 -0
  61. package/src/editable/useEditableText.js +199 -0
  62. package/src/editable-label/EditableLabel.css.js +81 -0
  63. package/src/editable-label/EditableLabel.js +125 -0
  64. package/src/editable-label/index.js +1 -0
  65. package/src/expando-input/ExpandoInput.css.js +67 -0
  66. package/src/expando-input/ExpandoInput.js +40 -0
  67. package/src/expando-input/index.js +1 -0
  68. package/src/highlighter/Highlighter.css.js +8 -0
  69. package/src/highlighter/Highlighter.js +27 -0
  70. package/src/highlighter/index.js +1 -0
  71. package/src/hover-overlay/HoverOverlay.js +92 -0
  72. package/src/icon-button/Icon.css.js +8 -0
  73. package/src/icon-button/Icon.js +26 -0
  74. package/src/icon-button/IconButton.css.js +10 -0
  75. package/src/icon-button/IconButton.js +28 -0
  76. package/src/icon-button/ToggleIconButton.css.js +47 -0
  77. package/src/icon-button/ToggleIconButton.js +26 -0
  78. package/src/icon-button/index.js +3 -0
  79. package/src/index.js +31 -0
  80. package/src/instrument-picker/SearchCell.css.js +17 -0
  81. package/src/instrument-picker/SearchCell.js +29 -0
  82. package/src/instrument-picker/TablePicker.css.js +23 -0
  83. package/src/instrument-picker/TablePicker.js +89 -0
  84. package/src/instrument-picker/index.js +1 -0
  85. package/src/instrument-picker/moving-window.js +49 -0
  86. package/src/instrument-picker/useDataSource.js +38 -0
  87. package/src/instrument-picker/useTablePicker.js +136 -0
  88. package/src/measured-container/MeasuredContainer.css.js +11 -0
  89. package/src/measured-container/MeasuredContainer.js +50 -0
  90. package/src/measured-container/index.js +2 -0
  91. package/src/measured-container/useMeasuredContainer.js +156 -0
  92. package/src/modal-provider/ModalProvider.js +147 -0
  93. package/src/overflow-container/OverflowContainer.css.js +135 -0
  94. package/src/overflow-container/OverflowContainer.js +87 -0
  95. package/src/overflow-container/index.js +2 -0
  96. package/src/overflow-container/overflow-utils.js +211 -0
  97. package/src/overflow-container/useOverflowContainer.js +108 -0
  98. package/src/price-ticker/PriceTicker.css.js +32 -0
  99. package/src/price-ticker/PriceTicker.js +51 -0
  100. package/src/price-ticker/index.js +1 -0
  101. package/src/prompt/Prompt.css.js +48 -0
  102. package/src/prompt/Prompt.js +112 -0
  103. package/src/sortable-list/SortableList.js +39 -0
  104. package/src/split-button/SplitButton.css.js +117 -0
  105. package/src/split-button/SplitButton.js +60 -0
  106. package/src/split-button/SplitStateButton.css.js +66 -0
  107. package/src/split-button/SplitStateButton.js +23 -0
  108. package/src/split-button/index.js +2 -0
  109. package/src/split-button/useSplitButton.js +61 -0
  110. package/src/table-search/SearchCell.css.js +20 -0
  111. package/src/table-search/SearchCell.js +26 -0
  112. package/src/table-search/TableSearch.css.js +27 -0
  113. package/src/table-search/TableSearch.js +81 -0
  114. package/src/table-search/index.js +1 -0
  115. package/src/table-search/moving-window.js +49 -0
  116. package/src/table-search/useTableSearch.js +30 -0
  117. package/src/tabs-next/TabBar.css.js +26 -0
  118. package/src/tabs-next/TabBar.js +27 -0
  119. package/src/tabs-next/TabListNext.css.js +36 -0
  120. package/src/tabs-next/TabListNext.js +94 -0
  121. package/src/tabs-next/TabNext.css.js +76 -0
  122. package/src/tabs-next/TabNext.js +91 -0
  123. package/src/tabs-next/TabNextAction.js +26 -0
  124. package/src/tabs-next/TabNextContext.js +14 -0
  125. package/src/tabs-next/TabNextPanel.css.js +17 -0
  126. package/src/tabs-next/TabNextPanel.js +69 -0
  127. package/src/tabs-next/TabNextTrigger.css.js +22 -0
  128. package/src/tabs-next/TabNextTrigger.js +66 -0
  129. package/src/tabs-next/TabOverflowList.css.js +77 -0
  130. package/src/tabs-next/TabOverflowList.js +115 -0
  131. package/src/tabs-next/TabsNext.js +149 -0
  132. package/src/tabs-next/TabsNextContext.js +28 -0
  133. package/src/tabs-next/hooks/useCollection.js +80 -0
  134. package/src/tabs-next/hooks/useFocusOutside.js +23 -0
  135. package/src/tabs-next/hooks/useOverflow.js +118 -0
  136. package/src/tabs-next/index.js +7 -0
  137. package/src/tabstrip/Tab.css.js +148 -0
  138. package/src/tabstrip/Tab.js +107 -0
  139. package/src/tabstrip/TabMenu.css.js +8 -0
  140. package/src/tabstrip/TabMenu.js +48 -0
  141. package/src/tabstrip/TabMenuOptions.js +14 -0
  142. package/src/tabstrip/TabsTypes.js +0 -0
  143. package/src/tabstrip/Tabstrip.css.js +121 -0
  144. package/src/tabstrip/Tabstrip.js +106 -0
  145. package/src/tabstrip/ThemeTabstrip.css.js +20 -0
  146. package/src/tabstrip/index.js +4 -0
  147. package/src/tabstrip/tabstrip-dom-utils.js +11 -0
  148. package/src/tabstrip/useAnimatedSelectionThumb.js +68 -0
  149. package/src/tabstrip/useKeyboardNavigation.js +191 -0
  150. package/src/tabstrip/useSelection.js +50 -0
  151. package/src/tabstrip/useTabstrip.js +181 -0
  152. package/src/time-input/MaskedInput.js +285 -0
  153. package/src/time-input/TimeInput.css.js +39 -0
  154. package/src/time-input/TimeInput.js +37 -0
  155. package/src/time-input/useTimeInput.js +82 -0
  156. package/src/toolbar/Toolbar.css.js +46 -0
  157. package/src/toolbar/Toolbar.js +62 -0
  158. package/src/toolbar/index.js +1 -0
  159. package/src/toolbar/toolbar-dom-utils.js +11 -0
  160. package/src/toolbar/useKeyboardNavigation.js +240 -0
  161. package/src/toolbar/useSelection.js +82 -0
  162. package/src/toolbar/useToolbar.js +73 -0
  163. package/src/utils/deprecated-types.js +0 -0
  164. package/{esm → src}/utils/escapeRegExp.js +1 -3
  165. package/src/utils/forwardCallbackProps.js +15 -0
  166. package/src/utils/index.js +5 -0
  167. package/src/utils/isOverflowElement.js +2 -0
  168. package/src/utils/isPlainObject.js +2 -0
  169. package/src/vuu-date-picker/VuuDatePicker.js +92 -0
  170. package/src/vuu-date-picker/index.js +1 -0
  171. package/src/vuu-input/VuuInput.css.js +13 -0
  172. package/src/vuu-input/VuuInput.js +85 -0
  173. package/src/vuu-input/index.js +1 -0
  174. package/src/vuu-time-picker/TimeRangePicker.js +0 -0
  175. package/src/vuu-time-picker/VuuTimePicker.css.js +14 -0
  176. package/src/vuu-time-picker/VuuTimePicker.js +26 -0
  177. package/src/vuu-typeahead-input/VuuTypeaheadInput.css.js +49 -0
  178. package/src/vuu-typeahead-input/VuuTypeaheadInput.js +46 -0
  179. package/src/vuu-typeahead-input/index.js +1 -0
  180. package/src/vuu-typeahead-input/useVuuTypeaheadInput.js +140 -0
  181. package/types/calendar/useCalendar.d.ts +3 -3
  182. package/types/calendar/useSelection.d.ts +1 -1
  183. package/types/date-input/DateInput.d.ts +1 -1
  184. package/types/date-picker/DatePicker.d.ts +1 -1
  185. package/types/date-picker/DatePickerContext.d.ts +2 -2
  186. package/types/date-picker/DatePickerPanel.d.ts +1 -1
  187. package/types/instrument-picker/useTablePicker.d.ts +4 -4
  188. package/types/split-button/useSplitButton.d.ts +120 -120
  189. package/types/tabs-next/hooks/useOverflow.d.ts +1 -1
  190. package/types/tabstrip/Tab.d.ts +1 -1
  191. package/types/tabstrip/useTabstrip.d.ts +1 -1
  192. package/types/toolbar/useToolbar.d.ts +1 -1
  193. package/cjs/calendar/Calendar.css.js +0 -6
  194. package/cjs/calendar/Calendar.css.js.map +0 -1
  195. package/cjs/calendar/Calendar.js +0 -93
  196. package/cjs/calendar/Calendar.js.map +0 -1
  197. package/cjs/calendar/internal/CalendarCarousel.css.js +0 -6
  198. package/cjs/calendar/internal/CalendarCarousel.css.js.map +0 -1
  199. package/cjs/calendar/internal/CalendarCarousel.js +0 -75
  200. package/cjs/calendar/internal/CalendarCarousel.js.map +0 -1
  201. package/cjs/calendar/internal/CalendarContext.js +0 -19
  202. package/cjs/calendar/internal/CalendarContext.js.map +0 -1
  203. package/cjs/calendar/internal/CalendarDay.css.js +0 -6
  204. package/cjs/calendar/internal/CalendarDay.css.js.map +0 -1
  205. package/cjs/calendar/internal/CalendarDay.js +0 -86
  206. package/cjs/calendar/internal/CalendarDay.js.map +0 -1
  207. package/cjs/calendar/internal/CalendarMonth.css.js +0 -6
  208. package/cjs/calendar/internal/CalendarMonth.css.js.map +0 -1
  209. package/cjs/calendar/internal/CalendarMonth.js +0 -71
  210. package/cjs/calendar/internal/CalendarMonth.js.map +0 -1
  211. package/cjs/calendar/internal/CalendarNavigation.css.js +0 -6
  212. package/cjs/calendar/internal/CalendarNavigation.css.js.map +0 -1
  213. package/cjs/calendar/internal/CalendarNavigation.js +0 -236
  214. package/cjs/calendar/internal/CalendarNavigation.js.map +0 -1
  215. package/cjs/calendar/internal/CalendarWeekHeader.css.js +0 -6
  216. package/cjs/calendar/internal/CalendarWeekHeader.css.js.map +0 -1
  217. package/cjs/calendar/internal/CalendarWeekHeader.js +0 -43
  218. package/cjs/calendar/internal/CalendarWeekHeader.js.map +0 -1
  219. package/cjs/calendar/internal/useFocusManagement.js +0 -66
  220. package/cjs/calendar/internal/useFocusManagement.js.map +0 -1
  221. package/cjs/calendar/internal/utils.js +0 -64
  222. package/cjs/calendar/internal/utils.js.map +0 -1
  223. package/cjs/calendar/useCalendar.js +0 -163
  224. package/cjs/calendar/useCalendar.js.map +0 -1
  225. package/cjs/calendar/useCalendarDay.js +0 -80
  226. package/cjs/calendar/useCalendarDay.js.map +0 -1
  227. package/cjs/calendar/useSelection.js +0 -248
  228. package/cjs/calendar/useSelection.js.map +0 -1
  229. package/cjs/column-picker/ColumnPicker.css.js +0 -6
  230. package/cjs/column-picker/ColumnPicker.css.js.map +0 -1
  231. package/cjs/column-picker/ColumnPicker.js +0 -128
  232. package/cjs/column-picker/ColumnPicker.js.map +0 -1
  233. package/cjs/column-picker/ColumnSearch.css.js +0 -6
  234. package/cjs/column-picker/ColumnSearch.css.js.map +0 -1
  235. package/cjs/column-picker/ColumnSearch.js +0 -82
  236. package/cjs/column-picker/ColumnSearch.js.map +0 -1
  237. package/cjs/common-hooks/selectionTypes.js +0 -18
  238. package/cjs/common-hooks/selectionTypes.js.map +0 -1
  239. package/cjs/common-hooks/use-resize-observer.js +0 -123
  240. package/cjs/common-hooks/use-resize-observer.js.map +0 -1
  241. package/cjs/common-hooks/useControlled.js +0 -58
  242. package/cjs/common-hooks/useControlled.js.map +0 -1
  243. package/cjs/context-panel-provider/ContextPanelProvider.js +0 -99
  244. package/cjs/context-panel-provider/ContextPanelProvider.js.map +0 -1
  245. package/cjs/cycle-state-button/CycleStateButton.js +0 -50
  246. package/cjs/cycle-state-button/CycleStateButton.js.map +0 -1
  247. package/cjs/date-input/DateInput.css.js +0 -6
  248. package/cjs/date-input/DateInput.css.js.map +0 -1
  249. package/cjs/date-input/DateInput.js +0 -277
  250. package/cjs/date-input/DateInput.js.map +0 -1
  251. package/cjs/date-picker/DatePicker.js +0 -169
  252. package/cjs/date-picker/DatePicker.js.map +0 -1
  253. package/cjs/date-picker/DatePickerContext.js +0 -26
  254. package/cjs/date-picker/DatePickerContext.js.map +0 -1
  255. package/cjs/date-picker/DatePickerPanel.css.js +0 -6
  256. package/cjs/date-picker/DatePickerPanel.css.js.map +0 -1
  257. package/cjs/date-picker/DatePickerPanel.js +0 -146
  258. package/cjs/date-picker/DatePickerPanel.js.map +0 -1
  259. package/cjs/drag-drop/DragDropProvider.js +0 -145
  260. package/cjs/drag-drop/DragDropProvider.js.map +0 -1
  261. package/cjs/drag-drop/DragDropState.js +0 -36
  262. package/cjs/drag-drop/DragDropState.js.map +0 -1
  263. package/cjs/drag-drop/Draggable.css.js +0 -6
  264. package/cjs/drag-drop/Draggable.css.js.map +0 -1
  265. package/cjs/drag-drop/Draggable.js +0 -90
  266. package/cjs/drag-drop/Draggable.js.map +0 -1
  267. package/cjs/drag-drop/dragDropTypes.js +0 -8
  268. package/cjs/drag-drop/dragDropTypes.js.map +0 -1
  269. package/cjs/drag-drop/drop-target-utils.js +0 -245
  270. package/cjs/drag-drop/drop-target-utils.js.map +0 -1
  271. package/cjs/drag-drop/useAutoScroll.js +0 -71
  272. package/cjs/drag-drop/useAutoScroll.js.map +0 -1
  273. package/cjs/drag-drop/useDragDisplacers.js +0 -160
  274. package/cjs/drag-drop/useDragDisplacers.js.map +0 -1
  275. package/cjs/drag-drop/useDragDrop.js +0 -504
  276. package/cjs/drag-drop/useDragDrop.js.map +0 -1
  277. package/cjs/drag-drop/useDragDropCopy.js +0 -34
  278. package/cjs/drag-drop/useDragDropCopy.js.map +0 -1
  279. package/cjs/drag-drop/useDragDropIndicator.js +0 -251
  280. package/cjs/drag-drop/useDragDropIndicator.js.map +0 -1
  281. package/cjs/drag-drop/useDragDropNaturalMovement.js +0 -265
  282. package/cjs/drag-drop/useDragDropNaturalMovement.js.map +0 -1
  283. package/cjs/drag-drop/useDropIndicator.js +0 -27
  284. package/cjs/drag-drop/useDropIndicator.js.map +0 -1
  285. package/cjs/drag-drop/useGlobalDragDrop.js +0 -89
  286. package/cjs/drag-drop/useGlobalDragDrop.js.map +0 -1
  287. package/cjs/editable/useEditableText.js +0 -211
  288. package/cjs/editable/useEditableText.js.map +0 -1
  289. package/cjs/editable-label/EditableLabel.css.js +0 -6
  290. package/cjs/editable-label/EditableLabel.css.js.map +0 -1
  291. package/cjs/editable-label/EditableLabel.js +0 -143
  292. package/cjs/editable-label/EditableLabel.js.map +0 -1
  293. package/cjs/expando-input/ExpandoInput.css.js +0 -6
  294. package/cjs/expando-input/ExpandoInput.css.js.map +0 -1
  295. package/cjs/expando-input/ExpandoInput.js +0 -53
  296. package/cjs/expando-input/ExpandoInput.js.map +0 -1
  297. package/cjs/hover-overlay/HoverOverlay.js +0 -96
  298. package/cjs/hover-overlay/HoverOverlay.js.map +0 -1
  299. package/cjs/icon-button/Icon.css.js +0 -6
  300. package/cjs/icon-button/Icon.css.js.map +0 -1
  301. package/cjs/icon-button/Icon.js +0 -37
  302. package/cjs/icon-button/Icon.js.map +0 -1
  303. package/cjs/icon-button/IconButton.css.js +0 -6
  304. package/cjs/icon-button/IconButton.css.js.map +0 -1
  305. package/cjs/icon-button/IconButton.js +0 -26
  306. package/cjs/icon-button/IconButton.js.map +0 -1
  307. package/cjs/icon-button/ToggleIconButton.css.js +0 -6
  308. package/cjs/icon-button/ToggleIconButton.css.js.map +0 -1
  309. package/cjs/icon-button/ToggleIconButton.js +0 -39
  310. package/cjs/icon-button/ToggleIconButton.js.map +0 -1
  311. package/cjs/index.js +0 -170
  312. package/cjs/index.js.map +0 -1
  313. package/cjs/instrument-picker/TablePicker.css.js +0 -6
  314. package/cjs/instrument-picker/TablePicker.css.js.map +0 -1
  315. package/cjs/instrument-picker/TablePicker.js +0 -130
  316. package/cjs/instrument-picker/TablePicker.js.map +0 -1
  317. package/cjs/instrument-picker/useTablePicker.js +0 -150
  318. package/cjs/instrument-picker/useTablePicker.js.map +0 -1
  319. package/cjs/measured-container/MeasuredContainer.css.js +0 -6
  320. package/cjs/measured-container/MeasuredContainer.css.js.map +0 -1
  321. package/cjs/measured-container/MeasuredContainer.js +0 -72
  322. package/cjs/measured-container/MeasuredContainer.js.map +0 -1
  323. package/cjs/measured-container/useMeasuredContainer.js +0 -167
  324. package/cjs/measured-container/useMeasuredContainer.js.map +0 -1
  325. package/cjs/modal-provider/ModalProvider.js +0 -143
  326. package/cjs/modal-provider/ModalProvider.js.map +0 -1
  327. package/cjs/overflow-container/OverflowContainer.css.js +0 -6
  328. package/cjs/overflow-container/OverflowContainer.css.js.map +0 -1
  329. package/cjs/overflow-container/OverflowContainer.js +0 -143
  330. package/cjs/overflow-container/OverflowContainer.js.map +0 -1
  331. package/cjs/overflow-container/overflow-utils.js +0 -286
  332. package/cjs/overflow-container/overflow-utils.js.map +0 -1
  333. package/cjs/overflow-container/useOverflowContainer.js +0 -143
  334. package/cjs/overflow-container/useOverflowContainer.js.map +0 -1
  335. package/cjs/price-ticker/PriceTicker.css.js +0 -6
  336. package/cjs/price-ticker/PriceTicker.css.js.map +0 -1
  337. package/cjs/price-ticker/PriceTicker.js +0 -50
  338. package/cjs/price-ticker/PriceTicker.js.map +0 -1
  339. package/cjs/prompt/Prompt.css.js +0 -6
  340. package/cjs/prompt/Prompt.css.js.map +0 -1
  341. package/cjs/prompt/Prompt.js +0 -142
  342. package/cjs/prompt/Prompt.js.map +0 -1
  343. package/cjs/sortable-list/SortableList.js +0 -37
  344. package/cjs/sortable-list/SortableList.js.map +0 -1
  345. package/cjs/split-button/SplitButton.css.js +0 -6
  346. package/cjs/split-button/SplitButton.css.js.map +0 -1
  347. package/cjs/split-button/SplitButton.js +0 -84
  348. package/cjs/split-button/SplitButton.js.map +0 -1
  349. package/cjs/split-button/SplitStateButton.css.js +0 -6
  350. package/cjs/split-button/SplitStateButton.css.js.map +0 -1
  351. package/cjs/split-button/SplitStateButton.js +0 -31
  352. package/cjs/split-button/SplitStateButton.js.map +0 -1
  353. package/cjs/split-button/useSplitButton.js +0 -84
  354. package/cjs/split-button/useSplitButton.js.map +0 -1
  355. package/cjs/table-search/SearchCell.css.js +0 -6
  356. package/cjs/table-search/SearchCell.css.js.map +0 -1
  357. package/cjs/table-search/SearchCell.js +0 -32
  358. package/cjs/table-search/SearchCell.js.map +0 -1
  359. package/cjs/table-search/TableSearch.css.js +0 -6
  360. package/cjs/table-search/TableSearch.css.js.map +0 -1
  361. package/cjs/table-search/TableSearch.js +0 -89
  362. package/cjs/table-search/TableSearch.js.map +0 -1
  363. package/cjs/table-search/useTableSearch.js +0 -39
  364. package/cjs/table-search/useTableSearch.js.map +0 -1
  365. package/cjs/tabs-next/TabBar.css.js +0 -6
  366. package/cjs/tabs-next/TabBar.css.js.map +0 -1
  367. package/cjs/tabs-next/TabBar.js +0 -41
  368. package/cjs/tabs-next/TabBar.js.map +0 -1
  369. package/cjs/tabs-next/TabListNext.css.js +0 -6
  370. package/cjs/tabs-next/TabListNext.css.js.map +0 -1
  371. package/cjs/tabs-next/TabListNext.js +0 -124
  372. package/cjs/tabs-next/TabListNext.js.map +0 -1
  373. package/cjs/tabs-next/TabNext.css.js +0 -6
  374. package/cjs/tabs-next/TabNext.css.js.map +0 -1
  375. package/cjs/tabs-next/TabNext.js +0 -110
  376. package/cjs/tabs-next/TabNext.js.map +0 -1
  377. package/cjs/tabs-next/TabNextAction.js +0 -35
  378. package/cjs/tabs-next/TabNextAction.js.map +0 -1
  379. package/cjs/tabs-next/TabNextContext.js +0 -23
  380. package/cjs/tabs-next/TabNextContext.js.map +0 -1
  381. package/cjs/tabs-next/TabNextPanel.css.js +0 -6
  382. package/cjs/tabs-next/TabNextPanel.css.js.map +0 -1
  383. package/cjs/tabs-next/TabNextPanel.js +0 -77
  384. package/cjs/tabs-next/TabNextPanel.js.map +0 -1
  385. package/cjs/tabs-next/TabNextTrigger.css.js +0 -6
  386. package/cjs/tabs-next/TabNextTrigger.css.js.map +0 -1
  387. package/cjs/tabs-next/TabNextTrigger.js +0 -74
  388. package/cjs/tabs-next/TabNextTrigger.js.map +0 -1
  389. package/cjs/tabs-next/TabOverflowList.css.js +0 -6
  390. package/cjs/tabs-next/TabOverflowList.css.js.map +0 -1
  391. package/cjs/tabs-next/TabOverflowList.js +0 -130
  392. package/cjs/tabs-next/TabOverflowList.js.map +0 -1
  393. package/cjs/tabs-next/TabsNext.js +0 -174
  394. package/cjs/tabs-next/TabsNext.js.map +0 -1
  395. package/cjs/tabs-next/TabsNextContext.js +0 -33
  396. package/cjs/tabs-next/TabsNextContext.js.map +0 -1
  397. package/cjs/tabs-next/hooks/useCollection.js +0 -91
  398. package/cjs/tabs-next/hooks/useCollection.js.map +0 -1
  399. package/cjs/tabs-next/hooks/useFocusOutside.js +0 -24
  400. package/cjs/tabs-next/hooks/useFocusOutside.js.map +0 -1
  401. package/cjs/tabs-next/hooks/useOverflow.js +0 -138
  402. package/cjs/tabs-next/hooks/useOverflow.js.map +0 -1
  403. package/cjs/tabstrip/Tab.css.js +0 -6
  404. package/cjs/tabstrip/Tab.css.js.map +0 -1
  405. package/cjs/tabstrip/Tab.js +0 -153
  406. package/cjs/tabstrip/Tab.js.map +0 -1
  407. package/cjs/tabstrip/TabMenu.css.js +0 -6
  408. package/cjs/tabstrip/TabMenu.css.js.map +0 -1
  409. package/cjs/tabstrip/TabMenu.js +0 -72
  410. package/cjs/tabstrip/TabMenu.js.map +0 -1
  411. package/cjs/tabstrip/TabMenuOptions.js +0 -20
  412. package/cjs/tabstrip/TabMenuOptions.js.map +0 -1
  413. package/cjs/tabstrip/Tabstrip.css.js +0 -6
  414. package/cjs/tabstrip/Tabstrip.css.js.map +0 -1
  415. package/cjs/tabstrip/Tabstrip.js +0 -160
  416. package/cjs/tabstrip/Tabstrip.js.map +0 -1
  417. package/cjs/tabstrip/tabstrip-dom-utils.js +0 -19
  418. package/cjs/tabstrip/tabstrip-dom-utils.js.map +0 -1
  419. package/cjs/tabstrip/useAnimatedSelectionThumb.js +0 -85
  420. package/cjs/tabstrip/useAnimatedSelectionThumb.js.map +0 -1
  421. package/cjs/tabstrip/useKeyboardNavigation.js +0 -247
  422. package/cjs/tabstrip/useKeyboardNavigation.js.map +0 -1
  423. package/cjs/tabstrip/useSelection.js +0 -60
  424. package/cjs/tabstrip/useSelection.js.map +0 -1
  425. package/cjs/tabstrip/useTabstrip.js +0 -233
  426. package/cjs/tabstrip/useTabstrip.js.map +0 -1
  427. package/cjs/time-input/MaskedInput.js +0 -377
  428. package/cjs/time-input/MaskedInput.js.map +0 -1
  429. package/cjs/time-input/TimeInput.css.js +0 -6
  430. package/cjs/time-input/TimeInput.css.js.map +0 -1
  431. package/cjs/time-input/TimeInput.js +0 -56
  432. package/cjs/time-input/TimeInput.js.map +0 -1
  433. package/cjs/time-input/useTimeInput.js +0 -121
  434. package/cjs/time-input/useTimeInput.js.map +0 -1
  435. package/cjs/toolbar/Toolbar.css.js +0 -6
  436. package/cjs/toolbar/Toolbar.css.js.map +0 -1
  437. package/cjs/toolbar/Toolbar.js +0 -90
  438. package/cjs/toolbar/Toolbar.js.map +0 -1
  439. package/cjs/toolbar/toolbar-dom-utils.js +0 -18
  440. package/cjs/toolbar/toolbar-dom-utils.js.map +0 -1
  441. package/cjs/toolbar/useKeyboardNavigation.js +0 -305
  442. package/cjs/toolbar/useKeyboardNavigation.js.map +0 -1
  443. package/cjs/toolbar/useSelection.js +0 -93
  444. package/cjs/toolbar/useSelection.js.map +0 -1
  445. package/cjs/toolbar/useToolbar.js +0 -100
  446. package/cjs/toolbar/useToolbar.js.map +0 -1
  447. package/cjs/utils/escapeRegExp.js +0 -9
  448. package/cjs/utils/escapeRegExp.js.map +0 -1
  449. package/cjs/utils/forwardCallbackProps.js +0 -22
  450. package/cjs/utils/forwardCallbackProps.js.map +0 -1
  451. package/cjs/utils/isOverflowElement.js +0 -8
  452. package/cjs/utils/isOverflowElement.js.map +0 -1
  453. package/cjs/utils/isPlainObject.js +0 -6
  454. package/cjs/utils/isPlainObject.js.map +0 -1
  455. package/cjs/vuu-date-picker/VuuDatePicker.js +0 -122
  456. package/cjs/vuu-date-picker/VuuDatePicker.js.map +0 -1
  457. package/cjs/vuu-input/VuuInput.css.js +0 -6
  458. package/cjs/vuu-input/VuuInput.css.js.map +0 -1
  459. package/cjs/vuu-input/VuuInput.js +0 -102
  460. package/cjs/vuu-input/VuuInput.js.map +0 -1
  461. package/cjs/vuu-time-picker/VuuTimePicker.css.js +0 -6
  462. package/cjs/vuu-time-picker/VuuTimePicker.css.js.map +0 -1
  463. package/cjs/vuu-time-picker/VuuTimePicker.js +0 -37
  464. package/cjs/vuu-time-picker/VuuTimePicker.js.map +0 -1
  465. package/cjs/vuu-typeahead-input/VuuTypeaheadInput.css.js +0 -6
  466. package/cjs/vuu-typeahead-input/VuuTypeaheadInput.css.js.map +0 -1
  467. package/cjs/vuu-typeahead-input/VuuTypeaheadInput.js +0 -80
  468. package/cjs/vuu-typeahead-input/VuuTypeaheadInput.js.map +0 -1
  469. package/cjs/vuu-typeahead-input/useVuuTypeaheadInput.js +0 -176
  470. package/cjs/vuu-typeahead-input/useVuuTypeaheadInput.js.map +0 -1
  471. package/esm/calendar/Calendar.css.js +0 -4
  472. package/esm/calendar/Calendar.css.js.map +0 -1
  473. package/esm/calendar/Calendar.js +0 -91
  474. package/esm/calendar/Calendar.js.map +0 -1
  475. package/esm/calendar/internal/CalendarCarousel.css.js +0 -4
  476. package/esm/calendar/internal/CalendarCarousel.css.js.map +0 -1
  477. package/esm/calendar/internal/CalendarCarousel.js +0 -73
  478. package/esm/calendar/internal/CalendarCarousel.js.map +0 -1
  479. package/esm/calendar/internal/CalendarContext.js +0 -16
  480. package/esm/calendar/internal/CalendarContext.js.map +0 -1
  481. package/esm/calendar/internal/CalendarDay.css.js +0 -4
  482. package/esm/calendar/internal/CalendarDay.css.js.map +0 -1
  483. package/esm/calendar/internal/CalendarDay.js.map +0 -1
  484. package/esm/calendar/internal/CalendarMonth.css.js +0 -4
  485. package/esm/calendar/internal/CalendarMonth.css.js.map +0 -1
  486. package/esm/calendar/internal/CalendarMonth.js +0 -69
  487. package/esm/calendar/internal/CalendarMonth.js.map +0 -1
  488. package/esm/calendar/internal/CalendarNavigation.css.js +0 -4
  489. package/esm/calendar/internal/CalendarNavigation.css.js.map +0 -1
  490. package/esm/calendar/internal/CalendarNavigation.js +0 -234
  491. package/esm/calendar/internal/CalendarNavigation.js.map +0 -1
  492. package/esm/calendar/internal/CalendarWeekHeader.css.js +0 -4
  493. package/esm/calendar/internal/CalendarWeekHeader.css.js.map +0 -1
  494. package/esm/calendar/internal/CalendarWeekHeader.js +0 -41
  495. package/esm/calendar/internal/CalendarWeekHeader.js.map +0 -1
  496. package/esm/calendar/internal/useFocusManagement.js +0 -64
  497. package/esm/calendar/internal/useFocusManagement.js.map +0 -1
  498. package/esm/calendar/internal/utils.js +0 -55
  499. package/esm/calendar/internal/utils.js.map +0 -1
  500. package/esm/calendar/useCalendar.js +0 -161
  501. package/esm/calendar/useCalendar.js.map +0 -1
  502. package/esm/calendar/useCalendarDay.js +0 -78
  503. package/esm/calendar/useCalendarDay.js.map +0 -1
  504. package/esm/calendar/useSelection.js +0 -243
  505. package/esm/calendar/useSelection.js.map +0 -1
  506. package/esm/column-picker/ColumnPicker.css.js +0 -4
  507. package/esm/column-picker/ColumnPicker.css.js.map +0 -1
  508. package/esm/column-picker/ColumnPicker.js +0 -126
  509. package/esm/column-picker/ColumnPicker.js.map +0 -1
  510. package/esm/column-picker/ColumnSearch.css.js +0 -4
  511. package/esm/column-picker/ColumnSearch.css.js.map +0 -1
  512. package/esm/column-picker/ColumnSearch.js +0 -80
  513. package/esm/column-picker/ColumnSearch.js.map +0 -1
  514. package/esm/common-hooks/selectionTypes.js +0 -10
  515. package/esm/common-hooks/selectionTypes.js.map +0 -1
  516. package/esm/common-hooks/use-resize-observer.js +0 -118
  517. package/esm/common-hooks/use-resize-observer.js.map +0 -1
  518. package/esm/common-hooks/useControlled.js +0 -56
  519. package/esm/common-hooks/useControlled.js.map +0 -1
  520. package/esm/context-panel-provider/ContextPanelProvider.js +0 -94
  521. package/esm/context-panel-provider/ContextPanelProvider.js.map +0 -1
  522. package/esm/cycle-state-button/CycleStateButton.js +0 -48
  523. package/esm/cycle-state-button/CycleStateButton.js.map +0 -1
  524. package/esm/date-input/DateInput.css.js +0 -4
  525. package/esm/date-input/DateInput.css.js.map +0 -1
  526. package/esm/date-input/DateInput.js +0 -275
  527. package/esm/date-input/DateInput.js.map +0 -1
  528. package/esm/date-picker/DatePicker.js +0 -167
  529. package/esm/date-picker/DatePicker.js.map +0 -1
  530. package/esm/date-picker/DatePickerContext.js +0 -23
  531. package/esm/date-picker/DatePickerContext.js.map +0 -1
  532. package/esm/date-picker/DatePickerPanel.css.js +0 -4
  533. package/esm/date-picker/DatePickerPanel.css.js.map +0 -1
  534. package/esm/date-picker/DatePickerPanel.js +0 -144
  535. package/esm/date-picker/DatePickerPanel.js.map +0 -1
  536. package/esm/drag-drop/DragDropProvider.js +0 -142
  537. package/esm/drag-drop/DragDropProvider.js.map +0 -1
  538. package/esm/drag-drop/DragDropState.js +0 -34
  539. package/esm/drag-drop/DragDropState.js.map +0 -1
  540. package/esm/drag-drop/Draggable.css.js +0 -4
  541. package/esm/drag-drop/Draggable.css.js.map +0 -1
  542. package/esm/drag-drop/Draggable.js +0 -85
  543. package/esm/drag-drop/Draggable.js.map +0 -1
  544. package/esm/drag-drop/dragDropTypes.js.map +0 -1
  545. package/esm/drag-drop/drop-target-utils.js +0 -228
  546. package/esm/drag-drop/drop-target-utils.js.map +0 -1
  547. package/esm/drag-drop/useAutoScroll.js +0 -69
  548. package/esm/drag-drop/useAutoScroll.js.map +0 -1
  549. package/esm/drag-drop/useDragDisplacers.js +0 -158
  550. package/esm/drag-drop/useDragDisplacers.js.map +0 -1
  551. package/esm/drag-drop/useDragDrop.js +0 -502
  552. package/esm/drag-drop/useDragDrop.js.map +0 -1
  553. package/esm/drag-drop/useDragDropCopy.js +0 -31
  554. package/esm/drag-drop/useDragDropCopy.js.map +0 -1
  555. package/esm/drag-drop/useDragDropIndicator.js +0 -249
  556. package/esm/drag-drop/useDragDropIndicator.js.map +0 -1
  557. package/esm/drag-drop/useDragDropNaturalMovement.js +0 -263
  558. package/esm/drag-drop/useDragDropNaturalMovement.js.map +0 -1
  559. package/esm/drag-drop/useDropIndicator.js +0 -25
  560. package/esm/drag-drop/useDropIndicator.js.map +0 -1
  561. package/esm/drag-drop/useGlobalDragDrop.js +0 -87
  562. package/esm/drag-drop/useGlobalDragDrop.js.map +0 -1
  563. package/esm/editable/useEditableText.js +0 -209
  564. package/esm/editable/useEditableText.js.map +0 -1
  565. package/esm/editable-label/EditableLabel.css.js +0 -4
  566. package/esm/editable-label/EditableLabel.css.js.map +0 -1
  567. package/esm/editable-label/EditableLabel.js +0 -140
  568. package/esm/editable-label/EditableLabel.js.map +0 -1
  569. package/esm/expando-input/ExpandoInput.css.js +0 -4
  570. package/esm/expando-input/ExpandoInput.css.js.map +0 -1
  571. package/esm/expando-input/ExpandoInput.js +0 -51
  572. package/esm/expando-input/ExpandoInput.js.map +0 -1
  573. package/esm/hover-overlay/HoverOverlay.js +0 -94
  574. package/esm/hover-overlay/HoverOverlay.js.map +0 -1
  575. package/esm/icon-button/Icon.css.js +0 -4
  576. package/esm/icon-button/Icon.css.js.map +0 -1
  577. package/esm/icon-button/Icon.js +0 -35
  578. package/esm/icon-button/Icon.js.map +0 -1
  579. package/esm/icon-button/IconButton.css.js +0 -4
  580. package/esm/icon-button/IconButton.css.js.map +0 -1
  581. package/esm/icon-button/IconButton.js +0 -24
  582. package/esm/icon-button/IconButton.js.map +0 -1
  583. package/esm/icon-button/ToggleIconButton.css.js +0 -4
  584. package/esm/icon-button/ToggleIconButton.css.js.map +0 -1
  585. package/esm/icon-button/ToggleIconButton.js +0 -37
  586. package/esm/icon-button/ToggleIconButton.js.map +0 -1
  587. package/esm/index.js +0 -59
  588. package/esm/index.js.map +0 -1
  589. package/esm/instrument-picker/TablePicker.css.js +0 -4
  590. package/esm/instrument-picker/TablePicker.css.js.map +0 -1
  591. package/esm/instrument-picker/TablePicker.js +0 -128
  592. package/esm/instrument-picker/TablePicker.js.map +0 -1
  593. package/esm/instrument-picker/useTablePicker.js +0 -148
  594. package/esm/instrument-picker/useTablePicker.js.map +0 -1
  595. package/esm/measured-container/MeasuredContainer.css.js +0 -4
  596. package/esm/measured-container/MeasuredContainer.css.js.map +0 -1
  597. package/esm/measured-container/MeasuredContainer.js +0 -70
  598. package/esm/measured-container/MeasuredContainer.js.map +0 -1
  599. package/esm/measured-container/useMeasuredContainer.js +0 -164
  600. package/esm/measured-container/useMeasuredContainer.js.map +0 -1
  601. package/esm/modal-provider/ModalProvider.js +0 -140
  602. package/esm/modal-provider/ModalProvider.js.map +0 -1
  603. package/esm/overflow-container/OverflowContainer.css.js +0 -4
  604. package/esm/overflow-container/OverflowContainer.css.js.map +0 -1
  605. package/esm/overflow-container/OverflowContainer.js +0 -141
  606. package/esm/overflow-container/OverflowContainer.js.map +0 -1
  607. package/esm/overflow-container/overflow-utils.js +0 -272
  608. package/esm/overflow-container/overflow-utils.js.map +0 -1
  609. package/esm/overflow-container/useOverflowContainer.js +0 -141
  610. package/esm/overflow-container/useOverflowContainer.js.map +0 -1
  611. package/esm/price-ticker/PriceTicker.css.js +0 -4
  612. package/esm/price-ticker/PriceTicker.css.js.map +0 -1
  613. package/esm/price-ticker/PriceTicker.js +0 -48
  614. package/esm/price-ticker/PriceTicker.js.map +0 -1
  615. package/esm/prompt/Prompt.css.js +0 -4
  616. package/esm/prompt/Prompt.css.js.map +0 -1
  617. package/esm/prompt/Prompt.js +0 -140
  618. package/esm/prompt/Prompt.js.map +0 -1
  619. package/esm/sortable-list/SortableList.js +0 -34
  620. package/esm/sortable-list/SortableList.js.map +0 -1
  621. package/esm/split-button/SplitButton.css.js +0 -4
  622. package/esm/split-button/SplitButton.css.js.map +0 -1
  623. package/esm/split-button/SplitButton.js +0 -82
  624. package/esm/split-button/SplitButton.js.map +0 -1
  625. package/esm/split-button/SplitStateButton.css.js +0 -4
  626. package/esm/split-button/SplitStateButton.css.js.map +0 -1
  627. package/esm/split-button/SplitStateButton.js +0 -29
  628. package/esm/split-button/SplitStateButton.js.map +0 -1
  629. package/esm/split-button/useSplitButton.js +0 -82
  630. package/esm/split-button/useSplitButton.js.map +0 -1
  631. package/esm/table-search/SearchCell.css.js +0 -4
  632. package/esm/table-search/SearchCell.css.js.map +0 -1
  633. package/esm/table-search/SearchCell.js +0 -30
  634. package/esm/table-search/SearchCell.js.map +0 -1
  635. package/esm/table-search/TableSearch.css.js +0 -4
  636. package/esm/table-search/TableSearch.css.js.map +0 -1
  637. package/esm/table-search/TableSearch.js +0 -87
  638. package/esm/table-search/TableSearch.js.map +0 -1
  639. package/esm/table-search/useTableSearch.js +0 -37
  640. package/esm/table-search/useTableSearch.js.map +0 -1
  641. package/esm/tabs-next/TabBar.css.js +0 -4
  642. package/esm/tabs-next/TabBar.css.js.map +0 -1
  643. package/esm/tabs-next/TabBar.js +0 -39
  644. package/esm/tabs-next/TabBar.js.map +0 -1
  645. package/esm/tabs-next/TabListNext.css.js +0 -4
  646. package/esm/tabs-next/TabListNext.css.js.map +0 -1
  647. package/esm/tabs-next/TabListNext.js +0 -122
  648. package/esm/tabs-next/TabListNext.js.map +0 -1
  649. package/esm/tabs-next/TabNext.css.js +0 -4
  650. package/esm/tabs-next/TabNext.css.js.map +0 -1
  651. package/esm/tabs-next/TabNext.js +0 -108
  652. package/esm/tabs-next/TabNext.js.map +0 -1
  653. package/esm/tabs-next/TabNextAction.js +0 -33
  654. package/esm/tabs-next/TabNextAction.js.map +0 -1
  655. package/esm/tabs-next/TabNextContext.js +0 -20
  656. package/esm/tabs-next/TabNextContext.js.map +0 -1
  657. package/esm/tabs-next/TabNextPanel.css.js +0 -4
  658. package/esm/tabs-next/TabNextPanel.css.js.map +0 -1
  659. package/esm/tabs-next/TabNextPanel.js +0 -75
  660. package/esm/tabs-next/TabNextPanel.js.map +0 -1
  661. package/esm/tabs-next/TabNextTrigger.css.js +0 -4
  662. package/esm/tabs-next/TabNextTrigger.css.js.map +0 -1
  663. package/esm/tabs-next/TabNextTrigger.js +0 -72
  664. package/esm/tabs-next/TabNextTrigger.js.map +0 -1
  665. package/esm/tabs-next/TabOverflowList.css.js +0 -4
  666. package/esm/tabs-next/TabOverflowList.css.js.map +0 -1
  667. package/esm/tabs-next/TabOverflowList.js +0 -128
  668. package/esm/tabs-next/TabOverflowList.js.map +0 -1
  669. package/esm/tabs-next/TabsNext.js +0 -172
  670. package/esm/tabs-next/TabsNext.js.map +0 -1
  671. package/esm/tabs-next/TabsNextContext.js +0 -30
  672. package/esm/tabs-next/TabsNextContext.js.map +0 -1
  673. package/esm/tabs-next/hooks/useCollection.js +0 -89
  674. package/esm/tabs-next/hooks/useCollection.js.map +0 -1
  675. package/esm/tabs-next/hooks/useFocusOutside.js +0 -22
  676. package/esm/tabs-next/hooks/useFocusOutside.js.map +0 -1
  677. package/esm/tabs-next/hooks/useOverflow.js +0 -136
  678. package/esm/tabs-next/hooks/useOverflow.js.map +0 -1
  679. package/esm/tabstrip/Tab.css.js +0 -4
  680. package/esm/tabstrip/Tab.css.js.map +0 -1
  681. package/esm/tabstrip/Tab.js +0 -151
  682. package/esm/tabstrip/Tab.js.map +0 -1
  683. package/esm/tabstrip/TabMenu.css.js +0 -4
  684. package/esm/tabstrip/TabMenu.css.js.map +0 -1
  685. package/esm/tabstrip/TabMenu.js +0 -70
  686. package/esm/tabstrip/TabMenu.js.map +0 -1
  687. package/esm/tabstrip/TabMenuOptions.js +0 -16
  688. package/esm/tabstrip/TabMenuOptions.js.map +0 -1
  689. package/esm/tabstrip/Tabstrip.css.js +0 -4
  690. package/esm/tabstrip/Tabstrip.css.js.map +0 -1
  691. package/esm/tabstrip/Tabstrip.js +0 -158
  692. package/esm/tabstrip/Tabstrip.js.map +0 -1
  693. package/esm/tabstrip/tabstrip-dom-utils.js +0 -16
  694. package/esm/tabstrip/tabstrip-dom-utils.js.map +0 -1
  695. package/esm/tabstrip/useAnimatedSelectionThumb.js +0 -83
  696. package/esm/tabstrip/useAnimatedSelectionThumb.js.map +0 -1
  697. package/esm/tabstrip/useKeyboardNavigation.js +0 -245
  698. package/esm/tabstrip/useKeyboardNavigation.js.map +0 -1
  699. package/esm/tabstrip/useSelection.js +0 -58
  700. package/esm/tabstrip/useSelection.js.map +0 -1
  701. package/esm/tabstrip/useTabstrip.js +0 -231
  702. package/esm/tabstrip/useTabstrip.js.map +0 -1
  703. package/esm/time-input/MaskedInput.js +0 -375
  704. package/esm/time-input/MaskedInput.js.map +0 -1
  705. package/esm/time-input/TimeInput.css.js +0 -4
  706. package/esm/time-input/TimeInput.css.js.map +0 -1
  707. package/esm/time-input/TimeInput.js +0 -54
  708. package/esm/time-input/TimeInput.js.map +0 -1
  709. package/esm/time-input/useTimeInput.js +0 -119
  710. package/esm/time-input/useTimeInput.js.map +0 -1
  711. package/esm/toolbar/Toolbar.css.js +0 -4
  712. package/esm/toolbar/Toolbar.css.js.map +0 -1
  713. package/esm/toolbar/Toolbar.js +0 -88
  714. package/esm/toolbar/Toolbar.js.map +0 -1
  715. package/esm/toolbar/toolbar-dom-utils.js +0 -15
  716. package/esm/toolbar/toolbar-dom-utils.js.map +0 -1
  717. package/esm/toolbar/useKeyboardNavigation.js +0 -303
  718. package/esm/toolbar/useKeyboardNavigation.js.map +0 -1
  719. package/esm/toolbar/useSelection.js +0 -91
  720. package/esm/toolbar/useSelection.js.map +0 -1
  721. package/esm/toolbar/useToolbar.js +0 -98
  722. package/esm/toolbar/useToolbar.js.map +0 -1
  723. package/esm/utils/escapeRegExp.js.map +0 -1
  724. package/esm/utils/forwardCallbackProps.js +0 -20
  725. package/esm/utils/forwardCallbackProps.js.map +0 -1
  726. package/esm/utils/isOverflowElement.js +0 -6
  727. package/esm/utils/isOverflowElement.js.map +0 -1
  728. package/esm/utils/isPlainObject.js +0 -4
  729. package/esm/utils/isPlainObject.js.map +0 -1
  730. package/esm/vuu-date-picker/VuuDatePicker.js +0 -120
  731. package/esm/vuu-date-picker/VuuDatePicker.js.map +0 -1
  732. package/esm/vuu-input/VuuInput.css.js +0 -4
  733. package/esm/vuu-input/VuuInput.css.js.map +0 -1
  734. package/esm/vuu-input/VuuInput.js +0 -100
  735. package/esm/vuu-input/VuuInput.js.map +0 -1
  736. package/esm/vuu-time-picker/VuuTimePicker.css.js +0 -4
  737. package/esm/vuu-time-picker/VuuTimePicker.css.js.map +0 -1
  738. package/esm/vuu-time-picker/VuuTimePicker.js +0 -35
  739. package/esm/vuu-time-picker/VuuTimePicker.js.map +0 -1
  740. package/esm/vuu-typeahead-input/VuuTypeaheadInput.css.js +0 -4
  741. package/esm/vuu-typeahead-input/VuuTypeaheadInput.css.js.map +0 -1
  742. package/esm/vuu-typeahead-input/VuuTypeaheadInput.js +0 -78
  743. package/esm/vuu-typeahead-input/VuuTypeaheadInput.js.map +0 -1
  744. package/esm/vuu-typeahead-input/useVuuTypeaheadInput.js +0 -174
  745. package/esm/vuu-typeahead-input/useVuuTypeaheadInput.js.map +0 -1
@@ -1,249 +0,0 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { useRef, useState, useCallback } from 'react';
3
- import { useDropIndicator } from './useDropIndicator.js';
4
- import { measureDropTargets, getNextDropTarget, dimensions, getItemById, removeDraggedItem } from './drop-target-utils.js';
5
- import { Draggable, createDropIndicator } from './Draggable.js';
6
-
7
- const NOT_OVERFLOWED = ':not([data-overflowed="true"])';
8
- const NOT_HIDDEN = ':not([aria-hidden="true"])';
9
- const useDragDropIndicator = ({
10
- orientation = "horizontal",
11
- containerRef,
12
- itemQuery = "*",
13
- selected,
14
- viewportRange
15
- }) => {
16
- const dragDirectionRef = useRef(void 0);
17
- const dropIndicatorRef = useRef(null);
18
- const dropTargetRef = useRef(null);
19
- const dropZoneRef = useRef("");
20
- const isScrollable = useRef(false);
21
- const dragPosRef = useRef(-1);
22
- const measuredDropTargets = useRef([]);
23
- const overflowMenuShowingRef = useRef(false);
24
- const [showOverflow, setShowOverflow] = useState(false);
25
- const [dropIndicator, setDropIndicator] = useState();
26
- const { clearSpacer, positionDropIndicator } = useDropIndicator();
27
- const draggedItemRef = useRef(void 0);
28
- const fullItemQuery = `:is(${itemQuery}${NOT_OVERFLOWED}${NOT_HIDDEN},[data-overflow-indicator])`;
29
- const indexOf = (dropTarget) => measuredDropTargets.current.findIndex((d) => d.id === dropTarget.id);
30
- const reposition = (dropTarget, distance, indexShift) => {
31
- dropTarget.start += distance;
32
- dropTarget.mid += distance;
33
- dropTarget.end += distance;
34
- if (typeof indexShift === "number") {
35
- dropTarget.currentIndex += indexShift;
36
- }
37
- };
38
- const rangeRef = useRef(void 0);
39
- rangeRef.current = viewportRange;
40
- const handleScrollStart = useCallback(() => {
41
- clearSpacer();
42
- }, [clearSpacer]);
43
- const handleScrollStop = useCallback(
44
- (scrollDirection, _scrollPos, atEnd) => {
45
- const { current: container } = containerRef;
46
- const { current: draggedItem } = draggedItemRef;
47
- if (container && draggedItem) {
48
- measuredDropTargets.current = measureDropTargets(
49
- container,
50
- orientation,
51
- fullItemQuery,
52
- rangeRef.current
53
- );
54
- const { size } = draggedItem;
55
- const dragPos = dragPosRef.current;
56
- const midPos = dragPos + size / 2;
57
- const { current: dropTargets } = measuredDropTargets;
58
- const nextDropTarget = getNextDropTarget(
59
- dropTargets,
60
- midPos,
61
- size,
62
- "fwd"
63
- );
64
- if (nextDropTarget) {
65
- if (atEnd && scrollDirection === "fwd") {
66
- positionDropIndicator(dropTargets[dropTargets.length - 1], "start");
67
- } else {
68
- positionDropIndicator(nextDropTarget, "start");
69
- }
70
- }
71
- }
72
- },
73
- [
74
- containerRef,
75
- positionDropIndicator,
76
- fullItemQuery,
77
- orientation
78
- // setVizData,
79
- ]
80
- );
81
- const beginDrag = useCallback(
82
- (dragElement) => {
83
- if (dragElement.ariaSelected && Array.isArray(selected) && selected.length > 1) {
84
- console.log("its a selected element, and we have a multi select");
85
- }
86
- const { current: container } = containerRef;
87
- if (container && dragElement) {
88
- const { SCROLL_SIZE, CLIENT_SIZE } = dimensions(orientation);
89
- const { id: draggedItemId } = dragElement;
90
- const { [SCROLL_SIZE]: scrollSize, [CLIENT_SIZE]: clientSize } = container;
91
- isScrollable.current = scrollSize > clientSize;
92
- const dropTargets = measuredDropTargets.current = measureDropTargets(
93
- container,
94
- orientation,
95
- fullItemQuery,
96
- viewportRange
97
- );
98
- const draggedItem = getItemById(dropTargets, draggedItemId);
99
- if (draggedItem && container) {
100
- const targetIndex = indexOf(draggedItem);
101
- removeDraggedItem(dropTargets, targetIndex);
102
- draggedItemRef.current = draggedItem;
103
- const { current: range } = rangeRef;
104
- if (range?.atEnd) {
105
- for (let i = 0; i < dropTargets.length; i++) {
106
- reposition(dropTargets[i], draggedItem.size);
107
- }
108
- }
109
- for (let i = targetIndex; i < dropTargets.length; i++) {
110
- reposition(dropTargets[i], -draggedItem.size, -1);
111
- }
112
- const [dropTarget, dropZone2] = draggedItem.isLast ? [dropTargets[dropTargets.length - 1], "end"] : [dropTargets[targetIndex], "start"];
113
- dropTargetRef.current = dropTarget;
114
- dropZoneRef.current = dropZone2;
115
- const dropIndicatorPosition = positionDropIndicator(
116
- dropTarget,
117
- dropZone2
118
- );
119
- const { top, left, width } = dropIndicatorPosition.getBoundingClientRect();
120
- const dropIndicatorRect = {
121
- top: draggedItem.isLast ? range?.atEnd && !range.atStart ? top + draggedItem.size - 2 : top - 2 : top - draggedItem.size - 2,
122
- left,
123
- width,
124
- height: 2
125
- };
126
- setDropIndicator(
127
- /* @__PURE__ */ jsx(
128
- Draggable,
129
- {
130
- wrapperClassName: "dropIndicatorContainer",
131
- style: dropIndicatorRect,
132
- ref: dropIndicatorRef,
133
- element: createDropIndicator()
134
- }
135
- )
136
- );
137
- }
138
- }
139
- },
140
- [
141
- selected,
142
- containerRef,
143
- orientation,
144
- fullItemQuery,
145
- viewportRange,
146
- positionDropIndicator
147
- ]
148
- );
149
- const drag = useCallback(
150
- (dragPos, mouseMoveDirection) => {
151
- const { current: currentDropTarget } = dropTargetRef;
152
- const { current: draggedItem } = draggedItemRef;
153
- if (draggedItem) {
154
- if (containerRef.current) {
155
- const START = orientation === "horizontal" ? "left" : "top";
156
- dragPosRef.current = dragPos;
157
- const { current: dropTargets } = measuredDropTargets;
158
- const nextDropTarget = getNextDropTarget(
159
- dropTargets,
160
- dragPos,
161
- draggedItem.size,
162
- mouseMoveDirection
163
- );
164
- if (nextDropTarget && nextDropTarget.index !== currentDropTarget?.index) {
165
- if (nextDropTarget.isOverflowIndicator) {
166
- setShowOverflow(overflowMenuShowingRef.current = true);
167
- } else if (dropIndicatorRef.current) {
168
- const targetIndex = indexOf(nextDropTarget);
169
- if (targetIndex === dropTargets.length - 1) {
170
- const dropTarget = dropTargets[dropTargets.length - 1];
171
- const dropIndicatorPosition = positionDropIndicator(
172
- dropTarget,
173
- "start"
174
- );
175
- const dropIndicatorRect = dropIndicatorPosition.getBoundingClientRect();
176
- dropIndicatorRef.current.style[START] = `${dropIndicatorRect.top}px`;
177
- } else {
178
- const dropIndicatorPosition = positionDropIndicator(
179
- nextDropTarget,
180
- "start"
181
- );
182
- const dropIndicatorRect = dropIndicatorPosition.getBoundingClientRect();
183
- dropIndicatorRef.current.style[START] = `${dropIndicatorRect.top}px`;
184
- }
185
- setShowOverflow(overflowMenuShowingRef.current = false);
186
- }
187
- dropTargetRef.current = nextDropTarget;
188
- dragDirectionRef.current = mouseMoveDirection;
189
- }
190
- }
191
- }
192
- },
193
- [containerRef, orientation, positionDropIndicator]
194
- );
195
- const drop = useCallback(() => {
196
- clearSpacer();
197
- const { current: draggedItem } = draggedItemRef;
198
- const { current: dropTarget } = dropTargetRef;
199
- const { current: dropZone2 } = dropZoneRef;
200
- const { current: range } = rangeRef;
201
- if (draggedItem && range && dropTarget) {
202
- const { index: fromIndex } = draggedItem;
203
- const dropBefore = dropZone2 === "start";
204
- const {
205
- index: originalDropTargetIndex,
206
- currentIndex: currentDropTargetIndex
207
- } = dropTarget;
208
- dropTargetRef.current = null;
209
- dragDirectionRef.current = void 0;
210
- setDropIndicator(void 0);
211
- setShowOverflow(false);
212
- if (overflowMenuShowingRef.current) {
213
- return {
214
- fromIndex,
215
- toIndex: -1
216
- };
217
- } else {
218
- if (fromIndex < originalDropTargetIndex) {
219
- return {
220
- fromIndex,
221
- toIndex: dropBefore ? currentDropTargetIndex : currentDropTargetIndex + 1
222
- };
223
- } else {
224
- return {
225
- fromIndex,
226
- toIndex: dropBefore ? originalDropTargetIndex : originalDropTargetIndex + 1
227
- };
228
- }
229
- }
230
- } else {
231
- throw Error(`useDragDropIndicator drop error`);
232
- }
233
- }, [clearSpacer]);
234
- const releaseDrag = useCallback(() => {
235
- }, []);
236
- return {
237
- beginDrag,
238
- drag,
239
- drop,
240
- dropIndicator,
241
- handleScrollStart,
242
- handleScrollStop,
243
- releaseDrag,
244
- revealOverflowedItems: showOverflow
245
- };
246
- };
247
-
248
- export { useDragDropIndicator };
249
- //# sourceMappingURL=useDragDropIndicator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDragDropIndicator.js","sources":["../../../../packages/vuu-ui-controls/src/drag-drop/useDragDropIndicator.tsx"],"sourcesContent":["import { ReactElement, useCallback, useRef, useState } from \"react\";\n\nimport {\n InternalDragDropProps,\n InternalDragHookResult,\n Direction,\n ViewportRange,\n DropOptions,\n} from \"./dragDropTypes\";\nimport { useDropIndicator } from \"./useDropIndicator\";\n\nimport {\n dimensions,\n getItemById,\n MeasuredDropTarget,\n measureDropTargets,\n getNextDropTarget,\n dropZone,\n removeDraggedItem,\n} from \"./drop-target-utils\";\n\nimport { createDropIndicator, Draggable } from \"./Draggable\";\n\nconst NOT_OVERFLOWED = ':not([data-overflowed=\"true\"])';\nconst NOT_HIDDEN = ':not([aria-hidden=\"true\"])';\n\nexport const useDragDropIndicator = ({\n orientation = \"horizontal\",\n containerRef,\n itemQuery = \"*\",\n selected,\n viewportRange,\n}: InternalDragDropProps): InternalDragHookResult => {\n const dragDirectionRef = useRef<Direction | undefined>(undefined);\n const dropIndicatorRef = useRef<HTMLDivElement>(null);\n const dropTargetRef = useRef<MeasuredDropTarget | null>(null);\n const dropZoneRef = useRef<dropZone | \"\">(\"\");\n const isScrollable = useRef(false);\n /** current position of dragged element */\n const dragPosRef = useRef<number>(-1);\n const measuredDropTargets = useRef<MeasuredDropTarget[]>([]);\n const overflowMenuShowingRef = useRef(false);\n\n const [showOverflow, setShowOverflow] = useState(false);\n const [dropIndicator, setDropIndicator] = useState<\n ReactElement | undefined\n >();\n\n const { clearSpacer, positionDropIndicator } = useDropIndicator();\n\n const draggedItemRef = useRef<MeasuredDropTarget>(undefined);\n const fullItemQuery = `:is(${itemQuery}${NOT_OVERFLOWED}${NOT_HIDDEN},[data-overflow-indicator])`;\n\n // const { setMeasurements: setVizData } = useListViz();\n\n const indexOf = (dropTarget: MeasuredDropTarget) =>\n measuredDropTargets.current.findIndex((d) => d.id === dropTarget.id);\n\n const reposition = (\n dropTarget: MeasuredDropTarget,\n distance: number,\n indexShift?: number,\n ) => {\n dropTarget.start += distance;\n dropTarget.mid += distance;\n dropTarget.end += distance;\n if (typeof indexShift === \"number\") {\n dropTarget.currentIndex += indexShift;\n }\n };\n\n // Shouldn't need this - but viewportRange is always stale in stopScrolling. Checked all dependencies\n // look ok. Something to do with setTimeout / scrollHandler ?\n const rangeRef = useRef<ViewportRange>(undefined);\n rangeRef.current = viewportRange;\n\n const handleScrollStart = useCallback(() => {\n clearSpacer();\n }, [clearSpacer]);\n\n const handleScrollStop = useCallback(\n (scrollDirection: \"fwd\" | \"bwd\", _scrollPos: number, atEnd: boolean) => {\n const { current: container } = containerRef;\n const { current: draggedItem } = draggedItemRef;\n if (container && draggedItem) {\n measuredDropTargets.current = measureDropTargets(\n container,\n orientation,\n fullItemQuery,\n rangeRef.current,\n );\n // setVizData(measuredDropTargets.current);\n\n const { size } = draggedItem;\n const dragPos = dragPosRef.current;\n const midPos = dragPos + size / 2;\n const { current: dropTargets } = measuredDropTargets;\n const nextDropTarget = getNextDropTarget(\n dropTargets,\n midPos,\n size,\n \"fwd\",\n );\n if (nextDropTarget) {\n if (atEnd && scrollDirection === \"fwd\") {\n positionDropIndicator(dropTargets[dropTargets.length - 1], \"start\");\n } else {\n positionDropIndicator(nextDropTarget, \"start\");\n }\n }\n\n // setVizData(measuredDropTargets.current, nextDropTarget);\n }\n },\n [\n containerRef,\n positionDropIndicator,\n fullItemQuery,\n orientation,\n // setVizData,\n ],\n );\n\n const beginDrag = useCallback(\n (dragElement: HTMLElement) => {\n if (\n dragElement.ariaSelected &&\n Array.isArray(selected) &&\n selected.length > 1\n ) {\n console.log(\"its a selected element, and we have a multi select\");\n }\n const { current: container } = containerRef;\n if (container && dragElement) {\n const { SCROLL_SIZE, CLIENT_SIZE } = dimensions(orientation);\n const { id: draggedItemId } = dragElement;\n\n const { [SCROLL_SIZE]: scrollSize, [CLIENT_SIZE]: clientSize } =\n container;\n isScrollable.current = scrollSize > clientSize;\n\n const dropTargets = (measuredDropTargets.current = measureDropTargets(\n container,\n orientation,\n fullItemQuery,\n viewportRange,\n ));\n\n const draggedItem = getItemById(dropTargets, draggedItemId);\n\n if (draggedItem && container) {\n const targetIndex = indexOf(draggedItem);\n removeDraggedItem(dropTargets, targetIndex);\n draggedItemRef.current = draggedItem;\n\n // This begins to deviate from NaturalMovement here -----------\n const { current: range } = rangeRef;\n //TODO when our viewport is the last 'page' of a scrolling viewport\n // the viewport will scoll up by one row when we remove an item, so\n // the position of each item will move down.\n if (range?.atEnd) {\n for (let i = 0; i < dropTargets.length; i++) {\n reposition(dropTargets[i], draggedItem.size);\n }\n }\n for (let i = targetIndex; i < dropTargets.length; i++) {\n reposition(dropTargets[i], -draggedItem.size, -1);\n }\n\n const [dropTarget, dropZone] = draggedItem.isLast\n ? [dropTargets[dropTargets.length - 1], \"end\"]\n : [dropTargets[targetIndex], \"start\"];\n\n dropTargetRef.current = dropTarget;\n dropZoneRef.current = dropZone as dropZone;\n\n // setVizData(dropTargets, dropTarget, dropZone);\n\n const dropIndicatorPosition = positionDropIndicator(\n dropTarget,\n dropZone as dropZone,\n );\n\n const { top, left, width } =\n dropIndicatorPosition.getBoundingClientRect();\n // Next render will remove the dragged item, that will offset our initial\n // dropIndicatorPosition\n const dropIndicatorRect = {\n top: draggedItem.isLast\n ? range?.atEnd && !range.atStart\n ? top + draggedItem.size - 2\n : top - 2\n : top - draggedItem.size - 2,\n left,\n width,\n height: 2,\n };\n\n setDropIndicator(\n <Draggable\n wrapperClassName=\"dropIndicatorContainer\"\n style={dropIndicatorRect}\n ref={dropIndicatorRef}\n element={createDropIndicator()}\n />,\n );\n }\n }\n },\n [\n selected,\n containerRef,\n orientation,\n fullItemQuery,\n viewportRange,\n positionDropIndicator,\n ],\n );\n\n const drag = useCallback(\n (dragPos: number, mouseMoveDirection: \"fwd\" | \"bwd\") => {\n const { current: currentDropTarget } = dropTargetRef;\n const { current: draggedItem } = draggedItemRef;\n\n if (draggedItem) {\n if (containerRef.current) {\n const START = orientation === \"horizontal\" ? \"left\" : \"top\";\n dragPosRef.current = dragPos;\n\n const { current: dropTargets } = measuredDropTargets;\n const nextDropTarget = getNextDropTarget(\n dropTargets,\n dragPos,\n draggedItem.size,\n mouseMoveDirection,\n );\n\n if (\n nextDropTarget &&\n nextDropTarget.index !== currentDropTarget?.index\n // mouseMoveDirection !== dragDirectionRef.current\n ) {\n if (nextDropTarget.isOverflowIndicator) {\n // Does this belong in here or can we abstract it out\n setShowOverflow((overflowMenuShowingRef.current = true));\n } else if (dropIndicatorRef.current) {\n const targetIndex = indexOf(nextDropTarget);\n if (targetIndex === dropTargets.length - 1) {\n // because we maintain at least one out-of-viewport row in\n // the dropTargets, this means we are at the very last item.\n const dropTarget = dropTargets[dropTargets.length - 1];\n const dropIndicatorPosition = positionDropIndicator(\n dropTarget,\n \"start\",\n );\n const dropIndicatorRect =\n dropIndicatorPosition.getBoundingClientRect();\n dropIndicatorRef.current.style[START] =\n `${dropIndicatorRect.top}px`;\n } else {\n const dropIndicatorPosition = positionDropIndicator(\n nextDropTarget,\n \"start\",\n ) as unknown as HTMLElement;\n const dropIndicatorRect =\n dropIndicatorPosition.getBoundingClientRect();\n dropIndicatorRef.current.style[START] =\n `${dropIndicatorRect.top}px`;\n }\n // setVizData(dropTargets, nextDropTarget, nextDropZone);\n\n setShowOverflow((overflowMenuShowingRef.current = false));\n }\n\n dropTargetRef.current = nextDropTarget;\n dragDirectionRef.current = mouseMoveDirection;\n }\n }\n }\n },\n [containerRef, orientation, positionDropIndicator],\n );\n\n const drop = useCallback((): DropOptions => {\n clearSpacer();\n const { current: draggedItem } = draggedItemRef;\n const { current: dropTarget } = dropTargetRef;\n const { current: dropZone } = dropZoneRef;\n const { current: range } = rangeRef;\n\n if (draggedItem && range && dropTarget) {\n const { index: fromIndex } = draggedItem;\n\n const dropBefore = dropZone === \"start\";\n const {\n index: originalDropTargetIndex,\n currentIndex: currentDropTargetIndex,\n } = dropTarget;\n\n dropTargetRef.current = null;\n dragDirectionRef.current = undefined;\n\n setDropIndicator(undefined);\n setShowOverflow(false);\n\n //TODO why is this different from Natural Movement ?\n if (overflowMenuShowingRef.current) {\n return {\n fromIndex,\n toIndex: -1,\n };\n } else {\n if (fromIndex < originalDropTargetIndex) {\n return {\n fromIndex,\n toIndex: dropBefore\n ? currentDropTargetIndex\n : currentDropTargetIndex + 1,\n };\n } else {\n return {\n fromIndex,\n toIndex: dropBefore\n ? originalDropTargetIndex\n : originalDropTargetIndex + 1,\n };\n }\n }\n } else {\n throw Error(`useDragDropIndicator drop error`);\n }\n }, [clearSpacer]);\n\n const releaseDrag = useCallback(() => {\n // TODO\n }, []);\n\n return {\n beginDrag,\n drag,\n drop,\n dropIndicator,\n handleScrollStart,\n handleScrollStop,\n releaseDrag,\n revealOverflowedItems: showOverflow,\n };\n};\n"],"names":["dropZone"],"mappings":"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"}
@@ -1,263 +0,0 @@
1
- import { useRef, useState, useCallback, useMemo } from 'react';
2
- import { useDragDisplacers } from './useDragDisplacers.js';
3
- import { dispatchMouseEvent } from '@vuu-ui/vuu-utils';
4
- import { getItemParentContainer, measureDropTargets, dimensions, getIndexOfDraggedItem, getNextDropTarget, NOT_OVERFLOWED, NOT_HIDDEN } from './drop-target-utils.js';
5
-
6
- const useDragDropNaturalMovement = ({
7
- containerRef,
8
- orientation = "horizontal",
9
- itemQuery = "*",
10
- selected,
11
- viewportRange
12
- }) => {
13
- const dragPositionRef = useRef({
14
- direction: void 0,
15
- insertionPosition: -1
16
- });
17
- const isScrollable = useRef(false);
18
- const dragPosRef = useRef(-1);
19
- const measuredDropTargets = useRef([]);
20
- const overflowMenuShowingRef = useRef(false);
21
- const [showOverflow, setShowOverflow] = useState(false);
22
- const { clearSpacers, displaceItem, displaceLastItem, setTerminalSpacer } = useDragDisplacers(orientation);
23
- const draggedItemRef = useRef(void 0);
24
- const fullItemQuery = `:is(${itemQuery}${NOT_OVERFLOWED}${NOT_HIDDEN},.vuuOverflowContainer-OverflowIndicator)`;
25
- const indexOf = (dropTarget) => measuredDropTargets.current.findIndex((d) => d.id === dropTarget.id);
26
- const rangeRef = useRef(void 0);
27
- rangeRef.current = viewportRange;
28
- const handleScrollStart = useCallback(
29
- (scrollDirection) => {
30
- const itemContainer = getItemParentContainer(
31
- containerRef.current,
32
- itemQuery
33
- );
34
- const { current: draggedItem } = draggedItemRef;
35
- if (itemContainer && draggedItem) {
36
- setTerminalSpacer(
37
- itemContainer,
38
- scrollDirection === "fwd" ? "end" : "start",
39
- draggedItem.size
40
- );
41
- }
42
- },
43
- [containerRef, itemQuery, setTerminalSpacer]
44
- );
45
- const handleScrollStop = useCallback(
46
- (scrollDirection) => {
47
- const { current: container } = containerRef;
48
- const { current: draggedItem } = draggedItemRef;
49
- const { current: dragPosition } = dragPositionRef;
50
- if (container && draggedItem) {
51
- const dropTargets = measuredDropTargets.current = measureDropTargets(
52
- container,
53
- orientation,
54
- fullItemQuery,
55
- rangeRef.current
56
- );
57
- const dropTargetAtBoundary = scrollDirection === "fwd" ? dropTargets.at(-1) : dropTargets.at(0);
58
- if (dropTargetAtBoundary) {
59
- const { mid, end, size, start } = dropTargetAtBoundary;
60
- if (scrollDirection === "fwd") {
61
- const draggedDropTarget = {
62
- ...draggedItem,
63
- start: Math.round(start + size),
64
- mid: Math.round(mid + size),
65
- end: Math.round(end + size)
66
- };
67
- dropTargets.push(draggedDropTarget);
68
- dragPosition.insertionPosition = dropTargetAtBoundary.index + 1;
69
- } else {
70
- const draggedDropTarget = {
71
- ...draggedItem,
72
- start: Math.round(start - size),
73
- mid: Math.round(mid - size),
74
- end: Math.round(end - size)
75
- };
76
- dropTargets.unshift(draggedDropTarget);
77
- dragPosition.insertionPosition = 0;
78
- }
79
- }
80
- }
81
- },
82
- [containerRef, fullItemQuery, orientation]
83
- );
84
- const beginDrag = useCallback(
85
- (dragElement) => {
86
- if (
87
- //TODO need a different check for selected
88
- dragElement.ariaSelected && Array.isArray(selected) && selected.length > 1
89
- ) {
90
- console.log("its a selected element, and we have a multi select");
91
- }
92
- const { current: container } = containerRef;
93
- const { current: dragPosition } = dragPositionRef;
94
- if (container && dragElement) {
95
- const internalDrag = container.contains(dragElement);
96
- const { SCROLL_SIZE, CLIENT_SIZE } = dimensions(orientation);
97
- const { id: draggedItemId } = dragElement;
98
- const { [SCROLL_SIZE]: scrollSize, [CLIENT_SIZE]: clientSize } = container;
99
- isScrollable.current = scrollSize > clientSize;
100
- const dropTargets = measuredDropTargets.current = measureDropTargets(
101
- container,
102
- orientation,
103
- fullItemQuery,
104
- viewportRange,
105
- draggedItemId
106
- );
107
- if (internalDrag) {
108
- const indexOfDraggedItem = getIndexOfDraggedItem(dropTargets);
109
- const draggedItem = dropTargets[indexOfDraggedItem];
110
- if (draggedItem && container) {
111
- draggedItemRef.current = draggedItem;
112
- const displaceFunction = draggedItem.isLast ? displaceLastItem : displaceItem;
113
- dragPosition.insertionPosition = displaceFunction(
114
- dropTargets,
115
- draggedItem,
116
- draggedItem.size,
117
- false,
118
- "static"
119
- );
120
- }
121
- } else {
122
- const { top: dragPos, height: size } = dragElement.getBoundingClientRect();
123
- const dropTarget = getNextDropTarget(dropTargets, dragPos, size, "fwd");
124
- const index = dropTargets.indexOf(dropTarget);
125
- const { start, end, mid } = dropTarget;
126
- const draggedItem = draggedItemRef.current = {
127
- end,
128
- mid,
129
- start,
130
- isDraggedItem: true,
131
- isExternal: true,
132
- size
133
- };
134
- const indexOfDropTarget = dropTargets.indexOf(dropTarget);
135
- dropTargets.splice(indexOfDropTarget, 0, draggedItem);
136
- for (let i = index + 1; i < dropTargets.length; i++) {
137
- const target = dropTargets[i];
138
- target.mid += size;
139
- target.end += size;
140
- target.start += size;
141
- }
142
- const displaceFunction = dropTarget.isLast ? displaceLastItem : displaceItem;
143
- displaceFunction(
144
- dropTargets,
145
- dropTarget,
146
- dropTarget.size,
147
- true,
148
- "static"
149
- );
150
- }
151
- }
152
- },
153
- [
154
- containerRef,
155
- displaceItem,
156
- displaceLastItem,
157
- fullItemQuery,
158
- orientation,
159
- selected,
160
- viewportRange
161
- ]
162
- );
163
- const [showPopup, hidePopup] = useMemo(() => {
164
- let popupShowing = false;
165
- const show = (dropTarget) => {
166
- if (!popupShowing) {
167
- popupShowing = true;
168
- const button = dropTarget.element.querySelector(
169
- ".vuuPopupMenu"
170
- );
171
- if (button) {
172
- dispatchMouseEvent(button, "click");
173
- }
174
- }
175
- };
176
- const hide = (dropTarget) => {
177
- if (popupShowing) {
178
- popupShowing = false;
179
- const button = dropTarget.element.querySelector(
180
- ".vuuPopupMenu"
181
- );
182
- if (button) {
183
- dispatchMouseEvent(button, "click");
184
- }
185
- }
186
- };
187
- return [show, hide];
188
- }, []);
189
- const drag = useCallback(
190
- (dragPos, mouseMoveDirection) => {
191
- const { current: draggedItem } = draggedItemRef;
192
- const { current: dragPosition } = dragPositionRef;
193
- if (draggedItem) {
194
- if (containerRef.current) {
195
- dragPosRef.current = dragPos;
196
- const { current: dropTargets } = measuredDropTargets;
197
- const nextDropTarget = getNextDropTarget(
198
- dropTargets,
199
- dragPos,
200
- draggedItem.size,
201
- mouseMoveDirection
202
- );
203
- if (nextDropTarget && !nextDropTarget.isDraggedItem) {
204
- if (nextDropTarget.isOverflowIndicator) {
205
- setShowOverflow(overflowMenuShowingRef.current = true);
206
- showPopup(nextDropTarget);
207
- } else {
208
- const { size } = draggedItem;
209
- const targetIndex = indexOf(nextDropTarget);
210
- const displaceFunc = targetIndex === dropTargets.length - 1 ? displaceLastItem : displaceItem;
211
- dragPosition.insertionPosition = displaceFunc(
212
- dropTargets,
213
- nextDropTarget,
214
- size,
215
- true,
216
- mouseMoveDirection
217
- );
218
- const overflowIndicator = dropTargets.at(
219
- -1
220
- );
221
- hidePopup(overflowIndicator);
222
- setShowOverflow(overflowMenuShowingRef.current = false);
223
- }
224
- }
225
- dragPosition.direction = mouseMoveDirection;
226
- }
227
- }
228
- },
229
- [containerRef, displaceItem, displaceLastItem, hidePopup, showPopup]
230
- );
231
- const drop = useCallback(() => {
232
- clearSpacers();
233
- const { current: dropTargets } = measuredDropTargets;
234
- const { current: dragPosition } = dragPositionRef;
235
- const indexOfDraggedItem = getIndexOfDraggedItem(dropTargets);
236
- const draggedItem = dropTargets[indexOfDraggedItem];
237
- const { insertionPosition } = dragPosition;
238
- const { index: fromIndex, isExternal } = draggedItem;
239
- if (overflowMenuShowingRef.current) {
240
- setShowOverflow(false);
241
- }
242
- dragPosition.direction = void 0;
243
- dragPosition.insertionPosition = -1;
244
- const isLastItem = indexOfDraggedItem === dropTargets.length - 1;
245
- const toIndex = overflowMenuShowingRef.current ? -1 : fromIndex < insertionPosition && !isLastItem ? insertionPosition - 1 : insertionPosition;
246
- return { fromIndex, toIndex, isExternal };
247
- }, [clearSpacers]);
248
- const releaseDrag = useCallback(() => {
249
- clearSpacers(true);
250
- }, [clearSpacers]);
251
- return {
252
- beginDrag,
253
- drag,
254
- drop,
255
- handleScrollStart,
256
- handleScrollStop,
257
- releaseDrag,
258
- revealOverflowedItems: showOverflow
259
- };
260
- };
261
-
262
- export { useDragDropNaturalMovement };
263
- //# sourceMappingURL=useDragDropNaturalMovement.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDragDropNaturalMovement.js","sources":["../../../../packages/vuu-ui-controls/src/drag-drop/useDragDropNaturalMovement.tsx"],"sourcesContent":["import { useCallback, useMemo, useRef, useState } from \"react\";\n\nimport {\n Direction,\n DropOptions,\n InternalDragDropProps,\n InternalDragHookResult,\n ViewportRange,\n} from \"./dragDropTypes\";\nimport { useDragDisplacers } from \"./useDragDisplacers\";\nimport { dispatchMouseEvent } from \"@vuu-ui/vuu-utils\";\nimport {\n dimensions,\n getIndexOfDraggedItem,\n getItemParentContainer,\n getNextDropTarget,\n MeasuredDropTarget,\n measureDropTargets,\n NOT_HIDDEN,\n NOT_OVERFLOWED,\n} from \"./drop-target-utils\";\n\ntype DragPosition = {\n direction?: Direction;\n insertionPosition: number;\n};\n\nexport const useDragDropNaturalMovement = ({\n containerRef,\n orientation = \"horizontal\",\n itemQuery = \"*\",\n selected,\n viewportRange,\n}: InternalDragDropProps): InternalDragHookResult => {\n const dragPositionRef = useRef<DragPosition>({\n direction: undefined,\n insertionPosition: -1,\n });\n const isScrollable = useRef(false);\n /** current position of dragged element */\n const dragPosRef = useRef<number>(-1);\n const measuredDropTargets = useRef<MeasuredDropTarget[]>([]);\n const overflowMenuShowingRef = useRef(false);\n\n const [showOverflow, setShowOverflow] = useState(false);\n\n const { clearSpacers, displaceItem, displaceLastItem, setTerminalSpacer } =\n useDragDisplacers(orientation);\n\n const draggedItemRef = useRef<MeasuredDropTarget>(undefined);\n const fullItemQuery = `:is(${itemQuery}${NOT_OVERFLOWED}${NOT_HIDDEN},.vuuOverflowContainer-OverflowIndicator)`;\n\n const indexOf = (dropTarget: MeasuredDropTarget) =>\n measuredDropTargets.current.findIndex((d) => d.id === dropTarget.id);\n\n // Shouldn't need this - but viewportRange is always stale in stopScrolling. Checked all dependencies\n // look ok. Something to do with setTimeout / scrollHandler ?\n const rangeRef = useRef<ViewportRange>(undefined);\n rangeRef.current = viewportRange;\n\n const handleScrollStart = useCallback(\n (scrollDirection: \"fwd\" | \"bwd\") => {\n const itemContainer = getItemParentContainer(\n containerRef.current,\n itemQuery,\n );\n const { current: draggedItem } = draggedItemRef;\n\n // When we start scrolling, insert a spacer at the start of end of the collection.\n // This is what we will need if user scrolls right to end and it will give the correct\n // scrollHeight. Ig user stops scrolling before start/end we will reposition the\n // spacer(s) appropriately\n if (itemContainer && draggedItem) {\n setTerminalSpacer(\n itemContainer,\n scrollDirection === \"fwd\" ? \"end\" : \"start\",\n draggedItem.size,\n );\n }\n },\n [containerRef, itemQuery, setTerminalSpacer],\n );\n\n const handleScrollStop = useCallback(\n (scrollDirection: \"fwd\" | \"bwd\") => {\n const { current: container } = containerRef;\n const { current: draggedItem } = draggedItemRef;\n const { current: dragPosition } = dragPositionRef;\n if (container && draggedItem) {\n const dropTargets = (measuredDropTargets.current = measureDropTargets(\n container,\n orientation,\n fullItemQuery,\n rangeRef.current,\n ));\n\n const dropTargetAtBoundary =\n scrollDirection === \"fwd\" ? dropTargets.at(-1) : dropTargets.at(0);\n\n if (dropTargetAtBoundary) {\n const { mid, end, size, start } = dropTargetAtBoundary;\n if (scrollDirection === \"fwd\") {\n const draggedDropTarget = {\n ...draggedItem,\n start: Math.round(start + size),\n mid: Math.round(mid + size),\n end: Math.round(end + size),\n };\n dropTargets.push(draggedDropTarget);\n dragPosition.insertionPosition = dropTargetAtBoundary.index + 1;\n } else {\n const draggedDropTarget = {\n ...draggedItem,\n start: Math.round(start - size),\n mid: Math.round(mid - size),\n end: Math.round(end - size),\n };\n dropTargets.unshift(draggedDropTarget);\n dragPosition.insertionPosition = 0;\n }\n }\n }\n },\n [containerRef, fullItemQuery, orientation],\n );\n\n const beginDrag = useCallback(\n (dragElement: HTMLElement) => {\n if (\n //TODO need a different check for selected\n dragElement.ariaSelected &&\n Array.isArray(selected) &&\n selected.length > 1\n ) {\n console.log(\"its a selected element, and we have a multi select\");\n }\n const { current: container } = containerRef;\n const { current: dragPosition } = dragPositionRef;\n\n if (container && dragElement) {\n const internalDrag = container.contains(dragElement);\n const { SCROLL_SIZE, CLIENT_SIZE } = dimensions(orientation);\n const { id: draggedItemId } = dragElement;\n const { [SCROLL_SIZE]: scrollSize, [CLIENT_SIZE]: clientSize } =\n container;\n isScrollable.current = scrollSize > clientSize;\n const dropTargets = (measuredDropTargets.current = measureDropTargets(\n container,\n orientation,\n fullItemQuery,\n viewportRange,\n draggedItemId,\n ));\n\n if (internalDrag) {\n const indexOfDraggedItem = getIndexOfDraggedItem(dropTargets);\n const draggedItem = dropTargets[indexOfDraggedItem];\n if (draggedItem && container) {\n draggedItemRef.current = draggedItem;\n const displaceFunction = draggedItem.isLast\n ? displaceLastItem\n : displaceItem;\n\n // This should return the insertion position of dragged item\n // which depends on both dro[Target and direction]\n dragPosition.insertionPosition = displaceFunction(\n dropTargets,\n draggedItem,\n draggedItem.size,\n false,\n \"static\",\n );\n }\n } else {\n // prettier-ignore\n const { top: dragPos, height: size } = dragElement.getBoundingClientRect();\n // prettier-ignore\n const dropTarget = getNextDropTarget( dropTargets, dragPos, size, \"fwd\");\n const index = dropTargets.indexOf(dropTarget);\n const { start, end, mid } = dropTarget;\n\n // need to compute the correct position of this\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const draggedItem = (draggedItemRef.current = {\n end,\n mid,\n start,\n isDraggedItem: true,\n isExternal: true,\n size,\n });\n\n const indexOfDropTarget = dropTargets.indexOf(dropTarget);\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n dropTargets.splice(indexOfDropTarget, 0, draggedItem);\n for (let i = index + 1; i < dropTargets.length; i++) {\n const target = dropTargets[i];\n target.mid += size;\n target.end += size;\n target.start += size;\n }\n\n const displaceFunction = dropTarget.isLast\n ? displaceLastItem\n : displaceItem;\n\n displaceFunction(\n dropTargets,\n dropTarget,\n dropTarget.size,\n true,\n \"static\",\n );\n }\n }\n },\n [\n containerRef,\n displaceItem,\n displaceLastItem,\n fullItemQuery,\n orientation,\n selected,\n viewportRange,\n ],\n );\n\n const [showPopup, hidePopup] = useMemo(() => {\n let popupShowing = false;\n const show = (dropTarget: MeasuredDropTarget) => {\n if (!popupShowing) {\n popupShowing = true;\n const button = dropTarget.element.querySelector(\n \".vuuPopupMenu\",\n ) as HTMLElement;\n if (button) {\n dispatchMouseEvent(button, \"click\");\n }\n }\n };\n\n const hide = (dropTarget: MeasuredDropTarget) => {\n if (popupShowing) {\n popupShowing = false;\n const button = dropTarget.element.querySelector(\n \".vuuPopupMenu\",\n ) as HTMLElement;\n if (button) {\n dispatchMouseEvent(button, \"click\");\n }\n }\n };\n\n return [show, hide];\n }, []);\n\n const drag = useCallback(\n (dragPos: number, mouseMoveDirection: \"fwd\" | \"bwd\") => {\n const { current: draggedItem } = draggedItemRef;\n const { current: dragPosition } = dragPositionRef;\n\n if (draggedItem) {\n if (containerRef.current) {\n dragPosRef.current = dragPos;\n\n const { current: dropTargets } = measuredDropTargets;\n const nextDropTarget = getNextDropTarget(\n dropTargets,\n dragPos,\n draggedItem.size,\n mouseMoveDirection,\n );\n\n if (nextDropTarget && !nextDropTarget.isDraggedItem) {\n if (nextDropTarget.isOverflowIndicator) {\n // Does this belong in here or can we abstract it out\n setShowOverflow((overflowMenuShowingRef.current = true));\n showPopup(nextDropTarget);\n } else {\n const { size } = draggedItem;\n const targetIndex = indexOf(nextDropTarget);\n\n const displaceFunc =\n targetIndex === dropTargets.length - 1\n ? displaceLastItem\n : displaceItem;\n\n dragPosition.insertionPosition = displaceFunc(\n dropTargets,\n nextDropTarget,\n size,\n true,\n mouseMoveDirection,\n );\n\n const overflowIndicator = dropTargets.at(\n -1,\n ) as MeasuredDropTarget;\n hidePopup(overflowIndicator);\n setShowOverflow((overflowMenuShowingRef.current = false));\n }\n }\n dragPosition.direction = mouseMoveDirection;\n }\n }\n },\n [containerRef, displaceItem, displaceLastItem, hidePopup, showPopup],\n );\n\n const drop = useCallback((): DropOptions => {\n clearSpacers();\n const { current: dropTargets } = measuredDropTargets;\n const { current: dragPosition } = dragPositionRef;\n const indexOfDraggedItem = getIndexOfDraggedItem(dropTargets);\n const draggedItem = dropTargets[indexOfDraggedItem];\n const { insertionPosition } = dragPosition;\n const { index: fromIndex, isExternal } = draggedItem;\n\n if (overflowMenuShowingRef.current) {\n setShowOverflow(false);\n }\n\n dragPosition.direction = undefined;\n dragPosition.insertionPosition = -1;\n\n const isLastItem = indexOfDraggedItem === dropTargets.length - 1;\n const toIndex = overflowMenuShowingRef.current\n ? -1\n : fromIndex < insertionPosition && !isLastItem\n ? insertionPosition - 1\n : insertionPosition;\n\n return { fromIndex, toIndex, isExternal };\n }, [clearSpacers]);\n\n const releaseDrag = useCallback(() => {\n clearSpacers(true);\n }, [clearSpacers]);\n\n return {\n beginDrag,\n drag,\n drop,\n handleScrollStart,\n handleScrollStop,\n releaseDrag,\n revealOverflowedItems: showOverflow,\n };\n};\n"],"names":[],"mappings":";;;;;AA2BO,MAAM,6BAA6B,CAAC;AAAA,EACzC,YAAA;AAAA,EACA,WAAc,GAAA,YAAA;AAAA,EACd,SAAY,GAAA,GAAA;AAAA,EACZ,QAAA;AAAA,EACA;AACF,CAAqD,KAAA;AACnD,EAAA,MAAM,kBAAkB,MAAqB,CAAA;AAAA,IAC3C,SAAW,EAAA,KAAA,CAAA;AAAA,IACX,iBAAmB,EAAA,CAAA;AAAA,GACpB,CAAA;AACD,EAAM,MAAA,YAAA,GAAe,OAAO,KAAK,CAAA;AAEjC,EAAM,MAAA,UAAA,GAAa,OAAe,CAAE,CAAA,CAAA;AACpC,EAAM,MAAA,mBAAA,GAAsB,MAA6B,CAAA,EAAE,CAAA;AAC3D,EAAM,MAAA,sBAAA,GAAyB,OAAO,KAAK,CAAA;AAE3C,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAI,SAAS,KAAK,CAAA;AAEtD,EAAA,MAAM,EAAE,YAAc,EAAA,YAAA,EAAc,kBAAkB,iBAAkB,EAAA,GACtE,kBAAkB,WAAW,CAAA;AAE/B,EAAM,MAAA,cAAA,GAAiB,OAA2B,KAAS,CAAA,CAAA;AAC3D,EAAA,MAAM,gBAAgB,CAAO,IAAA,EAAA,SAAS,CAAG,EAAA,cAAc,GAAG,UAAU,CAAA,yCAAA,CAAA;AAEpE,EAAM,MAAA,OAAA,GAAU,CAAC,UAAA,KACf,mBAAoB,CAAA,OAAA,CAAQ,SAAU,CAAA,CAAC,CAAM,KAAA,CAAA,CAAE,EAAO,KAAA,UAAA,CAAW,EAAE,CAAA;AAIrE,EAAM,MAAA,QAAA,GAAW,OAAsB,KAAS,CAAA,CAAA;AAChD,EAAA,QAAA,CAAS,OAAU,GAAA,aAAA;AAEnB,EAAA,MAAM,iBAAoB,GAAA,WAAA;AAAA,IACxB,CAAC,eAAmC,KAAA;AAClC,MAAA,MAAM,aAAgB,GAAA,sBAAA;AAAA,QACpB,YAAa,CAAA,OAAA;AAAA,QACb;AAAA,OACF;AACA,MAAM,MAAA,EAAE,OAAS,EAAA,WAAA,EAAgB,GAAA,cAAA;AAMjC,MAAA,IAAI,iBAAiB,WAAa,EAAA;AAChC,QAAA,iBAAA;AAAA,UACE,aAAA;AAAA,UACA,eAAA,KAAoB,QAAQ,KAAQ,GAAA,OAAA;AAAA,UACpC,WAAY,CAAA;AAAA,SACd;AAAA;AACF,KACF;AAAA,IACA,CAAC,YAAc,EAAA,SAAA,EAAW,iBAAiB;AAAA,GAC7C;AAEA,EAAA,MAAM,gBAAmB,GAAA,WAAA;AAAA,IACvB,CAAC,eAAmC,KAAA;AAClC,MAAM,MAAA,EAAE,OAAS,EAAA,SAAA,EAAc,GAAA,YAAA;AAC/B,MAAM,MAAA,EAAE,OAAS,EAAA,WAAA,EAAgB,GAAA,cAAA;AACjC,MAAM,MAAA,EAAE,OAAS,EAAA,YAAA,EAAiB,GAAA,eAAA;AAClC,MAAA,IAAI,aAAa,WAAa,EAAA;AAC5B,QAAM,MAAA,WAAA,GAAe,oBAAoB,OAAU,GAAA,kBAAA;AAAA,UACjD,SAAA;AAAA,UACA,WAAA;AAAA,UACA,aAAA;AAAA,UACA,QAAS,CAAA;AAAA,SACX;AAEA,QAAM,MAAA,oBAAA,GACJ,oBAAoB,KAAQ,GAAA,WAAA,CAAY,GAAG,CAAE,CAAA,CAAA,GAAI,WAAY,CAAA,EAAA,CAAG,CAAC,CAAA;AAEnE,QAAA,IAAI,oBAAsB,EAAA;AACxB,UAAA,MAAM,EAAE,GAAA,EAAK,GAAK,EAAA,IAAA,EAAM,OAAU,GAAA,oBAAA;AAClC,UAAA,IAAI,oBAAoB,KAAO,EAAA;AAC7B,YAAA,MAAM,iBAAoB,GAAA;AAAA,cACxB,GAAG,WAAA;AAAA,cACH,KAAO,EAAA,IAAA,CAAK,KAAM,CAAA,KAAA,GAAQ,IAAI,CAAA;AAAA,cAC9B,GAAK,EAAA,IAAA,CAAK,KAAM,CAAA,GAAA,GAAM,IAAI,CAAA;AAAA,cAC1B,GAAK,EAAA,IAAA,CAAK,KAAM,CAAA,GAAA,GAAM,IAAI;AAAA,aAC5B;AACA,YAAA,WAAA,CAAY,KAAK,iBAAiB,CAAA;AAClC,YAAa,YAAA,CAAA,iBAAA,GAAoB,qBAAqB,KAAQ,GAAA,CAAA;AAAA,WACzD,MAAA;AACL,YAAA,MAAM,iBAAoB,GAAA;AAAA,cACxB,GAAG,WAAA;AAAA,cACH,KAAO,EAAA,IAAA,CAAK,KAAM,CAAA,KAAA,GAAQ,IAAI,CAAA;AAAA,cAC9B,GAAK,EAAA,IAAA,CAAK,KAAM,CAAA,GAAA,GAAM,IAAI,CAAA;AAAA,cAC1B,GAAK,EAAA,IAAA,CAAK,KAAM,CAAA,GAAA,GAAM,IAAI;AAAA,aAC5B;AACA,YAAA,WAAA,CAAY,QAAQ,iBAAiB,CAAA;AACrC,YAAA,YAAA,CAAa,iBAAoB,GAAA,CAAA;AAAA;AACnC;AACF;AACF,KACF;AAAA,IACA,CAAC,YAAc,EAAA,aAAA,EAAe,WAAW;AAAA,GAC3C;AAEA,EAAA,MAAM,SAAY,GAAA,WAAA;AAAA,IAChB,CAAC,WAA6B,KAAA;AAC5B,MAAA;AAAA;AAAA,QAEE,YAAY,YACZ,IAAA,KAAA,CAAM,QAAQ,QAAQ,CAAA,IACtB,SAAS,MAAS,GAAA;AAAA,QAClB;AACA,QAAA,OAAA,CAAQ,IAAI,oDAAoD,CAAA;AAAA;AAElE,MAAM,MAAA,EAAE,OAAS,EAAA,SAAA,EAAc,GAAA,YAAA;AAC/B,MAAM,MAAA,EAAE,OAAS,EAAA,YAAA,EAAiB,GAAA,eAAA;AAElC,MAAA,IAAI,aAAa,WAAa,EAAA;AAC5B,QAAM,MAAA,YAAA,GAAe,SAAU,CAAA,QAAA,CAAS,WAAW,CAAA;AACnD,QAAA,MAAM,EAAE,WAAA,EAAa,WAAY,EAAA,GAAI,WAAW,WAAW,CAAA;AAC3D,QAAM,MAAA,EAAE,EAAI,EAAA,aAAA,EAAkB,GAAA,WAAA;AAC9B,QAAM,MAAA,EAAE,CAAC,WAAW,GAAG,YAAY,CAAC,WAAW,GAAG,UAAA,EAChD,GAAA,SAAA;AACF,QAAA,YAAA,CAAa,UAAU,UAAa,GAAA,UAAA;AACpC,QAAM,MAAA,WAAA,GAAe,oBAAoB,OAAU,GAAA,kBAAA;AAAA,UACjD,SAAA;AAAA,UACA,WAAA;AAAA,UACA,aAAA;AAAA,UACA,aAAA;AAAA,UACA;AAAA,SACF;AAEA,QAAA,IAAI,YAAc,EAAA;AAChB,UAAM,MAAA,kBAAA,GAAqB,sBAAsB,WAAW,CAAA;AAC5D,UAAM,MAAA,WAAA,GAAc,YAAY,kBAAkB,CAAA;AAClD,UAAA,IAAI,eAAe,SAAW,EAAA;AAC5B,YAAA,cAAA,CAAe,OAAU,GAAA,WAAA;AACzB,YAAM,MAAA,gBAAA,GAAmB,WAAY,CAAA,MAAA,GACjC,gBACA,GAAA,YAAA;AAIJ,YAAA,YAAA,CAAa,iBAAoB,GAAA,gBAAA;AAAA,cAC/B,WAAA;AAAA,cACA,WAAA;AAAA,cACA,WAAY,CAAA,IAAA;AAAA,cACZ,KAAA;AAAA,cACA;AAAA,aACF;AAAA;AACF,SACK,MAAA;AAEL,UAAA,MAAM,EAAE,GAAK,EAAA,OAAA,EAAS,QAAQ,IAAK,EAAA,GAAI,YAAY,qBAAsB,EAAA;AAEzE,UAAA,MAAM,UAAa,GAAA,iBAAA,CAAmB,WAAa,EAAA,OAAA,EAAS,MAAM,KAAK,CAAA;AACvE,UAAM,MAAA,KAAA,GAAQ,WAAY,CAAA,OAAA,CAAQ,UAAU,CAAA;AAC5C,UAAA,MAAM,EAAE,KAAA,EAAO,GAAK,EAAA,GAAA,EAAQ,GAAA,UAAA;AAK5B,UAAM,MAAA,WAAA,GAAe,eAAe,OAAU,GAAA;AAAA,YAC5C,GAAA;AAAA,YACA,GAAA;AAAA,YACA,KAAA;AAAA,YACA,aAAe,EAAA,IAAA;AAAA,YACf,UAAY,EAAA,IAAA;AAAA,YACZ;AAAA,WACF;AAEA,UAAM,MAAA,iBAAA,GAAoB,WAAY,CAAA,OAAA,CAAQ,UAAU,CAAA;AAGxD,UAAY,WAAA,CAAA,MAAA,CAAO,iBAAmB,EAAA,CAAA,EAAG,WAAW,CAAA;AACpD,UAAA,KAAA,IAAS,IAAI,KAAQ,GAAA,CAAA,EAAG,CAAI,GAAA,WAAA,CAAY,QAAQ,CAAK,EAAA,EAAA;AACnD,YAAM,MAAA,MAAA,GAAS,YAAY,CAAC,CAAA;AAC5B,YAAA,MAAA,CAAO,GAAO,IAAA,IAAA;AACd,YAAA,MAAA,CAAO,GAAO,IAAA,IAAA;AACd,YAAA,MAAA,CAAO,KAAS,IAAA,IAAA;AAAA;AAGlB,UAAM,MAAA,gBAAA,GAAmB,UAAW,CAAA,MAAA,GAChC,gBACA,GAAA,YAAA;AAEJ,UAAA,gBAAA;AAAA,YACE,WAAA;AAAA,YACA,UAAA;AAAA,YACA,UAAW,CAAA,IAAA;AAAA,YACX,IAAA;AAAA,YACA;AAAA,WACF;AAAA;AACF;AACF,KACF;AAAA,IACA;AAAA,MACE,YAAA;AAAA,MACA,YAAA;AAAA,MACA,gBAAA;AAAA,MACA,aAAA;AAAA,MACA,WAAA;AAAA,MACA,QAAA;AAAA,MACA;AAAA;AACF,GACF;AAEA,EAAA,MAAM,CAAC,SAAA,EAAW,SAAS,CAAA,GAAI,QAAQ,MAAM;AAC3C,IAAA,IAAI,YAAe,GAAA,KAAA;AACnB,IAAM,MAAA,IAAA,GAAO,CAAC,UAAmC,KAAA;AAC/C,MAAA,IAAI,CAAC,YAAc,EAAA;AACjB,QAAe,YAAA,GAAA,IAAA;AACf,QAAM,MAAA,MAAA,GAAS,WAAW,OAAQ,CAAA,aAAA;AAAA,UAChC;AAAA,SACF;AACA,QAAA,IAAI,MAAQ,EAAA;AACV,UAAA,kBAAA,CAAmB,QAAQ,OAAO,CAAA;AAAA;AACpC;AACF,KACF;AAEA,IAAM,MAAA,IAAA,GAAO,CAAC,UAAmC,KAAA;AAC/C,MAAA,IAAI,YAAc,EAAA;AAChB,QAAe,YAAA,GAAA,KAAA;AACf,QAAM,MAAA,MAAA,GAAS,WAAW,OAAQ,CAAA,aAAA;AAAA,UAChC;AAAA,SACF;AACA,QAAA,IAAI,MAAQ,EAAA;AACV,UAAA,kBAAA,CAAmB,QAAQ,OAAO,CAAA;AAAA;AACpC;AACF,KACF;AAEA,IAAO,OAAA,CAAC,MAAM,IAAI,CAAA;AAAA,GACpB,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,IAAO,GAAA,WAAA;AAAA,IACX,CAAC,SAAiB,kBAAsC,KAAA;AACtD,MAAM,MAAA,EAAE,OAAS,EAAA,WAAA,EAAgB,GAAA,cAAA;AACjC,MAAM,MAAA,EAAE,OAAS,EAAA,YAAA,EAAiB,GAAA,eAAA;AAElC,MAAA,IAAI,WAAa,EAAA;AACf,QAAA,IAAI,aAAa,OAAS,EAAA;AACxB,UAAA,UAAA,CAAW,OAAU,GAAA,OAAA;AAErB,UAAM,MAAA,EAAE,OAAS,EAAA,WAAA,EAAgB,GAAA,mBAAA;AACjC,UAAA,MAAM,cAAiB,GAAA,iBAAA;AAAA,YACrB,WAAA;AAAA,YACA,OAAA;AAAA,YACA,WAAY,CAAA,IAAA;AAAA,YACZ;AAAA,WACF;AAEA,UAAI,IAAA,cAAA,IAAkB,CAAC,cAAA,CAAe,aAAe,EAAA;AACnD,YAAA,IAAI,eAAe,mBAAqB,EAAA;AAEtC,cAAiB,eAAA,CAAA,sBAAA,CAAuB,UAAU,IAAK,CAAA;AACvD,cAAA,SAAA,CAAU,cAAc,CAAA;AAAA,aACnB,MAAA;AACL,cAAM,MAAA,EAAE,MAAS,GAAA,WAAA;AACjB,cAAM,MAAA,WAAA,GAAc,QAAQ,cAAc,CAAA;AAE1C,cAAA,MAAM,YACJ,GAAA,WAAA,KAAgB,WAAY,CAAA,MAAA,GAAS,IACjC,gBACA,GAAA,YAAA;AAEN,cAAA,YAAA,CAAa,iBAAoB,GAAA,YAAA;AAAA,gBAC/B,WAAA;AAAA,gBACA,cAAA;AAAA,gBACA,IAAA;AAAA,gBACA,IAAA;AAAA,gBACA;AAAA,eACF;AAEA,cAAA,MAAM,oBAAoB,WAAY,CAAA,EAAA;AAAA,gBACpC,CAAA;AAAA,eACF;AACA,cAAA,SAAA,CAAU,iBAAiB,CAAA;AAC3B,cAAiB,eAAA,CAAA,sBAAA,CAAuB,UAAU,KAAM,CAAA;AAAA;AAC1D;AAEF,UAAA,YAAA,CAAa,SAAY,GAAA,kBAAA;AAAA;AAC3B;AACF,KACF;AAAA,IACA,CAAC,YAAA,EAAc,YAAc,EAAA,gBAAA,EAAkB,WAAW,SAAS;AAAA,GACrE;AAEA,EAAM,MAAA,IAAA,GAAO,YAAY,MAAmB;AAC1C,IAAa,YAAA,EAAA;AACb,IAAM,MAAA,EAAE,OAAS,EAAA,WAAA,EAAgB,GAAA,mBAAA;AACjC,IAAM,MAAA,EAAE,OAAS,EAAA,YAAA,EAAiB,GAAA,eAAA;AAClC,IAAM,MAAA,kBAAA,GAAqB,sBAAsB,WAAW,CAAA;AAC5D,IAAM,MAAA,WAAA,GAAc,YAAY,kBAAkB,CAAA;AAClD,IAAM,MAAA,EAAE,mBAAsB,GAAA,YAAA;AAC9B,IAAA,MAAM,EAAE,KAAA,EAAO,SAAW,EAAA,UAAA,EAAe,GAAA,WAAA;AAEzC,IAAA,IAAI,uBAAuB,OAAS,EAAA;AAClC,MAAA,eAAA,CAAgB,KAAK,CAAA;AAAA;AAGvB,IAAA,YAAA,CAAa,SAAY,GAAA,KAAA,CAAA;AACzB,IAAA,YAAA,CAAa,iBAAoB,GAAA,CAAA,CAAA;AAEjC,IAAM,MAAA,UAAA,GAAa,kBAAuB,KAAA,WAAA,CAAY,MAAS,GAAA,CAAA;AAC/D,IAAM,MAAA,OAAA,GAAU,uBAAuB,OACnC,GAAA,CAAA,CAAA,GACA,YAAY,iBAAqB,IAAA,CAAC,UAChC,GAAA,iBAAA,GAAoB,CACpB,GAAA,iBAAA;AAEN,IAAO,OAAA,EAAE,SAAW,EAAA,OAAA,EAAS,UAAW,EAAA;AAAA,GAC1C,EAAG,CAAC,YAAY,CAAC,CAAA;AAEjB,EAAM,MAAA,WAAA,GAAc,YAAY,MAAM;AACpC,IAAA,YAAA,CAAa,IAAI,CAAA;AAAA,GACnB,EAAG,CAAC,YAAY,CAAC,CAAA;AAEjB,EAAO,OAAA;AAAA,IACL,SAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,iBAAA;AAAA,IACA,gBAAA;AAAA,IACA,WAAA;AAAA,IACA,qBAAuB,EAAA;AAAA,GACzB;AACF;;;;"}
@@ -1,25 +0,0 @@
1
- import { useMemo, useCallback } from 'react';
2
- import { createDropIndicatorPosition } from './Draggable.js';
3
-
4
- const useDropIndicator = () => {
5
- const spacer = useMemo(() => createDropIndicatorPosition(), []);
6
- const clearSpacer = useCallback(() => spacer.remove(), [spacer]);
7
- const positionDropIndicator = useCallback(
8
- (dropTarget, dropZone2 = "end") => {
9
- if (dropZone2 === "end") {
10
- dropTarget.element.after(spacer);
11
- } else {
12
- dropTarget.element.before(spacer);
13
- }
14
- return spacer;
15
- },
16
- [spacer]
17
- );
18
- return {
19
- positionDropIndicator,
20
- clearSpacer
21
- };
22
- };
23
-
24
- export { useDropIndicator };
25
- //# sourceMappingURL=useDropIndicator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDropIndicator.js","sources":["../../../../packages/vuu-ui-controls/src/drag-drop/useDropIndicator.ts"],"sourcesContent":["import { useCallback, useMemo } from \"react\";\nimport { dropZone, MeasuredDropTarget } from \"./drop-target-utils\";\nimport { createDropIndicatorPosition } from \"./Draggable\";\n\nexport const SPACER_SIZE = 0;\n\nexport type DropIndicatorHookResult = {\n positionDropIndicator: (\n dropTarget: MeasuredDropTarget,\n dropZone: dropZone\n ) => HTMLElement;\n clearSpacer: () => void;\n};\n\nexport type DropIndicatorHook = () => DropIndicatorHookResult;\n\nexport const useDropIndicator: DropIndicatorHook = () => {\n const spacer = useMemo(() => createDropIndicatorPosition(), []);\n const clearSpacer = useCallback(() => spacer.remove(), [spacer]);\n const positionDropIndicator = useCallback(\n (dropTarget: MeasuredDropTarget, dropZone: \"start\" | \"end\" = \"end\") => {\n if (dropZone === \"end\") {\n dropTarget.element.after(spacer);\n } else {\n dropTarget.element.before(spacer);\n }\n return spacer;\n },\n [spacer]\n );\n\n return {\n positionDropIndicator,\n clearSpacer,\n };\n};\n"],"names":["dropZone"],"mappings":";;;AAgBO,MAAM,mBAAsC,MAAM;AACvD,EAAA,MAAM,SAAS,OAAQ,CAAA,MAAM,2BAA4B,EAAA,EAAG,EAAE,CAAA;AAC9D,EAAM,MAAA,WAAA,GAAc,YAAY,MAAM,MAAA,CAAO,QAAU,EAAA,CAAC,MAAM,CAAC,CAAA;AAC/D,EAAA,MAAM,qBAAwB,GAAA,WAAA;AAAA,IAC5B,CAAC,UAAgCA,EAAAA,SAAAA,GAA4B,KAAU,KAAA;AACrE,MAAA,IAAIA,cAAa,KAAO,EAAA;AACtB,QAAW,UAAA,CAAA,OAAA,CAAQ,MAAM,MAAM,CAAA;AAAA,OAC1B,MAAA;AACL,QAAW,UAAA,CAAA,OAAA,CAAQ,OAAO,MAAM,CAAA;AAAA;AAElC,MAAO,OAAA,MAAA;AAAA,KACT;AAAA,IACA,CAAC,MAAM;AAAA,GACT;AAEA,EAAO,OAAA;AAAA,IACL,qBAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}