@vuu-ui/vuu-ui-controls 3.0.0 → 3.1.0-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 (748) hide show
  1. package/package.json +19 -16
  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 +32 -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/item-picker/ItemPicker.css.js +97 -0
  89. package/src/item-picker/ItemPicker.js +210 -0
  90. package/src/item-picker/useItemPicker.js +83 -0
  91. package/src/measured-container/MeasuredContainer.css.js +11 -0
  92. package/src/measured-container/MeasuredContainer.js +50 -0
  93. package/src/measured-container/index.js +2 -0
  94. package/src/measured-container/useMeasuredContainer.js +156 -0
  95. package/src/modal-provider/ModalProvider.js +147 -0
  96. package/src/overflow-container/OverflowContainer.css.js +135 -0
  97. package/src/overflow-container/OverflowContainer.js +87 -0
  98. package/src/overflow-container/index.js +2 -0
  99. package/src/overflow-container/overflow-utils.js +211 -0
  100. package/src/overflow-container/useOverflowContainer.js +108 -0
  101. package/src/price-ticker/PriceTicker.css.js +32 -0
  102. package/src/price-ticker/PriceTicker.js +51 -0
  103. package/src/price-ticker/index.js +1 -0
  104. package/src/prompt/Prompt.css.js +48 -0
  105. package/src/prompt/Prompt.js +136 -0
  106. package/src/sortable-list/SortableList.js +39 -0
  107. package/src/split-button/SplitButton.css.js +117 -0
  108. package/src/split-button/SplitButton.js +60 -0
  109. package/src/split-button/SplitStateButton.css.js +66 -0
  110. package/src/split-button/SplitStateButton.js +23 -0
  111. package/src/split-button/index.js +2 -0
  112. package/src/split-button/useSplitButton.js +61 -0
  113. package/src/table-search/SearchCell.css.js +20 -0
  114. package/src/table-search/SearchCell.js +26 -0
  115. package/src/table-search/TableSearch.css.js +27 -0
  116. package/src/table-search/TableSearch.js +81 -0
  117. package/src/table-search/index.js +1 -0
  118. package/src/table-search/moving-window.js +49 -0
  119. package/src/table-search/useTableSearch.js +30 -0
  120. package/src/tabs-next/TabBar.css.js +26 -0
  121. package/src/tabs-next/TabBar.js +27 -0
  122. package/src/tabs-next/TabListNext.css.js +36 -0
  123. package/src/tabs-next/TabListNext.js +94 -0
  124. package/src/tabs-next/TabNext.css.js +76 -0
  125. package/src/tabs-next/TabNext.js +91 -0
  126. package/src/tabs-next/TabNextAction.js +26 -0
  127. package/src/tabs-next/TabNextContext.js +14 -0
  128. package/src/tabs-next/TabNextPanel.css.js +17 -0
  129. package/src/tabs-next/TabNextPanel.js +69 -0
  130. package/src/tabs-next/TabNextTrigger.css.js +22 -0
  131. package/src/tabs-next/TabNextTrigger.js +66 -0
  132. package/src/tabs-next/TabOverflowList.css.js +77 -0
  133. package/src/tabs-next/TabOverflowList.js +115 -0
  134. package/src/tabs-next/TabsNext.js +149 -0
  135. package/src/tabs-next/TabsNextContext.js +28 -0
  136. package/src/tabs-next/hooks/useCollection.js +80 -0
  137. package/src/tabs-next/hooks/useFocusOutside.js +23 -0
  138. package/src/tabs-next/hooks/useOverflow.js +118 -0
  139. package/src/tabs-next/index.js +7 -0
  140. package/src/tabstrip/Tab.css.js +148 -0
  141. package/src/tabstrip/Tab.js +107 -0
  142. package/src/tabstrip/TabMenu.css.js +8 -0
  143. package/src/tabstrip/TabMenu.js +48 -0
  144. package/src/tabstrip/TabMenuOptions.js +14 -0
  145. package/src/tabstrip/TabsTypes.js +0 -0
  146. package/src/tabstrip/Tabstrip.css.js +121 -0
  147. package/src/tabstrip/Tabstrip.js +106 -0
  148. package/src/tabstrip/ThemeTabstrip.css.js +20 -0
  149. package/src/tabstrip/index.js +4 -0
  150. package/src/tabstrip/tabstrip-dom-utils.js +11 -0
  151. package/src/tabstrip/useAnimatedSelectionThumb.js +68 -0
  152. package/src/tabstrip/useKeyboardNavigation.js +191 -0
  153. package/src/tabstrip/useSelection.js +50 -0
  154. package/src/tabstrip/useTabstrip.js +181 -0
  155. package/src/time-input/MaskedInput.js +285 -0
  156. package/src/time-input/TimeInput.css.js +39 -0
  157. package/src/time-input/TimeInput.js +37 -0
  158. package/src/time-input/useTimeInput.js +82 -0
  159. package/src/toolbar/Toolbar.css.js +46 -0
  160. package/src/toolbar/Toolbar.js +62 -0
  161. package/src/toolbar/index.js +1 -0
  162. package/src/toolbar/toolbar-dom-utils.js +11 -0
  163. package/src/toolbar/useKeyboardNavigation.js +240 -0
  164. package/src/toolbar/useSelection.js +82 -0
  165. package/src/toolbar/useToolbar.js +73 -0
  166. package/src/utils/deprecated-types.js +0 -0
  167. package/{esm → src}/utils/escapeRegExp.js +1 -3
  168. package/src/utils/forwardCallbackProps.js +15 -0
  169. package/src/utils/index.js +5 -0
  170. package/src/utils/isOverflowElement.js +2 -0
  171. package/src/utils/isPlainObject.js +2 -0
  172. package/src/vuu-date-picker/VuuDatePicker.js +92 -0
  173. package/src/vuu-date-picker/index.js +1 -0
  174. package/src/vuu-input/VuuInput.css.js +13 -0
  175. package/src/vuu-input/VuuInput.js +85 -0
  176. package/src/vuu-input/index.js +1 -0
  177. package/src/vuu-time-picker/TimeRangePicker.js +0 -0
  178. package/src/vuu-time-picker/VuuTimePicker.css.js +14 -0
  179. package/src/vuu-time-picker/VuuTimePicker.js +26 -0
  180. package/src/vuu-typeahead-input/VuuTypeaheadInput.css.js +49 -0
  181. package/src/vuu-typeahead-input/VuuTypeaheadInput.js +46 -0
  182. package/src/vuu-typeahead-input/index.js +1 -0
  183. package/src/vuu-typeahead-input/useVuuTypeaheadInput.js +140 -0
  184. package/cjs/calendar/Calendar.css.js +0 -6
  185. package/cjs/calendar/Calendar.css.js.map +0 -1
  186. package/cjs/calendar/Calendar.js +0 -93
  187. package/cjs/calendar/Calendar.js.map +0 -1
  188. package/cjs/calendar/internal/CalendarCarousel.css.js +0 -6
  189. package/cjs/calendar/internal/CalendarCarousel.css.js.map +0 -1
  190. package/cjs/calendar/internal/CalendarCarousel.js +0 -75
  191. package/cjs/calendar/internal/CalendarCarousel.js.map +0 -1
  192. package/cjs/calendar/internal/CalendarContext.js +0 -19
  193. package/cjs/calendar/internal/CalendarContext.js.map +0 -1
  194. package/cjs/calendar/internal/CalendarDay.css.js +0 -6
  195. package/cjs/calendar/internal/CalendarDay.css.js.map +0 -1
  196. package/cjs/calendar/internal/CalendarDay.js +0 -86
  197. package/cjs/calendar/internal/CalendarDay.js.map +0 -1
  198. package/cjs/calendar/internal/CalendarMonth.css.js +0 -6
  199. package/cjs/calendar/internal/CalendarMonth.css.js.map +0 -1
  200. package/cjs/calendar/internal/CalendarMonth.js +0 -71
  201. package/cjs/calendar/internal/CalendarMonth.js.map +0 -1
  202. package/cjs/calendar/internal/CalendarNavigation.css.js +0 -6
  203. package/cjs/calendar/internal/CalendarNavigation.css.js.map +0 -1
  204. package/cjs/calendar/internal/CalendarNavigation.js +0 -236
  205. package/cjs/calendar/internal/CalendarNavigation.js.map +0 -1
  206. package/cjs/calendar/internal/CalendarWeekHeader.css.js +0 -6
  207. package/cjs/calendar/internal/CalendarWeekHeader.css.js.map +0 -1
  208. package/cjs/calendar/internal/CalendarWeekHeader.js +0 -43
  209. package/cjs/calendar/internal/CalendarWeekHeader.js.map +0 -1
  210. package/cjs/calendar/internal/useFocusManagement.js +0 -66
  211. package/cjs/calendar/internal/useFocusManagement.js.map +0 -1
  212. package/cjs/calendar/internal/utils.js +0 -64
  213. package/cjs/calendar/internal/utils.js.map +0 -1
  214. package/cjs/calendar/useCalendar.js +0 -163
  215. package/cjs/calendar/useCalendar.js.map +0 -1
  216. package/cjs/calendar/useCalendarDay.js +0 -80
  217. package/cjs/calendar/useCalendarDay.js.map +0 -1
  218. package/cjs/calendar/useSelection.js +0 -248
  219. package/cjs/calendar/useSelection.js.map +0 -1
  220. package/cjs/column-picker/ColumnPicker.css.js +0 -6
  221. package/cjs/column-picker/ColumnPicker.css.js.map +0 -1
  222. package/cjs/column-picker/ColumnPicker.js +0 -128
  223. package/cjs/column-picker/ColumnPicker.js.map +0 -1
  224. package/cjs/column-picker/ColumnSearch.css.js +0 -6
  225. package/cjs/column-picker/ColumnSearch.css.js.map +0 -1
  226. package/cjs/column-picker/ColumnSearch.js +0 -82
  227. package/cjs/column-picker/ColumnSearch.js.map +0 -1
  228. package/cjs/common-hooks/selectionTypes.js +0 -18
  229. package/cjs/common-hooks/selectionTypes.js.map +0 -1
  230. package/cjs/common-hooks/use-resize-observer.js +0 -123
  231. package/cjs/common-hooks/use-resize-observer.js.map +0 -1
  232. package/cjs/common-hooks/useControlled.js +0 -58
  233. package/cjs/common-hooks/useControlled.js.map +0 -1
  234. package/cjs/context-panel-provider/ContextPanelProvider.js +0 -99
  235. package/cjs/context-panel-provider/ContextPanelProvider.js.map +0 -1
  236. package/cjs/cycle-state-button/CycleStateButton.js +0 -50
  237. package/cjs/cycle-state-button/CycleStateButton.js.map +0 -1
  238. package/cjs/date-input/DateInput.css.js +0 -6
  239. package/cjs/date-input/DateInput.css.js.map +0 -1
  240. package/cjs/date-input/DateInput.js +0 -277
  241. package/cjs/date-input/DateInput.js.map +0 -1
  242. package/cjs/date-picker/DatePicker.js +0 -169
  243. package/cjs/date-picker/DatePicker.js.map +0 -1
  244. package/cjs/date-picker/DatePickerContext.js +0 -26
  245. package/cjs/date-picker/DatePickerContext.js.map +0 -1
  246. package/cjs/date-picker/DatePickerPanel.css.js +0 -6
  247. package/cjs/date-picker/DatePickerPanel.css.js.map +0 -1
  248. package/cjs/date-picker/DatePickerPanel.js +0 -146
  249. package/cjs/date-picker/DatePickerPanel.js.map +0 -1
  250. package/cjs/drag-drop/DragDropProvider.js +0 -145
  251. package/cjs/drag-drop/DragDropProvider.js.map +0 -1
  252. package/cjs/drag-drop/DragDropState.js +0 -36
  253. package/cjs/drag-drop/DragDropState.js.map +0 -1
  254. package/cjs/drag-drop/Draggable.css.js +0 -6
  255. package/cjs/drag-drop/Draggable.css.js.map +0 -1
  256. package/cjs/drag-drop/Draggable.js +0 -90
  257. package/cjs/drag-drop/Draggable.js.map +0 -1
  258. package/cjs/drag-drop/dragDropTypes.js +0 -8
  259. package/cjs/drag-drop/dragDropTypes.js.map +0 -1
  260. package/cjs/drag-drop/drop-target-utils.js +0 -245
  261. package/cjs/drag-drop/drop-target-utils.js.map +0 -1
  262. package/cjs/drag-drop/useAutoScroll.js +0 -71
  263. package/cjs/drag-drop/useAutoScroll.js.map +0 -1
  264. package/cjs/drag-drop/useDragDisplacers.js +0 -160
  265. package/cjs/drag-drop/useDragDisplacers.js.map +0 -1
  266. package/cjs/drag-drop/useDragDrop.js +0 -504
  267. package/cjs/drag-drop/useDragDrop.js.map +0 -1
  268. package/cjs/drag-drop/useDragDropCopy.js +0 -34
  269. package/cjs/drag-drop/useDragDropCopy.js.map +0 -1
  270. package/cjs/drag-drop/useDragDropIndicator.js +0 -251
  271. package/cjs/drag-drop/useDragDropIndicator.js.map +0 -1
  272. package/cjs/drag-drop/useDragDropNaturalMovement.js +0 -265
  273. package/cjs/drag-drop/useDragDropNaturalMovement.js.map +0 -1
  274. package/cjs/drag-drop/useDropIndicator.js +0 -27
  275. package/cjs/drag-drop/useDropIndicator.js.map +0 -1
  276. package/cjs/drag-drop/useGlobalDragDrop.js +0 -89
  277. package/cjs/drag-drop/useGlobalDragDrop.js.map +0 -1
  278. package/cjs/editable/useEditableText.js +0 -211
  279. package/cjs/editable/useEditableText.js.map +0 -1
  280. package/cjs/editable-label/EditableLabel.css.js +0 -6
  281. package/cjs/editable-label/EditableLabel.css.js.map +0 -1
  282. package/cjs/editable-label/EditableLabel.js +0 -143
  283. package/cjs/editable-label/EditableLabel.js.map +0 -1
  284. package/cjs/expando-input/ExpandoInput.css.js +0 -6
  285. package/cjs/expando-input/ExpandoInput.css.js.map +0 -1
  286. package/cjs/expando-input/ExpandoInput.js +0 -53
  287. package/cjs/expando-input/ExpandoInput.js.map +0 -1
  288. package/cjs/hover-overlay/HoverOverlay.js +0 -96
  289. package/cjs/hover-overlay/HoverOverlay.js.map +0 -1
  290. package/cjs/icon-button/Icon.css.js +0 -6
  291. package/cjs/icon-button/Icon.css.js.map +0 -1
  292. package/cjs/icon-button/Icon.js +0 -37
  293. package/cjs/icon-button/Icon.js.map +0 -1
  294. package/cjs/icon-button/IconButton.css.js +0 -6
  295. package/cjs/icon-button/IconButton.css.js.map +0 -1
  296. package/cjs/icon-button/IconButton.js +0 -26
  297. package/cjs/icon-button/IconButton.js.map +0 -1
  298. package/cjs/icon-button/ToggleIconButton.css.js +0 -6
  299. package/cjs/icon-button/ToggleIconButton.css.js.map +0 -1
  300. package/cjs/icon-button/ToggleIconButton.js +0 -39
  301. package/cjs/icon-button/ToggleIconButton.js.map +0 -1
  302. package/cjs/index.js +0 -172
  303. package/cjs/index.js.map +0 -1
  304. package/cjs/instrument-picker/TablePicker.css.js +0 -6
  305. package/cjs/instrument-picker/TablePicker.css.js.map +0 -1
  306. package/cjs/instrument-picker/TablePicker.js +0 -130
  307. package/cjs/instrument-picker/TablePicker.js.map +0 -1
  308. package/cjs/instrument-picker/useTablePicker.js +0 -150
  309. package/cjs/instrument-picker/useTablePicker.js.map +0 -1
  310. package/cjs/item-picker/ItemPicker.css.js +0 -6
  311. package/cjs/item-picker/ItemPicker.css.js.map +0 -1
  312. package/cjs/item-picker/ItemPicker.js +0 -261
  313. package/cjs/item-picker/ItemPicker.js.map +0 -1
  314. package/cjs/item-picker/useItemPicker.js +0 -118
  315. package/cjs/item-picker/useItemPicker.js.map +0 -1
  316. package/cjs/measured-container/MeasuredContainer.css.js +0 -6
  317. package/cjs/measured-container/MeasuredContainer.css.js.map +0 -1
  318. package/cjs/measured-container/MeasuredContainer.js +0 -72
  319. package/cjs/measured-container/MeasuredContainer.js.map +0 -1
  320. package/cjs/measured-container/useMeasuredContainer.js +0 -167
  321. package/cjs/measured-container/useMeasuredContainer.js.map +0 -1
  322. package/cjs/modal-provider/ModalProvider.js +0 -143
  323. package/cjs/modal-provider/ModalProvider.js.map +0 -1
  324. package/cjs/overflow-container/OverflowContainer.css.js +0 -6
  325. package/cjs/overflow-container/OverflowContainer.css.js.map +0 -1
  326. package/cjs/overflow-container/OverflowContainer.js +0 -143
  327. package/cjs/overflow-container/OverflowContainer.js.map +0 -1
  328. package/cjs/overflow-container/overflow-utils.js +0 -286
  329. package/cjs/overflow-container/overflow-utils.js.map +0 -1
  330. package/cjs/overflow-container/useOverflowContainer.js +0 -143
  331. package/cjs/overflow-container/useOverflowContainer.js.map +0 -1
  332. package/cjs/price-ticker/PriceTicker.css.js +0 -6
  333. package/cjs/price-ticker/PriceTicker.css.js.map +0 -1
  334. package/cjs/price-ticker/PriceTicker.js +0 -50
  335. package/cjs/price-ticker/PriceTicker.js.map +0 -1
  336. package/cjs/prompt/Prompt.css.js +0 -6
  337. package/cjs/prompt/Prompt.css.js.map +0 -1
  338. package/cjs/prompt/Prompt.js +0 -162
  339. package/cjs/prompt/Prompt.js.map +0 -1
  340. package/cjs/sortable-list/SortableList.js +0 -37
  341. package/cjs/sortable-list/SortableList.js.map +0 -1
  342. package/cjs/split-button/SplitButton.css.js +0 -6
  343. package/cjs/split-button/SplitButton.css.js.map +0 -1
  344. package/cjs/split-button/SplitButton.js +0 -84
  345. package/cjs/split-button/SplitButton.js.map +0 -1
  346. package/cjs/split-button/SplitStateButton.css.js +0 -6
  347. package/cjs/split-button/SplitStateButton.css.js.map +0 -1
  348. package/cjs/split-button/SplitStateButton.js +0 -31
  349. package/cjs/split-button/SplitStateButton.js.map +0 -1
  350. package/cjs/split-button/useSplitButton.js +0 -84
  351. package/cjs/split-button/useSplitButton.js.map +0 -1
  352. package/cjs/table-search/SearchCell.css.js +0 -6
  353. package/cjs/table-search/SearchCell.css.js.map +0 -1
  354. package/cjs/table-search/SearchCell.js +0 -32
  355. package/cjs/table-search/SearchCell.js.map +0 -1
  356. package/cjs/table-search/TableSearch.css.js +0 -6
  357. package/cjs/table-search/TableSearch.css.js.map +0 -1
  358. package/cjs/table-search/TableSearch.js +0 -89
  359. package/cjs/table-search/TableSearch.js.map +0 -1
  360. package/cjs/table-search/useTableSearch.js +0 -39
  361. package/cjs/table-search/useTableSearch.js.map +0 -1
  362. package/cjs/tabs-next/TabBar.css.js +0 -6
  363. package/cjs/tabs-next/TabBar.css.js.map +0 -1
  364. package/cjs/tabs-next/TabBar.js +0 -41
  365. package/cjs/tabs-next/TabBar.js.map +0 -1
  366. package/cjs/tabs-next/TabListNext.css.js +0 -6
  367. package/cjs/tabs-next/TabListNext.css.js.map +0 -1
  368. package/cjs/tabs-next/TabListNext.js +0 -124
  369. package/cjs/tabs-next/TabListNext.js.map +0 -1
  370. package/cjs/tabs-next/TabNext.css.js +0 -6
  371. package/cjs/tabs-next/TabNext.css.js.map +0 -1
  372. package/cjs/tabs-next/TabNext.js +0 -110
  373. package/cjs/tabs-next/TabNext.js.map +0 -1
  374. package/cjs/tabs-next/TabNextAction.js +0 -35
  375. package/cjs/tabs-next/TabNextAction.js.map +0 -1
  376. package/cjs/tabs-next/TabNextContext.js +0 -23
  377. package/cjs/tabs-next/TabNextContext.js.map +0 -1
  378. package/cjs/tabs-next/TabNextPanel.css.js +0 -6
  379. package/cjs/tabs-next/TabNextPanel.css.js.map +0 -1
  380. package/cjs/tabs-next/TabNextPanel.js +0 -77
  381. package/cjs/tabs-next/TabNextPanel.js.map +0 -1
  382. package/cjs/tabs-next/TabNextTrigger.css.js +0 -6
  383. package/cjs/tabs-next/TabNextTrigger.css.js.map +0 -1
  384. package/cjs/tabs-next/TabNextTrigger.js +0 -74
  385. package/cjs/tabs-next/TabNextTrigger.js.map +0 -1
  386. package/cjs/tabs-next/TabOverflowList.css.js +0 -6
  387. package/cjs/tabs-next/TabOverflowList.css.js.map +0 -1
  388. package/cjs/tabs-next/TabOverflowList.js +0 -130
  389. package/cjs/tabs-next/TabOverflowList.js.map +0 -1
  390. package/cjs/tabs-next/TabsNext.js +0 -174
  391. package/cjs/tabs-next/TabsNext.js.map +0 -1
  392. package/cjs/tabs-next/TabsNextContext.js +0 -33
  393. package/cjs/tabs-next/TabsNextContext.js.map +0 -1
  394. package/cjs/tabs-next/hooks/useCollection.js +0 -91
  395. package/cjs/tabs-next/hooks/useCollection.js.map +0 -1
  396. package/cjs/tabs-next/hooks/useFocusOutside.js +0 -24
  397. package/cjs/tabs-next/hooks/useFocusOutside.js.map +0 -1
  398. package/cjs/tabs-next/hooks/useOverflow.js +0 -138
  399. package/cjs/tabs-next/hooks/useOverflow.js.map +0 -1
  400. package/cjs/tabstrip/Tab.css.js +0 -6
  401. package/cjs/tabstrip/Tab.css.js.map +0 -1
  402. package/cjs/tabstrip/Tab.js +0 -153
  403. package/cjs/tabstrip/Tab.js.map +0 -1
  404. package/cjs/tabstrip/TabMenu.css.js +0 -6
  405. package/cjs/tabstrip/TabMenu.css.js.map +0 -1
  406. package/cjs/tabstrip/TabMenu.js +0 -72
  407. package/cjs/tabstrip/TabMenu.js.map +0 -1
  408. package/cjs/tabstrip/TabMenuOptions.js +0 -20
  409. package/cjs/tabstrip/TabMenuOptions.js.map +0 -1
  410. package/cjs/tabstrip/Tabstrip.css.js +0 -6
  411. package/cjs/tabstrip/Tabstrip.css.js.map +0 -1
  412. package/cjs/tabstrip/Tabstrip.js +0 -160
  413. package/cjs/tabstrip/Tabstrip.js.map +0 -1
  414. package/cjs/tabstrip/tabstrip-dom-utils.js +0 -19
  415. package/cjs/tabstrip/tabstrip-dom-utils.js.map +0 -1
  416. package/cjs/tabstrip/useAnimatedSelectionThumb.js +0 -85
  417. package/cjs/tabstrip/useAnimatedSelectionThumb.js.map +0 -1
  418. package/cjs/tabstrip/useKeyboardNavigation.js +0 -247
  419. package/cjs/tabstrip/useKeyboardNavigation.js.map +0 -1
  420. package/cjs/tabstrip/useSelection.js +0 -60
  421. package/cjs/tabstrip/useSelection.js.map +0 -1
  422. package/cjs/tabstrip/useTabstrip.js +0 -233
  423. package/cjs/tabstrip/useTabstrip.js.map +0 -1
  424. package/cjs/time-input/MaskedInput.js +0 -377
  425. package/cjs/time-input/MaskedInput.js.map +0 -1
  426. package/cjs/time-input/TimeInput.css.js +0 -6
  427. package/cjs/time-input/TimeInput.css.js.map +0 -1
  428. package/cjs/time-input/TimeInput.js +0 -56
  429. package/cjs/time-input/TimeInput.js.map +0 -1
  430. package/cjs/time-input/useTimeInput.js +0 -121
  431. package/cjs/time-input/useTimeInput.js.map +0 -1
  432. package/cjs/toolbar/Toolbar.css.js +0 -6
  433. package/cjs/toolbar/Toolbar.css.js.map +0 -1
  434. package/cjs/toolbar/Toolbar.js +0 -90
  435. package/cjs/toolbar/Toolbar.js.map +0 -1
  436. package/cjs/toolbar/toolbar-dom-utils.js +0 -18
  437. package/cjs/toolbar/toolbar-dom-utils.js.map +0 -1
  438. package/cjs/toolbar/useKeyboardNavigation.js +0 -305
  439. package/cjs/toolbar/useKeyboardNavigation.js.map +0 -1
  440. package/cjs/toolbar/useSelection.js +0 -93
  441. package/cjs/toolbar/useSelection.js.map +0 -1
  442. package/cjs/toolbar/useToolbar.js +0 -100
  443. package/cjs/toolbar/useToolbar.js.map +0 -1
  444. package/cjs/utils/escapeRegExp.js +0 -9
  445. package/cjs/utils/escapeRegExp.js.map +0 -1
  446. package/cjs/utils/forwardCallbackProps.js +0 -22
  447. package/cjs/utils/forwardCallbackProps.js.map +0 -1
  448. package/cjs/utils/isOverflowElement.js +0 -8
  449. package/cjs/utils/isOverflowElement.js.map +0 -1
  450. package/cjs/utils/isPlainObject.js +0 -6
  451. package/cjs/utils/isPlainObject.js.map +0 -1
  452. package/cjs/vuu-date-picker/VuuDatePicker.js +0 -122
  453. package/cjs/vuu-date-picker/VuuDatePicker.js.map +0 -1
  454. package/cjs/vuu-input/VuuInput.css.js +0 -6
  455. package/cjs/vuu-input/VuuInput.css.js.map +0 -1
  456. package/cjs/vuu-input/VuuInput.js +0 -102
  457. package/cjs/vuu-input/VuuInput.js.map +0 -1
  458. package/cjs/vuu-time-picker/VuuTimePicker.css.js +0 -6
  459. package/cjs/vuu-time-picker/VuuTimePicker.css.js.map +0 -1
  460. package/cjs/vuu-time-picker/VuuTimePicker.js +0 -37
  461. package/cjs/vuu-time-picker/VuuTimePicker.js.map +0 -1
  462. package/cjs/vuu-typeahead-input/VuuTypeaheadInput.css.js +0 -6
  463. package/cjs/vuu-typeahead-input/VuuTypeaheadInput.css.js.map +0 -1
  464. package/cjs/vuu-typeahead-input/VuuTypeaheadInput.js +0 -80
  465. package/cjs/vuu-typeahead-input/VuuTypeaheadInput.js.map +0 -1
  466. package/cjs/vuu-typeahead-input/useVuuTypeaheadInput.js +0 -176
  467. package/cjs/vuu-typeahead-input/useVuuTypeaheadInput.js.map +0 -1
  468. package/esm/calendar/Calendar.css.js +0 -4
  469. package/esm/calendar/Calendar.css.js.map +0 -1
  470. package/esm/calendar/Calendar.js +0 -91
  471. package/esm/calendar/Calendar.js.map +0 -1
  472. package/esm/calendar/internal/CalendarCarousel.css.js +0 -4
  473. package/esm/calendar/internal/CalendarCarousel.css.js.map +0 -1
  474. package/esm/calendar/internal/CalendarCarousel.js +0 -73
  475. package/esm/calendar/internal/CalendarCarousel.js.map +0 -1
  476. package/esm/calendar/internal/CalendarContext.js +0 -16
  477. package/esm/calendar/internal/CalendarContext.js.map +0 -1
  478. package/esm/calendar/internal/CalendarDay.css.js +0 -4
  479. package/esm/calendar/internal/CalendarDay.css.js.map +0 -1
  480. package/esm/calendar/internal/CalendarDay.js.map +0 -1
  481. package/esm/calendar/internal/CalendarMonth.css.js +0 -4
  482. package/esm/calendar/internal/CalendarMonth.css.js.map +0 -1
  483. package/esm/calendar/internal/CalendarMonth.js +0 -69
  484. package/esm/calendar/internal/CalendarMonth.js.map +0 -1
  485. package/esm/calendar/internal/CalendarNavigation.css.js +0 -4
  486. package/esm/calendar/internal/CalendarNavigation.css.js.map +0 -1
  487. package/esm/calendar/internal/CalendarNavigation.js +0 -234
  488. package/esm/calendar/internal/CalendarNavigation.js.map +0 -1
  489. package/esm/calendar/internal/CalendarWeekHeader.css.js +0 -4
  490. package/esm/calendar/internal/CalendarWeekHeader.css.js.map +0 -1
  491. package/esm/calendar/internal/CalendarWeekHeader.js +0 -41
  492. package/esm/calendar/internal/CalendarWeekHeader.js.map +0 -1
  493. package/esm/calendar/internal/useFocusManagement.js +0 -64
  494. package/esm/calendar/internal/useFocusManagement.js.map +0 -1
  495. package/esm/calendar/internal/utils.js +0 -55
  496. package/esm/calendar/internal/utils.js.map +0 -1
  497. package/esm/calendar/useCalendar.js +0 -161
  498. package/esm/calendar/useCalendar.js.map +0 -1
  499. package/esm/calendar/useCalendarDay.js +0 -78
  500. package/esm/calendar/useCalendarDay.js.map +0 -1
  501. package/esm/calendar/useSelection.js +0 -243
  502. package/esm/calendar/useSelection.js.map +0 -1
  503. package/esm/column-picker/ColumnPicker.css.js +0 -4
  504. package/esm/column-picker/ColumnPicker.css.js.map +0 -1
  505. package/esm/column-picker/ColumnPicker.js +0 -126
  506. package/esm/column-picker/ColumnPicker.js.map +0 -1
  507. package/esm/column-picker/ColumnSearch.css.js +0 -4
  508. package/esm/column-picker/ColumnSearch.css.js.map +0 -1
  509. package/esm/column-picker/ColumnSearch.js +0 -80
  510. package/esm/column-picker/ColumnSearch.js.map +0 -1
  511. package/esm/common-hooks/selectionTypes.js +0 -10
  512. package/esm/common-hooks/selectionTypes.js.map +0 -1
  513. package/esm/common-hooks/use-resize-observer.js +0 -118
  514. package/esm/common-hooks/use-resize-observer.js.map +0 -1
  515. package/esm/common-hooks/useControlled.js +0 -56
  516. package/esm/common-hooks/useControlled.js.map +0 -1
  517. package/esm/context-panel-provider/ContextPanelProvider.js +0 -94
  518. package/esm/context-panel-provider/ContextPanelProvider.js.map +0 -1
  519. package/esm/cycle-state-button/CycleStateButton.js +0 -48
  520. package/esm/cycle-state-button/CycleStateButton.js.map +0 -1
  521. package/esm/date-input/DateInput.css.js +0 -4
  522. package/esm/date-input/DateInput.css.js.map +0 -1
  523. package/esm/date-input/DateInput.js +0 -275
  524. package/esm/date-input/DateInput.js.map +0 -1
  525. package/esm/date-picker/DatePicker.js +0 -167
  526. package/esm/date-picker/DatePicker.js.map +0 -1
  527. package/esm/date-picker/DatePickerContext.js +0 -23
  528. package/esm/date-picker/DatePickerContext.js.map +0 -1
  529. package/esm/date-picker/DatePickerPanel.css.js +0 -4
  530. package/esm/date-picker/DatePickerPanel.css.js.map +0 -1
  531. package/esm/date-picker/DatePickerPanel.js +0 -144
  532. package/esm/date-picker/DatePickerPanel.js.map +0 -1
  533. package/esm/drag-drop/DragDropProvider.js +0 -142
  534. package/esm/drag-drop/DragDropProvider.js.map +0 -1
  535. package/esm/drag-drop/DragDropState.js +0 -34
  536. package/esm/drag-drop/DragDropState.js.map +0 -1
  537. package/esm/drag-drop/Draggable.css.js +0 -4
  538. package/esm/drag-drop/Draggable.css.js.map +0 -1
  539. package/esm/drag-drop/Draggable.js +0 -85
  540. package/esm/drag-drop/Draggable.js.map +0 -1
  541. package/esm/drag-drop/dragDropTypes.js.map +0 -1
  542. package/esm/drag-drop/drop-target-utils.js +0 -228
  543. package/esm/drag-drop/drop-target-utils.js.map +0 -1
  544. package/esm/drag-drop/useAutoScroll.js +0 -69
  545. package/esm/drag-drop/useAutoScroll.js.map +0 -1
  546. package/esm/drag-drop/useDragDisplacers.js +0 -158
  547. package/esm/drag-drop/useDragDisplacers.js.map +0 -1
  548. package/esm/drag-drop/useDragDrop.js +0 -502
  549. package/esm/drag-drop/useDragDrop.js.map +0 -1
  550. package/esm/drag-drop/useDragDropCopy.js +0 -31
  551. package/esm/drag-drop/useDragDropCopy.js.map +0 -1
  552. package/esm/drag-drop/useDragDropIndicator.js +0 -249
  553. package/esm/drag-drop/useDragDropIndicator.js.map +0 -1
  554. package/esm/drag-drop/useDragDropNaturalMovement.js +0 -263
  555. package/esm/drag-drop/useDragDropNaturalMovement.js.map +0 -1
  556. package/esm/drag-drop/useDropIndicator.js +0 -25
  557. package/esm/drag-drop/useDropIndicator.js.map +0 -1
  558. package/esm/drag-drop/useGlobalDragDrop.js +0 -87
  559. package/esm/drag-drop/useGlobalDragDrop.js.map +0 -1
  560. package/esm/editable/useEditableText.js +0 -209
  561. package/esm/editable/useEditableText.js.map +0 -1
  562. package/esm/editable-label/EditableLabel.css.js +0 -4
  563. package/esm/editable-label/EditableLabel.css.js.map +0 -1
  564. package/esm/editable-label/EditableLabel.js +0 -140
  565. package/esm/editable-label/EditableLabel.js.map +0 -1
  566. package/esm/expando-input/ExpandoInput.css.js +0 -4
  567. package/esm/expando-input/ExpandoInput.css.js.map +0 -1
  568. package/esm/expando-input/ExpandoInput.js +0 -51
  569. package/esm/expando-input/ExpandoInput.js.map +0 -1
  570. package/esm/hover-overlay/HoverOverlay.js +0 -94
  571. package/esm/hover-overlay/HoverOverlay.js.map +0 -1
  572. package/esm/icon-button/Icon.css.js +0 -4
  573. package/esm/icon-button/Icon.css.js.map +0 -1
  574. package/esm/icon-button/Icon.js +0 -35
  575. package/esm/icon-button/Icon.js.map +0 -1
  576. package/esm/icon-button/IconButton.css.js +0 -4
  577. package/esm/icon-button/IconButton.css.js.map +0 -1
  578. package/esm/icon-button/IconButton.js +0 -24
  579. package/esm/icon-button/IconButton.js.map +0 -1
  580. package/esm/icon-button/ToggleIconButton.css.js +0 -4
  581. package/esm/icon-button/ToggleIconButton.css.js.map +0 -1
  582. package/esm/icon-button/ToggleIconButton.js +0 -37
  583. package/esm/icon-button/ToggleIconButton.js.map +0 -1
  584. package/esm/index.js +0 -60
  585. package/esm/index.js.map +0 -1
  586. package/esm/instrument-picker/TablePicker.css.js +0 -4
  587. package/esm/instrument-picker/TablePicker.css.js.map +0 -1
  588. package/esm/instrument-picker/TablePicker.js +0 -128
  589. package/esm/instrument-picker/TablePicker.js.map +0 -1
  590. package/esm/instrument-picker/useTablePicker.js +0 -148
  591. package/esm/instrument-picker/useTablePicker.js.map +0 -1
  592. package/esm/item-picker/ItemPicker.css.js +0 -4
  593. package/esm/item-picker/ItemPicker.css.js.map +0 -1
  594. package/esm/item-picker/ItemPicker.js +0 -258
  595. package/esm/item-picker/ItemPicker.js.map +0 -1
  596. package/esm/item-picker/useItemPicker.js +0 -115
  597. package/esm/item-picker/useItemPicker.js.map +0 -1
  598. package/esm/measured-container/MeasuredContainer.css.js +0 -4
  599. package/esm/measured-container/MeasuredContainer.css.js.map +0 -1
  600. package/esm/measured-container/MeasuredContainer.js +0 -70
  601. package/esm/measured-container/MeasuredContainer.js.map +0 -1
  602. package/esm/measured-container/useMeasuredContainer.js +0 -164
  603. package/esm/measured-container/useMeasuredContainer.js.map +0 -1
  604. package/esm/modal-provider/ModalProvider.js +0 -140
  605. package/esm/modal-provider/ModalProvider.js.map +0 -1
  606. package/esm/overflow-container/OverflowContainer.css.js +0 -4
  607. package/esm/overflow-container/OverflowContainer.css.js.map +0 -1
  608. package/esm/overflow-container/OverflowContainer.js +0 -141
  609. package/esm/overflow-container/OverflowContainer.js.map +0 -1
  610. package/esm/overflow-container/overflow-utils.js +0 -272
  611. package/esm/overflow-container/overflow-utils.js.map +0 -1
  612. package/esm/overflow-container/useOverflowContainer.js +0 -141
  613. package/esm/overflow-container/useOverflowContainer.js.map +0 -1
  614. package/esm/price-ticker/PriceTicker.css.js +0 -4
  615. package/esm/price-ticker/PriceTicker.css.js.map +0 -1
  616. package/esm/price-ticker/PriceTicker.js +0 -48
  617. package/esm/price-ticker/PriceTicker.js.map +0 -1
  618. package/esm/prompt/Prompt.css.js +0 -4
  619. package/esm/prompt/Prompt.css.js.map +0 -1
  620. package/esm/prompt/Prompt.js +0 -160
  621. package/esm/prompt/Prompt.js.map +0 -1
  622. package/esm/sortable-list/SortableList.js +0 -34
  623. package/esm/sortable-list/SortableList.js.map +0 -1
  624. package/esm/split-button/SplitButton.css.js +0 -4
  625. package/esm/split-button/SplitButton.css.js.map +0 -1
  626. package/esm/split-button/SplitButton.js +0 -82
  627. package/esm/split-button/SplitButton.js.map +0 -1
  628. package/esm/split-button/SplitStateButton.css.js +0 -4
  629. package/esm/split-button/SplitStateButton.css.js.map +0 -1
  630. package/esm/split-button/SplitStateButton.js +0 -29
  631. package/esm/split-button/SplitStateButton.js.map +0 -1
  632. package/esm/split-button/useSplitButton.js +0 -82
  633. package/esm/split-button/useSplitButton.js.map +0 -1
  634. package/esm/table-search/SearchCell.css.js +0 -4
  635. package/esm/table-search/SearchCell.css.js.map +0 -1
  636. package/esm/table-search/SearchCell.js +0 -30
  637. package/esm/table-search/SearchCell.js.map +0 -1
  638. package/esm/table-search/TableSearch.css.js +0 -4
  639. package/esm/table-search/TableSearch.css.js.map +0 -1
  640. package/esm/table-search/TableSearch.js +0 -87
  641. package/esm/table-search/TableSearch.js.map +0 -1
  642. package/esm/table-search/useTableSearch.js +0 -37
  643. package/esm/table-search/useTableSearch.js.map +0 -1
  644. package/esm/tabs-next/TabBar.css.js +0 -4
  645. package/esm/tabs-next/TabBar.css.js.map +0 -1
  646. package/esm/tabs-next/TabBar.js +0 -39
  647. package/esm/tabs-next/TabBar.js.map +0 -1
  648. package/esm/tabs-next/TabListNext.css.js +0 -4
  649. package/esm/tabs-next/TabListNext.css.js.map +0 -1
  650. package/esm/tabs-next/TabListNext.js +0 -122
  651. package/esm/tabs-next/TabListNext.js.map +0 -1
  652. package/esm/tabs-next/TabNext.css.js +0 -4
  653. package/esm/tabs-next/TabNext.css.js.map +0 -1
  654. package/esm/tabs-next/TabNext.js +0 -108
  655. package/esm/tabs-next/TabNext.js.map +0 -1
  656. package/esm/tabs-next/TabNextAction.js +0 -33
  657. package/esm/tabs-next/TabNextAction.js.map +0 -1
  658. package/esm/tabs-next/TabNextContext.js +0 -20
  659. package/esm/tabs-next/TabNextContext.js.map +0 -1
  660. package/esm/tabs-next/TabNextPanel.css.js +0 -4
  661. package/esm/tabs-next/TabNextPanel.css.js.map +0 -1
  662. package/esm/tabs-next/TabNextPanel.js +0 -75
  663. package/esm/tabs-next/TabNextPanel.js.map +0 -1
  664. package/esm/tabs-next/TabNextTrigger.css.js +0 -4
  665. package/esm/tabs-next/TabNextTrigger.css.js.map +0 -1
  666. package/esm/tabs-next/TabNextTrigger.js +0 -72
  667. package/esm/tabs-next/TabNextTrigger.js.map +0 -1
  668. package/esm/tabs-next/TabOverflowList.css.js +0 -4
  669. package/esm/tabs-next/TabOverflowList.css.js.map +0 -1
  670. package/esm/tabs-next/TabOverflowList.js +0 -128
  671. package/esm/tabs-next/TabOverflowList.js.map +0 -1
  672. package/esm/tabs-next/TabsNext.js +0 -172
  673. package/esm/tabs-next/TabsNext.js.map +0 -1
  674. package/esm/tabs-next/TabsNextContext.js +0 -30
  675. package/esm/tabs-next/TabsNextContext.js.map +0 -1
  676. package/esm/tabs-next/hooks/useCollection.js +0 -89
  677. package/esm/tabs-next/hooks/useCollection.js.map +0 -1
  678. package/esm/tabs-next/hooks/useFocusOutside.js +0 -22
  679. package/esm/tabs-next/hooks/useFocusOutside.js.map +0 -1
  680. package/esm/tabs-next/hooks/useOverflow.js +0 -136
  681. package/esm/tabs-next/hooks/useOverflow.js.map +0 -1
  682. package/esm/tabstrip/Tab.css.js +0 -4
  683. package/esm/tabstrip/Tab.css.js.map +0 -1
  684. package/esm/tabstrip/Tab.js +0 -151
  685. package/esm/tabstrip/Tab.js.map +0 -1
  686. package/esm/tabstrip/TabMenu.css.js +0 -4
  687. package/esm/tabstrip/TabMenu.css.js.map +0 -1
  688. package/esm/tabstrip/TabMenu.js +0 -70
  689. package/esm/tabstrip/TabMenu.js.map +0 -1
  690. package/esm/tabstrip/TabMenuOptions.js +0 -16
  691. package/esm/tabstrip/TabMenuOptions.js.map +0 -1
  692. package/esm/tabstrip/Tabstrip.css.js +0 -4
  693. package/esm/tabstrip/Tabstrip.css.js.map +0 -1
  694. package/esm/tabstrip/Tabstrip.js +0 -158
  695. package/esm/tabstrip/Tabstrip.js.map +0 -1
  696. package/esm/tabstrip/tabstrip-dom-utils.js +0 -16
  697. package/esm/tabstrip/tabstrip-dom-utils.js.map +0 -1
  698. package/esm/tabstrip/useAnimatedSelectionThumb.js +0 -83
  699. package/esm/tabstrip/useAnimatedSelectionThumb.js.map +0 -1
  700. package/esm/tabstrip/useKeyboardNavigation.js +0 -245
  701. package/esm/tabstrip/useKeyboardNavigation.js.map +0 -1
  702. package/esm/tabstrip/useSelection.js +0 -58
  703. package/esm/tabstrip/useSelection.js.map +0 -1
  704. package/esm/tabstrip/useTabstrip.js +0 -231
  705. package/esm/tabstrip/useTabstrip.js.map +0 -1
  706. package/esm/time-input/MaskedInput.js +0 -375
  707. package/esm/time-input/MaskedInput.js.map +0 -1
  708. package/esm/time-input/TimeInput.css.js +0 -4
  709. package/esm/time-input/TimeInput.css.js.map +0 -1
  710. package/esm/time-input/TimeInput.js +0 -54
  711. package/esm/time-input/TimeInput.js.map +0 -1
  712. package/esm/time-input/useTimeInput.js +0 -119
  713. package/esm/time-input/useTimeInput.js.map +0 -1
  714. package/esm/toolbar/Toolbar.css.js +0 -4
  715. package/esm/toolbar/Toolbar.css.js.map +0 -1
  716. package/esm/toolbar/Toolbar.js +0 -88
  717. package/esm/toolbar/Toolbar.js.map +0 -1
  718. package/esm/toolbar/toolbar-dom-utils.js +0 -15
  719. package/esm/toolbar/toolbar-dom-utils.js.map +0 -1
  720. package/esm/toolbar/useKeyboardNavigation.js +0 -303
  721. package/esm/toolbar/useKeyboardNavigation.js.map +0 -1
  722. package/esm/toolbar/useSelection.js +0 -91
  723. package/esm/toolbar/useSelection.js.map +0 -1
  724. package/esm/toolbar/useToolbar.js +0 -98
  725. package/esm/toolbar/useToolbar.js.map +0 -1
  726. package/esm/utils/escapeRegExp.js.map +0 -1
  727. package/esm/utils/forwardCallbackProps.js +0 -20
  728. package/esm/utils/forwardCallbackProps.js.map +0 -1
  729. package/esm/utils/isOverflowElement.js +0 -6
  730. package/esm/utils/isOverflowElement.js.map +0 -1
  731. package/esm/utils/isPlainObject.js +0 -4
  732. package/esm/utils/isPlainObject.js.map +0 -1
  733. package/esm/vuu-date-picker/VuuDatePicker.js +0 -120
  734. package/esm/vuu-date-picker/VuuDatePicker.js.map +0 -1
  735. package/esm/vuu-input/VuuInput.css.js +0 -4
  736. package/esm/vuu-input/VuuInput.css.js.map +0 -1
  737. package/esm/vuu-input/VuuInput.js +0 -100
  738. package/esm/vuu-input/VuuInput.js.map +0 -1
  739. package/esm/vuu-time-picker/VuuTimePicker.css.js +0 -4
  740. package/esm/vuu-time-picker/VuuTimePicker.css.js.map +0 -1
  741. package/esm/vuu-time-picker/VuuTimePicker.js +0 -35
  742. package/esm/vuu-time-picker/VuuTimePicker.js.map +0 -1
  743. package/esm/vuu-typeahead-input/VuuTypeaheadInput.css.js +0 -4
  744. package/esm/vuu-typeahead-input/VuuTypeaheadInput.css.js.map +0 -1
  745. package/esm/vuu-typeahead-input/VuuTypeaheadInput.js +0 -78
  746. package/esm/vuu-typeahead-input/VuuTypeaheadInput.js.map +0 -1
  747. package/esm/vuu-typeahead-input/useVuuTypeaheadInput.js +0 -174
  748. package/esm/vuu-typeahead-input/useVuuTypeaheadInput.js.map +0 -1
