@salt-ds/lab 1.0.0-alpha.49 → 1.0.0-alpha.50
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/css/salt-lab.css +53 -1
- package/dist-cjs/app-header/AppHeader.js +2 -2
- package/dist-cjs/breadcrumbs/Breadcrumb.js +3 -3
- package/dist-cjs/breadcrumbs/Breadcrumb.js.map +1 -1
- package/dist-cjs/breadcrumbs/Breadcrumbs.js +6 -10
- package/dist-cjs/breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist-cjs/breadcrumbs/internal/BreadcrumbsCollapsed.js +7 -7
- package/dist-cjs/breadcrumbs/internal/BreadcrumbsContext.js +3 -3
- package/dist-cjs/breadcrumbs/internal/useFocusMenuRemount.js +4 -4
- package/dist-cjs/button-bar/ButtonBar.js +4 -4
- package/dist-cjs/button-bar/OrderedButton.js +3 -3
- package/dist-cjs/button-bar/internal/DescendantContext.js +4 -4
- package/dist-cjs/button-bar/internal/useDescendant.js +3 -3
- package/dist-cjs/button-bar/internal/useDescendants.js +2 -2
- package/dist-cjs/calendar/Calendar.js +4 -4
- package/dist-cjs/calendar/internal/CalendarCarousel.js +6 -6
- package/dist-cjs/calendar/internal/CalendarContext.js +3 -3
- package/dist-cjs/calendar/internal/CalendarDay.js +3 -3
- package/dist-cjs/calendar/internal/CalendarMonth.js +2 -2
- package/dist-cjs/calendar/internal/CalendarNavigation.js +2 -2
- package/dist-cjs/calendar/internal/CalendarWeekHeader.js +2 -2
- package/dist-cjs/calendar/useCalendar.js +9 -9
- package/dist-cjs/calendar/useCalendarDay.js +2 -2
- package/dist-cjs/carousel/Carousel.js +5 -5
- package/dist-cjs/carousel/CarouselSlide.js +3 -3
- package/dist-cjs/cascading-menu/CascadingMenu.js +18 -18
- package/dist-cjs/cascading-menu/CascadingMenuItem.js +5 -5
- package/dist-cjs/cascading-menu/CascadingMenuList.js +9 -9
- package/dist-cjs/cascading-menu/internal/useClickAway.js +2 -2
- package/dist-cjs/cascading-menu/internal/useMenuTriggerHandlers.js +3 -3
- package/dist-cjs/cascading-menu/internal/useMountedRef.js +3 -3
- package/dist-cjs/cascading-menu/internal/useMouseHandlers.js +7 -7
- package/dist-cjs/cascading-menu/internal/useRefsManager.js +7 -7
- package/dist-cjs/cascading-menu/internal/useStateReducer.js +2 -2
- package/dist-cjs/color-chooser/AlphaInputField.js +3 -3
- package/dist-cjs/color-chooser/AlphaInputField.js.map +1 -1
- package/dist-cjs/color-chooser/ColorChooser.js +3 -3
- package/dist-cjs/color-chooser/HexInput.js +3 -3
- package/dist-cjs/color-chooser/HexInput.js.map +1 -1
- package/dist-cjs/color-chooser/RGBAInputField.js +3 -3
- package/dist-cjs/color-chooser/RGBAInputField.js.map +1 -1
- package/dist-cjs/color-chooser/Swatches.js.map +1 -1
- package/dist-cjs/color-chooser/SwatchesPicker.js.map +1 -1
- package/dist-cjs/combo-box/ComboBox.js +3 -3
- package/dist-cjs/combo-box/useCombobox.js +25 -25
- package/dist-cjs/combo-box-deprecated/ComboBoxDeprecated.js +3 -3
- package/dist-cjs/combo-box-deprecated/internal/DefaultComboBox.js +12 -12
- package/dist-cjs/combo-box-deprecated/internal/DefaultComboBox.js.map +1 -1
- package/dist-cjs/combo-box-deprecated/internal/MultiSelectComboBox.js +12 -12
- package/dist-cjs/combo-box-deprecated/internal/MultiSelectComboBox.js.map +1 -1
- package/dist-cjs/combo-box-deprecated/internal/useComboBox.js +11 -11
- package/dist-cjs/combo-box-deprecated/internal/useMultiSelectComboBox.js +12 -12
- package/dist-cjs/combo-box-deprecated/internal/usePopperStatus.js +2 -2
- package/dist-cjs/common-hooks/collectionProvider.js +4 -4
- package/dist-cjs/common-hooks/keyUtils.js.map +1 -1
- package/dist-cjs/common-hooks/selectionTypes.js.map +1 -1
- package/dist-cjs/common-hooks/useAutoSizer.js +3 -3
- package/dist-cjs/common-hooks/useCollapsibleGroups.js +3 -3
- package/dist-cjs/common-hooks/useCollectionItems.js +24 -24
- package/dist-cjs/common-hooks/useImperativeScrollingAPI.js +3 -3
- package/dist-cjs/common-hooks/useKeyboardNavigation.js +13 -13
- package/dist-cjs/common-hooks/useKeyboardNavigationPanel.js +10 -10
- package/dist-cjs/common-hooks/useSelection.js +13 -13
- package/dist-cjs/common-hooks/useTypeahead.js +6 -6
- package/dist-cjs/common-hooks/useTypeahead.js.map +1 -1
- package/dist-cjs/common-hooks/useViewportTracking.js +9 -9
- package/dist-cjs/common-hooks/utils/collection-item-utils.js +5 -5
- package/dist-cjs/contact-details/ContactAction.js +2 -2
- package/dist-cjs/contact-details/ContactActions.js +2 -2
- package/dist-cjs/contact-details/ContactAvatar.js +3 -3
- package/dist-cjs/contact-details/ContactDetails.js +9 -9
- package/dist-cjs/contact-details/ContactFavoriteToggle.js +2 -2
- package/dist-cjs/contact-details/ContactMetadata.js +3 -3
- package/dist-cjs/contact-details/ContactMetadataItem.js +2 -2
- package/dist-cjs/contact-details/ContactPrimaryInfo.js +3 -3
- package/dist-cjs/contact-details/ContactSecondaryInfo.js +3 -3
- package/dist-cjs/contact-details/ContactTertiaryInfo.js +3 -3
- package/dist-cjs/contact-details/internal/ContactDetailsContext.js +3 -3
- package/dist-cjs/contact-details/internal/FavoriteToggle.js +5 -5
- package/dist-cjs/contact-details/internal/FavoriteToggle.js.map +1 -1
- package/dist-cjs/contact-details/internal/FavoriteToggleWithTooltip.js +2 -2
- package/dist-cjs/contact-details/internal/StarIcon.js +2 -2
- package/dist-cjs/contact-details/internal/StarIconContainer.js +2 -2
- package/dist-cjs/contact-details/internal/useComponentSize.js +4 -4
- package/dist-cjs/content-status/ContentStatus.js +3 -3
- package/dist-cjs/date-input/DateInput.js +7 -7
- package/dist-cjs/date-picker/DatePicker.js +11 -11
- package/dist-cjs/date-picker/DatePicker.js.map +1 -1
- package/dist-cjs/date-picker/DatePickerContext.js +2 -2
- package/dist-cjs/date-picker/DatePickerPanel.js +4 -4
- package/dist-cjs/deck-item/DeckItem.js +4 -4
- package/dist-cjs/deck-layout/DeckLayout.js +5 -5
- package/dist-cjs/dropdown/Dropdown.js +5 -5
- package/dist-cjs/dropdown/DropdownBase.js +11 -11
- package/dist-cjs/dropdown/DropdownBase.js.map +1 -1
- package/dist-cjs/dropdown/DropdownButton.js +2 -2
- package/dist-cjs/dropdown/useClickAway.js +2 -2
- package/dist-cjs/dropdown/useDropdown.js +5 -5
- package/dist-cjs/dropdown/useDropdownBase.js +11 -11
- package/dist-cjs/editable-label/EditableLabel.js +5 -5
- package/dist-cjs/form-field-context-legacy/useFormFieldLegacyProps.js +2 -2
- package/dist-cjs/form-field-legacy/FormFieldLegacy.js +5 -5
- package/dist-cjs/form-field-legacy/FormHelperText.js.map +1 -1
- package/dist-cjs/form-group/FormGroup.js +2 -2
- package/dist-cjs/formatted-input/FormattedInput.js +2 -2
- package/dist-cjs/formatted-input/internal/InputWithMask.js +2 -2
- package/dist-cjs/index.js +6 -0
- package/dist-cjs/index.js.map +1 -1
- package/dist-cjs/input-legacy/InputLegacy.js +4 -4
- package/dist-cjs/input-legacy/StaticInputAdornment.js +2 -2
- package/dist-cjs/input-legacy/useCursorOnFocus.js +9 -9
- package/dist-cjs/layer-layout/LayerLayout.js +5 -5
- package/dist-cjs/list/List.js +8 -8
- package/dist-cjs/list/ListItem.js +3 -3
- package/dist-cjs/list/VirtualizedList.js +4 -4
- package/dist-cjs/list/useList.js +9 -9
- package/dist-cjs/list/useListHeight.js +4 -4
- package/dist-cjs/list/useVirtualization.js +6 -6
- package/dist-cjs/list-deprecated/List.js +5 -5
- package/dist-cjs/list-deprecated/ListBase.js +13 -13
- package/dist-cjs/list-deprecated/ListItem.js +2 -2
- package/dist-cjs/list-deprecated/ListItemBase.js +4 -4
- package/dist-cjs/list-deprecated/ListItemContext.js +3 -3
- package/dist-cjs/list-deprecated/ListStateContext.js +3 -3
- package/dist-cjs/list-deprecated/internal/DescendantContext.js +6 -6
- package/dist-cjs/list-deprecated/internal/useListAutoSizer.js +4 -4
- package/dist-cjs/list-deprecated/internal/useWidth.js +4 -4
- package/dist-cjs/list-deprecated/useList.js +17 -17
- package/dist-cjs/list-deprecated/useListItem.js +5 -5
- package/dist-cjs/list-deprecated/useTypeSelect.js +3 -3
- package/dist-cjs/list-next/ListItemNext.js +2 -2
- package/dist-cjs/list-next/ListNext.js +3 -3
- package/dist-cjs/list-next/ListNextContext.js +2 -2
- package/dist-cjs/list-next/useList.js +14 -14
- package/dist-cjs/logo/Logo.js +2 -2
- package/dist-cjs/logo/LogoImage.js +2 -2
- package/dist-cjs/logo/LogoSeparator.js +2 -2
- package/dist-cjs/menu-button/MenuButton.js +5 -5
- package/dist-cjs/menu-button/MenuButtonTrigger.js +2 -2
- package/dist-cjs/metric/Metric.js +3 -3
- package/dist-cjs/metric/MetricContent.js +2 -2
- package/dist-cjs/metric/MetricHeader.js +3 -3
- package/dist-cjs/metric/internal/MetricContext.js +3 -3
- package/dist-cjs/portal/Portal.js +6 -6
- package/dist-cjs/query-input/QueryInput.js +2 -2
- package/dist-cjs/query-input/internal/CategoryList.js +5 -5
- package/dist-cjs/query-input/internal/CategoryListContext.js +3 -3
- package/dist-cjs/query-input/internal/CategoryListItem.js +3 -3
- package/dist-cjs/query-input/internal/QueryInputBody.js +3 -3
- package/dist-cjs/query-input/internal/SearchList.js +2 -2
- package/dist-cjs/query-input/internal/ValueSelector.js +2 -2
- package/dist-cjs/query-input/internal/usePopperStatus.js +2 -2
- package/dist-cjs/query-input/useQueryInput.js +13 -13
- package/dist-cjs/responsive/OverflowReducer.js +3 -7
- package/dist-cjs/responsive/OverflowReducer.js.map +1 -1
- package/dist-cjs/responsive/useDynamicCollapse.js +7 -7
- package/dist-cjs/responsive/useInstantCollapse.js +7 -7
- package/dist-cjs/responsive/useOverflow.js +11 -11
- package/dist-cjs/responsive/useOverflowCollectionItems.js +12 -12
- package/dist-cjs/responsive/useOverflowLayout.js +8 -8
- package/dist-cjs/responsive/useReclaimSpace.js +3 -3
- package/dist-cjs/responsive/useResizeObserver.js +3 -3
- package/dist-cjs/responsive/useWidth.js +4 -4
- package/dist-cjs/search-input/SearchInput.js +3 -3
- package/dist-cjs/skip-link/SkipLink.js +2 -2
- package/dist-cjs/skip-link/SkipLinks.js +2 -2
- package/dist-cjs/skip-link/internal/useManageFocusOnTarget.js +6 -6
- package/dist-cjs/slider/Slider.js +5 -5
- package/dist-cjs/slider/internal/SliderMarkLabels.js +3 -3
- package/dist-cjs/slider/internal/SliderRailMarks.js +3 -3
- package/dist-cjs/slider/internal/useSliderKeyDown.js.map +1 -1
- package/dist-cjs/slider/internal/useSliderMouseDown.js +6 -6
- package/dist-cjs/slider/internal/utils.js +2 -2
- package/dist-cjs/stepped-tracker/StepLabel/StepLabel.js +2 -2
- package/dist-cjs/stepped-tracker/SteppedTracker.js +7 -7
- package/dist-cjs/stepped-tracker/SteppedTrackerContext.js +6 -6
- package/dist-cjs/stepped-tracker/TrackerStep/TrackerStep.js +3 -3
- package/dist-cjs/stepper-input/StepperInput.js +3 -3
- package/dist-cjs/stepper-input/internal/useInterval.js +4 -4
- package/dist-cjs/stepper-input/internal/useSpinner.js +4 -4
- package/dist-cjs/system-status/SystemStatus.css.js +6 -0
- package/dist-cjs/system-status/SystemStatus.css.js.map +1 -0
- package/dist-cjs/system-status/SystemStatus.js +39 -0
- package/dist-cjs/system-status/SystemStatus.js.map +1 -0
- package/dist-cjs/system-status/SystemStatusActions.css.js +6 -0
- package/dist-cjs/system-status/SystemStatusActions.css.js.map +1 -0
- package/dist-cjs/system-status/SystemStatusActions.js +30 -0
- package/dist-cjs/system-status/SystemStatusActions.js.map +1 -0
- package/dist-cjs/system-status/SystemStatusContent.css.js +6 -0
- package/dist-cjs/system-status/SystemStatusContent.css.js.map +1 -0
- package/dist-cjs/system-status/SystemStatusContent.js +30 -0
- package/dist-cjs/system-status/SystemStatusContent.js.map +1 -0
- package/dist-cjs/tabs/Tab.js +6 -6
- package/dist-cjs/tabs/TabActivationIndicator.js +2 -2
- package/dist-cjs/tabs/TabPanel.js +2 -2
- package/dist-cjs/tabs/Tabs.js +5 -5
- package/dist-cjs/tabs/Tabstrip.js +26 -30
- package/dist-cjs/tabs/Tabstrip.js.map +1 -1
- package/dist-cjs/tabs/drag-drop/Draggable.js +3 -3
- package/dist-cjs/tabs/drag-drop/useDragDropNaturalMovement.js +20 -20
- package/dist-cjs/tabs/drag-drop/useDragSpacers.js +9 -9
- package/dist-cjs/tabs/useActivationIndicator.js +7 -7
- package/dist-cjs/tabs/useEditableItem.js +3 -3
- package/dist-cjs/tabs/useItemsWithIds.js +6 -6
- package/dist-cjs/tabs/useKeyboardNavigation.js +12 -12
- package/dist-cjs/tabs/useKeyboardNavigation.js.map +1 -1
- package/dist-cjs/tabs/useSelection.js +5 -5
- package/dist-cjs/tabs/useTabs.js +2 -2
- package/dist-cjs/tabs/useTabstrip.js +12 -12
- package/dist-cjs/tabs-next/OverflowMenu.js +2 -2
- package/dist-cjs/tabs-next/TabNext.js +3 -3
- package/dist-cjs/tabs-next/TabNextContext.js +2 -2
- package/dist-cjs/tabs-next/TabstripNext.js +13 -13
- package/dist-cjs/toast-group/ToastGroup.js +2 -2
- package/dist-cjs/tokenized-input/TokenizedInput.js +2 -2
- package/dist-cjs/tokenized-input/TokenizedInputBase.js +9 -9
- package/dist-cjs/tokenized-input/internal/InputPill.js +3 -3
- package/dist-cjs/tokenized-input/internal/InputRuler.js +2 -2
- package/dist-cjs/tokenized-input/internal/useResizeObserver.js +3 -3
- package/dist-cjs/tokenized-input/internal/useWidth.js +3 -3
- package/dist-cjs/tokenized-input/useTokenizedInput.js +16 -16
- package/dist-cjs/tokenized-input-next/TokenizedInputNext.js +3 -3
- package/dist-cjs/tokenized-input-next/internal/InputPill.js +4 -4
- package/dist-cjs/tokenized-input-next/internal/useResizeObserver.js +3 -3
- package/dist-cjs/tokenized-input-next/internal/useWidth.js +3 -3
- package/dist-cjs/tokenized-input-next/useTokenizedInputNext.js +15 -15
- package/dist-cjs/toolbar/Toolbar.js +6 -6
- package/dist-cjs/toolbar/ToolbarButton.js +2 -2
- package/dist-cjs/toolbar/Tooltray.js +2 -2
- package/dist-cjs/toolbar/internal/renderToolbarItems.js +5 -9
- package/dist-cjs/toolbar/internal/renderToolbarItems.js.map +1 -1
- package/dist-cjs/toolbar/internal/renderTrayTools.js +6 -10
- package/dist-cjs/toolbar/internal/renderTrayTools.js.map +1 -1
- package/dist-cjs/toolbar/overflow-panel/OverflowPanel.js +7 -14
- package/dist-cjs/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
- package/dist-cjs/toolbar/toolbar-field/ToolbarField.js +2 -2
- package/dist-cjs/toolbar/toolbar-field/useToolbarField.js +5 -5
- package/dist-cjs/tree/Tree.js +8 -8
- package/dist-cjs/tree/use-tree-keyboard-navigation.js +2 -2
- package/dist-cjs/tree/useTree.js +5 -5
- package/dist-cjs/utils/useClickOutside.js +3 -3
- package/dist-cjs/utils/useEventCallback.js +3 -3
- package/dist-cjs/utils/useLayoutEffectOnce.js +2 -2
- package/dist-cjs/utils/useLayoutEffectSkipFirst.js +2 -2
- package/dist-cjs/utils/useOverflowDetection.js +4 -4
- package/dist-cjs/utils/useSlideSelection.js +3 -3
- package/dist-cjs/window/ElectronWindow.js +7 -7
- package/dist-cjs/window/WindowContext.js +4 -4
- package/dist-cjs/window/desktop-utils.js +3 -3
- package/dist-es/breadcrumbs/Breadcrumb.js.map +1 -1
- package/dist-es/breadcrumbs/Breadcrumbs.js +4 -4
- package/dist-es/breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist-es/color-chooser/AlphaInputField.js.map +1 -1
- package/dist-es/color-chooser/HexInput.js.map +1 -1
- package/dist-es/color-chooser/RGBAInputField.js.map +1 -1
- package/dist-es/color-chooser/Swatches.js.map +1 -1
- package/dist-es/color-chooser/SwatchesPicker.js.map +1 -1
- package/dist-es/common-hooks/keyUtils.js.map +1 -1
- package/dist-es/common-hooks/selectionTypes.js.map +1 -1
- package/dist-es/common-hooks/useTypeahead.js.map +1 -1
- package/dist-es/contact-details/internal/FavoriteToggle.js.map +1 -1
- package/dist-es/form-field-legacy/FormHelperText.js.map +1 -1
- package/dist-es/index.js +3 -0
- package/dist-es/index.js.map +1 -1
- package/dist-es/responsive/OverflowReducer.js +2 -2
- package/dist-es/responsive/OverflowReducer.js.map +1 -1
- package/dist-es/slider/internal/useSliderKeyDown.js.map +1 -1
- package/dist-es/system-status/SystemStatus.css.js +4 -0
- package/dist-es/system-status/SystemStatus.css.js.map +1 -0
- package/dist-es/system-status/SystemStatus.js +35 -0
- package/dist-es/system-status/SystemStatus.js.map +1 -0
- package/dist-es/system-status/SystemStatusActions.css.js +4 -0
- package/dist-es/system-status/SystemStatusActions.css.js.map +1 -0
- package/dist-es/system-status/SystemStatusActions.js +26 -0
- package/dist-es/system-status/SystemStatusActions.js.map +1 -0
- package/dist-es/system-status/SystemStatusContent.css.js +4 -0
- package/dist-es/system-status/SystemStatusContent.css.js.map +1 -0
- package/dist-es/system-status/SystemStatusContent.js +26 -0
- package/dist-es/system-status/SystemStatusContent.js.map +1 -0
- package/dist-es/tabs/Tabstrip.js +10 -10
- package/dist-es/tabs/Tabstrip.js.map +1 -1
- package/dist-es/tabs/useKeyboardNavigation.js.map +1 -1
- package/dist-es/toolbar/internal/renderToolbarItems.js +5 -5
- package/dist-es/toolbar/internal/renderToolbarItems.js.map +1 -1
- package/dist-es/toolbar/internal/renderTrayTools.js +4 -4
- package/dist-es/toolbar/internal/renderTrayTools.js.map +1 -1
- package/dist-es/toolbar/overflow-panel/OverflowPanel.js +2 -5
- package/dist-es/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
- package/dist-types/breadcrumbs/Breadcrumb.d.ts +2 -2
- package/dist-types/breadcrumbs/Breadcrumbs.d.ts +2 -2
- package/dist-types/color-chooser/HexInput.d.ts +2 -1
- package/dist-types/color-chooser/HexInputField.d.ts +2 -1
- package/dist-types/color-chooser/RGBAInputField.d.ts +2 -1
- package/dist-types/color-chooser/Swatches.d.ts +2 -1
- package/dist-types/color-chooser/SwatchesPicker.d.ts +2 -1
- package/dist-types/common-hooks/keyUtils.d.ts +3 -3
- package/dist-types/common-hooks/selectionTypes.d.ts +5 -5
- package/dist-types/common-hooks/useTypeahead.d.ts +2 -1
- package/dist-types/contact-details/internal/FavoriteToggle.d.ts +3 -4
- package/dist-types/form-field-legacy/FormHelperText.d.ts +3 -3
- package/dist-types/index.d.ts +1 -0
- package/dist-types/list/listTypes.d.ts +3 -4
- package/dist-types/slider/internal/useSliderKeyDown.d.ts +2 -1
- package/dist-types/system-status/SystemStatus.d.ts +9 -0
- package/dist-types/system-status/SystemStatusActions.d.ts +9 -0
- package/dist-types/system-status/SystemStatusContent.d.ts +9 -0
- package/dist-types/system-status/index.d.ts +3 -0
- package/dist-types/tabs/Tabstrip.d.ts +1 -2
- package/dist-types/toolbar/overflow-panel/OverflowPanel.d.ts +1 -2
- package/package.json +2 -2
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var core = require('@salt-ds/core');
|
|
6
6
|
var copy = require('clipboard-copy');
|
|
7
|
-
var
|
|
7
|
+
var react = require('react');
|
|
8
8
|
var escapeRegExp = require('../utils/escapeRegExp.js');
|
|
9
9
|
var calcFirstHiddenIndex = require('./internal/calcFirstHiddenIndex.js');
|
|
10
10
|
var useResizeObserver = require('./internal/useResizeObserver.js');
|
|
@@ -68,25 +68,25 @@ function useTokenizedInputNext(props) {
|
|
|
68
68
|
} = props;
|
|
69
69
|
const density = core.useDensity();
|
|
70
70
|
const id = core.useId(idProp);
|
|
71
|
-
const [focused, setFocused] =
|
|
72
|
-
const [pillGroupWidth, setPillGroupWidth] =
|
|
73
|
-
const [firstHiddenIndex, setFirstHiddenIndex] =
|
|
74
|
-
const [activeIndices, setActiveIndices] =
|
|
75
|
-
const [highlightedIndex, setHighlightedIndex] =
|
|
71
|
+
const [focused, setFocused] = react.useState(false);
|
|
72
|
+
const [pillGroupWidth, setPillGroupWidth] = react.useState(null);
|
|
73
|
+
const [firstHiddenIndex, setFirstHiddenIndex] = react.useState(null);
|
|
74
|
+
const [activeIndices, setActiveIndices] = react.useState([]);
|
|
75
|
+
const [highlightedIndex, setHighlightedIndex] = react.useState(
|
|
76
76
|
void 0
|
|
77
77
|
);
|
|
78
78
|
const [expandButtonHookRef, expandButtonWidth] = useWidth.useWidth(density);
|
|
79
79
|
const [clearButtonRef, clearButtonWidth] = useWidth.useWidth(density);
|
|
80
80
|
const [statusAdornmentRef, statusAdornmentWidth] = useWidth.useWidth(density);
|
|
81
81
|
const [inputRef, inputWidth] = useWidth.useWidth(density);
|
|
82
|
-
const containerRef =
|
|
83
|
-
const pillsRef =
|
|
84
|
-
const textAreaRef =
|
|
85
|
-
const preventBlurOnCopy =
|
|
82
|
+
const containerRef = react.useRef(null);
|
|
83
|
+
const pillsRef = react.useRef({});
|
|
84
|
+
const textAreaRef = react.useRef(null);
|
|
85
|
+
const preventBlurOnCopy = react.useRef(false);
|
|
86
86
|
const expandButtonRef = core.useForkRef(expandButtonHookRef, expandButtonRefProp);
|
|
87
87
|
const hasActiveItems = Boolean(activeIndices.length);
|
|
88
88
|
const primaryDelimiter = delimiters[0];
|
|
89
|
-
const delimiterRegex =
|
|
89
|
+
const delimiterRegex = react.useMemo(
|
|
90
90
|
() => new RegExp(delimiters.map(escapeRegExp.escapeRegExp).join("|"), "gi"),
|
|
91
91
|
[delimiters]
|
|
92
92
|
);
|
|
@@ -110,7 +110,7 @@ function useTokenizedInputNext(props) {
|
|
|
110
110
|
});
|
|
111
111
|
const widthOffset = inputWidth + statusAdornmentWidth + (expanded ? clearButtonWidth : expandButtonWidth);
|
|
112
112
|
const containerObserverRef = useResizeObserver.useResizeObserver(
|
|
113
|
-
|
|
113
|
+
react.useCallback(
|
|
114
114
|
([{ contentRect }]) => {
|
|
115
115
|
const padding = useWidth.getPadding(containerRef.current);
|
|
116
116
|
setPillGroupWidth(contentRect.width - padding - widthOffset);
|
|
@@ -141,7 +141,7 @@ function useTokenizedInputNext(props) {
|
|
|
141
141
|
},
|
|
142
142
|
[expanded, pillGroupWidth, selectedItems]
|
|
143
143
|
);
|
|
144
|
-
const focusInput =
|
|
144
|
+
const focusInput = react.useCallback(() => {
|
|
145
145
|
if (textAreaRef.current) {
|
|
146
146
|
textAreaRef.current.focus();
|
|
147
147
|
}
|
|
@@ -151,7 +151,7 @@ function useTokenizedInputNext(props) {
|
|
|
151
151
|
setValue(newValue);
|
|
152
152
|
}
|
|
153
153
|
};
|
|
154
|
-
const updateSelectedItems =
|
|
154
|
+
const updateSelectedItems = react.useCallback(
|
|
155
155
|
(event, action) => {
|
|
156
156
|
if (!isSelectionControlled) {
|
|
157
157
|
setSelectedItems((prevSelectedItems) => {
|
|
@@ -186,7 +186,7 @@ function useTokenizedInputNext(props) {
|
|
|
186
186
|
setHighlightedIndex(void 0);
|
|
187
187
|
setActiveIndices([]);
|
|
188
188
|
};
|
|
189
|
-
const removeItems =
|
|
189
|
+
const removeItems = react.useCallback(
|
|
190
190
|
(event, itemIndices) => {
|
|
191
191
|
updateSelectedItems(
|
|
192
192
|
event,
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
var core = require('@salt-ds/core');
|
|
7
7
|
var clsx = require('clsx');
|
|
8
|
-
var
|
|
8
|
+
var react = require('react');
|
|
9
9
|
var OverflowPanel = require('./overflow-panel/OverflowPanel.js');
|
|
10
10
|
var OverflowSeparator = require('./overflow-panel/OverflowSeparator.js');
|
|
11
11
|
var overflowUtils = require('../responsive/overflowUtils.js');
|
|
@@ -19,7 +19,7 @@ var window = require('@salt-ds/window');
|
|
|
19
19
|
var Toolbar$1 = require('./Toolbar.css.js');
|
|
20
20
|
|
|
21
21
|
const classBase = "saltToolbar";
|
|
22
|
-
const Toolbar =
|
|
22
|
+
const Toolbar = react.forwardRef(
|
|
23
23
|
function Toolbar2(props, ref) {
|
|
24
24
|
const {
|
|
25
25
|
TooltipComponent,
|
|
@@ -43,7 +43,7 @@ const Toolbar = React.forwardRef(
|
|
|
43
43
|
window: targetWindow
|
|
44
44
|
});
|
|
45
45
|
const toolbarId = core.useIdMemo(idProp);
|
|
46
|
-
const containerRef =
|
|
46
|
+
const containerRef = react.useRef(null);
|
|
47
47
|
const setContainerRef = core.useForkRef(ref, containerRef);
|
|
48
48
|
const collectionHook = useOverflowCollectionItems.useOverflowCollectionItems({
|
|
49
49
|
children,
|
|
@@ -65,9 +65,9 @@ const Toolbar = React.forwardRef(
|
|
|
65
65
|
const tooltrayProps = element.props;
|
|
66
66
|
const nestedElements = tooltrayProps.children;
|
|
67
67
|
items.push(
|
|
68
|
-
...
|
|
68
|
+
...react.Children.map(
|
|
69
69
|
nestedElements,
|
|
70
|
-
(el) =>
|
|
70
|
+
(el) => react.cloneElement(el, {
|
|
71
71
|
"data-is-inside-panel": true,
|
|
72
72
|
key: id
|
|
73
73
|
})
|
|
@@ -78,7 +78,7 @@ const Toolbar = React.forwardRef(
|
|
|
78
78
|
}
|
|
79
79
|
} else {
|
|
80
80
|
items.push(
|
|
81
|
-
|
|
81
|
+
react.cloneElement(element, {
|
|
82
82
|
key: id,
|
|
83
83
|
"data-is-inside-panel": true
|
|
84
84
|
})
|
|
@@ -4,12 +4,12 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
var core = require('@salt-ds/core');
|
|
7
|
-
var
|
|
7
|
+
var react = require('react');
|
|
8
8
|
var styles = require('@salt-ds/styles');
|
|
9
9
|
var window = require('@salt-ds/window');
|
|
10
10
|
var ToolbarButton$1 = require('./ToolbarButton.css.js');
|
|
11
11
|
|
|
12
|
-
const ToolbarButton =
|
|
12
|
+
const ToolbarButton = react.forwardRef(
|
|
13
13
|
function ToolbarButton2({ label, ...props }, forwardedRef) {
|
|
14
14
|
const targetWindow = window.useWindow();
|
|
15
15
|
styles.useComponentCssInjection({
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
var core = require('@salt-ds/core');
|
|
7
7
|
var clsx = require('clsx');
|
|
8
|
-
var
|
|
8
|
+
var react = require('react');
|
|
9
9
|
var OverflowPanel = require('./overflow-panel/OverflowPanel.js');
|
|
10
10
|
var useOverflowCollectionItems = require('../responsive/useOverflowCollectionItems.js');
|
|
11
11
|
var useOverflowLayout = require('../responsive/useOverflowLayout.js');
|
|
@@ -59,7 +59,7 @@ const Tooltray = (props) => {
|
|
|
59
59
|
});
|
|
60
60
|
const overflowedItems = collapsed ? collectionHook.data.filter((item) => !item.isOverflowIndicator) : collectionHook.data.filter((item) => item.overflowed);
|
|
61
61
|
const overflowMenuItems = overflowedItems.map(
|
|
62
|
-
(i) =>
|
|
62
|
+
(i) => react.cloneElement(collectionHook.data[i.index].element, {
|
|
63
63
|
"data-is-inside-panel": true,
|
|
64
64
|
key: i.index
|
|
65
65
|
})
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
var
|
|
6
|
+
var react = require('react');
|
|
7
7
|
var ToolbarField = require('../toolbar-field/ToolbarField.js');
|
|
8
8
|
var Tooltray = require('../Tooltray.js');
|
|
9
9
|
require('@salt-ds/core');
|
|
@@ -11,10 +11,6 @@ var overflowUtils = require('../../responsive/overflowUtils.js');
|
|
|
11
11
|
require('../../responsive/useResizeObserver.js');
|
|
12
12
|
var utils = require('../../responsive/utils.js');
|
|
13
13
|
|
|
14
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
15
|
-
|
|
16
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
17
|
-
|
|
18
14
|
const renderToolbarItems = (collectionHook, overflowedItems, orientation) => {
|
|
19
15
|
let centerAlign = false;
|
|
20
16
|
let rightAlign = false;
|
|
@@ -62,14 +58,14 @@ const renderToolbarItems = (collectionHook, overflowedItems, orientation) => {
|
|
|
62
58
|
orientation
|
|
63
59
|
};
|
|
64
60
|
if (item.element.type === Tooltray.Tooltray) {
|
|
65
|
-
return
|
|
61
|
+
return react.cloneElement(item.element, toolbarItemProps);
|
|
66
62
|
}
|
|
67
63
|
switch (item.element.type) {
|
|
68
64
|
case ToolbarField.ToolbarField: {
|
|
69
65
|
const props2 = item.element.props;
|
|
70
|
-
return
|
|
66
|
+
return react.cloneElement(item.element, {
|
|
71
67
|
...toolbarItemProps,
|
|
72
|
-
children:
|
|
68
|
+
children: react.cloneElement(props2.children, {
|
|
73
69
|
id: `toolbar-control-${item.id}`
|
|
74
70
|
})
|
|
75
71
|
});
|
|
@@ -79,7 +75,7 @@ const renderToolbarItems = (collectionHook, overflowedItems, orientation) => {
|
|
|
79
75
|
return /* @__PURE__ */ jsxRuntime.jsx(ToolbarField.ToolbarField, {
|
|
80
76
|
...responsiveProps,
|
|
81
77
|
...toolbarItemProps,
|
|
82
|
-
children:
|
|
78
|
+
children: react.cloneElement(item.element, {
|
|
83
79
|
...componentProps,
|
|
84
80
|
id: `toolbar-control-${item.id}`
|
|
85
81
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderToolbarItems.js","sources":["../src/toolbar/internal/renderToolbarItems.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"renderToolbarItems.js","sources":["../src/toolbar/internal/renderToolbarItems.tsx"],"sourcesContent":["import { type HTMLAttributes, type ReactElement, cloneElement } from \"react\";\n\nimport type { ToolbarAlignmentProps } from \"../ToolbarProps\";\nimport { ToolbarField, type ToolbarFieldProps } from \"../toolbar-field\";\n\nimport { Tooltray } from \"../Tooltray\";\n\nimport {\n type OverflowCollectionHookResult,\n type OverflowItem,\n isCollapsedOrCollapsing,\n liftResponsivePropsToFormField,\n type orientationType,\n} from \"../../responsive\";\n\n// These are the props we use for item alignment, either from individual element\n// declarations - e.g Tooltray (alignLeft etc) or generic data- attributes\ninterface ToolbarElementProps\n extends ToolbarAlignmentProps,\n HTMLAttributes<HTMLDivElement> {\n \"data-align-center\"?: boolean;\n \"data-align-end\"?: boolean;\n \"data-align-start\"?: boolean;\n \"data-priority\"?: number;\n}\n\nexport const renderToolbarItems = (\n collectionHook: OverflowCollectionHookResult,\n overflowedItems: OverflowItem[],\n orientation: orientationType,\n): JSX.Element[] => {\n let centerAlign = false;\n let rightAlign = false;\n\n const items = collectionHook.data;\n const collapseItems = items.filter(isCollapsedOrCollapsing);\n\n return items\n .filter((item) => !item.isOverflowIndicator)\n .map((item: OverflowItem, index) => {\n const props = item.element.props as ToolbarElementProps;\n const overflowed =\n overflowedItems.findIndex((item) => item.index === index) === -1\n ? undefined\n : true;\n const collapseItem = collapseItems.find((item) => item.index === index);\n const collapsed = collapseItem?.collapsed || undefined;\n const collapsing = collapseItem?.collapsing || undefined;\n\n const {\n alignCenter: alignCenterProp,\n alignEnd: alignEndProp,\n alignStart: alignStartProp,\n \"data-align-center\": alignCenter = alignCenterProp,\n \"data-align-end\": alignEnd = alignEndProp,\n \"data-align-start\": alignStart = alignStartProp,\n } = props;\n\n let dataPadStart = false;\n let dataPadEnd = false;\n if (alignCenter && !centerAlign) {\n centerAlign = true;\n dataPadStart = true;\n } else if (centerAlign && !alignCenter) {\n rightAlign = true;\n dataPadStart = true;\n } else if (alignEnd && !rightAlign) {\n rightAlign = true;\n dataPadStart = true;\n } else if (alignStart) {\n dataPadEnd = true;\n }\n\n const toolbarItemProps = {\n id: item.id,\n key: item.id,\n \"data-index\": index,\n \"data-priority\": props[\"data-priority\"] ?? 2,\n \"data-pad-start\": dataPadStart || undefined,\n \"data-pad-end\": dataPadEnd || undefined,\n \"data-collapsed\": collapsed,\n \"data-collapsing\": collapsing,\n \"data-overflowed\": overflowed,\n orientation,\n };\n\n if (item.element.type === Tooltray) {\n return cloneElement(item.element, toolbarItemProps);\n }\n switch (item.element.type) {\n case ToolbarField: {\n const props = item.element.props as ToolbarFieldProps;\n return cloneElement(item.element, {\n ...toolbarItemProps,\n children: cloneElement(props.children as ReactElement, {\n // Inject an id that nested Control can use to query status via context\n id: `toolbar-control-${item.id}`,\n }),\n } as ToolbarFieldProps);\n }\n default: {\n const [responsiveProps, componentProps] =\n liftResponsivePropsToFormField(item.element.props);\n\n return (\n <ToolbarField {...responsiveProps} {...toolbarItemProps}>\n {cloneElement(item.element, {\n ...componentProps,\n // Inject an id that nested Control can use to query status via context\n id: `toolbar-control-${item.id}`,\n })}\n </ToolbarField>\n );\n }\n }\n });\n};\n"],"names":["isCollapsedOrCollapsing","item","Tooltray","cloneElement","ToolbarField","props","liftResponsivePropsToFormField","jsx"],"mappings":"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"}
|
|
@@ -2,14 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var react = require('react');
|
|
6
6
|
var utils = require('../../responsive/utils.js');
|
|
7
7
|
var ToolbarField = require('../toolbar-field/ToolbarField.js');
|
|
8
8
|
|
|
9
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
10
|
-
|
|
11
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
12
|
-
|
|
13
9
|
const renderTrayTools = (collectionHook, overflowedItems, orientation, collapsed) => {
|
|
14
10
|
if (collapsed) {
|
|
15
11
|
return [];
|
|
@@ -29,30 +25,30 @@ const renderTrayTools = (collectionHook, overflowedItems, orientation, collapsed
|
|
|
29
25
|
orientation
|
|
30
26
|
};
|
|
31
27
|
if (item.element.type === ToolbarField.ToolbarField) {
|
|
32
|
-
return
|
|
28
|
+
return react.cloneElement(item.element, {
|
|
33
29
|
key: index,
|
|
34
30
|
...toolbarItemProps
|
|
35
31
|
});
|
|
36
32
|
}
|
|
37
33
|
if (Object.keys(props).some(utils.isResponsiveAttribute)) {
|
|
38
34
|
const [toolbarProps, restProps] = utils.liftResponsivePropsToFormField(props);
|
|
39
|
-
return /* @__PURE__ */
|
|
35
|
+
return /* @__PURE__ */ react.createElement(ToolbarField.ToolbarField, {
|
|
40
36
|
...toolbarProps,
|
|
41
37
|
...toolbarItemProps,
|
|
42
38
|
"data-index": index,
|
|
43
39
|
"data-priority": 2,
|
|
44
40
|
key: index,
|
|
45
41
|
"data-orientation": orientation
|
|
46
|
-
},
|
|
42
|
+
}, react.cloneElement(item.element, { ...restProps }));
|
|
47
43
|
}
|
|
48
|
-
return /* @__PURE__ */
|
|
44
|
+
return /* @__PURE__ */ react.createElement(ToolbarField.ToolbarField, {
|
|
49
45
|
...toolbarItemProps,
|
|
50
46
|
"data-index": index,
|
|
51
47
|
"data-overflowed": overflowed,
|
|
52
48
|
"data-priority": 2,
|
|
53
49
|
key: index,
|
|
54
50
|
"data-orientation": orientation
|
|
55
|
-
},
|
|
51
|
+
}, react.cloneElement(item.element, {
|
|
56
52
|
id: `tooltray-control-${item.id}`
|
|
57
53
|
}));
|
|
58
54
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderTrayTools.js","sources":["../src/toolbar/internal/renderTrayTools.tsx"],"sourcesContent":["import React, { type ReactNode } from \"react\";\nimport type {\n OverflowCollectionHookResult,\n OverflowItem,\n} from \"../../responsive/overflowTypes\";\nimport {\n isResponsiveAttribute,\n liftResponsivePropsToFormField,\n} from \"../../responsive/utils\";\nimport type { OrientationShape } from \"../ToolbarProps\";\nimport { ToolbarField } from \"../toolbar-field/ToolbarField\";\n\ntype TooltrayItem = {\n \"data-priority\"?: number | string;\n className: string;\n};\n\nexport const renderTrayTools = (\n collectionHook: OverflowCollectionHookResult,\n overflowedItems: OverflowItem[],\n orientation: OrientationShape,\n collapsed?: boolean | string,\n): ReactNode => {\n if (collapsed) {\n return [];\n }\n\n let index = -1;\n\n const items = collectionHook.data.filter((item) => !item.isOverflowIndicator);\n\n return items.map((item) => {\n index += 1;\n const props = item.element.props as TooltrayItem;\n\n const overflowed =\n overflowedItems.findIndex((i) => i.index === index) === -1\n ? undefined\n : true;\n\n const toolbarItemProps = {\n \"data-index\": index,\n \"data-priority\": props[\"data-priority\"] ?? 2,\n \"data-overflowed\": overflowed,\n id: item.id,\n orientation,\n };\n if (item.element.type === ToolbarField) {\n return
|
|
1
|
+
{"version":3,"file":"renderTrayTools.js","sources":["../src/toolbar/internal/renderTrayTools.tsx"],"sourcesContent":["import React, { cloneElement, type ReactNode } from \"react\";\nimport type {\n OverflowCollectionHookResult,\n OverflowItem,\n} from \"../../responsive/overflowTypes\";\nimport {\n isResponsiveAttribute,\n liftResponsivePropsToFormField,\n} from \"../../responsive/utils\";\nimport type { OrientationShape } from \"../ToolbarProps\";\nimport { ToolbarField } from \"../toolbar-field/ToolbarField\";\n\ntype TooltrayItem = {\n \"data-priority\"?: number | string;\n className: string;\n};\n\nexport const renderTrayTools = (\n collectionHook: OverflowCollectionHookResult,\n overflowedItems: OverflowItem[],\n orientation: OrientationShape,\n collapsed?: boolean | string,\n): ReactNode => {\n if (collapsed) {\n return [];\n }\n\n let index = -1;\n\n const items = collectionHook.data.filter((item) => !item.isOverflowIndicator);\n\n return items.map((item) => {\n index += 1;\n const props = item.element.props as TooltrayItem;\n\n const overflowed =\n overflowedItems.findIndex((i) => i.index === index) === -1\n ? undefined\n : true;\n\n const toolbarItemProps = {\n \"data-index\": index,\n \"data-priority\": props[\"data-priority\"] ?? 2,\n \"data-overflowed\": overflowed,\n id: item.id,\n orientation,\n };\n if (item.element.type === ToolbarField) {\n return cloneElement(item.element, {\n key: index,\n ...toolbarItemProps,\n });\n }\n if (Object.keys(props).some(isResponsiveAttribute)) {\n const [toolbarProps, restProps] = liftResponsivePropsToFormField(props);\n return (\n <ToolbarField\n {...toolbarProps}\n {...toolbarItemProps}\n // don't think we need the data-index\n data-index={index}\n data-priority={2}\n key={index}\n data-orientation={orientation}\n >\n {/* We clone here just to remove the responsive props */}\n {cloneElement(item.element, { ...restProps })}\n </ToolbarField>\n );\n }\n return (\n <ToolbarField\n {...toolbarItemProps}\n data-index={index}\n data-overflowed={overflowed}\n data-priority={2}\n key={index}\n data-orientation={orientation}\n >\n {cloneElement(item.element, {\n id: `tooltray-control-${item.id}`,\n })}\n </ToolbarField>\n );\n });\n};\n"],"names":["ToolbarField","cloneElement","isResponsiveAttribute","liftResponsivePropsToFormField","createElement"],"mappings":";;;;;;;;AAiBO,MAAM,eAAkB,GAAA,CAC7B,cACA,EAAA,eAAA,EACA,aACA,SACc,KAAA;AACd,EAAA,IAAI,SAAW,EAAA;AACb,IAAA,OAAO,EAAC,CAAA;AAAA,GACV;AAEA,EAAA,IAAI,KAAQ,GAAA,CAAA,CAAA,CAAA;AAEZ,EAAM,MAAA,KAAA,GAAQ,eAAe,IAAK,CAAA,MAAA,CAAO,CAAC,IAAS,KAAA,CAAC,KAAK,mBAAmB,CAAA,CAAA;AAE5E,EAAO,OAAA,KAAA,CAAM,GAAI,CAAA,CAAC,IAAS,KAAA;AA/B7B,IAAA,IAAA,EAAA,CAAA;AAgCI,IAAS,KAAA,IAAA,CAAA,CAAA;AACT,IAAM,MAAA,KAAA,GAAQ,KAAK,OAAQ,CAAA,KAAA,CAAA;AAE3B,IAAM,MAAA,UAAA,GACJ,eAAgB,CAAA,SAAA,CAAU,CAAC,CAAA,KAAM,EAAE,KAAU,KAAA,KAAK,CAAM,KAAA,CAAA,CAAA,GACpD,KACA,CAAA,GAAA,IAAA,CAAA;AAEN,IAAA,MAAM,gBAAmB,GAAA;AAAA,MACvB,YAAc,EAAA,KAAA;AAAA,MACd,eAAA,EAAA,CAAiB,EAAM,GAAA,KAAA,CAAA,eAAA,CAAA,KAAN,IAA0B,GAAA,EAAA,GAAA,CAAA;AAAA,MAC3C,iBAAmB,EAAA,UAAA;AAAA,MACnB,IAAI,IAAK,CAAA,EAAA;AAAA,MACT,WAAA;AAAA,KACF,CAAA;AACA,IAAI,IAAA,IAAA,CAAK,OAAQ,CAAA,IAAA,KAASA,yBAAc,EAAA;AACtC,MAAO,OAAAC,kBAAA,CAAa,KAAK,OAAS,EAAA;AAAA,QAChC,GAAK,EAAA,KAAA;AAAA,QACL,GAAG,gBAAA;AAAA,OACJ,CAAA,CAAA;AAAA,KACH;AACA,IAAA,IAAI,OAAO,IAAK,CAAA,KAAK,CAAE,CAAA,IAAA,CAAKC,2BAAqB,CAAG,EAAA;AAClD,MAAA,MAAM,CAAC,YAAA,EAAc,SAAS,CAAA,GAAIC,qCAA+B,KAAK,CAAA,CAAA;AACtE,MAAA,uBACGC,mBAAA,CAAAJ,yBAAA,EAAA;AAAA,QACE,GAAG,YAAA;AAAA,QACH,GAAG,gBAAA;AAAA,QAEJ,YAAY,EAAA,KAAA;AAAA,QACZ,eAAe,EAAA,CAAA;AAAA,QACf,GAAK,EAAA,KAAA;AAAA,QACL,kBAAkB,EAAA,WAAA;AAAA,OAAA,EAGjBC,mBAAa,IAAK,CAAA,OAAA,EAAS,EAAE,GAAG,SAAA,EAAW,CAC9C,CAAA,CAAA;AAAA,KAEJ;AACA,IAAA,uBACGG,mBAAA,CAAAJ,yBAAA,EAAA;AAAA,MACE,GAAG,gBAAA;AAAA,MACJ,YAAY,EAAA,KAAA;AAAA,MACZ,iBAAiB,EAAA,UAAA;AAAA,MACjB,eAAe,EAAA,CAAA;AAAA,MACf,GAAK,EAAA,KAAA;AAAA,MACL,kBAAkB,EAAA,WAAA;AAAA,KAEjB,EAAAC,kBAAA,CAAa,KAAK,OAAS,EAAA;AAAA,MAC1B,EAAA,EAAI,oBAAoB,IAAK,CAAA,EAAA,CAAA,CAAA;AAAA,KAC9B,CACH,CAAA,CAAA;AAAA,GAEH,CAAA,CAAA;AACH;;;;"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
var
|
|
6
|
+
var react = require('react');
|
|
7
7
|
var core = require('@salt-ds/core');
|
|
8
8
|
var icons = require('@salt-ds/icons');
|
|
9
9
|
var clsx = require('clsx');
|
|
@@ -22,12 +22,8 @@ var styles = require('@salt-ds/styles');
|
|
|
22
22
|
var window = require('@salt-ds/window');
|
|
23
23
|
var OverflowPanel$1 = require('./OverflowPanel.css.js');
|
|
24
24
|
|
|
25
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
26
|
-
|
|
27
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
28
|
-
|
|
29
25
|
const withBaseName = core.makePrefixer("saltOverflowPanel");
|
|
30
|
-
const OverflowPanel =
|
|
26
|
+
const OverflowPanel = react.forwardRef(function DropdownPanel({
|
|
31
27
|
children,
|
|
32
28
|
className,
|
|
33
29
|
defaultIsOpen,
|
|
@@ -48,7 +44,7 @@ const OverflowPanel = React.forwardRef(function DropdownPanel({
|
|
|
48
44
|
id,
|
|
49
45
|
children
|
|
50
46
|
});
|
|
51
|
-
const triggerRef =
|
|
47
|
+
const triggerRef = react.useRef(null);
|
|
52
48
|
const [isOpen, setIsOpen] = core.useControlled({
|
|
53
49
|
controlled: isOpenProp,
|
|
54
50
|
default: defaultIsOpen || false,
|
|
@@ -60,12 +56,12 @@ const OverflowPanel = React.forwardRef(function DropdownPanel({
|
|
|
60
56
|
focusOnHighlight: true,
|
|
61
57
|
indexPositions: collectionHook.data
|
|
62
58
|
});
|
|
63
|
-
const focusTrigger =
|
|
59
|
+
const focusTrigger = react.useCallback(() => {
|
|
64
60
|
if (triggerRef.current) {
|
|
65
61
|
triggerRef.current.focus();
|
|
66
62
|
}
|
|
67
63
|
}, []);
|
|
68
|
-
const setPanelRef =
|
|
64
|
+
const setPanelRef = react.useCallback((el) => el == null ? void 0 : el.focus(), []);
|
|
69
65
|
const handleItemClick = (evt) => {
|
|
70
66
|
setIsOpen(false);
|
|
71
67
|
focusTrigger();
|
|
@@ -108,12 +104,9 @@ const OverflowPanel = React.forwardRef(function DropdownPanel({
|
|
|
108
104
|
onClick: handleItemClick
|
|
109
105
|
};
|
|
110
106
|
if (type === ToolbarField.ToolbarField) {
|
|
111
|
-
return
|
|
112
|
-
item.value,
|
|
113
|
-
formFieldProps
|
|
114
|
-
);
|
|
107
|
+
return react.cloneElement(item.value, formFieldProps);
|
|
115
108
|
}
|
|
116
|
-
return /* @__PURE__ */
|
|
109
|
+
return /* @__PURE__ */ react.createElement(ToolbarField.ToolbarField, {
|
|
117
110
|
...formFieldProps,
|
|
118
111
|
key: item.id
|
|
119
112
|
}, item.value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OverflowPanel.js","sources":["../src/toolbar/overflow-panel/OverflowPanel.tsx"],"sourcesContent":["import {\n Button,\n makePrefixer,\n useControlled,\n useIdMemo as useId,\n} from \"@salt-ds/core\";\nimport { OverflowMenuIcon } from \"@salt-ds/icons\";\nimport { clsx } from \"clsx\";\nimport
|
|
1
|
+
{"version":3,"file":"OverflowPanel.js","sources":["../src/toolbar/overflow-panel/OverflowPanel.tsx"],"sourcesContent":["import {\n Button,\n makePrefixer,\n useControlled,\n useIdMemo as useId,\n} from \"@salt-ds/core\";\nimport { OverflowMenuIcon } from \"@salt-ds/icons\";\nimport { clsx } from \"clsx\";\nimport {\n type ForwardedRef,\n type MouseEvent,\n type ReactElement,\n cloneElement,\n forwardRef,\n useCallback,\n useRef,\n} from \"react\";\nimport { ToolbarField, type ToolbarFieldProps } from \"../toolbar-field\";\nimport { OverflowSeparator } from \"./OverflowSeparator\";\n\nimport {\n useCollectionItems,\n useKeyboardNavigationPanel,\n} from \"../../common-hooks\";\n\nimport { DropdownBase, type DropdownBaseProps } from \"../../dropdown\";\n\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport overflowPanelCss from \"./OverflowPanel.css\";\n\nconst withBaseName = makePrefixer(\"saltOverflowPanel\");\n\nexport interface DropdownPanelProps extends DropdownBaseProps {\n /**\n * Trigger button icon\n */\n triggerButtonIcon?: JSX.Element;\n /**\n * Trigger button text\n */\n triggerButtonLabel?: string;\n}\n\nexport const OverflowPanel = forwardRef(function DropdownPanel(\n {\n children,\n className,\n defaultIsOpen,\n isOpen: isOpenProp,\n onOpenChange,\n triggerButtonIcon,\n triggerButtonLabel,\n ...props\n }: DropdownPanelProps,\n forwardedRef?: ForwardedRef<HTMLDivElement>,\n) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-overflow-panel\",\n css: overflowPanelCss,\n window: targetWindow,\n });\n\n const id = useId();\n const collectionHook = useCollectionItems<ReactElement>({\n id,\n children,\n });\n\n const triggerRef = useRef<HTMLButtonElement>(null);\n const [isOpen, setIsOpen] = useControlled<boolean>({\n controlled: isOpenProp,\n default: defaultIsOpen || false,\n name: \"DropdownPanel\",\n });\n\n const { highlightedIndex: highlightedIdx, ...keyboardHook } =\n useKeyboardNavigationPanel({\n cycleFocus: true,\n defaultHighlightedIndex: 0,\n focusOnHighlight: true,\n indexPositions: collectionHook.data,\n });\n\n const focusTrigger = useCallback(() => {\n if (triggerRef.current) {\n triggerRef.current.focus();\n }\n }, []);\n\n const setPanelRef = useCallback((el: HTMLElement | null) => el?.focus(), []);\n\n const handleItemClick = (evt: MouseEvent) => {\n // if (sourceItem.props[\"data-close-on-click\"] !== false) closeMenu();\n setIsOpen(false);\n focusTrigger();\n };\n\n const handleOpenChange = (open: boolean) => {\n setIsOpen(open);\n onOpenChange?.(open);\n };\n\n const getTriggerButtonIcon = () =>\n triggerButtonIcon ?? triggerButtonLabel === undefined ? (\n <OverflowMenuIcon />\n ) : undefined;\n\n return (\n <DropdownBase\n {...props}\n className={clsx(withBaseName(), className)}\n isOpen={isOpen}\n onOpenChange={handleOpenChange}\n placement=\"bottom-end\"\n ref={forwardedRef}\n >\n <Button variant=\"secondary\" ref={triggerRef}>\n {getTriggerButtonIcon()}\n {triggerButtonLabel}\n </Button>\n <div\n className={withBaseName(\"content\")}\n ref={setPanelRef}\n tabIndex={-1}\n {...keyboardHook.listProps}\n >\n {collectionHook.data.map((item) => {\n const { type } = item.value as ReactElement;\n if (type === OverflowSeparator) {\n return item.value;\n }\n const formFieldProps = {\n id: item.id,\n inOverflowPanel: true,\n key: item.id,\n onClick: handleItemClick,\n } as ToolbarFieldProps;\n\n if (type === ToolbarField) {\n return cloneElement(item.value as ReactElement, formFieldProps);\n }\n return (\n <ToolbarField {...formFieldProps} key={item.id}>\n {item.value}\n </ToolbarField>\n );\n })}\n </div>\n </DropdownBase>\n );\n});\n"],"names":["makePrefixer","forwardRef","useWindow","useComponentCssInjection","overflowPanelCss","useId","useCollectionItems","useRef","useControlled","useKeyboardNavigationPanel","useCallback","jsx","OverflowMenuIcon","jsxs","DropdownBase","clsx","Button","OverflowSeparator","ToolbarField","cloneElement","createElement"],"mappings":"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"}
|
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
var
|
|
6
|
+
var react = require('react');
|
|
7
7
|
var useToolbarField = require('./useToolbarField.js');
|
|
8
8
|
var FormFieldLegacy = require('../../form-field-legacy/FormFieldLegacy.js');
|
|
9
9
|
require('../../form-field-legacy/FormLabel.js');
|
|
10
10
|
|
|
11
|
-
const ToolbarField =
|
|
11
|
+
const ToolbarField = react.forwardRef(function ToolbarField2(props, forwardedRef) {
|
|
12
12
|
const toolbarFieldProps = useToolbarField.useToolbarField(props);
|
|
13
13
|
return /* @__PURE__ */ jsxRuntime.jsx(FormFieldLegacy.FormFieldLegacy, {
|
|
14
14
|
...toolbarFieldProps,
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var clsx = require('clsx');
|
|
6
|
-
var
|
|
6
|
+
var react = require('react');
|
|
7
7
|
var ToolbarButton = require('../ToolbarButton.js');
|
|
8
8
|
|
|
9
9
|
const NullActivationIndicator = () => null;
|
|
10
10
|
const primaryControls = ["Dropdown", "Input"];
|
|
11
11
|
const getChildElementName = (element) => {
|
|
12
|
-
if (
|
|
12
|
+
if (react.isValidElement(element)) {
|
|
13
13
|
const { type } = element;
|
|
14
14
|
if (typeof type === "string") {
|
|
15
15
|
return type;
|
|
@@ -26,12 +26,12 @@ const getChildElementName = (element) => {
|
|
|
26
26
|
"useToolbarField, child of ToolbarField is not valid ReactElememnt"
|
|
27
27
|
);
|
|
28
28
|
};
|
|
29
|
-
const isToolbarButton = (element) =>
|
|
29
|
+
const isToolbarButton = (element) => react.isValidElement(element) && element.type === ToolbarButton.ToolbarButton;
|
|
30
30
|
const getToolbarFormFieldProps = (child, isOverflowPanel = false) => {
|
|
31
31
|
let activationIndicator = NullActivationIndicator;
|
|
32
32
|
let variant = "tertiary";
|
|
33
33
|
const element = child;
|
|
34
|
-
if (
|
|
34
|
+
if (react.isValidElement(element)) {
|
|
35
35
|
const name = getChildElementName(element);
|
|
36
36
|
if (primaryControls.includes(name)) {
|
|
37
37
|
activationIndicator = void 0;
|
|
@@ -60,7 +60,7 @@ const useToolbarField = (props) => {
|
|
|
60
60
|
const childElementName = getChildElementName(props.children);
|
|
61
61
|
const { className, ActivationIndicatorComponent, ...calculatedProps } = getToolbarFormFieldProps(props.children, inOverflowPanel);
|
|
62
62
|
const labelPlacement = labelPlacementProp != null ? labelPlacementProp : inOverflowPanel ? "top" : "left";
|
|
63
|
-
const handleClick =
|
|
63
|
+
const handleClick = react.useCallback(
|
|
64
64
|
(e) => {
|
|
65
65
|
if (onClick && !InteractiveComponents.includes(childElementName)) {
|
|
66
66
|
onClick(e);
|
package/dist-cjs/tree/Tree.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
var
|
|
6
|
+
var react = require('react');
|
|
7
7
|
var core = require('@salt-ds/core');
|
|
8
8
|
var clsx = require('clsx');
|
|
9
9
|
var useAutoSizer = require('../common-hooks/useAutoSizer.js');
|
|
@@ -22,7 +22,7 @@ var window = require('@salt-ds/window');
|
|
|
22
22
|
var Tree$1 = require('./Tree.css.js');
|
|
23
23
|
|
|
24
24
|
const withBaseName = core.makePrefixer("saltTree");
|
|
25
|
-
const Tree =
|
|
25
|
+
const Tree = react.forwardRef(function Tree2({
|
|
26
26
|
className,
|
|
27
27
|
defaultSelected,
|
|
28
28
|
disabled,
|
|
@@ -48,8 +48,8 @@ const Tree = React.forwardRef(function Tree2({
|
|
|
48
48
|
window: targetWindow
|
|
49
49
|
});
|
|
50
50
|
const id = core.useIdMemo(idProp);
|
|
51
|
-
const rootRef =
|
|
52
|
-
const contentRef =
|
|
51
|
+
const rootRef = react.useRef(null);
|
|
52
|
+
const contentRef = react.useRef(null);
|
|
53
53
|
const collectionHook = useCollectionItems.useCollectionItems({
|
|
54
54
|
id,
|
|
55
55
|
source,
|
|
@@ -69,10 +69,10 @@ const Tree = React.forwardRef(function Tree2({
|
|
|
69
69
|
height: preferredHeight,
|
|
70
70
|
width
|
|
71
71
|
});
|
|
72
|
-
const handleSelect =
|
|
72
|
+
const handleSelect = react.useCallback(
|
|
73
73
|
(evt, selectedItem) => {
|
|
74
74
|
if (onSelect) {
|
|
75
|
-
if (
|
|
75
|
+
if (react.isValidElement(selectedItem.value)) {
|
|
76
76
|
onSelect(evt, selectedItem.label);
|
|
77
77
|
} else if (selectedItem.value !== null) {
|
|
78
78
|
onSelect(evt, selectedItem.value);
|
|
@@ -81,7 +81,7 @@ const Tree = React.forwardRef(function Tree2({
|
|
|
81
81
|
},
|
|
82
82
|
[onSelect]
|
|
83
83
|
);
|
|
84
|
-
const handleSelectionChange =
|
|
84
|
+
const handleSelectionChange = react.useCallback(
|
|
85
85
|
(evt, selected2) => {
|
|
86
86
|
if (onSelectionChange) {
|
|
87
87
|
onSelectionChange(
|
|
@@ -158,7 +158,7 @@ const Tree = React.forwardRef(function Tree2({
|
|
|
158
158
|
const item = items[i];
|
|
159
159
|
idx.value += 1;
|
|
160
160
|
list.push(
|
|
161
|
-
/* @__PURE__ */
|
|
161
|
+
/* @__PURE__ */ react.createElement(TreeNode.TreeNode, {
|
|
162
162
|
...defaultItemHandlers,
|
|
163
163
|
...listItemHandlers,
|
|
164
164
|
"aria-disabled": disabled || item.disabled,
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var react = require('react');
|
|
6
6
|
var keyUtils = require('../common-hooks/keyUtils.js');
|
|
7
7
|
|
|
8
8
|
const getNodeParentPath = ({ id }) => {
|
|
@@ -26,7 +26,7 @@ const useKeyboardNavigation = ({
|
|
|
26
26
|
highlightedIdx,
|
|
27
27
|
highlightItemAtIndex
|
|
28
28
|
}) => {
|
|
29
|
-
const handleKeyDown =
|
|
29
|
+
const handleKeyDown = react.useCallback(
|
|
30
30
|
(e) => {
|
|
31
31
|
if (e.key === keyUtils.ArrowLeft) {
|
|
32
32
|
const node = collectionHook.data[highlightedIdx];
|
package/dist-cjs/tree/useTree.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var react = require('react');
|
|
6
6
|
require('@salt-ds/core');
|
|
7
7
|
require('../common-hooks/collectionProvider.js');
|
|
8
8
|
require('../common-hooks/keyUtils.js');
|
|
@@ -26,7 +26,7 @@ const useTree = ({
|
|
|
26
26
|
selected: selectedProp,
|
|
27
27
|
selectionStrategy
|
|
28
28
|
}) => {
|
|
29
|
-
const lastSelection =
|
|
29
|
+
const lastSelection = react.useRef(selectedProp || defaultSelected);
|
|
30
30
|
const handleKeyboardNavigation = (evt, nextIdx) => {
|
|
31
31
|
var _a, _b;
|
|
32
32
|
(_b = (_a = selectionHook.listHandlers).onKeyboardNavigation) == null ? void 0 : _b.call(_a, evt, nextIdx);
|
|
@@ -58,7 +58,7 @@ const useTree = ({
|
|
|
58
58
|
highlightedIdx,
|
|
59
59
|
highlightItemAtIndex: keyboardHook.setHighlightedIndex
|
|
60
60
|
});
|
|
61
|
-
const handleClick =
|
|
61
|
+
const handleClick = react.useCallback(
|
|
62
62
|
(evt) => {
|
|
63
63
|
var _a, _b, _c;
|
|
64
64
|
(_a = collapsibleHook == null ? void 0 : collapsibleHook.onClick) == null ? void 0 : _a.call(collapsibleHook, evt);
|
|
@@ -68,7 +68,7 @@ const useTree = ({
|
|
|
68
68
|
},
|
|
69
69
|
[collapsibleHook, selectionHook]
|
|
70
70
|
);
|
|
71
|
-
const handleKeyDown =
|
|
71
|
+
const handleKeyDown = react.useCallback(
|
|
72
72
|
(evt) => {
|
|
73
73
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
74
74
|
(_b = (_a = keyboardHook.listProps).onKeyDown) == null ? void 0 : _b.call(_a, evt);
|
|
@@ -95,7 +95,7 @@ const useTree = ({
|
|
|
95
95
|
highlightedIdx,
|
|
96
96
|
indexPositions: collectionHook.data
|
|
97
97
|
});
|
|
98
|
-
const handleMouseMove =
|
|
98
|
+
const handleMouseMove = react.useCallback(
|
|
99
99
|
(evt) => {
|
|
100
100
|
if (!isScrolling.current && !disabled) {
|
|
101
101
|
keyboardHook.listProps.onMouseMove();
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var react = require('react');
|
|
6
6
|
|
|
7
7
|
const defaultTriggerEvents = ["mousedown"];
|
|
8
8
|
function useClickOutside(handler, triggerEvents, containers) {
|
|
9
|
-
const ref =
|
|
10
|
-
|
|
9
|
+
const ref = react.useRef(null);
|
|
10
|
+
react.useEffect(() => {
|
|
11
11
|
const handleEvent = (event) => {
|
|
12
12
|
var _a;
|
|
13
13
|
if (Array.isArray(containers)) {
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var core = require('@salt-ds/core');
|
|
6
|
-
var
|
|
6
|
+
var react = require('react');
|
|
7
7
|
|
|
8
8
|
function useEventCallback(fn) {
|
|
9
|
-
const ref =
|
|
9
|
+
const ref = react.useRef(fn);
|
|
10
10
|
core.useIsomorphicLayoutEffect(() => {
|
|
11
11
|
ref.current = fn;
|
|
12
12
|
});
|
|
13
|
-
return
|
|
13
|
+
return react.useCallback(
|
|
14
14
|
(...args) => (0, ref.current)(...args),
|
|
15
15
|
[]
|
|
16
16
|
);
|