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

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/cjs/calendar/Calendar.css.js +6 -0
  2. package/cjs/calendar/Calendar.css.js.map +1 -0
  3. package/cjs/calendar/Calendar.js +93 -0
  4. package/cjs/calendar/Calendar.js.map +1 -0
  5. package/cjs/calendar/internal/CalendarCarousel.css.js +6 -0
  6. package/cjs/calendar/internal/CalendarCarousel.css.js.map +1 -0
  7. package/cjs/calendar/internal/CalendarCarousel.js +75 -0
  8. package/cjs/calendar/internal/CalendarCarousel.js.map +1 -0
  9. package/cjs/calendar/internal/CalendarContext.js +19 -0
  10. package/cjs/calendar/internal/CalendarContext.js.map +1 -0
  11. package/cjs/calendar/internal/CalendarDay.css.js +6 -0
  12. package/cjs/calendar/internal/CalendarDay.css.js.map +1 -0
  13. package/cjs/calendar/internal/CalendarDay.js +86 -0
  14. package/cjs/calendar/internal/CalendarDay.js.map +1 -0
  15. package/cjs/calendar/internal/CalendarMonth.css.js +6 -0
  16. package/cjs/calendar/internal/CalendarMonth.css.js.map +1 -0
  17. package/cjs/calendar/internal/CalendarMonth.js +71 -0
  18. package/cjs/calendar/internal/CalendarMonth.js.map +1 -0
  19. package/cjs/calendar/internal/CalendarNavigation.css.js +6 -0
  20. package/cjs/calendar/internal/CalendarNavigation.css.js.map +1 -0
  21. package/cjs/calendar/internal/CalendarNavigation.js +236 -0
  22. package/cjs/calendar/internal/CalendarNavigation.js.map +1 -0
  23. package/cjs/calendar/internal/CalendarWeekHeader.css.js +6 -0
  24. package/cjs/calendar/internal/CalendarWeekHeader.css.js.map +1 -0
  25. package/cjs/calendar/internal/CalendarWeekHeader.js +43 -0
  26. package/cjs/calendar/internal/CalendarWeekHeader.js.map +1 -0
  27. package/cjs/calendar/internal/useFocusManagement.js +66 -0
  28. package/cjs/calendar/internal/useFocusManagement.js.map +1 -0
  29. package/cjs/calendar/internal/utils.js +64 -0
  30. package/cjs/calendar/internal/utils.js.map +1 -0
  31. package/cjs/calendar/useCalendar.js +163 -0
  32. package/cjs/calendar/useCalendar.js.map +1 -0
  33. package/cjs/calendar/useCalendarDay.js +80 -0
  34. package/cjs/calendar/useCalendarDay.js.map +1 -0
  35. package/cjs/calendar/useSelection.js +248 -0
  36. package/cjs/calendar/useSelection.js.map +1 -0
  37. package/cjs/column-picker/ColumnPicker.css.js +6 -0
  38. package/cjs/column-picker/ColumnPicker.css.js.map +1 -0
  39. package/cjs/column-picker/ColumnPicker.js +128 -0
  40. package/cjs/column-picker/ColumnPicker.js.map +1 -0
  41. package/cjs/column-picker/ColumnSearch.css.js +6 -0
  42. package/cjs/column-picker/ColumnSearch.css.js.map +1 -0
  43. package/cjs/column-picker/ColumnSearch.js +82 -0
  44. package/cjs/column-picker/ColumnSearch.js.map +1 -0
  45. package/cjs/common-hooks/selectionTypes.js +18 -0
  46. package/cjs/common-hooks/selectionTypes.js.map +1 -0
  47. package/cjs/common-hooks/use-resize-observer.js +123 -0
  48. package/cjs/common-hooks/use-resize-observer.js.map +1 -0
  49. package/cjs/common-hooks/useControlled.js +58 -0
  50. package/cjs/common-hooks/useControlled.js.map +1 -0
  51. package/cjs/context-panel-provider/ContextPanelProvider.js +99 -0
  52. package/cjs/context-panel-provider/ContextPanelProvider.js.map +1 -0
  53. package/cjs/cycle-state-button/CycleStateButton.js +50 -0
  54. package/cjs/cycle-state-button/CycleStateButton.js.map +1 -0
  55. package/cjs/date-input/DateInput.css.js +6 -0
  56. package/cjs/date-input/DateInput.css.js.map +1 -0
  57. package/cjs/date-input/DateInput.js +277 -0
  58. package/cjs/date-input/DateInput.js.map +1 -0
  59. package/cjs/date-picker/DatePicker.js +169 -0
  60. package/cjs/date-picker/DatePicker.js.map +1 -0
  61. package/cjs/date-picker/DatePickerContext.js +26 -0
  62. package/cjs/date-picker/DatePickerContext.js.map +1 -0
  63. package/cjs/date-picker/DatePickerPanel.css.js +6 -0
  64. package/cjs/date-picker/DatePickerPanel.css.js.map +1 -0
  65. package/cjs/date-picker/DatePickerPanel.js +146 -0
  66. package/cjs/date-picker/DatePickerPanel.js.map +1 -0
  67. package/cjs/drag-drop/DragDropProvider.js +145 -0
  68. package/cjs/drag-drop/DragDropProvider.js.map +1 -0
  69. package/cjs/drag-drop/DragDropState.js +36 -0
  70. package/cjs/drag-drop/DragDropState.js.map +1 -0
  71. package/cjs/drag-drop/Draggable.css.js +6 -0
  72. package/cjs/drag-drop/Draggable.css.js.map +1 -0
  73. package/cjs/drag-drop/Draggable.js +90 -0
  74. package/cjs/drag-drop/Draggable.js.map +1 -0
  75. package/cjs/drag-drop/dragDropTypes.js +8 -0
  76. package/cjs/drag-drop/dragDropTypes.js.map +1 -0
  77. package/cjs/drag-drop/drop-target-utils.js +245 -0
  78. package/cjs/drag-drop/drop-target-utils.js.map +1 -0
  79. package/cjs/drag-drop/useAutoScroll.js +71 -0
  80. package/cjs/drag-drop/useAutoScroll.js.map +1 -0
  81. package/cjs/drag-drop/useDragDisplacers.js +160 -0
  82. package/cjs/drag-drop/useDragDisplacers.js.map +1 -0
  83. package/cjs/drag-drop/useDragDrop.js +504 -0
  84. package/cjs/drag-drop/useDragDrop.js.map +1 -0
  85. package/cjs/drag-drop/useDragDropCopy.js +34 -0
  86. package/cjs/drag-drop/useDragDropCopy.js.map +1 -0
  87. package/cjs/drag-drop/useDragDropIndicator.js +251 -0
  88. package/cjs/drag-drop/useDragDropIndicator.js.map +1 -0
  89. package/cjs/drag-drop/useDragDropNaturalMovement.js +265 -0
  90. package/cjs/drag-drop/useDragDropNaturalMovement.js.map +1 -0
  91. package/cjs/drag-drop/useDropIndicator.js +27 -0
  92. package/cjs/drag-drop/useDropIndicator.js.map +1 -0
  93. package/cjs/drag-drop/useGlobalDragDrop.js +89 -0
  94. package/cjs/drag-drop/useGlobalDragDrop.js.map +1 -0
  95. package/cjs/editable/useEditableText.js +211 -0
  96. package/cjs/editable/useEditableText.js.map +1 -0
  97. package/cjs/editable-label/EditableLabel.css.js +6 -0
  98. package/cjs/editable-label/EditableLabel.css.js.map +1 -0
  99. package/cjs/editable-label/EditableLabel.js +143 -0
  100. package/cjs/editable-label/EditableLabel.js.map +1 -0
  101. package/cjs/expando-input/ExpandoInput.css.js +6 -0
  102. package/cjs/expando-input/ExpandoInput.css.js.map +1 -0
  103. package/cjs/expando-input/ExpandoInput.js +53 -0
  104. package/cjs/expando-input/ExpandoInput.js.map +1 -0
  105. package/cjs/hover-overlay/HoverOverlay.js +96 -0
  106. package/cjs/hover-overlay/HoverOverlay.js.map +1 -0
  107. package/cjs/icon-button/Icon.css.js +6 -0
  108. package/cjs/icon-button/Icon.css.js.map +1 -0
  109. package/cjs/icon-button/Icon.js +37 -0
  110. package/cjs/icon-button/Icon.js.map +1 -0
  111. package/cjs/icon-button/IconButton.css.js +6 -0
  112. package/cjs/icon-button/IconButton.css.js.map +1 -0
  113. package/cjs/icon-button/IconButton.js +26 -0
  114. package/cjs/icon-button/IconButton.js.map +1 -0
  115. package/cjs/icon-button/ToggleIconButton.css.js +6 -0
  116. package/cjs/icon-button/ToggleIconButton.css.js.map +1 -0
  117. package/cjs/icon-button/ToggleIconButton.js +39 -0
  118. package/cjs/icon-button/ToggleIconButton.js.map +1 -0
  119. package/cjs/index.js +170 -0
  120. package/cjs/index.js.map +1 -0
  121. package/cjs/instrument-picker/TablePicker.css.js +6 -0
  122. package/cjs/instrument-picker/TablePicker.css.js.map +1 -0
  123. package/cjs/instrument-picker/TablePicker.js +130 -0
  124. package/cjs/instrument-picker/TablePicker.js.map +1 -0
  125. package/cjs/instrument-picker/useTablePicker.js +150 -0
  126. package/cjs/instrument-picker/useTablePicker.js.map +1 -0
  127. package/cjs/measured-container/MeasuredContainer.css.js +6 -0
  128. package/cjs/measured-container/MeasuredContainer.css.js.map +1 -0
  129. package/cjs/measured-container/MeasuredContainer.js +72 -0
  130. package/cjs/measured-container/MeasuredContainer.js.map +1 -0
  131. package/cjs/measured-container/useMeasuredContainer.js +167 -0
  132. package/cjs/measured-container/useMeasuredContainer.js.map +1 -0
  133. package/cjs/modal-provider/ModalProvider.js +143 -0
  134. package/cjs/modal-provider/ModalProvider.js.map +1 -0
  135. package/cjs/overflow-container/OverflowContainer.css.js +6 -0
  136. package/cjs/overflow-container/OverflowContainer.css.js.map +1 -0
  137. package/cjs/overflow-container/OverflowContainer.js +143 -0
  138. package/cjs/overflow-container/OverflowContainer.js.map +1 -0
  139. package/cjs/overflow-container/overflow-utils.js +286 -0
  140. package/cjs/overflow-container/overflow-utils.js.map +1 -0
  141. package/cjs/overflow-container/useOverflowContainer.js +143 -0
  142. package/cjs/overflow-container/useOverflowContainer.js.map +1 -0
  143. package/cjs/price-ticker/PriceTicker.css.js +6 -0
  144. package/cjs/price-ticker/PriceTicker.css.js.map +1 -0
  145. package/cjs/price-ticker/PriceTicker.js +50 -0
  146. package/cjs/price-ticker/PriceTicker.js.map +1 -0
  147. package/cjs/prompt/Prompt.css.js +6 -0
  148. package/cjs/prompt/Prompt.css.js.map +1 -0
  149. package/cjs/prompt/Prompt.js +142 -0
  150. package/cjs/prompt/Prompt.js.map +1 -0
  151. package/cjs/sortable-list/SortableList.js +37 -0
  152. package/cjs/sortable-list/SortableList.js.map +1 -0
  153. package/cjs/split-button/SplitButton.css.js +6 -0
  154. package/cjs/split-button/SplitButton.css.js.map +1 -0
  155. package/cjs/split-button/SplitButton.js +84 -0
  156. package/cjs/split-button/SplitButton.js.map +1 -0
  157. package/cjs/split-button/SplitStateButton.css.js +6 -0
  158. package/cjs/split-button/SplitStateButton.css.js.map +1 -0
  159. package/cjs/split-button/SplitStateButton.js +31 -0
  160. package/cjs/split-button/SplitStateButton.js.map +1 -0
  161. package/cjs/split-button/useSplitButton.js +84 -0
  162. package/cjs/split-button/useSplitButton.js.map +1 -0
  163. package/cjs/table-search/SearchCell.css.js +6 -0
  164. package/cjs/table-search/SearchCell.css.js.map +1 -0
  165. package/cjs/table-search/SearchCell.js +32 -0
  166. package/cjs/table-search/SearchCell.js.map +1 -0
  167. package/cjs/table-search/TableSearch.css.js +6 -0
  168. package/cjs/table-search/TableSearch.css.js.map +1 -0
  169. package/cjs/table-search/TableSearch.js +89 -0
  170. package/cjs/table-search/TableSearch.js.map +1 -0
  171. package/cjs/table-search/useTableSearch.js +39 -0
  172. package/cjs/table-search/useTableSearch.js.map +1 -0
  173. package/cjs/tabs-next/TabBar.css.js +6 -0
  174. package/cjs/tabs-next/TabBar.css.js.map +1 -0
  175. package/cjs/tabs-next/TabBar.js +41 -0
  176. package/cjs/tabs-next/TabBar.js.map +1 -0
  177. package/cjs/tabs-next/TabListNext.css.js +6 -0
  178. package/cjs/tabs-next/TabListNext.css.js.map +1 -0
  179. package/cjs/tabs-next/TabListNext.js +124 -0
  180. package/cjs/tabs-next/TabListNext.js.map +1 -0
  181. package/cjs/tabs-next/TabNext.css.js +6 -0
  182. package/cjs/tabs-next/TabNext.css.js.map +1 -0
  183. package/cjs/tabs-next/TabNext.js +110 -0
  184. package/cjs/tabs-next/TabNext.js.map +1 -0
  185. package/cjs/tabs-next/TabNextAction.js +35 -0
  186. package/cjs/tabs-next/TabNextAction.js.map +1 -0
  187. package/cjs/tabs-next/TabNextContext.js +23 -0
  188. package/cjs/tabs-next/TabNextContext.js.map +1 -0
  189. package/cjs/tabs-next/TabNextPanel.css.js +6 -0
  190. package/cjs/tabs-next/TabNextPanel.css.js.map +1 -0
  191. package/cjs/tabs-next/TabNextPanel.js +77 -0
  192. package/cjs/tabs-next/TabNextPanel.js.map +1 -0
  193. package/cjs/tabs-next/TabNextTrigger.css.js +6 -0
  194. package/cjs/tabs-next/TabNextTrigger.css.js.map +1 -0
  195. package/cjs/tabs-next/TabNextTrigger.js +74 -0
  196. package/cjs/tabs-next/TabNextTrigger.js.map +1 -0
  197. package/cjs/tabs-next/TabOverflowList.css.js +6 -0
  198. package/cjs/tabs-next/TabOverflowList.css.js.map +1 -0
  199. package/cjs/tabs-next/TabOverflowList.js +130 -0
  200. package/cjs/tabs-next/TabOverflowList.js.map +1 -0
  201. package/cjs/tabs-next/TabsNext.js +174 -0
  202. package/cjs/tabs-next/TabsNext.js.map +1 -0
  203. package/cjs/tabs-next/TabsNextContext.js +33 -0
  204. package/cjs/tabs-next/TabsNextContext.js.map +1 -0
  205. package/cjs/tabs-next/hooks/useCollection.js +91 -0
  206. package/cjs/tabs-next/hooks/useCollection.js.map +1 -0
  207. package/cjs/tabs-next/hooks/useFocusOutside.js +24 -0
  208. package/cjs/tabs-next/hooks/useFocusOutside.js.map +1 -0
  209. package/cjs/tabs-next/hooks/useOverflow.js +138 -0
  210. package/cjs/tabs-next/hooks/useOverflow.js.map +1 -0
  211. package/cjs/tabstrip/Tab.css.js +6 -0
  212. package/cjs/tabstrip/Tab.css.js.map +1 -0
  213. package/cjs/tabstrip/Tab.js +153 -0
  214. package/cjs/tabstrip/Tab.js.map +1 -0
  215. package/cjs/tabstrip/TabMenu.css.js +6 -0
  216. package/cjs/tabstrip/TabMenu.css.js.map +1 -0
  217. package/cjs/tabstrip/TabMenu.js +72 -0
  218. package/cjs/tabstrip/TabMenu.js.map +1 -0
  219. package/cjs/tabstrip/TabMenuOptions.js +20 -0
  220. package/cjs/tabstrip/TabMenuOptions.js.map +1 -0
  221. package/cjs/tabstrip/Tabstrip.css.js +6 -0
  222. package/cjs/tabstrip/Tabstrip.css.js.map +1 -0
  223. package/cjs/tabstrip/Tabstrip.js +160 -0
  224. package/cjs/tabstrip/Tabstrip.js.map +1 -0
  225. package/cjs/tabstrip/tabstrip-dom-utils.js +19 -0
  226. package/cjs/tabstrip/tabstrip-dom-utils.js.map +1 -0
  227. package/cjs/tabstrip/useAnimatedSelectionThumb.js +85 -0
  228. package/cjs/tabstrip/useAnimatedSelectionThumb.js.map +1 -0
  229. package/cjs/tabstrip/useKeyboardNavigation.js +247 -0
  230. package/cjs/tabstrip/useKeyboardNavigation.js.map +1 -0
  231. package/cjs/tabstrip/useSelection.js +60 -0
  232. package/cjs/tabstrip/useSelection.js.map +1 -0
  233. package/cjs/tabstrip/useTabstrip.js +233 -0
  234. package/cjs/tabstrip/useTabstrip.js.map +1 -0
  235. package/cjs/time-input/MaskedInput.js +377 -0
  236. package/cjs/time-input/MaskedInput.js.map +1 -0
  237. package/cjs/time-input/TimeInput.css.js +6 -0
  238. package/cjs/time-input/TimeInput.css.js.map +1 -0
  239. package/cjs/time-input/TimeInput.js +56 -0
  240. package/cjs/time-input/TimeInput.js.map +1 -0
  241. package/cjs/time-input/useTimeInput.js +121 -0
  242. package/cjs/time-input/useTimeInput.js.map +1 -0
  243. package/cjs/toolbar/Toolbar.css.js +6 -0
  244. package/cjs/toolbar/Toolbar.css.js.map +1 -0
  245. package/cjs/toolbar/Toolbar.js +90 -0
  246. package/cjs/toolbar/Toolbar.js.map +1 -0
  247. package/cjs/toolbar/toolbar-dom-utils.js +18 -0
  248. package/cjs/toolbar/toolbar-dom-utils.js.map +1 -0
  249. package/cjs/toolbar/useKeyboardNavigation.js +305 -0
  250. package/cjs/toolbar/useKeyboardNavigation.js.map +1 -0
  251. package/cjs/toolbar/useSelection.js +93 -0
  252. package/cjs/toolbar/useSelection.js.map +1 -0
  253. package/cjs/toolbar/useToolbar.js +100 -0
  254. package/cjs/toolbar/useToolbar.js.map +1 -0
  255. package/cjs/utils/escapeRegExp.js +9 -0
  256. package/cjs/utils/escapeRegExp.js.map +1 -0
  257. package/cjs/utils/forwardCallbackProps.js +22 -0
  258. package/cjs/utils/forwardCallbackProps.js.map +1 -0
  259. package/cjs/utils/isOverflowElement.js +8 -0
  260. package/cjs/utils/isOverflowElement.js.map +1 -0
  261. package/cjs/utils/isPlainObject.js +6 -0
  262. package/cjs/utils/isPlainObject.js.map +1 -0
  263. package/cjs/vuu-date-picker/VuuDatePicker.js +122 -0
  264. package/cjs/vuu-date-picker/VuuDatePicker.js.map +1 -0
  265. package/cjs/vuu-input/VuuInput.css.js +6 -0
  266. package/cjs/vuu-input/VuuInput.css.js.map +1 -0
  267. package/cjs/vuu-input/VuuInput.js +102 -0
  268. package/cjs/vuu-input/VuuInput.js.map +1 -0
  269. package/cjs/vuu-time-picker/VuuTimePicker.css.js +6 -0
  270. package/cjs/vuu-time-picker/VuuTimePicker.css.js.map +1 -0
  271. package/cjs/vuu-time-picker/VuuTimePicker.js +37 -0
  272. package/cjs/vuu-time-picker/VuuTimePicker.js.map +1 -0
  273. package/cjs/vuu-typeahead-input/VuuTypeaheadInput.css.js +6 -0
  274. package/cjs/vuu-typeahead-input/VuuTypeaheadInput.css.js.map +1 -0
  275. package/cjs/vuu-typeahead-input/VuuTypeaheadInput.js +80 -0
  276. package/cjs/vuu-typeahead-input/VuuTypeaheadInput.js.map +1 -0
  277. package/cjs/vuu-typeahead-input/useVuuTypeaheadInput.js +176 -0
  278. package/cjs/vuu-typeahead-input/useVuuTypeaheadInput.js.map +1 -0
  279. package/esm/calendar/Calendar.css.js +4 -0
  280. package/esm/calendar/Calendar.css.js.map +1 -0
  281. package/esm/calendar/Calendar.js +91 -0
  282. package/esm/calendar/Calendar.js.map +1 -0
  283. package/esm/calendar/internal/CalendarCarousel.css.js +4 -0
  284. package/esm/calendar/internal/CalendarCarousel.css.js.map +1 -0
  285. package/esm/calendar/internal/CalendarCarousel.js +73 -0
  286. package/esm/calendar/internal/CalendarCarousel.js.map +1 -0
  287. package/esm/calendar/internal/CalendarContext.js +16 -0
  288. package/esm/calendar/internal/CalendarContext.js.map +1 -0
  289. package/esm/calendar/internal/CalendarDay.css.js +4 -0
  290. package/esm/calendar/internal/CalendarDay.css.js.map +1 -0
  291. package/{src → esm}/calendar/internal/CalendarDay.js +53 -33
  292. package/esm/calendar/internal/CalendarDay.js.map +1 -0
  293. package/esm/calendar/internal/CalendarMonth.css.js +4 -0
  294. package/esm/calendar/internal/CalendarMonth.css.js.map +1 -0
  295. package/esm/calendar/internal/CalendarMonth.js +69 -0
  296. package/esm/calendar/internal/CalendarMonth.js.map +1 -0
  297. package/esm/calendar/internal/CalendarNavigation.css.js +4 -0
  298. package/esm/calendar/internal/CalendarNavigation.css.js.map +1 -0
  299. package/esm/calendar/internal/CalendarNavigation.js +234 -0
  300. package/esm/calendar/internal/CalendarNavigation.js.map +1 -0
  301. package/esm/calendar/internal/CalendarWeekHeader.css.js +4 -0
  302. package/esm/calendar/internal/CalendarWeekHeader.css.js.map +1 -0
  303. package/esm/calendar/internal/CalendarWeekHeader.js +41 -0
  304. package/esm/calendar/internal/CalendarWeekHeader.js.map +1 -0
  305. package/esm/calendar/internal/useFocusManagement.js +64 -0
  306. package/esm/calendar/internal/useFocusManagement.js.map +1 -0
  307. package/esm/calendar/internal/utils.js +55 -0
  308. package/esm/calendar/internal/utils.js.map +1 -0
  309. package/esm/calendar/useCalendar.js +161 -0
  310. package/esm/calendar/useCalendar.js.map +1 -0
  311. package/esm/calendar/useCalendarDay.js +78 -0
  312. package/esm/calendar/useCalendarDay.js.map +1 -0
  313. package/esm/calendar/useSelection.js +243 -0
  314. package/esm/calendar/useSelection.js.map +1 -0
  315. package/esm/column-picker/ColumnPicker.css.js +4 -0
  316. package/esm/column-picker/ColumnPicker.css.js.map +1 -0
  317. package/esm/column-picker/ColumnPicker.js +126 -0
  318. package/esm/column-picker/ColumnPicker.js.map +1 -0
  319. package/esm/column-picker/ColumnSearch.css.js +4 -0
  320. package/esm/column-picker/ColumnSearch.css.js.map +1 -0
  321. package/esm/column-picker/ColumnSearch.js +80 -0
  322. package/esm/column-picker/ColumnSearch.js.map +1 -0
  323. package/esm/common-hooks/selectionTypes.js +10 -0
  324. package/esm/common-hooks/selectionTypes.js.map +1 -0
  325. package/esm/common-hooks/use-resize-observer.js +118 -0
  326. package/esm/common-hooks/use-resize-observer.js.map +1 -0
  327. package/esm/common-hooks/useControlled.js +56 -0
  328. package/esm/common-hooks/useControlled.js.map +1 -0
  329. package/esm/context-panel-provider/ContextPanelProvider.js +94 -0
  330. package/esm/context-panel-provider/ContextPanelProvider.js.map +1 -0
  331. package/esm/cycle-state-button/CycleStateButton.js +48 -0
  332. package/esm/cycle-state-button/CycleStateButton.js.map +1 -0
  333. package/esm/date-input/DateInput.css.js +4 -0
  334. package/esm/date-input/DateInput.css.js.map +1 -0
  335. package/esm/date-input/DateInput.js +275 -0
  336. package/esm/date-input/DateInput.js.map +1 -0
  337. package/esm/date-picker/DatePicker.js +167 -0
  338. package/esm/date-picker/DatePicker.js.map +1 -0
  339. package/esm/date-picker/DatePickerContext.js +23 -0
  340. package/esm/date-picker/DatePickerContext.js.map +1 -0
  341. package/esm/date-picker/DatePickerPanel.css.js +4 -0
  342. package/esm/date-picker/DatePickerPanel.css.js.map +1 -0
  343. package/esm/date-picker/DatePickerPanel.js +144 -0
  344. package/esm/date-picker/DatePickerPanel.js.map +1 -0
  345. package/esm/drag-drop/DragDropProvider.js +142 -0
  346. package/esm/drag-drop/DragDropProvider.js.map +1 -0
  347. package/esm/drag-drop/DragDropState.js +34 -0
  348. package/esm/drag-drop/DragDropState.js.map +1 -0
  349. package/esm/drag-drop/Draggable.css.js +4 -0
  350. package/esm/drag-drop/Draggable.css.js.map +1 -0
  351. package/esm/drag-drop/Draggable.js +85 -0
  352. package/esm/drag-drop/Draggable.js.map +1 -0
  353. package/{src → esm}/drag-drop/dragDropTypes.js +2 -0
  354. package/esm/drag-drop/dragDropTypes.js.map +1 -0
  355. package/esm/drag-drop/drop-target-utils.js +228 -0
  356. package/esm/drag-drop/drop-target-utils.js.map +1 -0
  357. package/esm/drag-drop/useAutoScroll.js +69 -0
  358. package/esm/drag-drop/useAutoScroll.js.map +1 -0
  359. package/esm/drag-drop/useDragDisplacers.js +158 -0
  360. package/esm/drag-drop/useDragDisplacers.js.map +1 -0
  361. package/esm/drag-drop/useDragDrop.js +502 -0
  362. package/esm/drag-drop/useDragDrop.js.map +1 -0
  363. package/esm/drag-drop/useDragDropCopy.js +31 -0
  364. package/esm/drag-drop/useDragDropCopy.js.map +1 -0
  365. package/esm/drag-drop/useDragDropIndicator.js +249 -0
  366. package/esm/drag-drop/useDragDropIndicator.js.map +1 -0
  367. package/esm/drag-drop/useDragDropNaturalMovement.js +263 -0
  368. package/esm/drag-drop/useDragDropNaturalMovement.js.map +1 -0
  369. package/esm/drag-drop/useDropIndicator.js +25 -0
  370. package/esm/drag-drop/useDropIndicator.js.map +1 -0
  371. package/esm/drag-drop/useGlobalDragDrop.js +87 -0
  372. package/esm/drag-drop/useGlobalDragDrop.js.map +1 -0
  373. package/esm/editable/useEditableText.js +209 -0
  374. package/esm/editable/useEditableText.js.map +1 -0
  375. package/esm/editable-label/EditableLabel.css.js +4 -0
  376. package/esm/editable-label/EditableLabel.css.js.map +1 -0
  377. package/esm/editable-label/EditableLabel.js +140 -0
  378. package/esm/editable-label/EditableLabel.js.map +1 -0
  379. package/esm/expando-input/ExpandoInput.css.js +4 -0
  380. package/esm/expando-input/ExpandoInput.css.js.map +1 -0
  381. package/esm/expando-input/ExpandoInput.js +51 -0
  382. package/esm/expando-input/ExpandoInput.js.map +1 -0
  383. package/esm/hover-overlay/HoverOverlay.js +94 -0
  384. package/esm/hover-overlay/HoverOverlay.js.map +1 -0
  385. package/esm/icon-button/Icon.css.js +4 -0
  386. package/esm/icon-button/Icon.css.js.map +1 -0
  387. package/esm/icon-button/Icon.js +35 -0
  388. package/esm/icon-button/Icon.js.map +1 -0
  389. package/esm/icon-button/IconButton.css.js +4 -0
  390. package/esm/icon-button/IconButton.css.js.map +1 -0
  391. package/esm/icon-button/IconButton.js +24 -0
  392. package/esm/icon-button/IconButton.js.map +1 -0
  393. package/esm/icon-button/ToggleIconButton.css.js +4 -0
  394. package/esm/icon-button/ToggleIconButton.css.js.map +1 -0
  395. package/esm/icon-button/ToggleIconButton.js +37 -0
  396. package/esm/icon-button/ToggleIconButton.js.map +1 -0
  397. package/esm/index.js +59 -0
  398. package/esm/index.js.map +1 -0
  399. package/esm/instrument-picker/TablePicker.css.js +4 -0
  400. package/esm/instrument-picker/TablePicker.css.js.map +1 -0
  401. package/esm/instrument-picker/TablePicker.js +128 -0
  402. package/esm/instrument-picker/TablePicker.js.map +1 -0
  403. package/esm/instrument-picker/useTablePicker.js +148 -0
  404. package/esm/instrument-picker/useTablePicker.js.map +1 -0
  405. package/esm/measured-container/MeasuredContainer.css.js +4 -0
  406. package/esm/measured-container/MeasuredContainer.css.js.map +1 -0
  407. package/esm/measured-container/MeasuredContainer.js +70 -0
  408. package/esm/measured-container/MeasuredContainer.js.map +1 -0
  409. package/esm/measured-container/useMeasuredContainer.js +164 -0
  410. package/esm/measured-container/useMeasuredContainer.js.map +1 -0
  411. package/esm/modal-provider/ModalProvider.js +140 -0
  412. package/esm/modal-provider/ModalProvider.js.map +1 -0
  413. package/esm/overflow-container/OverflowContainer.css.js +4 -0
  414. package/esm/overflow-container/OverflowContainer.css.js.map +1 -0
  415. package/esm/overflow-container/OverflowContainer.js +141 -0
  416. package/esm/overflow-container/OverflowContainer.js.map +1 -0
  417. package/esm/overflow-container/overflow-utils.js +272 -0
  418. package/esm/overflow-container/overflow-utils.js.map +1 -0
  419. package/esm/overflow-container/useOverflowContainer.js +141 -0
  420. package/esm/overflow-container/useOverflowContainer.js.map +1 -0
  421. package/esm/price-ticker/PriceTicker.css.js +4 -0
  422. package/esm/price-ticker/PriceTicker.css.js.map +1 -0
  423. package/esm/price-ticker/PriceTicker.js +48 -0
  424. package/esm/price-ticker/PriceTicker.js.map +1 -0
  425. package/esm/prompt/Prompt.css.js +4 -0
  426. package/esm/prompt/Prompt.css.js.map +1 -0
  427. package/esm/prompt/Prompt.js +140 -0
  428. package/esm/prompt/Prompt.js.map +1 -0
  429. package/esm/sortable-list/SortableList.js +34 -0
  430. package/esm/sortable-list/SortableList.js.map +1 -0
  431. package/esm/split-button/SplitButton.css.js +4 -0
  432. package/esm/split-button/SplitButton.css.js.map +1 -0
  433. package/esm/split-button/SplitButton.js +82 -0
  434. package/esm/split-button/SplitButton.js.map +1 -0
  435. package/esm/split-button/SplitStateButton.css.js +4 -0
  436. package/esm/split-button/SplitStateButton.css.js.map +1 -0
  437. package/esm/split-button/SplitStateButton.js +29 -0
  438. package/esm/split-button/SplitStateButton.js.map +1 -0
  439. package/esm/split-button/useSplitButton.js +82 -0
  440. package/esm/split-button/useSplitButton.js.map +1 -0
  441. package/esm/table-search/SearchCell.css.js +4 -0
  442. package/esm/table-search/SearchCell.css.js.map +1 -0
  443. package/esm/table-search/SearchCell.js +30 -0
  444. package/esm/table-search/SearchCell.js.map +1 -0
  445. package/esm/table-search/TableSearch.css.js +4 -0
  446. package/esm/table-search/TableSearch.css.js.map +1 -0
  447. package/esm/table-search/TableSearch.js +87 -0
  448. package/esm/table-search/TableSearch.js.map +1 -0
  449. package/esm/table-search/useTableSearch.js +37 -0
  450. package/esm/table-search/useTableSearch.js.map +1 -0
  451. package/esm/tabs-next/TabBar.css.js +4 -0
  452. package/esm/tabs-next/TabBar.css.js.map +1 -0
  453. package/esm/tabs-next/TabBar.js +39 -0
  454. package/esm/tabs-next/TabBar.js.map +1 -0
  455. package/esm/tabs-next/TabListNext.css.js +4 -0
  456. package/esm/tabs-next/TabListNext.css.js.map +1 -0
  457. package/esm/tabs-next/TabListNext.js +122 -0
  458. package/esm/tabs-next/TabListNext.js.map +1 -0
  459. package/esm/tabs-next/TabNext.css.js +4 -0
  460. package/esm/tabs-next/TabNext.css.js.map +1 -0
  461. package/esm/tabs-next/TabNext.js +108 -0
  462. package/esm/tabs-next/TabNext.js.map +1 -0
  463. package/esm/tabs-next/TabNextAction.js +33 -0
  464. package/esm/tabs-next/TabNextAction.js.map +1 -0
  465. package/esm/tabs-next/TabNextContext.js +20 -0
  466. package/esm/tabs-next/TabNextContext.js.map +1 -0
  467. package/esm/tabs-next/TabNextPanel.css.js +4 -0
  468. package/esm/tabs-next/TabNextPanel.css.js.map +1 -0
  469. package/esm/tabs-next/TabNextPanel.js +75 -0
  470. package/esm/tabs-next/TabNextPanel.js.map +1 -0
  471. package/esm/tabs-next/TabNextTrigger.css.js +4 -0
  472. package/esm/tabs-next/TabNextTrigger.css.js.map +1 -0
  473. package/esm/tabs-next/TabNextTrigger.js +72 -0
  474. package/esm/tabs-next/TabNextTrigger.js.map +1 -0
  475. package/esm/tabs-next/TabOverflowList.css.js +4 -0
  476. package/esm/tabs-next/TabOverflowList.css.js.map +1 -0
  477. package/esm/tabs-next/TabOverflowList.js +128 -0
  478. package/esm/tabs-next/TabOverflowList.js.map +1 -0
  479. package/esm/tabs-next/TabsNext.js +172 -0
  480. package/esm/tabs-next/TabsNext.js.map +1 -0
  481. package/esm/tabs-next/TabsNextContext.js +30 -0
  482. package/esm/tabs-next/TabsNextContext.js.map +1 -0
  483. package/esm/tabs-next/hooks/useCollection.js +89 -0
  484. package/esm/tabs-next/hooks/useCollection.js.map +1 -0
  485. package/esm/tabs-next/hooks/useFocusOutside.js +22 -0
  486. package/esm/tabs-next/hooks/useFocusOutside.js.map +1 -0
  487. package/esm/tabs-next/hooks/useOverflow.js +136 -0
  488. package/esm/tabs-next/hooks/useOverflow.js.map +1 -0
  489. package/esm/tabstrip/Tab.css.js +4 -0
  490. package/esm/tabstrip/Tab.css.js.map +1 -0
  491. package/esm/tabstrip/Tab.js +151 -0
  492. package/esm/tabstrip/Tab.js.map +1 -0
  493. package/esm/tabstrip/TabMenu.css.js +4 -0
  494. package/esm/tabstrip/TabMenu.css.js.map +1 -0
  495. package/esm/tabstrip/TabMenu.js +70 -0
  496. package/esm/tabstrip/TabMenu.js.map +1 -0
  497. package/esm/tabstrip/TabMenuOptions.js +16 -0
  498. package/esm/tabstrip/TabMenuOptions.js.map +1 -0
  499. package/esm/tabstrip/Tabstrip.css.js +4 -0
  500. package/esm/tabstrip/Tabstrip.css.js.map +1 -0
  501. package/esm/tabstrip/Tabstrip.js +158 -0
  502. package/esm/tabstrip/Tabstrip.js.map +1 -0
  503. package/esm/tabstrip/tabstrip-dom-utils.js +16 -0
  504. package/esm/tabstrip/tabstrip-dom-utils.js.map +1 -0
  505. package/esm/tabstrip/useAnimatedSelectionThumb.js +83 -0
  506. package/esm/tabstrip/useAnimatedSelectionThumb.js.map +1 -0
  507. package/esm/tabstrip/useKeyboardNavigation.js +245 -0
  508. package/esm/tabstrip/useKeyboardNavigation.js.map +1 -0
  509. package/esm/tabstrip/useSelection.js +58 -0
  510. package/esm/tabstrip/useSelection.js.map +1 -0
  511. package/esm/tabstrip/useTabstrip.js +231 -0
  512. package/esm/tabstrip/useTabstrip.js.map +1 -0
  513. package/esm/time-input/MaskedInput.js +375 -0
  514. package/esm/time-input/MaskedInput.js.map +1 -0
  515. package/esm/time-input/TimeInput.css.js +4 -0
  516. package/esm/time-input/TimeInput.css.js.map +1 -0
  517. package/esm/time-input/TimeInput.js +54 -0
  518. package/esm/time-input/TimeInput.js.map +1 -0
  519. package/esm/time-input/useTimeInput.js +119 -0
  520. package/esm/time-input/useTimeInput.js.map +1 -0
  521. package/esm/toolbar/Toolbar.css.js +4 -0
  522. package/esm/toolbar/Toolbar.css.js.map +1 -0
  523. package/esm/toolbar/Toolbar.js +88 -0
  524. package/esm/toolbar/Toolbar.js.map +1 -0
  525. package/esm/toolbar/toolbar-dom-utils.js +15 -0
  526. package/esm/toolbar/toolbar-dom-utils.js.map +1 -0
  527. package/esm/toolbar/useKeyboardNavigation.js +303 -0
  528. package/esm/toolbar/useKeyboardNavigation.js.map +1 -0
  529. package/esm/toolbar/useSelection.js +91 -0
  530. package/esm/toolbar/useSelection.js.map +1 -0
  531. package/esm/toolbar/useToolbar.js +98 -0
  532. package/esm/toolbar/useToolbar.js.map +1 -0
  533. package/{src → esm}/utils/escapeRegExp.js +3 -1
  534. package/esm/utils/escapeRegExp.js.map +1 -0
  535. package/esm/utils/forwardCallbackProps.js +20 -0
  536. package/esm/utils/forwardCallbackProps.js.map +1 -0
  537. package/esm/utils/isOverflowElement.js +6 -0
  538. package/esm/utils/isOverflowElement.js.map +1 -0
  539. package/esm/utils/isPlainObject.js +4 -0
  540. package/esm/utils/isPlainObject.js.map +1 -0
  541. package/esm/vuu-date-picker/VuuDatePicker.js +120 -0
  542. package/esm/vuu-date-picker/VuuDatePicker.js.map +1 -0
  543. package/esm/vuu-input/VuuInput.css.js +4 -0
  544. package/esm/vuu-input/VuuInput.css.js.map +1 -0
  545. package/esm/vuu-input/VuuInput.js +100 -0
  546. package/esm/vuu-input/VuuInput.js.map +1 -0
  547. package/esm/vuu-time-picker/VuuTimePicker.css.js +4 -0
  548. package/esm/vuu-time-picker/VuuTimePicker.css.js.map +1 -0
  549. package/esm/vuu-time-picker/VuuTimePicker.js +35 -0
  550. package/esm/vuu-time-picker/VuuTimePicker.js.map +1 -0
  551. package/esm/vuu-typeahead-input/VuuTypeaheadInput.css.js +4 -0
  552. package/esm/vuu-typeahead-input/VuuTypeaheadInput.css.js.map +1 -0
  553. package/esm/vuu-typeahead-input/VuuTypeaheadInput.js +78 -0
  554. package/esm/vuu-typeahead-input/VuuTypeaheadInput.js.map +1 -0
  555. package/esm/vuu-typeahead-input/useVuuTypeaheadInput.js +174 -0
  556. package/esm/vuu-typeahead-input/useVuuTypeaheadInput.js.map +1 -0
  557. package/package.json +17 -14
  558. package/types/calendar/useCalendar.d.ts +3 -3
  559. package/types/calendar/useSelection.d.ts +1 -1
  560. package/types/date-input/DateInput.d.ts +1 -1
  561. package/types/date-picker/DatePicker.d.ts +1 -1
  562. package/types/date-picker/DatePickerContext.d.ts +2 -2
  563. package/types/date-picker/DatePickerPanel.d.ts +1 -1
  564. package/types/instrument-picker/useTablePicker.d.ts +4 -4
  565. package/types/split-button/useSplitButton.d.ts +120 -120
  566. package/types/tabs-next/hooks/useOverflow.d.ts +1 -1
  567. package/types/tabstrip/Tab.d.ts +1 -1
  568. package/types/tabstrip/useTabstrip.d.ts +1 -1
  569. package/types/toolbar/useToolbar.d.ts +1 -1
  570. package/src/calendar/Calendar.css.js +0 -10
  571. package/src/calendar/Calendar.js +0 -70
  572. package/src/calendar/index.js +0 -4
  573. package/src/calendar/internal/CalendarCarousel.css.js +0 -19
  574. package/src/calendar/internal/CalendarCarousel.js +0 -73
  575. package/src/calendar/internal/CalendarContext.js +0 -9
  576. package/src/calendar/internal/CalendarDay.css.js +0 -116
  577. package/src/calendar/internal/CalendarMonth.css.js +0 -13
  578. package/src/calendar/internal/CalendarMonth.js +0 -43
  579. package/src/calendar/internal/CalendarNavigation.css.js +0 -24
  580. package/src/calendar/internal/CalendarNavigation.js +0 -185
  581. package/src/calendar/internal/CalendarWeekHeader.css.js +0 -23
  582. package/src/calendar/internal/CalendarWeekHeader.js +0 -31
  583. package/src/calendar/internal/useFocusManagement.js +0 -66
  584. package/src/calendar/internal/utils.js +0 -57
  585. package/src/calendar/useCalendar.js +0 -116
  586. package/src/calendar/useCalendarDay.js +0 -74
  587. package/src/calendar/useSelection.js +0 -202
  588. package/src/column-picker/ColumnPicker.css.js +0 -8
  589. package/src/column-picker/ColumnPicker.js +0 -108
  590. package/src/column-picker/ColumnSearch.css.js +0 -61
  591. package/src/column-picker/ColumnSearch.js +0 -66
  592. package/src/column-picker/index.js +0 -2
  593. package/src/column-picker/moving-window.js +0 -49
  594. package/src/common-hooks/index.js +0 -3
  595. package/src/common-hooks/selectionTypes.js +0 -8
  596. package/src/common-hooks/use-resize-observer.js +0 -122
  597. package/src/common-hooks/useControlled.js +0 -45
  598. package/src/context-panel-provider/ContextPanelProvider.js +0 -80
  599. package/src/cycle-state-button/CycleStateButton.js +0 -30
  600. package/src/cycle-state-button/index.js +0 -1
  601. package/src/date-input/DateInput.css.js +0 -195
  602. package/src/date-input/DateInput.js +0 -210
  603. package/src/date-input/index.js +0 -1
  604. package/src/date-picker/DatePicker.js +0 -137
  605. package/src/date-picker/DatePickerContext.js +0 -20
  606. package/src/date-picker/DatePickerPanel.css.js +0 -25
  607. package/src/date-picker/DatePickerPanel.js +0 -124
  608. package/src/date-picker/index.js +0 -1
  609. package/src/drag-drop/DragDropProvider.js +0 -123
  610. package/src/drag-drop/DragDropState.js +0 -25
  611. package/src/drag-drop/Draggable.css.js +0 -57
  612. package/src/drag-drop/Draggable.js +0 -77
  613. package/src/drag-drop/DropIndicator.css.js +0 -11
  614. package/src/drag-drop/DropIndicator.js +0 -28
  615. package/src/drag-drop/drop-target-utils.js +0 -199
  616. package/src/drag-drop/index.js +0 -6
  617. package/src/drag-drop/useAutoScroll.js +0 -53
  618. package/src/drag-drop/useDragDisplacers.js +0 -126
  619. package/src/drag-drop/useDragDrop.js +0 -435
  620. package/src/drag-drop/useDragDropCopy.js +0 -22
  621. package/src/drag-drop/useDragDropIndicator.js +0 -182
  622. package/src/drag-drop/useDragDropNaturalMovement.js +0 -205
  623. package/src/drag-drop/useDropIndicator.js +0 -21
  624. package/src/drag-drop/useGlobalDragDrop.js +0 -67
  625. package/src/drag-drop/useTransition.js +0 -11
  626. package/src/editable/index.js +0 -1
  627. package/src/editable/useEditableText.js +0 -199
  628. package/src/editable-label/EditableLabel.css.js +0 -81
  629. package/src/editable-label/EditableLabel.js +0 -125
  630. package/src/editable-label/index.js +0 -1
  631. package/src/expando-input/ExpandoInput.css.js +0 -67
  632. package/src/expando-input/ExpandoInput.js +0 -40
  633. package/src/expando-input/index.js +0 -1
  634. package/src/highlighter/Highlighter.css.js +0 -8
  635. package/src/highlighter/Highlighter.js +0 -27
  636. package/src/highlighter/index.js +0 -1
  637. package/src/hover-overlay/HoverOverlay.js +0 -92
  638. package/src/icon-button/Icon.css.js +0 -8
  639. package/src/icon-button/Icon.js +0 -26
  640. package/src/icon-button/IconButton.css.js +0 -10
  641. package/src/icon-button/IconButton.js +0 -28
  642. package/src/icon-button/ToggleIconButton.css.js +0 -47
  643. package/src/icon-button/ToggleIconButton.js +0 -26
  644. package/src/icon-button/index.js +0 -3
  645. package/src/index.js +0 -31
  646. package/src/instrument-picker/SearchCell.css.js +0 -17
  647. package/src/instrument-picker/SearchCell.js +0 -29
  648. package/src/instrument-picker/TablePicker.css.js +0 -23
  649. package/src/instrument-picker/TablePicker.js +0 -89
  650. package/src/instrument-picker/index.js +0 -1
  651. package/src/instrument-picker/moving-window.js +0 -49
  652. package/src/instrument-picker/useDataSource.js +0 -38
  653. package/src/instrument-picker/useTablePicker.js +0 -136
  654. package/src/measured-container/MeasuredContainer.css.js +0 -11
  655. package/src/measured-container/MeasuredContainer.js +0 -50
  656. package/src/measured-container/index.js +0 -2
  657. package/src/measured-container/useMeasuredContainer.js +0 -156
  658. package/src/modal-provider/ModalProvider.js +0 -147
  659. package/src/overflow-container/OverflowContainer.css.js +0 -135
  660. package/src/overflow-container/OverflowContainer.js +0 -87
  661. package/src/overflow-container/index.js +0 -2
  662. package/src/overflow-container/overflow-utils.js +0 -211
  663. package/src/overflow-container/useOverflowContainer.js +0 -108
  664. package/src/price-ticker/PriceTicker.css.js +0 -32
  665. package/src/price-ticker/PriceTicker.js +0 -51
  666. package/src/price-ticker/index.js +0 -1
  667. package/src/prompt/Prompt.css.js +0 -48
  668. package/src/prompt/Prompt.js +0 -112
  669. package/src/sortable-list/SortableList.js +0 -39
  670. package/src/split-button/SplitButton.css.js +0 -117
  671. package/src/split-button/SplitButton.js +0 -60
  672. package/src/split-button/SplitStateButton.css.js +0 -66
  673. package/src/split-button/SplitStateButton.js +0 -23
  674. package/src/split-button/index.js +0 -2
  675. package/src/split-button/useSplitButton.js +0 -61
  676. package/src/table-search/SearchCell.css.js +0 -20
  677. package/src/table-search/SearchCell.js +0 -26
  678. package/src/table-search/TableSearch.css.js +0 -27
  679. package/src/table-search/TableSearch.js +0 -81
  680. package/src/table-search/index.js +0 -1
  681. package/src/table-search/moving-window.js +0 -49
  682. package/src/table-search/useTableSearch.js +0 -30
  683. package/src/tabs-next/TabBar.css.js +0 -26
  684. package/src/tabs-next/TabBar.js +0 -27
  685. package/src/tabs-next/TabListNext.css.js +0 -36
  686. package/src/tabs-next/TabListNext.js +0 -94
  687. package/src/tabs-next/TabNext.css.js +0 -76
  688. package/src/tabs-next/TabNext.js +0 -91
  689. package/src/tabs-next/TabNextAction.js +0 -26
  690. package/src/tabs-next/TabNextContext.js +0 -14
  691. package/src/tabs-next/TabNextPanel.css.js +0 -17
  692. package/src/tabs-next/TabNextPanel.js +0 -69
  693. package/src/tabs-next/TabNextTrigger.css.js +0 -22
  694. package/src/tabs-next/TabNextTrigger.js +0 -66
  695. package/src/tabs-next/TabOverflowList.css.js +0 -77
  696. package/src/tabs-next/TabOverflowList.js +0 -115
  697. package/src/tabs-next/TabsNext.js +0 -149
  698. package/src/tabs-next/TabsNextContext.js +0 -28
  699. package/src/tabs-next/hooks/useCollection.js +0 -80
  700. package/src/tabs-next/hooks/useFocusOutside.js +0 -23
  701. package/src/tabs-next/hooks/useOverflow.js +0 -118
  702. package/src/tabs-next/index.js +0 -7
  703. package/src/tabstrip/Tab.css.js +0 -148
  704. package/src/tabstrip/Tab.js +0 -107
  705. package/src/tabstrip/TabMenu.css.js +0 -8
  706. package/src/tabstrip/TabMenu.js +0 -48
  707. package/src/tabstrip/TabMenuOptions.js +0 -14
  708. package/src/tabstrip/TabsTypes.js +0 -0
  709. package/src/tabstrip/Tabstrip.css.js +0 -121
  710. package/src/tabstrip/Tabstrip.js +0 -106
  711. package/src/tabstrip/ThemeTabstrip.css.js +0 -20
  712. package/src/tabstrip/index.js +0 -4
  713. package/src/tabstrip/tabstrip-dom-utils.js +0 -11
  714. package/src/tabstrip/useAnimatedSelectionThumb.js +0 -68
  715. package/src/tabstrip/useKeyboardNavigation.js +0 -191
  716. package/src/tabstrip/useSelection.js +0 -50
  717. package/src/tabstrip/useTabstrip.js +0 -181
  718. package/src/time-input/MaskedInput.js +0 -285
  719. package/src/time-input/TimeInput.css.js +0 -39
  720. package/src/time-input/TimeInput.js +0 -37
  721. package/src/time-input/useTimeInput.js +0 -82
  722. package/src/toolbar/Toolbar.css.js +0 -46
  723. package/src/toolbar/Toolbar.js +0 -62
  724. package/src/toolbar/index.js +0 -1
  725. package/src/toolbar/toolbar-dom-utils.js +0 -11
  726. package/src/toolbar/useKeyboardNavigation.js +0 -240
  727. package/src/toolbar/useSelection.js +0 -82
  728. package/src/toolbar/useToolbar.js +0 -73
  729. package/src/utils/deprecated-types.js +0 -0
  730. package/src/utils/forwardCallbackProps.js +0 -15
  731. package/src/utils/index.js +0 -5
  732. package/src/utils/isOverflowElement.js +0 -2
  733. package/src/utils/isPlainObject.js +0 -2
  734. package/src/vuu-date-picker/VuuDatePicker.js +0 -92
  735. package/src/vuu-date-picker/index.js +0 -1
  736. package/src/vuu-input/VuuInput.css.js +0 -13
  737. package/src/vuu-input/VuuInput.js +0 -85
  738. package/src/vuu-input/index.js +0 -1
  739. package/src/vuu-time-picker/TimeRangePicker.js +0 -0
  740. package/src/vuu-time-picker/VuuTimePicker.css.js +0 -14
  741. package/src/vuu-time-picker/VuuTimePicker.js +0 -26
  742. package/src/vuu-typeahead-input/VuuTypeaheadInput.css.js +0 -49
  743. package/src/vuu-typeahead-input/VuuTypeaheadInput.js +0 -46
  744. package/src/vuu-typeahead-input/index.js +0 -1
  745. package/src/vuu-typeahead-input/useVuuTypeaheadInput.js +0 -140