@@ -0,0 +1,136 @@
1
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
+ import { Button, Dialog, DialogActions, DialogContent, DialogHeader } from "@salt-ds/core";
3
+ import clsx from "clsx";
4
+ import { useCallback } from "react";
5
+ import { Icon, IconButton } from "../icon-button/index.js";
6
+ import { useComponentCssInjection } from "@salt-ds/styles";
7
+ import { useWindow } from "@salt-ds/window";
8
+ import Prompt from "./Prompt.css";
9
+ const classBase = "vuuPrompt";
10
+ const getHeader = (title, icon, headerTag)=>{
11
+ if (icon && headerTag) return /*#__PURE__*/ jsxs(Fragment, {
12
+ children: [
13
+ /*#__PURE__*/ jsx(Icon, {
14
+ name: icon
15
+ }),
16
+ /*#__PURE__*/ jsx("span", {
17
+ children: title
18
+ }),
19
+ headerTag
20
+ ]
21
+ });
22
+ if (icon) return /*#__PURE__*/ jsxs(Fragment, {
23
+ children: [
24
+ /*#__PURE__*/ jsx(Icon, {
25
+ name: icon
26
+ }),
27
+ /*#__PURE__*/ jsx("span", {
28
+ children: title
29
+ })
30
+ ]
31
+ });
32
+ if (headerTag) return /*#__PURE__*/ jsxs(Fragment, {
33
+ children: [
34
+ /*#__PURE__*/ jsx("span", {
35
+ children: title
36
+ }),
37
+ headerTag
38
+ ]
39
+ });
40
+ return title;
41
+ };
42
+ const Prompt_Prompt = ({ children, className, cancelButtonLabel = "Cancel", cancelButtonProps, confirmButtonLabel = "Confirm", confirmButtonProps, customAction = null, disableDismiss, disableAccent, headerTag, icon, initialFocusedItem, onCancel, onClose, onConfirm, onOpenChange, open, showCancelButton = true, showCloseButton = true, showConfirmButton = true, status, title, ...htmlAttributes })=>{
43
+ const targetWindow = useWindow();
44
+ useComponentCssInjection({
45
+ testId: "vuu-prompt-next",
46
+ css: Prompt,
47
+ window: targetWindow
48
+ });
49
+ const close = useCallback(()=>{
50
+ onClose?.();
51
+ onOpenChange?.(false);
52
+ }, [
53
+ onClose,
54
+ onOpenChange
55
+ ]);
56
+ const callbackRef = useCallback((el)=>{
57
+ if (el) {
58
+ let target = null;
59
+ if ("confirm" === initialFocusedItem && showConfirmButton) target = el.querySelector(".vuuPromptConfirmButton");
60
+ else if ("cancel" === initialFocusedItem && showCancelButton) target = el.querySelector(".vuuPromptCancelButton");
61
+ else if ("close" === initialFocusedItem && showCloseButton) target = el.querySelector(".vuuPromptCloseButton");
62
+ if (target) setTimeout(()=>{
63
+ target.focus();
64
+ }, 200);
65
+ }
66
+ }, [
67
+ initialFocusedItem,
68
+ showCancelButton,
69
+ showCloseButton,
70
+ showConfirmButton
71
+ ]);
72
+ const handleCancel = useCallback(()=>{
73
+ onCancel?.();
74
+ close();
75
+ }, [
76
+ close,
77
+ onCancel
78
+ ]);
79
+ const handleConfirm = useCallback(()=>{
80
+ if (onConfirm?.() !== false) close();
81
+ }, [
82
+ close,
83
+ onConfirm
84
+ ]);
85
+ const actions = showCloseButton ? /*#__PURE__*/ jsx(IconButton, {
86
+ appearance: "transparent",
87
+ className: "vuuPromptCloseButton",
88
+ "data-embedded": true,
89
+ icon: "close",
90
+ onClick: close
91
+ }) : null;
92
+ const header = getHeader(title, icon, headerTag);
93
+ return /*#__PURE__*/ jsxs(Dialog, {
94
+ ...htmlAttributes,
95
+ className: clsx(classBase, className),
96
+ disableDismiss: disableDismiss,
97
+ onOpenChange: onOpenChange,
98
+ open: open,
99
+ ref: callbackRef,
100
+ status: status,
101
+ children: [
102
+ /*#__PURE__*/ jsx(DialogHeader, {
103
+ disableAccent: disableAccent,
104
+ header: header,
105
+ actions: actions
106
+ }),
107
+ /*#__PURE__*/ jsx(DialogContent, {
108
+ children: children
109
+ }),
110
+ /*#__PURE__*/ jsxs(DialogActions, {
111
+ children: [
112
+ customAction,
113
+ showCancelButton ? /*#__PURE__*/ jsx(Button, {
114
+ appearance: "solid",
115
+ className: "vuuPromptCancelButton",
116
+ disabled: cancelButtonProps?.disabled,
117
+ onClick: handleCancel,
118
+ ref: cancelButtonProps?.ref,
119
+ sentiment: "neutral",
120
+ children: cancelButtonProps?.label ?? cancelButtonLabel
121
+ }) : null,
122
+ showConfirmButton ? /*#__PURE__*/ jsx(Button, {
123
+ appearance: "solid",
124
+ className: "vuuPromptConfirmButton",
125
+ disabled: confirmButtonProps?.disabled,
126
+ sentiment: "accented",
127
+ onClick: handleConfirm,
128
+ ref: confirmButtonProps?.ref,
129
+ children: confirmButtonProps?.label ?? confirmButtonLabel
130
+ }) : null
131
+ ]
132
+ })
133
+ ]
134
+ });
135
+ };
136
+ export { Prompt_Prompt as Prompt };
@@ -0,0 +1,39 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { ListBox, Option } from "@salt-ds/core";
3
+ import { DragDropProvider, useSortable } from "@vuu-ui/vuu-utils";
4
+ import { useCallback, useRef } from "react";
5
+ const SortableOption = ({ id, index, value, ...optionProps })=>{
6
+ const { ref } = useSortable({
7
+ id,
8
+ index
9
+ });
10
+ return /*#__PURE__*/ jsx(Option, {
11
+ ...optionProps,
12
+ id: id,
13
+ ref: ref,
14
+ value: value
15
+ });
16
+ };
17
+ const SortableList = ({ children, onReorderListItems, ...listBoxProps })=>{
18
+ const listRef = useRef(null);
19
+ const handleDragEnd = useCallback(()=>{
20
+ setTimeout(()=>{
21
+ const listItems = listRef.current?.querySelectorAll(".saltOption");
22
+ if (listItems) {
23
+ const items = Array.from(listItems).map(({ id })=>id);
24
+ onReorderListItems?.(items);
25
+ }
26
+ }, 300);
27
+ }, [
28
+ onReorderListItems
29
+ ]);
30
+ return /*#__PURE__*/ jsx(DragDropProvider, {
31
+ onDragEnd: handleDragEnd,
32
+ children: /*#__PURE__*/ jsx(ListBox, {
33
+ ...listBoxProps,
34
+ ref: listRef,
35
+ children: children
36
+ })
37
+ });
38
+ };
39
+ export { SortableList, SortableOption };
@@ -0,0 +1,117 @@
1
+ const css = `
2
+ .vuuSplitButton {
3
+ --saltButton-background: var(--split-background);
4
+ --saltButton-background-hover: var(--split-background);
5
+ --vuuPopupMenu-background: var(--split-background);
6
+ --vuuPopupMenu-iconSize: 20px;
7
+ --background: var(--vuuSplitButton-background);
8
+ --foreground: var(--vuuSplitButton-foreground);
9
+ --background-hover: var(--vuuSplitButton-background-hover);
10
+ --foreground-hover: var(--vuuSplitButton-foreground-hover);
11
+ --border-radius: var(--vuuSplitButton-borderRadius, var(--salt-palette-corner-weaker));
12
+ --main-border-radius: var(--border-radius) 0 0 var(--border-radius);
13
+ --trigger-border-radius: 0 var(--border-radius) var(--border-radius) 0;
14
+ --trigger-border-style: solid solid solid none;
15
+ border-radius: var(--border-radius);
16
+ border: none;
17
+ align-items: center;
18
+ display: flex;
19
+
20
+ & .vuuSplitButton-main {
21
+ border-radius: var(--main-border-radius);
22
+ }
23
+
24
+ & .vuuSplitButton-trigger {
25
+ border-radius: var(--trigger-border-radius);
26
+ }
27
+ }
28
+
29
+ .vuuSplitButton.vuuFocusVisible {
30
+ & .saltButton {
31
+ outline-style: none;
32
+ }
33
+
34
+ &.vuuSplitButton-primary {
35
+ --split-background: var(--background-hover, var(--salt-actionable-bold-background-hover));
36
+ }
37
+
38
+ &.vuuSplitButton-secondary {
39
+ --split-background: var(--background-hover, var(--salt-actionable-subtle-background-hover));
40
+ }
41
+
42
+ &.vuuSplitButton-cta {
43
+ --split-background: var(--background-hover, var(--salt-actionable-accented-bold-background-hover));
44
+
45
+ & .vuuSplitButton-trigger {
46
+ --vuu-icon-color: var(--salt-actionable-bold-foreground-hover);
47
+ }
48
+ }
49
+ }
50
+
51
+ .vuuFocusVisible {
52
+ outline-style: var(--salt-focused-outlineStyle);
53
+ outline-width: var(--salt-focused-outlineWidth);
54
+ outline-color: var(--salt-focused-outlineColor);
55
+ outline-offset: var(--salt-focused-outlineOffset);
56
+ }
57
+
58
+ .vuuSplitButton-primary {
59
+ --split-background: var(--background, var(--salt-actionable-bold-background));
60
+ --split-background-active: var(--salt-actionable-bold-background-active);
61
+ --split-color-active: var(--salt-actionable-bold-foreground-active);
62
+ }
63
+
64
+ .vuuSplitButton-primary:hover:not(.vuuSplitButton-disabled) {
65
+ --vuuButton-borderColor: var(--split-background);
66
+ --saltButton-borderColor: var(--split-background);
67
+ --split-background: var(--background-hover, var(--salt-actionable-bold-background-hover));
68
+
69
+ & .saltButton {
70
+ --saltButton-text-color: var(--salt-actionable-bold-foreground-hover);
71
+ }
72
+ }
73
+
74
+ .vuuSplitButton-secondary {
75
+ --saltButton-borderColor: var(--split-background);
76
+ --split-background: var(--background, var(--salt-actionable-subtle-background));
77
+ --split-background-active: var(--salt-actionable-subtle-background-active);
78
+ --split-color-active: var(--salt-actionable-subtle-foreground-active);
79
+ }
80
+
81
+ .vuuSplitButton-secondary:hover:not(.vuuSplitButton-disabled) {
82
+ --vuuButton-borderColor: var(--split-background);
83
+ --split-background: var(--salt-actionable-subtle-background-hover);
84
+
85
+ & .saltButton {
86
+ --saltButton-text-color: var(--salt-actionable-subtle-foreground-hover);
87
+ }
88
+ }
89
+
90
+ .vuuSplitButton-cta {
91
+ --split-background: var(--background, var(--salt-actionable-accented-bold-background));
92
+ --split-background-active: var(--salt-actionable-accented-bold-background-active);
93
+ --split-color-active: var(--salt-actionable-bold-foreground-active);
94
+ }
95
+
96
+ .vuuSplitButton-cta:hover:not(.vuuSplitButton-disabled) {
97
+ --vuuButton-borderColor: var(--split-background);
98
+ --split-background: var(--salt-actionable-accented-bold-background-hover);
99
+ --split-color: var(--salt-actionable-bold-foreground-hover);
100
+
101
+ & .saltButton {
102
+ --saltButton-text-color: var(--salt-actionable-bold-foreground-hover);
103
+ --vuu-icon-color: var(--salt-actionable-bold-foreground-hover);
104
+ }
105
+ }
106
+
107
+ .vuuSplitButton:has(.vuuSplitButton-main:active, .vuuSplitButton-main.saltButton-active) {
108
+ --split-background: var(--split-background-active);
109
+
110
+ & .vuuSplitButton-trigger {
111
+ --vuu-icon-color: var(--split-color-active);
112
+ }
113
+ }
114
+
115
+
116
+ `;
117
+ export default css;
@@ -0,0 +1,60 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { Button, useForkRef } from "@salt-ds/core";
3
+ import { useComponentCssInjection } from "@salt-ds/styles";
4
+ import { useWindow } from "@salt-ds/window";
5
+ import { ContextMenuProvider } from "@vuu-ui/vuu-context-menu";
6
+ import { PopupMenu } from "@vuu-ui/vuu-popups";
7
+ import clsx from "clsx";
8
+ import { forwardRef } from "react";
9
+ import { useSplitButton } from "./useSplitButton.js";
10
+ import SplitButton_0 from "./SplitButton.css";
11
+ const classBase = "vuuSplitButton";
12
+ const SplitButton_SplitButton = /*#__PURE__*/ forwardRef(function({ ButtonProps: ButtonPropsProp, PopupMenuProps: PopupMenuPropsProp, children, className, disabled = false, onClick, segmented = false, variant = "primary", ...htmlAttributes }, forwardedRef) {
13
+ const targetWindow = useWindow();
14
+ useComponentCssInjection({
15
+ testId: "vuu-split-button",
16
+ css: SplitButton_0,
17
+ window: targetWindow
18
+ });
19
+ const { ButtonProps, buttonRef, rootRef, PopupMenuProps, ...rootProps } = useSplitButton({
20
+ ButtonProps: ButtonPropsProp,
21
+ PopupMenuProps: PopupMenuPropsProp,
22
+ classBase: classBase,
23
+ onClick,
24
+ segmented
25
+ });
26
+ return /*#__PURE__*/ jsx(ContextMenuProvider, {
27
+ children: /*#__PURE__*/ jsxs("div", {
28
+ ...htmlAttributes,
29
+ ...rootProps,
30
+ className: clsx(classBase, `${classBase}-${variant}`, className, {
31
+ [`${classBase}-disabled`]: disabled,
32
+ [`${classBase}-segmented`]: segmented
33
+ }),
34
+ ref: useForkRef(forwardedRef, rootRef),
35
+ "data-showcase-center": true,
36
+ tabIndex: -1,
37
+ children: [
38
+ /*#__PURE__*/ jsx(Button, {
39
+ ...ButtonProps,
40
+ appearance: "solid",
41
+ className: `${classBase}-main`,
42
+ disabled: disabled,
43
+ ref: buttonRef,
44
+ sentiment: "neutral",
45
+ children: children
46
+ }),
47
+ /*#__PURE__*/ jsx(PopupMenu, {
48
+ ...PopupMenuProps,
49
+ appearance: "solid",
50
+ className: `${classBase}-trigger`,
51
+ disabled: disabled,
52
+ icon: PopupMenuProps?.icon ?? "chevron-down",
53
+ tabIndex: segmented ? 0 : -1,
54
+ sentiment: "neutral"
55
+ })
56
+ ]
57
+ })
58
+ });
59
+ });
60
+ export { SplitButton_SplitButton as SplitButton };
@@ -0,0 +1,66 @@
1
+ const css = `
2
+ .vuuSplitStateButton {
3
+ --split-state-background: var(--salt-actionable-subtle-background);
4
+ --split-state-foreground: var(--salt-actionable-subtle-foreground);
5
+ --vuuSplitButton-background: var(--split-state-background);
6
+ --vuuSplitButton-foreground: var(--split-state-foreground);
7
+ --vuuSplitButton-background-hover: var(--split-state-background);
8
+ --vuuSplitButton-foreground-hover: var(--split-state-foreground);
9
+
10
+ & .saltButton-primary:active, & .saltButton-primary.saltButton-active {
11
+ --saltButton-background-active: var(--salt-actionable-bold-background);
12
+ --saltButton-text-color-active: var(--salt-actionable-bold-foreground);
13
+ }
14
+ }
15
+
16
+ .vuuSplitStateButton[aria-checked="true"] {
17
+ --vuuButtonIcon-color: var(--salt-actionable-bold-foreground-active);
18
+ --saltButton-text-color: var(--salt-actionable-bold-foreground-active);
19
+ --saltButton-text-color-hover: var(--salt-actionable-bold-foreground-active);
20
+ --split-state-background: var(--salt-actionable-bold-background-active);
21
+ --split-state-foreground: var(--salt-actionable-bold-foreground-active);
22
+
23
+ &.focusVisible {
24
+ --split-state-background: var(--salt-actionable-bold-background-active);
25
+ }
26
+ }
27
+
28
+ .vuuSplitStateButton[aria-checked="true"] {
29
+ & .vuuEditableLabel-input {
30
+ color: var(--salt-actionable-bold-foreground-active);
31
+ }
32
+ }
33
+
34
+ .vuuSplitButton-main.saltButton-active + .vuuSplitButton-trigger, .vuuSplitButton-main:active + .vuuSplitButton-trigger {
35
+ --saltButton-background: var(--salt-actionable-bold-background);
36
+
37
+ & .vuuIcon {
38
+ --vuu-icon-color: var(--salt-actionable-bold-foreground);
39
+ }
40
+ }
41
+
42
+ .vuuSplitStateButton:has(.vuuEditableLabel-editing):has(.vuuSplitButton-main:active, .vuuSplitButton-main.saltButton-active) {
43
+ --split-background: var(--salt-actionable-subtle-background);
44
+
45
+ & .saltButton-primary:active {
46
+ background: var(--salt-actionable-subtle-background);
47
+ }
48
+ }
49
+
50
+ .vuuSplitStateButton[aria-checked="true"]:has(.vuuEditableLabel-editing):has(.vuuSplitButton-main:active, .vuuSplitButton-main.saltButton-active) {
51
+ --split-background: var(--salt-actionable-bold-background-active);
52
+
53
+ & .saltButton-primary:active {
54
+ background: var(--salt-actionable-bold-background-active);
55
+ }
56
+ }
57
+
58
+ .vuuSplitStateButton:hover:not(.vuuSplitStateButton-disabled) {
59
+ & .saltButton {
60
+ border-color: var(--salt-actionable-bold-foreground);
61
+ }
62
+ }
63
+
64
+
65
+ `;
66
+ export default css;
@@ -0,0 +1,23 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { SplitButton } from "./SplitButton.js";
3
+ import clsx from "clsx";
4
+ import { useComponentCssInjection } from "@salt-ds/styles";
5
+ import { useWindow } from "@salt-ds/window";
6
+ import { forwardRef } from "react";
7
+ import SplitStateButton_0 from "./SplitStateButton.css";
8
+ const classBase = "vuuSplitStateButton";
9
+ const SplitStateButton_SplitStateButton = /*#__PURE__*/ forwardRef(function({ className, selected, ...splitButtonProps }, forwardedRef) {
10
+ const targetWindow = useWindow();
11
+ useComponentCssInjection({
12
+ testId: "vuu-split-state-button",
13
+ css: SplitStateButton_0,
14
+ window: targetWindow
15
+ });
16
+ return /*#__PURE__*/ jsx(SplitButton, {
17
+ ...splitButtonProps,
18
+ "aria-checked": selected,
19
+ className: clsx(classBase, className),
20
+ ref: forwardedRef
21
+ });
22
+ });
23
+ export { SplitStateButton_SplitStateButton as SplitStateButton };
@@ -0,0 +1,2 @@
1
+ export * from "./SplitButton.js";
2
+ export * from "./SplitStateButton.js";
@@ -0,0 +1,61 @@
1
+ import { dispatchMouseEvent } from "@vuu-ui/vuu-utils";
2
+ import { useCallback, useRef } from "react";
3
+ const focusTargetIsEditableLabel = (target)=>{
4
+ if ("INPUT" === target.tagName) return true;
5
+ return false;
6
+ };
7
+ const useSplitButton = ({ ButtonProps: ButtonPropsProp, PopupMenuProps, classBase, onClick })=>{
8
+ const buttonRef = useRef(null);
9
+ const rootRef = useRef(null);
10
+ const onMenuClose = useCallback((reason)=>{
11
+ if (reason?.type !== "tab-away") {
12
+ const buttonMain = rootRef.current?.querySelector(".vuuSplitButton-main");
13
+ buttonMain?.focus();
14
+ }
15
+ }, []);
16
+ const menuProps = {
17
+ ...PopupMenuProps,
18
+ anchorElement: rootRef,
19
+ menuClassName: `${classBase}-menu`,
20
+ onMenuClose,
21
+ popupPlacement: "below-full-width"
22
+ };
23
+ const handleRootFocus = useCallback((evt)=>{
24
+ const { current: splitButton } = rootRef;
25
+ if (!splitButton?.classList.contains("vuuFocusVisible")) {
26
+ splitButton?.classList.add("vuuFocusVisible");
27
+ if (!focusTargetIsEditableLabel(evt.target)) requestAnimationFrame(()=>{
28
+ buttonRef.current?.focus();
29
+ });
30
+ }
31
+ }, []);
32
+ const handleRootBlur = useCallback((evt)=>{
33
+ const { current: splitButton } = rootRef;
34
+ const target = evt.relatedTarget;
35
+ if (!splitButton?.contains(target)) {
36
+ if (splitButton?.classList.contains("vuuFocusVisible")) splitButton.classList.remove("vuuFocusVisible");
37
+ }
38
+ }, []);
39
+ const handleButtonKeyDown = useCallback((evt)=>{
40
+ if ("ArrowDown" === evt.key) {
41
+ const popupTrigger = rootRef.current?.querySelector(`.${classBase}-trigger`);
42
+ if (popupTrigger) dispatchMouseEvent(popupTrigger, "click");
43
+ }
44
+ }, [
45
+ classBase
46
+ ]);
47
+ const ButtonProps = {
48
+ ...ButtonPropsProp,
49
+ onClick,
50
+ onKeyDown: handleButtonKeyDown
51
+ };
52
+ return {
53
+ ButtonProps,
54
+ PopupMenuProps: menuProps,
55
+ buttonRef,
56
+ rootRef,
57
+ onBlur: handleRootBlur,
58
+ onFocus: handleRootFocus
59
+ };
60
+ };
61
+ export { useSplitButton };
@@ -0,0 +1,20 @@
1
+ const css = `
2
+ .vuuSearchCell {
3
+ --vuu-icon-left: 0;
4
+ --vuu-icon-size: 16px;
5
+ --vuu-icon-top: -1px;
6
+ color: var(--background-cell-color);
7
+ z-index: -1;
8
+ align-items: center;
9
+ padding: 0 8px;
10
+ display: flex;
11
+ position: relative;
12
+
13
+ & [data-icon] {
14
+ margin-right: 4px;
15
+ }
16
+ }
17
+
18
+
19
+ `;
20
+ export default css;
@@ -0,0 +1,26 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { useComponentCssInjection } from "@salt-ds/styles";
3
+ import { useWindow } from "@salt-ds/window";
4
+ import { applyHighlighting } from "@vuu-ui/vuu-table";
5
+ import SearchCell from "./SearchCell.css";
6
+ const classBase = "vuuSearchCell";
7
+ const SearchCell_SearchCell = ({ column, dataRow, searchPattern = "" })=>{
8
+ const targetWindow = useWindow();
9
+ useComponentCssInjection({
10
+ testId: "vuu-search-cell",
11
+ css: SearchCell,
12
+ window: targetWindow
13
+ });
14
+ const valueWithHighlighting = applyHighlighting(column.valueFormatter(dataRow[column.name]), searchPattern);
15
+ return /*#__PURE__*/ jsxs("div", {
16
+ className: classBase,
17
+ tabIndex: -1,
18
+ children: [
19
+ /*#__PURE__*/ jsx("span", {
20
+ "data-icon": "draggable"
21
+ }),
22
+ valueWithHighlighting
23
+ ]
24
+ });
25
+ };
26
+ export { SearchCell_SearchCell as SearchCell };
@@ -0,0 +1,27 @@
1
+ const css = `
2
+ .vuuTableSearch {
3
+ height: 100%;
4
+ padding: var(--vuuTableSearch-padding, 12px);
5
+ flex-direction: column;
6
+ display: flex;
7
+ }
8
+
9
+ .vuuTableSearch-inputField {
10
+ --vuu-icon-size: 16px;
11
+ flex: 0 0 40px;
12
+ padding: 0 12px;
13
+ }
14
+
15
+ .vuuTableSearch-list {
16
+ --vuuMeasuredContainer-flex: 1 1 1px;
17
+ background-color: var(--salt-container-primary-background);
18
+ flex: auto;
19
+ }
20
+
21
+ .vuuTableSearch .vuuTableCell {
22
+ padding: 0;
23
+ }
24
+
25
+
26
+ `;
27
+ export default css;
@@ -0,0 +1,81 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { Table, useControlledTableNavigation } from "@vuu-ui/vuu-table";
3
+ import { registerComponent } from "@vuu-ui/vuu-utils";
4
+ import { Input } from "@salt-ds/core";
5
+ import { useComponentCssInjection } from "@salt-ds/styles";
6
+ import { useWindow } from "@salt-ds/window";
7
+ import clsx from "clsx";
8
+ import { useCallback, useMemo } from "react";
9
+ import { SearchCell } from "./SearchCell.js";
10
+ import { useTableSearch } from "./useTableSearch.js";
11
+ import TableSearch from "./TableSearch.css";
12
+ const classBase = "vuuTableSearch";
13
+ const defaultConfig = {
14
+ rowSeparators: true
15
+ };
16
+ const searchIcon = /*#__PURE__*/ jsx("span", {
17
+ "data-icon": "search"
18
+ });
19
+ const TableSearch_TableSearch = ({ TableProps: { dataSource: dataSourceProp, ...TableProps }, autoFocus = false, className, placeHolder, searchColumns, ...htmlAttributes })=>{
20
+ const targetWindow = useWindow();
21
+ useComponentCssInjection({
22
+ testId: "vuu-table-search",
23
+ css: TableSearch,
24
+ window: targetWindow
25
+ });
26
+ const config = useMemo(()=>({
27
+ ...defaultConfig,
28
+ ...TableProps?.config
29
+ }), [
30
+ TableProps?.config
31
+ ]);
32
+ const { dataSource, onChange, searchState } = useTableSearch({
33
+ dataSource: dataSourceProp,
34
+ searchColumns
35
+ });
36
+ const { highlightedIndexRef, onHighlight, onKeyDown, tableRef } = useControlledTableNavigation(-1, dataSource?.size ?? 0);
37
+ const searchCallbackRef = useCallback((el)=>{
38
+ setTimeout(()=>{
39
+ el?.querySelector("input")?.focus();
40
+ }, 100);
41
+ }, []);
42
+ return /*#__PURE__*/ jsxs("div", {
43
+ ...htmlAttributes,
44
+ className: clsx(classBase, className),
45
+ children: [
46
+ /*#__PURE__*/ jsx("div", {
47
+ className: `${classBase}-inputField`,
48
+ children: /*#__PURE__*/ jsx(Input, {
49
+ inputProps: {
50
+ onKeyDown
51
+ },
52
+ endAdornment: searchIcon,
53
+ placeholder: placeHolder,
54
+ ref: autoFocus ? searchCallbackRef : null,
55
+ value: searchState.searchText,
56
+ onChange: onChange
57
+ })
58
+ }),
59
+ dataSource ? /*#__PURE__*/ jsx(Table, {
60
+ disableFocus: true,
61
+ id: "instrument-search",
62
+ rowHeight: 25,
63
+ highlightedIndex: highlightedIndexRef.current,
64
+ renderBufferSize: 100,
65
+ ...TableProps,
66
+ className: `${classBase}-list`,
67
+ config: config,
68
+ dataSource: dataSource,
69
+ navigationStyle: "row",
70
+ onHighlight: onHighlight,
71
+ ref: tableRef,
72
+ searchPattern: searchState.searchText,
73
+ showColumnHeaders: false
74
+ }) : null
75
+ ]
76
+ });
77
+ };
78
+ registerComponent("search-cell", SearchCell, "cell-renderer", {
79
+ serverDataType: "private"
80
+ });
81
+ export { TableSearch_TableSearch as TableSearch };
@@ -0,0 +1 @@
1
+ export * from "./TableSearch.js";