@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
@@ -1,4 +0,0 @@
1
- var itemPickerCss = ".vuuItemPicker {\n --label-margin-left: 0px;\n\n --itempicker-background: var(\n --vuuItemPicker-background,\n var(--salt-container-primary-background)\n );\n background: var(--itempicker-background);\n container-type: inline-size;\n display: flex;\n flex-direction: column;\n gap: var(--salt-spacing-300);\n height: var(--vuuItemPicker-height, 100%);\n overflow: hidden;\n padding: var(--salt-spacing-300) 0;\n\n &.vuuItemPicker-withCalculated {\n --label-margin-left: 8px;\n }\n\n .saltListBox {\n background-color: inherit;\n }\n\n .saltOption {\n align-items: center;\n background-color: inherit;\n border-bottom: var(--vuuItemListItem-border, solid) 1px\n var(--salt-separable-tertiary-borderColor);\n gap: var(--salt-spacing-200);\n height: calc(var(--salt-size-base) + var(--salt-spacing-200));\n .vuuIcon {\n --vuu-icon-color: var(--salt-content-secondary-foreground);\n }\n\n .vuuCalculatedItemIcon {\n --vuu-icon-color: var(--salt-content-secondary-foreground);\n left: 32px;\n position: absolute;\n top: 8px;\n }\n\n .vuuHighlight {\n color: var(--vuu-color-blue-40);\n text-decoration: underline;\n }\n\n .vuuItemPicker-text {\n margin-left: var(--label-margin-left);\n }\n }\n\n .vuuItemPickerListItem-action {\n margin-left: auto;\n visibility: hidden;\n }\n\n .saltOption:hover {\n .vuuItemPickerListItem-action {\n visibility: visible;\n }\n }\n\n .vuuItemPicker-search {\n --saltInput-paddingLeft: var(--salt-spacing-300);\n padding: var(--salt-spacing-200) var(--salt-spacing-300) 0\n var(--salt-spacing-300);\n }\n\n .vuuItemPicker-scrollContainer {\n flex: 1 1 0px;\n overflow: auto;\n\n .vuuItemPicker-sectionHeader {\n align-items: center;\n background: var(--itempicker-background);\n display: flex;\n height: 32px;\n padding: 0 var(--salt-spacing-300);\n position: sticky;\n top: 0;\n z-index: 1;\n }\n\n .vuuItemPicker-availableHeader {\n top: 32px;\n }\n\n .vuuItemPicker-availableList {\n .saltOption {\n padding-left: var(--salt-spacing-300);\n }\n }\n }\n}\n";
2
-
3
- export { itemPickerCss as default };
4
- //# sourceMappingURL=ItemPicker.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ItemPicker.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,258 +0,0 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { Input, ListBox, Button, Option } from '@salt-ds/core';
3
- import { useComponentCssInjection } from '@salt-ds/styles';
4
- import { useWindow } from '@salt-ds/window';
5
- import { applyHighlighting } from '@vuu-ui/vuu-table';
6
- import { singularForm, pluralForm, DragDropProvider, useSortable } from '@vuu-ui/vuu-utils';
7
- import cx from 'clsx';
8
- import { forwardRef, useCallback, useRef, useMemo } from 'react';
9
- import { Icon } from '../icon-button/Icon.js';
10
- import { IconButton } from '../icon-button/IconButton.js';
11
- import { useItemPicker, getItemLabel } from './useItemPicker.js';
12
- import itemPickerCss from './ItemPicker.css.js';
13
-
14
- const classBase = "vuuItemPicker";
15
- const classBaseListItem = "vuuItemPickerListItem";
16
- const searchIcon = /* @__PURE__ */ jsx(Icon, { name: "search" });
17
- const NO_SELECTION = [];
18
- const useSorting = (id, index) => {
19
- const { handleRef: sortableHandleRef, ref: sortableRef } = useSortable({
20
- id,
21
- index
22
- });
23
- const [handleRef, ref] = useMemo(() => {
24
- return [sortableHandleRef, sortableRef];
25
- }, [sortableHandleRef, sortableRef]);
26
- return {
27
- handleRef,
28
- ref
29
- };
30
- };
31
- const SelectedListItem = ({
32
- className: classNameProp,
33
- index,
34
- item,
35
- onRemove,
36
- searchPattern = "",
37
- ...optionProps
38
- }) => {
39
- const { handleRef, ref } = useSorting(item.name, index);
40
- const value = getItemLabel(item);
41
- const valueWithHighlighting = applyHighlighting(value, searchPattern);
42
- const handleRemoveButtonClick = useCallback(
43
- (e) => {
44
- e.stopPropagation();
45
- onRemove?.(e);
46
- },
47
- [onRemove]
48
- );
49
- return /* @__PURE__ */ jsxs(
50
- Option,
51
- {
52
- ...optionProps,
53
- className: cx(classNameProp, classBaseListItem),
54
- "data-name": item.name,
55
- ref,
56
- children: [
57
- /* @__PURE__ */ jsx(
58
- IconButton,
59
- {
60
- "data-embedded": true,
61
- appearance: "transparent",
62
- icon: "draggable",
63
- ref: handleRef,
64
- size: 16
65
- }
66
- ),
67
- item.icon ? /* @__PURE__ */ jsx(Icon, { name: item.icon }, "icon") : null,
68
- /* @__PURE__ */ jsx("span", { className: `${classBase}-text`, children: valueWithHighlighting }),
69
- /* @__PURE__ */ jsx(
70
- IconButton,
71
- {
72
- className: `${classBaseListItem}-action`,
73
- "data-embedded": true,
74
- appearance: "transparent",
75
- icon: "cross",
76
- onClick: handleRemoveButtonClick,
77
- size: 16
78
- }
79
- )
80
- ]
81
- }
82
- );
83
- };
84
- const AvailableListItem = ({
85
- className: classNameProp,
86
- index,
87
- item,
88
- onAdd,
89
- searchPattern = "",
90
- disabled,
91
- ...optionProps
92
- }) => {
93
- const value = getItemLabel(item);
94
- const valueWithHighlighting = applyHighlighting(value, searchPattern);
95
- return /* @__PURE__ */ jsxs(
96
- Option,
97
- {
98
- ...optionProps,
99
- className: cx(classNameProp, classBaseListItem),
100
- "data-name": item.name,
101
- disabled,
102
- children: [
103
- /* @__PURE__ */ jsx("span", { className: `${classBase}-text`, children: valueWithHighlighting }),
104
- /* @__PURE__ */ jsx(
105
- IconButton,
106
- {
107
- className: `${classBaseListItem}-action`,
108
- "data-embedded": true,
109
- appearance: "transparent",
110
- icon: "plus",
111
- onClick: onAdd,
112
- size: 16,
113
- disabled
114
- }
115
- )
116
- ]
117
- }
118
- );
119
- };
120
- const ItemPicker = forwardRef(function ItemPicker2({
121
- className,
122
- itemTypeName,
123
- allItems,
124
- selectedItems,
125
- maxSelections,
126
- onSelectedItemsChange,
127
- onSelectionChange,
128
- selected = NO_SELECTION,
129
- createCustomItemProps,
130
- ...htmlAttributes
131
- }, forwardedRef) {
132
- const targetWindow = useWindow();
133
- useComponentCssInjection({
134
- testId: "vuu-item-picker",
135
- css: itemPickerCss,
136
- window: targetWindow
137
- });
138
- const searchCallbackRef = useCallback((el) => {
139
- setTimeout(() => {
140
- el?.querySelector("input")?.focus();
141
- }, 100);
142
- }, []);
143
- const {
144
- selectedItemsCount,
145
- availableItemsCount,
146
- selectedItemsFiltered,
147
- availableItemsFiltered,
148
- searchText,
149
- onChangeSearchInput,
150
- onAddItemToSelectedList,
151
- onRemoveItemFromSelectedList,
152
- onReorderSelectedItems
153
- } = useItemPicker({
154
- allItems,
155
- selectedItems,
156
- onSelectedItemsChange,
157
- maxSelections
158
- });
159
- const listRef = useRef(null);
160
- const getOptionName = (option) => {
161
- if (option) {
162
- const { name } = option.dataset;
163
- if (name) {
164
- return name;
165
- }
166
- }
167
- throw Error("[ItemPicker] list option has no data-name");
168
- };
169
- const handleDragEnd = useCallback(() => {
170
- setTimeout(() => {
171
- const listItems = listRef.current?.querySelectorAll(".saltOption");
172
- if (listItems) {
173
- const orderedItemNames = Array.from(listItems).map(getOptionName);
174
- onReorderSelectedItems(orderedItemNames);
175
- }
176
- }, 300);
177
- }, [availableItemsFiltered, selectedItemsFiltered]);
178
- const searchPlaceholderText = `Find ${singularForm(itemTypeName)}`;
179
- const maxSelectionsSubHeading = maxSelections ? `(${maxSelections} max)` : "";
180
- const selectedItemsHeading = `${selectedItemsCount} ${selectedItemsCount === 1 ? singularForm(itemTypeName) : pluralForm(itemTypeName)} in view ${maxSelectionsSubHeading}`;
181
- const availableItemsHeading = `${availableItemsCount} available ${availableItemsCount === 1 ? singularForm(itemTypeName) : pluralForm(itemTypeName)}`;
182
- return /* @__PURE__ */ jsxs(
183
- "div",
184
- {
185
- ...htmlAttributes,
186
- className: cx(classBase, className),
187
- ref: forwardedRef,
188
- children: [
189
- /* @__PURE__ */ jsx("form", { className: `${classBase}-search`, role: "search", children: /* @__PURE__ */ jsx(
190
- Input,
191
- {
192
- startAdornment: searchIcon,
193
- placeholder: searchPlaceholderText,
194
- ref: searchCallbackRef,
195
- value: searchText,
196
- onChange: onChangeSearchInput
197
- }
198
- ) }),
199
- /* @__PURE__ */ jsxs("div", { className: `${classBase}-scrollContainer vuuScrollable`, children: [
200
- /* @__PURE__ */ jsx("div", { className: `${classBase}-sectionHeader`, children: selectedItemsHeading }),
201
- /* @__PURE__ */ jsx(DragDropProvider, { onDragEnd: handleDragEnd, children: /* @__PURE__ */ jsx(
202
- ListBox,
203
- {
204
- className: `${classBase}-selectedList`,
205
- onSelectionChange,
206
- ref: listRef,
207
- selected,
208
- children: selectedItemsFiltered.map((item, index) => /* @__PURE__ */ jsx(
209
- SelectedListItem,
210
- {
211
- item,
212
- index,
213
- onRemove: onRemoveItemFromSelectedList,
214
- searchPattern: searchText.toLowerCase(),
215
- value: item
216
- },
217
- item.name
218
- ))
219
- }
220
- ) }),
221
- /* @__PURE__ */ jsx(
222
- "div",
223
- {
224
- className: cx(
225
- `${classBase}-sectionHeader`,
226
- `${classBase}-availableHeader`
227
- ),
228
- children: availableItemsHeading
229
- }
230
- ),
231
- /* @__PURE__ */ jsx(
232
- ListBox,
233
- {
234
- className: `${classBase}-availableList`,
235
- selected: NO_SELECTION,
236
- children: availableItemsFiltered.map((item, index) => /* @__PURE__ */ jsx(
237
- AvailableListItem,
238
- {
239
- item,
240
- index,
241
- onAdd: onAddItemToSelectedList,
242
- searchPattern: searchText.toLowerCase(),
243
- value: item,
244
- disabled: selectedItemsCount === maxSelections
245
- },
246
- item.name
247
- ))
248
- }
249
- )
250
- ] }),
251
- createCustomItemProps ? /* @__PURE__ */ jsx("div", { className: `${classBase}-item-buttons`, children: /* @__PURE__ */ jsx(Button, { onClick: createCustomItemProps.onClickCreateCustomItem, children: createCustomItemProps.buttonLabel }) }) : null
252
- ]
253
- }
254
- );
255
- });
256
-
257
- export { ItemPicker, classBaseListItem };
258
- //# sourceMappingURL=ItemPicker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ItemPicker.js","sources":["../../../../packages/vuu-ui-controls/src/item-picker/ItemPicker.tsx"],"sourcesContent":["import {\n Button,\n Input,\n ListBox,\n ListBoxProps,\n Option,\n OptionProps,\n} from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { applyHighlighting } from \"@vuu-ui/vuu-table\";\nimport {\n DragDropProvider,\n ItemTypeName,\n pluralForm,\n singularForm,\n useSortable,\n} from \"@vuu-ui/vuu-utils\";\nimport cx from \"clsx\";\nimport {\n ForwardedRef,\n forwardRef,\n HTMLAttributes,\n MouseEventHandler,\n RefCallback,\n useCallback,\n useMemo,\n useRef,\n} from \"react\";\nimport { Icon, IconButton } from \"../icon-button\";\nimport {\n CreateCustomItemProps,\n getItemLabel,\n ItemDescriptor,\n ItemPickerHookProps,\n useItemPicker,\n} from \"./useItemPicker\";\n\nimport itemPickerCss from \"./ItemPicker.css\";\n\nconst classBase = \"vuuItemPicker\";\n\nexport const classBaseListItem = \"vuuItemPickerListItem\";\n\nexport interface ItemPickerProps\n extends ItemPickerHookProps,\n HTMLAttributes<HTMLDivElement>,\n Pick<ListBoxProps<ItemDescriptor>, \"selected\" | \"onSelectionChange\"> {\n itemTypeName: ItemTypeName;\n createCustomItemProps?: CreateCustomItemProps;\n}\n\nconst searchIcon = <Icon name=\"search\" />;\nconst NO_SELECTION: ItemDescriptor[] = [] as const;\n\nconst useSorting = (id: string, index: number) => {\n const { handleRef: sortableHandleRef, ref: sortableRef } = useSortable({\n id,\n index,\n });\n\n const [handleRef, ref] = useMemo(() => {\n return [sortableHandleRef, sortableRef];\n }, [sortableHandleRef, sortableRef]);\n\n return {\n handleRef,\n ref,\n };\n};\n\nconst SelectedListItem = ({\n className: classNameProp,\n index,\n item,\n onRemove,\n searchPattern = \"\",\n ...optionProps\n}: OptionProps & {\n index: number;\n item: ItemDescriptor;\n onRemove: MouseEventHandler<HTMLButtonElement>;\n searchPattern?: Lowercase<string>;\n}) => {\n const { handleRef, ref } = useSorting(item.name, index);\n const value = getItemLabel(item as ItemDescriptor);\n const valueWithHighlighting = applyHighlighting(value, searchPattern);\n\n const handleRemoveButtonClick = useCallback<\n MouseEventHandler<HTMLButtonElement>\n >(\n (e) => {\n e.stopPropagation();\n onRemove?.(e);\n },\n [onRemove],\n );\n\n return (\n <Option\n {...optionProps}\n className={cx(classNameProp, classBaseListItem)}\n data-name={item.name}\n ref={ref}\n >\n <IconButton\n data-embedded\n appearance=\"transparent\"\n icon=\"draggable\"\n ref={handleRef}\n size={16}\n />\n {item.icon ? <Icon name={item.icon} key=\"icon\" /> : null}\n <span className={`${classBase}-text`}>{valueWithHighlighting}</span>\n <IconButton\n className={`${classBaseListItem}-action`}\n data-embedded\n appearance=\"transparent\"\n icon=\"cross\"\n onClick={handleRemoveButtonClick}\n size={16}\n />\n </Option>\n );\n};\n\nconst AvailableListItem = ({\n className: classNameProp,\n index,\n item,\n onAdd,\n searchPattern = \"\",\n disabled,\n ...optionProps\n}: OptionProps & {\n index: number;\n item: ItemDescriptor;\n onAdd: MouseEventHandler<HTMLButtonElement>;\n searchPattern?: Lowercase<string>;\n}) => {\n const value = getItemLabel(item as ItemDescriptor);\n const valueWithHighlighting = applyHighlighting(value, searchPattern);\n\n return (\n <Option\n {...optionProps}\n className={cx(classNameProp, classBaseListItem)}\n data-name={item.name}\n disabled={disabled}\n >\n <span className={`${classBase}-text`}>{valueWithHighlighting}</span>\n <IconButton\n className={`${classBaseListItem}-action`}\n data-embedded\n appearance=\"transparent\"\n icon=\"plus\"\n onClick={onAdd}\n size={16}\n disabled={disabled}\n />\n </Option>\n );\n};\n\n/** Generic controlled component that displays items in a 'picker' that are available to search, select, reorder or deselect.\n * As input props, all available items, currently selected items, search text and callback functions for changes in selected items and search text\n * must be supplied by the client.\n */\nexport const ItemPicker = forwardRef(function ItemPicker(\n {\n className,\n itemTypeName,\n allItems,\n selectedItems,\n maxSelections,\n onSelectedItemsChange,\n onSelectionChange,\n selected = NO_SELECTION,\n createCustomItemProps,\n ...htmlAttributes\n }: ItemPickerProps,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-item-picker\",\n css: itemPickerCss,\n window: targetWindow,\n });\n\n const searchCallbackRef = useCallback<RefCallback<HTMLElement>>((el) => {\n setTimeout(() => {\n el?.querySelector(\"input\")?.focus();\n }, 100);\n }, []);\n\n const {\n selectedItemsCount,\n availableItemsCount,\n selectedItemsFiltered,\n availableItemsFiltered,\n searchText,\n onChangeSearchInput,\n onAddItemToSelectedList,\n onRemoveItemFromSelectedList,\n onReorderSelectedItems,\n } = useItemPicker({\n allItems,\n selectedItems,\n onSelectedItemsChange,\n maxSelections,\n });\n\n const listRef = useRef<HTMLDivElement>(null);\n\n const getOptionName = (option?: HTMLElement) => {\n if (option) {\n const { name } = option.dataset;\n if (name) {\n return name;\n }\n }\n throw Error(\"[ItemPicker] list option has no data-name\");\n };\n\n const handleDragEnd = useCallback(() => {\n setTimeout(() => {\n const listItems =\n listRef.current?.querySelectorAll<HTMLDivElement>(\".saltOption\");\n if (listItems) {\n const orderedItemNames = Array.from(listItems).map(getOptionName);\n onReorderSelectedItems(orderedItemNames);\n }\n }, 300);\n }, [availableItemsFiltered, selectedItemsFiltered]);\n\n const searchPlaceholderText = `Find ${singularForm(itemTypeName)}`;\n const maxSelectionsSubHeading = maxSelections ? `(${maxSelections} max)` : \"\";\n const selectedItemsHeading = `${selectedItemsCount} ${selectedItemsCount === 1 ? singularForm(itemTypeName) : pluralForm(itemTypeName)} in view ${maxSelectionsSubHeading}`;\n const availableItemsHeading = `${availableItemsCount} available ${availableItemsCount === 1 ? singularForm(itemTypeName) : pluralForm(itemTypeName)}`;\n\n return (\n <div\n {...htmlAttributes}\n className={cx(classBase, className)}\n ref={forwardedRef}\n >\n <form className={`${classBase}-search`} role=\"search\">\n <Input\n startAdornment={searchIcon}\n placeholder={searchPlaceholderText}\n ref={searchCallbackRef}\n value={searchText}\n onChange={onChangeSearchInput}\n />\n </form>\n\n <div className={`${classBase}-scrollContainer vuuScrollable`}>\n <div className={`${classBase}-sectionHeader`}>\n {selectedItemsHeading}\n </div>\n <DragDropProvider onDragEnd={handleDragEnd}>\n <ListBox\n className={`${classBase}-selectedList`}\n onSelectionChange={onSelectionChange}\n ref={listRef}\n selected={selected}\n >\n {selectedItemsFiltered.map((item, index) => (\n <SelectedListItem\n item={item}\n index={index}\n key={item.name}\n onRemove={onRemoveItemFromSelectedList}\n searchPattern={searchText.toLowerCase() as Lowercase<string>}\n value={item}\n />\n ))}\n </ListBox>\n </DragDropProvider>\n\n <div\n className={cx(\n `${classBase}-sectionHeader`,\n `${classBase}-availableHeader`,\n )}\n >\n {availableItemsHeading}\n </div>\n <ListBox\n className={`${classBase}-availableList`}\n selected={NO_SELECTION}\n >\n {availableItemsFiltered.map((item, index) => (\n <AvailableListItem\n item={item}\n index={index}\n key={item.name}\n onAdd={onAddItemToSelectedList}\n searchPattern={searchText.toLowerCase() as Lowercase<string>}\n value={item}\n disabled={selectedItemsCount === maxSelections}\n />\n ))}\n </ListBox>\n </div>\n {createCustomItemProps ? (\n <div className={`${classBase}-item-buttons`}>\n <Button onClick={createCustomItemProps.onClickCreateCustomItem}>\n {createCustomItemProps.buttonLabel}\n </Button>\n </div>\n ) : null}\n </div>\n );\n});\n"],"names":["ItemPicker"],"mappings":"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"}
@@ -1,115 +0,0 @@
1
- import { reorderItems, queryClosest } from '@vuu-ui/vuu-utils';
2
- import { useState, useCallback, useMemo } from 'react';
3
-
4
- const filterItems = (items, pattern) => {
5
- if (pattern) {
6
- const lowerCasePattern = pattern.toLowerCase();
7
- return items.filter(
8
- (item) => getItemLabel(item).toLowerCase().indexOf(lowerCasePattern) !== -1
9
- );
10
- } else {
11
- return items;
12
- }
13
- };
14
- const getItemLabel = (item) => {
15
- if (item.label) return item.label;
16
- else return item.name;
17
- };
18
- const itemName = (target) => {
19
- const listItem = queryClosest(target, ".saltOption", true);
20
- const { name } = listItem.dataset;
21
- if (name) {
22
- return name;
23
- } else {
24
- throw Error(
25
- "[useItemPicker] item name could not be identified, data-name attribute not found"
26
- );
27
- }
28
- };
29
- const byItemName = ({ name: n1 }, { name: n2 }) => n1 > n2 ? 1 : n2 > n1 ? -1 : 0;
30
- const useItemPicker = ({
31
- allItems,
32
- selectedItems,
33
- maxSelections,
34
- onSelectedItemsChange
35
- }) => {
36
- if (maxSelections && selectedItems.length > maxSelections) {
37
- throw Error(
38
- `[useItemPicker] max selections ${maxSelections} exceeded by selected items (that has count ${selectedItems.length})`
39
- );
40
- }
41
- const [searchPattern, setSearchPattern] = useState("");
42
- const handleChangeSearchInput = useCallback((evt) => {
43
- const { value } = evt.target;
44
- setSearchPattern(value);
45
- }, []);
46
- const handleAddItemToSelectedList = useCallback(
47
- (e) => {
48
- const name = itemName(e.target);
49
- const itemToAdd = allItems.find((item) => item.name === name);
50
- if (itemToAdd) {
51
- const newSelectedItems = selectedItems.concat(itemToAdd);
52
- onSelectedItemsChange(newSelectedItems);
53
- } else {
54
- throw Error(
55
- `[useItemPicker] handleAddItemToSelectedList, item '${name}' not found`
56
- );
57
- }
58
- },
59
- [allItems, selectedItems, onSelectedItemsChange]
60
- );
61
- const handleRemoveItemFromSelectedList = useCallback(
62
- (e) => {
63
- const name = itemName(e.target);
64
- const itemToRemove = selectedItems.find((item) => item.name === name);
65
- if (itemToRemove) {
66
- const newSelectedItems = selectedItems.filter(
67
- (item) => item.name !== name
68
- );
69
- onSelectedItemsChange(newSelectedItems);
70
- } else {
71
- throw Error(
72
- `[useItemPicker] handleRemoveItemFromSelectedList, item '${name}' not found`
73
- );
74
- }
75
- },
76
- [selectedItems, onSelectedItemsChange]
77
- );
78
- const handleReorderSelectedItems = useCallback(
79
- (orderedItemNames) => {
80
- const reorderedSelectedItems = reorderItems(
81
- selectedItems,
82
- orderedItemNames
83
- );
84
- onSelectedItemsChange(reorderedSelectedItems);
85
- },
86
- [selectedItems, onSelectedItemsChange]
87
- );
88
- const getSelectedItemsFiltered = useMemo(() => {
89
- return filterItems(selectedItems, searchPattern);
90
- }, [selectedItems, searchPattern]);
91
- const getAvailableItemsFiltered = useMemo(() => {
92
- return filterItems(allItems, searchPattern).filter(
93
- ({ name }) => selectedItems.findIndex((item) => item.name === name) === -1
94
- ).toSorted(byItemName);
95
- }, [allItems, selectedItems, searchPattern]);
96
- const getAvailableItemsCount = useMemo(() => {
97
- return allItems.filter(
98
- ({ name }) => selectedItems.findIndex((item) => item.name === name) === -1
99
- ).length;
100
- }, [allItems, selectedItems]);
101
- return {
102
- selectedItemsCount: selectedItems.length,
103
- availableItemsCount: getAvailableItemsCount,
104
- selectedItemsFiltered: getSelectedItemsFiltered,
105
- availableItemsFiltered: getAvailableItemsFiltered,
106
- searchText: searchPattern,
107
- onChangeSearchInput: handleChangeSearchInput,
108
- onAddItemToSelectedList: handleAddItemToSelectedList,
109
- onRemoveItemFromSelectedList: handleRemoveItemFromSelectedList,
110
- onReorderSelectedItems: handleReorderSelectedItems
111
- };
112
- };
113
-
114
- export { getItemLabel, useItemPicker };
115
- //# sourceMappingURL=useItemPicker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useItemPicker.js","sources":["../../../../packages/vuu-ui-controls/src/item-picker/useItemPicker.tsx"],"sourcesContent":["import { queryClosest, reorderItems } from \"@vuu-ui/vuu-utils\";\nimport {\n FormEventHandler,\n MouseEventHandler,\n useCallback,\n useMemo,\n useState,\n} from \"react\";\n\n/** This is a public description of an Item that can be displayed in the ItemPicker component, defining all the\n * mandatory and option attributes that can be defined by the client. */\nexport interface ItemDescriptor {\n /** Unique name for this data value */\n name: string;\n /** Optional label for display instead of the name */\n label?: string;\n /** Optional data-icon name for display of an icon to the left of the item label/name in the selected list */\n icon?: string;\n /** Optional string to define groups of items for client reference, not currently used for rendering */\n group?: string;\n}\n\nexport interface CreateCustomItemProps {\n buttonLabel: string;\n onClickCreateCustomItem: MouseEventHandler<HTMLButtonElement>;\n}\n\nexport interface ItemPickerHookProps {\n allItems: ItemDescriptor[];\n selectedItems: ItemDescriptor[];\n maxSelections?: number;\n onSelectedItemsChange: (newSelectedItems: ItemDescriptor[]) => void;\n}\n\nconst filterItems = (\n items: readonly ItemDescriptor[],\n pattern: string,\n): readonly ItemDescriptor[] => {\n if (pattern) {\n const lowerCasePattern = pattern.toLowerCase();\n return items.filter(\n (item) =>\n getItemLabel(item).toLowerCase().indexOf(lowerCasePattern) !== -1,\n );\n } else {\n return items;\n }\n};\n\nexport const getItemLabel = (item: ItemDescriptor) => {\n if (item.label) return item.label;\n else return item.name;\n};\n\nconst itemName = (target: EventTarget): string => {\n const listItem = queryClosest(target, \".saltOption\", true);\n const { name } = listItem.dataset;\n if (name) {\n return name;\n } else {\n throw Error(\n \"[useItemPicker] item name could not be identified, data-name attribute not found\",\n );\n }\n};\n\nconst byItemName = (\n { name: n1 }: ItemDescriptor,\n { name: n2 }: ItemDescriptor,\n) => (n1 > n2 ? 1 : n2 > n1 ? -1 : 0);\n\nexport const useItemPicker = ({\n allItems,\n selectedItems,\n maxSelections,\n onSelectedItemsChange,\n}: ItemPickerHookProps) => {\n if (maxSelections && selectedItems.length > maxSelections) {\n throw Error(\n `[useItemPicker] max selections ${maxSelections} exceeded by selected items (that has count ${selectedItems.length})`,\n );\n }\n\n const [searchPattern, setSearchPattern] = useState(\"\");\n\n const handleChangeSearchInput = useCallback<FormEventHandler>((evt) => {\n const { value } = evt.target as HTMLInputElement;\n setSearchPattern(value);\n }, []);\n\n const handleAddItemToSelectedList = useCallback<\n MouseEventHandler<HTMLButtonElement>\n >(\n (e) => {\n const name = itemName(e.target);\n const itemToAdd = allItems.find((item) => item.name === name);\n if (itemToAdd) {\n const newSelectedItems = selectedItems.concat(itemToAdd);\n onSelectedItemsChange(newSelectedItems);\n } else {\n throw Error(\n `[useItemPicker] handleAddItemToSelectedList, item '${name}' not found`,\n );\n }\n },\n [allItems, selectedItems, onSelectedItemsChange],\n );\n\n const handleRemoveItemFromSelectedList = useCallback<\n MouseEventHandler<HTMLButtonElement>\n >(\n (e) => {\n const name = itemName(e.target);\n const itemToRemove = selectedItems.find((item) => item.name === name);\n if (itemToRemove) {\n const newSelectedItems = selectedItems.filter(\n (item) => item.name !== name,\n );\n onSelectedItemsChange(newSelectedItems);\n } else {\n throw Error(\n `[useItemPicker] handleRemoveItemFromSelectedList, item '${name}' not found`,\n );\n }\n },\n [selectedItems, onSelectedItemsChange],\n );\n\n const handleReorderSelectedItems = useCallback(\n (orderedItemNames: string[]) => {\n const reorderedSelectedItems: ItemDescriptor[] = reorderItems(\n selectedItems,\n orderedItemNames,\n );\n onSelectedItemsChange(reorderedSelectedItems);\n },\n [selectedItems, onSelectedItemsChange],\n );\n\n const getSelectedItemsFiltered = useMemo(() => {\n return filterItems(selectedItems, searchPattern);\n }, [selectedItems, searchPattern]);\n\n const getAvailableItemsFiltered = useMemo(() => {\n return filterItems(allItems, searchPattern)\n .filter(\n ({ name }) =>\n selectedItems.findIndex((item) => item.name === name) === -1,\n )\n .toSorted(byItemName);\n }, [allItems, selectedItems, searchPattern]);\n\n const getAvailableItemsCount = useMemo(() => {\n return allItems.filter(\n ({ name }) =>\n selectedItems.findIndex((item) => item.name === name) === -1,\n ).length;\n }, [allItems, selectedItems]);\n\n return {\n selectedItemsCount: selectedItems.length,\n availableItemsCount: getAvailableItemsCount,\n selectedItemsFiltered: getSelectedItemsFiltered,\n availableItemsFiltered: getAvailableItemsFiltered,\n searchText: searchPattern,\n onChangeSearchInput: handleChangeSearchInput,\n onAddItemToSelectedList: handleAddItemToSelectedList,\n onRemoveItemFromSelectedList: handleRemoveItemFromSelectedList,\n onReorderSelectedItems: handleReorderSelectedItems,\n };\n};\n"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- var measuredContainerCss = "\n.vuuMeasuredContainer {\n flex: var(--vuuMeasuredContainer-flex, none);\n height: var(--vuuMeasuredContainer-height, var(--measured-css-height));\n min-height: 0;\n width: var(--measured-css-width);\n \n}";
2
-
3
- export { measuredContainerCss as default };
4
- //# sourceMappingURL=MeasuredContainer.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MeasuredContainer.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,70 +0,0 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { useComponentCssInjection } from '@salt-ds/styles';
3
- import { useWindow } from '@salt-ds/window';
4
- import { forwardRef } from 'react';
5
- import { useMeasuredContainer } from './useMeasuredContainer.js';
6
- import { useForkRef } from '@salt-ds/core';
7
- import cx from 'clsx';
8
- import measuredContainerCss from './MeasuredContainer.css.js';
9
-
10
- const baseClass = "vuuMeasuredContainer";
11
- const MeasuredContainer = forwardRef(function MeasuredContainer2({
12
- children,
13
- className,
14
- height,
15
- onResize,
16
- resizeStrategy,
17
- style,
18
- width,
19
- ...htmlAttributes
20
- }, forwardedRef) {
21
- const targetWindow = useWindow();
22
- useComponentCssInjection({
23
- testId: "vuu-measured-container",
24
- css: measuredContainerCss,
25
- window: targetWindow
26
- });
27
- const { containerRef, ...containerMeasurements } = useMeasuredContainer({
28
- height,
29
- onResize,
30
- resizeStrategy,
31
- width
32
- });
33
- const { cssSize, innerSize } = containerMeasurements;
34
- const unmeasured = innerSize === void 0;
35
- const getStyle = () => {
36
- return unmeasured ? {
37
- ...style,
38
- "--measured-css-height": `${cssSize.height}`,
39
- "--measured-css-width": `${cssSize.width}`
40
- } : {
41
- ...style,
42
- "--measured-css-height": `${cssSize.height}`,
43
- "--measured-css-width": `${cssSize.width}`,
44
- "--measured-px-height": `${innerSize?.height}px`,
45
- "--measured-px-width": `${innerSize?.width}px`
46
- };
47
- };
48
- const forkedRef = useForkRef(containerRef, forwardedRef);
49
- return unmeasured ? /* @__PURE__ */ jsx(
50
- "div",
51
- {
52
- ...htmlAttributes,
53
- className: cx(baseClass, `${baseClass}-ummeasured`),
54
- style: getStyle(),
55
- ref: containerRef
56
- }
57
- ) : /* @__PURE__ */ jsx(
58
- "div",
59
- {
60
- ...htmlAttributes,
61
- className: cx(baseClass, className),
62
- ref: forkedRef,
63
- style: getStyle(),
64
- children
65
- }
66
- );
67
- });
68
-
69
- export { MeasuredContainer };
70
- //# sourceMappingURL=MeasuredContainer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MeasuredContainer.js","sources":["../../../../packages/vuu-ui-controls/src/measured-container/MeasuredContainer.tsx"],"sourcesContent":["import { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { CSSProperties, forwardRef, ForwardedRef, HTMLAttributes } from \"react\";\nimport { MeasuredSize, useMeasuredContainer } from \"./useMeasuredContainer\";\nimport { useForkRef } from \"@salt-ds/core\";\nimport cx from \"clsx\";\n\nimport measuredContainerCss from \"./MeasuredContainer.css\";\n\nexport type ResizeStrategy = \"defer\" | \"responsive\";\n\nexport interface MeasuredContainerProps\n extends Omit<HTMLAttributes<HTMLDivElement>, \"onResize\"> {\n /**\n * A numeric value for height will result in a fixed height. To adapt to container\n * use either a percentage height or 'auto'. Always use 'auto' when rendering\n * within a column based flex container, together with a flex value (use the\n * --vuuMeasuredContainer-flex CSS custom property))\n */\n height?: number | string;\n onResize?: (size: MeasuredSize) => void;\n resizeStrategy?: ResizeStrategy;\n width?: number | string;\n}\n\nconst baseClass = \"vuuMeasuredContainer\";\n\nexport const MeasuredContainer = forwardRef(function MeasuredContainer(\n {\n children,\n className,\n height,\n onResize,\n resizeStrategy,\n style,\n width,\n ...htmlAttributes\n }: MeasuredContainerProps,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-measured-container\",\n css: measuredContainerCss,\n window: targetWindow,\n });\n\n const { containerRef, ...containerMeasurements } = useMeasuredContainer({\n height,\n onResize,\n resizeStrategy,\n width,\n });\n\n const { cssSize, innerSize } = containerMeasurements;\n const unmeasured = innerSize === undefined;\n\n const getStyle = () => {\n return unmeasured\n ? ({\n ...style,\n \"--measured-css-height\": `${cssSize.height}`,\n \"--measured-css-width\": `${cssSize.width}`,\n } as CSSProperties)\n : ({\n ...style,\n \"--measured-css-height\": `${cssSize.height}`,\n \"--measured-css-width\": `${cssSize.width}`,\n \"--measured-px-height\": `${innerSize?.height}px`,\n \"--measured-px-width\": `${innerSize?.width}px`,\n } as CSSProperties);\n };\n\n const forkedRef = useForkRef(containerRef, forwardedRef);\n\n return unmeasured ? (\n <div\n {...htmlAttributes}\n className={cx(baseClass, `${baseClass}-ummeasured`)}\n style={getStyle()}\n ref={containerRef}\n />\n ) : (\n <div\n {...htmlAttributes}\n className={cx(baseClass, className)}\n ref={forkedRef}\n style={getStyle()}\n >\n {children}\n </div>\n );\n});\n"],"names":["MeasuredContainer"],"mappings":";;;;;;;;;AAyBA,MAAM,SAAY,GAAA,sBAAA;AAEL,MAAA,iBAAA,GAAoB,UAAW,CAAA,SAASA,kBACnD,CAAA;AAAA,EACE,QAAA;AAAA,EACA,SAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,cAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAG;AACL,CAAA,EACA,YACA,EAAA;AACA,EAAA,MAAM,eAAe,SAAU,EAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,wBAAA;AAAA,IACR,GAAK,EAAA,oBAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EAAA,MAAM,EAAE,YAAA,EAAc,GAAG,qBAAA,KAA0B,oBAAqB,CAAA;AAAA,IACtE,MAAA;AAAA,IACA,QAAA;AAAA,IACA,cAAA;AAAA,IACA;AAAA,GACD,CAAA;AAED,EAAM,MAAA,EAAE,OAAS,EAAA,SAAA,EAAc,GAAA,qBAAA;AAC/B,EAAA,MAAM,aAAa,SAAc,KAAA,KAAA,CAAA;AAEjC,EAAA,MAAM,WAAW,MAAM;AACrB,IAAA,OAAO,UACF,GAAA;AAAA,MACC,GAAG,KAAA;AAAA,MACH,uBAAA,EAAyB,CAAG,EAAA,OAAA,CAAQ,MAAM,CAAA,CAAA;AAAA,MAC1C,sBAAA,EAAwB,CAAG,EAAA,OAAA,CAAQ,KAAK,CAAA;AAAA,KAEzC,GAAA;AAAA,MACC,GAAG,KAAA;AAAA,MACH,uBAAA,EAAyB,CAAG,EAAA,OAAA,CAAQ,MAAM,CAAA,CAAA;AAAA,MAC1C,sBAAA,EAAwB,CAAG,EAAA,OAAA,CAAQ,KAAK,CAAA,CAAA;AAAA,MACxC,sBAAA,EAAwB,CAAG,EAAA,SAAA,EAAW,MAAM,CAAA,EAAA,CAAA;AAAA,MAC5C,qBAAA,EAAuB,CAAG,EAAA,SAAA,EAAW,KAAK,CAAA,EAAA;AAAA,KAC5C;AAAA,GACN;AAEA,EAAM,MAAA,SAAA,GAAY,UAAW,CAAA,YAAA,EAAc,YAAY,CAAA;AAEvD,EAAA,OAAO,UACL,mBAAA,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACE,GAAG,cAAA;AAAA,MACJ,SAAW,EAAA,EAAA,CAAG,SAAW,EAAA,CAAA,EAAG,SAAS,CAAa,WAAA,CAAA,CAAA;AAAA,MAClD,OAAO,QAAS,EAAA;AAAA,MAChB,GAAK,EAAA;AAAA;AAAA,GAGP,mBAAA,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACE,GAAG,cAAA;AAAA,MACJ,SAAA,EAAW,EAAG,CAAA,SAAA,EAAW,SAAS,CAAA;AAAA,MAClC,GAAK,EAAA,SAAA;AAAA,MACL,OAAO,QAAS,EAAA;AAAA,MAEf;AAAA;AAAA,GACH;AAEJ,CAAC;;;;"}