@@ -1,435 +0,0 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { dispatchCustomEvent } from "@vuu-ui/vuu-utils";
3
- import { useCallback, useEffect, useLayoutEffect, useRef, useState } from "react";
4
- import { useDragDropProvider } from "./DragDropProvider.js";
5
- import { DragDropState } from "./DragDropState.js";
6
- import { Draggable } from "./Draggable.js";
7
- import { NOT_OVERFLOWED, cloneElement, constrainRect, dimensions, getScrollableContainer, isContainerScrollable } from "./drop-target-utils.js";
8
- import { useAutoScroll } from "./useAutoScroll.js";
9
- import { NULL_DROP_OPTIONS, useDragDropCopy } from "./useDragDropCopy.js";
10
- import { useDragDropIndicator } from "./useDragDropIndicator.js";
11
- import { useDragDropNaturalMovement } from "./useDragDropNaturalMovement.js";
12
- import { isOverflowElement } from "../utils/index.js";
13
- const NULL_DRAG_DROP_RESULT = {
14
- beginDrag: ()=>void 0,
15
- drag: ()=>void 0,
16
- draggableRef: {
17
- current: null
18
- },
19
- drop: ()=>NULL_DROP_OPTIONS,
20
- isDragging: false,
21
- isScrolling: false,
22
- handleScrollStart: ()=>void 0,
23
- handleScrollStop: ()=>void 0,
24
- revealOverflowedItems: false
25
- };
26
- const UNBOUNDED = {
27
- start: 0,
28
- end: 1000,
29
- contraStart: 0,
30
- contraEnd: 1000
31
- };
32
- const noDragDrop = ()=>NULL_DRAG_DROP_RESULT;
33
- const dragThreshold = 3;
34
- const getDraggableElement = (el, query)=>el?.closest(query);
35
- const getLastElement = (container, itemQuery)=>{
36
- const fullItemQuery = `:is(${itemQuery}${NOT_OVERFLOWED},.vuuOverflowContainer-OverflowIndicator)`;
37
- const childElements = Array.from(container.querySelectorAll(fullItemQuery));
38
- const lastElement = childElements.pop();
39
- return [
40
- lastElement,
41
- isOverflowElement(lastElement)
42
- ];
43
- };
44
- const useDragDrop = ({ allowDragDrop, containerRef, draggableClassName, getDragPayload, id, itemQuery = "*", onDragStart, onDrop, onDropSettle, orientation, scrollingContainerRef, ...dragDropProps })=>{
45
- const dragBoundaries = useRef({
46
- start: 0,
47
- end: 0,
48
- contraStart: 0,
49
- contraEnd: 0
50
- });
51
- const [draggableStatus, setDraggableStatus] = useState({
52
- draggable: void 0,
53
- draggedItemIndex: -1,
54
- isDragging: false
55
- });
56
- const dragDropStateRef = useRef(null);
57
- const mouseDownTimer = useRef(null);
58
- const isScrollableRef = useRef(false);
59
- const mousedownElementRef = useRef(null);
60
- const mousePosRef = useRef({
61
- x: 0,
62
- y: 0
63
- });
64
- const startPosRef = useRef({
65
- x: 0,
66
- y: 0
67
- });
68
- const settlingItemRef = useRef(null);
69
- const scrollableContainerRef = useRef(null);
70
- const dropPosRef = useRef(-1);
71
- const dropIndexRef = useRef(-1);
72
- const handleScrollStopRef = useRef(void 0);
73
- const { isDragSource, isDropTarget, onDragOut, onEndOfDragOperation, register } = useDragDropProvider(id);
74
- const dragMouseMoveHandlerRef = useRef(void 0);
75
- const dragMouseUpHandlerRef = useRef(void 0);
76
- const attachDragHandlers = useCallback(()=>{
77
- const { current: dragMove } = dragMouseMoveHandlerRef;
78
- const { current: dragUp } = dragMouseUpHandlerRef;
79
- if (dragMove && dragUp) {
80
- document.addEventListener("mousemove", dragMove, false);
81
- document.addEventListener("mouseup", dragUp, false);
82
- }
83
- }, []);
84
- const removeDragHandlers = useCallback(()=>{
85
- const { current: dragMove } = dragMouseMoveHandlerRef;
86
- const { current: dragUp } = dragMouseUpHandlerRef;
87
- if (dragMove && dragUp) {
88
- document.removeEventListener("mousemove", dragMove, false);
89
- document.removeEventListener("mouseup", dragUp, false);
90
- }
91
- }, []);
92
- const setDragBoundaries = useCallback((containerRect, draggableRect)=>{
93
- const { current: container } = containerRef;
94
- if (container) {
95
- const [lastElement, lastItemIsOverflowIndicator] = getLastElement(container, itemQuery);
96
- const { CONTRA, CONTRA_END, DIMENSION, END, START } = dimensions(orientation);
97
- const draggableSize = draggableRect[DIMENSION];
98
- const { [START]: lastItemStart, [END]: lastItemEnd } = lastElement.getBoundingClientRect();
99
- dragBoundaries.current.start = containerRect[START];
100
- dragBoundaries.current.end = lastItemIsOverflowIndicator ? Math.max(lastItemStart, containerRect.right - draggableSize) : isScrollableRef.current ? containerRect[START] + containerRect[DIMENSION] - draggableSize : lastItemEnd - draggableSize;
101
- dragBoundaries.current.contraStart = containerRect[CONTRA];
102
- dragBoundaries.current.contraEnd = containerRect[CONTRA_END];
103
- }
104
- }, [
105
- containerRef,
106
- itemQuery,
107
- orientation
108
- ]);
109
- const terminateDrag = useCallback(()=>{
110
- const { current: settlingItem } = settlingItemRef;
111
- settlingItemRef.current = null;
112
- const { current: toIndex } = dropIndexRef;
113
- const droppedItem = containerRef.current?.querySelector(`${itemQuery}[data-index="${toIndex}"]`);
114
- if (droppedItem) droppedItem.classList.remove("vuuDropTarget-settling");
115
- dropIndexRef.current = -1;
116
- onDropSettle?.(toIndex);
117
- setDraggableStatus((status)=>({
118
- ...status,
119
- draggable: void 0
120
- }));
121
- if (settlingItem) dispatchCustomEvent(settlingItem, "vuu-dropped");
122
- }, [
123
- containerRef,
124
- itemQuery,
125
- onDropSettle
126
- ]);
127
- const getScrollDirection = useCallback((mousePos)=>{
128
- if (scrollableContainerRef.current && dragDropStateRef.current) {
129
- const { mouseOffset } = dragDropStateRef.current;
130
- const { POS, SCROLL_POS, SCROLL_SIZE, CLIENT_SIZE } = dimensions(orientation);
131
- const { [SCROLL_POS]: scrollPos, [SCROLL_SIZE]: scrollSize, [CLIENT_SIZE]: clientSize } = scrollableContainerRef.current;
132
- const maxScroll = scrollSize - clientSize;
133
- const canScrollFwd = scrollPos < maxScroll;
134
- const viewportEnd = dragBoundaries.current.end;
135
- const bwd = scrollPos > 0 && mousePos - mouseOffset[POS] <= dragBoundaries.current.start;
136
- const fwd = canScrollFwd && mousePos - mouseOffset[POS] >= viewportEnd;
137
- return bwd ? "bwd" : fwd ? "fwd" : "";
138
- }
139
- }, [
140
- scrollableContainerRef,
141
- orientation
142
- ]);
143
- const useDragDropHook = true === allowDragDrop || "natural-movement" === allowDragDrop ? useDragDropNaturalMovement : "drop-indicator" === allowDragDrop ? useDragDropIndicator : "drag-copy" === allowDragDrop ? useDragDropCopy : noDragDrop;
144
- const onScrollingStopped = useCallback((scrollDirection, scrollPos, atEnd)=>{
145
- handleScrollStopRef.current?.(scrollDirection, scrollPos, atEnd);
146
- }, []);
147
- const { isScrolling, startScrolling, stopScrolling } = useAutoScroll({
148
- containerRef: scrollableContainerRef,
149
- onScrollingStopped,
150
- orientation
151
- });
152
- const handleDrop = useCallback((options)=>{
153
- dropPosRef.current = options.toIndex;
154
- if (options.isExternal) onDrop?.({
155
- ...options,
156
- payload: dragDropStateRef.current?.payload
157
- });
158
- else onDrop?.(options);
159
- dropIndexRef.current = options.toIndex;
160
- if (id) onEndOfDragOperation?.(id);
161
- dragDropStateRef.current = null;
162
- }, [
163
- id,
164
- onDrop,
165
- onEndOfDragOperation
166
- ]);
167
- const { beginDrag, drag, drop, handleScrollStart, handleScrollStop, releaseDrag, ...dragResult } = useDragDropHook({
168
- ...dragDropProps,
169
- containerRef,
170
- isDragSource,
171
- isDropTarget,
172
- itemQuery,
173
- orientation
174
- });
175
- handleScrollStopRef.current = handleScrollStop;
176
- const dragHandedOvertoProvider = useCallback((dragDistance, clientContraPos)=>{
177
- const { CONTRA_POS } = dimensions(orientation);
178
- const lastClientContraPos = mousePosRef.current[CONTRA_POS];
179
- const dragOutDistance = isDragSource ? Math.abs(lastClientContraPos - clientContraPos) : 0;
180
- if (true === allowDragDrop && !isDragSource && !isDropTarget) return false;
181
- const handoverToProvider = false === isDropTarget || dragOutDistance - dragDistance > 5;
182
- if (dragDropStateRef.current && handoverToProvider) {
183
- if (onDragOut?.(id, dragDropStateRef.current)) {
184
- removeDragHandlers();
185
- releaseDrag?.();
186
- dragDropStateRef.current = null;
187
- }
188
- dragBoundaries.current = UNBOUNDED;
189
- return true;
190
- }
191
- }, [
192
- allowDragDrop,
193
- id,
194
- isDragSource,
195
- isDropTarget,
196
- onDragOut,
197
- orientation,
198
- releaseDrag,
199
- removeDragHandlers
200
- ]);
201
- const dragMouseMoveHandler = useCallback((evt)=>{
202
- const { CLIENT_POS, CONTRA_CLIENT_POS, POS } = dimensions(orientation);
203
- const { clientX, clientY } = evt;
204
- const { [CLIENT_POS]: clientPos, [CONTRA_CLIENT_POS]: clientContraPos } = evt;
205
- const lastClientPos = mousePosRef.current[POS];
206
- const dragDistance = Math.abs(lastClientPos - clientPos);
207
- const { current: dragDropState } = dragDropStateRef;
208
- const { current: boundary } = dragBoundaries;
209
- if (dragHandedOvertoProvider(dragDistance, clientContraPos)) return;
210
- mousePosRef.current.x = clientX;
211
- mousePosRef.current.y = clientY;
212
- if (dragDropState) {
213
- const { draggableElement, mouseOffset } = dragDropState;
214
- if (dragBoundaries.current === UNBOUNDED && draggableElement) {
215
- const dragPosX = mousePosRef.current.x - mouseOffset.x;
216
- const dragPosY = mousePosRef.current.y - mouseOffset.y;
217
- draggableElement.style.top = `${dragPosY}px`;
218
- draggableElement.style.left = `${dragPosX}px`;
219
- } else if (dragDistance > 0 && draggableElement) {
220
- const mouseMoveDirection = lastClientPos < clientPos ? "fwd" : "bwd";
221
- const scrollDirection = getScrollDirection(clientPos);
222
- const dragPos = mousePosRef.current[POS] - mouseOffset[POS];
223
- const START = "horizontal" === orientation ? "left" : "top";
224
- if (scrollDirection && isScrollableRef.current && !isScrolling.current) {
225
- handleScrollStart?.(scrollDirection);
226
- startScrolling(scrollDirection, 1);
227
- if ("fwd" === scrollDirection) draggableElement.style[START] = `${boundary.end}px`;
228
- else draggableElement.style[START] = `${boundary.start}px`;
229
- } else if (!scrollDirection && isScrolling.current) stopScrolling();
230
- if (!isScrolling.current) {
231
- const renderDragPos = Math.round(Math.max(boundary.start, Math.min(boundary.end, dragPos)));
232
- draggableElement.style[START] = `${renderDragPos}px`;
233
- drag(renderDragPos, mouseMoveDirection);
234
- }
235
- }
236
- }
237
- }, [
238
- drag,
239
- dragHandedOvertoProvider,
240
- getScrollDirection,
241
- handleScrollStart,
242
- isScrolling,
243
- orientation,
244
- startScrolling,
245
- stopScrolling
246
- ]);
247
- const dragMouseUpHandler = useCallback(()=>{
248
- removeDragHandlers();
249
- if (dragDropStateRef.current) settlingItemRef.current = dragDropStateRef.current.draggableElement;
250
- const dropOptions = drop();
251
- handleDrop(dropOptions);
252
- setDraggableStatus((status)=>({
253
- ...status,
254
- draggedItemIndex: -1,
255
- isDragging: false
256
- }));
257
- }, [
258
- drop,
259
- handleDrop,
260
- removeDragHandlers
261
- ]);
262
- dragMouseMoveHandlerRef.current = dragMouseMoveHandler;
263
- dragMouseUpHandlerRef.current = dragMouseUpHandler;
264
- const resumeDrag = useCallback((dragDropState)=>{
265
- dragDropStateRef.current = dragDropState;
266
- const { draggableElement, mouseOffset } = dragDropState;
267
- const { current: container } = containerRef;
268
- if (!container || !draggableElement) return false;
269
- {
270
- const containerRect = container.getBoundingClientRect();
271
- const draggableRect = draggableElement.getBoundingClientRect();
272
- setDragBoundaries(containerRect, draggableRect);
273
- mousePosRef.current.x = draggableRect.left + mouseOffset.x;
274
- mousePosRef.current.y = draggableRect.top + mouseOffset.y;
275
- beginDrag(draggableElement);
276
- attachDragHandlers();
277
- return true;
278
- }
279
- }, [
280
- attachDragHandlers,
281
- beginDrag,
282
- containerRef,
283
- setDragBoundaries
284
- ]);
285
- const dragStart = useCallback((mousePosition)=>{
286
- const { current: container } = containerRef;
287
- const { current: target } = mousedownElementRef;
288
- const dragElement = getDraggableElement(target, itemQuery);
289
- const scrollableContainer = scrollingContainerRef?.current ?? getScrollableContainer(container, itemQuery);
290
- if (container && scrollableContainer && dragElement) {
291
- isScrollableRef.current = isContainerScrollable(scrollableContainer, orientation);
292
- scrollableContainerRef.current = scrollableContainer;
293
- const containerRect = scrollableContainer.getBoundingClientRect();
294
- const draggableRect = dragElement.getBoundingClientRect();
295
- const dragDropState = dragDropStateRef.current = new DragDropState(mousePosition, dragElement);
296
- setDragBoundaries(containerRect, draggableRect);
297
- beginDrag(dragElement);
298
- const { dataset: { index = "-1" } } = dragElement;
299
- setDraggableStatus({
300
- isDragging: true,
301
- draggable: /*#__PURE__*/ jsx(Draggable, {
302
- element: cloneElement(dragElement),
303
- onDropped: terminateDrag,
304
- onTransitionEnd: terminateDrag,
305
- ref: dragDropState.setDraggable,
306
- style: constrainRect(draggableRect, containerRect),
307
- wrapperClassName: draggableClassName
308
- }),
309
- draggedItemIndex: parseInt(index)
310
- });
311
- onDragStart?.(dragDropState);
312
- attachDragHandlers();
313
- mousedownElementRef.current = null;
314
- }
315
- }, [
316
- attachDragHandlers,
317
- beginDrag,
318
- containerRef,
319
- draggableClassName,
320
- itemQuery,
321
- onDragStart,
322
- orientation,
323
- scrollingContainerRef,
324
- setDragBoundaries,
325
- terminateDrag
326
- ]);
327
- const preDragMouseMoveHandler = useCallback((evt)=>{
328
- const { current: mouseDownPosition } = startPosRef;
329
- const { CLIENT_POS, POS } = dimensions(orientation);
330
- const { [CLIENT_POS]: clientPos } = evt;
331
- const mouseMoveDistance = Math.abs(clientPos - mouseDownPosition[POS]);
332
- if (mouseMoveDistance > dragThreshold && containerRef.current) {
333
- if (mouseDownTimer.current) {
334
- window.clearTimeout(mouseDownTimer.current);
335
- mouseDownTimer.current = null;
336
- }
337
- document.removeEventListener("mousemove", preDragMouseMoveHandler);
338
- document.removeEventListener("mouseup", preDragMouseUpHandler, false);
339
- const mousePosition = {
340
- clientX: mouseDownPosition.x,
341
- clientY: mouseDownPosition.y
342
- };
343
- dragStart(mousePosition);
344
- }
345
- }, [
346
- containerRef,
347
- beginDrag,
348
- orientation
349
- ]);
350
- const preDragMouseUpHandler = useCallback(()=>{
351
- if (mouseDownTimer.current) {
352
- window.clearTimeout(mouseDownTimer.current);
353
- mouseDownTimer.current = null;
354
- }
355
- document.removeEventListener("mousemove", preDragMouseMoveHandler, false);
356
- document.removeEventListener("mouseup", preDragMouseUpHandler, false);
357
- }, [
358
- preDragMouseMoveHandler
359
- ]);
360
- const mouseDownHandler = useCallback((evt)=>{
361
- if (0 !== evt.button) return;
362
- const { current: container } = containerRef;
363
- evt.stopPropagation();
364
- if (container && !evt.defaultPrevented) {
365
- const { clientX, clientY } = evt;
366
- mousePosRef.current.x = startPosRef.current.x = clientX;
367
- mousePosRef.current.y = startPosRef.current.y = clientY;
368
- mousedownElementRef.current = evt.target;
369
- const mousePosition = {
370
- clientX,
371
- clientY
372
- };
373
- document.addEventListener("mousemove", preDragMouseMoveHandler, false);
374
- document.addEventListener("mouseup", preDragMouseUpHandler, false);
375
- evt.persist();
376
- mouseDownTimer.current = window.setTimeout(()=>{
377
- document.removeEventListener("mousemove", preDragMouseMoveHandler, false);
378
- document.removeEventListener("mouseup", preDragMouseUpHandler, false);
379
- dragStart(mousePosition);
380
- }, 500);
381
- }
382
- }, [
383
- containerRef,
384
- dragStart,
385
- preDragMouseMoveHandler,
386
- preDragMouseUpHandler
387
- ]);
388
- const { current: settlingItem } = settlingItemRef;
389
- useLayoutEffect(()=>{
390
- if (settlingItem && containerRef.current) {
391
- const dropPos = dropPosRef.current;
392
- const droppedItem = containerRef.current.querySelector(`${itemQuery}[data-index="${dropPos}"]`);
393
- if (droppedItem) {
394
- droppedItem.classList.add("vuuDropTarget-settling");
395
- requestAnimationFrame(()=>{
396
- const { top: targetTop, left: targetLeft } = droppedItem.getBoundingClientRect();
397
- const style = getComputedStyle(settlingItem);
398
- const currentLeft = parseInt(style.getPropertyValue("left"));
399
- const currentTop = parseInt(style.getPropertyValue("top"));
400
- if (currentLeft !== targetLeft || currentTop !== targetTop) {
401
- settlingItem.classList.add("vuuDraggable-settling");
402
- settlingItem.style.top = `${targetTop}px`;
403
- settlingItem.style.left = `${targetLeft}px`;
404
- } else terminateDrag();
405
- });
406
- } else setDraggableStatus((status)=>({
407
- ...status,
408
- draggable: void 0
409
- }));
410
- }
411
- }, [
412
- containerRef,
413
- itemQuery,
414
- settlingItem,
415
- terminateDrag
416
- ]);
417
- useEffect(()=>{
418
- if (id && (isDragSource || isDropTarget)) register(id, "drop-only" === allowDragDrop ? false : resumeDrag, onDrop);
419
- }, [
420
- allowDragDrop,
421
- id,
422
- isDragSource,
423
- isDropTarget,
424
- onDrop,
425
- register,
426
- resumeDrag
427
- ]);
428
- return {
429
- ...dragResult,
430
- ...draggableStatus,
431
- isScrolling,
432
- onMouseDown: allowDragDrop && "drop-only" !== allowDragDrop ? mouseDownHandler : void 0
433
- };
434
- };
435
- export { useDragDrop };
@@ -1,22 +0,0 @@
1
- import { useCallback, useRef } from "react";
2
- const NULL_DROP_OPTIONS = {
3
- fromIndex: -1,
4
- toIndex: -1
5
- };
6
- const useDragDropCopy = ({ selected, viewportRange })=>{
7
- const rangeRef = useRef(void 0);
8
- rangeRef.current = viewportRange;
9
- const beginDrag = useCallback((dragElement)=>{
10
- if (dragElement.ariaSelected && Array.isArray(selected) && selected.length > 1) console.log("its a selected element, and we have a multi select");
11
- }, [
12
- selected
13
- ]);
14
- const drag = useCallback(()=>void 0, []);
15
- const drop = useCallback(()=>NULL_DROP_OPTIONS, []);
16
- return {
17
- beginDrag,
18
- drag,
19
- drop
20
- };
21
- };
22
- export { NULL_DROP_OPTIONS, useDragDropCopy };
@@ -1,182 +0,0 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { useCallback, useRef, useState } from "react";
3
- import { useDropIndicator } from "./useDropIndicator.js";
4
- import { dimensions, getItemById, getNextDropTarget, measureDropTargets, removeDraggedItem } from "./drop-target-utils.js";
5
- import { Draggable, createDropIndicator } from "./Draggable.js";
6
- const NOT_OVERFLOWED = ':not([data-overflowed="true"])';
7
- const NOT_HIDDEN = ':not([aria-hidden="true"])';
8
- const useDragDropIndicator = ({ orientation = "horizontal", containerRef, itemQuery = "*", selected, viewportRange })=>{
9
- const dragDirectionRef = useRef(void 0);
10
- const dropIndicatorRef = useRef(null);
11
- const dropTargetRef = useRef(null);
12
- const dropZoneRef = useRef("");
13
- const isScrollable = useRef(false);
14
- const dragPosRef = useRef(-1);
15
- const measuredDropTargets = useRef([]);
16
- const overflowMenuShowingRef = useRef(false);
17
- const [showOverflow, setShowOverflow] = useState(false);
18
- const [dropIndicator, setDropIndicator] = useState();
19
- const { clearSpacer, positionDropIndicator } = useDropIndicator();
20
- const draggedItemRef = useRef(void 0);
21
- const fullItemQuery = `:is(${itemQuery}${NOT_OVERFLOWED}${NOT_HIDDEN},[data-overflow-indicator])`;
22
- const indexOf = (dropTarget)=>measuredDropTargets.current.findIndex((d)=>d.id === dropTarget.id);
23
- const reposition = (dropTarget, distance, indexShift)=>{
24
- dropTarget.start += distance;
25
- dropTarget.mid += distance;
26
- dropTarget.end += distance;
27
- if ("number" == typeof indexShift) dropTarget.currentIndex += indexShift;
28
- };
29
- const rangeRef = useRef(void 0);
30
- rangeRef.current = viewportRange;
31
- const handleScrollStart = useCallback(()=>{
32
- clearSpacer();
33
- }, [
34
- clearSpacer
35
- ]);
36
- const handleScrollStop = useCallback((scrollDirection, _scrollPos, atEnd)=>{
37
- const { current: container } = containerRef;
38
- const { current: draggedItem } = draggedItemRef;
39
- if (container && draggedItem) {
40
- measuredDropTargets.current = measureDropTargets(container, orientation, fullItemQuery, rangeRef.current);
41
- const { size } = draggedItem;
42
- const dragPos = dragPosRef.current;
43
- const midPos = dragPos + size / 2;
44
- const { current: dropTargets } = measuredDropTargets;
45
- const nextDropTarget = getNextDropTarget(dropTargets, midPos, size, "fwd");
46
- if (nextDropTarget) atEnd && "fwd" === scrollDirection ? positionDropIndicator(dropTargets[dropTargets.length - 1], "start") : positionDropIndicator(nextDropTarget, "start");
47
- }
48
- }, [
49
- containerRef,
50
- positionDropIndicator,
51
- fullItemQuery,
52
- orientation
53
- ]);
54
- const beginDrag = useCallback((dragElement)=>{
55
- if (dragElement.ariaSelected && Array.isArray(selected) && selected.length > 1) console.log("its a selected element, and we have a multi select");
56
- const { current: container } = containerRef;
57
- if (container && dragElement) {
58
- const { SCROLL_SIZE, CLIENT_SIZE } = dimensions(orientation);
59
- const { id: draggedItemId } = dragElement;
60
- const { [SCROLL_SIZE]: scrollSize, [CLIENT_SIZE]: clientSize } = container;
61
- isScrollable.current = scrollSize > clientSize;
62
- const dropTargets = measuredDropTargets.current = measureDropTargets(container, orientation, fullItemQuery, viewportRange);
63
- const draggedItem = getItemById(dropTargets, draggedItemId);
64
- if (draggedItem && container) {
65
- const targetIndex = indexOf(draggedItem);
66
- removeDraggedItem(dropTargets, targetIndex);
67
- draggedItemRef.current = draggedItem;
68
- const { current: range } = rangeRef;
69
- if (range?.atEnd) for(let i = 0; i < dropTargets.length; i++)reposition(dropTargets[i], draggedItem.size);
70
- for(let i = targetIndex; i < dropTargets.length; i++)reposition(dropTargets[i], -draggedItem.size, -1);
71
- const [dropTarget, dropZone] = draggedItem.isLast ? [
72
- dropTargets[dropTargets.length - 1],
73
- "end"
74
- ] : [
75
- dropTargets[targetIndex],
76
- "start"
77
- ];
78
- dropTargetRef.current = dropTarget;
79
- dropZoneRef.current = dropZone;
80
- const dropIndicatorPosition = positionDropIndicator(dropTarget, dropZone);
81
- const { top, left, width } = dropIndicatorPosition.getBoundingClientRect();
82
- const dropIndicatorRect = {
83
- top: draggedItem.isLast ? range?.atEnd && !range.atStart ? top + draggedItem.size - 2 : top - 2 : top - draggedItem.size - 2,
84
- left,
85
- width,
86
- height: 2
87
- };
88
- setDropIndicator(/*#__PURE__*/ jsx(Draggable, {
89
- wrapperClassName: "dropIndicatorContainer",
90
- style: dropIndicatorRect,
91
- ref: dropIndicatorRef,
92
- element: createDropIndicator()
93
- }));
94
- }
95
- }
96
- }, [
97
- selected,
98
- containerRef,
99
- orientation,
100
- fullItemQuery,
101
- viewportRange,
102
- positionDropIndicator
103
- ]);
104
- const drag = useCallback((dragPos, mouseMoveDirection)=>{
105
- const { current: currentDropTarget } = dropTargetRef;
106
- const { current: draggedItem } = draggedItemRef;
107
- if (draggedItem) {
108
- if (containerRef.current) {
109
- const START = "horizontal" === orientation ? "left" : "top";
110
- dragPosRef.current = dragPos;
111
- const { current: dropTargets } = measuredDropTargets;
112
- const nextDropTarget = getNextDropTarget(dropTargets, dragPos, draggedItem.size, mouseMoveDirection);
113
- if (nextDropTarget && nextDropTarget.index !== currentDropTarget?.index) {
114
- if (nextDropTarget.isOverflowIndicator) setShowOverflow(overflowMenuShowingRef.current = true);
115
- else if (dropIndicatorRef.current) {
116
- const targetIndex = indexOf(nextDropTarget);
117
- if (targetIndex === dropTargets.length - 1) {
118
- const dropTarget = dropTargets[dropTargets.length - 1];
119
- const dropIndicatorPosition = positionDropIndicator(dropTarget, "start");
120
- const dropIndicatorRect = dropIndicatorPosition.getBoundingClientRect();
121
- dropIndicatorRef.current.style[START] = `${dropIndicatorRect.top}px`;
122
- } else {
123
- const dropIndicatorPosition = positionDropIndicator(nextDropTarget, "start");
124
- const dropIndicatorRect = dropIndicatorPosition.getBoundingClientRect();
125
- dropIndicatorRef.current.style[START] = `${dropIndicatorRect.top}px`;
126
- }
127
- setShowOverflow(overflowMenuShowingRef.current = false);
128
- }
129
- dropTargetRef.current = nextDropTarget;
130
- dragDirectionRef.current = mouseMoveDirection;
131
- }
132
- }
133
- }
134
- }, [
135
- containerRef,
136
- orientation,
137
- positionDropIndicator
138
- ]);
139
- const drop = useCallback(()=>{
140
- clearSpacer();
141
- const { current: draggedItem } = draggedItemRef;
142
- const { current: dropTarget } = dropTargetRef;
143
- const { current: dropZone } = dropZoneRef;
144
- const { current: range } = rangeRef;
145
- if (draggedItem && range && dropTarget) {
146
- const { index: fromIndex } = draggedItem;
147
- const dropBefore = "start" === dropZone;
148
- const { index: originalDropTargetIndex, currentIndex: currentDropTargetIndex } = dropTarget;
149
- dropTargetRef.current = null;
150
- dragDirectionRef.current = void 0;
151
- setDropIndicator(void 0);
152
- setShowOverflow(false);
153
- if (overflowMenuShowingRef.current) return {
154
- fromIndex,
155
- toIndex: -1
156
- };
157
- if (fromIndex < originalDropTargetIndex) return {
158
- fromIndex,
159
- toIndex: dropBefore ? currentDropTargetIndex : currentDropTargetIndex + 1
160
- };
161
- return {
162
- fromIndex,
163
- toIndex: dropBefore ? originalDropTargetIndex : originalDropTargetIndex + 1
164
- };
165
- }
166
- throw Error("useDragDropIndicator drop error");
167
- }, [
168
- clearSpacer
169
- ]);
170
- const releaseDrag = useCallback(()=>{}, []);
171
- return {
172
- beginDrag,
173
- drag,
174
- drop,
175
- dropIndicator,
176
- handleScrollStart,
177
- handleScrollStop,
178
- releaseDrag,
179
- revealOverflowedItems: showOverflow
180
- };
181
- };
182
- export { useDragDropIndicator };