@vuu-ui/vuu-ui-controls 0.9.2 → 0.9.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/tabbable/dist/index.esm.js +539 -0
- package/cjs/node_modules/tabbable/dist/index.esm.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.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/column-picker/ColumnSearch.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/common-hooks/collectionProvider.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/common-hooks/isPlainObject.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/common-hooks/itemToString.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/useCollectionItems.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/common-hooks/useSelection.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 +90 -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.css.js +6 -0
- package/cjs/packages/vuu-ui-controls/src/icon-button/ToggleIconButton.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/index.js +232 -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/list/Highlighter.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/List.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/ListItem.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/ListItemGroup.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/ListItemHeader.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/RadioIcon.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/common-hooks/keyUtils.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/common-hooks/list-dom-utils.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/common-hooks/useCollapsibleGroups.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/common-hooks/useImperativeScrollingAPI.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/common-hooks/useKeyboardNavigation.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/common-hooks/useTypeahead.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/common-hooks/useViewportTracking.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/common-hooks/utils/collection-item-utils.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/common-hooks/utils/filter-utils.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/common-hooks/utils/isSelected.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/useList.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/useListDrop.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/useListHeight.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/useScrollPosition.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/measured-container/MeasuredContainer.js +70 -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 +140 -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/split-button/SplitButton.css.js +6 -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.css.js +6 -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.css.js +6 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabBar.css.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabBar.js +41 -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.css.js +6 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabListNext.css.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabListNext.js +124 -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.css.js +6 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabNext.css.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabNext.js +110 -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 +35 -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 +23 -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.css.js +6 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabNextPanel.css.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabNextPanel.js +77 -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.css.js +6 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabNextTrigger.css.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabNextTrigger.js +74 -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.css.js +6 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabOverflowList.css.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabOverflowList.js +130 -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 +174 -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 +33 -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 +91 -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 +24 -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 +138 -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.css.js +6 -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.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/tabbable/dist/index.esm.js +536 -0
- package/esm/node_modules/tabbable/dist/index.esm.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.map +1 -0
- package/esm/packages/vuu-ui-controls/src/column-picker/ColumnSearch.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/common-hooks/collectionProvider.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/common-hooks/isPlainObject.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/common-hooks/itemToString.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/useCollectionItems.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/common-hooks/useSelection.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 +85 -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 +502 -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 +249 -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 +263 -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.css.js +4 -0
- package/esm/packages/vuu-ui-controls/src/icon-button/ToggleIconButton.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/index.js +73 -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/list/Highlighter.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/List.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/ListItem.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/ListItemGroup.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/ListItemHeader.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/RadioIcon.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/common-hooks/keyUtils.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/common-hooks/list-dom-utils.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/common-hooks/useCollapsibleGroups.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/common-hooks/useImperativeScrollingAPI.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/common-hooks/useKeyboardNavigation.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/common-hooks/useTypeahead.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/common-hooks/useViewportTracking.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/common-hooks/utils/collection-item-utils.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/common-hooks/utils/filter-utils.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/common-hooks/utils/isSelected.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/useList.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/useListDrop.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/useListHeight.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/useScrollPosition.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/measured-container/MeasuredContainer.js +68 -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 +137 -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/split-button/SplitButton.css.js +4 -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.css.js +4 -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.css.js +4 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabBar.css.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabBar.js +39 -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.css.js +4 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabListNext.css.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabListNext.js +122 -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.css.js +4 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabNext.css.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabNext.js +108 -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 +33 -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 +20 -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.css.js +4 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabNextPanel.css.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabNextPanel.js +75 -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.css.js +4 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabNextTrigger.css.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabNextTrigger.js +72 -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.css.js +4 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabOverflowList.css.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabOverflowList.js +128 -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 +172 -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 +30 -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 +89 -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 +22 -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 +136 -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.css.js +4 -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.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 +9 -9
- package/types/calendar/Calendar.d.ts +0 -1
- package/types/calendar/internal/CalendarCarousel.d.ts +0 -1
- package/types/calendar/internal/CalendarContext.d.ts +0 -1
- package/types/calendar/useCalendar.d.ts +4 -4
- package/types/calendar/useCalendarDay.d.ts +2 -2
- package/types/column-picker/ColumnPicker.d.ts +0 -1
- package/types/common-hooks/collectionProvider.d.ts +1 -1
- package/types/common-hooks/selectionTypes.d.ts +1 -1
- package/types/cycle-state-button/CycleStateButton.d.ts +0 -1
- package/types/date-picker/DatePickerContext.d.ts +0 -1
- package/types/drag-drop/DragDropProvider.d.ts +1 -1
- package/types/drag-drop/DropIndicator.d.ts +1 -2
- package/types/drag-drop/drop-target-utils.d.ts +24 -20
- package/types/drag-drop/useAutoScroll.d.ts +2 -2
- package/types/drag-drop/useGlobalDragDrop.d.ts +0 -1
- package/types/expando-input/ExpandoInput.d.ts +0 -1
- package/types/icon-button/Icon.d.ts +1 -1
- package/types/icon-button/IconButton.d.ts +0 -1
- package/types/icon-button/ToggleIconButton.d.ts +1 -2
- package/types/index.d.ts +1 -1
- package/types/instrument-picker/SearchCell.d.ts +1 -2
- package/types/instrument-picker/TablePicker.d.ts +1 -1
- package/types/instrument-picker/useTablePicker.d.ts +3 -10
- package/types/list/ChevronIcon.d.ts +1 -1
- package/types/list/ListItem.d.ts +1 -1
- package/types/list/RadioIcon.d.ts +1 -2
- package/types/list/common-hooks/useTypeahead.d.ts +0 -1
- package/types/overflow-container/useOverflowContainer.d.ts +4 -5
- package/types/price-ticker/PriceTicker.d.ts +1 -1
- package/types/split-button/SplitStateButton.d.ts +0 -1
- package/types/split-button/useSplitButton.d.ts +58 -55
- package/types/table-search/SearchCell.d.ts +1 -2
- package/types/table-search/TableSearch.d.ts +1 -1
- package/types/tabs-next/TabBar.d.ts +12 -0
- package/types/tabs-next/TabListNext.d.ts +12 -0
- package/types/tabs-next/TabNext.d.ts +12 -0
- package/types/tabs-next/TabNextAction.d.ts +5 -0
- package/types/tabs-next/TabNextContext.d.ts +12 -0
- package/types/tabs-next/TabNextPanel.d.ts +8 -0
- package/types/tabs-next/TabNextTrigger.d.ts +5 -0
- package/types/tabs-next/TabOverflowList.d.ts +11 -0
- package/types/tabs-next/TabsNext.d.ts +17 -0
- package/types/tabs-next/TabsNextContext.d.ts +21 -0
- package/types/tabs-next/hooks/useCollection.d.ts +18 -0
- package/types/tabs-next/hooks/useFocusOutside.d.ts +2 -0
- package/types/tabs-next/hooks/useOverflow.d.ts +11 -0
- package/types/tabs-next/index.d.ts +7 -0
- package/types/tabstrip/Tab.d.ts +23 -22
- package/types/tabstrip/TabMenu.d.ts +1 -2
- package/types/tabstrip/Tabstrip.d.ts +1 -2
- package/types/tabstrip/useSelection.d.ts +3 -3
- package/types/tabstrip/useTabstrip.d.ts +5 -5
- package/types/toolbar/Toolbar.d.ts +1 -2
- package/types/toolbar/useToolbar.d.ts +1 -1
- package/types/vuu-date-picker/VuuDatePicker.d.ts +4 -6
- package/types/vuu-typeahead-input/VuuTypeaheadInput.d.ts +1 -2
- 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.map +0 -1
- package/cjs/column-picker/ColumnSearch.js.map +0 -1
- package/cjs/common-hooks/collectionProvider.js.map +0 -1
- package/cjs/common-hooks/isPlainObject.js.map +0 -1
- 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.map +0 -1
- package/cjs/common-hooks/useControlled.js.map +0 -1
- 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 +0 -95
- 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.css.js +0 -6
- package/cjs/icon-button/ToggleIconButton.js.map +0 -1
- package/cjs/index.js +0 -223
- 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.js.map +0 -1
- package/cjs/list/List.js.map +0 -1
- package/cjs/list/ListItem.js.map +0 -1
- package/cjs/list/ListItemGroup.js.map +0 -1
- package/cjs/list/ListItemHeader.js.map +0 -1
- package/cjs/list/RadioIcon.js.map +0 -1
- package/cjs/list/common-hooks/keyUtils.js.map +0 -1
- package/cjs/list/common-hooks/list-dom-utils.js.map +0 -1
- package/cjs/list/common-hooks/useCollapsibleGroups.js.map +0 -1
- package/cjs/list/common-hooks/useImperativeScrollingAPI.js.map +0 -1
- package/cjs/list/common-hooks/useKeyboardNavigation.js.map +0 -1
- package/cjs/list/common-hooks/useTypeahead.js.map +0 -1
- package/cjs/list/common-hooks/useViewportTracking.js.map +0 -1
- package/cjs/list/common-hooks/utils/collection-item-utils.js.map +0 -1
- package/cjs/list/common-hooks/utils/filter-utils.js.map +0 -1
- package/cjs/list/common-hooks/utils/isSelected.js.map +0 -1
- package/cjs/list/useList.js.map +0 -1
- package/cjs/list/useListDrop.js.map +0 -1
- package/cjs/list/useListHeight.js.map +0 -1
- package/cjs/list/useScrollPosition.js.map +0 -1
- package/cjs/measured-container/MeasuredContainer.js +0 -69
- package/cjs/measured-container/MeasuredContainer.js.map +0 -1
- package/cjs/measured-container/useMeasuredContainer.js +0 -137
- 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.css.js +0 -6
- package/cjs/split-button/SplitButton.js.map +0 -1
- package/cjs/split-button/SplitStateButton.css.js +0 -6
- 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/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.css.js +0 -6
- 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.map +0 -1
- package/cjs/toolbar/useToolbar.js.map +0 -1
- package/cjs/tree/Tree.css.js +0 -6
- package/cjs/tree/Tree.css.js.map +0 -1
- package/cjs/tree/Tree.js +0 -179
- package/cjs/tree/Tree.js.map +0 -1
- package/cjs/tree/hierarchical-data-utils.js +0 -72
- package/cjs/tree/hierarchical-data-utils.js.map +0 -1
- package/cjs/tree/key-code.js +0 -62
- package/cjs/tree/key-code.js.map +0 -1
- package/cjs/tree/list-dom-utils.js +0 -19
- package/cjs/tree/list-dom-utils.js.map +0 -1
- package/cjs/tree/treeTypeUtils.js +0 -6
- package/cjs/tree/treeTypeUtils.js.map +0 -1
- package/cjs/tree/use-collapsible-groups.js +0 -85
- package/cjs/tree/use-collapsible-groups.js.map +0 -1
- package/cjs/tree/use-hierarchical-data.js +0 -51
- package/cjs/tree/use-hierarchical-data.js.map +0 -1
- package/cjs/tree/use-items-with-ids.js +0 -100
- package/cjs/tree/use-items-with-ids.js.map +0 -1
- package/cjs/tree/use-keyboard-navigation.js +0 -144
- package/cjs/tree/use-keyboard-navigation.js.map +0 -1
- package/cjs/tree/use-selection.js +0 -154
- package/cjs/tree/use-selection.js.map +0 -1
- package/cjs/tree/use-tree-keyboard-navigation.js +0 -41
- package/cjs/tree/use-tree-keyboard-navigation.js.map +0 -1
- package/cjs/tree/use-viewport-tracking.js +0 -76
- package/cjs/tree/use-viewport-tracking.js.map +0 -1
- package/cjs/tree/useTree.js +0 -106
- package/cjs/tree/useTree.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.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.map +0 -1
- package/esm/column-picker/ColumnSearch.js.map +0 -1
- package/esm/common-hooks/collectionProvider.js.map +0 -1
- package/esm/common-hooks/isPlainObject.js.map +0 -1
- 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.map +0 -1
- package/esm/common-hooks/useControlled.js.map +0 -1
- 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 +0 -90
- 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 +0 -502
- package/esm/drag-drop/useDragDrop.js.map +0 -1
- package/esm/drag-drop/useDragDropCopy.js.map +0 -1
- package/esm/drag-drop/useDragDropIndicator.js +0 -249
- package/esm/drag-drop/useDragDropIndicator.js.map +0 -1
- package/esm/drag-drop/useDragDropNaturalMovement.js +0 -263
- 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.css.js +0 -4
- package/esm/icon-button/ToggleIconButton.js.map +0 -1
- package/esm/index.js +0 -68
- 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.js.map +0 -1
- package/esm/list/List.js.map +0 -1
- package/esm/list/ListItem.js.map +0 -1
- package/esm/list/ListItemGroup.js.map +0 -1
- package/esm/list/ListItemHeader.js.map +0 -1
- package/esm/list/RadioIcon.js.map +0 -1
- package/esm/list/common-hooks/keyUtils.js.map +0 -1
- package/esm/list/common-hooks/list-dom-utils.js.map +0 -1
- package/esm/list/common-hooks/useCollapsibleGroups.js.map +0 -1
- package/esm/list/common-hooks/useImperativeScrollingAPI.js.map +0 -1
- package/esm/list/common-hooks/useKeyboardNavigation.js.map +0 -1
- package/esm/list/common-hooks/useTypeahead.js.map +0 -1
- package/esm/list/common-hooks/useViewportTracking.js.map +0 -1
- package/esm/list/common-hooks/utils/collection-item-utils.js.map +0 -1
- package/esm/list/common-hooks/utils/filter-utils.js.map +0 -1
- package/esm/list/common-hooks/utils/isSelected.js.map +0 -1
- package/esm/list/useList.js.map +0 -1
- package/esm/list/useListDrop.js.map +0 -1
- package/esm/list/useListHeight.js.map +0 -1
- package/esm/list/useScrollPosition.js.map +0 -1
- package/esm/measured-container/MeasuredContainer.js +0 -67
- package/esm/measured-container/MeasuredContainer.js.map +0 -1
- package/esm/measured-container/useMeasuredContainer.js +0 -134
- 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.css.js +0 -4
- package/esm/split-button/SplitButton.js.map +0 -1
- package/esm/split-button/SplitStateButton.css.js +0 -4
- 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/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.css.js +0 -4
- 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.map +0 -1
- package/esm/toolbar/useToolbar.js.map +0 -1
- package/esm/tree/Tree.css.js +0 -4
- package/esm/tree/Tree.css.js.map +0 -1
- package/esm/tree/Tree.js +0 -176
- package/esm/tree/Tree.js.map +0 -1
- package/esm/tree/hierarchical-data-utils.js +0 -65
- package/esm/tree/hierarchical-data-utils.js.map +0 -1
- package/esm/tree/key-code.js +0 -54
- package/esm/tree/key-code.js.map +0 -1
- package/esm/tree/list-dom-utils.js +0 -15
- package/esm/tree/list-dom-utils.js.map +0 -1
- package/esm/tree/treeTypeUtils.js +0 -4
- package/esm/tree/treeTypeUtils.js.map +0 -1
- package/esm/tree/use-collapsible-groups.js +0 -83
- package/esm/tree/use-collapsible-groups.js.map +0 -1
- package/esm/tree/use-hierarchical-data.js +0 -49
- package/esm/tree/use-hierarchical-data.js.map +0 -1
- package/esm/tree/use-items-with-ids.js +0 -98
- package/esm/tree/use-items-with-ids.js.map +0 -1
- package/esm/tree/use-keyboard-navigation.js +0 -142
- package/esm/tree/use-keyboard-navigation.js.map +0 -1
- package/esm/tree/use-selection.js +0 -147
- package/esm/tree/use-selection.js.map +0 -1
- package/esm/tree/use-tree-keyboard-navigation.js +0 -39
- package/esm/tree/use-tree-keyboard-navigation.js.map +0 -1
- package/esm/tree/use-viewport-tracking.js +0 -74
- package/esm/tree/use-viewport-tracking.js.map +0 -1
- package/esm/tree/useTree.js +0 -104
- package/esm/tree/useTree.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.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/tree/Tree.d.ts +0 -19
- package/types/tree/hierarchical-data-utils.d.ts +0 -8
- package/types/tree/index.d.ts +0 -3
- package/types/tree/key-code.d.ts +0 -11
- package/types/tree/list-dom-utils.d.ts +0 -6
- package/types/tree/treeTypeUtils.d.ts +0 -2
- package/types/tree/use-collapsible-groups.d.ts +0 -18
- package/types/tree/use-hierarchical-data.d.ts +0 -6
- package/types/tree/use-items-with-ids.d.ts +0 -8
- package/types/tree/use-keyboard-navigation.d.ts +0 -26
- package/types/tree/use-selection.d.ts +0 -31
- package/types/tree/use-tree-keyboard-navigation.d.ts +0 -12
- package/types/tree/use-viewport-tracking.d.ts +0 -2
- package/types/tree/useTree.d.ts +0 -30
- /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}/ColumnPicker.js +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/{column-picker → packages/vuu-ui-controls/src/column-picker}/ColumnSearch.js +0 -0
- /package/cjs/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/collectionProvider.js +0 -0
- /package/cjs/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/isPlainObject.js +0 -0
- /package/cjs/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/itemToString.js +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}/useCollectionItems.js +0 -0
- /package/cjs/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/useControlled.js +0 -0
- /package/cjs/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/useSelection.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}/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.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/{list → packages/vuu-ui-controls/src/list}/Highlighter.css.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/Highlighter.css.js.map +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/Highlighter.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/List.css.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/List.css.js.map +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/List.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/ListItem.css.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/ListItem.css.js.map +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/ListItem.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/ListItemGroup.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/ListItemHeader.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/RadioIcon.css.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/RadioIcon.css.js.map +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/RadioIcon.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/common-hooks/keyUtils.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/common-hooks/list-dom-utils.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/common-hooks/useCollapsibleGroups.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/common-hooks/useImperativeScrollingAPI.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/common-hooks/useKeyboardNavigation.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/common-hooks/useTypeahead.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/common-hooks/useViewportTracking.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/common-hooks/utils/collection-item-utils.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/common-hooks/utils/filter-utils.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/common-hooks/utils/isSelected.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/useList.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/useListDrop.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/useListHeight.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/useScrollPosition.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}/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.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.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/{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.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}/useSelection.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/{utils → 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}/ColumnPicker.js +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/{column-picker → packages/vuu-ui-controls/src/column-picker}/ColumnSearch.js +0 -0
- /package/esm/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/collectionProvider.js +0 -0
- /package/esm/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/isPlainObject.js +0 -0
- /package/esm/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/itemToString.js +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}/useCollectionItems.js +0 -0
- /package/esm/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/useControlled.js +0 -0
- /package/esm/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/useSelection.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}/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}/useDragDropCopy.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.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/{list → packages/vuu-ui-controls/src/list}/Highlighter.css.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/Highlighter.css.js.map +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/Highlighter.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/List.css.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/List.css.js.map +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/List.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/ListItem.css.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/ListItem.css.js.map +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/ListItem.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/ListItemGroup.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/ListItemHeader.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/RadioIcon.css.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/RadioIcon.css.js.map +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/RadioIcon.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/common-hooks/keyUtils.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/common-hooks/list-dom-utils.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/common-hooks/useCollapsibleGroups.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/common-hooks/useImperativeScrollingAPI.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/common-hooks/useKeyboardNavigation.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/common-hooks/useTypeahead.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/common-hooks/useViewportTracking.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/common-hooks/utils/collection-item-utils.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/common-hooks/utils/filter-utils.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/common-hooks/utils/isSelected.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/useList.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/useListDrop.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/useListHeight.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/useScrollPosition.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}/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.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.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/{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.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}/useSelection.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/{utils → 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
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var core = require('@salt-ds/core');
|
|
5
|
+
var styles = require('@salt-ds/styles');
|
|
6
|
+
var window = require('@salt-ds/window');
|
|
7
|
+
var cx = require('clsx');
|
|
8
|
+
var React = require('react');
|
|
9
|
+
var TabListNext$1 = require('./TabListNext.css.js');
|
|
10
|
+
var TabOverflowList = require('./TabOverflowList.js');
|
|
11
|
+
var TabsNextContext = require('./TabsNextContext.js');
|
|
12
|
+
var useOverflow = require('./hooks/useOverflow.js');
|
|
13
|
+
|
|
14
|
+
const withBaseName = core.makePrefixer("saltTabListNext");
|
|
15
|
+
const TabListNext = React.forwardRef(
|
|
16
|
+
function TabstripNext(props, ref) {
|
|
17
|
+
const {
|
|
18
|
+
appearance = "bordered",
|
|
19
|
+
activeColor = "primary",
|
|
20
|
+
children,
|
|
21
|
+
className,
|
|
22
|
+
onKeyDown,
|
|
23
|
+
...rest
|
|
24
|
+
} = props;
|
|
25
|
+
const targetWindow = window.useWindow();
|
|
26
|
+
styles.useComponentCssInjection({
|
|
27
|
+
testId: "salt-tablist-next",
|
|
28
|
+
css: TabListNext$1,
|
|
29
|
+
window: targetWindow
|
|
30
|
+
});
|
|
31
|
+
const {
|
|
32
|
+
selected,
|
|
33
|
+
getNext,
|
|
34
|
+
getPrevious,
|
|
35
|
+
getFirst,
|
|
36
|
+
getLast,
|
|
37
|
+
items,
|
|
38
|
+
activeTab,
|
|
39
|
+
menuOpen,
|
|
40
|
+
setMenuOpen,
|
|
41
|
+
returnFocus
|
|
42
|
+
} = TabsNextContext.useTabsNext();
|
|
43
|
+
const tabstripRef = React.useRef(null);
|
|
44
|
+
const handleRef = core.useForkRef(tabstripRef, ref);
|
|
45
|
+
const overflowButtonRef = React.useRef(null);
|
|
46
|
+
const [visible, hidden, isMeasuring] = useOverflow.useOverflow({
|
|
47
|
+
container: tabstripRef,
|
|
48
|
+
tabs: items,
|
|
49
|
+
children,
|
|
50
|
+
selected,
|
|
51
|
+
overflowButton: overflowButtonRef
|
|
52
|
+
});
|
|
53
|
+
const handleKeyDown = (event) => {
|
|
54
|
+
onKeyDown?.(event);
|
|
55
|
+
const actionMap = {
|
|
56
|
+
ArrowRight: getNext,
|
|
57
|
+
ArrowLeft: getPrevious,
|
|
58
|
+
Home: getFirst,
|
|
59
|
+
End: getLast,
|
|
60
|
+
ArrowUp: menuOpen ? getPrevious : void 0,
|
|
61
|
+
ArrowDown: menuOpen ? getNext : void 0
|
|
62
|
+
};
|
|
63
|
+
const action = actionMap[event.key];
|
|
64
|
+
if (action) {
|
|
65
|
+
event.preventDefault();
|
|
66
|
+
const activeTabId = activeTab.current?.id;
|
|
67
|
+
if (!activeTabId) return;
|
|
68
|
+
const nextItem = action(activeTabId);
|
|
69
|
+
if (nextItem) {
|
|
70
|
+
nextItem.element?.scrollIntoView({
|
|
71
|
+
block: "nearest",
|
|
72
|
+
inline: "nearest"
|
|
73
|
+
});
|
|
74
|
+
nextItem.element?.focus({ preventScroll: true });
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
core.useIsomorphicLayoutEffect(() => {
|
|
79
|
+
if (!returnFocus.current || visible.length < 1 || selected === void 0)
|
|
80
|
+
return;
|
|
81
|
+
const itemToFocus = items.find((i) => i.value === returnFocus.current);
|
|
82
|
+
itemToFocus?.element?.focus({ preventScroll: true });
|
|
83
|
+
requestAnimationFrame(() => {
|
|
84
|
+
if (targetWindow?.document?.activeElement === itemToFocus?.element) {
|
|
85
|
+
returnFocus.current = void 0;
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
}, [visible, returnFocus, targetWindow, items, selected]);
|
|
89
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
90
|
+
"div",
|
|
91
|
+
{
|
|
92
|
+
role: "tablist",
|
|
93
|
+
className: cx.clsx(
|
|
94
|
+
withBaseName(),
|
|
95
|
+
withBaseName(appearance),
|
|
96
|
+
withBaseName("horizontal"),
|
|
97
|
+
withBaseName(`activeColor${core.capitalize(activeColor)}`),
|
|
98
|
+
className
|
|
99
|
+
),
|
|
100
|
+
"data-ismeasuring": isMeasuring ? true : void 0,
|
|
101
|
+
ref: handleRef,
|
|
102
|
+
onKeyDown: handleKeyDown,
|
|
103
|
+
...rest,
|
|
104
|
+
children: [
|
|
105
|
+
visible,
|
|
106
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
107
|
+
TabOverflowList.TabOverflowList,
|
|
108
|
+
{
|
|
109
|
+
isMeasuring,
|
|
110
|
+
buttonRef: overflowButtonRef,
|
|
111
|
+
tabstripRef,
|
|
112
|
+
open: menuOpen,
|
|
113
|
+
setOpen: setMenuOpen,
|
|
114
|
+
children: hidden
|
|
115
|
+
}
|
|
116
|
+
)
|
|
117
|
+
]
|
|
118
|
+
}
|
|
119
|
+
);
|
|
120
|
+
}
|
|
121
|
+
);
|
|
122
|
+
|
|
123
|
+
exports.TabListNext = TabListNext;
|
|
124
|
+
//# sourceMappingURL=TabListNext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabListNext.js","sources":["../../../../../src/tabs-next/TabListNext.tsx"],"sourcesContent":["import {\n capitalize,\n makePrefixer,\n useForkRef,\n useIsomorphicLayoutEffect,\n} from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport {\n type ComponentPropsWithoutRef,\n type KeyboardEvent,\n forwardRef,\n useRef,\n} from \"react\";\n\nimport tablistNextCss from \"./TabListNext.css\";\nimport { TabOverflowList } from \"./TabOverflowList\";\nimport { useTabsNext } from \"./TabsNextContext\";\nimport { useOverflow } from \"./hooks/useOverflow\";\n\nconst withBaseName = makePrefixer(\"saltTabListNext\");\n\nexport interface TabListNextProps\n extends Omit<ComponentPropsWithoutRef<\"div\">, \"onChange\"> {\n /**\n * Styling active color variant. Defaults to \"primary\".\n */\n activeColor?: \"primary\" | \"secondary\" | \"tertiary\";\n /**\n * The appearance of the tabs. Defaults to \"bordered\".\n */\n appearance?: \"bordered\" | \"transparent\";\n}\n\nexport const TabListNext = forwardRef<HTMLDivElement, TabListNextProps>(\n function TabstripNext(props, ref) {\n const {\n appearance = \"bordered\",\n activeColor = \"primary\",\n children,\n className,\n onKeyDown,\n ...rest\n } = props;\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-tablist-next\",\n css: tablistNextCss,\n window: targetWindow,\n });\n\n const {\n selected,\n getNext,\n getPrevious,\n getFirst,\n getLast,\n items,\n activeTab,\n menuOpen,\n setMenuOpen,\n returnFocus,\n } = useTabsNext();\n\n const tabstripRef = useRef<HTMLDivElement>(null);\n const handleRef = useForkRef(tabstripRef, ref);\n const overflowButtonRef = useRef<HTMLButtonElement>(null);\n\n const [visible, hidden, isMeasuring] = useOverflow({\n container: tabstripRef,\n tabs: items,\n children,\n selected,\n overflowButton: overflowButtonRef,\n });\n\n const handleKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n onKeyDown?.(event);\n\n const actionMap = {\n ArrowRight: getNext,\n ArrowLeft: getPrevious,\n Home: getFirst,\n End: getLast,\n ArrowUp: menuOpen ? getPrevious : undefined,\n ArrowDown: menuOpen ? getNext : undefined,\n };\n\n const action = actionMap[event.key as keyof typeof actionMap];\n\n if (action) {\n event.preventDefault();\n const activeTabId = activeTab.current?.id;\n if (!activeTabId) return;\n const nextItem = action(activeTabId);\n if (nextItem) {\n nextItem.element?.scrollIntoView({\n block: \"nearest\",\n inline: \"nearest\",\n });\n nextItem.element?.focus({ preventScroll: true });\n }\n }\n };\n\n useIsomorphicLayoutEffect(() => {\n if (!returnFocus.current || visible.length < 1 || selected === undefined)\n return;\n\n const itemToFocus = items.find((i) => i.value === returnFocus.current);\n itemToFocus?.element?.focus({ preventScroll: true });\n\n requestAnimationFrame(() => {\n if (targetWindow?.document?.activeElement === itemToFocus?.element) {\n returnFocus.current = undefined;\n }\n });\n }, [visible, returnFocus, targetWindow, items, selected]);\n\n return (\n <div\n role=\"tablist\"\n className={clsx(\n withBaseName(),\n withBaseName(appearance),\n withBaseName(\"horizontal\"),\n withBaseName(`activeColor${capitalize(activeColor)}`),\n className,\n )}\n data-ismeasuring={isMeasuring ? true : undefined}\n ref={handleRef}\n onKeyDown={handleKeyDown}\n {...rest}\n >\n {visible}\n <TabOverflowList\n isMeasuring={isMeasuring}\n buttonRef={overflowButtonRef}\n tabstripRef={tabstripRef}\n open={menuOpen}\n setOpen={setMenuOpen}\n >\n {hidden}\n </TabOverflowList>\n </div>\n );\n },\n);\n"],"names":["makePrefixer","forwardRef","useWindow","useComponentCssInjection","tablistNextCss","useTabsNext","useRef","useForkRef","useOverflow","useIsomorphicLayoutEffect","jsxs","clsx","capitalize","jsx","TabOverflowList"],"mappings":";;;;;;;;;;;;;AAqBA,MAAM,YAAA,GAAeA,kBAAa,iBAAiB,CAAA;AAc5C,MAAM,WAAc,GAAAC,gBAAA;AAAA,EACzB,SAAS,YAAa,CAAA,KAAA,EAAO,GAAK,EAAA;AAChC,IAAM,MAAA;AAAA,MACJ,UAAa,GAAA,UAAA;AAAA,MACb,WAAc,GAAA,SAAA;AAAA,MACd,QAAA;AAAA,MACA,SAAA;AAAA,MACA,SAAA;AAAA,MACA,GAAG;AAAA,KACD,GAAA,KAAA;AACJ,IAAA,MAAM,eAAeC,gBAAU,EAAA;AAC/B,IAAyBC,+BAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,mBAAA;AAAA,MACR,GAAK,EAAAC,aAAA;AAAA,MACL,MAAQ,EAAA;AAAA,KACT,CAAA;AAED,IAAM,MAAA;AAAA,MACJ,QAAA;AAAA,MACA,OAAA;AAAA,MACA,WAAA;AAAA,MACA,QAAA;AAAA,MACA,OAAA;AAAA,MACA,KAAA;AAAA,MACA,SAAA;AAAA,MACA,QAAA;AAAA,MACA,WAAA;AAAA,MACA;AAAA,QACEC,2BAAY,EAAA;AAEhB,IAAM,MAAA,WAAA,GAAcC,aAAuB,IAAI,CAAA;AAC/C,IAAM,MAAA,SAAA,GAAYC,eAAW,CAAA,WAAA,EAAa,GAAG,CAAA;AAC7C,IAAM,MAAA,iBAAA,GAAoBD,aAA0B,IAAI,CAAA;AAExD,IAAA,MAAM,CAAC,OAAA,EAAS,MAAQ,EAAA,WAAW,IAAIE,uBAAY,CAAA;AAAA,MACjD,SAAW,EAAA,WAAA;AAAA,MACX,IAAM,EAAA,KAAA;AAAA,MACN,QAAA;AAAA,MACA,QAAA;AAAA,MACA,cAAgB,EAAA;AAAA,KACjB,CAAA;AAED,IAAM,MAAA,aAAA,GAAgB,CAAC,KAAyC,KAAA;AAC9D,MAAA,SAAA,GAAY,KAAK,CAAA;AAEjB,MAAA,MAAM,SAAY,GAAA;AAAA,QAChB,UAAY,EAAA,OAAA;AAAA,QACZ,SAAW,EAAA,WAAA;AAAA,QACX,IAAM,EAAA,QAAA;AAAA,QACN,GAAK,EAAA,OAAA;AAAA,QACL,OAAA,EAAS,WAAW,WAAc,GAAA,KAAA,CAAA;AAAA,QAClC,SAAA,EAAW,WAAW,OAAU,GAAA,KAAA;AAAA,OAClC;AAEA,MAAM,MAAA,MAAA,GAAS,SAAU,CAAA,KAAA,CAAM,GAA6B,CAAA;AAE5D,MAAA,IAAI,MAAQ,EAAA;AACV,QAAA,KAAA,CAAM,cAAe,EAAA;AACrB,QAAM,MAAA,WAAA,GAAc,UAAU,OAAS,EAAA,EAAA;AACvC,QAAA,IAAI,CAAC,WAAa,EAAA;AAClB,QAAM,MAAA,QAAA,GAAW,OAAO,WAAW,CAAA;AACnC,QAAA,IAAI,QAAU,EAAA;AACZ,UAAA,QAAA,CAAS,SAAS,cAAe,CAAA;AAAA,YAC/B,KAAO,EAAA,SAAA;AAAA,YACP,MAAQ,EAAA;AAAA,WACT,CAAA;AACD,UAAA,QAAA,CAAS,OAAS,EAAA,KAAA,CAAM,EAAE,aAAA,EAAe,MAAM,CAAA;AAAA;AACjD;AACF,KACF;AAEA,IAAAC,8BAAA,CAA0B,MAAM;AAC9B,MAAA,IAAI,CAAC,WAAY,CAAA,OAAA,IAAW,OAAQ,CAAA,MAAA,GAAS,KAAK,QAAa,KAAA,KAAA,CAAA;AAC7D,QAAA;AAEF,MAAM,MAAA,WAAA,GAAc,MAAM,IAAK,CAAA,CAAC,MAAM,CAAE,CAAA,KAAA,KAAU,YAAY,OAAO,CAAA;AACrE,MAAA,WAAA,EAAa,OAAS,EAAA,KAAA,CAAM,EAAE,aAAA,EAAe,MAAM,CAAA;AAEnD,MAAA,qBAAA,CAAsB,MAAM;AAC1B,QAAA,IAAI,YAAc,EAAA,QAAA,EAAU,aAAkB,KAAA,WAAA,EAAa,OAAS,EAAA;AAClE,UAAA,WAAA,CAAY,OAAU,GAAA,KAAA,CAAA;AAAA;AACxB,OACD,CAAA;AAAA,OACA,CAAC,OAAA,EAAS,aAAa,YAAc,EAAA,KAAA,EAAO,QAAQ,CAAC,CAAA;AAExD,IACE,uBAAAC,eAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,IAAK,EAAA,SAAA;AAAA,QACL,SAAW,EAAAC,OAAA;AAAA,UACT,YAAa,EAAA;AAAA,UACb,aAAa,UAAU,CAAA;AAAA,UACvB,aAAa,YAAY,CAAA;AAAA,UACzB,YAAa,CAAA,CAAA,WAAA,EAAcC,eAAW,CAAA,WAAW,CAAC,CAAE,CAAA,CAAA;AAAA,UACpD;AAAA,SACF;AAAA,QACA,kBAAA,EAAkB,cAAc,IAAO,GAAA,KAAA,CAAA;AAAA,QACvC,GAAK,EAAA,SAAA;AAAA,QACL,SAAW,EAAA,aAAA;AAAA,QACV,GAAG,IAAA;AAAA,QAEH,QAAA,EAAA;AAAA,UAAA,OAAA;AAAA,0BACDC,cAAA;AAAA,YAACC,+BAAA;AAAA,YAAA;AAAA,cACC,WAAA;AAAA,cACA,SAAW,EAAA,iBAAA;AAAA,cACX,WAAA;AAAA,cACA,IAAM,EAAA,QAAA;AAAA,cACN,OAAS,EAAA,WAAA;AAAA,cAER,QAAA,EAAA;AAAA;AAAA;AACH;AAAA;AAAA,KACF;AAAA;AAGN;;;;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tabCss = "/* Class applied to root Tab element */\n.saltTabNext {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n appearance: none;\n -webkit-appearance: none;\n gap: var(--salt-spacing-100);\n border: none;\n border-left: var(--salt-size-border) var(--salt-container-borderStyle) transparent;\n border-right: var(--salt-size-border) var(--salt-container-borderStyle) transparent;\n white-space: pre;\n min-height: calc(var(--salt-size-base) + var(--salt-spacing-100));\n min-width: 4em;\n padding: var(--salt-spacing-50) var(--salt-spacing-100);\n position: relative;\n flex-shrink: 0;\n box-sizing: border-box;\n --tabNext-radius: var(--salt-palette-corner-weak, 0);\n border-radius: var(--tab-radius) var(--tab-radius) 0 0;\n overflow: hidden;\n\n cursor: var(--salt-navigable-cursor-hover);\n color: var(--salt-content-primary-foreground);\n font-weight: var(--salt-navigable-fontWeight);\n font-family: var(--salt-text-fontFamily);\n text-align: var(--salt-text-textAlign);\n letter-spacing: var(--salt-text-letterSpacing);\n line-height: var(--salt-text-lineHeight);\n font-size: var(--salt-text-fontSize);\n}\n\n.saltTabNext::after {\n content: \"\";\n position: absolute;\n left: calc(var(--salt-size-border) * -1);\n right: calc(var(--salt-size-border) * -1);\n height: var(--salt-size-indicator);\n}\n\n.saltTabListNext-bordered .saltTabNext::after {\n top: 0;\n}\n\n.saltTabListNext-transparent .saltTabNext::after {\n bottom: 0;\n}\n\n.saltTabNext:hover::after,\n.saltTabNext-focusVisible::after {\n background: var(--salt-navigable-indicator-hover);\n}\n\n.saltTabNext-disabled:hover::after,\n.saltTabNext-disabled.saltTabNext-focusVisible::after {\n background: none;\n}\n\n.saltTabNext-focusVisible {\n outline: var(--salt-focused-outline);\n}\n\n.saltTabListNext-bordered .saltTabNext.saltTabNext-selected {\n background: var(--saltTabListNext-activeColor);\n border-left: var(--salt-size-border) var(--salt-separable-borderStyle) var(--salt-separable-secondary-borderColor);\n border-right: var(--salt-size-border) var(--salt-separable-borderStyle) var(--salt-separable-secondary-borderColor);\n}\n\n.saltTabNext.saltTabNext-selected::after {\n background: var(--salt-navigable-indicator-active);\n}\n\n.saltTabNext.saltTabNext-disabled {\n cursor: var(--salt-navigable-cursor-disabled);\n color: var(--salt-content-primary-foreground-disabled);\n}\n";
|
|
4
|
+
|
|
5
|
+
module.exports = tabCss;
|
|
6
|
+
//# sourceMappingURL=TabNext.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabNext.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var core = require('@salt-ds/core');
|
|
5
|
+
var styles = require('@salt-ds/styles');
|
|
6
|
+
var window = require('@salt-ds/window');
|
|
7
|
+
var cx = require('clsx');
|
|
8
|
+
var React = require('react');
|
|
9
|
+
var TabNext$1 = require('./TabNext.css.js');
|
|
10
|
+
var TabNextContext = require('./TabNextContext.js');
|
|
11
|
+
var TabsNextContext = require('./TabsNextContext.js');
|
|
12
|
+
|
|
13
|
+
const withBaseName = core.makePrefixer("saltTabNext");
|
|
14
|
+
const TabNext = React.forwardRef(
|
|
15
|
+
function Tab(props, ref) {
|
|
16
|
+
const {
|
|
17
|
+
"aria-labelledby": ariaLabelledBy,
|
|
18
|
+
children,
|
|
19
|
+
className,
|
|
20
|
+
disabled: disabledProp,
|
|
21
|
+
onBlur,
|
|
22
|
+
onMouseDown,
|
|
23
|
+
onFocus,
|
|
24
|
+
onFocusCapture,
|
|
25
|
+
value,
|
|
26
|
+
id: idProp,
|
|
27
|
+
...rest
|
|
28
|
+
} = props;
|
|
29
|
+
const targetWindow = window.useWindow();
|
|
30
|
+
styles.useComponentCssInjection({
|
|
31
|
+
testId: "salt-tab-next",
|
|
32
|
+
css: TabNext$1,
|
|
33
|
+
window: targetWindow
|
|
34
|
+
});
|
|
35
|
+
const { selected, activeTab } = TabsNextContext.useTabsNext();
|
|
36
|
+
const disabled = !!disabledProp;
|
|
37
|
+
const id = core.useId(idProp);
|
|
38
|
+
const wasMouseDown = React.useRef(false);
|
|
39
|
+
const [focusVisible, setFocusVisible] = React.useState(false);
|
|
40
|
+
const [focused, setFocused] = React.useState(false);
|
|
41
|
+
const handleFocusCapture = (event) => {
|
|
42
|
+
onFocusCapture?.(event);
|
|
43
|
+
if (value && id) {
|
|
44
|
+
activeTab.current = { value, id };
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
const handleFocus = (event) => {
|
|
48
|
+
onFocus?.(event);
|
|
49
|
+
setFocused(true);
|
|
50
|
+
if (!wasMouseDown.current && event.target.getAttribute("role") === "tab") {
|
|
51
|
+
setFocusVisible(true);
|
|
52
|
+
}
|
|
53
|
+
wasMouseDown.current = false;
|
|
54
|
+
};
|
|
55
|
+
const handleBlur = (event) => {
|
|
56
|
+
onBlur?.(event);
|
|
57
|
+
setFocused(false);
|
|
58
|
+
setFocusVisible(false);
|
|
59
|
+
};
|
|
60
|
+
const handleMouseDown = (event) => {
|
|
61
|
+
onMouseDown?.(event);
|
|
62
|
+
wasMouseDown.current = true;
|
|
63
|
+
};
|
|
64
|
+
const [actions, setActions] = React.useState([]);
|
|
65
|
+
const registerAction = React.useCallback((id2) => {
|
|
66
|
+
setActions((old) => old.concat(id2));
|
|
67
|
+
return () => {
|
|
68
|
+
setActions((old) => old.filter((action) => action !== id2));
|
|
69
|
+
};
|
|
70
|
+
}, []);
|
|
71
|
+
const context = React.useMemo(
|
|
72
|
+
() => ({
|
|
73
|
+
tabId: id,
|
|
74
|
+
selected: selected === value,
|
|
75
|
+
focused,
|
|
76
|
+
value,
|
|
77
|
+
disabled,
|
|
78
|
+
actions,
|
|
79
|
+
registerAction
|
|
80
|
+
}),
|
|
81
|
+
[id, selected, value, focused, disabled, actions, registerAction]
|
|
82
|
+
);
|
|
83
|
+
return /* @__PURE__ */ jsxRuntime.jsx(TabNextContext.TabNextContext.Provider, { value: context, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
84
|
+
"div",
|
|
85
|
+
{
|
|
86
|
+
className: cx.clsx(
|
|
87
|
+
withBaseName(),
|
|
88
|
+
{
|
|
89
|
+
[withBaseName("selected")]: selected === value,
|
|
90
|
+
[withBaseName("disabled")]: disabled,
|
|
91
|
+
[withBaseName("focusVisible")]: focusVisible
|
|
92
|
+
},
|
|
93
|
+
className
|
|
94
|
+
),
|
|
95
|
+
"data-overflowitem": "true",
|
|
96
|
+
ref,
|
|
97
|
+
onMouseDown: handleMouseDown,
|
|
98
|
+
onFocusCapture: handleFocusCapture,
|
|
99
|
+
onFocus: handleFocus,
|
|
100
|
+
onBlur: handleBlur,
|
|
101
|
+
role: "presentation",
|
|
102
|
+
...rest,
|
|
103
|
+
children
|
|
104
|
+
}
|
|
105
|
+
) });
|
|
106
|
+
}
|
|
107
|
+
);
|
|
108
|
+
|
|
109
|
+
exports.TabNext = TabNext;
|
|
110
|
+
//# sourceMappingURL=TabNext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabNext.js","sources":["../../../../../src/tabs-next/TabNext.tsx"],"sourcesContent":["import { makePrefixer, useId } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport {\n type ComponentPropsWithoutRef,\n type FocusEvent,\n type MouseEvent,\n type ReactElement,\n forwardRef,\n useCallback,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport tabCss from \"./TabNext.css\";\nimport { TabNextContext } from \"./TabNextContext\";\nimport { useTabsNext } from \"./TabsNextContext\";\n\nconst withBaseName = makePrefixer(\"saltTabNext\");\n\nexport interface TabNextProps extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * If `true`, the tab will be disabled.\n */\n disabled?: boolean;\n /**\n * The value of the tab.\n */\n value: string;\n}\n\nexport const TabNext = forwardRef<HTMLDivElement, TabNextProps>(\n function Tab(props, ref): ReactElement<TabNextProps> {\n const {\n \"aria-labelledby\": ariaLabelledBy,\n children,\n className,\n disabled: disabledProp,\n onBlur,\n onMouseDown,\n onFocus,\n onFocusCapture,\n value,\n id: idProp,\n ...rest\n } = props;\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-tab-next\",\n css: tabCss,\n window: targetWindow,\n });\n\n const { selected, activeTab } = useTabsNext();\n\n const disabled = !!disabledProp;\n\n const id = useId(idProp);\n\n const wasMouseDown = useRef(false);\n const [focusVisible, setFocusVisible] = useState(false);\n const [focused, setFocused] = useState(false);\n\n const handleFocusCapture = (event: FocusEvent<HTMLDivElement>) => {\n onFocusCapture?.(event);\n if (value && id) {\n activeTab.current = { value, id };\n }\n };\n\n const handleFocus = (event: FocusEvent<HTMLDivElement>) => {\n onFocus?.(event);\n\n setFocused(true);\n\n if (\n !wasMouseDown.current &&\n event.target.getAttribute(\"role\") === \"tab\"\n ) {\n setFocusVisible(true);\n }\n\n wasMouseDown.current = false;\n };\n\n const handleBlur = (event: FocusEvent<HTMLDivElement>) => {\n onBlur?.(event);\n setFocused(false);\n setFocusVisible(false);\n };\n\n const handleMouseDown = (event: MouseEvent<HTMLDivElement>) => {\n onMouseDown?.(event);\n wasMouseDown.current = true;\n };\n\n const [actions, setActions] = useState<string[]>([]);\n\n const registerAction = useCallback((id: string) => {\n setActions((old) => old.concat(id));\n\n return () => {\n setActions((old) => old.filter((action) => action !== id));\n };\n }, []);\n\n const context = useMemo(\n () => ({\n tabId: id,\n selected: selected === value,\n focused,\n value,\n disabled,\n actions,\n registerAction,\n }),\n [id, selected, value, focused, disabled, actions, registerAction],\n );\n\n return (\n <TabNextContext.Provider value={context}>\n <div\n className={clsx(\n withBaseName(),\n {\n [withBaseName(\"selected\")]: selected === value,\n [withBaseName(\"disabled\")]: disabled,\n [withBaseName(\"focusVisible\")]: focusVisible,\n },\n className,\n )}\n data-overflowitem=\"true\"\n ref={ref}\n onMouseDown={handleMouseDown}\n onFocusCapture={handleFocusCapture}\n onFocus={handleFocus}\n onBlur={handleBlur}\n role=\"presentation\"\n {...rest}\n >\n {children}\n </div>\n </TabNextContext.Provider>\n );\n },\n);\n"],"names":["makePrefixer","forwardRef","useWindow","useComponentCssInjection","tabCss","useTabsNext","useId","useRef","useState","useCallback","id","useMemo","jsx","TabNextContext","clsx"],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var core = require('@salt-ds/core');
|
|
5
|
+
var cx = require('clsx');
|
|
6
|
+
var React = require('react');
|
|
7
|
+
var TabNextContext = require('./TabNextContext.js');
|
|
8
|
+
|
|
9
|
+
const TabNextAction = React.forwardRef(
|
|
10
|
+
function TabNextAction2(props, ref) {
|
|
11
|
+
const { "aria-labelledby": ariaLabelledBy, id: idProp, ...rest } = props;
|
|
12
|
+
const id = core.useId(idProp);
|
|
13
|
+
const { focused, selected, tabId, registerAction } = TabNextContext.useTabNext();
|
|
14
|
+
core.useIsomorphicLayoutEffect(() => {
|
|
15
|
+
if (id) {
|
|
16
|
+
return registerAction(id);
|
|
17
|
+
}
|
|
18
|
+
}, [registerAction, id]);
|
|
19
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
20
|
+
core.Button,
|
|
21
|
+
{
|
|
22
|
+
id,
|
|
23
|
+
"aria-labelledby": cx.clsx(ariaLabelledBy, tabId, id),
|
|
24
|
+
tabIndex: focused || selected ? void 0 : -1,
|
|
25
|
+
appearance: "transparent",
|
|
26
|
+
sentiment: "neutral",
|
|
27
|
+
ref,
|
|
28
|
+
...rest
|
|
29
|
+
}
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
);
|
|
33
|
+
|
|
34
|
+
exports.TabNextAction = TabNextAction;
|
|
35
|
+
//# sourceMappingURL=TabNextAction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabNextAction.js","sources":["../../../../../src/tabs-next/TabNextAction.tsx"],"sourcesContent":["import {\n Button,\n type ButtonProps,\n useId,\n useIsomorphicLayoutEffect,\n} from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport { forwardRef } from \"react\";\nimport { useTabNext } from \"./TabNextContext\";\n\nexport interface TabNextActionProps extends ButtonProps {\n debugLabel?: string;\n}\n\nexport const TabNextAction = forwardRef<HTMLButtonElement, TabNextActionProps>(\n function TabNextAction(props, ref) {\n const { \"aria-labelledby\": ariaLabelledBy, id: idProp, ...rest } = props;\n\n const id = useId(idProp);\n const { focused, selected, tabId, registerAction } = useTabNext();\n\n useIsomorphicLayoutEffect(() => {\n if (id) {\n return registerAction(id);\n }\n }, [registerAction, id]);\n\n return (\n <Button\n id={id}\n aria-labelledby={clsx(ariaLabelledBy, tabId, id)}\n tabIndex={focused || selected ? undefined : -1}\n appearance=\"transparent\"\n sentiment=\"neutral\"\n ref={ref}\n {...rest}\n />\n );\n },\n);\n"],"names":["forwardRef","TabNextAction","useId","useTabNext","useIsomorphicLayoutEffect","jsx","Button","clsx"],"mappings":";;;;;;;;AAcO,MAAM,aAAgB,GAAAA,gBAAA;AAAA,EAC3B,SAASC,cAAc,CAAA,KAAA,EAAO,GAAK,EAAA;AACjC,IAAA,MAAM,EAAE,iBAAmB,EAAA,cAAA,EAAgB,IAAI,MAAQ,EAAA,GAAG,MAAS,GAAA,KAAA;AAEnE,IAAM,MAAA,EAAA,GAAKC,WAAM,MAAM,CAAA;AACvB,IAAA,MAAM,EAAE,OAAS,EAAA,QAAA,EAAU,KAAO,EAAA,cAAA,KAAmBC,yBAAW,EAAA;AAEhE,IAAAC,8BAAA,CAA0B,MAAM;AAC9B,MAAA,IAAI,EAAI,EAAA;AACN,QAAA,OAAO,eAAe,EAAE,CAAA;AAAA;AAC1B,KACC,EAAA,CAAC,cAAgB,EAAA,EAAE,CAAC,CAAA;AAEvB,IACE,uBAAAC,cAAA;AAAA,MAACC,WAAA;AAAA,MAAA;AAAA,QACC,EAAA;AAAA,QACA,iBAAiB,EAAAC,OAAA,CAAK,cAAgB,EAAA,KAAA,EAAO,EAAE,CAAA;AAAA,QAC/C,QAAA,EAAU,OAAW,IAAA,QAAA,GAAW,KAAY,CAAA,GAAA,CAAA,CAAA;AAAA,QAC5C,UAAW,EAAA,aAAA;AAAA,QACX,SAAU,EAAA,SAAA;AAAA,QACV,GAAA;AAAA,QACC,GAAG;AAAA;AAAA,KACN;AAAA;AAGN;;;;"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var core = require('@salt-ds/core');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
|
|
6
|
+
const TabNextContext = core.createContext(
|
|
7
|
+
"TabNextContext",
|
|
8
|
+
{
|
|
9
|
+
focused: false,
|
|
10
|
+
selected: false,
|
|
11
|
+
disabled: false,
|
|
12
|
+
value: "",
|
|
13
|
+
actions: [],
|
|
14
|
+
registerAction: () => () => void 0
|
|
15
|
+
}
|
|
16
|
+
);
|
|
17
|
+
function useTabNext() {
|
|
18
|
+
return React.useContext(TabNextContext);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
exports.TabNextContext = TabNextContext;
|
|
22
|
+
exports.useTabNext = useTabNext;
|
|
23
|
+
//# sourceMappingURL=TabNextContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabNextContext.js","sources":["../../../../../src/tabs-next/TabNextContext.tsx"],"sourcesContent":["import { createContext } from \"@salt-ds/core\";\nimport { useContext } from \"react\";\n\ninterface TabNextContextValue {\n tabId?: string;\n focused: boolean;\n selected: boolean;\n value: string;\n disabled: boolean;\n actions: string[];\n registerAction: (id: string) => () => void;\n}\n\nexport const TabNextContext = createContext<TabNextContextValue>(\n \"TabNextContext\",\n {\n focused: false,\n selected: false,\n disabled: false,\n value: \"\",\n actions: [],\n registerAction: () => () => undefined,\n },\n);\n\nexport function useTabNext() {\n return useContext(TabNextContext);\n}\n"],"names":["createContext","useContext"],"mappings":";;;;;AAaO,MAAM,cAAiB,GAAAA,kBAAA;AAAA,EAC5B,gBAAA;AAAA,EACA;AAAA,IACE,OAAS,EAAA,KAAA;AAAA,IACT,QAAU,EAAA,KAAA;AAAA,IACV,QAAU,EAAA,KAAA;AAAA,IACV,KAAO,EAAA,EAAA;AAAA,IACP,SAAS,EAAC;AAAA,IACV,cAAA,EAAgB,MAAM,MAAM,KAAA;AAAA;AAEhC;AAEO,SAAS,UAAa,GAAA;AAC3B,EAAA,OAAOC,iBAAW,cAAc,CAAA;AAClC;;;;;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tabPanelCss = ".saltTabNextPanel {\n height: 100%;\n width: 100%;\n}\n\n.saltTabNextPanel[hidden] {\n display: none;\n}\n\n.saltTabNextPanel:focus-visible {\n outline: var(--salt-focused-outline);\n}\n";
|
|
4
|
+
|
|
5
|
+
module.exports = tabPanelCss;
|
|
6
|
+
//# sourceMappingURL=TabNextPanel.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabNextPanel.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var core = require('@salt-ds/core');
|
|
5
|
+
var styles = require('@salt-ds/styles');
|
|
6
|
+
var window = require('@salt-ds/window');
|
|
7
|
+
var cx = require('clsx');
|
|
8
|
+
var React = require('react');
|
|
9
|
+
var index_esm = require('../../../../node_modules/tabbable/dist/index.esm.js');
|
|
10
|
+
var TabNextPanel$1 = require('./TabNextPanel.css.js');
|
|
11
|
+
var TabsNextContext = require('./TabsNextContext.js');
|
|
12
|
+
|
|
13
|
+
const withBaseName = core.makePrefixer("saltTabNextPanel");
|
|
14
|
+
const TabNextPanel = React.forwardRef(
|
|
15
|
+
function TabNextPanel2(props, ref) {
|
|
16
|
+
const { className, children, id: idProp, value, ...rest } = props;
|
|
17
|
+
const targetWindow = window.useWindow();
|
|
18
|
+
styles.useComponentCssInjection({
|
|
19
|
+
testId: "salt-tab-next-panel",
|
|
20
|
+
css: TabNextPanel$1,
|
|
21
|
+
window: targetWindow
|
|
22
|
+
});
|
|
23
|
+
const id = core.useId(idProp);
|
|
24
|
+
const { registerPanel, getTabId, selected } = TabsNextContext.useTabsNext();
|
|
25
|
+
const panelRef = React.useRef(null);
|
|
26
|
+
const handleRef = core.useForkRef(panelRef, ref);
|
|
27
|
+
core.useIsomorphicLayoutEffect(() => {
|
|
28
|
+
if (value && id) {
|
|
29
|
+
return registerPanel(id, value);
|
|
30
|
+
}
|
|
31
|
+
}, [value, id, registerPanel]);
|
|
32
|
+
const [hasFocusableChildren, setHasFocusableChildren] = React.useState(false);
|
|
33
|
+
React.useEffect(() => {
|
|
34
|
+
if (!panelRef.current) return;
|
|
35
|
+
const detectFocusableChildren = () => {
|
|
36
|
+
requestAnimationFrame(() => {
|
|
37
|
+
if (!panelRef.current) return;
|
|
38
|
+
const elements = index_esm.tabbable(panelRef.current);
|
|
39
|
+
setHasFocusableChildren(elements.length > 0);
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
const observer = new MutationObserver(() => {
|
|
43
|
+
detectFocusableChildren();
|
|
44
|
+
});
|
|
45
|
+
requestAnimationFrame(() => {
|
|
46
|
+
detectFocusableChildren();
|
|
47
|
+
});
|
|
48
|
+
observer.observe(panelRef.current, {
|
|
49
|
+
childList: true,
|
|
50
|
+
subtree: true,
|
|
51
|
+
attributes: true
|
|
52
|
+
});
|
|
53
|
+
return () => {
|
|
54
|
+
observer.disconnect();
|
|
55
|
+
};
|
|
56
|
+
}, []);
|
|
57
|
+
const hidden = selected !== value;
|
|
58
|
+
const tabId = getTabId(value);
|
|
59
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
60
|
+
"div",
|
|
61
|
+
{
|
|
62
|
+
id,
|
|
63
|
+
ref: handleRef,
|
|
64
|
+
role: "tabpanel",
|
|
65
|
+
"aria-labelledby": tabId,
|
|
66
|
+
className: cx.clsx(withBaseName(), className),
|
|
67
|
+
hidden: hidden || void 0,
|
|
68
|
+
tabIndex: hidden || hasFocusableChildren ? void 0 : 0,
|
|
69
|
+
...rest,
|
|
70
|
+
children
|
|
71
|
+
}
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
);
|
|
75
|
+
|
|
76
|
+
exports.TabNextPanel = TabNextPanel;
|
|
77
|
+
//# sourceMappingURL=TabNextPanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabNextPanel.js","sources":["../../../../../src/tabs-next/TabNextPanel.tsx"],"sourcesContent":["import {\n makePrefixer,\n useForkRef,\n useId,\n useIsomorphicLayoutEffect,\n} from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport {\n type ComponentPropsWithoutRef,\n forwardRef,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport { tabbable } from \"tabbable\";\nimport tabPanelCss from \"./TabNextPanel.css\";\nimport { useTabsNext } from \"./TabsNextContext\";\n\nexport interface TabNextPanelProps extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * The value of the panel, this should map to the corresponding tab.\n */\n value: string;\n}\n\nconst withBaseName = makePrefixer(\"saltTabNextPanel\");\n\nexport const TabNextPanel = forwardRef<HTMLDivElement, TabNextPanelProps>(\n function TabNextPanel(props, ref) {\n const { className, children, id: idProp, value, ...rest } = props;\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-tab-next-panel\",\n css: tabPanelCss,\n window: targetWindow,\n });\n const id = useId(idProp);\n const { registerPanel, getTabId, selected } = useTabsNext();\n\n const panelRef = useRef<HTMLDivElement>(null);\n const handleRef = useForkRef(panelRef, ref);\n\n useIsomorphicLayoutEffect(() => {\n if (value && id) {\n return registerPanel(id, value);\n }\n }, [value, id, registerPanel]);\n\n const [hasFocusableChildren, setHasFocusableChildren] = useState(false);\n useEffect(() => {\n if (!panelRef.current) return;\n\n const detectFocusableChildren = () => {\n requestAnimationFrame(() => {\n if (!panelRef.current) return;\n const elements = tabbable(panelRef.current);\n setHasFocusableChildren(elements.length > 0);\n });\n };\n\n const observer = new MutationObserver(() => {\n detectFocusableChildren();\n });\n\n requestAnimationFrame(() => {\n detectFocusableChildren();\n });\n\n observer.observe(panelRef.current, {\n childList: true,\n subtree: true,\n attributes: true,\n });\n\n return () => {\n observer.disconnect();\n };\n }, []);\n\n const hidden = selected !== value;\n const tabId = getTabId(value);\n\n return (\n <div\n id={id}\n ref={handleRef}\n role=\"tabpanel\"\n aria-labelledby={tabId}\n className={clsx(withBaseName(), className)}\n hidden={hidden || undefined}\n tabIndex={hidden || hasFocusableChildren ? undefined : 0}\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\n"],"names":["makePrefixer","forwardRef","TabNextPanel","useWindow","useComponentCssInjection","tabPanelCss","useId","useTabsNext","useRef","useForkRef","useIsomorphicLayoutEffect","useState","useEffect","tabbable","jsx","clsx"],"mappings":";;;;;;;;;;;;AA2BA,MAAM,YAAA,GAAeA,kBAAa,kBAAkB,CAAA;AAE7C,MAAM,YAAe,GAAAC,gBAAA;AAAA,EAC1B,SAASC,aAAa,CAAA,KAAA,EAAO,GAAK,EAAA;AAChC,IAAM,MAAA,EAAE,WAAW,QAAU,EAAA,EAAA,EAAI,QAAQ,KAAO,EAAA,GAAG,MAAS,GAAA,KAAA;AAC5D,IAAA,MAAM,eAAeC,gBAAU,EAAA;AAC/B,IAAyBC,+BAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,qBAAA;AAAA,MACR,GAAK,EAAAC,cAAA;AAAA,MACL,MAAQ,EAAA;AAAA,KACT,CAAA;AACD,IAAM,MAAA,EAAA,GAAKC,WAAM,MAAM,CAAA;AACvB,IAAA,MAAM,EAAE,aAAA,EAAe,QAAU,EAAA,QAAA,KAAaC,2BAAY,EAAA;AAE1D,IAAM,MAAA,QAAA,GAAWC,aAAuB,IAAI,CAAA;AAC5C,IAAM,MAAA,SAAA,GAAYC,eAAW,CAAA,QAAA,EAAU,GAAG,CAAA;AAE1C,IAAAC,8BAAA,CAA0B,MAAM;AAC9B,MAAA,IAAI,SAAS,EAAI,EAAA;AACf,QAAO,OAAA,aAAA,CAAc,IAAI,KAAK,CAAA;AAAA;AAChC,KACC,EAAA,CAAC,KAAO,EAAA,EAAA,EAAI,aAAa,CAAC,CAAA;AAE7B,IAAA,MAAM,CAAC,oBAAA,EAAsB,uBAAuB,CAAA,GAAIC,eAAS,KAAK,CAAA;AACtE,IAAAC,eAAA,CAAU,MAAM;AACd,MAAI,IAAA,CAAC,SAAS,OAAS,EAAA;AAEvB,MAAA,MAAM,0BAA0B,MAAM;AACpC,QAAA,qBAAA,CAAsB,MAAM;AAC1B,UAAI,IAAA,CAAC,SAAS,OAAS,EAAA;AACvB,UAAM,MAAA,QAAA,GAAWC,kBAAS,CAAA,QAAA,CAAS,OAAO,CAAA;AAC1C,UAAwB,uBAAA,CAAA,QAAA,CAAS,SAAS,CAAC,CAAA;AAAA,SAC5C,CAAA;AAAA,OACH;AAEA,MAAM,MAAA,QAAA,GAAW,IAAI,gBAAA,CAAiB,MAAM;AAC1C,QAAwB,uBAAA,EAAA;AAAA,OACzB,CAAA;AAED,MAAA,qBAAA,CAAsB,MAAM;AAC1B,QAAwB,uBAAA,EAAA;AAAA,OACzB,CAAA;AAED,MAAS,QAAA,CAAA,OAAA,CAAQ,SAAS,OAAS,EAAA;AAAA,QACjC,SAAW,EAAA,IAAA;AAAA,QACX,OAAS,EAAA,IAAA;AAAA,QACT,UAAY,EAAA;AAAA,OACb,CAAA;AAED,MAAA,OAAO,MAAM;AACX,QAAA,QAAA,CAAS,UAAW,EAAA;AAAA,OACtB;AAAA,KACF,EAAG,EAAE,CAAA;AAEL,IAAA,MAAM,SAAS,QAAa,KAAA,KAAA;AAC5B,IAAM,MAAA,KAAA,GAAQ,SAAS,KAAK,CAAA;AAE5B,IACE,uBAAAC,cAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,EAAA;AAAA,QACA,GAAK,EAAA,SAAA;AAAA,QACL,IAAK,EAAA,UAAA;AAAA,QACL,iBAAiB,EAAA,KAAA;AAAA,QACjB,SAAW,EAAAC,OAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,QACzC,QAAQ,MAAU,IAAA,KAAA,CAAA;AAAA,QAClB,QAAA,EAAU,MAAU,IAAA,oBAAA,GAAuB,KAAY,CAAA,GAAA,CAAA;AAAA,QACtD,GAAG,IAAA;AAAA,QAEH;AAAA;AAAA,KACH;AAAA;AAGN;;;;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tabTriggerCss = ".saltTabNextTrigger {\n all: unset;\n display: flex;\n gap: var(--salt-spacing-100);\n align-items: center;\n justify-content: center;\n flex: 1;\n}\n\n/* The action should be triggered by clicking anywhere on the tab. */\n.saltTabNextTrigger::before {\n content: \"\";\n position: absolute;\n width: 100%;\n height: 100%;\n left: 0;\n top: 0;\n}\n";
|
|
4
|
+
|
|
5
|
+
module.exports = tabTriggerCss;
|
|
6
|
+
//# sourceMappingURL=TabNextTrigger.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabNextTrigger.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var core = require('@salt-ds/core');
|
|
5
|
+
var styles = require('@salt-ds/styles');
|
|
6
|
+
var window = require('@salt-ds/window');
|
|
7
|
+
var cx = require('clsx');
|
|
8
|
+
var React = require('react');
|
|
9
|
+
var TabNextContext = require('./TabNextContext.js');
|
|
10
|
+
var TabNextTrigger$1 = require('./TabNextTrigger.css.js');
|
|
11
|
+
var TabsNextContext = require('./TabsNextContext.js');
|
|
12
|
+
|
|
13
|
+
const withBaseName = core.makePrefixer("saltTabNextTrigger");
|
|
14
|
+
function getAriaDescription(count) {
|
|
15
|
+
if (count < 1) {
|
|
16
|
+
return void 0;
|
|
17
|
+
}
|
|
18
|
+
if (count === 1) {
|
|
19
|
+
return "1 action available";
|
|
20
|
+
}
|
|
21
|
+
return `${count} actions available`;
|
|
22
|
+
}
|
|
23
|
+
const TabNextTrigger = React.forwardRef(function TabNextTrigger2(props, ref) {
|
|
24
|
+
const { children, id: idProp, onClick, onKeyDown, ...rest } = props;
|
|
25
|
+
const targetWindow = window.useWindow();
|
|
26
|
+
styles.useComponentCssInjection({
|
|
27
|
+
testId: "salt-tab-next-trigger",
|
|
28
|
+
css: TabNextTrigger$1,
|
|
29
|
+
window: targetWindow
|
|
30
|
+
});
|
|
31
|
+
const { setSelected, registerTab, getPanelId } = TabsNextContext.useTabsNext();
|
|
32
|
+
const { selected, value, focused, disabled, tabId, actions } = TabNextContext.useTabNext();
|
|
33
|
+
const tabRef = React.useRef(null);
|
|
34
|
+
const id = tabId;
|
|
35
|
+
core.useIsomorphicLayoutEffect(() => {
|
|
36
|
+
if (value && id && tabRef.current) {
|
|
37
|
+
return registerTab({ id, value, element: tabRef.current });
|
|
38
|
+
}
|
|
39
|
+
}, [value, id, registerTab]);
|
|
40
|
+
const handleClick = (event) => {
|
|
41
|
+
setSelected(event, value);
|
|
42
|
+
};
|
|
43
|
+
const handleKeyDown = (event) => {
|
|
44
|
+
onKeyDown?.(event);
|
|
45
|
+
if (event.key === "Enter" || event.key === " ") {
|
|
46
|
+
setSelected(event, value);
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
const handleRef = core.useForkRef(tabRef, ref);
|
|
50
|
+
const panelId = getPanelId(value);
|
|
51
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
52
|
+
"button",
|
|
53
|
+
{
|
|
54
|
+
"aria-selected": selected,
|
|
55
|
+
"aria-disabled": disabled,
|
|
56
|
+
"aria-controls": panelId,
|
|
57
|
+
"aria-actions": cx.clsx(actions) || void 0,
|
|
58
|
+
"aria-description": getAriaDescription(actions.length),
|
|
59
|
+
tabIndex: focused || selected ? void 0 : -1,
|
|
60
|
+
role: "tab",
|
|
61
|
+
type: "button",
|
|
62
|
+
onClick: !disabled ? handleClick : void 0,
|
|
63
|
+
onKeyDown: !disabled ? handleKeyDown : void 0,
|
|
64
|
+
className: withBaseName(),
|
|
65
|
+
id,
|
|
66
|
+
ref: handleRef,
|
|
67
|
+
...rest,
|
|
68
|
+
children
|
|
69
|
+
}
|
|
70
|
+
);
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
exports.TabNextTrigger = TabNextTrigger;
|
|
74
|
+
//# sourceMappingURL=TabNextTrigger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabNextTrigger.js","sources":["../../../../../src/tabs-next/TabNextTrigger.tsx"],"sourcesContent":["import {\n makePrefixer,\n useForkRef,\n useIsomorphicLayoutEffect,\n} from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport {\n type ComponentPropsWithoutRef,\n type KeyboardEvent,\n type MouseEvent,\n forwardRef,\n useRef,\n} from \"react\";\nimport { useTabNext } from \"./TabNextContext\";\nimport tabTriggerCss from \"./TabNextTrigger.css\";\nimport { useTabsNext } from \"./TabsNextContext\";\n\nexport interface TabNextTriggerProps\n extends ComponentPropsWithoutRef<\"button\"> {\n debugLabel?: string;\n}\n\nconst withBaseName = makePrefixer(\"saltTabNextTrigger\");\n\nfunction getAriaDescription(count: number) {\n if (count < 1) {\n return undefined;\n }\n\n if (count === 1) {\n return \"1 action available\";\n }\n\n return `${count} actions available`;\n}\n\nexport const TabNextTrigger = forwardRef<\n HTMLButtonElement,\n TabNextTriggerProps\n>(function TabNextTrigger(props, ref) {\n const { children, id: idProp, onClick, onKeyDown, ...rest } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-tab-next-trigger\",\n css: tabTriggerCss,\n window: targetWindow,\n });\n\n const { setSelected, registerTab, getPanelId } = useTabsNext();\n const { selected, value, focused, disabled, tabId, actions } = useTabNext();\n\n const tabRef = useRef<HTMLButtonElement>(null);\n\n const id = tabId;\n\n useIsomorphicLayoutEffect(() => {\n if (value && id && tabRef.current) {\n return registerTab({ id, value, element: tabRef.current });\n }\n }, [value, id, registerTab]);\n\n const handleClick = (event: MouseEvent<HTMLButtonElement>) => {\n setSelected(event, value);\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLButtonElement>) => {\n onKeyDown?.(event);\n\n if (event.key === \"Enter\" || event.key === \" \") {\n setSelected(event, value);\n }\n };\n\n const handleRef = useForkRef<HTMLButtonElement>(tabRef, ref);\n const panelId = getPanelId(value);\n\n return (\n <button\n aria-selected={selected}\n aria-disabled={disabled}\n aria-controls={panelId}\n // eslint-disable-next-line react/no-unknown-property\n aria-actions={clsx(actions) || undefined}\n aria-description={getAriaDescription(actions.length)}\n tabIndex={focused || selected ? undefined : -1}\n role=\"tab\"\n type=\"button\"\n onClick={!disabled ? handleClick : undefined}\n onKeyDown={!disabled ? handleKeyDown : undefined}\n className={withBaseName()}\n id={id}\n ref={handleRef}\n {...rest}\n >\n {children}\n </button>\n );\n});\n"],"names":["makePrefixer","forwardRef","TabNextTrigger","useWindow","useComponentCssInjection","tabTriggerCss","useTabsNext","useTabNext","useRef","useIsomorphicLayoutEffect","useForkRef","jsx","clsx"],"mappings":";;;;;;;;;;;;AAwBA,MAAM,YAAA,GAAeA,kBAAa,oBAAoB,CAAA;AAEtD,SAAS,mBAAmB,KAAe,EAAA;AACzC,EAAA,IAAI,QAAQ,CAAG,EAAA;AACb,IAAO,OAAA,KAAA,CAAA;AAAA;AAGT,EAAA,IAAI,UAAU,CAAG,EAAA;AACf,IAAO,OAAA,oBAAA;AAAA;AAGT,EAAA,OAAO,GAAG,KAAK,CAAA,kBAAA,CAAA;AACjB;AAEO,MAAM,cAAiB,GAAAC,gBAAA,CAG5B,SAASC,eAAAA,CAAe,OAAO,GAAK,EAAA;AACpC,EAAM,MAAA,EAAE,UAAU,EAAI,EAAA,MAAA,EAAQ,SAAS,SAAW,EAAA,GAAG,MAAS,GAAA,KAAA;AAE9D,EAAA,MAAM,eAAeC,gBAAU,EAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,uBAAA;AAAA,IACR,GAAK,EAAAC,gBAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EAAA,MAAM,EAAE,WAAA,EAAa,WAAa,EAAA,UAAA,KAAeC,2BAAY,EAAA;AAC7D,EAAM,MAAA,EAAE,UAAU,KAAO,EAAA,OAAA,EAAS,UAAU,KAAO,EAAA,OAAA,KAAYC,yBAAW,EAAA;AAE1E,EAAM,MAAA,MAAA,GAASC,aAA0B,IAAI,CAAA;AAE7C,EAAA,MAAM,EAAK,GAAA,KAAA;AAEX,EAAAC,8BAAA,CAA0B,MAAM;AAC9B,IAAI,IAAA,KAAA,IAAS,EAAM,IAAA,MAAA,CAAO,OAAS,EAAA;AACjC,MAAA,OAAO,YAAY,EAAE,EAAA,EAAI,OAAO,OAAS,EAAA,MAAA,CAAO,SAAS,CAAA;AAAA;AAC3D,GACC,EAAA,CAAC,KAAO,EAAA,EAAA,EAAI,WAAW,CAAC,CAAA;AAE3B,EAAM,MAAA,WAAA,GAAc,CAAC,KAAyC,KAAA;AAC5D,IAAA,WAAA,CAAY,OAAO,KAAK,CAAA;AAAA,GAC1B;AAEA,EAAM,MAAA,aAAA,GAAgB,CAAC,KAA4C,KAAA;AACjE,IAAA,SAAA,GAAY,KAAK,CAAA;AAEjB,IAAA,IAAI,KAAM,CAAA,GAAA,KAAQ,OAAW,IAAA,KAAA,CAAM,QAAQ,GAAK,EAAA;AAC9C,MAAA,WAAA,CAAY,OAAO,KAAK,CAAA;AAAA;AAC1B,GACF;AAEA,EAAM,MAAA,SAAA,GAAYC,eAA8B,CAAA,MAAA,EAAQ,GAAG,CAAA;AAC3D,EAAM,MAAA,OAAA,GAAU,WAAW,KAAK,CAAA;AAEhC,EACE,uBAAAC,cAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,eAAe,EAAA,QAAA;AAAA,MACf,eAAe,EAAA,QAAA;AAAA,MACf,eAAe,EAAA,OAAA;AAAA,MAEf,cAAA,EAAcC,OAAK,CAAA,OAAO,CAAK,IAAA,KAAA,CAAA;AAAA,MAC/B,kBAAA,EAAkB,kBAAmB,CAAA,OAAA,CAAQ,MAAM,CAAA;AAAA,MACnD,QAAA,EAAU,OAAW,IAAA,QAAA,GAAW,KAAY,CAAA,GAAA,CAAA,CAAA;AAAA,MAC5C,IAAK,EAAA,KAAA;AAAA,MACL,IAAK,EAAA,QAAA;AAAA,MACL,OAAA,EAAS,CAAC,QAAA,GAAW,WAAc,GAAA,KAAA,CAAA;AAAA,MACnC,SAAA,EAAW,CAAC,QAAA,GAAW,aAAgB,GAAA,KAAA,CAAA;AAAA,MACvC,WAAW,YAAa,EAAA;AAAA,MACxB,EAAA;AAAA,MACA,GAAK,EAAA,SAAA;AAAA,MACJ,GAAG,IAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ,CAAC;;;;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tabOverflowListCss = ".saltTabOverflow {\n position: relative;\n}\n\n.saltTabOverflow-list {\n background: var(--salt-container-primary-background);\n border: var(--salt-size-border) var(--salt-selectable-borderStyle-selected) var(--salt-selectable-borderColor-selected);\n overflow: hidden;\n overflow-y: auto;\n position: absolute;\n z-index: var(--salt-zIndex-flyover);\n box-shadow: var(--salt-overlayable-shadow-popout);\n box-sizing: border-box;\n border-radius: var(--salt-palette-corner, 0);\n}\n\n.saltTabOverflow-listContainer {\n display: flex;\n flex-direction: column;\n gap: var(--salt-size-border);\n max-height: inherit;\n min-height: inherit;\n}\n\n.saltTabOverflow-list[data-hidden=\"true\"] {\n opacity: 0;\n pointer-events: none;\n}\n\n.saltTabOverflow-list .saltTabNext {\n color: var(--salt-content-primary-foreground);\n background: var(--salt-selectable-background);\n font-size: var(--salt-text-fontSize);\n font-weight: var(--salt-text-fontWeight);\n min-height: calc(var(--salt-size-base) + var(--salt-spacing-100));\n padding-left: var(--salt-spacing-100);\n padding-right: var(--salt-spacing-100);\n display: flex;\n gap: var(--salt-spacing-100);\n position: relative;\n align-items: center;\n cursor: var(--salt-selectable-cursor-hover);\n box-sizing: border-box;\n flex-shrink: 0;\n justify-content: flex-start;\n}\n\n.saltTabOverflow-list .saltTabNext .saltTabNextTrigger {\n justify-content: start;\n}\n\n.saltTabOverflow-list .saltTabNext::after {\n display: none;\n}\n\n.saltTabOverflow-list .saltTabNext[aria-disabled=\"true\"] {\n color: var(--salt-content-primary-foreground-disabled);\n cursor: var(--salt-selectable-cursor-disabled);\n}\n\n.saltTabOverflow-list .saltTabNext-focusVisible {\n outline: var(--salt-focused-outline);\n outline-offset: calc(var(--salt-size-border) * -2);\n}\n\n.saltTabOverflow-list .saltTabNext:hover {\n background: var(--salt-selectable-background-hover);\n}\n\n.saltTabOverflow-list .saltTabNext:active {\n background: var(--salt-selectable-background-selected);\n box-shadow: 0 calc(var(--salt-size-border) * -1) 0 0 var(--salt-selectable-borderColor-selected), 0 var(--salt-size-border) 0 0 var(--salt-selectable-borderColor-selected);\n}\n";
|
|
4
|
+
|
|
5
|
+
module.exports = tabOverflowListCss;
|
|
6
|
+
//# sourceMappingURL=TabOverflowList.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabOverflowList.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|