@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.
- package/cjs/node_modules/@dnd-kit/abstract/index.js +596 -0
- package/cjs/node_modules/@dnd-kit/abstract/index.js.map +1 -0
- package/cjs/node_modules/@dnd-kit/collision/dist/index.js +91 -0
- package/cjs/node_modules/@dnd-kit/collision/dist/index.js.map +1 -0
- package/cjs/node_modules/@dnd-kit/dom/index.js +1645 -0
- package/cjs/node_modules/@dnd-kit/dom/index.js.map +1 -0
- package/cjs/node_modules/@dnd-kit/dom/sortable.js +833 -0
- package/cjs/node_modules/@dnd-kit/dom/sortable.js.map +1 -0
- package/cjs/node_modules/@dnd-kit/dom/utilities.js +1389 -0
- package/cjs/node_modules/@dnd-kit/dom/utilities.js.map +1 -0
- package/cjs/node_modules/@dnd-kit/geometry/dist/index.js +310 -0
- package/cjs/node_modules/@dnd-kit/geometry/dist/index.js.map +1 -0
- package/cjs/node_modules/@dnd-kit/react/hooks.js +86 -0
- package/cjs/node_modules/@dnd-kit/react/hooks.js.map +1 -0
- package/cjs/node_modules/@dnd-kit/react/sortable.js +177 -0
- package/cjs/node_modules/@dnd-kit/react/sortable.js.map +1 -0
- package/cjs/node_modules/@dnd-kit/react/utilities.js +19 -0
- package/cjs/node_modules/@dnd-kit/react/utilities.js.map +1 -0
- package/cjs/node_modules/@dnd-kit/state/dist/index.js +272 -0
- package/cjs/node_modules/@dnd-kit/state/dist/index.js.map +1 -0
- package/cjs/node_modules/@preact/signals-core/dist/signals-core.js +11 -0
- package/cjs/node_modules/@preact/signals-core/dist/signals-core.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/calendar/Calendar.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/calendar/internal/CalendarCarousel.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/calendar/internal/CalendarContext.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/calendar/internal/CalendarDay.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/calendar/internal/CalendarMonth.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/calendar/internal/CalendarNavigation.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/calendar/internal/CalendarWeekHeader.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/calendar/internal/useFocusManagement.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/calendar/internal/utils.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/calendar/useCalendar.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/calendar/useCalendarDay.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/calendar/useSelection.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/column-picker/ColumnPicker.js +128 -0
- package/cjs/packages/vuu-ui-controls/src/column-picker/ColumnPicker.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/column-picker/ColumnSearch.js +62 -0
- package/cjs/packages/vuu-ui-controls/src/column-picker/ColumnSearch.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/common-hooks/selectionTypes.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/common-hooks/use-resize-observer.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/common-hooks/useControlled.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/context-panel-provider/ContextPanelProvider.js +55 -0
- package/cjs/packages/vuu-ui-controls/src/context-panel-provider/ContextPanelProvider.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/cycle-state-button/CycleStateButton.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/date-input/DateInput.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/date-picker/DatePicker.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/date-picker/DatePickerContext.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/date-picker/DatePickerPanel.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/drag-drop/DragDropProvider.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/drag-drop/DragDropState.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/drag-drop/Draggable.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/drag-drop/dragDropTypes.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/drag-drop/drop-target-utils.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/drag-drop/useAutoScroll.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/drag-drop/useDragDisplacers.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/drag-drop/useDragDrop.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/drag-drop/useDragDropCopy.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/drag-drop/useDragDropIndicator.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/drag-drop/useDragDropNaturalMovement.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/drag-drop/useDropIndicator.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/drag-drop/useGlobalDragDrop.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/editable/useEditableText.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/editable-label/EditableLabel.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/expando-input/ExpandoInput.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/icon-button/Icon.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/icon-button/IconButton.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/icon-button/ToggleIconButton.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/index.js +158 -0
- package/cjs/packages/vuu-ui-controls/src/index.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/instrument-picker/TablePicker.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/instrument-picker/useTablePicker.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/measured-container/MeasuredContainer.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/measured-container/useMeasuredContainer.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/measured-container/useResizeObserver.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/overflow-container/OverflowContainer.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/overflow-container/overflow-utils.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/overflow-container/useOverflowContainer.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/price-ticker/PriceTicker.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/sortable-list/SortableList.js +38 -0
- package/cjs/packages/vuu-ui-controls/src/sortable-list/SortableList.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/split-button/SplitButton.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/split-button/SplitStateButton.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/split-button/useSplitButton.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/table-search/SearchCell.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/table-search/TableSearch.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/table-search/useTableSearch.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabBar.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabListNext.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabNext.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabNextAction.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabNextContext.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabNextPanel.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabNextTrigger.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabOverflowList.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabsNext.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabsNextContext.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/hooks/useCollection.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/hooks/useFocusOutside.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/hooks/useOverflow.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabstrip/Tab.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabstrip/TabMenu.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabstrip/TabMenuOptions.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabstrip/Tabstrip.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabstrip/tabstrip-dom-utils.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabstrip/useAnimatedSelectionThumb.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabstrip/useKeyboardNavigation.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabstrip/useSelection.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabstrip/useTabstrip.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/toolbar/Toolbar.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/toolbar/toolbar-dom-utils.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/toolbar/useKeyboardNavigation.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/toolbar/useSelection.js +93 -0
- package/cjs/packages/vuu-ui-controls/src/toolbar/useSelection.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/toolbar/useToolbar.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/utils/escapeRegExp.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/utils/forwardCallbackProps.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/utils/isOverflowElement.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/utils/isPlainObject.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/vuu-date-picker/VuuDatePicker.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/vuu-input/VuuInput.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/vuu-typeahead-input/VuuTypeaheadInput.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/vuu-typeahead-input/useVuuTypeaheadInput.js.map +1 -0
- package/esm/node_modules/@dnd-kit/abstract/index.js +584 -0
- package/esm/node_modules/@dnd-kit/abstract/index.js.map +1 -0
- package/esm/node_modules/@dnd-kit/collision/dist/index.js +86 -0
- package/esm/node_modules/@dnd-kit/collision/dist/index.js.map +1 -0
- package/esm/node_modules/@dnd-kit/dom/index.js +1640 -0
- package/esm/node_modules/@dnd-kit/dom/index.js.map +1 -0
- package/esm/node_modules/@dnd-kit/dom/sortable.js +827 -0
- package/esm/node_modules/@dnd-kit/dom/sortable.js.map +1 -0
- package/esm/node_modules/@dnd-kit/dom/utilities.js +1344 -0
- package/esm/node_modules/@dnd-kit/dom/utilities.js.map +1 -0
- package/esm/node_modules/@dnd-kit/geometry/dist/index.js +303 -0
- package/esm/node_modules/@dnd-kit/geometry/dist/index.js.map +1 -0
- package/esm/node_modules/@dnd-kit/react/hooks.js +80 -0
- package/esm/node_modules/@dnd-kit/react/hooks.js.map +1 -0
- package/esm/node_modules/@dnd-kit/react/sortable.js +175 -0
- package/esm/node_modules/@dnd-kit/react/sortable.js.map +1 -0
- package/esm/node_modules/@dnd-kit/react/utilities.js +17 -0
- package/esm/node_modules/@dnd-kit/react/utilities.js.map +1 -0
- package/esm/node_modules/@dnd-kit/state/dist/index.js +259 -0
- package/esm/node_modules/@dnd-kit/state/dist/index.js.map +1 -0
- package/esm/node_modules/@preact/signals-core/dist/signals-core.js +4 -0
- package/esm/node_modules/@preact/signals-core/dist/signals-core.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/calendar/Calendar.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/calendar/internal/CalendarCarousel.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/calendar/internal/CalendarContext.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/calendar/internal/CalendarDay.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/calendar/internal/CalendarMonth.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/calendar/internal/CalendarNavigation.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/calendar/internal/CalendarWeekHeader.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/calendar/internal/useFocusManagement.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/calendar/internal/utils.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/calendar/useCalendar.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/calendar/useCalendarDay.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/calendar/useSelection.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/column-picker/ColumnPicker.js +126 -0
- package/esm/packages/vuu-ui-controls/src/column-picker/ColumnPicker.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/column-picker/ColumnSearch.js +60 -0
- package/esm/packages/vuu-ui-controls/src/column-picker/ColumnSearch.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/common-hooks/selectionTypes.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/common-hooks/use-resize-observer.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/common-hooks/useControlled.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/context-panel-provider/ContextPanelProvider.js +51 -0
- package/esm/packages/vuu-ui-controls/src/context-panel-provider/ContextPanelProvider.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/cycle-state-button/CycleStateButton.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/date-input/DateInput.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/date-picker/DatePicker.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/date-picker/DatePickerContext.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/date-picker/DatePickerPanel.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/drag-drop/DragDropProvider.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/drag-drop/DragDropState.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/drag-drop/Draggable.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/drag-drop/dragDropTypes.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/drag-drop/drop-target-utils.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/drag-drop/useAutoScroll.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/drag-drop/useDragDisplacers.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/drag-drop/useDragDrop.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/drag-drop/useDragDropCopy.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/drag-drop/useDragDropIndicator.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/drag-drop/useDragDropNaturalMovement.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/drag-drop/useDropIndicator.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/drag-drop/useGlobalDragDrop.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/editable/useEditableText.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/editable-label/EditableLabel.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/expando-input/ExpandoInput.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/icon-button/Icon.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/icon-button/IconButton.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/icon-button/ToggleIconButton.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/index.js +54 -0
- package/esm/packages/vuu-ui-controls/src/index.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/instrument-picker/TablePicker.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/instrument-picker/useTablePicker.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/measured-container/MeasuredContainer.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/measured-container/useMeasuredContainer.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/measured-container/useResizeObserver.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/overflow-container/OverflowContainer.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/overflow-container/overflow-utils.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/overflow-container/useOverflowContainer.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/price-ticker/PriceTicker.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/sortable-list/SortableList.js +35 -0
- package/esm/packages/vuu-ui-controls/src/sortable-list/SortableList.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/split-button/SplitButton.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/split-button/SplitStateButton.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/split-button/useSplitButton.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/table-search/SearchCell.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/table-search/TableSearch.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/table-search/useTableSearch.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabBar.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabListNext.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabNext.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabNextAction.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabNextContext.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabNextPanel.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabNextTrigger.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabOverflowList.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabsNext.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabsNextContext.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/hooks/useCollection.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/hooks/useFocusOutside.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/hooks/useOverflow.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabstrip/Tab.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabstrip/TabMenu.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabstrip/TabMenuOptions.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabstrip/Tabstrip.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabstrip/tabstrip-dom-utils.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabstrip/useAnimatedSelectionThumb.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabstrip/useKeyboardNavigation.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabstrip/useSelection.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabstrip/useTabstrip.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/toolbar/Toolbar.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/toolbar/toolbar-dom-utils.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/toolbar/useKeyboardNavigation.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/toolbar/useSelection.js +91 -0
- package/esm/packages/vuu-ui-controls/src/toolbar/useSelection.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/toolbar/useToolbar.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/utils/escapeRegExp.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/utils/forwardCallbackProps.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/utils/isOverflowElement.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/utils/isPlainObject.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/vuu-date-picker/VuuDatePicker.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/vuu-input/VuuInput.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/vuu-typeahead-input/VuuTypeaheadInput.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/vuu-typeahead-input/useVuuTypeaheadInput.js.map +1 -0
- package/package.json +12 -11
- package/types/column-picker/ColumnSearch.d.ts +3 -2
- package/types/common-hooks/index.d.ts +0 -5
- package/types/context-panel-provider/ContextPanelProvider.d.ts +10 -0
- package/types/highlighter/index.d.ts +1 -0
- package/types/index.d.ts +2 -1
- package/types/sortable-list/SortableList.d.ts +8 -0
- package/cjs/calendar/Calendar.js.map +0 -1
- package/cjs/calendar/internal/CalendarCarousel.js.map +0 -1
- package/cjs/calendar/internal/CalendarContext.js.map +0 -1
- package/cjs/calendar/internal/CalendarDay.js.map +0 -1
- package/cjs/calendar/internal/CalendarMonth.js.map +0 -1
- package/cjs/calendar/internal/CalendarNavigation.js.map +0 -1
- package/cjs/calendar/internal/CalendarWeekHeader.js.map +0 -1
- package/cjs/calendar/internal/useFocusManagement.js.map +0 -1
- package/cjs/calendar/internal/utils.js.map +0 -1
- package/cjs/calendar/useCalendar.js.map +0 -1
- package/cjs/calendar/useCalendarDay.js.map +0 -1
- package/cjs/calendar/useSelection.js.map +0 -1
- package/cjs/column-picker/ColumnPicker.js +0 -128
- package/cjs/column-picker/ColumnPicker.js.map +0 -1
- package/cjs/column-picker/ColumnSearch.js +0 -82
- package/cjs/column-picker/ColumnSearch.js.map +0 -1
- package/cjs/common-hooks/collectionProvider.js +0 -24
- package/cjs/common-hooks/collectionProvider.js.map +0 -1
- package/cjs/common-hooks/isPlainObject.js.map +0 -1
- package/cjs/common-hooks/itemToString.js +0 -24
- package/cjs/common-hooks/itemToString.js.map +0 -1
- package/cjs/common-hooks/selectionTypes.js.map +0 -1
- package/cjs/common-hooks/use-resize-observer.js.map +0 -1
- package/cjs/common-hooks/useCollectionItems.js +0 -309
- package/cjs/common-hooks/useCollectionItems.js.map +0 -1
- package/cjs/common-hooks/useControlled.js.map +0 -1
- package/cjs/common-hooks/useSelection.js +0 -212
- package/cjs/common-hooks/useSelection.js.map +0 -1
- package/cjs/cycle-state-button/CycleStateButton.js.map +0 -1
- package/cjs/date-input/DateInput.js.map +0 -1
- package/cjs/date-picker/DatePicker.js.map +0 -1
- package/cjs/date-picker/DatePickerContext.js.map +0 -1
- package/cjs/date-picker/DatePickerPanel.js.map +0 -1
- package/cjs/drag-drop/DragDropProvider.js.map +0 -1
- package/cjs/drag-drop/DragDropState.js.map +0 -1
- package/cjs/drag-drop/Draggable.js.map +0 -1
- package/cjs/drag-drop/dragDropTypes.js.map +0 -1
- package/cjs/drag-drop/drop-target-utils.js.map +0 -1
- package/cjs/drag-drop/useAutoScroll.js.map +0 -1
- package/cjs/drag-drop/useDragDisplacers.js.map +0 -1
- package/cjs/drag-drop/useDragDrop.js.map +0 -1
- package/cjs/drag-drop/useDragDropCopy.js.map +0 -1
- package/cjs/drag-drop/useDragDropIndicator.js.map +0 -1
- package/cjs/drag-drop/useDragDropNaturalMovement.js.map +0 -1
- package/cjs/drag-drop/useDropIndicator.js.map +0 -1
- package/cjs/drag-drop/useGlobalDragDrop.js.map +0 -1
- package/cjs/editable/useEditableText.js.map +0 -1
- package/cjs/editable-label/EditableLabel.js.map +0 -1
- package/cjs/expando-input/ExpandoInput.js.map +0 -1
- package/cjs/icon-button/Icon.js.map +0 -1
- package/cjs/icon-button/IconButton.js.map +0 -1
- package/cjs/icon-button/ToggleIconButton.js.map +0 -1
- package/cjs/index.js +0 -232
- package/cjs/index.js.map +0 -1
- package/cjs/instrument-picker/TablePicker.js.map +0 -1
- package/cjs/instrument-picker/useTablePicker.js.map +0 -1
- package/cjs/list/Highlighter.css.js +0 -6
- package/cjs/list/Highlighter.css.js.map +0 -1
- package/cjs/list/Highlighter.js +0 -36
- package/cjs/list/Highlighter.js.map +0 -1
- package/cjs/list/List.css.js +0 -6
- package/cjs/list/List.css.js.map +0 -1
- package/cjs/list/List.js +0 -317
- package/cjs/list/List.js.map +0 -1
- package/cjs/list/ListItem.css.js +0 -6
- package/cjs/list/ListItem.css.js.map +0 -1
- package/cjs/list/ListItem.js +0 -84
- package/cjs/list/ListItem.js.map +0 -1
- package/cjs/list/ListItemGroup.js +0 -6
- package/cjs/list/ListItemGroup.js.map +0 -1
- package/cjs/list/ListItemHeader.js +0 -6
- package/cjs/list/ListItemHeader.js.map +0 -1
- package/cjs/list/RadioIcon.css.js +0 -6
- package/cjs/list/RadioIcon.css.js.map +0 -1
- package/cjs/list/RadioIcon.js +0 -27
- package/cjs/list/RadioIcon.js.map +0 -1
- package/cjs/list/common-hooks/keyUtils.js +0 -78
- package/cjs/list/common-hooks/keyUtils.js.map +0 -1
- package/cjs/list/common-hooks/list-dom-utils.js +0 -25
- package/cjs/list/common-hooks/list-dom-utils.js.map +0 -1
- package/cjs/list/common-hooks/useCollapsibleGroups.js +0 -72
- package/cjs/list/common-hooks/useCollapsibleGroups.js.map +0 -1
- package/cjs/list/common-hooks/useImperativeScrollingAPI.js +0 -52
- package/cjs/list/common-hooks/useImperativeScrollingAPI.js.map +0 -1
- package/cjs/list/common-hooks/useKeyboardNavigation.js +0 -289
- package/cjs/list/common-hooks/useKeyboardNavigation.js.map +0 -1
- package/cjs/list/common-hooks/useTypeahead.js +0 -74
- package/cjs/list/common-hooks/useTypeahead.js.map +0 -1
- package/cjs/list/common-hooks/useViewportTracking.js +0 -133
- package/cjs/list/common-hooks/useViewportTracking.js.map +0 -1
- package/cjs/list/common-hooks/utils/collection-item-utils.js +0 -182
- package/cjs/list/common-hooks/utils/collection-item-utils.js.map +0 -1
- package/cjs/list/common-hooks/utils/filter-utils.js +0 -11
- package/cjs/list/common-hooks/utils/filter-utils.js.map +0 -1
- package/cjs/list/common-hooks/utils/isSelected.js +0 -9
- package/cjs/list/common-hooks/utils/isSelected.js.map +0 -1
- package/cjs/list/useList.js +0 -278
- package/cjs/list/useList.js.map +0 -1
- package/cjs/list/useListDrop.js +0 -92
- package/cjs/list/useListDrop.js.map +0 -1
- package/cjs/list/useListHeight.js +0 -77
- package/cjs/list/useListHeight.js.map +0 -1
- package/cjs/list/useScrollPosition.js +0 -74
- package/cjs/list/useScrollPosition.js.map +0 -1
- package/cjs/measured-container/MeasuredContainer.js.map +0 -1
- package/cjs/measured-container/useMeasuredContainer.js.map +0 -1
- package/cjs/measured-container/useResizeObserver.js.map +0 -1
- package/cjs/overflow-container/OverflowContainer.js.map +0 -1
- package/cjs/overflow-container/overflow-utils.js.map +0 -1
- package/cjs/overflow-container/useOverflowContainer.js.map +0 -1
- package/cjs/price-ticker/PriceTicker.js.map +0 -1
- package/cjs/split-button/SplitButton.js.map +0 -1
- package/cjs/split-button/SplitStateButton.js.map +0 -1
- package/cjs/split-button/useSplitButton.js.map +0 -1
- package/cjs/table-search/SearchCell.js.map +0 -1
- package/cjs/table-search/TableSearch.js.map +0 -1
- package/cjs/table-search/useTableSearch.js.map +0 -1
- package/cjs/tabs-next/TabBar.js.map +0 -1
- package/cjs/tabs-next/TabListNext.js.map +0 -1
- package/cjs/tabs-next/TabNext.js.map +0 -1
- package/cjs/tabs-next/TabNextAction.js.map +0 -1
- package/cjs/tabs-next/TabNextContext.js.map +0 -1
- package/cjs/tabs-next/TabNextPanel.js.map +0 -1
- package/cjs/tabs-next/TabNextTrigger.js.map +0 -1
- package/cjs/tabs-next/TabOverflowList.js.map +0 -1
- package/cjs/tabs-next/TabsNext.js.map +0 -1
- package/cjs/tabs-next/TabsNextContext.js.map +0 -1
- package/cjs/tabs-next/hooks/useCollection.js.map +0 -1
- package/cjs/tabs-next/hooks/useFocusOutside.js.map +0 -1
- package/cjs/tabs-next/hooks/useOverflow.js.map +0 -1
- package/cjs/tabstrip/Tab.js.map +0 -1
- package/cjs/tabstrip/TabMenu.js.map +0 -1
- package/cjs/tabstrip/TabMenuOptions.js.map +0 -1
- package/cjs/tabstrip/Tabstrip.js.map +0 -1
- package/cjs/tabstrip/tabstrip-dom-utils.js.map +0 -1
- package/cjs/tabstrip/useAnimatedSelectionThumb.js.map +0 -1
- package/cjs/tabstrip/useKeyboardNavigation.js.map +0 -1
- package/cjs/tabstrip/useSelection.js.map +0 -1
- package/cjs/tabstrip/useTabstrip.js.map +0 -1
- package/cjs/toolbar/Toolbar.js.map +0 -1
- package/cjs/toolbar/toolbar-dom-utils.js.map +0 -1
- package/cjs/toolbar/useKeyboardNavigation.js.map +0 -1
- package/cjs/toolbar/useSelection.js +0 -94
- package/cjs/toolbar/useSelection.js.map +0 -1
- package/cjs/toolbar/useToolbar.js.map +0 -1
- package/cjs/utils/escapeRegExp.js.map +0 -1
- package/cjs/utils/forwardCallbackProps.js.map +0 -1
- package/cjs/utils/isOverflowElement.js.map +0 -1
- package/cjs/utils/isPlainObject.js +0 -6
- package/cjs/utils/isPlainObject.js.map +0 -1
- package/cjs/vuu-date-picker/VuuDatePicker.js.map +0 -1
- package/cjs/vuu-input/VuuInput.js.map +0 -1
- package/cjs/vuu-typeahead-input/VuuTypeaheadInput.js.map +0 -1
- package/cjs/vuu-typeahead-input/useVuuTypeaheadInput.js.map +0 -1
- package/esm/calendar/Calendar.js.map +0 -1
- package/esm/calendar/internal/CalendarCarousel.js.map +0 -1
- package/esm/calendar/internal/CalendarContext.js.map +0 -1
- package/esm/calendar/internal/CalendarDay.js.map +0 -1
- package/esm/calendar/internal/CalendarMonth.js.map +0 -1
- package/esm/calendar/internal/CalendarNavigation.js.map +0 -1
- package/esm/calendar/internal/CalendarWeekHeader.js.map +0 -1
- package/esm/calendar/internal/useFocusManagement.js.map +0 -1
- package/esm/calendar/internal/utils.js.map +0 -1
- package/esm/calendar/useCalendar.js.map +0 -1
- package/esm/calendar/useCalendarDay.js.map +0 -1
- package/esm/calendar/useSelection.js.map +0 -1
- package/esm/column-picker/ColumnPicker.js +0 -126
- package/esm/column-picker/ColumnPicker.js.map +0 -1
- package/esm/column-picker/ColumnSearch.js +0 -80
- package/esm/column-picker/ColumnSearch.js.map +0 -1
- package/esm/common-hooks/collectionProvider.js +0 -20
- package/esm/common-hooks/collectionProvider.js.map +0 -1
- package/esm/common-hooks/isPlainObject.js.map +0 -1
- package/esm/common-hooks/itemToString.js +0 -22
- package/esm/common-hooks/itemToString.js.map +0 -1
- package/esm/common-hooks/selectionTypes.js.map +0 -1
- package/esm/common-hooks/use-resize-observer.js.map +0 -1
- package/esm/common-hooks/useCollectionItems.js +0 -307
- package/esm/common-hooks/useCollectionItems.js.map +0 -1
- package/esm/common-hooks/useControlled.js.map +0 -1
- package/esm/common-hooks/useSelection.js +0 -205
- package/esm/common-hooks/useSelection.js.map +0 -1
- package/esm/cycle-state-button/CycleStateButton.js.map +0 -1
- package/esm/date-input/DateInput.js.map +0 -1
- package/esm/date-picker/DatePicker.js.map +0 -1
- package/esm/date-picker/DatePickerContext.js.map +0 -1
- package/esm/date-picker/DatePickerPanel.js.map +0 -1
- package/esm/drag-drop/DragDropProvider.js.map +0 -1
- package/esm/drag-drop/DragDropState.js.map +0 -1
- package/esm/drag-drop/Draggable.js.map +0 -1
- package/esm/drag-drop/dragDropTypes.js.map +0 -1
- package/esm/drag-drop/drop-target-utils.js.map +0 -1
- package/esm/drag-drop/useAutoScroll.js.map +0 -1
- package/esm/drag-drop/useDragDisplacers.js.map +0 -1
- package/esm/drag-drop/useDragDrop.js.map +0 -1
- package/esm/drag-drop/useDragDropCopy.js.map +0 -1
- package/esm/drag-drop/useDragDropIndicator.js.map +0 -1
- package/esm/drag-drop/useDragDropNaturalMovement.js.map +0 -1
- package/esm/drag-drop/useDropIndicator.js.map +0 -1
- package/esm/drag-drop/useGlobalDragDrop.js.map +0 -1
- package/esm/editable/useEditableText.js.map +0 -1
- package/esm/editable-label/EditableLabel.js.map +0 -1
- package/esm/expando-input/ExpandoInput.js.map +0 -1
- package/esm/icon-button/Icon.js.map +0 -1
- package/esm/icon-button/IconButton.js.map +0 -1
- package/esm/icon-button/ToggleIconButton.js.map +0 -1
- package/esm/index.js +0 -73
- package/esm/index.js.map +0 -1
- package/esm/instrument-picker/TablePicker.js.map +0 -1
- package/esm/instrument-picker/useTablePicker.js.map +0 -1
- package/esm/list/Highlighter.css.js +0 -4
- package/esm/list/Highlighter.css.js.map +0 -1
- package/esm/list/Highlighter.js +0 -34
- package/esm/list/Highlighter.js.map +0 -1
- package/esm/list/List.css.js +0 -4
- package/esm/list/List.css.js.map +0 -1
- package/esm/list/List.js +0 -315
- package/esm/list/List.js.map +0 -1
- package/esm/list/ListItem.css.js +0 -4
- package/esm/list/ListItem.css.js.map +0 -1
- package/esm/list/ListItem.js +0 -81
- package/esm/list/ListItem.js.map +0 -1
- package/esm/list/ListItemGroup.js +0 -4
- package/esm/list/ListItemGroup.js.map +0 -1
- package/esm/list/ListItemHeader.js +0 -4
- package/esm/list/ListItemHeader.js.map +0 -1
- package/esm/list/RadioIcon.css.js +0 -4
- package/esm/list/RadioIcon.css.js.map +0 -1
- package/esm/list/RadioIcon.js +0 -25
- package/esm/list/RadioIcon.js.map +0 -1
- package/esm/list/common-hooks/keyUtils.js +0 -64
- package/esm/list/common-hooks/keyUtils.js.map +0 -1
- package/esm/list/common-hooks/list-dom-utils.js +0 -19
- package/esm/list/common-hooks/list-dom-utils.js.map +0 -1
- package/esm/list/common-hooks/useCollapsibleGroups.js +0 -70
- package/esm/list/common-hooks/useCollapsibleGroups.js.map +0 -1
- package/esm/list/common-hooks/useImperativeScrollingAPI.js +0 -50
- package/esm/list/common-hooks/useImperativeScrollingAPI.js.map +0 -1
- package/esm/list/common-hooks/useKeyboardNavigation.js +0 -286
- package/esm/list/common-hooks/useKeyboardNavigation.js.map +0 -1
- package/esm/list/common-hooks/useTypeahead.js +0 -72
- package/esm/list/common-hooks/useTypeahead.js.map +0 -1
- package/esm/list/common-hooks/useViewportTracking.js +0 -131
- package/esm/list/common-hooks/useViewportTracking.js.map +0 -1
- package/esm/list/common-hooks/utils/collection-item-utils.js +0 -168
- package/esm/list/common-hooks/utils/collection-item-utils.js.map +0 -1
- package/esm/list/common-hooks/utils/filter-utils.js +0 -8
- package/esm/list/common-hooks/utils/filter-utils.js.map +0 -1
- package/esm/list/common-hooks/utils/isSelected.js +0 -7
- package/esm/list/common-hooks/utils/isSelected.js.map +0 -1
- package/esm/list/useList.js +0 -276
- package/esm/list/useList.js.map +0 -1
- package/esm/list/useListDrop.js +0 -90
- package/esm/list/useListDrop.js.map +0 -1
- package/esm/list/useListHeight.js +0 -75
- package/esm/list/useListHeight.js.map +0 -1
- package/esm/list/useScrollPosition.js +0 -72
- package/esm/list/useScrollPosition.js.map +0 -1
- package/esm/measured-container/MeasuredContainer.js.map +0 -1
- package/esm/measured-container/useMeasuredContainer.js.map +0 -1
- package/esm/measured-container/useResizeObserver.js.map +0 -1
- package/esm/overflow-container/OverflowContainer.js.map +0 -1
- package/esm/overflow-container/overflow-utils.js.map +0 -1
- package/esm/overflow-container/useOverflowContainer.js.map +0 -1
- package/esm/price-ticker/PriceTicker.js.map +0 -1
- package/esm/split-button/SplitButton.js.map +0 -1
- package/esm/split-button/SplitStateButton.js.map +0 -1
- package/esm/split-button/useSplitButton.js.map +0 -1
- package/esm/table-search/SearchCell.js.map +0 -1
- package/esm/table-search/TableSearch.js.map +0 -1
- package/esm/table-search/useTableSearch.js.map +0 -1
- package/esm/tabs-next/TabBar.js.map +0 -1
- package/esm/tabs-next/TabListNext.js.map +0 -1
- package/esm/tabs-next/TabNext.js.map +0 -1
- package/esm/tabs-next/TabNextAction.js.map +0 -1
- package/esm/tabs-next/TabNextContext.js.map +0 -1
- package/esm/tabs-next/TabNextPanel.js.map +0 -1
- package/esm/tabs-next/TabNextTrigger.js.map +0 -1
- package/esm/tabs-next/TabOverflowList.js.map +0 -1
- package/esm/tabs-next/TabsNext.js.map +0 -1
- package/esm/tabs-next/TabsNextContext.js.map +0 -1
- package/esm/tabs-next/hooks/useCollection.js.map +0 -1
- package/esm/tabs-next/hooks/useFocusOutside.js.map +0 -1
- package/esm/tabs-next/hooks/useOverflow.js.map +0 -1
- package/esm/tabstrip/Tab.js.map +0 -1
- package/esm/tabstrip/TabMenu.js.map +0 -1
- package/esm/tabstrip/TabMenuOptions.js.map +0 -1
- package/esm/tabstrip/Tabstrip.js.map +0 -1
- package/esm/tabstrip/tabstrip-dom-utils.js.map +0 -1
- package/esm/tabstrip/useAnimatedSelectionThumb.js.map +0 -1
- package/esm/tabstrip/useKeyboardNavigation.js.map +0 -1
- package/esm/tabstrip/useSelection.js.map +0 -1
- package/esm/tabstrip/useTabstrip.js.map +0 -1
- package/esm/toolbar/Toolbar.js.map +0 -1
- package/esm/toolbar/toolbar-dom-utils.js.map +0 -1
- package/esm/toolbar/useKeyboardNavigation.js.map +0 -1
- package/esm/toolbar/useSelection.js +0 -92
- package/esm/toolbar/useSelection.js.map +0 -1
- package/esm/toolbar/useToolbar.js.map +0 -1
- package/esm/utils/escapeRegExp.js.map +0 -1
- package/esm/utils/forwardCallbackProps.js.map +0 -1
- package/esm/utils/isOverflowElement.js.map +0 -1
- package/esm/utils/isPlainObject.js +0 -4
- package/esm/utils/isPlainObject.js.map +0 -1
- package/esm/vuu-date-picker/VuuDatePicker.js.map +0 -1
- package/esm/vuu-input/VuuInput.js.map +0 -1
- package/esm/vuu-typeahead-input/VuuTypeaheadInput.js.map +0 -1
- package/esm/vuu-typeahead-input/useVuuTypeaheadInput.js.map +0 -1
- package/types/common-hooks/collectionProvider.d.ts +0 -13
- package/types/common-hooks/collectionTypes.d.ts +0 -58
- package/types/common-hooks/isPlainObject.d.ts +0 -1
- package/types/common-hooks/itemToString.d.ts +0 -2
- package/types/common-hooks/navigationTypes.d.ts +0 -36
- package/types/common-hooks/useCollectionItems.d.ts +0 -2
- package/types/common-hooks/useSelection.d.ts +0 -8
- package/types/list/ChevronIcon.d.ts +0 -7
- package/types/list/List.d.ts +0 -6
- package/types/list/ListItem.d.ts +0 -6
- package/types/list/ListItemGroup.d.ts +0 -6
- package/types/list/ListItemHeader.d.ts +0 -5
- package/types/list/RadioIcon.d.ts +0 -4
- package/types/list/common-hooks/index.d.ts +0 -10
- package/types/list/common-hooks/keyUtils.d.ts +0 -14
- package/types/list/common-hooks/list-dom-utils.d.ts +0 -5
- package/types/list/common-hooks/useCollapsibleGroups.d.ts +0 -14
- package/types/list/common-hooks/useImperativeScrollingAPI.d.ts +0 -14
- package/types/list/common-hooks/useKeyboardNavigation.d.ts +0 -3
- package/types/list/common-hooks/useTypeahead.d.ts +0 -14
- package/types/list/common-hooks/useViewportTracking.d.ts +0 -14
- package/types/list/common-hooks/utils/collection-item-utils.d.ts +0 -21
- package/types/list/common-hooks/utils/filter-utils.d.ts +0 -4
- package/types/list/common-hooks/utils/index.d.ts +0 -4
- package/types/list/common-hooks/utils/isSelected.d.ts +0 -2
- package/types/list/index.d.ts +0 -9
- package/types/list/keyset.d.ts +0 -9
- package/types/list/listTypes.d.ts +0 -200
- package/types/list/useList.d.ts +0 -3
- package/types/list/useListDrop.d.ts +0 -15
- package/types/list/useListHeight.d.ts +0 -19
- package/types/list/useScrollPosition.d.ts +0 -19
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/Calendar.css.js +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/Calendar.css.js.map +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/Calendar.js +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarCarousel.css.js +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarCarousel.css.js.map +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarCarousel.js +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarContext.js +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarDay.css.js +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarDay.css.js.map +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarDay.js +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarMonth.css.js +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarMonth.css.js.map +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarMonth.js +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarNavigation.css.js +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarNavigation.css.js.map +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarNavigation.js +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarWeekHeader.css.js +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarWeekHeader.css.js.map +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarWeekHeader.js +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/useFocusManagement.js +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/utils.js +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/useCalendar.js +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/useCalendarDay.js +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/useSelection.js +0 -0
- /package/cjs/{column-picker → packages/vuu-ui-controls/src/column-picker}/ColumnPicker.css.js +0 -0
- /package/cjs/{column-picker → packages/vuu-ui-controls/src/column-picker}/ColumnPicker.css.js.map +0 -0
- /package/cjs/{column-picker → packages/vuu-ui-controls/src/column-picker}/ColumnSearch.css.js +0 -0
- /package/cjs/{column-picker → packages/vuu-ui-controls/src/column-picker}/ColumnSearch.css.js.map +0 -0
- /package/cjs/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/selectionTypes.js +0 -0
- /package/cjs/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/use-resize-observer.js +0 -0
- /package/cjs/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/useControlled.js +0 -0
- /package/cjs/{cycle-state-button → packages/vuu-ui-controls/src/cycle-state-button}/CycleStateButton.js +0 -0
- /package/cjs/{date-input → packages/vuu-ui-controls/src/date-input}/DateInput.css.js +0 -0
- /package/cjs/{date-input → packages/vuu-ui-controls/src/date-input}/DateInput.css.js.map +0 -0
- /package/cjs/{date-input → packages/vuu-ui-controls/src/date-input}/DateInput.js +0 -0
- /package/cjs/{date-picker → packages/vuu-ui-controls/src/date-picker}/DatePicker.js +0 -0
- /package/cjs/{date-picker → packages/vuu-ui-controls/src/date-picker}/DatePickerContext.js +0 -0
- /package/cjs/{date-picker → packages/vuu-ui-controls/src/date-picker}/DatePickerPanel.css.js +0 -0
- /package/cjs/{date-picker → packages/vuu-ui-controls/src/date-picker}/DatePickerPanel.css.js.map +0 -0
- /package/cjs/{date-picker → packages/vuu-ui-controls/src/date-picker}/DatePickerPanel.js +0 -0
- /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/DragDropProvider.js +0 -0
- /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/DragDropState.js +0 -0
- /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/Draggable.css.js +0 -0
- /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/Draggable.css.js.map +0 -0
- /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/Draggable.js +0 -0
- /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/dragDropTypes.js +0 -0
- /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/drop-target-utils.js +0 -0
- /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useAutoScroll.js +0 -0
- /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useDragDisplacers.js +0 -0
- /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useDragDrop.js +0 -0
- /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useDragDropCopy.js +0 -0
- /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useDragDropIndicator.js +0 -0
- /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useDragDropNaturalMovement.js +0 -0
- /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useDropIndicator.js +0 -0
- /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useGlobalDragDrop.js +0 -0
- /package/cjs/{editable → packages/vuu-ui-controls/src/editable}/useEditableText.js +0 -0
- /package/cjs/{editable-label → packages/vuu-ui-controls/src/editable-label}/EditableLabel.css.js +0 -0
- /package/cjs/{editable-label → packages/vuu-ui-controls/src/editable-label}/EditableLabel.css.js.map +0 -0
- /package/cjs/{editable-label → packages/vuu-ui-controls/src/editable-label}/EditableLabel.js +0 -0
- /package/cjs/{expando-input → packages/vuu-ui-controls/src/expando-input}/ExpandoInput.css.js +0 -0
- /package/cjs/{expando-input → packages/vuu-ui-controls/src/expando-input}/ExpandoInput.css.js.map +0 -0
- /package/cjs/{expando-input → packages/vuu-ui-controls/src/expando-input}/ExpandoInput.js +0 -0
- /package/cjs/{icon-button → packages/vuu-ui-controls/src/icon-button}/Icon.css.js +0 -0
- /package/cjs/{icon-button → packages/vuu-ui-controls/src/icon-button}/Icon.css.js.map +0 -0
- /package/cjs/{icon-button → packages/vuu-ui-controls/src/icon-button}/Icon.js +0 -0
- /package/cjs/{icon-button → packages/vuu-ui-controls/src/icon-button}/IconButton.css.js +0 -0
- /package/cjs/{icon-button → packages/vuu-ui-controls/src/icon-button}/IconButton.css.js.map +0 -0
- /package/cjs/{icon-button → packages/vuu-ui-controls/src/icon-button}/IconButton.js +0 -0
- /package/cjs/{icon-button → packages/vuu-ui-controls/src/icon-button}/ToggleIconButton.css.js +0 -0
- /package/cjs/{icon-button → packages/vuu-ui-controls/src/icon-button}/ToggleIconButton.css.js.map +0 -0
- /package/cjs/{icon-button → packages/vuu-ui-controls/src/icon-button}/ToggleIconButton.js +0 -0
- /package/cjs/{instrument-picker → packages/vuu-ui-controls/src/instrument-picker}/TablePicker.css.js +0 -0
- /package/cjs/{instrument-picker → packages/vuu-ui-controls/src/instrument-picker}/TablePicker.css.js.map +0 -0
- /package/cjs/{instrument-picker → packages/vuu-ui-controls/src/instrument-picker}/TablePicker.js +0 -0
- /package/cjs/{instrument-picker → packages/vuu-ui-controls/src/instrument-picker}/useTablePicker.js +0 -0
- /package/cjs/{measured-container → packages/vuu-ui-controls/src/measured-container}/MeasuredContainer.css.js +0 -0
- /package/cjs/{measured-container → packages/vuu-ui-controls/src/measured-container}/MeasuredContainer.css.js.map +0 -0
- /package/cjs/{measured-container → packages/vuu-ui-controls/src/measured-container}/MeasuredContainer.js +0 -0
- /package/cjs/{measured-container → packages/vuu-ui-controls/src/measured-container}/useMeasuredContainer.js +0 -0
- /package/cjs/{measured-container → packages/vuu-ui-controls/src/measured-container}/useResizeObserver.js +0 -0
- /package/cjs/{overflow-container → packages/vuu-ui-controls/src/overflow-container}/OverflowContainer.css.js +0 -0
- /package/cjs/{overflow-container → packages/vuu-ui-controls/src/overflow-container}/OverflowContainer.css.js.map +0 -0
- /package/cjs/{overflow-container → packages/vuu-ui-controls/src/overflow-container}/OverflowContainer.js +0 -0
- /package/cjs/{overflow-container → packages/vuu-ui-controls/src/overflow-container}/overflow-utils.js +0 -0
- /package/cjs/{overflow-container → packages/vuu-ui-controls/src/overflow-container}/useOverflowContainer.js +0 -0
- /package/cjs/{price-ticker → packages/vuu-ui-controls/src/price-ticker}/PriceTicker.css.js +0 -0
- /package/cjs/{price-ticker → packages/vuu-ui-controls/src/price-ticker}/PriceTicker.css.js.map +0 -0
- /package/cjs/{price-ticker → packages/vuu-ui-controls/src/price-ticker}/PriceTicker.js +0 -0
- /package/cjs/{split-button → packages/vuu-ui-controls/src/split-button}/SplitButton.css.js +0 -0
- /package/cjs/{split-button → packages/vuu-ui-controls/src/split-button}/SplitButton.css.js.map +0 -0
- /package/cjs/{split-button → packages/vuu-ui-controls/src/split-button}/SplitButton.js +0 -0
- /package/cjs/{split-button → packages/vuu-ui-controls/src/split-button}/SplitStateButton.css.js +0 -0
- /package/cjs/{split-button → packages/vuu-ui-controls/src/split-button}/SplitStateButton.css.js.map +0 -0
- /package/cjs/{split-button → packages/vuu-ui-controls/src/split-button}/SplitStateButton.js +0 -0
- /package/cjs/{split-button → packages/vuu-ui-controls/src/split-button}/useSplitButton.js +0 -0
- /package/cjs/{table-search → packages/vuu-ui-controls/src/table-search}/SearchCell.css.js +0 -0
- /package/cjs/{table-search → packages/vuu-ui-controls/src/table-search}/SearchCell.css.js.map +0 -0
- /package/cjs/{table-search → packages/vuu-ui-controls/src/table-search}/SearchCell.js +0 -0
- /package/cjs/{table-search → packages/vuu-ui-controls/src/table-search}/TableSearch.css.js +0 -0
- /package/cjs/{table-search → packages/vuu-ui-controls/src/table-search}/TableSearch.css.js.map +0 -0
- /package/cjs/{table-search → packages/vuu-ui-controls/src/table-search}/TableSearch.js +0 -0
- /package/cjs/{table-search → packages/vuu-ui-controls/src/table-search}/useTableSearch.js +0 -0
- /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabBar.css.js +0 -0
- /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabBar.css.js.map +0 -0
- /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabBar.js +0 -0
- /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabListNext.css.js +0 -0
- /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabListNext.css.js.map +0 -0
- /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabListNext.js +0 -0
- /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNext.css.js +0 -0
- /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNext.css.js.map +0 -0
- /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNext.js +0 -0
- /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNextAction.js +0 -0
- /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNextContext.js +0 -0
- /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNextPanel.css.js +0 -0
- /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNextPanel.css.js.map +0 -0
- /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNextPanel.js +0 -0
- /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNextTrigger.css.js +0 -0
- /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNextTrigger.css.js.map +0 -0
- /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNextTrigger.js +0 -0
- /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabOverflowList.css.js +0 -0
- /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabOverflowList.css.js.map +0 -0
- /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabOverflowList.js +0 -0
- /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabsNext.js +0 -0
- /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabsNextContext.js +0 -0
- /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/hooks/useCollection.js +0 -0
- /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/hooks/useFocusOutside.js +0 -0
- /package/cjs/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/hooks/useOverflow.js +0 -0
- /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/Tab.css.js +0 -0
- /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/Tab.css.js.map +0 -0
- /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/Tab.js +0 -0
- /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/TabMenu.css.js +0 -0
- /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/TabMenu.css.js.map +0 -0
- /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/TabMenu.js +0 -0
- /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/TabMenuOptions.js +0 -0
- /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/Tabstrip.css.js +0 -0
- /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/Tabstrip.css.js.map +0 -0
- /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/Tabstrip.js +0 -0
- /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/tabstrip-dom-utils.js +0 -0
- /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/useAnimatedSelectionThumb.js +0 -0
- /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/useKeyboardNavigation.js +0 -0
- /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/useSelection.js +0 -0
- /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/useTabstrip.js +0 -0
- /package/cjs/{toolbar → packages/vuu-ui-controls/src/toolbar}/Toolbar.css.js +0 -0
- /package/cjs/{toolbar → packages/vuu-ui-controls/src/toolbar}/Toolbar.css.js.map +0 -0
- /package/cjs/{toolbar → packages/vuu-ui-controls/src/toolbar}/Toolbar.js +0 -0
- /package/cjs/{toolbar → packages/vuu-ui-controls/src/toolbar}/toolbar-dom-utils.js +0 -0
- /package/cjs/{toolbar → packages/vuu-ui-controls/src/toolbar}/useKeyboardNavigation.js +0 -0
- /package/cjs/{toolbar → packages/vuu-ui-controls/src/toolbar}/useToolbar.js +0 -0
- /package/cjs/{utils → packages/vuu-ui-controls/src/utils}/escapeRegExp.js +0 -0
- /package/cjs/{utils → packages/vuu-ui-controls/src/utils}/forwardCallbackProps.js +0 -0
- /package/cjs/{utils → packages/vuu-ui-controls/src/utils}/isOverflowElement.js +0 -0
- /package/cjs/{common-hooks → packages/vuu-ui-controls/src/utils}/isPlainObject.js +0 -0
- /package/cjs/{vuu-date-picker → packages/vuu-ui-controls/src/vuu-date-picker}/VuuDatePicker.js +0 -0
- /package/cjs/{vuu-input → packages/vuu-ui-controls/src/vuu-input}/VuuInput.css.js +0 -0
- /package/cjs/{vuu-input → packages/vuu-ui-controls/src/vuu-input}/VuuInput.css.js.map +0 -0
- /package/cjs/{vuu-input → packages/vuu-ui-controls/src/vuu-input}/VuuInput.js +0 -0
- /package/cjs/{vuu-typeahead-input → packages/vuu-ui-controls/src/vuu-typeahead-input}/VuuTypeaheadInput.css.js +0 -0
- /package/cjs/{vuu-typeahead-input → packages/vuu-ui-controls/src/vuu-typeahead-input}/VuuTypeaheadInput.css.js.map +0 -0
- /package/cjs/{vuu-typeahead-input → packages/vuu-ui-controls/src/vuu-typeahead-input}/VuuTypeaheadInput.js +0 -0
- /package/cjs/{vuu-typeahead-input → packages/vuu-ui-controls/src/vuu-typeahead-input}/useVuuTypeaheadInput.js +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/Calendar.css.js +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/Calendar.css.js.map +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/Calendar.js +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarCarousel.css.js +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarCarousel.css.js.map +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarCarousel.js +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarContext.js +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarDay.css.js +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarDay.css.js.map +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarDay.js +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarMonth.css.js +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarMonth.css.js.map +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarMonth.js +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarNavigation.css.js +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarNavigation.css.js.map +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarNavigation.js +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarWeekHeader.css.js +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarWeekHeader.css.js.map +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarWeekHeader.js +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/useFocusManagement.js +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/utils.js +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/useCalendar.js +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/useCalendarDay.js +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/useSelection.js +0 -0
- /package/esm/{column-picker → packages/vuu-ui-controls/src/column-picker}/ColumnPicker.css.js +0 -0
- /package/esm/{column-picker → packages/vuu-ui-controls/src/column-picker}/ColumnPicker.css.js.map +0 -0
- /package/esm/{column-picker → packages/vuu-ui-controls/src/column-picker}/ColumnSearch.css.js +0 -0
- /package/esm/{column-picker → packages/vuu-ui-controls/src/column-picker}/ColumnSearch.css.js.map +0 -0
- /package/esm/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/selectionTypes.js +0 -0
- /package/esm/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/use-resize-observer.js +0 -0
- /package/esm/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/useControlled.js +0 -0
- /package/esm/{cycle-state-button → packages/vuu-ui-controls/src/cycle-state-button}/CycleStateButton.js +0 -0
- /package/esm/{date-input → packages/vuu-ui-controls/src/date-input}/DateInput.css.js +0 -0
- /package/esm/{date-input → packages/vuu-ui-controls/src/date-input}/DateInput.css.js.map +0 -0
- /package/esm/{date-input → packages/vuu-ui-controls/src/date-input}/DateInput.js +0 -0
- /package/esm/{date-picker → packages/vuu-ui-controls/src/date-picker}/DatePicker.js +0 -0
- /package/esm/{date-picker → packages/vuu-ui-controls/src/date-picker}/DatePickerContext.js +0 -0
- /package/esm/{date-picker → packages/vuu-ui-controls/src/date-picker}/DatePickerPanel.css.js +0 -0
- /package/esm/{date-picker → packages/vuu-ui-controls/src/date-picker}/DatePickerPanel.css.js.map +0 -0
- /package/esm/{date-picker → packages/vuu-ui-controls/src/date-picker}/DatePickerPanel.js +0 -0
- /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/DragDropProvider.js +0 -0
- /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/DragDropState.js +0 -0
- /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/Draggable.css.js +0 -0
- /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/Draggable.css.js.map +0 -0
- /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/Draggable.js +0 -0
- /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/dragDropTypes.js +0 -0
- /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/drop-target-utils.js +0 -0
- /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useAutoScroll.js +0 -0
- /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useDragDisplacers.js +0 -0
- /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useDragDrop.js +0 -0
- /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useDragDropCopy.js +0 -0
- /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useDragDropIndicator.js +0 -0
- /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useDragDropNaturalMovement.js +0 -0
- /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useDropIndicator.js +0 -0
- /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useGlobalDragDrop.js +0 -0
- /package/esm/{editable → packages/vuu-ui-controls/src/editable}/useEditableText.js +0 -0
- /package/esm/{editable-label → packages/vuu-ui-controls/src/editable-label}/EditableLabel.css.js +0 -0
- /package/esm/{editable-label → packages/vuu-ui-controls/src/editable-label}/EditableLabel.css.js.map +0 -0
- /package/esm/{editable-label → packages/vuu-ui-controls/src/editable-label}/EditableLabel.js +0 -0
- /package/esm/{expando-input → packages/vuu-ui-controls/src/expando-input}/ExpandoInput.css.js +0 -0
- /package/esm/{expando-input → packages/vuu-ui-controls/src/expando-input}/ExpandoInput.css.js.map +0 -0
- /package/esm/{expando-input → packages/vuu-ui-controls/src/expando-input}/ExpandoInput.js +0 -0
- /package/esm/{icon-button → packages/vuu-ui-controls/src/icon-button}/Icon.css.js +0 -0
- /package/esm/{icon-button → packages/vuu-ui-controls/src/icon-button}/Icon.css.js.map +0 -0
- /package/esm/{icon-button → packages/vuu-ui-controls/src/icon-button}/Icon.js +0 -0
- /package/esm/{icon-button → packages/vuu-ui-controls/src/icon-button}/IconButton.css.js +0 -0
- /package/esm/{icon-button → packages/vuu-ui-controls/src/icon-button}/IconButton.css.js.map +0 -0
- /package/esm/{icon-button → packages/vuu-ui-controls/src/icon-button}/IconButton.js +0 -0
- /package/esm/{icon-button → packages/vuu-ui-controls/src/icon-button}/ToggleIconButton.css.js +0 -0
- /package/esm/{icon-button → packages/vuu-ui-controls/src/icon-button}/ToggleIconButton.css.js.map +0 -0
- /package/esm/{icon-button → packages/vuu-ui-controls/src/icon-button}/ToggleIconButton.js +0 -0
- /package/esm/{instrument-picker → packages/vuu-ui-controls/src/instrument-picker}/TablePicker.css.js +0 -0
- /package/esm/{instrument-picker → packages/vuu-ui-controls/src/instrument-picker}/TablePicker.css.js.map +0 -0
- /package/esm/{instrument-picker → packages/vuu-ui-controls/src/instrument-picker}/TablePicker.js +0 -0
- /package/esm/{instrument-picker → packages/vuu-ui-controls/src/instrument-picker}/useTablePicker.js +0 -0
- /package/esm/{measured-container → packages/vuu-ui-controls/src/measured-container}/MeasuredContainer.css.js +0 -0
- /package/esm/{measured-container → packages/vuu-ui-controls/src/measured-container}/MeasuredContainer.css.js.map +0 -0
- /package/esm/{measured-container → packages/vuu-ui-controls/src/measured-container}/MeasuredContainer.js +0 -0
- /package/esm/{measured-container → packages/vuu-ui-controls/src/measured-container}/useMeasuredContainer.js +0 -0
- /package/esm/{measured-container → packages/vuu-ui-controls/src/measured-container}/useResizeObserver.js +0 -0
- /package/esm/{overflow-container → packages/vuu-ui-controls/src/overflow-container}/OverflowContainer.css.js +0 -0
- /package/esm/{overflow-container → packages/vuu-ui-controls/src/overflow-container}/OverflowContainer.css.js.map +0 -0
- /package/esm/{overflow-container → packages/vuu-ui-controls/src/overflow-container}/OverflowContainer.js +0 -0
- /package/esm/{overflow-container → packages/vuu-ui-controls/src/overflow-container}/overflow-utils.js +0 -0
- /package/esm/{overflow-container → packages/vuu-ui-controls/src/overflow-container}/useOverflowContainer.js +0 -0
- /package/esm/{price-ticker → packages/vuu-ui-controls/src/price-ticker}/PriceTicker.css.js +0 -0
- /package/esm/{price-ticker → packages/vuu-ui-controls/src/price-ticker}/PriceTicker.css.js.map +0 -0
- /package/esm/{price-ticker → packages/vuu-ui-controls/src/price-ticker}/PriceTicker.js +0 -0
- /package/esm/{split-button → packages/vuu-ui-controls/src/split-button}/SplitButton.css.js +0 -0
- /package/esm/{split-button → packages/vuu-ui-controls/src/split-button}/SplitButton.css.js.map +0 -0
- /package/esm/{split-button → packages/vuu-ui-controls/src/split-button}/SplitButton.js +0 -0
- /package/esm/{split-button → packages/vuu-ui-controls/src/split-button}/SplitStateButton.css.js +0 -0
- /package/esm/{split-button → packages/vuu-ui-controls/src/split-button}/SplitStateButton.css.js.map +0 -0
- /package/esm/{split-button → packages/vuu-ui-controls/src/split-button}/SplitStateButton.js +0 -0
- /package/esm/{split-button → packages/vuu-ui-controls/src/split-button}/useSplitButton.js +0 -0
- /package/esm/{table-search → packages/vuu-ui-controls/src/table-search}/SearchCell.css.js +0 -0
- /package/esm/{table-search → packages/vuu-ui-controls/src/table-search}/SearchCell.css.js.map +0 -0
- /package/esm/{table-search → packages/vuu-ui-controls/src/table-search}/SearchCell.js +0 -0
- /package/esm/{table-search → packages/vuu-ui-controls/src/table-search}/TableSearch.css.js +0 -0
- /package/esm/{table-search → packages/vuu-ui-controls/src/table-search}/TableSearch.css.js.map +0 -0
- /package/esm/{table-search → packages/vuu-ui-controls/src/table-search}/TableSearch.js +0 -0
- /package/esm/{table-search → packages/vuu-ui-controls/src/table-search}/useTableSearch.js +0 -0
- /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabBar.css.js +0 -0
- /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabBar.css.js.map +0 -0
- /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabBar.js +0 -0
- /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabListNext.css.js +0 -0
- /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabListNext.css.js.map +0 -0
- /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabListNext.js +0 -0
- /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNext.css.js +0 -0
- /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNext.css.js.map +0 -0
- /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNext.js +0 -0
- /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNextAction.js +0 -0
- /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNextContext.js +0 -0
- /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNextPanel.css.js +0 -0
- /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNextPanel.css.js.map +0 -0
- /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNextPanel.js +0 -0
- /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNextTrigger.css.js +0 -0
- /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNextTrigger.css.js.map +0 -0
- /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabNextTrigger.js +0 -0
- /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabOverflowList.css.js +0 -0
- /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabOverflowList.css.js.map +0 -0
- /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabOverflowList.js +0 -0
- /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabsNext.js +0 -0
- /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/TabsNextContext.js +0 -0
- /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/hooks/useCollection.js +0 -0
- /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/hooks/useFocusOutside.js +0 -0
- /package/esm/{tabs-next → packages/vuu-ui-controls/src/tabs-next}/hooks/useOverflow.js +0 -0
- /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/Tab.css.js +0 -0
- /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/Tab.css.js.map +0 -0
- /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/Tab.js +0 -0
- /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/TabMenu.css.js +0 -0
- /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/TabMenu.css.js.map +0 -0
- /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/TabMenu.js +0 -0
- /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/TabMenuOptions.js +0 -0
- /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/Tabstrip.css.js +0 -0
- /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/Tabstrip.css.js.map +0 -0
- /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/Tabstrip.js +0 -0
- /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/tabstrip-dom-utils.js +0 -0
- /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/useAnimatedSelectionThumb.js +0 -0
- /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/useKeyboardNavigation.js +0 -0
- /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/useSelection.js +0 -0
- /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/useTabstrip.js +0 -0
- /package/esm/{toolbar → packages/vuu-ui-controls/src/toolbar}/Toolbar.css.js +0 -0
- /package/esm/{toolbar → packages/vuu-ui-controls/src/toolbar}/Toolbar.css.js.map +0 -0
- /package/esm/{toolbar → packages/vuu-ui-controls/src/toolbar}/Toolbar.js +0 -0
- /package/esm/{toolbar → packages/vuu-ui-controls/src/toolbar}/toolbar-dom-utils.js +0 -0
- /package/esm/{toolbar → packages/vuu-ui-controls/src/toolbar}/useKeyboardNavigation.js +0 -0
- /package/esm/{toolbar → packages/vuu-ui-controls/src/toolbar}/useToolbar.js +0 -0
- /package/esm/{utils → packages/vuu-ui-controls/src/utils}/escapeRegExp.js +0 -0
- /package/esm/{utils → packages/vuu-ui-controls/src/utils}/forwardCallbackProps.js +0 -0
- /package/esm/{utils → packages/vuu-ui-controls/src/utils}/isOverflowElement.js +0 -0
- /package/esm/{common-hooks → packages/vuu-ui-controls/src/utils}/isPlainObject.js +0 -0
- /package/esm/{vuu-date-picker → packages/vuu-ui-controls/src/vuu-date-picker}/VuuDatePicker.js +0 -0
- /package/esm/{vuu-input → packages/vuu-ui-controls/src/vuu-input}/VuuInput.css.js +0 -0
- /package/esm/{vuu-input → packages/vuu-ui-controls/src/vuu-input}/VuuInput.css.js.map +0 -0
- /package/esm/{vuu-input → packages/vuu-ui-controls/src/vuu-input}/VuuInput.js +0 -0
- /package/esm/{vuu-typeahead-input → packages/vuu-ui-controls/src/vuu-typeahead-input}/VuuTypeaheadInput.css.js +0 -0
- /package/esm/{vuu-typeahead-input → packages/vuu-ui-controls/src/vuu-typeahead-input}/VuuTypeaheadInput.css.js.map +0 -0
- /package/esm/{vuu-typeahead-input → packages/vuu-ui-controls/src/vuu-typeahead-input}/VuuTypeaheadInput.js +0 -0
- /package/esm/{vuu-typeahead-input → packages/vuu-ui-controls/src/vuu-typeahead-input}/useVuuTypeaheadInput.js +0 -0
- /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
|