@vuu-ui/vuu-ui-controls 0.13.2 → 0.13.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (912) hide show
  1. package/cjs/node_modules/@dnd-kit/abstract/index.js +596 -0
  2. package/cjs/node_modules/@dnd-kit/abstract/index.js.map +1 -0
  3. package/cjs/node_modules/@dnd-kit/collision/dist/index.js +91 -0
  4. package/cjs/node_modules/@dnd-kit/collision/dist/index.js.map +1 -0
  5. package/cjs/node_modules/@dnd-kit/dom/index.js +1645 -0
  6. package/cjs/node_modules/@dnd-kit/dom/index.js.map +1 -0
  7. package/cjs/node_modules/@dnd-kit/dom/sortable.js +833 -0
  8. package/cjs/node_modules/@dnd-kit/dom/sortable.js.map +1 -0
  9. package/cjs/node_modules/@dnd-kit/dom/utilities.js +1389 -0
  10. package/cjs/node_modules/@dnd-kit/dom/utilities.js.map +1 -0
  11. package/cjs/node_modules/@dnd-kit/geometry/dist/index.js +310 -0
  12. package/cjs/node_modules/@dnd-kit/geometry/dist/index.js.map +1 -0
  13. package/cjs/node_modules/@dnd-kit/react/hooks.js +86 -0
  14. package/cjs/node_modules/@dnd-kit/react/hooks.js.map +1 -0
  15. package/cjs/node_modules/@dnd-kit/react/sortable.js +177 -0
  16. package/cjs/node_modules/@dnd-kit/react/sortable.js.map +1 -0
  17. package/cjs/node_modules/@dnd-kit/react/utilities.js +19 -0
  18. package/cjs/node_modules/@dnd-kit/react/utilities.js.map +1 -0
  19. package/cjs/node_modules/@dnd-kit/state/dist/index.js +272 -0
  20. package/cjs/node_modules/@dnd-kit/state/dist/index.js.map +1 -0
  21. package/cjs/node_modules/@preact/signals-core/dist/signals-core.js +11 -0
  22. package/cjs/node_modules/@preact/signals-core/dist/signals-core.js.map +1 -0
  23. package/cjs/packages/vuu-ui-controls/src/calendar/Calendar.js.map +1 -0
  24. package/cjs/packages/vuu-ui-controls/src/calendar/internal/CalendarCarousel.js.map +1 -0
  25. package/cjs/packages/vuu-ui-controls/src/calendar/internal/CalendarContext.js.map +1 -0
  26. package/cjs/packages/vuu-ui-controls/src/calendar/internal/CalendarDay.js.map +1 -0
  27. package/cjs/packages/vuu-ui-controls/src/calendar/internal/CalendarMonth.js.map +1 -0
  28. package/cjs/packages/vuu-ui-controls/src/calendar/internal/CalendarNavigation.js.map +1 -0
  29. package/cjs/packages/vuu-ui-controls/src/calendar/internal/CalendarWeekHeader.js.map +1 -0
  30. package/cjs/packages/vuu-ui-controls/src/calendar/internal/useFocusManagement.js.map +1 -0
  31. package/cjs/packages/vuu-ui-controls/src/calendar/internal/utils.js.map +1 -0
  32. package/cjs/packages/vuu-ui-controls/src/calendar/useCalendar.js.map +1 -0
  33. package/cjs/packages/vuu-ui-controls/src/calendar/useCalendarDay.js.map +1 -0
  34. package/cjs/packages/vuu-ui-controls/src/calendar/useSelection.js.map +1 -0
  35. package/cjs/packages/vuu-ui-controls/src/column-picker/ColumnPicker.js +128 -0
  36. package/cjs/packages/vuu-ui-controls/src/column-picker/ColumnPicker.js.map +1 -0
  37. package/cjs/packages/vuu-ui-controls/src/column-picker/ColumnSearch.js +62 -0
  38. package/cjs/packages/vuu-ui-controls/src/column-picker/ColumnSearch.js.map +1 -0
  39. package/cjs/packages/vuu-ui-controls/src/common-hooks/selectionTypes.js.map +1 -0
  40. package/cjs/packages/vuu-ui-controls/src/common-hooks/use-resize-observer.js.map +1 -0
  41. package/cjs/packages/vuu-ui-controls/src/common-hooks/useControlled.js.map +1 -0
  42. package/cjs/packages/vuu-ui-controls/src/context-panel-provider/ContextPanelProvider.js +55 -0
  43. package/cjs/packages/vuu-ui-controls/src/context-panel-provider/ContextPanelProvider.js.map +1 -0
  44. package/cjs/packages/vuu-ui-controls/src/cycle-state-button/CycleStateButton.js.map +1 -0
  45. package/cjs/packages/vuu-ui-controls/src/date-input/DateInput.js.map +1 -0
  46. package/cjs/packages/vuu-ui-controls/src/date-picker/DatePicker.js.map +1 -0
  47. package/cjs/packages/vuu-ui-controls/src/date-picker/DatePickerContext.js.map +1 -0
  48. package/cjs/packages/vuu-ui-controls/src/date-picker/DatePickerPanel.js.map +1 -0
  49. package/cjs/packages/vuu-ui-controls/src/drag-drop/DragDropProvider.js.map +1 -0
  50. package/cjs/packages/vuu-ui-controls/src/drag-drop/DragDropState.js.map +1 -0
  51. package/cjs/packages/vuu-ui-controls/src/drag-drop/Draggable.js.map +1 -0
  52. package/cjs/packages/vuu-ui-controls/src/drag-drop/dragDropTypes.js.map +1 -0
  53. package/cjs/packages/vuu-ui-controls/src/drag-drop/drop-target-utils.js.map +1 -0
  54. package/cjs/packages/vuu-ui-controls/src/drag-drop/useAutoScroll.js.map +1 -0
  55. package/cjs/packages/vuu-ui-controls/src/drag-drop/useDragDisplacers.js.map +1 -0
  56. package/cjs/packages/vuu-ui-controls/src/drag-drop/useDragDrop.js.map +1 -0
  57. package/cjs/packages/vuu-ui-controls/src/drag-drop/useDragDropCopy.js.map +1 -0
  58. package/cjs/packages/vuu-ui-controls/src/drag-drop/useDragDropIndicator.js.map +1 -0
  59. package/cjs/packages/vuu-ui-controls/src/drag-drop/useDragDropNaturalMovement.js.map +1 -0
  60. package/cjs/packages/vuu-ui-controls/src/drag-drop/useDropIndicator.js.map +1 -0
  61. package/cjs/packages/vuu-ui-controls/src/drag-drop/useGlobalDragDrop.js.map +1 -0
  62. package/cjs/packages/vuu-ui-controls/src/editable/useEditableText.js.map +1 -0
  63. package/cjs/packages/vuu-ui-controls/src/editable-label/EditableLabel.js.map +1 -0
  64. package/cjs/packages/vuu-ui-controls/src/expando-input/ExpandoInput.js.map +1 -0
  65. package/cjs/packages/vuu-ui-controls/src/icon-button/Icon.js.map +1 -0
  66. package/cjs/packages/vuu-ui-controls/src/icon-button/IconButton.js.map +1 -0
  67. package/cjs/packages/vuu-ui-controls/src/icon-button/ToggleIconButton.js.map +1 -0
  68. package/cjs/packages/vuu-ui-controls/src/index.js +158 -0
  69. package/cjs/packages/vuu-ui-controls/src/index.js.map +1 -0
  70. package/cjs/packages/vuu-ui-controls/src/instrument-picker/TablePicker.js.map +1 -0
  71. package/cjs/packages/vuu-ui-controls/src/instrument-picker/useTablePicker.js.map +1 -0
  72. package/cjs/packages/vuu-ui-controls/src/measured-container/MeasuredContainer.js.map +1 -0
  73. package/cjs/packages/vuu-ui-controls/src/measured-container/useMeasuredContainer.js.map +1 -0
  74. package/cjs/packages/vuu-ui-controls/src/measured-container/useResizeObserver.js.map +1 -0
  75. package/cjs/packages/vuu-ui-controls/src/overflow-container/OverflowContainer.js.map +1 -0
  76. package/cjs/packages/vuu-ui-controls/src/overflow-container/overflow-utils.js.map +1 -0
  77. package/cjs/packages/vuu-ui-controls/src/overflow-container/useOverflowContainer.js.map +1 -0
  78. package/cjs/packages/vuu-ui-controls/src/price-ticker/PriceTicker.js.map +1 -0
  79. package/cjs/packages/vuu-ui-controls/src/sortable-list/SortableList.js +38 -0
  80. package/cjs/packages/vuu-ui-controls/src/sortable-list/SortableList.js.map +1 -0
  81. package/cjs/packages/vuu-ui-controls/src/split-button/SplitButton.js.map +1 -0
  82. package/cjs/packages/vuu-ui-controls/src/split-button/SplitStateButton.js.map +1 -0
  83. package/cjs/packages/vuu-ui-controls/src/split-button/useSplitButton.js.map +1 -0
  84. package/cjs/packages/vuu-ui-controls/src/table-search/SearchCell.js.map +1 -0
  85. package/cjs/packages/vuu-ui-controls/src/table-search/TableSearch.js.map +1 -0
  86. package/cjs/packages/vuu-ui-controls/src/table-search/useTableSearch.js.map +1 -0
  87. package/cjs/packages/vuu-ui-controls/src/tabs-next/TabBar.js.map +1 -0
  88. package/cjs/packages/vuu-ui-controls/src/tabs-next/TabListNext.js.map +1 -0
  89. package/cjs/packages/vuu-ui-controls/src/tabs-next/TabNext.js.map +1 -0
  90. package/cjs/packages/vuu-ui-controls/src/tabs-next/TabNextAction.js.map +1 -0
  91. package/cjs/packages/vuu-ui-controls/src/tabs-next/TabNextContext.js.map +1 -0
  92. package/cjs/packages/vuu-ui-controls/src/tabs-next/TabNextPanel.js.map +1 -0
  93. package/cjs/packages/vuu-ui-controls/src/tabs-next/TabNextTrigger.js.map +1 -0
  94. package/cjs/packages/vuu-ui-controls/src/tabs-next/TabOverflowList.js.map +1 -0
  95. package/cjs/packages/vuu-ui-controls/src/tabs-next/TabsNext.js.map +1 -0
  96. package/cjs/packages/vuu-ui-controls/src/tabs-next/TabsNextContext.js.map +1 -0
  97. package/cjs/packages/vuu-ui-controls/src/tabs-next/hooks/useCollection.js.map +1 -0
  98. package/cjs/packages/vuu-ui-controls/src/tabs-next/hooks/useFocusOutside.js.map +1 -0
  99. package/cjs/packages/vuu-ui-controls/src/tabs-next/hooks/useOverflow.js.map +1 -0
  100. package/cjs/packages/vuu-ui-controls/src/tabstrip/Tab.js.map +1 -0
  101. package/cjs/packages/vuu-ui-controls/src/tabstrip/TabMenu.js.map +1 -0
  102. package/cjs/packages/vuu-ui-controls/src/tabstrip/TabMenuOptions.js.map +1 -0
  103. package/cjs/packages/vuu-ui-controls/src/tabstrip/Tabstrip.js.map +1 -0
  104. package/cjs/packages/vuu-ui-controls/src/tabstrip/tabstrip-dom-utils.js.map +1 -0
  105. package/cjs/packages/vuu-ui-controls/src/tabstrip/useAnimatedSelectionThumb.js.map +1 -0
  106. package/cjs/packages/vuu-ui-controls/src/tabstrip/useKeyboardNavigation.js.map +1 -0
  107. package/cjs/packages/vuu-ui-controls/src/tabstrip/useSelection.js.map +1 -0
  108. package/cjs/packages/vuu-ui-controls/src/tabstrip/useTabstrip.js.map +1 -0
  109. package/cjs/packages/vuu-ui-controls/src/toolbar/Toolbar.js.map +1 -0
  110. package/cjs/packages/vuu-ui-controls/src/toolbar/toolbar-dom-utils.js.map +1 -0
  111. package/cjs/packages/vuu-ui-controls/src/toolbar/useKeyboardNavigation.js.map +1 -0
  112. package/cjs/packages/vuu-ui-controls/src/toolbar/useSelection.js +93 -0
  113. package/cjs/packages/vuu-ui-controls/src/toolbar/useSelection.js.map +1 -0
  114. package/cjs/packages/vuu-ui-controls/src/toolbar/useToolbar.js.map +1 -0
  115. package/cjs/packages/vuu-ui-controls/src/utils/escapeRegExp.js.map +1 -0
  116. package/cjs/packages/vuu-ui-controls/src/utils/forwardCallbackProps.js.map +1 -0
  117. package/cjs/packages/vuu-ui-controls/src/utils/isOverflowElement.js.map +1 -0
  118. package/cjs/packages/vuu-ui-controls/src/utils/isPlainObject.js.map +1 -0
  119. package/cjs/packages/vuu-ui-controls/src/vuu-date-picker/VuuDatePicker.js.map +1 -0
  120. package/cjs/packages/vuu-ui-controls/src/vuu-input/VuuInput.js.map +1 -0
  121. package/cjs/packages/vuu-ui-controls/src/vuu-typeahead-input/VuuTypeaheadInput.js.map +1 -0
  122. package/cjs/packages/vuu-ui-controls/src/vuu-typeahead-input/useVuuTypeaheadInput.js.map +1 -0
  123. package/esm/node_modules/@dnd-kit/abstract/index.js +584 -0
  124. package/esm/node_modules/@dnd-kit/abstract/index.js.map +1 -0
  125. package/esm/node_modules/@dnd-kit/collision/dist/index.js +86 -0
  126. package/esm/node_modules/@dnd-kit/collision/dist/index.js.map +1 -0
  127. package/esm/node_modules/@dnd-kit/dom/index.js +1640 -0
  128. package/esm/node_modules/@dnd-kit/dom/index.js.map +1 -0
  129. package/esm/node_modules/@dnd-kit/dom/sortable.js +827 -0
  130. package/esm/node_modules/@dnd-kit/dom/sortable.js.map +1 -0
  131. package/esm/node_modules/@dnd-kit/dom/utilities.js +1344 -0
  132. package/esm/node_modules/@dnd-kit/dom/utilities.js.map +1 -0
  133. package/esm/node_modules/@dnd-kit/geometry/dist/index.js +303 -0
  134. package/esm/node_modules/@dnd-kit/geometry/dist/index.js.map +1 -0
  135. package/esm/node_modules/@dnd-kit/react/hooks.js +80 -0
  136. package/esm/node_modules/@dnd-kit/react/hooks.js.map +1 -0
  137. package/esm/node_modules/@dnd-kit/react/sortable.js +175 -0
  138. package/esm/node_modules/@dnd-kit/react/sortable.js.map +1 -0
  139. package/esm/node_modules/@dnd-kit/react/utilities.js +17 -0
  140. package/esm/node_modules/@dnd-kit/react/utilities.js.map +1 -0
  141. package/esm/node_modules/@dnd-kit/state/dist/index.js +259 -0
  142. package/esm/node_modules/@dnd-kit/state/dist/index.js.map +1 -0
  143. package/esm/node_modules/@preact/signals-core/dist/signals-core.js +4 -0
  144. package/esm/node_modules/@preact/signals-core/dist/signals-core.js.map +1 -0
  145. package/esm/packages/vuu-ui-controls/src/calendar/Calendar.js.map +1 -0
  146. package/esm/packages/vuu-ui-controls/src/calendar/internal/CalendarCarousel.js.map +1 -0
  147. package/esm/packages/vuu-ui-controls/src/calendar/internal/CalendarContext.js.map +1 -0
  148. package/esm/packages/vuu-ui-controls/src/calendar/internal/CalendarDay.js.map +1 -0
  149. package/esm/packages/vuu-ui-controls/src/calendar/internal/CalendarMonth.js.map +1 -0
  150. package/esm/packages/vuu-ui-controls/src/calendar/internal/CalendarNavigation.js.map +1 -0
  151. package/esm/packages/vuu-ui-controls/src/calendar/internal/CalendarWeekHeader.js.map +1 -0
  152. package/esm/packages/vuu-ui-controls/src/calendar/internal/useFocusManagement.js.map +1 -0
  153. package/esm/packages/vuu-ui-controls/src/calendar/internal/utils.js.map +1 -0
  154. package/esm/packages/vuu-ui-controls/src/calendar/useCalendar.js.map +1 -0
  155. package/esm/packages/vuu-ui-controls/src/calendar/useCalendarDay.js.map +1 -0
  156. package/esm/packages/vuu-ui-controls/src/calendar/useSelection.js.map +1 -0
  157. package/esm/packages/vuu-ui-controls/src/column-picker/ColumnPicker.js +126 -0
  158. package/esm/packages/vuu-ui-controls/src/column-picker/ColumnPicker.js.map +1 -0
  159. package/esm/packages/vuu-ui-controls/src/column-picker/ColumnSearch.js +60 -0
  160. package/esm/packages/vuu-ui-controls/src/column-picker/ColumnSearch.js.map +1 -0
  161. package/esm/packages/vuu-ui-controls/src/common-hooks/selectionTypes.js.map +1 -0
  162. package/esm/packages/vuu-ui-controls/src/common-hooks/use-resize-observer.js.map +1 -0
  163. package/esm/packages/vuu-ui-controls/src/common-hooks/useControlled.js.map +1 -0
  164. package/esm/packages/vuu-ui-controls/src/context-panel-provider/ContextPanelProvider.js +51 -0
  165. package/esm/packages/vuu-ui-controls/src/context-panel-provider/ContextPanelProvider.js.map +1 -0
  166. package/esm/packages/vuu-ui-controls/src/cycle-state-button/CycleStateButton.js.map +1 -0
  167. package/esm/packages/vuu-ui-controls/src/date-input/DateInput.js.map +1 -0
  168. package/esm/packages/vuu-ui-controls/src/date-picker/DatePicker.js.map +1 -0
  169. package/esm/packages/vuu-ui-controls/src/date-picker/DatePickerContext.js.map +1 -0
  170. package/esm/packages/vuu-ui-controls/src/date-picker/DatePickerPanel.js.map +1 -0
  171. package/esm/packages/vuu-ui-controls/src/drag-drop/DragDropProvider.js.map +1 -0
  172. package/esm/packages/vuu-ui-controls/src/drag-drop/DragDropState.js.map +1 -0
  173. package/esm/packages/vuu-ui-controls/src/drag-drop/Draggable.js.map +1 -0
  174. package/esm/packages/vuu-ui-controls/src/drag-drop/dragDropTypes.js.map +1 -0
  175. package/esm/packages/vuu-ui-controls/src/drag-drop/drop-target-utils.js.map +1 -0
  176. package/esm/packages/vuu-ui-controls/src/drag-drop/useAutoScroll.js.map +1 -0
  177. package/esm/packages/vuu-ui-controls/src/drag-drop/useDragDisplacers.js.map +1 -0
  178. package/esm/packages/vuu-ui-controls/src/drag-drop/useDragDrop.js.map +1 -0
  179. package/esm/packages/vuu-ui-controls/src/drag-drop/useDragDropCopy.js.map +1 -0
  180. package/esm/packages/vuu-ui-controls/src/drag-drop/useDragDropIndicator.js.map +1 -0
  181. package/esm/packages/vuu-ui-controls/src/drag-drop/useDragDropNaturalMovement.js.map +1 -0
  182. package/esm/packages/vuu-ui-controls/src/drag-drop/useDropIndicator.js.map +1 -0
  183. package/esm/packages/vuu-ui-controls/src/drag-drop/useGlobalDragDrop.js.map +1 -0
  184. package/esm/packages/vuu-ui-controls/src/editable/useEditableText.js.map +1 -0
  185. package/esm/packages/vuu-ui-controls/src/editable-label/EditableLabel.js.map +1 -0
  186. package/esm/packages/vuu-ui-controls/src/expando-input/ExpandoInput.js.map +1 -0
  187. package/esm/packages/vuu-ui-controls/src/icon-button/Icon.js.map +1 -0
  188. package/esm/packages/vuu-ui-controls/src/icon-button/IconButton.js.map +1 -0
  189. package/esm/packages/vuu-ui-controls/src/icon-button/ToggleIconButton.js.map +1 -0
  190. package/esm/packages/vuu-ui-controls/src/index.js +54 -0
  191. package/esm/packages/vuu-ui-controls/src/index.js.map +1 -0
  192. package/esm/packages/vuu-ui-controls/src/instrument-picker/TablePicker.js.map +1 -0
  193. package/esm/packages/vuu-ui-controls/src/instrument-picker/useTablePicker.js.map +1 -0
  194. package/esm/packages/vuu-ui-controls/src/measured-container/MeasuredContainer.js.map +1 -0
  195. package/esm/packages/vuu-ui-controls/src/measured-container/useMeasuredContainer.js.map +1 -0
  196. package/esm/packages/vuu-ui-controls/src/measured-container/useResizeObserver.js.map +1 -0
  197. package/esm/packages/vuu-ui-controls/src/overflow-container/OverflowContainer.js.map +1 -0
  198. package/esm/packages/vuu-ui-controls/src/overflow-container/overflow-utils.js.map +1 -0
  199. package/esm/packages/vuu-ui-controls/src/overflow-container/useOverflowContainer.js.map +1 -0
  200. package/esm/packages/vuu-ui-controls/src/price-ticker/PriceTicker.js.map +1 -0
  201. package/esm/packages/vuu-ui-controls/src/sortable-list/SortableList.js +35 -0
  202. package/esm/packages/vuu-ui-controls/src/sortable-list/SortableList.js.map +1 -0
  203. package/esm/packages/vuu-ui-controls/src/split-button/SplitButton.js.map +1 -0
  204. package/esm/packages/vuu-ui-controls/src/split-button/SplitStateButton.js.map +1 -0
  205. package/esm/packages/vuu-ui-controls/src/split-button/useSplitButton.js.map +1 -0
  206. package/esm/packages/vuu-ui-controls/src/table-search/SearchCell.js.map +1 -0
  207. package/esm/packages/vuu-ui-controls/src/table-search/TableSearch.js.map +1 -0
  208. package/esm/packages/vuu-ui-controls/src/table-search/useTableSearch.js.map +1 -0
  209. package/esm/packages/vuu-ui-controls/src/tabs-next/TabBar.js.map +1 -0
  210. package/esm/packages/vuu-ui-controls/src/tabs-next/TabListNext.js.map +1 -0
  211. package/esm/packages/vuu-ui-controls/src/tabs-next/TabNext.js.map +1 -0
  212. package/esm/packages/vuu-ui-controls/src/tabs-next/TabNextAction.js.map +1 -0
  213. package/esm/packages/vuu-ui-controls/src/tabs-next/TabNextContext.js.map +1 -0
  214. package/esm/packages/vuu-ui-controls/src/tabs-next/TabNextPanel.js.map +1 -0
  215. package/esm/packages/vuu-ui-controls/src/tabs-next/TabNextTrigger.js.map +1 -0
  216. package/esm/packages/vuu-ui-controls/src/tabs-next/TabOverflowList.js.map +1 -0
  217. package/esm/packages/vuu-ui-controls/src/tabs-next/TabsNext.js.map +1 -0
  218. package/esm/packages/vuu-ui-controls/src/tabs-next/TabsNextContext.js.map +1 -0
  219. package/esm/packages/vuu-ui-controls/src/tabs-next/hooks/useCollection.js.map +1 -0
  220. package/esm/packages/vuu-ui-controls/src/tabs-next/hooks/useFocusOutside.js.map +1 -0
  221. package/esm/packages/vuu-ui-controls/src/tabs-next/hooks/useOverflow.js.map +1 -0
  222. package/esm/packages/vuu-ui-controls/src/tabstrip/Tab.js.map +1 -0
  223. package/esm/packages/vuu-ui-controls/src/tabstrip/TabMenu.js.map +1 -0
  224. package/esm/packages/vuu-ui-controls/src/tabstrip/TabMenuOptions.js.map +1 -0
  225. package/esm/packages/vuu-ui-controls/src/tabstrip/Tabstrip.js.map +1 -0
  226. package/esm/packages/vuu-ui-controls/src/tabstrip/tabstrip-dom-utils.js.map +1 -0
  227. package/esm/packages/vuu-ui-controls/src/tabstrip/useAnimatedSelectionThumb.js.map +1 -0
  228. package/esm/packages/vuu-ui-controls/src/tabstrip/useKeyboardNavigation.js.map +1 -0
  229. package/esm/packages/vuu-ui-controls/src/tabstrip/useSelection.js.map +1 -0
  230. package/esm/packages/vuu-ui-controls/src/tabstrip/useTabstrip.js.map +1 -0
  231. package/esm/packages/vuu-ui-controls/src/toolbar/Toolbar.js.map +1 -0
  232. package/esm/packages/vuu-ui-controls/src/toolbar/toolbar-dom-utils.js.map +1 -0
  233. package/esm/packages/vuu-ui-controls/src/toolbar/useKeyboardNavigation.js.map +1 -0
  234. package/esm/packages/vuu-ui-controls/src/toolbar/useSelection.js +91 -0
  235. package/esm/packages/vuu-ui-controls/src/toolbar/useSelection.js.map +1 -0
  236. package/esm/packages/vuu-ui-controls/src/toolbar/useToolbar.js.map +1 -0
  237. package/esm/packages/vuu-ui-controls/src/utils/escapeRegExp.js.map +1 -0
  238. package/esm/packages/vuu-ui-controls/src/utils/forwardCallbackProps.js.map +1 -0
  239. package/esm/packages/vuu-ui-controls/src/utils/isOverflowElement.js.map +1 -0
  240. package/esm/packages/vuu-ui-controls/src/utils/isPlainObject.js.map +1 -0
  241. package/esm/packages/vuu-ui-controls/src/vuu-date-picker/VuuDatePicker.js.map +1 -0
  242. package/esm/packages/vuu-ui-controls/src/vuu-input/VuuInput.js.map +1 -0
  243. package/esm/packages/vuu-ui-controls/src/vuu-typeahead-input/VuuTypeaheadInput.js.map +1 -0
  244. package/esm/packages/vuu-ui-controls/src/vuu-typeahead-input/useVuuTypeaheadInput.js.map +1 -0
  245. package/package.json +12 -11
  246. package/types/column-picker/ColumnSearch.d.ts +3 -2
  247. package/types/common-hooks/index.d.ts +0 -5
  248. package/types/context-panel-provider/ContextPanelProvider.d.ts +10 -0
  249. package/types/highlighter/index.d.ts +1 -0
  250. package/types/index.d.ts +2 -1
  251. package/types/sortable-list/SortableList.d.ts +8 -0
  252. package/cjs/calendar/Calendar.js.map +0 -1
  253. package/cjs/calendar/internal/CalendarCarousel.js.map +0 -1
  254. package/cjs/calendar/internal/CalendarContext.js.map +0 -1
  255. package/cjs/calendar/internal/CalendarDay.js.map +0 -1
  256. package/cjs/calendar/internal/CalendarMonth.js.map +0 -1
  257. package/cjs/calendar/internal/CalendarNavigation.js.map +0 -1
  258. package/cjs/calendar/internal/CalendarWeekHeader.js.map +0 -1
  259. package/cjs/calendar/internal/useFocusManagement.js.map +0 -1
  260. package/cjs/calendar/internal/utils.js.map +0 -1
  261. package/cjs/calendar/useCalendar.js.map +0 -1
  262. package/cjs/calendar/useCalendarDay.js.map +0 -1
  263. package/cjs/calendar/useSelection.js.map +0 -1
  264. package/cjs/column-picker/ColumnPicker.js +0 -128
  265. package/cjs/column-picker/ColumnPicker.js.map +0 -1
  266. package/cjs/column-picker/ColumnSearch.js +0 -82
  267. package/cjs/column-picker/ColumnSearch.js.map +0 -1
  268. package/cjs/common-hooks/collectionProvider.js +0 -24
  269. package/cjs/common-hooks/collectionProvider.js.map +0 -1
  270. package/cjs/common-hooks/isPlainObject.js.map +0 -1
  271. package/cjs/common-hooks/itemToString.js +0 -24
  272. package/cjs/common-hooks/itemToString.js.map +0 -1
  273. package/cjs/common-hooks/selectionTypes.js.map +0 -1
  274. package/cjs/common-hooks/use-resize-observer.js.map +0 -1
  275. package/cjs/common-hooks/useCollectionItems.js +0 -309
  276. package/cjs/common-hooks/useCollectionItems.js.map +0 -1
  277. package/cjs/common-hooks/useControlled.js.map +0 -1
  278. package/cjs/common-hooks/useSelection.js +0 -212
  279. package/cjs/common-hooks/useSelection.js.map +0 -1
  280. package/cjs/cycle-state-button/CycleStateButton.js.map +0 -1
  281. package/cjs/date-input/DateInput.js.map +0 -1
  282. package/cjs/date-picker/DatePicker.js.map +0 -1
  283. package/cjs/date-picker/DatePickerContext.js.map +0 -1
  284. package/cjs/date-picker/DatePickerPanel.js.map +0 -1
  285. package/cjs/drag-drop/DragDropProvider.js.map +0 -1
  286. package/cjs/drag-drop/DragDropState.js.map +0 -1
  287. package/cjs/drag-drop/Draggable.js.map +0 -1
  288. package/cjs/drag-drop/dragDropTypes.js.map +0 -1
  289. package/cjs/drag-drop/drop-target-utils.js.map +0 -1
  290. package/cjs/drag-drop/useAutoScroll.js.map +0 -1
  291. package/cjs/drag-drop/useDragDisplacers.js.map +0 -1
  292. package/cjs/drag-drop/useDragDrop.js.map +0 -1
  293. package/cjs/drag-drop/useDragDropCopy.js.map +0 -1
  294. package/cjs/drag-drop/useDragDropIndicator.js.map +0 -1
  295. package/cjs/drag-drop/useDragDropNaturalMovement.js.map +0 -1
  296. package/cjs/drag-drop/useDropIndicator.js.map +0 -1
  297. package/cjs/drag-drop/useGlobalDragDrop.js.map +0 -1
  298. package/cjs/editable/useEditableText.js.map +0 -1
  299. package/cjs/editable-label/EditableLabel.js.map +0 -1
  300. package/cjs/expando-input/ExpandoInput.js.map +0 -1
  301. package/cjs/icon-button/Icon.js.map +0 -1
  302. package/cjs/icon-button/IconButton.js.map +0 -1
  303. package/cjs/icon-button/ToggleIconButton.js.map +0 -1
  304. package/cjs/index.js +0 -232
  305. package/cjs/index.js.map +0 -1
  306. package/cjs/instrument-picker/TablePicker.js.map +0 -1
  307. package/cjs/instrument-picker/useTablePicker.js.map +0 -1
  308. package/cjs/list/Highlighter.css.js +0 -6
  309. package/cjs/list/Highlighter.css.js.map +0 -1
  310. package/cjs/list/Highlighter.js +0 -36
  311. package/cjs/list/Highlighter.js.map +0 -1
  312. package/cjs/list/List.css.js +0 -6
  313. package/cjs/list/List.css.js.map +0 -1
  314. package/cjs/list/List.js +0 -317
  315. package/cjs/list/List.js.map +0 -1
  316. package/cjs/list/ListItem.css.js +0 -6
  317. package/cjs/list/ListItem.css.js.map +0 -1
  318. package/cjs/list/ListItem.js +0 -84
  319. package/cjs/list/ListItem.js.map +0 -1
  320. package/cjs/list/ListItemGroup.js +0 -6
  321. package/cjs/list/ListItemGroup.js.map +0 -1
  322. package/cjs/list/ListItemHeader.js +0 -6
  323. package/cjs/list/ListItemHeader.js.map +0 -1
  324. package/cjs/list/RadioIcon.css.js +0 -6
  325. package/cjs/list/RadioIcon.css.js.map +0 -1
  326. package/cjs/list/RadioIcon.js +0 -27
  327. package/cjs/list/RadioIcon.js.map +0 -1
  328. package/cjs/list/common-hooks/keyUtils.js +0 -78
  329. package/cjs/list/common-hooks/keyUtils.js.map +0 -1
  330. package/cjs/list/common-hooks/list-dom-utils.js +0 -25
  331. package/cjs/list/common-hooks/list-dom-utils.js.map +0 -1
  332. package/cjs/list/common-hooks/useCollapsibleGroups.js +0 -72
  333. package/cjs/list/common-hooks/useCollapsibleGroups.js.map +0 -1
  334. package/cjs/list/common-hooks/useImperativeScrollingAPI.js +0 -52
  335. package/cjs/list/common-hooks/useImperativeScrollingAPI.js.map +0 -1
  336. package/cjs/list/common-hooks/useKeyboardNavigation.js +0 -289
  337. package/cjs/list/common-hooks/useKeyboardNavigation.js.map +0 -1
  338. package/cjs/list/common-hooks/useTypeahead.js +0 -74
  339. package/cjs/list/common-hooks/useTypeahead.js.map +0 -1
  340. package/cjs/list/common-hooks/useViewportTracking.js +0 -133
  341. package/cjs/list/common-hooks/useViewportTracking.js.map +0 -1
  342. package/cjs/list/common-hooks/utils/collection-item-utils.js +0 -182
  343. package/cjs/list/common-hooks/utils/collection-item-utils.js.map +0 -1
  344. package/cjs/list/common-hooks/utils/filter-utils.js +0 -11
  345. package/cjs/list/common-hooks/utils/filter-utils.js.map +0 -1
  346. package/cjs/list/common-hooks/utils/isSelected.js +0 -9
  347. package/cjs/list/common-hooks/utils/isSelected.js.map +0 -1
  348. package/cjs/list/useList.js +0 -278
  349. package/cjs/list/useList.js.map +0 -1
  350. package/cjs/list/useListDrop.js +0 -92
  351. package/cjs/list/useListDrop.js.map +0 -1
  352. package/cjs/list/useListHeight.js +0 -77
  353. package/cjs/list/useListHeight.js.map +0 -1
  354. package/cjs/list/useScrollPosition.js +0 -74
  355. package/cjs/list/useScrollPosition.js.map +0 -1
  356. package/cjs/measured-container/MeasuredContainer.js.map +0 -1
  357. package/cjs/measured-container/useMeasuredContainer.js.map +0 -1
  358. package/cjs/measured-container/useResizeObserver.js.map +0 -1
  359. package/cjs/overflow-container/OverflowContainer.js.map +0 -1
  360. package/cjs/overflow-container/overflow-utils.js.map +0 -1
  361. package/cjs/overflow-container/useOverflowContainer.js.map +0 -1
  362. package/cjs/price-ticker/PriceTicker.js.map +0 -1
  363. package/cjs/split-button/SplitButton.js.map +0 -1
  364. package/cjs/split-button/SplitStateButton.js.map +0 -1
  365. package/cjs/split-button/useSplitButton.js.map +0 -1
  366. package/cjs/table-search/SearchCell.js.map +0 -1
  367. package/cjs/table-search/TableSearch.js.map +0 -1
  368. package/cjs/table-search/useTableSearch.js.map +0 -1
  369. package/cjs/tabs-next/TabBar.js.map +0 -1
  370. package/cjs/tabs-next/TabListNext.js.map +0 -1
  371. package/cjs/tabs-next/TabNext.js.map +0 -1
  372. package/cjs/tabs-next/TabNextAction.js.map +0 -1
  373. package/cjs/tabs-next/TabNextContext.js.map +0 -1
  374. package/cjs/tabs-next/TabNextPanel.js.map +0 -1
  375. package/cjs/tabs-next/TabNextTrigger.js.map +0 -1
  376. package/cjs/tabs-next/TabOverflowList.js.map +0 -1
  377. package/cjs/tabs-next/TabsNext.js.map +0 -1
  378. package/cjs/tabs-next/TabsNextContext.js.map +0 -1
  379. package/cjs/tabs-next/hooks/useCollection.js.map +0 -1
  380. package/cjs/tabs-next/hooks/useFocusOutside.js.map +0 -1
  381. package/cjs/tabs-next/hooks/useOverflow.js.map +0 -1
  382. package/cjs/tabstrip/Tab.js.map +0 -1
  383. package/cjs/tabstrip/TabMenu.js.map +0 -1
  384. package/cjs/tabstrip/TabMenuOptions.js.map +0 -1
  385. package/cjs/tabstrip/Tabstrip.js.map +0 -1
  386. package/cjs/tabstrip/tabstrip-dom-utils.js.map +0 -1
  387. package/cjs/tabstrip/useAnimatedSelectionThumb.js.map +0 -1
  388. package/cjs/tabstrip/useKeyboardNavigation.js.map +0 -1
  389. package/cjs/tabstrip/useSelection.js.map +0 -1
  390. package/cjs/tabstrip/useTabstrip.js.map +0 -1
  391. package/cjs/toolbar/Toolbar.js.map +0 -1
  392. package/cjs/toolbar/toolbar-dom-utils.js.map +0 -1
  393. package/cjs/toolbar/useKeyboardNavigation.js.map +0 -1
  394. package/cjs/toolbar/useSelection.js +0 -94
  395. package/cjs/toolbar/useSelection.js.map +0 -1
  396. package/cjs/toolbar/useToolbar.js.map +0 -1
  397. package/cjs/utils/escapeRegExp.js.map +0 -1
  398. package/cjs/utils/forwardCallbackProps.js.map +0 -1
  399. package/cjs/utils/isOverflowElement.js.map +0 -1
  400. package/cjs/utils/isPlainObject.js +0 -6
  401. package/cjs/utils/isPlainObject.js.map +0 -1
  402. package/cjs/vuu-date-picker/VuuDatePicker.js.map +0 -1
  403. package/cjs/vuu-input/VuuInput.js.map +0 -1
  404. package/cjs/vuu-typeahead-input/VuuTypeaheadInput.js.map +0 -1
  405. package/cjs/vuu-typeahead-input/useVuuTypeaheadInput.js.map +0 -1
  406. package/esm/calendar/Calendar.js.map +0 -1
  407. package/esm/calendar/internal/CalendarCarousel.js.map +0 -1
  408. package/esm/calendar/internal/CalendarContext.js.map +0 -1
  409. package/esm/calendar/internal/CalendarDay.js.map +0 -1
  410. package/esm/calendar/internal/CalendarMonth.js.map +0 -1
  411. package/esm/calendar/internal/CalendarNavigation.js.map +0 -1
  412. package/esm/calendar/internal/CalendarWeekHeader.js.map +0 -1
  413. package/esm/calendar/internal/useFocusManagement.js.map +0 -1
  414. package/esm/calendar/internal/utils.js.map +0 -1
  415. package/esm/calendar/useCalendar.js.map +0 -1
  416. package/esm/calendar/useCalendarDay.js.map +0 -1
  417. package/esm/calendar/useSelection.js.map +0 -1
  418. package/esm/column-picker/ColumnPicker.js +0 -126
  419. package/esm/column-picker/ColumnPicker.js.map +0 -1
  420. package/esm/column-picker/ColumnSearch.js +0 -80
  421. package/esm/column-picker/ColumnSearch.js.map +0 -1
  422. package/esm/common-hooks/collectionProvider.js +0 -20
  423. package/esm/common-hooks/collectionProvider.js.map +0 -1
  424. package/esm/common-hooks/isPlainObject.js.map +0 -1
  425. package/esm/common-hooks/itemToString.js +0 -22
  426. package/esm/common-hooks/itemToString.js.map +0 -1
  427. package/esm/common-hooks/selectionTypes.js.map +0 -1
  428. package/esm/common-hooks/use-resize-observer.js.map +0 -1
  429. package/esm/common-hooks/useCollectionItems.js +0 -307
  430. package/esm/common-hooks/useCollectionItems.js.map +0 -1
  431. package/esm/common-hooks/useControlled.js.map +0 -1
  432. package/esm/common-hooks/useSelection.js +0 -205
  433. package/esm/common-hooks/useSelection.js.map +0 -1
  434. package/esm/cycle-state-button/CycleStateButton.js.map +0 -1
  435. package/esm/date-input/DateInput.js.map +0 -1
  436. package/esm/date-picker/DatePicker.js.map +0 -1
  437. package/esm/date-picker/DatePickerContext.js.map +0 -1
  438. package/esm/date-picker/DatePickerPanel.js.map +0 -1
  439. package/esm/drag-drop/DragDropProvider.js.map +0 -1
  440. package/esm/drag-drop/DragDropState.js.map +0 -1
  441. package/esm/drag-drop/Draggable.js.map +0 -1
  442. package/esm/drag-drop/dragDropTypes.js.map +0 -1
  443. package/esm/drag-drop/drop-target-utils.js.map +0 -1
  444. package/esm/drag-drop/useAutoScroll.js.map +0 -1
  445. package/esm/drag-drop/useDragDisplacers.js.map +0 -1
  446. package/esm/drag-drop/useDragDrop.js.map +0 -1
  447. package/esm/drag-drop/useDragDropCopy.js.map +0 -1
  448. package/esm/drag-drop/useDragDropIndicator.js.map +0 -1
  449. package/esm/drag-drop/useDragDropNaturalMovement.js.map +0 -1
  450. package/esm/drag-drop/useDropIndicator.js.map +0 -1
  451. package/esm/drag-drop/useGlobalDragDrop.js.map +0 -1
  452. package/esm/editable/useEditableText.js.map +0 -1
  453. package/esm/editable-label/EditableLabel.js.map +0 -1
  454. package/esm/expando-input/ExpandoInput.js.map +0 -1
  455. package/esm/icon-button/Icon.js.map +0 -1
  456. package/esm/icon-button/IconButton.js.map +0 -1
  457. package/esm/icon-button/ToggleIconButton.js.map +0 -1
  458. package/esm/index.js +0 -73
  459. package/esm/index.js.map +0 -1
  460. package/esm/instrument-picker/TablePicker.js.map +0 -1
  461. package/esm/instrument-picker/useTablePicker.js.map +0 -1
  462. package/esm/list/Highlighter.css.js +0 -4
  463. package/esm/list/Highlighter.css.js.map +0 -1
  464. package/esm/list/Highlighter.js +0 -34
  465. package/esm/list/Highlighter.js.map +0 -1
  466. package/esm/list/List.css.js +0 -4
  467. package/esm/list/List.css.js.map +0 -1
  468. package/esm/list/List.js +0 -315
  469. package/esm/list/List.js.map +0 -1
  470. package/esm/list/ListItem.css.js +0 -4
  471. package/esm/list/ListItem.css.js.map +0 -1
  472. package/esm/list/ListItem.js +0 -81
  473. package/esm/list/ListItem.js.map +0 -1
  474. package/esm/list/ListItemGroup.js +0 -4
  475. package/esm/list/ListItemGroup.js.map +0 -1
  476. package/esm/list/ListItemHeader.js +0 -4
  477. package/esm/list/ListItemHeader.js.map +0 -1
  478. package/esm/list/RadioIcon.css.js +0 -4
  479. package/esm/list/RadioIcon.css.js.map +0 -1
  480. package/esm/list/RadioIcon.js +0 -25
  481. package/esm/list/RadioIcon.js.map +0 -1
  482. package/esm/list/common-hooks/keyUtils.js +0 -64
  483. package/esm/list/common-hooks/keyUtils.js.map +0 -1
  484. package/esm/list/common-hooks/list-dom-utils.js +0 -19
  485. package/esm/list/common-hooks/list-dom-utils.js.map +0 -1
  486. package/esm/list/common-hooks/useCollapsibleGroups.js +0 -70
  487. package/esm/list/common-hooks/useCollapsibleGroups.js.map +0 -1
  488. package/esm/list/common-hooks/useImperativeScrollingAPI.js +0 -50
  489. package/esm/list/common-hooks/useImperativeScrollingAPI.js.map +0 -1
  490. package/esm/list/common-hooks/useKeyboardNavigation.js +0 -286
  491. package/esm/list/common-hooks/useKeyboardNavigation.js.map +0 -1
  492. package/esm/list/common-hooks/useTypeahead.js +0 -72
  493. package/esm/list/common-hooks/useTypeahead.js.map +0 -1
  494. package/esm/list/common-hooks/useViewportTracking.js +0 -131
  495. package/esm/list/common-hooks/useViewportTracking.js.map +0 -1
  496. package/esm/list/common-hooks/utils/collection-item-utils.js +0 -168
  497. package/esm/list/common-hooks/utils/collection-item-utils.js.map +0 -1
  498. package/esm/list/common-hooks/utils/filter-utils.js +0 -8
  499. package/esm/list/common-hooks/utils/filter-utils.js.map +0 -1
  500. package/esm/list/common-hooks/utils/isSelected.js +0 -7
  501. package/esm/list/common-hooks/utils/isSelected.js.map +0 -1
  502. package/esm/list/useList.js +0 -276
  503. package/esm/list/useList.js.map +0 -1
  504. package/esm/list/useListDrop.js +0 -90
  505. package/esm/list/useListDrop.js.map +0 -1
  506. package/esm/list/useListHeight.js +0 -75
  507. package/esm/list/useListHeight.js.map +0 -1
  508. package/esm/list/useScrollPosition.js +0 -72
  509. package/esm/list/useScrollPosition.js.map +0 -1
  510. package/esm/measured-container/MeasuredContainer.js.map +0 -1
  511. package/esm/measured-container/useMeasuredContainer.js.map +0 -1
  512. package/esm/measured-container/useResizeObserver.js.map +0 -1
  513. package/esm/overflow-container/OverflowContainer.js.map +0 -1
  514. package/esm/overflow-container/overflow-utils.js.map +0 -1
  515. package/esm/overflow-container/useOverflowContainer.js.map +0 -1
  516. package/esm/price-ticker/PriceTicker.js.map +0 -1
  517. package/esm/split-button/SplitButton.js.map +0 -1
  518. package/esm/split-button/SplitStateButton.js.map +0 -1
  519. package/esm/split-button/useSplitButton.js.map +0 -1
  520. package/esm/table-search/SearchCell.js.map +0 -1
  521. package/esm/table-search/TableSearch.js.map +0 -1
  522. package/esm/table-search/useTableSearch.js.map +0 -1
  523. package/esm/tabs-next/TabBar.js.map +0 -1
  524. package/esm/tabs-next/TabListNext.js.map +0 -1
  525. package/esm/tabs-next/TabNext.js.map +0 -1
  526. package/esm/tabs-next/TabNextAction.js.map +0 -1
  527. package/esm/tabs-next/TabNextContext.js.map +0 -1
  528. package/esm/tabs-next/TabNextPanel.js.map +0 -1
  529. package/esm/tabs-next/TabNextTrigger.js.map +0 -1
  530. package/esm/tabs-next/TabOverflowList.js.map +0 -1
  531. package/esm/tabs-next/TabsNext.js.map +0 -1
  532. package/esm/tabs-next/TabsNextContext.js.map +0 -1
  533. package/esm/tabs-next/hooks/useCollection.js.map +0 -1
  534. package/esm/tabs-next/hooks/useFocusOutside.js.map +0 -1
  535. package/esm/tabs-next/hooks/useOverflow.js.map +0 -1
  536. package/esm/tabstrip/Tab.js.map +0 -1
  537. package/esm/tabstrip/TabMenu.js.map +0 -1
  538. package/esm/tabstrip/TabMenuOptions.js.map +0 -1
  539. package/esm/tabstrip/Tabstrip.js.map +0 -1
  540. package/esm/tabstrip/tabstrip-dom-utils.js.map +0 -1
  541. package/esm/tabstrip/useAnimatedSelectionThumb.js.map +0 -1
  542. package/esm/tabstrip/useKeyboardNavigation.js.map +0 -1
  543. package/esm/tabstrip/useSelection.js.map +0 -1
  544. package/esm/tabstrip/useTabstrip.js.map +0 -1
  545. package/esm/toolbar/Toolbar.js.map +0 -1
  546. package/esm/toolbar/toolbar-dom-utils.js.map +0 -1
  547. package/esm/toolbar/useKeyboardNavigation.js.map +0 -1
  548. package/esm/toolbar/useSelection.js +0 -92
  549. package/esm/toolbar/useSelection.js.map +0 -1
  550. package/esm/toolbar/useToolbar.js.map +0 -1
  551. package/esm/utils/escapeRegExp.js.map +0 -1
  552. package/esm/utils/forwardCallbackProps.js.map +0 -1
  553. package/esm/utils/isOverflowElement.js.map +0 -1
  554. package/esm/utils/isPlainObject.js +0 -4
  555. package/esm/utils/isPlainObject.js.map +0 -1
  556. package/esm/vuu-date-picker/VuuDatePicker.js.map +0 -1
  557. package/esm/vuu-input/VuuInput.js.map +0 -1
  558. package/esm/vuu-typeahead-input/VuuTypeaheadInput.js.map +0 -1
  559. package/esm/vuu-typeahead-input/useVuuTypeaheadInput.js.map +0 -1
  560. package/types/common-hooks/collectionProvider.d.ts +0 -13
  561. package/types/common-hooks/collectionTypes.d.ts +0 -58
  562. package/types/common-hooks/isPlainObject.d.ts +0 -1
  563. package/types/common-hooks/itemToString.d.ts +0 -2
  564. package/types/common-hooks/navigationTypes.d.ts +0 -36
  565. package/types/common-hooks/useCollectionItems.d.ts +0 -2
  566. package/types/common-hooks/useSelection.d.ts +0 -8
  567. package/types/list/ChevronIcon.d.ts +0 -7
  568. package/types/list/List.d.ts +0 -6
  569. package/types/list/ListItem.d.ts +0 -6
  570. package/types/list/ListItemGroup.d.ts +0 -6
  571. package/types/list/ListItemHeader.d.ts +0 -5
  572. package/types/list/RadioIcon.d.ts +0 -4
  573. package/types/list/common-hooks/index.d.ts +0 -10
  574. package/types/list/common-hooks/keyUtils.d.ts +0 -14
  575. package/types/list/common-hooks/list-dom-utils.d.ts +0 -5
  576. package/types/list/common-hooks/useCollapsibleGroups.d.ts +0 -14
  577. package/types/list/common-hooks/useImperativeScrollingAPI.d.ts +0 -14
  578. package/types/list/common-hooks/useKeyboardNavigation.d.ts +0 -3
  579. package/types/list/common-hooks/useTypeahead.d.ts +0 -14
  580. package/types/list/common-hooks/useViewportTracking.d.ts +0 -14
  581. package/types/list/common-hooks/utils/collection-item-utils.d.ts +0 -21
  582. package/types/list/common-hooks/utils/filter-utils.d.ts +0 -4
  583. package/types/list/common-hooks/utils/index.d.ts +0 -4
  584. package/types/list/common-hooks/utils/isSelected.d.ts +0 -2
  585. package/types/list/index.d.ts +0 -9
  586. package/types/list/keyset.d.ts +0 -9
  587. package/types/list/listTypes.d.ts +0 -200
  588. package/types/list/useList.d.ts +0 -3
  589. package/types/list/useListDrop.d.ts +0 -15
  590. package/types/list/useListHeight.d.ts +0 -19
  591. package/types/list/useScrollPosition.d.ts +0 -19
  592. /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/Calendar.css.js +0 -0
  593. /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/Calendar.css.js.map +0 -0
  594. /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/Calendar.js +0 -0
  595. /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarCarousel.css.js +0 -0
  596. /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarCarousel.css.js.map +0 -0
  597. /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarCarousel.js +0 -0
  598. /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarContext.js +0 -0
  599. /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarDay.css.js +0 -0
  600. /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarDay.css.js.map +0 -0
  601. /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarDay.js +0 -0
  602. /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarMonth.css.js +0 -0
  603. /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarMonth.css.js.map +0 -0
  604. /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarMonth.js +0 -0
  605. /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarNavigation.css.js +0 -0
  606. /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarNavigation.css.js.map +0 -0
  607. /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarNavigation.js +0 -0
  608. /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarWeekHeader.css.js +0 -0
  609. /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarWeekHeader.css.js.map +0 -0
  610. /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarWeekHeader.js +0 -0
  611. /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/useFocusManagement.js +0 -0
  612. /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/utils.js +0 -0
  613. /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/useCalendar.js +0 -0
  614. /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/useCalendarDay.js +0 -0
  615. /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/useSelection.js +0 -0
  616. /package/cjs/{column-picker → packages/vuu-ui-controls/src/column-picker}/ColumnPicker.css.js +0 -0
  617. /package/cjs/{column-picker → packages/vuu-ui-controls/src/column-picker}/ColumnPicker.css.js.map +0 -0
  618. /package/cjs/{column-picker → packages/vuu-ui-controls/src/column-picker}/ColumnSearch.css.js +0 -0
  619. /package/cjs/{column-picker → packages/vuu-ui-controls/src/column-picker}/ColumnSearch.css.js.map +0 -0
  620. /package/cjs/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/selectionTypes.js +0 -0
  621. /package/cjs/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/use-resize-observer.js +0 -0
  622. /package/cjs/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/useControlled.js +0 -0
  623. /package/cjs/{cycle-state-button → packages/vuu-ui-controls/src/cycle-state-button}/CycleStateButton.js +0 -0
  624. /package/cjs/{date-input → packages/vuu-ui-controls/src/date-input}/DateInput.css.js +0 -0
  625. /package/cjs/{date-input → packages/vuu-ui-controls/src/date-input}/DateInput.css.js.map +0 -0
  626. /package/cjs/{date-input → packages/vuu-ui-controls/src/date-input}/DateInput.js +0 -0
  627. /package/cjs/{date-picker → packages/vuu-ui-controls/src/date-picker}/DatePicker.js +0 -0
  628. /package/cjs/{date-picker → packages/vuu-ui-controls/src/date-picker}/DatePickerContext.js +0 -0
  629. /package/cjs/{date-picker → packages/vuu-ui-controls/src/date-picker}/DatePickerPanel.css.js +0 -0
  630. /package/cjs/{date-picker → packages/vuu-ui-controls/src/date-picker}/DatePickerPanel.css.js.map +0 -0
  631. /package/cjs/{date-picker → packages/vuu-ui-controls/src/date-picker}/DatePickerPanel.js +0 -0
  632. /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/DragDropProvider.js +0 -0
  633. /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/DragDropState.js +0 -0
  634. /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/Draggable.css.js +0 -0
  635. /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/Draggable.css.js.map +0 -0
  636. /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/Draggable.js +0 -0
  637. /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/dragDropTypes.js +0 -0
  638. /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/drop-target-utils.js +0 -0
  639. /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useAutoScroll.js +0 -0
  640. /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useDragDisplacers.js +0 -0
  641. /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useDragDrop.js +0 -0
  642. /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useDragDropCopy.js +0 -0
  643. /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useDragDropIndicator.js +0 -0
  644. /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useDragDropNaturalMovement.js +0 -0
  645. /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useDropIndicator.js +0 -0
  646. /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useGlobalDragDrop.js +0 -0
  647. /package/cjs/{editable → packages/vuu-ui-controls/src/editable}/useEditableText.js +0 -0
  648. /package/cjs/{editable-label → packages/vuu-ui-controls/src/editable-label}/EditableLabel.css.js +0 -0
  649. /package/cjs/{editable-label → packages/vuu-ui-controls/src/editable-label}/EditableLabel.css.js.map +0 -0
  650. /package/cjs/{editable-label → packages/vuu-ui-controls/src/editable-label}/EditableLabel.js +0 -0
  651. /package/cjs/{expando-input → packages/vuu-ui-controls/src/expando-input}/ExpandoInput.css.js +0 -0
  652. /package/cjs/{expando-input → packages/vuu-ui-controls/src/expando-input}/ExpandoInput.css.js.map +0 -0
  653. /package/cjs/{expando-input → packages/vuu-ui-controls/src/expando-input}/ExpandoInput.js +0 -0
  654. /package/cjs/{icon-button → packages/vuu-ui-controls/src/icon-button}/Icon.css.js +0 -0
  655. /package/cjs/{icon-button → packages/vuu-ui-controls/src/icon-button}/Icon.css.js.map +0 -0
  656. /package/cjs/{icon-button → packages/vuu-ui-controls/src/icon-button}/Icon.js +0 -0
  657. /package/cjs/{icon-button → packages/vuu-ui-controls/src/icon-button}/IconButton.css.js +0 -0
  658. /package/cjs/{icon-button → packages/vuu-ui-controls/src/icon-button}/IconButton.css.js.map +0 -0
  659. /package/cjs/{icon-button → packages/vuu-ui-controls/src/icon-button}/IconButton.js +0 -0
  660. /package/cjs/{icon-button → packages/vuu-ui-controls/src/icon-button}/ToggleIconButton.css.js +0 -0
  661. /package/cjs/{icon-button → packages/vuu-ui-controls/src/icon-button}/ToggleIconButton.css.js.map +0 -0
  662. /package/cjs/{icon-button → packages/vuu-ui-controls/src/icon-button}/ToggleIconButton.js +0 -0
  663. /package/cjs/{instrument-picker → packages/vuu-ui-controls/src/instrument-picker}/TablePicker.css.js +0 -0
  664. /package/cjs/{instrument-picker → packages/vuu-ui-controls/src/instrument-picker}/TablePicker.css.js.map +0 -0
  665. /package/cjs/{instrument-picker → packages/vuu-ui-controls/src/instrument-picker}/TablePicker.js +0 -0
  666. /package/cjs/{instrument-picker → packages/vuu-ui-controls/src/instrument-picker}/useTablePicker.js +0 -0
  667. /package/cjs/{measured-container → packages/vuu-ui-controls/src/measured-container}/MeasuredContainer.css.js +0 -0
  668. /package/cjs/{measured-container → packages/vuu-ui-controls/src/measured-container}/MeasuredContainer.css.js.map +0 -0
  669. /package/cjs/{measured-container → packages/vuu-ui-controls/src/measured-container}/MeasuredContainer.js +0 -0
  670. /package/cjs/{measured-container → packages/vuu-ui-controls/src/measured-container}/useMeasuredContainer.js +0 -0
  671. /package/cjs/{measured-container → packages/vuu-ui-controls/src/measured-container}/useResizeObserver.js +0 -0
  672. /package/cjs/{overflow-container → packages/vuu-ui-controls/src/overflow-container}/OverflowContainer.css.js +0 -0
  673. /package/cjs/{overflow-container → packages/vuu-ui-controls/src/overflow-container}/OverflowContainer.css.js.map +0 -0
  674. /package/cjs/{overflow-container → packages/vuu-ui-controls/src/overflow-container}/OverflowContainer.js +0 -0
  675. /package/cjs/{overflow-container → packages/vuu-ui-controls/src/overflow-container}/overflow-utils.js +0 -0
  676. /package/cjs/{overflow-container → packages/vuu-ui-controls/src/overflow-container}/useOverflowContainer.js +0 -0
  677. /package/cjs/{price-ticker → packages/vuu-ui-controls/src/price-ticker}/PriceTicker.css.js +0 -0
  678. /package/cjs/{price-ticker → packages/vuu-ui-controls/src/price-ticker}/PriceTicker.css.js.map +0 -0
  679. /package/cjs/{price-ticker → packages/vuu-ui-controls/src/price-ticker}/PriceTicker.js +0 -0
  680. /package/cjs/{split-button → packages/vuu-ui-controls/src/split-button}/SplitButton.css.js +0 -0
  681. /package/cjs/{split-button → packages/vuu-ui-controls/src/split-button}/SplitButton.css.js.map +0 -0
  682. /package/cjs/{split-button → packages/vuu-ui-controls/src/split-button}/SplitButton.js +0 -0
  683. /package/cjs/{split-button → packages/vuu-ui-controls/src/split-button}/SplitStateButton.css.js +0 -0
  684. /package/cjs/{split-button → packages/vuu-ui-controls/src/split-button}/SplitStateButton.css.js.map +0 -0
  685. /package/cjs/{split-button → packages/vuu-ui-controls/src/split-button}/SplitStateButton.js +0 -0
  686. /package/cjs/{split-button → packages/vuu-ui-controls/src/split-button}/useSplitButton.js +0 -0
  687. /package/cjs/{table-search → packages/vuu-ui-controls/src/table-search}/SearchCell.css.js +0 -0
  688. /package/cjs/{table-search → packages/vuu-ui-controls/src/table-search}/SearchCell.css.js.map +0 -0
  689. /package/cjs/{table-search → packages/vuu-ui-controls/src/table-search}/SearchCell.js +0 -0
  690. /package/cjs/{table-search → packages/vuu-ui-controls/src/table-search}/TableSearch.css.js +0 -0
  691. /package/cjs/{table-search → packages/vuu-ui-controls/src/table-search}/TableSearch.css.js.map +0 -0
  692. /package/cjs/{table-search → packages/vuu-ui-controls/src/table-search}/TableSearch.js +0 -0
  693. /package/cjs/{table-search → packages/vuu-ui-controls/src/table-search}/useTableSearch.js +0 -0
  694. /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabBar.css.js +0 -0
  695. /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabBar.css.js.map +0 -0
  696. /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabBar.js +0 -0
  697. /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabListNext.css.js +0 -0
  698. /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabListNext.css.js.map +0 -0
  699. /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabListNext.js +0 -0
  700. /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNext.css.js +0 -0
  701. /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNext.css.js.map +0 -0
  702. /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNext.js +0 -0
  703. /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNextAction.js +0 -0
  704. /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNextContext.js +0 -0
  705. /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNextPanel.css.js +0 -0
  706. /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNextPanel.css.js.map +0 -0
  707. /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNextPanel.js +0 -0
  708. /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNextTrigger.css.js +0 -0
  709. /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNextTrigger.css.js.map +0 -0
  710. /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNextTrigger.js +0 -0
  711. /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabOverflowList.css.js +0 -0
  712. /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabOverflowList.css.js.map +0 -0
  713. /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabOverflowList.js +0 -0
  714. /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabsNext.js +0 -0
  715. /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabsNextContext.js +0 -0
  716. /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/hooks/useCollection.js +0 -0
  717. /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/hooks/useFocusOutside.js +0 -0
  718. /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/hooks/useOverflow.js +0 -0
  719. /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/Tab.css.js +0 -0
  720. /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/Tab.css.js.map +0 -0
  721. /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/Tab.js +0 -0
  722. /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/TabMenu.css.js +0 -0
  723. /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/TabMenu.css.js.map +0 -0
  724. /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/TabMenu.js +0 -0
  725. /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/TabMenuOptions.js +0 -0
  726. /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/Tabstrip.css.js +0 -0
  727. /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/Tabstrip.css.js.map +0 -0
  728. /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/Tabstrip.js +0 -0
  729. /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/tabstrip-dom-utils.js +0 -0
  730. /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/useAnimatedSelectionThumb.js +0 -0
  731. /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/useKeyboardNavigation.js +0 -0
  732. /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/useSelection.js +0 -0
  733. /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/useTabstrip.js +0 -0
  734. /package/cjs/{toolbar → packages/vuu-ui-controls/src/toolbar}/Toolbar.css.js +0 -0
  735. /package/cjs/{toolbar → packages/vuu-ui-controls/src/toolbar}/Toolbar.css.js.map +0 -0
  736. /package/cjs/{toolbar → packages/vuu-ui-controls/src/toolbar}/Toolbar.js +0 -0
  737. /package/cjs/{toolbar → packages/vuu-ui-controls/src/toolbar}/toolbar-dom-utils.js +0 -0
  738. /package/cjs/{toolbar → packages/vuu-ui-controls/src/toolbar}/useKeyboardNavigation.js +0 -0
  739. /package/cjs/{toolbar → packages/vuu-ui-controls/src/toolbar}/useToolbar.js +0 -0
  740. /package/cjs/{utils → packages/vuu-ui-controls/src/utils}/escapeRegExp.js +0 -0
  741. /package/cjs/{utils → packages/vuu-ui-controls/src/utils}/forwardCallbackProps.js +0 -0
  742. /package/cjs/{utils → packages/vuu-ui-controls/src/utils}/isOverflowElement.js +0 -0
  743. /package/cjs/{common-hooks → packages/vuu-ui-controls/src/utils}/isPlainObject.js +0 -0
  744. /package/cjs/{vuu-date-picker → packages/vuu-ui-controls/src/vuu-date-picker}/VuuDatePicker.js +0 -0
  745. /package/cjs/{vuu-input → packages/vuu-ui-controls/src/vuu-input}/VuuInput.css.js +0 -0
  746. /package/cjs/{vuu-input → packages/vuu-ui-controls/src/vuu-input}/VuuInput.css.js.map +0 -0
  747. /package/cjs/{vuu-input → packages/vuu-ui-controls/src/vuu-input}/VuuInput.js +0 -0
  748. /package/cjs/{vuu-typeahead-input → packages/vuu-ui-controls/src/vuu-typeahead-input}/VuuTypeaheadInput.css.js +0 -0
  749. /package/cjs/{vuu-typeahead-input → packages/vuu-ui-controls/src/vuu-typeahead-input}/VuuTypeaheadInput.css.js.map +0 -0
  750. /package/cjs/{vuu-typeahead-input → packages/vuu-ui-controls/src/vuu-typeahead-input}/VuuTypeaheadInput.js +0 -0
  751. /package/cjs/{vuu-typeahead-input → packages/vuu-ui-controls/src/vuu-typeahead-input}/useVuuTypeaheadInput.js +0 -0
  752. /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/Calendar.css.js +0 -0
  753. /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/Calendar.css.js.map +0 -0
  754. /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/Calendar.js +0 -0
  755. /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarCarousel.css.js +0 -0
  756. /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarCarousel.css.js.map +0 -0
  757. /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarCarousel.js +0 -0
  758. /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarContext.js +0 -0
  759. /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarDay.css.js +0 -0
  760. /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarDay.css.js.map +0 -0
  761. /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarDay.js +0 -0
  762. /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarMonth.css.js +0 -0
  763. /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarMonth.css.js.map +0 -0
  764. /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarMonth.js +0 -0
  765. /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarNavigation.css.js +0 -0
  766. /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarNavigation.css.js.map +0 -0
  767. /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarNavigation.js +0 -0
  768. /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarWeekHeader.css.js +0 -0
  769. /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarWeekHeader.css.js.map +0 -0
  770. /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarWeekHeader.js +0 -0
  771. /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/useFocusManagement.js +0 -0
  772. /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/utils.js +0 -0
  773. /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/useCalendar.js +0 -0
  774. /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/useCalendarDay.js +0 -0
  775. /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/useSelection.js +0 -0
  776. /package/esm/{column-picker → packages/vuu-ui-controls/src/column-picker}/ColumnPicker.css.js +0 -0
  777. /package/esm/{column-picker → packages/vuu-ui-controls/src/column-picker}/ColumnPicker.css.js.map +0 -0
  778. /package/esm/{column-picker → packages/vuu-ui-controls/src/column-picker}/ColumnSearch.css.js +0 -0
  779. /package/esm/{column-picker → packages/vuu-ui-controls/src/column-picker}/ColumnSearch.css.js.map +0 -0
  780. /package/esm/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/selectionTypes.js +0 -0
  781. /package/esm/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/use-resize-observer.js +0 -0
  782. /package/esm/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/useControlled.js +0 -0
  783. /package/esm/{cycle-state-button → packages/vuu-ui-controls/src/cycle-state-button}/CycleStateButton.js +0 -0
  784. /package/esm/{date-input → packages/vuu-ui-controls/src/date-input}/DateInput.css.js +0 -0
  785. /package/esm/{date-input → packages/vuu-ui-controls/src/date-input}/DateInput.css.js.map +0 -0
  786. /package/esm/{date-input → packages/vuu-ui-controls/src/date-input}/DateInput.js +0 -0
  787. /package/esm/{date-picker → packages/vuu-ui-controls/src/date-picker}/DatePicker.js +0 -0
  788. /package/esm/{date-picker → packages/vuu-ui-controls/src/date-picker}/DatePickerContext.js +0 -0
  789. /package/esm/{date-picker → packages/vuu-ui-controls/src/date-picker}/DatePickerPanel.css.js +0 -0
  790. /package/esm/{date-picker → packages/vuu-ui-controls/src/date-picker}/DatePickerPanel.css.js.map +0 -0
  791. /package/esm/{date-picker → packages/vuu-ui-controls/src/date-picker}/DatePickerPanel.js +0 -0
  792. /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/DragDropProvider.js +0 -0
  793. /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/DragDropState.js +0 -0
  794. /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/Draggable.css.js +0 -0
  795. /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/Draggable.css.js.map +0 -0
  796. /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/Draggable.js +0 -0
  797. /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/dragDropTypes.js +0 -0
  798. /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/drop-target-utils.js +0 -0
  799. /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useAutoScroll.js +0 -0
  800. /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useDragDisplacers.js +0 -0
  801. /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useDragDrop.js +0 -0
  802. /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useDragDropCopy.js +0 -0
  803. /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useDragDropIndicator.js +0 -0
  804. /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useDragDropNaturalMovement.js +0 -0
  805. /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useDropIndicator.js +0 -0
  806. /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useGlobalDragDrop.js +0 -0
  807. /package/esm/{editable → packages/vuu-ui-controls/src/editable}/useEditableText.js +0 -0
  808. /package/esm/{editable-label → packages/vuu-ui-controls/src/editable-label}/EditableLabel.css.js +0 -0
  809. /package/esm/{editable-label → packages/vuu-ui-controls/src/editable-label}/EditableLabel.css.js.map +0 -0
  810. /package/esm/{editable-label → packages/vuu-ui-controls/src/editable-label}/EditableLabel.js +0 -0
  811. /package/esm/{expando-input → packages/vuu-ui-controls/src/expando-input}/ExpandoInput.css.js +0 -0
  812. /package/esm/{expando-input → packages/vuu-ui-controls/src/expando-input}/ExpandoInput.css.js.map +0 -0
  813. /package/esm/{expando-input → packages/vuu-ui-controls/src/expando-input}/ExpandoInput.js +0 -0
  814. /package/esm/{icon-button → packages/vuu-ui-controls/src/icon-button}/Icon.css.js +0 -0
  815. /package/esm/{icon-button → packages/vuu-ui-controls/src/icon-button}/Icon.css.js.map +0 -0
  816. /package/esm/{icon-button → packages/vuu-ui-controls/src/icon-button}/Icon.js +0 -0
  817. /package/esm/{icon-button → packages/vuu-ui-controls/src/icon-button}/IconButton.css.js +0 -0
  818. /package/esm/{icon-button → packages/vuu-ui-controls/src/icon-button}/IconButton.css.js.map +0 -0
  819. /package/esm/{icon-button → packages/vuu-ui-controls/src/icon-button}/IconButton.js +0 -0
  820. /package/esm/{icon-button → packages/vuu-ui-controls/src/icon-button}/ToggleIconButton.css.js +0 -0
  821. /package/esm/{icon-button → packages/vuu-ui-controls/src/icon-button}/ToggleIconButton.css.js.map +0 -0
  822. /package/esm/{icon-button → packages/vuu-ui-controls/src/icon-button}/ToggleIconButton.js +0 -0
  823. /package/esm/{instrument-picker → packages/vuu-ui-controls/src/instrument-picker}/TablePicker.css.js +0 -0
  824. /package/esm/{instrument-picker → packages/vuu-ui-controls/src/instrument-picker}/TablePicker.css.js.map +0 -0
  825. /package/esm/{instrument-picker → packages/vuu-ui-controls/src/instrument-picker}/TablePicker.js +0 -0
  826. /package/esm/{instrument-picker → packages/vuu-ui-controls/src/instrument-picker}/useTablePicker.js +0 -0
  827. /package/esm/{measured-container → packages/vuu-ui-controls/src/measured-container}/MeasuredContainer.css.js +0 -0
  828. /package/esm/{measured-container → packages/vuu-ui-controls/src/measured-container}/MeasuredContainer.css.js.map +0 -0
  829. /package/esm/{measured-container → packages/vuu-ui-controls/src/measured-container}/MeasuredContainer.js +0 -0
  830. /package/esm/{measured-container → packages/vuu-ui-controls/src/measured-container}/useMeasuredContainer.js +0 -0
  831. /package/esm/{measured-container → packages/vuu-ui-controls/src/measured-container}/useResizeObserver.js +0 -0
  832. /package/esm/{overflow-container → packages/vuu-ui-controls/src/overflow-container}/OverflowContainer.css.js +0 -0
  833. /package/esm/{overflow-container → packages/vuu-ui-controls/src/overflow-container}/OverflowContainer.css.js.map +0 -0
  834. /package/esm/{overflow-container → packages/vuu-ui-controls/src/overflow-container}/OverflowContainer.js +0 -0
  835. /package/esm/{overflow-container → packages/vuu-ui-controls/src/overflow-container}/overflow-utils.js +0 -0
  836. /package/esm/{overflow-container → packages/vuu-ui-controls/src/overflow-container}/useOverflowContainer.js +0 -0
  837. /package/esm/{price-ticker → packages/vuu-ui-controls/src/price-ticker}/PriceTicker.css.js +0 -0
  838. /package/esm/{price-ticker → packages/vuu-ui-controls/src/price-ticker}/PriceTicker.css.js.map +0 -0
  839. /package/esm/{price-ticker → packages/vuu-ui-controls/src/price-ticker}/PriceTicker.js +0 -0
  840. /package/esm/{split-button → packages/vuu-ui-controls/src/split-button}/SplitButton.css.js +0 -0
  841. /package/esm/{split-button → packages/vuu-ui-controls/src/split-button}/SplitButton.css.js.map +0 -0
  842. /package/esm/{split-button → packages/vuu-ui-controls/src/split-button}/SplitButton.js +0 -0
  843. /package/esm/{split-button → packages/vuu-ui-controls/src/split-button}/SplitStateButton.css.js +0 -0
  844. /package/esm/{split-button → packages/vuu-ui-controls/src/split-button}/SplitStateButton.css.js.map +0 -0
  845. /package/esm/{split-button → packages/vuu-ui-controls/src/split-button}/SplitStateButton.js +0 -0
  846. /package/esm/{split-button → packages/vuu-ui-controls/src/split-button}/useSplitButton.js +0 -0
  847. /package/esm/{table-search → packages/vuu-ui-controls/src/table-search}/SearchCell.css.js +0 -0
  848. /package/esm/{table-search → packages/vuu-ui-controls/src/table-search}/SearchCell.css.js.map +0 -0
  849. /package/esm/{table-search → packages/vuu-ui-controls/src/table-search}/SearchCell.js +0 -0
  850. /package/esm/{table-search → packages/vuu-ui-controls/src/table-search}/TableSearch.css.js +0 -0
  851. /package/esm/{table-search → packages/vuu-ui-controls/src/table-search}/TableSearch.css.js.map +0 -0
  852. /package/esm/{table-search → packages/vuu-ui-controls/src/table-search}/TableSearch.js +0 -0
  853. /package/esm/{table-search → packages/vuu-ui-controls/src/table-search}/useTableSearch.js +0 -0
  854. /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabBar.css.js +0 -0
  855. /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabBar.css.js.map +0 -0
  856. /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabBar.js +0 -0
  857. /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabListNext.css.js +0 -0
  858. /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabListNext.css.js.map +0 -0
  859. /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabListNext.js +0 -0
  860. /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNext.css.js +0 -0
  861. /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNext.css.js.map +0 -0
  862. /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNext.js +0 -0
  863. /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNextAction.js +0 -0
  864. /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNextContext.js +0 -0
  865. /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNextPanel.css.js +0 -0
  866. /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNextPanel.css.js.map +0 -0
  867. /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNextPanel.js +0 -0
  868. /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNextTrigger.css.js +0 -0
  869. /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNextTrigger.css.js.map +0 -0
  870. /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNextTrigger.js +0 -0
  871. /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabOverflowList.css.js +0 -0
  872. /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabOverflowList.css.js.map +0 -0
  873. /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabOverflowList.js +0 -0
  874. /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabsNext.js +0 -0
  875. /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabsNextContext.js +0 -0
  876. /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/hooks/useCollection.js +0 -0
  877. /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/hooks/useFocusOutside.js +0 -0
  878. /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/hooks/useOverflow.js +0 -0
  879. /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/Tab.css.js +0 -0
  880. /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/Tab.css.js.map +0 -0
  881. /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/Tab.js +0 -0
  882. /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/TabMenu.css.js +0 -0
  883. /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/TabMenu.css.js.map +0 -0
  884. /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/TabMenu.js +0 -0
  885. /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/TabMenuOptions.js +0 -0
  886. /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/Tabstrip.css.js +0 -0
  887. /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/Tabstrip.css.js.map +0 -0
  888. /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/Tabstrip.js +0 -0
  889. /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/tabstrip-dom-utils.js +0 -0
  890. /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/useAnimatedSelectionThumb.js +0 -0
  891. /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/useKeyboardNavigation.js +0 -0
  892. /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/useSelection.js +0 -0
  893. /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/useTabstrip.js +0 -0
  894. /package/esm/{toolbar → packages/vuu-ui-controls/src/toolbar}/Toolbar.css.js +0 -0
  895. /package/esm/{toolbar → packages/vuu-ui-controls/src/toolbar}/Toolbar.css.js.map +0 -0
  896. /package/esm/{toolbar → packages/vuu-ui-controls/src/toolbar}/Toolbar.js +0 -0
  897. /package/esm/{toolbar → packages/vuu-ui-controls/src/toolbar}/toolbar-dom-utils.js +0 -0
  898. /package/esm/{toolbar → packages/vuu-ui-controls/src/toolbar}/useKeyboardNavigation.js +0 -0
  899. /package/esm/{toolbar → packages/vuu-ui-controls/src/toolbar}/useToolbar.js +0 -0
  900. /package/esm/{utils → packages/vuu-ui-controls/src/utils}/escapeRegExp.js +0 -0
  901. /package/esm/{utils → packages/vuu-ui-controls/src/utils}/forwardCallbackProps.js +0 -0
  902. /package/esm/{utils → packages/vuu-ui-controls/src/utils}/isOverflowElement.js +0 -0
  903. /package/esm/{common-hooks → packages/vuu-ui-controls/src/utils}/isPlainObject.js +0 -0
  904. /package/esm/{vuu-date-picker → packages/vuu-ui-controls/src/vuu-date-picker}/VuuDatePicker.js +0 -0
  905. /package/esm/{vuu-input → packages/vuu-ui-controls/src/vuu-input}/VuuInput.css.js +0 -0
  906. /package/esm/{vuu-input → packages/vuu-ui-controls/src/vuu-input}/VuuInput.css.js.map +0 -0
  907. /package/esm/{vuu-input → packages/vuu-ui-controls/src/vuu-input}/VuuInput.js +0 -0
  908. /package/esm/{vuu-typeahead-input → packages/vuu-ui-controls/src/vuu-typeahead-input}/VuuTypeaheadInput.css.js +0 -0
  909. /package/esm/{vuu-typeahead-input → packages/vuu-ui-controls/src/vuu-typeahead-input}/VuuTypeaheadInput.css.js.map +0 -0
  910. /package/esm/{vuu-typeahead-input → packages/vuu-ui-controls/src/vuu-typeahead-input}/VuuTypeaheadInput.js +0 -0
  911. /package/esm/{vuu-typeahead-input → packages/vuu-ui-controls/src/vuu-typeahead-input}/useVuuTypeaheadInput.js +0 -0
  912. /package/types/{list → highlighter}/Highlighter.d.ts +0 -0
