@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
|
@@ -3,7 +3,7 @@
|
|
|
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
|
require('../../list-deprecated/List.js');
|
|
8
8
|
require('../../list-deprecated/ListBase.js');
|
|
9
9
|
require('../../list-deprecated/ListItemBase.js');
|
|
@@ -58,21 +58,21 @@ const useComboBox = (props) => {
|
|
|
58
58
|
name: "ComboBox",
|
|
59
59
|
state: "inputValue"
|
|
60
60
|
});
|
|
61
|
-
const [selectionChanged, setSelectionChanged] =
|
|
62
|
-
const inputRef =
|
|
63
|
-
const [allowAnnouncement, setAllowAnnouncement] =
|
|
64
|
-
const labels =
|
|
61
|
+
const [selectionChanged, setSelectionChanged] = react.useState(false);
|
|
62
|
+
const inputRef = react.useRef(null);
|
|
63
|
+
const [allowAnnouncement, setAllowAnnouncement] = react.useState(false);
|
|
64
|
+
const labels = react.useMemo(
|
|
65
65
|
() => sourceProp.map(itemToString),
|
|
66
66
|
[sourceProp, itemToString]
|
|
67
67
|
);
|
|
68
|
-
const source =
|
|
68
|
+
const source = react.useMemo(() => {
|
|
69
69
|
if (inputValue == null ? void 0 : inputValue.trim().length) {
|
|
70
70
|
const itemFilter = filterHelpers.getDefaultFilter(inputValue, getFilterRegex);
|
|
71
71
|
return sourceProp.filter((item) => itemFilter(itemToString(item)));
|
|
72
72
|
}
|
|
73
73
|
return sourceProp;
|
|
74
74
|
}, [inputValue, sourceProp, getFilterRegex, itemToString]);
|
|
75
|
-
const itemTextHighlightPattern =
|
|
75
|
+
const itemTextHighlightPattern = react.useMemo(
|
|
76
76
|
() => (inputValue == null ? void 0 : inputValue.trim().length) ? getFilterRegex(inputValue) : void 0,
|
|
77
77
|
[inputValue, getFilterRegex]
|
|
78
78
|
);
|
|
@@ -103,9 +103,9 @@ const useComboBox = (props) => {
|
|
|
103
103
|
const handleInputRef = core.useForkRef(inputRef, handleFocusVisibleRef);
|
|
104
104
|
const { "aria-activedescendant": ariaActiveDescendant, ...restListProps } = listProps;
|
|
105
105
|
const { selectedItem, highlightedIndex } = state;
|
|
106
|
-
const [quickSelection, setQuickSelection] =
|
|
106
|
+
const [quickSelection, setQuickSelection] = react.useState(false);
|
|
107
107
|
const { setFocusVisible, setSelectedItem, setHighlightedIndex } = helpers;
|
|
108
|
-
const reconcileInput =
|
|
108
|
+
const reconcileInput = react.useCallback(() => {
|
|
109
109
|
setInputValue(selectedItem == null ? "" : itemToString(selectedItem));
|
|
110
110
|
}, [selectedItem, itemToString]);
|
|
111
111
|
const selectInputValue = (event) => {
|
|
@@ -122,10 +122,10 @@ const useComboBox = (props) => {
|
|
|
122
122
|
const { isOpen: isListOpen, notifyPopper } = usePopperStatus.usePopperStatus({
|
|
123
123
|
initialOpen
|
|
124
124
|
});
|
|
125
|
-
|
|
125
|
+
react.useEffect(() => {
|
|
126
126
|
reconcileInput();
|
|
127
127
|
}, [reconcileInput]);
|
|
128
|
-
|
|
128
|
+
react.useEffect(() => {
|
|
129
129
|
if (!isListOpen) {
|
|
130
130
|
setHighlightedIndex(void 0);
|
|
131
131
|
setQuickSelection(false);
|
|
@@ -3,7 +3,7 @@
|
|
|
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
|
require('../../list-deprecated/List.js');
|
|
8
8
|
require('../../list-deprecated/ListBase.js');
|
|
9
9
|
require('../../list-deprecated/ListItemBase.js');
|
|
@@ -69,21 +69,21 @@ const useMultiSelectComboBox = (props) => {
|
|
|
69
69
|
initialOpen,
|
|
70
70
|
isMultiSelect: true
|
|
71
71
|
});
|
|
72
|
-
const [selectionChanged, setSelectionChanged] =
|
|
73
|
-
const inputBlurTimeout =
|
|
74
|
-
const [allowAnnouncement, setAllowAnnouncement] =
|
|
75
|
-
const labels =
|
|
72
|
+
const [selectionChanged, setSelectionChanged] = react.useState(false);
|
|
73
|
+
const inputBlurTimeout = react.useRef(null);
|
|
74
|
+
const [allowAnnouncement, setAllowAnnouncement] = react.useState(false);
|
|
75
|
+
const labels = react.useMemo(
|
|
76
76
|
() => sourceProp.map(itemToString),
|
|
77
77
|
[sourceProp, itemToString]
|
|
78
78
|
);
|
|
79
|
-
const source =
|
|
79
|
+
const source = react.useMemo(() => {
|
|
80
80
|
if (inputValue == null ? void 0 : inputValue.trim().length) {
|
|
81
81
|
const itemFilter = filterHelpers.getDefaultFilter(inputValue, getFilterRegex);
|
|
82
82
|
return sourceProp.filter((item) => itemFilter(itemToString(item)));
|
|
83
83
|
}
|
|
84
84
|
return sourceProp;
|
|
85
85
|
}, [inputValue, sourceProp, getFilterRegex, itemToString]);
|
|
86
|
-
const itemTextHighlightPattern =
|
|
86
|
+
const itemTextHighlightPattern = react.useMemo(
|
|
87
87
|
() => (inputValue == null ? void 0 : inputValue.trim().length) ? getFilterRegex(inputValue) : void 0,
|
|
88
88
|
[inputValue, getFilterRegex]
|
|
89
89
|
);
|
|
@@ -111,7 +111,7 @@ const useMultiSelectComboBox = (props) => {
|
|
|
111
111
|
});
|
|
112
112
|
const { "aria-activedescendant": ariaActiveDescendant, ...restListProps } = listProps;
|
|
113
113
|
const { selectedItem } = listState;
|
|
114
|
-
const [quickSelection, setQuickSelection] =
|
|
114
|
+
const [quickSelection, setQuickSelection] = react.useState(false);
|
|
115
115
|
const {
|
|
116
116
|
isFocusVisibleRef,
|
|
117
117
|
onFocus: handleFocusVisible,
|
|
@@ -197,7 +197,7 @@ const useMultiSelectComboBox = (props) => {
|
|
|
197
197
|
const handleFocusVisibleRef = core.useForkRef(focusVisibleRef, focusedRef);
|
|
198
198
|
const handleInputRef = core.useForkRef(inputRef, handleFocusVisibleRef);
|
|
199
199
|
const { setHighlightedIndex: setHighlightedPillIndex } = inputHelpers;
|
|
200
|
-
|
|
200
|
+
react.useEffect(() => {
|
|
201
201
|
if (!isListOpen) {
|
|
202
202
|
setHighlightedListIndex(void 0);
|
|
203
203
|
setQuickSelection(false);
|
|
@@ -214,19 +214,19 @@ const useMultiSelectComboBox = (props) => {
|
|
|
214
214
|
setHighlightedListIndex(void 0);
|
|
215
215
|
}
|
|
216
216
|
}, [selectedItems, previousSelectedItems, setHighlightedListIndex]);
|
|
217
|
-
|
|
217
|
+
react.useEffect(() => {
|
|
218
218
|
if (inputState.highlightedIndex != null && inputState.highlightedIndex >= 0) {
|
|
219
219
|
setHighlightedListIndex(void 0);
|
|
220
220
|
setQuickSelection(false);
|
|
221
221
|
}
|
|
222
222
|
}, [inputState.highlightedIndex, setHighlightedListIndex]);
|
|
223
223
|
const highlightedIndex = listState == null ? void 0 : listState.highlightedIndex;
|
|
224
|
-
|
|
224
|
+
react.useEffect(() => {
|
|
225
225
|
if (highlightedIndex != null && highlightedIndex >= 0) {
|
|
226
226
|
setHighlightedPillIndex(void 0);
|
|
227
227
|
}
|
|
228
228
|
}, [highlightedIndex, setHighlightedPillIndex]);
|
|
229
|
-
|
|
229
|
+
react.useEffect(() => {
|
|
230
230
|
setHighlightedListIndex(void 0);
|
|
231
231
|
}, [source, setHighlightedListIndex]);
|
|
232
232
|
const handleFirstItemSelection = (event) => {
|
|
@@ -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 isToggleList = (event) => event.altKey && ["ArrowUp", "ArrowDown"].indexOf(event.key) !== -1;
|
|
8
8
|
const usePopperStatus = (props) => {
|
|
9
9
|
const { initialOpen, isMultiSelect = false, onClose } = props;
|
|
10
|
-
const [isOpen, setOpen] =
|
|
10
|
+
const [isOpen, setOpen] = react.useState(initialOpen === true);
|
|
11
11
|
const handleCloseList = (event) => {
|
|
12
12
|
setOpen(false);
|
|
13
13
|
if (onClose) {
|
|
@@ -3,9 +3,9 @@
|
|
|
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
|
|
|
8
|
-
const CollectionContext =
|
|
8
|
+
const CollectionContext = react.createContext(void 0);
|
|
9
9
|
function CollectionProvider({
|
|
10
10
|
children,
|
|
11
11
|
collectionHook,
|
|
@@ -13,11 +13,11 @@ function CollectionProvider({
|
|
|
13
13
|
}) {
|
|
14
14
|
return /* @__PURE__ */ jsxRuntime.jsx(CollectionContext.Provider, {
|
|
15
15
|
value: collectionHook,
|
|
16
|
-
children: Object.keys(props).length > 0 ?
|
|
16
|
+
children: Object.keys(props).length > 0 ? react.cloneElement(children, props) : children
|
|
17
17
|
});
|
|
18
18
|
}
|
|
19
19
|
function useCollection() {
|
|
20
|
-
const collection =
|
|
20
|
+
const collection = react.useContext(CollectionContext);
|
|
21
21
|
if (collection) {
|
|
22
22
|
return collection;
|
|
23
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyUtils.js","sources":["../src/common-hooks/keyUtils.ts"],"sourcesContent":["import type
|
|
1
|
+
{"version":3,"file":"keyUtils.js","sources":["../src/common-hooks/keyUtils.ts"],"sourcesContent":["import type { KeyboardEvent } from \"react\";\n\nfunction union<T>(set1: Set<T>, ...sets: Set<T>[]) {\n const result = new Set(set1);\n for (const set of sets) {\n for (const element of set) {\n result.add(element);\n }\n }\n return result;\n}\n\nexport const ArrowUp = \"ArrowUp\";\nexport const ArrowDown = \"ArrowDown\";\nexport const ArrowLeft = \"ArrowLeft\";\nexport const ArrowRight = \"ArrowRight\";\nexport const Enter = \"Enter\";\nexport const Escape = \"Escape\";\nexport const Home = \"Home\";\nexport const End = \"End\";\nexport const PageUp = \"PageUp\";\nexport const PageDown = \"PageDown\";\nexport const Space = \" \";\nexport const Tab = \"Tab\";\n\nconst actionKeys = new Set([\"Enter\", \"Delete\", \" \"]);\nconst focusKeys = new Set([\"Tab\"]);\nconst arrowLeftRightKeys = new Set([\"ArrowRight\", \"ArrowLeft\"]);\nconst navigationKeys = new Set([\n Home,\n End,\n PageUp,\n PageDown,\n ArrowDown,\n ArrowUp,\n]);\nconst functionKeys = new Set([\n \"F1\",\n \"F2\",\n \"F3\",\n \"F4\",\n \"F5\",\n \"F6\",\n \"F7\",\n \"F8\",\n \"F9\",\n \"F10\",\n \"F11\",\n \"F12\",\n]);\nconst specialKeys = union(\n actionKeys,\n navigationKeys,\n arrowLeftRightKeys,\n functionKeys,\n focusKeys,\n);\nexport const isCharacterKey = (evt: KeyboardEvent): boolean => {\n if (specialKeys.has(evt.key)) {\n return false;\n }\n return evt.key.length === 1 && !evt.ctrlKey && !evt.metaKey && !evt.altKey;\n};\n\nexport const isNavigationKey = ({ key }: KeyboardEvent): boolean => {\n return navigationKeys.has(key);\n};\n"],"names":[],"mappings":";;;;AAEA,SAAS,KAAA,CAAS,SAAiB,IAAgB,EAAA;AACjD,EAAM,MAAA,MAAA,GAAS,IAAI,GAAA,CAAI,IAAI,CAAA,CAAA;AAC3B,EAAA,KAAA,MAAW,OAAO,IAAM,EAAA;AACtB,IAAA,KAAA,MAAW,WAAW,GAAK,EAAA;AACzB,MAAA,MAAA,CAAO,IAAI,OAAO,CAAA,CAAA;AAAA,KACpB;AAAA,GACF;AACA,EAAO,OAAA,MAAA,CAAA;AACT,CAAA;AAEO,MAAM,OAAU,GAAA,UAAA;AAChB,MAAM,SAAY,GAAA,YAAA;AAClB,MAAM,SAAY,GAAA,YAAA;AAClB,MAAM,UAAa,GAAA,aAAA;AACnB,MAAM,KAAQ,GAAA,QAAA;AAEd,MAAM,IAAO,GAAA,OAAA;AACb,MAAM,GAAM,GAAA,MAAA;AACZ,MAAM,MAAS,GAAA,SAAA;AACf,MAAM,QAAW,GAAA,WAAA;AACjB,MAAM,KAAQ,GAAA,IAAA;AAGrB,MAAM,6BAAiB,IAAA,GAAA,CAAI,CAAC,OAAS,EAAA,QAAA,EAAU,GAAG,CAAC,CAAA,CAAA;AACnD,MAAM,SAAY,mBAAA,IAAI,GAAI,CAAA,CAAC,KAAK,CAAC,CAAA,CAAA;AACjC,MAAM,qCAAyB,IAAA,GAAA,CAAI,CAAC,YAAA,EAAc,WAAW,CAAC,CAAA,CAAA;AAC9D,MAAM,cAAA,uBAAqB,GAAI,CAAA;AAAA,EAC7B,IAAA;AAAA,EACA,GAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,OAAA;AACF,CAAC,CAAA,CAAA;AACD,MAAM,YAAA,uBAAmB,GAAI,CAAA;AAAA,EAC3B,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA;AACF,CAAC,CAAA,CAAA;AACD,MAAM,WAAc,GAAA,KAAA;AAAA,EAClB,UAAA;AAAA,EACA,cAAA;AAAA,EACA,kBAAA;AAAA,EACA,YAAA;AAAA,EACA,SAAA;AACF,CAAA,CAAA;AACa,MAAA,cAAA,GAAiB,CAAC,GAAgC,KAAA;AAC7D,EAAA,IAAI,WAAY,CAAA,GAAA,CAAI,GAAI,CAAA,GAAG,CAAG,EAAA;AAC5B,IAAO,OAAA,KAAA,CAAA;AAAA,GACT;AACA,EAAO,OAAA,GAAA,CAAI,GAAI,CAAA,MAAA,KAAW,CAAK,IAAA,CAAC,GAAI,CAAA,OAAA,IAAW,CAAC,GAAA,CAAI,OAAW,IAAA,CAAC,GAAI,CAAA,MAAA,CAAA;AACtE,EAAA;AAEO,MAAM,eAAkB,GAAA,CAAC,EAAE,GAAA,EAAkC,KAAA;AAClE,EAAO,OAAA,cAAA,CAAe,IAAI,GAAG,CAAA,CAAA;AAC/B;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectionTypes.js","sources":["../src/common-hooks/selectionTypes.ts"],"sourcesContent":["import type { SyntheticEvent } from \"react\";\nimport type { CollectionItem } from \"./collectionTypes\";\n\nexport const SINGLE = \"default\";\nexport const MULTIPLE = \"multiple\";\nexport const EXTENDED = \"extended\";\nexport const DESELECTABLE = \"deselectable\";\n\n// export type SelectionDisallowed = \"none\";\nexport type SingleSelectionStrategy = \"default\" | \"deselectable\";\nexport type MultiSelectionStrategy =\n | \"multiple\"\n | \"extended\"\n | \"extended-multi-range\";\nexport type SelectionStrategy =\n // | SelectionDisallowed\n SingleSelectionStrategy | MultiSelectionStrategy;\n\nexport type selectedType<\n Item,\n Selection extends SelectionStrategy,\n> = Selection extends MultiSelectionStrategy ? Item[] : Item | null;\n\nexport type SelectHandler<Item = string> = (\n event: SyntheticEvent,\n selectedItem: Item,\n) => void;\n\nexport type SelectionChangeHandler<\n Item = string,\n Selection extends SelectionStrategy = \"default\",\n> = (\n event: SyntheticEvent,\n selected: Selection extends SingleSelectionStrategy ? Item | null : Item[],\n) => void;\n\nexport const hasSelection = <Item = unknown>(\n selected: Item | Item[] | null,\n): boolean => {\n return Array.isArray(selected)\n ? selected.length > 0\n : selected !== null && selected !== undefined;\n};\n\nexport const getFirstSelectedItem = <Item = unknown>(\n selected: Item | Item[] | null,\n): Item | null => {\n return Array.isArray(selected) ? selected[0] : selected;\n};\n\nexport interface SelectionProps<\n Item,\n Selection extends SelectionStrategy = \"default\",\n> {\n defaultSelected?: Selection extends SingleSelectionStrategy\n ? Item | null\n : Item[];\n onSelect?: SelectHandler<Item>;\n onSelectionChange?: SelectionChangeHandler<Item, Selection>;\n selected?: Selection extends SingleSelectionStrategy ? Item | null : Item[];\n selectionStrategy?: Selection;\n}\n\nexport interface ListHandlers {\n onClick?: (event:
|
|
1
|
+
{"version":3,"file":"selectionTypes.js","sources":["../src/common-hooks/selectionTypes.ts"],"sourcesContent":["import type { KeyboardEvent, MouseEvent, SyntheticEvent } from \"react\";\nimport type { CollectionItem } from \"./collectionTypes\";\n\nexport const SINGLE = \"default\";\nexport const MULTIPLE = \"multiple\";\nexport const EXTENDED = \"extended\";\nexport const DESELECTABLE = \"deselectable\";\n\n// export type SelectionDisallowed = \"none\";\nexport type SingleSelectionStrategy = \"default\" | \"deselectable\";\nexport type MultiSelectionStrategy =\n | \"multiple\"\n | \"extended\"\n | \"extended-multi-range\";\nexport type SelectionStrategy =\n // | SelectionDisallowed\n SingleSelectionStrategy | MultiSelectionStrategy;\n\nexport type selectedType<\n Item,\n Selection extends SelectionStrategy,\n> = Selection extends MultiSelectionStrategy ? Item[] : Item | null;\n\nexport type SelectHandler<Item = string> = (\n event: SyntheticEvent,\n selectedItem: Item,\n) => void;\n\nexport type SelectionChangeHandler<\n Item = string,\n Selection extends SelectionStrategy = \"default\",\n> = (\n event: SyntheticEvent,\n selected: Selection extends SingleSelectionStrategy ? Item | null : Item[],\n) => void;\n\nexport const hasSelection = <Item = unknown>(\n selected: Item | Item[] | null,\n): boolean => {\n return Array.isArray(selected)\n ? selected.length > 0\n : selected !== null && selected !== undefined;\n};\n\nexport const getFirstSelectedItem = <Item = unknown>(\n selected: Item | Item[] | null,\n): Item | null => {\n return Array.isArray(selected) ? selected[0] : selected;\n};\n\nexport interface SelectionProps<\n Item,\n Selection extends SelectionStrategy = \"default\",\n> {\n defaultSelected?: Selection extends SingleSelectionStrategy\n ? Item | null\n : Item[];\n onSelect?: SelectHandler<Item>;\n onSelectionChange?: SelectionChangeHandler<Item, Selection>;\n selected?: Selection extends SingleSelectionStrategy ? Item | null : Item[];\n selectionStrategy?: Selection;\n}\n\nexport interface ListHandlers {\n onClick?: (event: MouseEvent) => void;\n onKeyDown?: (event: KeyboardEvent) => void;\n onKeyboardNavigation?: (event: KeyboardEvent, currentIndex: number) => void;\n onMouseMove?: (event: MouseEvent) => void;\n}\nexport interface SelectionHookProps<\n Item,\n Selection extends SelectionStrategy = \"default\",\n> extends SelectionProps<CollectionItem<Item>, Selection> {\n disableSelection?: boolean;\n highlightedIdx: number;\n indexPositions: CollectionItem<Item>[];\n label?: string;\n selectionKeys?: string[];\n tabToSelect?: boolean;\n}\n\nexport interface SelectionHookResult<\n Item,\n Selection extends SelectionStrategy = \"default\",\n> {\n listHandlers: ListHandlers;\n selected: Selection extends SingleSelectionStrategy\n ? CollectionItem<Item> | null\n : CollectionItem<Item>[];\n setSelected: (\n selected: Selection extends SingleSelectionStrategy\n ? CollectionItem<Item> | null\n : CollectionItem<Item>[],\n ) => void;\n}\n"],"names":[],"mappings":";;;;AAoCa,MAAA,YAAA,GAAe,CAC1B,QACY,KAAA;AACZ,EAAO,OAAA,KAAA,CAAM,QAAQ,QAAQ,CAAA,GACzB,SAAS,MAAS,GAAA,CAAA,GAClB,QAAa,KAAA,IAAA,IAAQ,QAAa,KAAA,KAAA,CAAA,CAAA;AACxC,EAAA;AAEa,MAAA,oBAAA,GAAuB,CAClC,QACgB,KAAA;AAChB,EAAA,OAAO,KAAM,CAAA,OAAA,CAAQ,QAAQ,CAAA,GAAI,SAAS,CAAK,CAAA,GAAA,QAAA,CAAA;AACjD;;;;;"}
|
|
@@ -3,12 +3,12 @@
|
|
|
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 useAutoSizer(props) {
|
|
9
9
|
const { containerRef: ref, responsive, width, height } = props;
|
|
10
|
-
const [size, setSize] =
|
|
11
|
-
const handleResize =
|
|
10
|
+
const [size, setSize] = react.useState({ width, height });
|
|
11
|
+
const handleResize = react.useCallback(function handleResize2(contentRect) {
|
|
12
12
|
if (contentRect.width > 0 && contentRect.height > 0) {
|
|
13
13
|
setSize({
|
|
14
14
|
width: contentRect.width,
|
|
@@ -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('./keyUtils.js');
|
|
7
7
|
|
|
8
8
|
const NO_HANDLERS = {};
|
|
@@ -19,7 +19,7 @@ const useCollapsibleGroups = ({
|
|
|
19
19
|
highlightedIdx,
|
|
20
20
|
onToggle
|
|
21
21
|
}) => {
|
|
22
|
-
const handleKeyDown =
|
|
22
|
+
const handleKeyDown = react.useCallback(
|
|
23
23
|
(e) => {
|
|
24
24
|
if (e.key === keyUtils.ArrowRight || e.key === keyUtils.Enter) {
|
|
25
25
|
const item = collectionHook.data[highlightedIdx];
|
|
@@ -49,7 +49,7 @@ const useCollapsibleGroups = ({
|
|
|
49
49
|
highlightedIdx
|
|
50
50
|
]
|
|
51
51
|
);
|
|
52
|
-
const handleClick =
|
|
52
|
+
const handleClick = react.useCallback(
|
|
53
53
|
(evt) => {
|
|
54
54
|
console.log(`useCollapsibleGroups idx=${highlightedIdx}`);
|
|
55
55
|
const item = collectionHook.data[highlightedIdx];
|
|
@@ -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 itemToString = require('./itemToString.js');
|
|
7
7
|
var collectionItemUtils = require('./utils/collection-item-utils.js');
|
|
8
8
|
var filterUtils = require('./utils/filter-utils.js');
|
|
@@ -18,24 +18,24 @@ const useCollectionItems = ({
|
|
|
18
18
|
}) => {
|
|
19
19
|
var _a;
|
|
20
20
|
const { getItemId } = options;
|
|
21
|
-
const [, forceUpdate] =
|
|
21
|
+
const [, forceUpdate] = react.useState(null);
|
|
22
22
|
const inheritedCollectionHook = collectionProvider.useCollection();
|
|
23
|
-
const dataRef =
|
|
24
|
-
const flattenedDataRef =
|
|
25
|
-
const EMPTY_COLLECTION =
|
|
26
|
-
const filterPattern =
|
|
23
|
+
const dataRef = react.useRef([]);
|
|
24
|
+
const flattenedDataRef = react.useRef([]);
|
|
25
|
+
const EMPTY_COLLECTION = react.useMemo(() => [], []);
|
|
26
|
+
const filterPattern = react.useRef((_a = options.filterPattern) != null ? _a : "");
|
|
27
27
|
const {
|
|
28
28
|
getFilterRegex = filterUtils.getDefaultFilterRegex,
|
|
29
29
|
noChildrenLabel,
|
|
30
30
|
itemToString: itemToString$1 = itemToString.itemToString
|
|
31
31
|
} = options;
|
|
32
|
-
const isExpanded =
|
|
32
|
+
const isExpanded = react.useCallback(
|
|
33
33
|
(path) => {
|
|
34
34
|
return options.defaultExpanded || false;
|
|
35
35
|
},
|
|
36
36
|
[options.defaultExpanded]
|
|
37
37
|
);
|
|
38
|
-
const addMetadataToItems =
|
|
38
|
+
const addMetadataToItems = react.useCallback(
|
|
39
39
|
(items, indexer, level = 1, path = "", results = [], flattenedCollection2 = [], flattenedSource2 = []) => {
|
|
40
40
|
items.forEach((item, i, all) => {
|
|
41
41
|
var _a2, _b;
|
|
@@ -79,13 +79,13 @@ const useCollectionItems = ({
|
|
|
79
79
|
},
|
|
80
80
|
[options.collapsibleHeaders, getItemId, idRoot, isExpanded]
|
|
81
81
|
);
|
|
82
|
-
const getFilter =
|
|
82
|
+
const getFilter = react.useCallback(() => {
|
|
83
83
|
if (filterPattern.current) {
|
|
84
84
|
return filterUtils.getDefaultFilter(filterPattern.current, getFilterRegex);
|
|
85
85
|
}
|
|
86
86
|
return null;
|
|
87
87
|
}, [getFilterRegex]);
|
|
88
|
-
const collectVisibleItems =
|
|
88
|
+
const collectVisibleItems = react.useCallback(
|
|
89
89
|
(items, filter = getFilter(), results = [], idx = { value: 0 }) => {
|
|
90
90
|
let skipToNextHeader = false;
|
|
91
91
|
for (const item of items) {
|
|
@@ -108,7 +108,7 @@ const useCollectionItems = ({
|
|
|
108
108
|
},
|
|
109
109
|
[getFilter, itemToString$1]
|
|
110
110
|
);
|
|
111
|
-
const partialCollectionItems =
|
|
111
|
+
const partialCollectionItems = react.useMemo(() => {
|
|
112
112
|
return inheritedCollectionHook ? EMPTY_COLLECTION : collectionItemUtils.sourceItems(source, { itemToString: itemToString$1, noChildrenLabel }) || collectionItemUtils.childItems(children) || [];
|
|
113
113
|
}, [
|
|
114
114
|
inheritedCollectionHook,
|
|
@@ -118,7 +118,7 @@ const useCollectionItems = ({
|
|
|
118
118
|
noChildrenLabel,
|
|
119
119
|
children
|
|
120
120
|
]);
|
|
121
|
-
const [collectionItems, flattenedSource, flattenedCollection] =
|
|
121
|
+
const [collectionItems, flattenedSource, flattenedCollection] = react.useMemo(
|
|
122
122
|
() => inheritedCollectionHook ? [EMPTY_COLLECTION, EMPTY_COLLECTION, EMPTY_COLLECTION] : addMetadataToItems(partialCollectionItems, { value: 0 }),
|
|
123
123
|
[
|
|
124
124
|
EMPTY_COLLECTION,
|
|
@@ -128,7 +128,7 @@ const useCollectionItems = ({
|
|
|
128
128
|
]
|
|
129
129
|
);
|
|
130
130
|
flattenedDataRef.current = flattenedCollection;
|
|
131
|
-
|
|
131
|
+
react.useMemo(
|
|
132
132
|
() => inheritedCollectionHook ? EMPTY_COLLECTION : dataRef.current = collectVisibleItems(collectionItems),
|
|
133
133
|
[
|
|
134
134
|
EMPTY_COLLECTION,
|
|
@@ -137,8 +137,8 @@ const useCollectionItems = ({
|
|
|
137
137
|
inheritedCollectionHook
|
|
138
138
|
]
|
|
139
139
|
);
|
|
140
|
-
const collectionItemsRef =
|
|
141
|
-
const setFilterPattern =
|
|
140
|
+
const collectionItemsRef = react.useRef(collectionItems);
|
|
141
|
+
const setFilterPattern = react.useCallback(
|
|
142
142
|
(pattern = "") => {
|
|
143
143
|
if (typeof pattern === "string") {
|
|
144
144
|
filterPattern.current = pattern;
|
|
@@ -148,7 +148,7 @@ const useCollectionItems = ({
|
|
|
148
148
|
},
|
|
149
149
|
[collectionItems, collectVisibleItems]
|
|
150
150
|
);
|
|
151
|
-
const itemById =
|
|
151
|
+
const itemById = react.useCallback(
|
|
152
152
|
(id, target = collectionItems) => {
|
|
153
153
|
const sourceWithId = target.find(
|
|
154
154
|
(i) => {
|
|
@@ -166,10 +166,10 @@ const useCollectionItems = ({
|
|
|
166
166
|
},
|
|
167
167
|
[flattenedSource, collectionItems]
|
|
168
168
|
);
|
|
169
|
-
const toCollectionItem =
|
|
169
|
+
const toCollectionItem = react.useCallback(
|
|
170
170
|
(item) => {
|
|
171
171
|
const collectionItem = flattenedDataRef.current.find(
|
|
172
|
-
(i) =>
|
|
172
|
+
(i) => react.isValidElement(i.value) ? i.label === item : i.value === item
|
|
173
173
|
);
|
|
174
174
|
if (collectionItem) {
|
|
175
175
|
return collectionItem;
|
|
@@ -178,7 +178,7 @@ const useCollectionItems = ({
|
|
|
178
178
|
},
|
|
179
179
|
[]
|
|
180
180
|
);
|
|
181
|
-
const itemToCollectionItem =
|
|
181
|
+
const itemToCollectionItem = react.useCallback(
|
|
182
182
|
(sel) => {
|
|
183
183
|
if (sel === null) {
|
|
184
184
|
return null;
|
|
@@ -198,11 +198,11 @@ const useCollectionItems = ({
|
|
|
198
198
|
},
|
|
199
199
|
[toCollectionItem]
|
|
200
200
|
);
|
|
201
|
-
const stringToCollectionItem =
|
|
201
|
+
const stringToCollectionItem = react.useCallback(
|
|
202
202
|
(value) => {
|
|
203
203
|
const toCollectionItem2 = (item) => {
|
|
204
204
|
const collectionItem = flattenedDataRef.current.find(
|
|
205
|
-
(i) =>
|
|
205
|
+
(i) => react.isValidElement(i.value) ? i.label === item : i.value !== null && itemToString$1(i.value) === item
|
|
206
206
|
);
|
|
207
207
|
if (collectionItem) {
|
|
208
208
|
return collectionItem;
|
|
@@ -228,7 +228,7 @@ const useCollectionItems = ({
|
|
|
228
228
|
},
|
|
229
229
|
[itemToString$1]
|
|
230
230
|
);
|
|
231
|
-
const itemToId =
|
|
231
|
+
const itemToId = react.useCallback((item) => {
|
|
232
232
|
for (const collectionItem of collectionItemsRef.current) {
|
|
233
233
|
if (item === collectionItem.value) {
|
|
234
234
|
return collectionItem.id;
|
|
@@ -236,7 +236,7 @@ const useCollectionItems = ({
|
|
|
236
236
|
}
|
|
237
237
|
throw Error("useCollectionData itemToId, item not found");
|
|
238
238
|
}, []);
|
|
239
|
-
const collapseGroupItem =
|
|
239
|
+
const collapseGroupItem = react.useCallback(
|
|
240
240
|
(item) => {
|
|
241
241
|
collectionItemsRef.current = collectionItemUtils.replaceCollectionItem(
|
|
242
242
|
collectionItemsRef.current,
|
|
@@ -250,7 +250,7 @@ const useCollectionItems = ({
|
|
|
250
250
|
},
|
|
251
251
|
[collectVisibleItems]
|
|
252
252
|
);
|
|
253
|
-
const expandGroupItem =
|
|
253
|
+
const expandGroupItem = react.useCallback(
|
|
254
254
|
(item) => {
|
|
255
255
|
collectionItemsRef.current = collectionItemUtils.replaceCollectionItem(
|
|
256
256
|
collectionItemsRef.current,
|
|
@@ -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
|
|
|
7
7
|
const noScrolling = {
|
|
8
8
|
scrollToIndex: () => void 0,
|
|
@@ -15,7 +15,7 @@ const useImperativeScrollingAPI = ({
|
|
|
15
15
|
scrollableRef,
|
|
16
16
|
scrollIntoView
|
|
17
17
|
}) => {
|
|
18
|
-
const scrollHandles =
|
|
18
|
+
const scrollHandles = react.useMemo(
|
|
19
19
|
() => ({
|
|
20
20
|
scrollToIndex: (itemIndex) => {
|
|
21
21
|
const collectionItem = collectionHook.data[itemIndex];
|
|
@@ -42,7 +42,7 @@ const useImperativeScrollingAPI = ({
|
|
|
42
42
|
scrollableRef
|
|
43
43
|
]
|
|
44
44
|
);
|
|
45
|
-
|
|
45
|
+
react.useImperativeHandle(
|
|
46
46
|
forwardedRef,
|
|
47
47
|
() => {
|
|
48
48
|
if (scrollableRef.current) {
|
|
@@ -3,7 +3,7 @@
|
|
|
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
|
var keyUtils = require('./keyUtils.js');
|
|
8
8
|
var selectionTypes = require('./selectionTypes.js');
|
|
9
9
|
|
|
@@ -102,14 +102,14 @@ const useKeyboardNavigation = ({
|
|
|
102
102
|
restoreLastFocus,
|
|
103
103
|
selected
|
|
104
104
|
}) => {
|
|
105
|
-
const lastFocus =
|
|
106
|
-
const [, forceRender] =
|
|
105
|
+
const lastFocus = react.useRef(-1);
|
|
106
|
+
const [, forceRender] = react.useState({});
|
|
107
107
|
const [highlightedIndex, setHighlightedIdx, isControlledHighlighting] = core.useControlled({
|
|
108
108
|
controlled: highlightedIndexProp,
|
|
109
109
|
default: defaultHighlightedIndex,
|
|
110
110
|
name: "UseKeyboardNavigation"
|
|
111
111
|
});
|
|
112
|
-
const setHighlightedIndex =
|
|
112
|
+
const setHighlightedIndex = react.useCallback(
|
|
113
113
|
(idx, fromKeyboard = false) => {
|
|
114
114
|
onHighlight == null ? void 0 : onHighlight(idx);
|
|
115
115
|
setHighlightedIdx(idx);
|
|
@@ -119,7 +119,7 @@ const useKeyboardNavigation = ({
|
|
|
119
119
|
},
|
|
120
120
|
[onHighlight]
|
|
121
121
|
);
|
|
122
|
-
const nextPageItemIdx =
|
|
122
|
+
const nextPageItemIdx = react.useCallback(
|
|
123
123
|
async (e, index) => {
|
|
124
124
|
const { id } = indexPositions[index];
|
|
125
125
|
let result;
|
|
@@ -134,7 +134,7 @@ const useKeyboardNavigation = ({
|
|
|
134
134
|
},
|
|
135
135
|
[containerRef, indexPositions]
|
|
136
136
|
);
|
|
137
|
-
const nextFocusableItemIdx =
|
|
137
|
+
const nextFocusableItemIdx = react.useCallback(
|
|
138
138
|
(key = keyUtils.ArrowDown, idx = key === keyUtils.ArrowDown ? -1 : indexPositions.length) => {
|
|
139
139
|
if (indexPositions.length === 0) {
|
|
140
140
|
return -1;
|
|
@@ -160,13 +160,13 @@ const useKeyboardNavigation = ({
|
|
|
160
160
|
},
|
|
161
161
|
[indexPositions, selected]
|
|
162
162
|
);
|
|
163
|
-
const keyboardNavigation =
|
|
164
|
-
const ignoreFocus =
|
|
165
|
-
const setIgnoreFocus =
|
|
163
|
+
const keyboardNavigation = react.useRef(false);
|
|
164
|
+
const ignoreFocus = react.useRef(false);
|
|
165
|
+
const setIgnoreFocus = react.useCallback(
|
|
166
166
|
(value) => ignoreFocus.current = value,
|
|
167
167
|
[]
|
|
168
168
|
);
|
|
169
|
-
const handleFocus =
|
|
169
|
+
const handleFocus = react.useCallback(() => {
|
|
170
170
|
if (ignoreFocus.current) {
|
|
171
171
|
ignoreFocus.current = false;
|
|
172
172
|
} else {
|
|
@@ -208,7 +208,7 @@ const useKeyboardNavigation = ({
|
|
|
208
208
|
selected,
|
|
209
209
|
setHighlightedIndex
|
|
210
210
|
]);
|
|
211
|
-
const navigateChildItems =
|
|
211
|
+
const navigateChildItems = react.useCallback(
|
|
212
212
|
async (e) => {
|
|
213
213
|
const nextIdx = e.key === keyUtils.PageDown || e.key === keyUtils.PageUp ? await nextPageItemIdx(e, highlightedIndex) : nextFocusableItemIdx(e.key, highlightedIndex);
|
|
214
214
|
if (nextIdx !== highlightedIndex) {
|
|
@@ -224,7 +224,7 @@ const useKeyboardNavigation = ({
|
|
|
224
224
|
setHighlightedIndex
|
|
225
225
|
]
|
|
226
226
|
);
|
|
227
|
-
const handleKeyDown =
|
|
227
|
+
const handleKeyDown = react.useCallback(
|
|
228
228
|
(e) => {
|
|
229
229
|
if (indexPositions.length > 0 && keyUtils.isNavigationKey(e)) {
|
|
230
230
|
e.preventDefault();
|
|
@@ -237,7 +237,7 @@ const useKeyboardNavigation = ({
|
|
|
237
237
|
},
|
|
238
238
|
[indexPositions, navigateChildItems]
|
|
239
239
|
);
|
|
240
|
-
const listProps =
|
|
240
|
+
const listProps = react.useMemo(() => {
|
|
241
241
|
return {
|
|
242
242
|
onBlur: (e) => {
|
|
243
243
|
const sourceTarget = e.target.closest(".saltList");
|
|
@@ -3,7 +3,7 @@
|
|
|
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 nextItemIdx(count, direction, idx, cycleFocus = false) {
|
|
9
9
|
if (direction === "BWD") {
|
|
@@ -36,7 +36,7 @@ const useKeyboardNavigationPanel = ({
|
|
|
36
36
|
default: defaultHighlightedIdx,
|
|
37
37
|
name: "UseKeyboardNavigation"
|
|
38
38
|
});
|
|
39
|
-
const setHighlightedIndex =
|
|
39
|
+
const setHighlightedIndex = react.useCallback(
|
|
40
40
|
(idx) => {
|
|
41
41
|
onHighlight == null ? void 0 : onHighlight(idx);
|
|
42
42
|
setHighlightedIdx(idx);
|
|
@@ -50,7 +50,7 @@ const useKeyboardNavigationPanel = ({
|
|
|
50
50
|
},
|
|
51
51
|
[focusOnHighlight, indexPositions, onHighlight]
|
|
52
52
|
);
|
|
53
|
-
const nextFocusableItemIdx =
|
|
53
|
+
const nextFocusableItemIdx = react.useCallback(
|
|
54
54
|
(direction = "FWD", idx = direction === "FWD" ? -1 : indexPositions.length) => {
|
|
55
55
|
let nextIdx = nextItemIdx(
|
|
56
56
|
indexPositions.length,
|
|
@@ -70,20 +70,20 @@ const useKeyboardNavigationPanel = ({
|
|
|
70
70
|
},
|
|
71
71
|
[cycleFocus, indexPositions]
|
|
72
72
|
);
|
|
73
|
-
const keyboardNavigation =
|
|
74
|
-
const ignoreFocus =
|
|
75
|
-
const setIgnoreFocus =
|
|
73
|
+
const keyboardNavigation = react.useRef(true);
|
|
74
|
+
const ignoreFocus = react.useRef(false);
|
|
75
|
+
const setIgnoreFocus = react.useCallback(
|
|
76
76
|
(value) => ignoreFocus.current = value,
|
|
77
77
|
[]
|
|
78
78
|
);
|
|
79
|
-
const handleFocus =
|
|
79
|
+
const handleFocus = react.useCallback(() => {
|
|
80
80
|
if (ignoreFocus.current) {
|
|
81
81
|
ignoreFocus.current = false;
|
|
82
82
|
} else {
|
|
83
83
|
setHighlightedIndex(nextFocusableItemIdx());
|
|
84
84
|
}
|
|
85
85
|
}, [nextFocusableItemIdx, setHighlightedIndex]);
|
|
86
|
-
const navigateChildItems =
|
|
86
|
+
const navigateChildItems = react.useCallback(
|
|
87
87
|
(e) => {
|
|
88
88
|
const direction = e.shiftKey ? "BWD" : "FWD";
|
|
89
89
|
const nextIdx = nextFocusableItemIdx(direction, highlightedIdx);
|
|
@@ -100,7 +100,7 @@ const useKeyboardNavigationPanel = ({
|
|
|
100
100
|
setHighlightedIndex
|
|
101
101
|
]
|
|
102
102
|
);
|
|
103
|
-
const handleKeyDown =
|
|
103
|
+
const handleKeyDown = react.useCallback(
|
|
104
104
|
(evt) => {
|
|
105
105
|
if (indexPositions.length > 0 && evt.key === "Tab") {
|
|
106
106
|
evt.preventDefault();
|
|
@@ -111,7 +111,7 @@ const useKeyboardNavigationPanel = ({
|
|
|
111
111
|
},
|
|
112
112
|
[indexPositions, navigateChildItems]
|
|
113
113
|
);
|
|
114
|
-
const listProps =
|
|
114
|
+
const listProps = react.useMemo(
|
|
115
115
|
() => ({
|
|
116
116
|
onBlur: () => {
|
|
117
117
|
},
|