@@ -1,22 +0,0 @@
1
- import { isPlainObject } from './isPlainObject.js';
2
-
3
- function itemToString(item) {
4
- if (typeof item === "string") {
5
- return item;
6
- } else if (!isPlainObject(item)) {
7
- return String(item);
8
- }
9
- if (Object.prototype.hasOwnProperty.call(item, "label")) {
10
- return String(item.label);
11
- }
12
- console.warn(
13
- [
14
- "itemToString: you've likely forgotten to set the label prop on the item object.",
15
- "You can also provide your own `itemToString` implementation."
16
- ].join("\n")
17
- );
18
- return "";
19
- }
20
-
21
- export { itemToString };
22
- //# sourceMappingURL=itemToString.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"itemToString.js","sources":["../../src/common-hooks/itemToString.ts"],"sourcesContent":["import { isPlainObject } from \"./isPlainObject\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type ItemToStringFunction = (item: any) => string;\n\nexport function itemToString(item: unknown): string {\n if (typeof item === \"string\") {\n return item;\n } else if (!isPlainObject(item)) {\n return String(item);\n }\n\n if (Object.prototype.hasOwnProperty.call(item, \"label\")) {\n return String((item as { label?: string }).label);\n }\n\n console.warn(\n [\n \"itemToString: you've likely forgotten to set the label prop on the item object.\",\n \"You can also provide your own `itemToString` implementation.\",\n ].join(\"\\n\")\n );\n\n return \"\";\n}\n"],"names":[],"mappings":";;AAKO,SAAS,aAAa,IAAuB,EAAA;AAClD,EAAI,IAAA,OAAO,SAAS,QAAU,EAAA;AAC5B,IAAO,OAAA,IAAA;AAAA,GACE,MAAA,IAAA,CAAC,aAAc,CAAA,IAAI,CAAG,EAAA;AAC/B,IAAA,OAAO,OAAO,IAAI,CAAA;AAAA;AAGpB,EAAA,IAAI,OAAO,SAAU,CAAA,cAAA,CAAe,IAAK,CAAA,IAAA,EAAM,OAAO,CAAG,EAAA;AACvD,IAAO,OAAA,MAAA,CAAQ,KAA4B,KAAK,CAAA;AAAA;AAGlD,EAAQ,OAAA,CAAA,IAAA;AAAA,IACN;AAAA,MACE,iFAAA;AAAA,MACA;AAAA,KACF,CAAE,KAAK,IAAI;AAAA,GACb;AAEA,EAAO,OAAA,EAAA;AACT;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"selectionTypes.js","sources":["../../src/common-hooks/selectionTypes.ts"],"sourcesContent":["import { MouseEventHandler, RefObject, SyntheticEvent } from \"react\";\n\nexport type SelectionDisallowed = \"none\";\nexport type SingleSelectionStrategy = \"default\" | \"deselectable\";\nexport type MultiSelectionStrategy =\n | \"multiple\"\n | \"extended\"\n | \"extended-multi-range\";\n\n/**\n * SpecialKeyMultiple works as deselectable unless a special key\n * (default SHIFT) is also pressed, then it allows multiple selection.\n * Useful for column sorting, filters etc\n */\nexport type SpecialKeyMultipleSelection = \"multiple-special-key\";\n\nexport type SelectionStrategy =\n | SelectionDisallowed\n | SingleSelectionStrategy\n | MultiSelectionStrategy;\n\nexport const isSingleSelection = (\n s?: SelectionStrategy,\n): s is SingleSelectionStrategy =>\n s === undefined || s === \"default\" || s === \"deselectable\";\n\nexport const isMultiSelection = (\n s?: SelectionStrategy,\n): s is MultiSelectionStrategy =>\n s === \"multiple\" || s?.startsWith(\"extended\") === true;\n\nexport type SelectHandler<Item = string> = (\n event: SyntheticEvent,\n selectedItem: Item,\n) => void;\n\nexport const selectionIsDisallowed = (\n selection?: SelectionStrategy | SpecialKeyMultipleSelection,\n): selection is SelectionDisallowed => selection === \"none\";\n\nexport const allowMultipleSelection = (\n selectionStrategy: SelectionStrategy | SpecialKeyMultipleSelection,\n specialKey = false,\n) =>\n selectionStrategy === \"multiple\" ||\n (selectionStrategy === \"multiple-special-key\" && specialKey);\n\nexport const deselectionIsAllowed = (\n selection?: SelectionStrategy | SpecialKeyMultipleSelection,\n): selection is \"deselectable\" | MultiSelectionStrategy =>\n selection !== \"none\" && selection !== \"default\";\n\nexport const hasSelection = <Item = unknown>(selected?: Item[]) =>\n selected !== undefined && selected.length > 0;\n\nexport const getFirstSelectedItem = <Item = unknown>(selected: Item[]) =>\n selected[0];\n\ninterface SelectionProps {\n defaultSelected?: string[];\n onSelect?: SelectHandler;\n onSelectionChange?: MultiSelectionHandler;\n selected?: string[];\n selectionStrategy?: SelectionStrategy;\n}\n\nexport interface ListHandlers {\n onClick?: (event: React.MouseEvent<HTMLElement>) => void;\n onKeyDown?: (event: React.KeyboardEvent<HTMLElement>) => void;\n onKeyboardNavigation?: (\n event: React.KeyboardEvent,\n currentIndex: number,\n ) => void;\n onMouseMove?: (event: React.MouseEvent) => void;\n}\nexport interface SelectionHookProps extends SelectionProps {\n containerRef: RefObject<HTMLElement | null>;\n disableSelection?: boolean;\n highlightedIndex: number;\n itemQuery: string;\n label?: string;\n onClick?: MouseEventHandler;\n selectionKeys?: string[];\n tabToSelect?: boolean;\n}\n\nexport interface SelectionHookResult {\n listHandlers: ListHandlers;\n selected: string[];\n setSelected: (selected: string[]) => void;\n}\n\n/**\n * evt is only null in the special case of a selection fired from a multi-select\n * host on tab or selection based on freeform text in combobox\n */\nexport type MultiSelectionHandler<Item = string> = (\n event: SyntheticEvent | null,\n selected: Item[],\n) => void;\n/**\n * evt is only null in the special case of freeform text in combobox\n */\nexport type SingleSelectionHandler<Item = string> = (\n event: SyntheticEvent | null,\n selected: Item,\n) => void;\n\nexport type SelectionType<\n I,\n S extends SelectionStrategy,\n> = S extends MultiSelectionStrategy ? I[] : I | null;\n\nexport interface ComponentSelectionProps<\n Item = string,\n S extends SelectionStrategy = \"default\",\n> {\n defaultSelected?: S extends MultiSelectionStrategy ? Item[] : Item;\n onSelect?: SelectHandler<Item>;\n onSelectionChange?: S extends MultiSelectionStrategy\n ? MultiSelectionHandler<Item>\n : SingleSelectionHandler<Item>;\n selected?: SelectionType<Item, S>;\n selectionStrategy?: S;\n /**\n * The keyboard keys used to effect selection, defaults to SPACE and ENTER\n * TODO maybe this belongs on the SelectionProps interface ?\n */\n selectionKeys?: string[];\n}\n"],"names":[],"mappings":"AAqBO,MAAM,oBAAoB,CAC/B,CAAA,KAEA,MAAM,KAAa,CAAA,IAAA,CAAA,KAAM,aAAa,CAAM,KAAA;AAEjC,MAAA,gBAAA,GAAmB,CAC9B,CAEA,KAAA,CAAA,KAAM,cAAc,CAAG,EAAA,UAAA,CAAW,UAAU,CAAM,KAAA;AAOvC,MAAA,qBAAA,GAAwB,CACnC,SAAA,KACqC,SAAc,KAAA;AAExC,MAAA,sBAAA,GAAyB,CACpC,iBACA,EAAA,UAAA,GAAa,UAEb,iBAAsB,KAAA,UAAA,IACrB,sBAAsB,sBAA0B,IAAA;AAE5C,MAAM,oBAAuB,GAAA,CAClC,SAEA,KAAA,SAAA,KAAc,UAAU,SAAc,KAAA;AAEjC,MAAM,eAAe,CAAiB,QAAA,KAC3C,QAAa,KAAA,KAAA,CAAA,IAAa,SAAS,MAAS,GAAA;AAEvC,MAAM,oBAAuB,GAAA,CAAiB,QACnD,KAAA,QAAA,CAAS,CAAC;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-resize-observer.js","sources":["../../src/common-hooks/use-resize-observer.ts"],"sourcesContent":["import {\n RefObject,\n useCallback,\n useEffect,\n useLayoutEffect,\n useRef,\n} from \"react\";\n\nexport const WidthHeight = [\"height\", \"width\"];\nexport const WidthOnly = [\"width\"];\nexport const HeightOnly = [\"height\"];\n\nexport type measurements<T = string | number> = {\n height?: T;\n clientHeight?: number;\n clientWidth?: number;\n contentHeight?: number;\n contentWidth?: number;\n scrollHeight?: number;\n scrollWidth?: number;\n width?: T;\n};\ntype measuredDimension = keyof measurements<number>;\n\nexport type ResizeHandler = (measurements: measurements<number>) => void;\n\ntype observedDetails = {\n onResize?: ResizeHandler;\n measurements: measurements<number>;\n};\nconst observedMap = new Map<HTMLElement, observedDetails>();\n\nconst getTargetSize = (\n element: HTMLElement,\n size: {\n height: number;\n width: number;\n contentHeight: number;\n contentWidth: number;\n },\n dimension: measuredDimension\n): number => {\n switch (dimension) {\n case \"height\":\n return size.height;\n case \"clientHeight\":\n return element.clientHeight;\n case \"clientWidth\":\n return element.clientWidth;\n case \"contentHeight\":\n return size.contentHeight;\n case \"contentWidth\":\n return size.contentWidth;\n case \"scrollHeight\":\n return Math.ceil(element.scrollHeight);\n case \"scrollWidth\":\n return Math.ceil(element.scrollWidth);\n case \"width\":\n return size.width;\n default:\n return 0;\n }\n};\n\n// TODO should we make this create-on-demand\nconst resizeObserver = new ResizeObserver((entries: ResizeObserverEntry[]) => {\n for (const entry of entries) {\n const { target, borderBoxSize, contentBoxSize } = entry;\n const observedTarget = observedMap.get(target as HTMLElement);\n if (observedTarget) {\n const [{ blockSize: height, inlineSize: width }] = borderBoxSize;\n const [{ blockSize: contentHeight, inlineSize: contentWidth }] =\n contentBoxSize;\n const { onResize, measurements } = observedTarget;\n let sizeChanged = false;\n for (const [dimension, size] of Object.entries(measurements)) {\n const newSize = getTargetSize(\n target as HTMLElement,\n { height, width, contentHeight, contentWidth },\n dimension as measuredDimension\n );\n\n if (newSize !== size) {\n sizeChanged = true;\n measurements[dimension as measuredDimension] = newSize;\n }\n }\n if (sizeChanged) {\n // TODO only return measured sizes\n onResize && onResize(measurements);\n }\n }\n }\n});\n\n// TODO use an optional lag (default to false) to ask to fire onResize\n// with initial size\nexport function useResizeObserver(\n ref: RefObject<Element | HTMLElement | null>,\n dimensions: string[],\n onResize: ResizeHandler,\n reportInitialSize = false\n) {\n const dimensionsRef = useRef(dimensions);\n const target = ref.current as HTMLElement;\n\n const measure = useCallback((target: HTMLElement): measurements<number> => {\n const { width, height } = target.getBoundingClientRect();\n const { clientWidth: contentWidth, clientHeight: contentHeight } = target;\n return dimensionsRef.current.reduce(\n (map: { [key: string]: number }, dim) => {\n map[dim] = getTargetSize(\n target,\n { width, height, contentHeight, contentWidth },\n dim as measuredDimension\n );\n return map;\n },\n {}\n );\n }, []);\n\n // TODO use ref to store resizeHandler here\n // resize handler registered with REsizeObserver will never change\n // use ref to store user onResize callback here\n // resizeHandler will call user callback.current\n\n // Keep this effect separate in case user inadvertently passes different\n // dimensions or callback instance each time - we only ever want to\n // initiate new observation when ref changes.\n useLayoutEffect(() => {\n // const target = ref.current as HTMLElement;\n async function registerObserver() {\n // Create the map entry immediately. useEffect may fire below\n // before fonts are ready and attempt to update entry\n observedMap.set(target, { measurements: {} as measurements<number> });\n await document.fonts.ready;\n const observedTarget = observedMap.get(target);\n if (observedTarget) {\n const measurements = measure(target);\n observedTarget.measurements = measurements;\n resizeObserver.observe(target);\n if (reportInitialSize) {\n onResize(measurements);\n }\n } else {\n console.log(\n `%cuseResizeObserver an target expected to be under observation wa snot found. This warrants investigation`,\n \"font-weight:bold; color:red;\"\n );\n }\n }\n\n if (target) {\n // TODO might we want multiple callers to attach a listener to the same element ?\n if (observedMap.has(target)) {\n // console.log(\n // \"useResizeObserver attemping to observe same element twice\",\n // { target }\n // );\n // throw Error(\n // \"useResizeObserver attemping to observe same element twice\"\n // );\n }\n // TODO set a pending entry on map\n registerObserver();\n }\n return () => {\n if (target && observedMap.has(target)) {\n resizeObserver.unobserve(target);\n observedMap.delete(target);\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [measure, target]);\n\n useEffect(() => {\n const target = ref.current as HTMLElement;\n const record = observedMap.get(target);\n if (record) {\n if (dimensionsRef.current !== dimensions) {\n dimensionsRef.current = dimensions;\n const measurements = measure(target);\n record.measurements = measurements;\n }\n // Might not have changed, but no harm ...\n record.onResize = onResize;\n }\n }, [dimensions, measure, ref, onResize]);\n}\n"],"names":["target"],"mappings":"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"}
@@ -1,307 +0,0 @@
1
- import { useState, useRef, useMemo, useCallback, isValidElement } from 'react';
2
- import { countChildItems, isDisabled, isFocusable, isHeader, isGroupNode, sourceItems, childItems, isParentPath, replaceCollectionItem } from '../list/common-hooks/utils/collection-item-utils.js';
3
- import { getDefaultFilter, getDefaultFilterRegex } from '../list/common-hooks/utils/filter-utils.js';
4
- import { itemToString } from './itemToString.js';
5
- import { useCollection } from './collectionProvider.js';
6
-
7
- const defaultCollectionOptions = {};
8
- const useCollectionItems = ({
9
- children,
10
- id: idRoot,
11
- options = defaultCollectionOptions,
12
- // revealSelected = false,
13
- source
14
- }) => {
15
- const { getItemId } = options;
16
- const [, forceUpdate] = useState(null);
17
- const inheritedCollectionHook = useCollection();
18
- const dataRef = useRef([]);
19
- const flattenedDataRef = useRef([]);
20
- const EMPTY_COLLECTION = useMemo(() => [], []);
21
- const filterPattern = useRef(options.filterPattern ?? "");
22
- const disableFilter = options.disableFilter ?? false;
23
- const {
24
- getFilterRegex = getDefaultFilterRegex,
25
- noChildrenLabel,
26
- itemToString: itemToString$1 = itemToString
27
- } = options;
28
- const isExpanded = useCallback(() => {
29
- return options.defaultExpanded || false;
30
- }, [options.defaultExpanded]);
31
- const addMetadataToItems = useCallback(
32
- (items, indexer, level = 1, path = "", results = [], flattenedCollection2 = [], flattenedSource2 = []) => {
33
- items.forEach((item, i, all) => {
34
- const isCollapsibleHeader = item.header && options.collapsibleHeaders;
35
- const isNonCollapsibleGroupNode = item.childNodes && options.collapsibleHeaders === false;
36
- const isLeaf = !item.childNodes || item.childNodes.length === 0;
37
- const nonCollapsible = isNonCollapsibleGroupNode || isLeaf && !isCollapsibleHeader;
38
- const childPath = path ? `${path}.${i}` : `item-${i}`;
39
- const id = item.id ?? (getItemId ? getItemId(i) : `${idRoot}-${childPath}`);
40
- const expanded = nonCollapsible ? void 0 : item.expanded ?? isExpanded();
41
- const normalisedItem = {
42
- ...item,
43
- childNodes: void 0,
44
- count: !isNonCollapsibleGroupNode && expanded === void 0 ? 0 : countChildItems(item, all, i),
45
- description: item.description,
46
- disabled: isDisabled(item.value),
47
- focusable: isFocusable(item.value) ? void 0 : false,
48
- id,
49
- index: indexer.value,
50
- expanded,
51
- level
52
- };
53
- results.push(normalisedItem);
54
- flattenedCollection2.push(normalisedItem);
55
- flattenedSource2.push(items[i].value);
56
- indexer.value += 1;
57
- if (item.childNodes) {
58
- const [children2] = addMetadataToItems(
59
- item.childNodes,
60
- indexer,
61
- level + 1,
62
- childPath,
63
- [],
64
- flattenedCollection2,
65
- flattenedSource2
66
- );
67
- normalisedItem.childNodes = children2;
68
- }
69
- });
70
- return [results, flattenedSource2, flattenedCollection2];
71
- },
72
- [options.collapsibleHeaders, getItemId, idRoot, isExpanded]
73
- );
74
- const getFilter = useCallback(() => {
75
- if (filterPattern.current && !disableFilter) {
76
- return getDefaultFilter(filterPattern.current, getFilterRegex);
77
- } else {
78
- return null;
79
- }
80
- }, [disableFilter, getFilterRegex]);
81
- const collectVisibleItems = useCallback(
82
- (items, filter = getFilter(), results = [], idx = { value: 0 }) => {
83
- let skipToNextHeader = false;
84
- for (const item of items) {
85
- if (!(skipToNextHeader && !isHeader(item))) {
86
- if (item.value !== null && (filter === null || filter(itemToString$1(item.value)))) {
87
- results[idx.value] = item;
88
- idx.value += 1;
89
- }
90
- skipToNextHeader = false;
91
- if (isHeader(item) && item.expanded === false) {
92
- skipToNextHeader = true;
93
- } else if (isGroupNode(item)) {
94
- if (item.expanded !== false && item.childNodes) {
95
- collectVisibleItems(item.childNodes, filter, results, idx);
96
- }
97
- }
98
- }
99
- }
100
- return results;
101
- },
102
- [getFilter, itemToString$1]
103
- );
104
- const partialCollectionItems = useMemo(() => {
105
- return inheritedCollectionHook ? EMPTY_COLLECTION : sourceItems(source, { itemToString: itemToString$1, noChildrenLabel }) || childItems(children) || [];
106
- }, [
107
- inheritedCollectionHook,
108
- EMPTY_COLLECTION,
109
- source,
110
- itemToString$1,
111
- noChildrenLabel,
112
- children
113
- ]);
114
- const [collectionItems, flattenedSource, flattenedCollection] = useMemo(
115
- () => inheritedCollectionHook ? [EMPTY_COLLECTION, EMPTY_COLLECTION, EMPTY_COLLECTION] : (
116
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
117
- //@ts-ignore
118
- addMetadataToItems(partialCollectionItems, { value: 0 })
119
- ),
120
- [
121
- EMPTY_COLLECTION,
122
- addMetadataToItems,
123
- inheritedCollectionHook,
124
- partialCollectionItems
125
- ]
126
- );
127
- flattenedDataRef.current = flattenedCollection;
128
- useMemo(
129
- () => inheritedCollectionHook ? EMPTY_COLLECTION : dataRef.current = collectVisibleItems(collectionItems),
130
- [
131
- EMPTY_COLLECTION,
132
- collectVisibleItems,
133
- collectionItems,
134
- inheritedCollectionHook
135
- ]
136
- );
137
- const collectionItemsRef = useRef(collectionItems);
138
- const setFilterPattern = useCallback(
139
- (pattern = "") => {
140
- if (typeof pattern === "string") {
141
- filterPattern.current = pattern;
142
- dataRef.current = collectVisibleItems(collectionItems);
143
- forceUpdate({});
144
- }
145
- },
146
- [collectionItems, collectVisibleItems]
147
- );
148
- const itemById = useCallback(
149
- (id, target = collectionItems) => {
150
- const sourceWithId = target.find(
151
- (i) => i.id === id || i?.childNodes?.length && isParentPath(i.id, id)
152
- );
153
- if (sourceWithId?.id === id) {
154
- return flattenedSource?.[sourceWithId.index];
155
- } else if (sourceWithId) {
156
- return itemById(id, sourceWithId.childNodes);
157
- }
158
- throw Error(`useCollectionData itemById, id ${id} not found `);
159
- },
160
- [flattenedSource, collectionItems]
161
- );
162
- const indexOfItemById = useCallback(
163
- (id, target = collectionItems) => {
164
- const sourceWithId = target.find(
165
- (i) => i.id === id || i?.childNodes?.length && isParentPath(i.id, id)
166
- );
167
- const idx = sourceWithId ? dataRef.current.indexOf(sourceWithId) : -1;
168
- if (idx !== -1) {
169
- return idx;
170
- }
171
- throw Error(`useCollectionData indexOfItemById, id ${id} not found `);
172
- },
173
- [collectionItems]
174
- );
175
- const toCollectionItem = useCallback(
176
- (item) => {
177
- const collectionItem = flattenedDataRef.current.find(
178
- (i) => isValidElement(i.value) ? i.label === item : i.value === item
179
- );
180
- if (collectionItem) {
181
- return collectionItem;
182
- }
183
- throw Error(`useCollectionData toCollectionItem, item not found `);
184
- },
185
- []
186
- );
187
- const itemToCollectionItem = useCallback(
188
- (sel) => {
189
- if (sel === null) {
190
- return null;
191
- } else if (Array.isArray(sel)) {
192
- const result = [];
193
- for (const item of sel) {
194
- const collectionItem = toCollectionItem(item);
195
- result.push(collectionItem);
196
- }
197
- return result;
198
- } else if (sel !== void 0) {
199
- return toCollectionItem(sel);
200
- }
201
- return void 0;
202
- },
203
- [toCollectionItem]
204
- );
205
- const itemToCollectionItemId = useCallback(
206
- (sel) => {
207
- if (sel === void 0) {
208
- return void 0;
209
- }
210
- const selectedCollectionItem = itemToCollectionItem(sel);
211
- if (Array.isArray(selectedCollectionItem)) {
212
- return selectedCollectionItem.map((i) => i.id);
213
- } else if (selectedCollectionItem) {
214
- return [selectedCollectionItem.id];
215
- } else {
216
- return [];
217
- }
218
- },
219
- [itemToCollectionItem]
220
- );
221
- const stringToCollectionItem = useCallback(
222
- (value) => {
223
- const toCollectionItem2 = (item) => {
224
- const collectionItem = flattenedDataRef.current.find(
225
- (i) => (
226
- // const collectionItem = collectionItemsRef.current.find((i) =>
227
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
228
- //@ts-ignore
229
- isValidElement(i.value) ? i.label === item : i.value !== null && itemToString$1(i.value) === item
230
- )
231
- );
232
- if (collectionItem) {
233
- return collectionItem;
234
- }
235
- };
236
- if (value === null) {
237
- return null;
238
- } else if (Array.isArray(value)) {
239
- const result = [];
240
- for (const item of value) {
241
- const collectionItem = toCollectionItem2(item);
242
- if (collectionItem) {
243
- result.push(collectionItem);
244
- }
245
- }
246
- return result;
247
- } else if (value !== void 0) {
248
- return toCollectionItem2(value);
249
- }
250
- return void 0;
251
- },
252
- [itemToString$1]
253
- );
254
- const itemToId = useCallback((item) => {
255
- for (const collectionItem of collectionItemsRef.current) {
256
- if (item === collectionItem.value) {
257
- return collectionItem.id;
258
- }
259
- }
260
- throw Error("useCollectionData itemToId, item not found");
261
- }, []);
262
- const collapseGroupItem = useCallback(
263
- (item) => {
264
- collectionItemsRef.current = replaceCollectionItem(
265
- collectionItemsRef.current,
266
- item.id,
267
- {
268
- expanded: false
269
- }
270
- );
271
- dataRef.current = collectVisibleItems(collectionItemsRef.current);
272
- forceUpdate({});
273
- },
274
- [collectVisibleItems]
275
- );
276
- const expandGroupItem = useCallback(
277
- (item) => {
278
- collectionItemsRef.current = replaceCollectionItem(
279
- collectionItemsRef.current,
280
- item.id,
281
- {
282
- expanded: true
283
- }
284
- );
285
- dataRef.current = collectVisibleItems(collectionItemsRef.current);
286
- forceUpdate({});
287
- },
288
- [collectVisibleItems]
289
- );
290
- return inheritedCollectionHook || {
291
- collapseGroupItem,
292
- data: dataRef.current,
293
- expandGroupItem,
294
- // why not toggle, or just rely on setdata ?
295
- setFilterPattern,
296
- indexOfItemById,
297
- itemById,
298
- itemToId,
299
- toCollectionItem,
300
- itemToCollectionItem,
301
- itemToCollectionItemId,
302
- stringToCollectionItem
303
- };
304
- };
305
-
306
- export { useCollectionItems };
307
- //# sourceMappingURL=useCollectionItems.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCollectionItems.js","sources":["../../src/common-hooks/useCollectionItems.ts"],"sourcesContent":["import { useCallback, useMemo, useRef, useState, isValidElement } from \"react\";\nimport {\n CollectionItem,\n CollectionIndexer,\n CollectionHookProps,\n CollectionHookResult,\n} from \"./collectionTypes\";\nimport {\n isHeader,\n isGroupNode,\n childItems,\n countChildItems,\n FilterPredicate,\n getDefaultFilter,\n getDefaultFilterRegex,\n isDisabled,\n isFocusable,\n isParentPath,\n replaceCollectionItem,\n sourceItems,\n} from \"../list/common-hooks/utils\";\nimport { itemToString as defaultItemToString } from \"./itemToString\";\n\nimport { useCollection } from \"./collectionProvider\";\n\nconst defaultCollectionOptions = {};\n\nexport const useCollectionItems = <Item>({\n children,\n id: idRoot,\n options = defaultCollectionOptions,\n // revealSelected = false,\n source,\n}: CollectionHookProps<Item>): CollectionHookResult<Item> => {\n const { getItemId } = options;\n const [, forceUpdate] = useState<unknown>(null);\n const inheritedCollectionHook = useCollection<Item>();\n const dataRef = useRef<CollectionItem<Item>[]>([]);\n const flattenedDataRef = useRef<CollectionItem<Item>[]>([]);\n const EMPTY_COLLECTION: CollectionItem<Item>[] = useMemo(() => [], []);\n const filterPattern = useRef<string>(options.filterPattern ?? \"\");\n const disableFilter = options.disableFilter ?? false;\n\n // destructure individual option values so we can safely reference them in dependency arrays\n const {\n getFilterRegex = getDefaultFilterRegex,\n noChildrenLabel,\n itemToString = defaultItemToString,\n } = options;\n\n const isExpanded = useCallback(() => {\n // We can't do this here because itemToId won't work until we complete this phase\n // if (Array.isArray(revealSelected)) {\n // const selectedIds = revealSelected.map(itemToId);\n // return selectedIds.some((id) => isParentPath(path, id));\n // }\n return options.defaultExpanded || false;\n }, [options.defaultExpanded]);\n\n const addMetadataToItems = useCallback(\n <Item>(\n items: CollectionItem<Item>[],\n indexer: CollectionIndexer,\n level = 1,\n path = \"\",\n results: CollectionItem<Item>[] = [],\n flattenedCollection: CollectionItem<Item>[] = [],\n flattenedSource: (Item | null)[] = [],\n ): [CollectionItem<Item>[], (Item | null)[], CollectionItem<Item>[]] => {\n items.forEach((item, i, all) => {\n const isCollapsibleHeader = item.header && options.collapsibleHeaders;\n const isNonCollapsibleGroupNode =\n item.childNodes && options.collapsibleHeaders === false;\n const isLeaf = !item.childNodes || item.childNodes.length === 0;\n const nonCollapsible =\n isNonCollapsibleGroupNode || (isLeaf && !isCollapsibleHeader);\n const childPath = path ? `${path}.${i}` : `item-${i}`;\n // getItemId is backward compatible with earlier List implementation.\n // It is not appropriate for a nested source structure, where index\n // will not always be an absolute offset.\n const id =\n item.id ?? (getItemId ? getItemId(i) : `${idRoot}-${childPath}`);\n\n const expanded = nonCollapsible\n ? undefined\n : (item.expanded ?? isExpanded());\n //TODO dev time check - if id is provided by user, make sure\n // hierarchical pattern is consistent\n const normalisedItem: CollectionItem<Item> = {\n ...item,\n childNodes: undefined,\n count:\n !isNonCollapsibleGroupNode && expanded === undefined\n ? 0\n : countChildItems(item, all, i),\n description: item.description,\n disabled: isDisabled(item.value),\n focusable: isFocusable(item.value) ? undefined : false,\n id,\n index: indexer.value,\n expanded,\n level,\n };\n results.push(normalisedItem);\n flattenedCollection.push(normalisedItem);\n flattenedSource.push(items[i].value);\n\n indexer.value += 1;\n\n // if ((isNonCollapsibleGroupNode || expanded !== undefined) && !isCollapsibleHeader) {\n if (item.childNodes) {\n const [children] = addMetadataToItems<Item>(\n item.childNodes,\n indexer,\n level + 1,\n childPath,\n [],\n flattenedCollection,\n flattenedSource,\n );\n normalisedItem.childNodes = children;\n }\n });\n return [results, flattenedSource, flattenedCollection];\n },\n [options.collapsibleHeaders, getItemId, idRoot, isExpanded],\n );\n\n const getFilter = useCallback(() => {\n if (filterPattern.current && !disableFilter) {\n return getDefaultFilter(filterPattern.current, getFilterRegex);\n } else {\n return null;\n }\n }, [disableFilter, getFilterRegex]);\n\n const collectVisibleItems = useCallback(\n (\n items: CollectionItem<Item>[],\n filter: null | FilterPredicate = getFilter(),\n results: CollectionItem<Item>[] = [],\n idx: { value: number } = { value: 0 },\n ): CollectionItem<Item>[] => {\n let skipToNextHeader = false;\n for (const item of items) {\n if (!(skipToNextHeader && !isHeader(item))) {\n if (\n item.value !== null &&\n (filter === null || filter(itemToString(item.value)))\n ) {\n results[idx.value] = item;\n idx.value += 1;\n }\n skipToNextHeader = false;\n if (isHeader(item) && item.expanded === false) {\n skipToNextHeader = true;\n } else if (isGroupNode(item)) {\n if (item.expanded !== false && item.childNodes) {\n collectVisibleItems(item.childNodes, filter, results, idx);\n }\n }\n }\n }\n return results;\n },\n [getFilter, itemToString],\n );\n\n // Stage 1 - convert source or children to CollectionItems.\n const partialCollectionItems = useMemo(() => {\n return inheritedCollectionHook\n ? EMPTY_COLLECTION\n : sourceItems<Item>(source, { itemToString, noChildrenLabel }) ||\n childItems(children) ||\n [];\n }, [\n inheritedCollectionHook,\n EMPTY_COLLECTION,\n source,\n itemToString,\n noChildrenLabel,\n children,\n ]);\n\n // Stage 2 - extend the collectionItems with additional metadata\n const [collectionItems, flattenedSource, flattenedCollection] = useMemo(\n () =>\n inheritedCollectionHook\n ? [EMPTY_COLLECTION, EMPTY_COLLECTION, EMPTY_COLLECTION]\n : // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n //@ts-ignore\n addMetadataToItems<Item>(partialCollectionItems, { value: 0 }),\n [\n EMPTY_COLLECTION,\n addMetadataToItems,\n inheritedCollectionHook,\n partialCollectionItems,\n ],\n );\n flattenedDataRef.current = flattenedCollection;\n\n // Stage 3 prepare the list of visible items, this is what will be rendered\n useMemo(\n () =>\n inheritedCollectionHook\n ? EMPTY_COLLECTION\n : (dataRef.current = collectVisibleItems(collectionItems)),\n [\n EMPTY_COLLECTION,\n collectVisibleItems,\n collectionItems,\n inheritedCollectionHook,\n ],\n );\n\n const collectionItemsRef = useRef(collectionItems);\n\n const setFilterPattern = useCallback(\n (pattern = \"\") => {\n if (typeof pattern === \"string\") {\n filterPattern.current = pattern;\n dataRef.current = collectVisibleItems(collectionItems);\n forceUpdate({});\n }\n },\n [collectionItems, collectVisibleItems],\n );\n\n const itemById = useCallback(\n (\n id: string,\n target: CollectionItem<Item>[] = collectionItems,\n ): Item | never => {\n const sourceWithId = target.find(\n (i) => i.id === id || (i?.childNodes?.length && isParentPath(i.id, id)),\n );\n if (sourceWithId?.id === id) {\n //TODO do we need the flattered source at all ?\n return flattenedSource?.[sourceWithId.index!] as Item;\n } else if (sourceWithId) {\n return itemById(id, sourceWithId.childNodes);\n }\n throw Error(`useCollectionData itemById, id ${id} not found `);\n },\n [flattenedSource, collectionItems],\n );\n\n const indexOfItemById = useCallback(\n (\n id: string,\n target: CollectionItem<Item>[] = collectionItems,\n ): number | never => {\n const sourceWithId = target.find(\n (i) => i.id === id || (i?.childNodes?.length && isParentPath(i.id, id)),\n );\n const idx = sourceWithId ? dataRef.current.indexOf(sourceWithId) : -1;\n if (idx !== -1) {\n return idx;\n }\n throw Error(`useCollectionData indexOfItemById, id ${id} not found `);\n },\n [collectionItems],\n );\n\n const toCollectionItem = useCallback(\n (item: Item): CollectionItem<Item> | never => {\n // TODO what about Tree structures, we need to search flattened source\n const collectionItem = flattenedDataRef.current.find((i) =>\n isValidElement(i.value) ? i.label === item : i.value === item,\n );\n if (collectionItem) {\n return collectionItem;\n }\n throw Error(`useCollectionData toCollectionItem, item not found `);\n },\n [],\n );\n\n // TODO types need more work, these are correct but we\n // don't really want references to Selection in here\n const itemToCollectionItem = useCallback(\n (sel: Item) => {\n if (sel === null) {\n return null;\n } else if (Array.isArray(sel)) {\n const result: CollectionItem<Item>[] = [];\n for (const item of sel) {\n const collectionItem = toCollectionItem(item);\n result.push(collectionItem);\n }\n return result;\n } else if (sel !== undefined) {\n return toCollectionItem(sel as Item);\n }\n\n return undefined;\n },\n [toCollectionItem],\n );\n\n const itemToCollectionItemId = useCallback(\n (sel: Item) => {\n if (sel === undefined) {\n return undefined;\n }\n\n const selectedCollectionItem = itemToCollectionItem(sel);\n if (Array.isArray(selectedCollectionItem)) {\n return selectedCollectionItem.map((i) => i.id);\n } else if (selectedCollectionItem) {\n return [selectedCollectionItem.id];\n } else {\n return [];\n }\n },\n [itemToCollectionItem],\n );\n\n const stringToCollectionItem = useCallback(\n (value: string | null | undefined) => {\n const toCollectionItem = (\n item: string,\n ): undefined | CollectionItem<Item> | never => {\n // TODO what about Tree structures, we need to search flattened source\n const collectionItem = flattenedDataRef.current.find((i) =>\n // const collectionItem = collectionItemsRef.current.find((i) =>\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n //@ts-ignore\n isValidElement(i.value)\n ? i.label === item\n : i.value !== null && itemToString(i.value) === item,\n );\n if (collectionItem) {\n return collectionItem;\n }\n };\n\n if (value === null) {\n return null;\n } else if (Array.isArray(value)) {\n const result: CollectionItem<Item>[] = [];\n for (const item of value) {\n const collectionItem = toCollectionItem(item);\n if (collectionItem) {\n result.push(collectionItem);\n }\n }\n return result;\n } else if (value !== undefined) {\n return toCollectionItem(value);\n }\n\n return undefined;\n },\n [itemToString],\n );\n\n const itemToId = useCallback((item: Item): string => {\n for (const collectionItem of collectionItemsRef.current) {\n if (item === collectionItem.value) {\n return collectionItem.id;\n }\n }\n throw Error(\"useCollectionData itemToId, item not found\");\n }, []);\n\n const collapseGroupItem = useCallback(\n (item: CollectionItem<Item>) => {\n collectionItemsRef.current = replaceCollectionItem(\n collectionItemsRef.current,\n item.id,\n {\n expanded: false,\n },\n );\n dataRef.current = collectVisibleItems(collectionItemsRef.current);\n forceUpdate({});\n },\n [collectVisibleItems],\n );\n\n const expandGroupItem = useCallback(\n (item: CollectionItem<Item>) => {\n collectionItemsRef.current = replaceCollectionItem<Item>(\n collectionItemsRef.current,\n item.id,\n {\n expanded: true,\n },\n );\n dataRef.current = collectVisibleItems(collectionItemsRef.current);\n forceUpdate({});\n },\n [collectVisibleItems],\n );\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return (\n inheritedCollectionHook || {\n collapseGroupItem,\n data: dataRef.current,\n expandGroupItem, // why not toggle, or just rely on setdata ?\n setFilterPattern,\n indexOfItemById,\n itemById,\n itemToId,\n toCollectionItem,\n itemToCollectionItem,\n itemToCollectionItemId,\n stringToCollectionItem,\n }\n );\n};\n"],"names":["itemToString","defaultItemToString","flattenedCollection","flattenedSource","children","toCollectionItem"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useControlled.js","sources":["../../src/common-hooks/useControlled.ts"],"sourcesContent":["import {\n Dispatch,\n isValidElement,\n SetStateAction,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nexport interface UseControlledProps<T> {\n /**\n * Holds the component value when it's controlled.\n */\n controlled?: T;\n /**\n * The default value when uncontrolled.\n */\n default: T;\n /**\n * The component name displayed in warnings.\n */\n name: string;\n /**\n * The name of the state variable displayed in warnings.\n */\n state?: string;\n}\n\n/**\n * Copied from MUI (v5) useControlled hook with one additional returned value\n * @see https://github.com/mui-org/material-ui/blob/0979e6a54ba47c278d1f535953c0520a86349811/packages/material-ui-utils/src/useControlled.js\n */\nexport function useControlled<S>({\n controlled,\n default: defaultProp,\n name,\n state = \"value\",\n}: UseControlledProps<S>): [S, Dispatch<SetStateAction<S>>, boolean] {\n const { current: isControlled } = useRef(controlled !== undefined);\n const [valueState, setValue] = useState<S>(defaultProp);\n const value = controlled !== undefined ? controlled : valueState;\n const { current: defaultValue } = useRef(defaultProp);\n\n // console.log(\n // `%cuseControlled ${name} ${state}`,\n // `color: ${isControlled ? \"blue\" : \"black\"};font-weight: bold;`,\n // {\n // controlled,\n // defaultProp,\n // }\n // );\n\n useEffect(() => {\n if (process.env.NODE_ENV !== \"production\") {\n if (isControlled !== (controlled !== undefined)) {\n console.error(\n [\n `Salt: A component is changing the ${\n isControlled ? \"\" : \"un\"\n }controlled ${state} state of ${name} to be ${\n isControlled ? \"un\" : \"\"\n }controlled.`,\n \"Elements should not switch from uncontrolled to controlled (or vice versa).\",\n `Decide between using a controlled or uncontrolled ${name} ` +\n \"element for the lifetime of the component.\",\n \"The nature of the state is determined during the first render, it's considered controlled if the value is not `undefined`.\",\n \"More info: https://fb.me/react-controlled-components\",\n ].join(\"\\n\")\n );\n }\n }\n return undefined;\n /* eslint-disable-next-line react-hooks/exhaustive-deps */\n }, [state, name, controlled]);\n\n useEffect(() => {\n if (process.env.NODE_ENV !== \"production\") {\n if (!isControlled && defaultValue !== defaultProp) {\n console.error(\n [\n `Salt: A component is changing the default ${state} state of an uncontrolled ${name} after being initialized. ` +\n `To suppress this warning opt to use a controlled ${name}.`,\n ].join(\"\\n\")\n );\n }\n }\n return undefined;\n /* eslint-disable-next-line react-hooks/exhaustive-deps */\n }, [JSON.stringify(defaultProp, ignoreReactElements)]);\n\n const setValueIfUncontrolled: Dispatch<SetStateAction<S>> = useCallback(\n (newValue) => {\n if (!isControlled) {\n setValue(newValue);\n }\n },\n [isControlled]\n );\n\n return [value, setValueIfUncontrolled, isControlled];\n}\n\n// Ignore ReactElements in JSON, they contain circular refs\nfunction ignoreReactElements<T>(key: string, value: T): T | null {\n return isValidElement(value) ? null : value;\n}\n"],"names":[],"mappings":";;AAiCO,SAAS,aAAiB,CAAA;AAAA,EAC/B,UAAA;AAAA,EACA,OAAS,EAAA,WAAA;AAAA,EACT,IAAA;AAAA,EACA,KAAQ,GAAA;AACV,CAAqE,EAAA;AACnE,EAAA,MAAM,EAAE,OAAS,EAAA,YAAA,EAAiB,GAAA,MAAA,CAAO,eAAe,KAAS,CAAA,CAAA;AACjE,EAAA,MAAM,CAAC,UAAA,EAAY,QAAQ,CAAA,GAAI,SAAY,WAAW,CAAA;AACtD,EAAM,MAAA,KAAA,GAAQ,UAAe,KAAA,KAAA,CAAA,GAAY,UAAa,GAAA,UAAA;AACtD,EAAA,MAAM,EAAE,OAAA,EAAS,YAAa,EAAA,GAAI,OAAO,WAAW,CAAA;AAWpD,EAAA,SAAA,CAAU,MAAM;AACd,IAAI,IAAA,OAAA,CAAQ,GAAI,CAAA,QAAA,KAAa,YAAc,EAAA;AACzC,MAAI,IAAA,YAAA,MAAkB,eAAe,KAAY,CAAA,CAAA,EAAA;AAC/C,QAAQ,OAAA,CAAA,KAAA;AAAA,UACN;AAAA,YACE,CAAA,kCAAA,EACE,YAAe,GAAA,EAAA,GAAK,IACtB,CAAA,WAAA,EAAc,KAAK,CAAA,UAAA,EAAa,IAAI,CAAA,OAAA,EAClC,YAAe,GAAA,IAAA,GAAO,EACxB,CAAA,WAAA,CAAA;AAAA,YACA,6EAAA;AAAA,YACA,qDAAqD,IAAI,CAAA,2CAAA,CAAA;AAAA,YAEzD,4HAAA;AAAA,YACA;AAAA,WACF,CAAE,KAAK,IAAI;AAAA,SACb;AAAA;AACF;AAEF,IAAO,OAAA,KAAA,CAAA;AAAA,GAEN,EAAA,CAAC,KAAO,EAAA,IAAA,EAAM,UAAU,CAAC,CAAA;AAE5B,EAAA,SAAA,CAAU,MAAM;AACd,IAAI,IAAA,OAAA,CAAQ,GAAI,CAAA,QAAA,KAAa,YAAc,EAAA;AACzC,MAAI,IAAA,CAAC,YAAgB,IAAA,YAAA,KAAiB,WAAa,EAAA;AACjD,QAAQ,OAAA,CAAA,KAAA;AAAA,UACN;AAAA,YACE,CAA6C,0CAAA,EAAA,KAAK,CAA6B,0BAAA,EAAA,IAAI,8EAC7B,IAAI,CAAA,CAAA;AAAA,WAC5D,CAAE,KAAK,IAAI;AAAA,SACb;AAAA;AACF;AAEF,IAAO,OAAA,KAAA,CAAA;AAAA,KAEN,CAAC,IAAA,CAAK,UAAU,WAAa,EAAA,mBAAmB,CAAC,CAAC,CAAA;AAErD,EAAA,MAAM,sBAAsD,GAAA,WAAA;AAAA,IAC1D,CAAC,QAAa,KAAA;AACZ,MAAA,IAAI,CAAC,YAAc,EAAA;AACjB,QAAA,QAAA,CAAS,QAAQ,CAAA;AAAA;AACnB,KACF;AAAA,IACA,CAAC,YAAY;AAAA,GACf;AAEA,EAAO,OAAA,CAAC,KAAO,EAAA,sBAAA,EAAwB,YAAY,CAAA;AACrD;AAGA,SAAS,mBAAA,CAAuB,KAAa,KAAoB,EAAA;AAC/D,EAAO,OAAA,cAAA,CAAe,KAAK,CAAA,GAAI,IAAO,GAAA,KAAA;AACxC;;;;"}
@@ -1,205 +0,0 @@
1
- import { getElementDataIndex, getElementByDataIndex, isSelectableElement } from '@vuu-ui/vuu-utils';
2
- import { useRef, useCallback } from 'react';
3
- import { selectionIsDisallowed } from './selectionTypes.js';
4
- import { useControlled } from './useControlled.js';
5
-
6
- const CHECKBOX = "checkbox";
7
- const GROUP_SELECTION_NONE = "none";
8
- const GROUP_SELECTION_SINGLE = "single";
9
- const GROUP_SELECTION_CASCADE = "cascade";
10
- const defaultSelectionKeys = ["Enter", " "];
11
- const groupSelectionEnabled = (groupSelection) => groupSelection && groupSelection !== GROUP_SELECTION_NONE;
12
- const useSelection = ({
13
- containerRef,
14
- defaultSelected,
15
- disableSelection = false,
16
- // groupSelection = GROUP_SELECTION_NONE,
17
- highlightedIndex,
18
- itemQuery,
19
- onClick,
20
- // label,
21
- onSelect,
22
- onSelectionChange,
23
- selected: selectedProp,
24
- selectionStrategy,
25
- selectionKeys = defaultSelectionKeys,
26
- tabToSelect
27
- }) => {
28
- const isDeselectable = selectionStrategy === "deselectable";
29
- const isMultipleSelect = selectionStrategy === "multiple";
30
- const isExtendedSelect = selectionStrategy === "extended";
31
- const lastActive = useRef(-1);
32
- const isSelectionEvent = useCallback(
33
- (evt) => selectionKeys.includes(evt.key),
34
- [selectionKeys]
35
- );
36
- const [selected, setSelected] = useControlled({
37
- controlled: selectedProp,
38
- default: defaultSelected ?? [],
39
- name: "UseSelection",
40
- state: "selected"
41
- });
42
- const isItemSelected = useCallback(
43
- (itemId) => selected.includes(itemId),
44
- [selected]
45
- );
46
- const selectDeselectable = useCallback(
47
- (itemId) => isItemSelected(itemId) ? [] : [itemId],
48
- [isItemSelected]
49
- );
50
- const selectMultiple = useCallback(
51
- (itemId) => {
52
- const nextItems = isItemSelected(itemId) ? selected.filter((i) => i !== itemId) : selected.concat(itemId);
53
- nextItems.sort();
54
- return nextItems;
55
- },
56
- [isItemSelected, selected]
57
- );
58
- const selectRange = useCallback(
59
- (idx, preserveExistingSelection) => {
60
- const currentSelection = preserveExistingSelection ? selected : [];
61
- const [lastSelectedItemId] = selected.slice(-1);
62
- const lastSelectedItemIndex = lastSelectedItemId ? getElementDataIndex(document.getElementById(lastSelectedItemId)) : 0;
63
- const startRegion = Math.min(idx, lastSelectedItemIndex);
64
- const endRegion = Math.max(idx, lastSelectedItemIndex);
65
- const container = containerRef.current;
66
- const allItems = Array.from(
67
- container.querySelectorAll(itemQuery)
68
- );
69
- const rangeSelection = allItems.slice(startRegion, endRegion + 1).map((el) => el.id);
70
- const nextItems = [.../* @__PURE__ */ new Set([...currentSelection, ...rangeSelection])];
71
- nextItems.sort();
72
- return nextItems;
73
- },
74
- [containerRef, itemQuery, selected]
75
- );
76
- const selectItemAtIndex = useCallback(
77
- (evt, idx, rangeSelect, preserveExistingSelection) => {
78
- const { current: container } = containerRef;
79
- const { id } = getElementByDataIndex(container, idx, true);
80
- let newSelected;
81
- if (isMultipleSelect) {
82
- newSelected = selectMultiple(id);
83
- } else if (isExtendedSelect) {
84
- if (preserveExistingSelection && !rangeSelect) {
85
- newSelected = selectMultiple(id);
86
- } else if (rangeSelect) {
87
- newSelected = selectRange(idx, preserveExistingSelection);
88
- } else {
89
- newSelected = [id];
90
- }
91
- } else if (isDeselectable) {
92
- newSelected = selectDeselectable(id);
93
- } else {
94
- newSelected = [id];
95
- }
96
- if (newSelected !== selected) {
97
- setSelected(newSelected);
98
- }
99
- onSelect?.(evt, id);
100
- if (newSelected !== selected) {
101
- if (onSelectionChange) {
102
- onSelectionChange(evt, newSelected);
103
- }
104
- }
105
- },
106
- [
107
- containerRef,
108
- isMultipleSelect,
109
- isExtendedSelect,
110
- isDeselectable,
111
- selected,
112
- onSelect,
113
- selectMultiple,
114
- selectRange,
115
- selectDeselectable,
116
- setSelected,
117
- onSelectionChange
118
- ]
119
- );
120
- const handleKeyDown = useCallback(
121
- (evt) => {
122
- const { current: container } = containerRef;
123
- const element = getElementByDataIndex(container, highlightedIndex);
124
- if (isSelectableElement(element)) {
125
- if (isSelectionEvent(evt) || tabToSelect && evt.key === "Tab") {
126
- if (evt.key !== "Tab") {
127
- evt.preventDefault();
128
- }
129
- selectItemAtIndex(
130
- evt,
131
- highlightedIndex,
132
- false,
133
- evt.ctrlKey || evt.metaKey
134
- );
135
- if (isExtendedSelect) {
136
- lastActive.current = highlightedIndex;
137
- }
138
- }
139
- }
140
- },
141
- [
142
- highlightedIndex,
143
- containerRef,
144
- isSelectionEvent,
145
- tabToSelect,
146
- selectItemAtIndex,
147
- isExtendedSelect
148
- ]
149
- );
150
- const handleKeyboardNavigation = useCallback(
151
- (evt, currentIndex) => {
152
- if (isExtendedSelect && evt.shiftKey) {
153
- const { current: container } = containerRef;
154
- const element = getElementByDataIndex(container, currentIndex);
155
- if (isSelectableElement(element)) {
156
- selectItemAtIndex(evt, currentIndex, true);
157
- }
158
- }
159
- },
160
- [isExtendedSelect, containerRef, selectItemAtIndex]
161
- );
162
- const handleClick = useCallback(
163
- (evt) => {
164
- const { current: container } = containerRef;
165
- const element = getElementByDataIndex(container, highlightedIndex);
166
- if (!disableSelection && isSelectableElement(element)) {
167
- evt.preventDefault();
168
- evt.stopPropagation();
169
- selectItemAtIndex(
170
- evt,
171
- highlightedIndex,
172
- evt.shiftKey,
173
- evt.ctrlKey || evt.metaKey
174
- );
175
- if (isExtendedSelect) {
176
- lastActive.current = highlightedIndex;
177
- }
178
- }
179
- onClick?.(evt);
180
- },
181
- [
182
- containerRef,
183
- highlightedIndex,
184
- disableSelection,
185
- onClick,
186
- selectItemAtIndex,
187
- isExtendedSelect
188
- ]
189
- );
190
- const listHandlers = selectionIsDisallowed(selectionStrategy) ? {
191
- onClick
192
- } : {
193
- onClick: handleClick,
194
- onKeyDown: handleKeyDown,
195
- onKeyboardNavigation: handleKeyboardNavigation
196
- };
197
- return {
198
- listHandlers,
199
- selected,
200
- setSelected
201
- };
202
- };
203
-
204
- export { CHECKBOX, GROUP_SELECTION_CASCADE, GROUP_SELECTION_NONE, GROUP_SELECTION_SINGLE, groupSelectionEnabled, useSelection };
205
- //# sourceMappingURL=useSelection.js.map