@workday/canvas-kit-preview-react 16.1.6 → 16.1.8
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/dist/commonjs/preview-react/color-picker/index.d.ts.map +1 -0
- package/dist/commonjs/preview-react/color-picker/lib/ColorPicker.d.ts.map +1 -0
- package/dist/commonjs/{color-picker → preview-react/color-picker}/lib/ColorPicker.js +1 -1
- package/dist/commonjs/preview-react/color-picker/lib/defaultColorSet.d.ts.map +1 -0
- package/dist/commonjs/preview-react/color-picker/lib/parts/ColorReset.d.ts.map +1 -0
- package/dist/commonjs/{color-picker → preview-react/color-picker}/lib/parts/ColorReset.js +1 -1
- package/dist/commonjs/preview-react/color-picker/lib/parts/SwatchBook.d.ts.map +1 -0
- package/dist/commonjs/{color-picker → preview-react/color-picker}/lib/parts/SwatchBook.js +1 -1
- package/dist/commonjs/preview-react/divider/index.d.ts.map +1 -0
- package/dist/commonjs/preview-react/divider/lib/Divider.d.ts.map +1 -0
- package/dist/commonjs/{divider → preview-react/divider}/lib/Divider.js +3 -3
- package/dist/commonjs/preview-react/index.d.ts.map +1 -0
- package/dist/commonjs/preview-react/loading-sparkles/index.d.ts.map +1 -0
- package/dist/commonjs/preview-react/loading-sparkles/lib/LoadingSparkles.d.ts.map +1 -0
- package/dist/commonjs/{loading-sparkles → preview-react/loading-sparkles}/lib/LoadingSparkles.js +2 -2
- package/dist/commonjs/preview-react/loading-sparkles/lib/sparkleIcon.d.ts.map +1 -0
- package/dist/commonjs/preview-react/multi-select/index.d.ts.map +1 -0
- package/dist/commonjs/{multi-select → preview-react/multi-select}/lib/MultiSelect.d.ts.map +1 -1
- package/dist/commonjs/{multi-select → preview-react/multi-select}/lib/MultiSelectCard.d.ts.map +1 -1
- package/dist/commonjs/preview-react/multi-select/lib/MultiSelectInput.d.ts.map +1 -0
- package/dist/commonjs/{multi-select → preview-react/multi-select}/lib/MultiSelectInput.js +3 -3
- package/dist/{es6 → commonjs/preview-react}/multi-select/lib/MultiSelectItem.d.ts.map +1 -1
- package/dist/{es6 → commonjs/preview-react}/multi-select/lib/MultiSelectedItem.d.ts.map +1 -1
- package/dist/commonjs/preview-react/multi-select/lib/MultiSelectedList.d.ts.map +1 -0
- package/dist/{es6 → commonjs/preview-react}/multi-select/lib/useMultiSelectItemRemove.d.ts.map +1 -1
- package/dist/{es6 → commonjs/preview-react}/multi-select/lib/useMultiSelectModel.d.ts.map +1 -1
- package/dist/commonjs/preview-react/radio/index.d.ts.map +1 -0
- package/dist/commonjs/preview-react/radio/lib/RadioButton.d.ts.map +1 -0
- package/dist/commonjs/preview-react/radio/lib/RadioGroup.d.ts.map +1 -0
- package/dist/commonjs/{radio → preview-react/radio}/lib/RadioGroup.js +3 -3
- package/dist/commonjs/preview-react/radio/lib/RadioInput.d.ts.map +1 -0
- package/dist/commonjs/preview-react/radio/lib/RadioLabel.d.ts.map +1 -0
- package/dist/commonjs/{radio → preview-react/radio}/lib/RadioLabel.js +1 -1
- package/dist/commonjs/preview-react/radio/lib/RadioText.d.ts.map +1 -0
- package/dist/commonjs/{radio → preview-react/radio}/lib/RadioText.js +3 -3
- package/dist/commonjs/preview-react/radio/lib/StyledRadioButton.d.ts.map +1 -0
- package/dist/commonjs/{radio → preview-react/radio}/lib/StyledRadioButton.js +5 -5
- package/dist/commonjs/preview-react/radio/lib/hooks/useRadioModel.d.ts.map +1 -0
- package/dist/commonjs/preview-react/side-panel/index.d.ts.map +1 -0
- package/dist/commonjs/preview-react/side-panel/lib/SidePanel.d.ts.map +1 -0
- package/dist/commonjs/{side-panel → preview-react/side-panel}/lib/SidePanel.js +7 -7
- package/dist/commonjs/preview-react/side-panel/lib/SidePanelToggleButton.d.ts.map +1 -0
- package/dist/commonjs/{side-panel → preview-react/side-panel}/lib/SidePanelToggleButton.js +11 -11
- package/dist/commonjs/preview-react/side-panel/lib/hooks.d.ts.map +1 -0
- package/dist/commonjs/preview-react/status-indicator/index.d.ts.map +1 -0
- package/dist/commonjs/preview-react/status-indicator/lib/StatusIndicator.d.ts.map +1 -0
- package/dist/commonjs/{status-indicator → preview-react/status-indicator}/lib/StatusIndicator.js +14 -14
- package/dist/commonjs/preview-react/status-indicator/lib/StatusIndicatorIcon.d.ts.map +1 -0
- package/dist/commonjs/preview-react/status-indicator/lib/StatusIndicatorLabel.d.ts.map +1 -0
- package/dist/commonjs/{status-indicator → preview-react/status-indicator}/lib/StatusIndicatorLabel.js +1 -1
- package/dist/commonjs/preview-react/switch/index.d.ts.map +1 -0
- package/dist/commonjs/preview-react/switch/lib/Switch.d.ts.map +1 -0
- package/dist/commonjs/preview-react/switch/lib/SwitchBackground.d.ts.map +1 -0
- package/dist/commonjs/{switch → preview-react/switch}/lib/SwitchBackground.js +1 -1
- package/dist/commonjs/preview-react/switch/lib/SwitchCircle.d.ts.map +1 -0
- package/dist/commonjs/{switch → preview-react/switch}/lib/SwitchCircle.js +2 -2
- package/dist/commonjs/preview-react/switch/lib/SwitchContainer.d.ts.map +1 -0
- package/dist/commonjs/{switch → preview-react/switch}/lib/SwitchContainer.js +1 -1
- package/dist/commonjs/preview-react/switch/lib/SwitchIcon.d.ts.map +1 -0
- package/dist/commonjs/{switch → preview-react/switch}/lib/SwitchIcon.js +2 -2
- package/dist/commonjs/preview-react/switch/lib/SwitchInput.d.ts.map +1 -0
- package/dist/commonjs/{switch → preview-react/switch}/lib/SwitchInput.js +3 -3
- package/dist/commonjs/preview-react/tabs/index.d.ts.map +1 -0
- package/dist/commonjs/{tabs → preview-react/tabs}/lib/Tabs.d.ts.map +1 -1
- package/dist/commonjs/{tabs → preview-react/tabs}/lib/TabsItem.d.ts +3 -1
- package/dist/commonjs/preview-react/tabs/lib/TabsItem.d.ts.map +1 -0
- package/dist/commonjs/preview-react/tabs/lib/TabsItem.js +105 -0
- package/dist/{es6 → commonjs/preview-react}/tabs/lib/TabsList.d.ts +330 -2
- package/dist/commonjs/preview-react/tabs/lib/TabsList.d.ts.map +1 -0
- package/dist/commonjs/{tabs → preview-react/tabs}/lib/TabsList.js +66 -12
- package/dist/{es6 → commonjs/preview-react}/tabs/lib/TabsOverflowButton.d.ts +24 -215
- package/dist/commonjs/preview-react/tabs/lib/TabsOverflowButton.d.ts.map +1 -0
- package/dist/commonjs/preview-react/tabs/lib/TabsOverflowButton.js +93 -0
- package/dist/commonjs/{tabs → preview-react/tabs}/lib/TabsPanel.d.ts.map +1 -1
- package/dist/commonjs/preview-react/tabs/lib/TabsPanels.d.ts.map +1 -0
- package/dist/commonjs/{tabs → preview-react/tabs}/lib/TabsPanels.js +2 -2
- package/dist/commonjs/{tabs → preview-react/tabs}/lib/useTabsModel.d.ts +17 -12
- package/dist/commonjs/preview-react/tabs/lib/useTabsModel.d.ts.map +1 -0
- package/dist/commonjs/preview-react/tabs/lib/useTabsModel.js +267 -0
- package/dist/commonjs/preview-react/version/index.d.ts.map +1 -0
- package/dist/commonjs/preview-react/version/lib/version.d.ts.map +1 -0
- package/dist/commonjs/{version → preview-react/version}/lib/version.js +1 -1
- package/dist/commonjs/react/collection/lib/keyUtils.d.ts +26 -0
- package/dist/commonjs/react/collection/lib/keyUtils.d.ts.map +1 -0
- package/dist/commonjs/react/collection/lib/keyUtils.js +84 -0
- package/dist/commonjs/react/collection/lib/useBaseListModel.d.ts +308 -0
- package/dist/commonjs/react/collection/lib/useBaseListModel.d.ts.map +1 -0
- package/dist/commonjs/react/collection/lib/useBaseListModel.js +195 -0
- package/dist/commonjs/react/collection/lib/useCursorListModel.d.ts +1424 -0
- package/dist/commonjs/react/collection/lib/useCursorListModel.d.ts.map +1 -0
- package/dist/commonjs/react/collection/lib/useCursorListModel.js +396 -0
- package/dist/es6/preview-react/color-picker/index.d.ts.map +1 -0
- package/dist/es6/preview-react/color-picker/lib/ColorPicker.d.ts.map +1 -0
- package/dist/es6/{color-picker → preview-react/color-picker}/lib/ColorPicker.js +1 -1
- package/dist/es6/preview-react/color-picker/lib/defaultColorSet.d.ts.map +1 -0
- package/dist/es6/preview-react/color-picker/lib/parts/ColorReset.d.ts.map +1 -0
- package/dist/es6/preview-react/color-picker/lib/parts/ColorReset.js +16 -0
- package/dist/es6/preview-react/color-picker/lib/parts/SwatchBook.d.ts.map +1 -0
- package/dist/es6/{color-picker → preview-react/color-picker}/lib/parts/SwatchBook.js +1 -1
- package/dist/es6/preview-react/divider/index.d.ts.map +1 -0
- package/dist/es6/preview-react/divider/lib/Divider.d.ts.map +1 -0
- package/dist/es6/{divider → preview-react/divider}/lib/Divider.js +3 -3
- package/dist/es6/preview-react/index.d.ts.map +1 -0
- package/dist/es6/preview-react/loading-sparkles/index.d.ts.map +1 -0
- package/dist/es6/preview-react/loading-sparkles/lib/LoadingSparkles.d.ts.map +1 -0
- package/dist/es6/{loading-sparkles → preview-react/loading-sparkles}/lib/LoadingSparkles.js +2 -2
- package/dist/es6/preview-react/loading-sparkles/lib/sparkleIcon.d.ts.map +1 -0
- package/dist/es6/preview-react/multi-select/index.d.ts.map +1 -0
- package/dist/es6/{multi-select → preview-react/multi-select}/lib/MultiSelect.d.ts.map +1 -1
- package/dist/es6/{multi-select → preview-react/multi-select}/lib/MultiSelectCard.d.ts.map +1 -1
- package/dist/es6/preview-react/multi-select/lib/MultiSelectInput.d.ts.map +1 -0
- package/dist/es6/{multi-select → preview-react/multi-select}/lib/MultiSelectInput.js +3 -3
- package/dist/{commonjs → es6/preview-react}/multi-select/lib/MultiSelectItem.d.ts.map +1 -1
- package/dist/{commonjs → es6/preview-react}/multi-select/lib/MultiSelectedItem.d.ts.map +1 -1
- package/dist/es6/preview-react/multi-select/lib/MultiSelectedList.d.ts.map +1 -0
- package/dist/{commonjs → es6/preview-react}/multi-select/lib/useMultiSelectItemRemove.d.ts.map +1 -1
- package/dist/{commonjs → es6/preview-react}/multi-select/lib/useMultiSelectModel.d.ts.map +1 -1
- package/dist/es6/preview-react/radio/index.d.ts.map +1 -0
- package/dist/es6/preview-react/radio/lib/RadioButton.d.ts.map +1 -0
- package/dist/es6/preview-react/radio/lib/RadioGroup.d.ts.map +1 -0
- package/dist/es6/{radio → preview-react/radio}/lib/RadioGroup.js +3 -3
- package/dist/es6/preview-react/radio/lib/RadioInput.d.ts.map +1 -0
- package/dist/es6/preview-react/radio/lib/RadioLabel.d.ts.map +1 -0
- package/dist/es6/{radio → preview-react/radio}/lib/RadioLabel.js +1 -1
- package/dist/es6/preview-react/radio/lib/RadioText.d.ts.map +1 -0
- package/dist/es6/{radio → preview-react/radio}/lib/RadioText.js +3 -3
- package/dist/es6/preview-react/radio/lib/StyledRadioButton.d.ts.map +1 -0
- package/dist/es6/{radio → preview-react/radio}/lib/StyledRadioButton.js +5 -5
- package/dist/es6/preview-react/radio/lib/hooks/useRadioModel.d.ts.map +1 -0
- package/dist/es6/preview-react/side-panel/index.d.ts.map +1 -0
- package/dist/es6/preview-react/side-panel/lib/SidePanel.d.ts.map +1 -0
- package/dist/es6/{side-panel → preview-react/side-panel}/lib/SidePanel.js +7 -7
- package/dist/es6/preview-react/side-panel/lib/SidePanelToggleButton.d.ts.map +1 -0
- package/dist/es6/{side-panel → preview-react/side-panel}/lib/SidePanelToggleButton.js +11 -11
- package/dist/es6/preview-react/side-panel/lib/hooks.d.ts.map +1 -0
- package/dist/es6/preview-react/status-indicator/index.d.ts.map +1 -0
- package/dist/es6/preview-react/status-indicator/lib/StatusIndicator.d.ts.map +1 -0
- package/dist/es6/{status-indicator → preview-react/status-indicator}/lib/StatusIndicator.js +14 -14
- package/dist/es6/preview-react/status-indicator/lib/StatusIndicatorIcon.d.ts.map +1 -0
- package/dist/es6/preview-react/status-indicator/lib/StatusIndicatorLabel.d.ts.map +1 -0
- package/dist/es6/{status-indicator → preview-react/status-indicator}/lib/StatusIndicatorLabel.js +1 -1
- package/dist/es6/preview-react/switch/index.d.ts.map +1 -0
- package/dist/es6/preview-react/switch/lib/Switch.d.ts.map +1 -0
- package/dist/es6/preview-react/switch/lib/SwitchBackground.d.ts.map +1 -0
- package/dist/es6/{switch → preview-react/switch}/lib/SwitchBackground.js +1 -1
- package/dist/es6/preview-react/switch/lib/SwitchCircle.d.ts.map +1 -0
- package/dist/es6/{switch → preview-react/switch}/lib/SwitchCircle.js +2 -2
- package/dist/es6/preview-react/switch/lib/SwitchContainer.d.ts.map +1 -0
- package/dist/es6/{switch → preview-react/switch}/lib/SwitchContainer.js +1 -1
- package/dist/es6/preview-react/switch/lib/SwitchIcon.d.ts.map +1 -0
- package/dist/es6/{switch → preview-react/switch}/lib/SwitchIcon.js +2 -2
- package/dist/es6/preview-react/switch/lib/SwitchInput.d.ts.map +1 -0
- package/dist/es6/{switch → preview-react/switch}/lib/SwitchInput.js +3 -3
- package/dist/es6/preview-react/tabs/index.d.ts.map +1 -0
- package/dist/es6/{tabs → preview-react/tabs}/lib/Tabs.d.ts.map +1 -1
- package/dist/es6/{tabs → preview-react/tabs}/lib/TabsItem.d.ts +3 -1
- package/dist/es6/preview-react/tabs/lib/TabsItem.d.ts.map +1 -0
- package/dist/es6/preview-react/tabs/lib/TabsItem.js +79 -0
- package/dist/{commonjs → es6/preview-react}/tabs/lib/TabsList.d.ts +330 -2
- package/dist/es6/preview-react/tabs/lib/TabsList.d.ts.map +1 -0
- package/dist/es6/preview-react/tabs/lib/TabsList.js +148 -0
- package/dist/{commonjs → es6/preview-react}/tabs/lib/TabsOverflowButton.d.ts +24 -215
- package/dist/es6/preview-react/tabs/lib/TabsOverflowButton.d.ts.map +1 -0
- package/dist/es6/preview-react/tabs/lib/TabsOverflowButton.js +89 -0
- package/dist/es6/{tabs → preview-react/tabs}/lib/TabsPanel.d.ts.map +1 -1
- package/dist/es6/preview-react/tabs/lib/TabsPanels.d.ts.map +1 -0
- package/dist/es6/{tabs → preview-react/tabs}/lib/TabsPanels.js +2 -2
- package/dist/es6/{tabs → preview-react/tabs}/lib/useTabsModel.d.ts +17 -12
- package/dist/es6/preview-react/tabs/lib/useTabsModel.d.ts.map +1 -0
- package/dist/es6/preview-react/tabs/lib/useTabsModel.js +261 -0
- package/dist/es6/preview-react/version/index.d.ts.map +1 -0
- package/dist/es6/preview-react/version/lib/version.d.ts.map +1 -0
- package/dist/es6/preview-react/version/lib/version.js +1 -0
- package/dist/es6/react/collection/lib/keyUtils.d.ts +26 -0
- package/dist/es6/react/collection/lib/keyUtils.d.ts.map +1 -0
- package/dist/es6/react/collection/lib/keyUtils.js +80 -0
- package/dist/es6/react/collection/lib/useBaseListModel.d.ts +308 -0
- package/dist/es6/react/collection/lib/useBaseListModel.d.ts.map +1 -0
- package/dist/es6/react/collection/lib/useBaseListModel.js +187 -0
- package/dist/es6/react/collection/lib/useCursorListModel.d.ts +1424 -0
- package/dist/es6/react/collection/lib/useCursorListModel.d.ts.map +1 -0
- package/dist/es6/react/collection/lib/useCursorListModel.js +379 -0
- package/package.json +4 -4
- package/tabs/lib/TabsItem.tsx +39 -0
- package/tabs/lib/TabsList.tsx +83 -5
- package/tabs/lib/TabsOverflowButton.tsx +77 -5
- package/tabs/lib/TabsPanels.tsx +2 -2
- package/tabs/lib/useTabsModel.tsx +161 -3
- package/dist/commonjs/color-picker/index.d.ts.map +0 -1
- package/dist/commonjs/color-picker/lib/ColorPicker.d.ts.map +0 -1
- package/dist/commonjs/color-picker/lib/defaultColorSet.d.ts.map +0 -1
- package/dist/commonjs/color-picker/lib/parts/ColorReset.d.ts.map +0 -1
- package/dist/commonjs/color-picker/lib/parts/SwatchBook.d.ts.map +0 -1
- package/dist/commonjs/divider/index.d.ts.map +0 -1
- package/dist/commonjs/divider/lib/Divider.d.ts.map +0 -1
- package/dist/commonjs/index.d.ts.map +0 -1
- package/dist/commonjs/loading-sparkles/index.d.ts.map +0 -1
- package/dist/commonjs/loading-sparkles/lib/LoadingSparkles.d.ts.map +0 -1
- package/dist/commonjs/loading-sparkles/lib/sparkleIcon.d.ts.map +0 -1
- package/dist/commonjs/multi-select/index.d.ts.map +0 -1
- package/dist/commonjs/multi-select/lib/MultiSelectInput.d.ts.map +0 -1
- package/dist/commonjs/multi-select/lib/MultiSelectedList.d.ts.map +0 -1
- package/dist/commonjs/radio/index.d.ts.map +0 -1
- package/dist/commonjs/radio/lib/RadioButton.d.ts.map +0 -1
- package/dist/commonjs/radio/lib/RadioGroup.d.ts.map +0 -1
- package/dist/commonjs/radio/lib/RadioInput.d.ts.map +0 -1
- package/dist/commonjs/radio/lib/RadioLabel.d.ts.map +0 -1
- package/dist/commonjs/radio/lib/RadioText.d.ts.map +0 -1
- package/dist/commonjs/radio/lib/StyledRadioButton.d.ts.map +0 -1
- package/dist/commonjs/radio/lib/hooks/useRadioModel.d.ts.map +0 -1
- package/dist/commonjs/side-panel/index.d.ts.map +0 -1
- package/dist/commonjs/side-panel/lib/SidePanel.d.ts.map +0 -1
- package/dist/commonjs/side-panel/lib/SidePanelToggleButton.d.ts.map +0 -1
- package/dist/commonjs/side-panel/lib/hooks.d.ts.map +0 -1
- package/dist/commonjs/status-indicator/index.d.ts.map +0 -1
- package/dist/commonjs/status-indicator/lib/StatusIndicator.d.ts.map +0 -1
- package/dist/commonjs/status-indicator/lib/StatusIndicatorIcon.d.ts.map +0 -1
- package/dist/commonjs/status-indicator/lib/StatusIndicatorLabel.d.ts.map +0 -1
- package/dist/commonjs/switch/index.d.ts.map +0 -1
- package/dist/commonjs/switch/lib/Switch.d.ts.map +0 -1
- package/dist/commonjs/switch/lib/SwitchBackground.d.ts.map +0 -1
- package/dist/commonjs/switch/lib/SwitchCircle.d.ts.map +0 -1
- package/dist/commonjs/switch/lib/SwitchContainer.d.ts.map +0 -1
- package/dist/commonjs/switch/lib/SwitchIcon.d.ts.map +0 -1
- package/dist/commonjs/switch/lib/SwitchInput.d.ts.map +0 -1
- package/dist/commonjs/tabs/index.d.ts.map +0 -1
- package/dist/commonjs/tabs/lib/TabsItem.d.ts.map +0 -1
- package/dist/commonjs/tabs/lib/TabsItem.js +0 -50
- package/dist/commonjs/tabs/lib/TabsList.d.ts.map +0 -1
- package/dist/commonjs/tabs/lib/TabsOverflowButton.d.ts.map +0 -1
- package/dist/commonjs/tabs/lib/TabsOverflowButton.js +0 -28
- package/dist/commonjs/tabs/lib/TabsPanels.d.ts.map +0 -1
- package/dist/commonjs/tabs/lib/useTabsModel.d.ts.map +0 -1
- package/dist/commonjs/tabs/lib/useTabsModel.js +0 -128
- package/dist/commonjs/version/index.d.ts.map +0 -1
- package/dist/commonjs/version/lib/version.d.ts.map +0 -1
- package/dist/es6/color-picker/index.d.ts.map +0 -1
- package/dist/es6/color-picker/lib/ColorPicker.d.ts.map +0 -1
- package/dist/es6/color-picker/lib/defaultColorSet.d.ts.map +0 -1
- package/dist/es6/color-picker/lib/parts/ColorReset.d.ts.map +0 -1
- package/dist/es6/color-picker/lib/parts/ColorReset.js +0 -16
- package/dist/es6/color-picker/lib/parts/SwatchBook.d.ts.map +0 -1
- package/dist/es6/divider/index.d.ts.map +0 -1
- package/dist/es6/divider/lib/Divider.d.ts.map +0 -1
- package/dist/es6/index.d.ts.map +0 -1
- package/dist/es6/loading-sparkles/index.d.ts.map +0 -1
- package/dist/es6/loading-sparkles/lib/LoadingSparkles.d.ts.map +0 -1
- package/dist/es6/loading-sparkles/lib/sparkleIcon.d.ts.map +0 -1
- package/dist/es6/multi-select/index.d.ts.map +0 -1
- package/dist/es6/multi-select/lib/MultiSelectInput.d.ts.map +0 -1
- package/dist/es6/multi-select/lib/MultiSelectedList.d.ts.map +0 -1
- package/dist/es6/radio/index.d.ts.map +0 -1
- package/dist/es6/radio/lib/RadioButton.d.ts.map +0 -1
- package/dist/es6/radio/lib/RadioGroup.d.ts.map +0 -1
- package/dist/es6/radio/lib/RadioInput.d.ts.map +0 -1
- package/dist/es6/radio/lib/RadioLabel.d.ts.map +0 -1
- package/dist/es6/radio/lib/RadioText.d.ts.map +0 -1
- package/dist/es6/radio/lib/StyledRadioButton.d.ts.map +0 -1
- package/dist/es6/radio/lib/hooks/useRadioModel.d.ts.map +0 -1
- package/dist/es6/side-panel/index.d.ts.map +0 -1
- package/dist/es6/side-panel/lib/SidePanel.d.ts.map +0 -1
- package/dist/es6/side-panel/lib/SidePanelToggleButton.d.ts.map +0 -1
- package/dist/es6/side-panel/lib/hooks.d.ts.map +0 -1
- package/dist/es6/status-indicator/index.d.ts.map +0 -1
- package/dist/es6/status-indicator/lib/StatusIndicator.d.ts.map +0 -1
- package/dist/es6/status-indicator/lib/StatusIndicatorIcon.d.ts.map +0 -1
- package/dist/es6/status-indicator/lib/StatusIndicatorLabel.d.ts.map +0 -1
- package/dist/es6/switch/index.d.ts.map +0 -1
- package/dist/es6/switch/lib/Switch.d.ts.map +0 -1
- package/dist/es6/switch/lib/SwitchBackground.d.ts.map +0 -1
- package/dist/es6/switch/lib/SwitchCircle.d.ts.map +0 -1
- package/dist/es6/switch/lib/SwitchContainer.d.ts.map +0 -1
- package/dist/es6/switch/lib/SwitchIcon.d.ts.map +0 -1
- package/dist/es6/switch/lib/SwitchInput.d.ts.map +0 -1
- package/dist/es6/tabs/index.d.ts.map +0 -1
- package/dist/es6/tabs/lib/TabsItem.d.ts.map +0 -1
- package/dist/es6/tabs/lib/TabsItem.js +0 -47
- package/dist/es6/tabs/lib/TabsList.d.ts.map +0 -1
- package/dist/es6/tabs/lib/TabsList.js +0 -95
- package/dist/es6/tabs/lib/TabsOverflowButton.d.ts.map +0 -1
- package/dist/es6/tabs/lib/TabsOverflowButton.js +0 -25
- package/dist/es6/tabs/lib/TabsPanels.d.ts.map +0 -1
- package/dist/es6/tabs/lib/useTabsModel.d.ts.map +0 -1
- package/dist/es6/tabs/lib/useTabsModel.js +0 -122
- package/dist/es6/version/index.d.ts.map +0 -1
- package/dist/es6/version/lib/version.d.ts.map +0 -1
- package/dist/es6/version/lib/version.js +0 -1
- /package/dist/commonjs/{color-picker → preview-react/color-picker}/index.d.ts +0 -0
- /package/dist/commonjs/{color-picker → preview-react/color-picker}/index.js +0 -0
- /package/dist/commonjs/{color-picker → preview-react/color-picker}/lib/ColorPicker.d.ts +0 -0
- /package/dist/commonjs/{color-picker → preview-react/color-picker}/lib/defaultColorSet.d.ts +0 -0
- /package/dist/commonjs/{color-picker → preview-react/color-picker}/lib/defaultColorSet.js +0 -0
- /package/dist/commonjs/{color-picker → preview-react/color-picker}/lib/parts/ColorReset.d.ts +0 -0
- /package/dist/commonjs/{color-picker → preview-react/color-picker}/lib/parts/SwatchBook.d.ts +0 -0
- /package/dist/commonjs/{divider → preview-react/divider}/index.d.ts +0 -0
- /package/dist/commonjs/{divider → preview-react/divider}/index.js +0 -0
- /package/dist/commonjs/{divider → preview-react/divider}/lib/Divider.d.ts +0 -0
- /package/dist/commonjs/{index.d.ts → preview-react/index.d.ts} +0 -0
- /package/dist/commonjs/{index.js → preview-react/index.js} +0 -0
- /package/dist/commonjs/{loading-sparkles → preview-react/loading-sparkles}/index.d.ts +0 -0
- /package/dist/commonjs/{loading-sparkles → preview-react/loading-sparkles}/index.js +0 -0
- /package/dist/commonjs/{loading-sparkles → preview-react/loading-sparkles}/lib/LoadingSparkles.d.ts +0 -0
- /package/dist/commonjs/{loading-sparkles → preview-react/loading-sparkles}/lib/sparkleIcon.d.ts +0 -0
- /package/dist/commonjs/{loading-sparkles → preview-react/loading-sparkles}/lib/sparkleIcon.js +0 -0
- /package/dist/commonjs/{multi-select → preview-react/multi-select}/index.d.ts +0 -0
- /package/dist/commonjs/{multi-select → preview-react/multi-select}/index.js +0 -0
- /package/dist/commonjs/{multi-select → preview-react/multi-select}/lib/MultiSelect.d.ts +0 -0
- /package/dist/commonjs/{multi-select → preview-react/multi-select}/lib/MultiSelect.js +0 -0
- /package/dist/commonjs/{multi-select → preview-react/multi-select}/lib/MultiSelectCard.d.ts +0 -0
- /package/dist/commonjs/{multi-select → preview-react/multi-select}/lib/MultiSelectCard.js +0 -0
- /package/dist/commonjs/{multi-select → preview-react/multi-select}/lib/MultiSelectInput.d.ts +0 -0
- /package/dist/commonjs/{multi-select → preview-react/multi-select}/lib/MultiSelectItem.d.ts +0 -0
- /package/dist/commonjs/{multi-select → preview-react/multi-select}/lib/MultiSelectItem.js +0 -0
- /package/dist/commonjs/{multi-select → preview-react/multi-select}/lib/MultiSelectedItem.d.ts +0 -0
- /package/dist/commonjs/{multi-select → preview-react/multi-select}/lib/MultiSelectedItem.js +0 -0
- /package/dist/commonjs/{multi-select → preview-react/multi-select}/lib/MultiSelectedList.d.ts +0 -0
- /package/dist/commonjs/{multi-select → preview-react/multi-select}/lib/MultiSelectedList.js +0 -0
- /package/dist/commonjs/{multi-select → preview-react/multi-select}/lib/useMultiSelectItemRemove.d.ts +0 -0
- /package/dist/commonjs/{multi-select → preview-react/multi-select}/lib/useMultiSelectItemRemove.js +0 -0
- /package/dist/commonjs/{multi-select → preview-react/multi-select}/lib/useMultiSelectModel.d.ts +0 -0
- /package/dist/commonjs/{multi-select → preview-react/multi-select}/lib/useMultiSelectModel.js +0 -0
- /package/dist/commonjs/{radio → preview-react/radio}/index.d.ts +0 -0
- /package/dist/commonjs/{radio → preview-react/radio}/index.js +0 -0
- /package/dist/commonjs/{radio → preview-react/radio}/lib/RadioButton.d.ts +0 -0
- /package/dist/commonjs/{radio → preview-react/radio}/lib/RadioButton.js +0 -0
- /package/dist/commonjs/{radio → preview-react/radio}/lib/RadioGroup.d.ts +0 -0
- /package/dist/commonjs/{radio → preview-react/radio}/lib/RadioInput.d.ts +0 -0
- /package/dist/commonjs/{radio → preview-react/radio}/lib/RadioInput.js +0 -0
- /package/dist/commonjs/{radio → preview-react/radio}/lib/RadioLabel.d.ts +0 -0
- /package/dist/commonjs/{radio → preview-react/radio}/lib/RadioText.d.ts +0 -0
- /package/dist/commonjs/{radio → preview-react/radio}/lib/StyledRadioButton.d.ts +0 -0
- /package/dist/commonjs/{radio → preview-react/radio}/lib/hooks/useRadioModel.d.ts +0 -0
- /package/dist/commonjs/{radio → preview-react/radio}/lib/hooks/useRadioModel.js +0 -0
- /package/dist/commonjs/{side-panel → preview-react/side-panel}/index.d.ts +0 -0
- /package/dist/commonjs/{side-panel → preview-react/side-panel}/index.js +0 -0
- /package/dist/commonjs/{side-panel → preview-react/side-panel}/lib/SidePanel.d.ts +0 -0
- /package/dist/commonjs/{side-panel → preview-react/side-panel}/lib/SidePanelToggleButton.d.ts +0 -0
- /package/dist/commonjs/{side-panel → preview-react/side-panel}/lib/hooks.d.ts +0 -0
- /package/dist/commonjs/{side-panel → preview-react/side-panel}/lib/hooks.js +0 -0
- /package/dist/commonjs/{status-indicator → preview-react/status-indicator}/index.d.ts +0 -0
- /package/dist/commonjs/{status-indicator → preview-react/status-indicator}/index.js +0 -0
- /package/dist/commonjs/{status-indicator → preview-react/status-indicator}/lib/StatusIndicator.d.ts +0 -0
- /package/dist/commonjs/{status-indicator → preview-react/status-indicator}/lib/StatusIndicatorIcon.d.ts +0 -0
- /package/dist/commonjs/{status-indicator → preview-react/status-indicator}/lib/StatusIndicatorIcon.js +0 -0
- /package/dist/commonjs/{status-indicator → preview-react/status-indicator}/lib/StatusIndicatorLabel.d.ts +0 -0
- /package/dist/commonjs/{switch → preview-react/switch}/index.d.ts +0 -0
- /package/dist/commonjs/{switch → preview-react/switch}/index.js +0 -0
- /package/dist/commonjs/{switch → preview-react/switch}/lib/Switch.d.ts +0 -0
- /package/dist/commonjs/{switch → preview-react/switch}/lib/Switch.js +0 -0
- /package/dist/commonjs/{switch → preview-react/switch}/lib/SwitchBackground.d.ts +0 -0
- /package/dist/commonjs/{switch → preview-react/switch}/lib/SwitchCircle.d.ts +0 -0
- /package/dist/commonjs/{switch → preview-react/switch}/lib/SwitchContainer.d.ts +0 -0
- /package/dist/commonjs/{switch → preview-react/switch}/lib/SwitchIcon.d.ts +0 -0
- /package/dist/commonjs/{switch → preview-react/switch}/lib/SwitchInput.d.ts +0 -0
- /package/dist/commonjs/{tabs → preview-react/tabs}/index.d.ts +0 -0
- /package/dist/commonjs/{tabs → preview-react/tabs}/index.js +0 -0
- /package/dist/commonjs/{tabs → preview-react/tabs}/lib/Tabs.d.ts +0 -0
- /package/dist/commonjs/{tabs → preview-react/tabs}/lib/Tabs.js +0 -0
- /package/dist/commonjs/{tabs → preview-react/tabs}/lib/TabsPanel.d.ts +0 -0
- /package/dist/commonjs/{tabs → preview-react/tabs}/lib/TabsPanel.js +0 -0
- /package/dist/commonjs/{tabs → preview-react/tabs}/lib/TabsPanels.d.ts +0 -0
- /package/dist/commonjs/{version → preview-react/version}/index.d.ts +0 -0
- /package/dist/commonjs/{version → preview-react/version}/index.js +0 -0
- /package/dist/commonjs/{version → preview-react/version}/lib/version.d.ts +0 -0
- /package/dist/es6/{color-picker → preview-react/color-picker}/index.d.ts +0 -0
- /package/dist/es6/{color-picker → preview-react/color-picker}/index.js +0 -0
- /package/dist/es6/{color-picker → preview-react/color-picker}/lib/ColorPicker.d.ts +0 -0
- /package/dist/es6/{color-picker → preview-react/color-picker}/lib/defaultColorSet.d.ts +0 -0
- /package/dist/es6/{color-picker → preview-react/color-picker}/lib/defaultColorSet.js +0 -0
- /package/dist/es6/{color-picker → preview-react/color-picker}/lib/parts/ColorReset.d.ts +0 -0
- /package/dist/es6/{color-picker → preview-react/color-picker}/lib/parts/SwatchBook.d.ts +0 -0
- /package/dist/es6/{divider → preview-react/divider}/index.d.ts +0 -0
- /package/dist/es6/{divider → preview-react/divider}/index.js +0 -0
- /package/dist/es6/{divider → preview-react/divider}/lib/Divider.d.ts +0 -0
- /package/dist/es6/{index.d.ts → preview-react/index.d.ts} +0 -0
- /package/dist/es6/{index.js → preview-react/index.js} +0 -0
- /package/dist/es6/{loading-sparkles → preview-react/loading-sparkles}/index.d.ts +0 -0
- /package/dist/es6/{loading-sparkles → preview-react/loading-sparkles}/index.js +0 -0
- /package/dist/es6/{loading-sparkles → preview-react/loading-sparkles}/lib/LoadingSparkles.d.ts +0 -0
- /package/dist/es6/{loading-sparkles → preview-react/loading-sparkles}/lib/sparkleIcon.d.ts +0 -0
- /package/dist/es6/{loading-sparkles → preview-react/loading-sparkles}/lib/sparkleIcon.js +0 -0
- /package/dist/es6/{multi-select → preview-react/multi-select}/index.d.ts +0 -0
- /package/dist/es6/{multi-select → preview-react/multi-select}/index.js +0 -0
- /package/dist/es6/{multi-select → preview-react/multi-select}/lib/MultiSelect.d.ts +0 -0
- /package/dist/es6/{multi-select → preview-react/multi-select}/lib/MultiSelect.js +0 -0
- /package/dist/es6/{multi-select → preview-react/multi-select}/lib/MultiSelectCard.d.ts +0 -0
- /package/dist/es6/{multi-select → preview-react/multi-select}/lib/MultiSelectCard.js +0 -0
- /package/dist/es6/{multi-select → preview-react/multi-select}/lib/MultiSelectInput.d.ts +0 -0
- /package/dist/es6/{multi-select → preview-react/multi-select}/lib/MultiSelectItem.d.ts +0 -0
- /package/dist/es6/{multi-select → preview-react/multi-select}/lib/MultiSelectItem.js +0 -0
- /package/dist/es6/{multi-select → preview-react/multi-select}/lib/MultiSelectedItem.d.ts +0 -0
- /package/dist/es6/{multi-select → preview-react/multi-select}/lib/MultiSelectedItem.js +0 -0
- /package/dist/es6/{multi-select → preview-react/multi-select}/lib/MultiSelectedList.d.ts +0 -0
- /package/dist/es6/{multi-select → preview-react/multi-select}/lib/MultiSelectedList.js +0 -0
- /package/dist/es6/{multi-select → preview-react/multi-select}/lib/useMultiSelectItemRemove.d.ts +0 -0
- /package/dist/es6/{multi-select → preview-react/multi-select}/lib/useMultiSelectItemRemove.js +0 -0
- /package/dist/es6/{multi-select → preview-react/multi-select}/lib/useMultiSelectModel.d.ts +0 -0
- /package/dist/es6/{multi-select → preview-react/multi-select}/lib/useMultiSelectModel.js +0 -0
- /package/dist/es6/{radio → preview-react/radio}/index.d.ts +0 -0
- /package/dist/es6/{radio → preview-react/radio}/index.js +0 -0
- /package/dist/es6/{radio → preview-react/radio}/lib/RadioButton.d.ts +0 -0
- /package/dist/es6/{radio → preview-react/radio}/lib/RadioButton.js +0 -0
- /package/dist/es6/{radio → preview-react/radio}/lib/RadioGroup.d.ts +0 -0
- /package/dist/es6/{radio → preview-react/radio}/lib/RadioInput.d.ts +0 -0
- /package/dist/es6/{radio → preview-react/radio}/lib/RadioInput.js +0 -0
- /package/dist/es6/{radio → preview-react/radio}/lib/RadioLabel.d.ts +0 -0
- /package/dist/es6/{radio → preview-react/radio}/lib/RadioText.d.ts +0 -0
- /package/dist/es6/{radio → preview-react/radio}/lib/StyledRadioButton.d.ts +0 -0
- /package/dist/es6/{radio → preview-react/radio}/lib/hooks/useRadioModel.d.ts +0 -0
- /package/dist/es6/{radio → preview-react/radio}/lib/hooks/useRadioModel.js +0 -0
- /package/dist/es6/{side-panel → preview-react/side-panel}/index.d.ts +0 -0
- /package/dist/es6/{side-panel → preview-react/side-panel}/index.js +0 -0
- /package/dist/es6/{side-panel → preview-react/side-panel}/lib/SidePanel.d.ts +0 -0
- /package/dist/es6/{side-panel → preview-react/side-panel}/lib/SidePanelToggleButton.d.ts +0 -0
- /package/dist/es6/{side-panel → preview-react/side-panel}/lib/hooks.d.ts +0 -0
- /package/dist/es6/{side-panel → preview-react/side-panel}/lib/hooks.js +0 -0
- /package/dist/es6/{status-indicator → preview-react/status-indicator}/index.d.ts +0 -0
- /package/dist/es6/{status-indicator → preview-react/status-indicator}/index.js +0 -0
- /package/dist/es6/{status-indicator → preview-react/status-indicator}/lib/StatusIndicator.d.ts +0 -0
- /package/dist/es6/{status-indicator → preview-react/status-indicator}/lib/StatusIndicatorIcon.d.ts +0 -0
- /package/dist/es6/{status-indicator → preview-react/status-indicator}/lib/StatusIndicatorIcon.js +0 -0
- /package/dist/es6/{status-indicator → preview-react/status-indicator}/lib/StatusIndicatorLabel.d.ts +0 -0
- /package/dist/es6/{switch → preview-react/switch}/index.d.ts +0 -0
- /package/dist/es6/{switch → preview-react/switch}/index.js +0 -0
- /package/dist/es6/{switch → preview-react/switch}/lib/Switch.d.ts +0 -0
- /package/dist/es6/{switch → preview-react/switch}/lib/Switch.js +0 -0
- /package/dist/es6/{switch → preview-react/switch}/lib/SwitchBackground.d.ts +0 -0
- /package/dist/es6/{switch → preview-react/switch}/lib/SwitchCircle.d.ts +0 -0
- /package/dist/es6/{switch → preview-react/switch}/lib/SwitchContainer.d.ts +0 -0
- /package/dist/es6/{switch → preview-react/switch}/lib/SwitchIcon.d.ts +0 -0
- /package/dist/es6/{switch → preview-react/switch}/lib/SwitchInput.d.ts +0 -0
- /package/dist/es6/{tabs → preview-react/tabs}/index.d.ts +0 -0
- /package/dist/es6/{tabs → preview-react/tabs}/index.js +0 -0
- /package/dist/es6/{tabs → preview-react/tabs}/lib/Tabs.d.ts +0 -0
- /package/dist/es6/{tabs → preview-react/tabs}/lib/Tabs.js +0 -0
- /package/dist/es6/{tabs → preview-react/tabs}/lib/TabsPanel.d.ts +0 -0
- /package/dist/es6/{tabs → preview-react/tabs}/lib/TabsPanel.js +0 -0
- /package/dist/es6/{tabs → preview-react/tabs}/lib/TabsPanels.d.ts +0 -0
- /package/dist/es6/{version → preview-react/version}/index.d.ts +0 -0
- /package/dist/es6/{version → preview-react/version}/index.js +0 -0
- /package/dist/es6/{version → preview-react/version}/lib/version.d.ts +0 -0
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { defaultGetId, useListModel, useOverflowListModel, } from '@workday/canvas-kit-react/collection';
|
|
3
|
+
import { createModelHook, slugify, useModalityType } from '@workday/canvas-kit-react/common';
|
|
4
|
+
import { useMenuModel } from '@workday/canvas-kit-react/menu';
|
|
5
|
+
/**
|
|
6
|
+
* This constant is used as the stable identifier for the overflow button in the tabs collection.
|
|
7
|
+
* It uses a `__` prefix to avoid conflicts with user-provided item IDs.
|
|
8
|
+
*/
|
|
9
|
+
export const TABS_OVERFLOW_BUTTON_ID = '__tabs-overflow__';
|
|
10
|
+
/**
|
|
11
|
+
* The TabsModel extends the [Collection
|
|
12
|
+
* System](/get-started/for-developers/guides/collection-api/). Tabs have tab items and
|
|
13
|
+
* panels. Tabs can be overflowed if there isn't enough room to render and will overflow to a
|
|
14
|
+
* {@link MenuModel} sub-model.
|
|
15
|
+
*
|
|
16
|
+
* ```tsx
|
|
17
|
+
* const model = useTabsModel({
|
|
18
|
+
* onSelect(data) {
|
|
19
|
+
* console.log('Selected Tab', data)
|
|
20
|
+
* }
|
|
21
|
+
* })
|
|
22
|
+
*
|
|
23
|
+
* <Tabs model={model}>{Tabs child components}</Tabs>
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export const useTabsModel = createModelHook({
|
|
27
|
+
defaultConfig: {
|
|
28
|
+
...useOverflowListModel.defaultConfig,
|
|
29
|
+
/**
|
|
30
|
+
* Optional id for the whole `Tabs` group. The `aria-controls` of the `Tab.Item` and `id` of the
|
|
31
|
+
* `Tab.Panel` will automatically be derived from this id. If not provided, a unique id will be
|
|
32
|
+
* created.
|
|
33
|
+
* @default useUniqueId()
|
|
34
|
+
*/
|
|
35
|
+
id: '',
|
|
36
|
+
/**
|
|
37
|
+
* An initially selected tab. This value must match the `name` of the `Tab.Item` component. If
|
|
38
|
+
* not provided, the first tab will be selected.
|
|
39
|
+
*/
|
|
40
|
+
initialTab: '',
|
|
41
|
+
/**
|
|
42
|
+
* The default Tabs sub-components only handle rendering of tabs in a horizontal orientation, but
|
|
43
|
+
* the sub-components could be replaced to handle vertical orientations.
|
|
44
|
+
* @default 'horizontal'
|
|
45
|
+
*/
|
|
46
|
+
orientation: 'horizontal',
|
|
47
|
+
/**
|
|
48
|
+
* The variant of the Tabs.
|
|
49
|
+
* @default 'filled'
|
|
50
|
+
*/
|
|
51
|
+
variant: 'filled',
|
|
52
|
+
menuConfig: {},
|
|
53
|
+
},
|
|
54
|
+
requiredConfig: useOverflowListModel.requiredConfig,
|
|
55
|
+
contextOverride: useOverflowListModel.Context,
|
|
56
|
+
})(config => {
|
|
57
|
+
var _a, _b;
|
|
58
|
+
const initialSelectedRef = React.useRef(config.initialTab);
|
|
59
|
+
const userGetId = config.getId || defaultGetId;
|
|
60
|
+
const modality = useModalityType();
|
|
61
|
+
// Stable object so getId can recognize the synthetic overflow item. Callers
|
|
62
|
+
// often pass a getId that only understands their own item shape (for example
|
|
63
|
+
// `item => item.contextId`). Without this, the overflow item gets an empty id
|
|
64
|
+
// and Tabs.List renders it as a normal tab.
|
|
65
|
+
const overflowItemRef = React.useRef({
|
|
66
|
+
id: TABS_OVERFLOW_BUTTON_ID,
|
|
67
|
+
text: 'More',
|
|
68
|
+
});
|
|
69
|
+
const getId = (item) => {
|
|
70
|
+
if (item === overflowItemRef.current) {
|
|
71
|
+
return TABS_OVERFLOW_BUTTON_ID;
|
|
72
|
+
}
|
|
73
|
+
const id = userGetId(item);
|
|
74
|
+
if (id === TABS_OVERFLOW_BUTTON_ID) {
|
|
75
|
+
throw new Error(`Tabs item id "${TABS_OVERFLOW_BUTTON_ID}" is reserved for the overflow tab. Choose a different id.`);
|
|
76
|
+
}
|
|
77
|
+
return id;
|
|
78
|
+
};
|
|
79
|
+
// When using dynamic items, append a synthetic overflow button item to the
|
|
80
|
+
// items array. This ensures the overflow button is included in the navigation
|
|
81
|
+
// sequence for roving tabindex. The overflow button component will handle
|
|
82
|
+
// conditional rendering (not showing when there are no hidden items).
|
|
83
|
+
// The overflow button is NOT included in itemSizeCache (measured separately
|
|
84
|
+
// via setOverflowTargetSize), so it won't be incorrectly hidden.
|
|
85
|
+
const itemsWithOverflowButton = React.useMemo(() => {
|
|
86
|
+
var _a;
|
|
87
|
+
if ((_a = config.items) === null || _a === void 0 ? void 0 : _a.length) {
|
|
88
|
+
return [...config.items, overflowItemRef.current];
|
|
89
|
+
}
|
|
90
|
+
return config.items;
|
|
91
|
+
}, [config.items]);
|
|
92
|
+
// Track whether the overflow button should be non-interactive based on previous
|
|
93
|
+
// render's hiddenIds. We use a ref because hiddenIds isn't available until after
|
|
94
|
+
// the model is created, but we need to pass nonInteractiveIds to the model config.
|
|
95
|
+
// On first render, assume non-interactive (no overflow calculated yet).
|
|
96
|
+
// On subsequent renders, use the previous hiddenIds.length to determine.
|
|
97
|
+
const prevHiddenIdsLengthRef = React.useRef(0);
|
|
98
|
+
const [, setNonInteractiveTick] = React.useState(0);
|
|
99
|
+
const overflowButtonNonInteractive = !!((_a = config.items) === null || _a === void 0 ? void 0 : _a.length) && prevHiddenIdsLengthRef.current === 0;
|
|
100
|
+
// Compute nonInteractiveIds to pass to the model, including overflow button when appropriate
|
|
101
|
+
const nonInteractiveIdsForModel = React.useMemo(() => {
|
|
102
|
+
const baseIds = config.nonInteractiveIds || [];
|
|
103
|
+
if (overflowButtonNonInteractive) {
|
|
104
|
+
return [...baseIds, TABS_OVERFLOW_BUTTON_ID];
|
|
105
|
+
}
|
|
106
|
+
return baseIds;
|
|
107
|
+
}, [config.nonInteractiveIds, overflowButtonNonInteractive]);
|
|
108
|
+
// Stores the ID of a tab that should receive focus after the menu closes.
|
|
109
|
+
// This is used when selecting a tab from the overflow menu - we want focus
|
|
110
|
+
// to go to the newly selected tab, not back to the overflow button.
|
|
111
|
+
const pendingFocusTabIdRef = React.useRef(null);
|
|
112
|
+
const pendingFocusRafOuterRef = React.useRef(0);
|
|
113
|
+
const pendingFocusRafInnerRef = React.useRef(0);
|
|
114
|
+
React.useLayoutEffect(() => {
|
|
115
|
+
return () => {
|
|
116
|
+
cancelAnimationFrame(pendingFocusRafOuterRef.current);
|
|
117
|
+
cancelAnimationFrame(pendingFocusRafInnerRef.current);
|
|
118
|
+
};
|
|
119
|
+
}, []);
|
|
120
|
+
const model = useOverflowListModel(useOverflowListModel.mergeConfig(config, {
|
|
121
|
+
items: itemsWithOverflowButton,
|
|
122
|
+
getId,
|
|
123
|
+
nonInteractiveIds: nonInteractiveIdsForModel,
|
|
124
|
+
shouldCalculateOverflow: modality !== 'touch',
|
|
125
|
+
orientation: config.orientation || 'horizontal',
|
|
126
|
+
onRegisterItem(data) {
|
|
127
|
+
if (!initialSelectedRef.current) {
|
|
128
|
+
initialSelectedRef.current = data.id;
|
|
129
|
+
events.select({ id: initialSelectedRef.current });
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
initialSelectedIds: config.initialTab
|
|
133
|
+
? [config.initialTab]
|
|
134
|
+
: ((_b = config.items) === null || _b === void 0 ? void 0 : _b.length)
|
|
135
|
+
? [getId(config.items[0])]
|
|
136
|
+
: [],
|
|
137
|
+
shouldVirtualize: false,
|
|
138
|
+
}));
|
|
139
|
+
// Update the ref after each render so the next render knows the current hiddenIds.length.
|
|
140
|
+
// If hiddenIds.length changed (e.g. overflow just calculated), force a re-render so
|
|
141
|
+
// we pass the correct nonInteractiveIds and the overflow button is not stuck disabled.
|
|
142
|
+
React.useLayoutEffect(() => {
|
|
143
|
+
const nextLen = model.state.hiddenIds.length;
|
|
144
|
+
if (prevHiddenIdsLengthRef.current !== nextLen) {
|
|
145
|
+
prevHiddenIdsLengthRef.current = nextLen;
|
|
146
|
+
setNonInteractiveTick(t => t + 1);
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
prevHiddenIdsLengthRef.current = nextLen;
|
|
150
|
+
}
|
|
151
|
+
}, [model.state.hiddenIds.length]);
|
|
152
|
+
// When the cursor is on an item that isn't in the DOM, move it to a visible one so the
|
|
153
|
+
// roving tabindex lands on a focusable element. This covers: (1) cursor on a hidden tab when
|
|
154
|
+
// only "More" is visible, and (2) cursor on the overflow button when we widen and it unmounts.
|
|
155
|
+
React.useLayoutEffect(() => {
|
|
156
|
+
var _a;
|
|
157
|
+
const { cursorId, hiddenIds, items } = model.state;
|
|
158
|
+
if (!cursorId) {
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
const currentCursorId = typeof cursorId === 'string' ? cursorId : ((_a = cursorId.slice(-1)[0]) !== null && _a !== void 0 ? _a : '');
|
|
162
|
+
const cursorOnHidden = currentCursorId ? hiddenIds.includes(currentCursorId) : false;
|
|
163
|
+
const cursorOnOverflowWhenNoOverflow = currentCursorId === TABS_OVERFLOW_BUTTON_ID && hiddenIds.length === 0;
|
|
164
|
+
if (cursorOnHidden) {
|
|
165
|
+
// Move to first visible item (including overflow button when it's the only one visible)
|
|
166
|
+
const firstVisible = items.find(item => !hiddenIds.includes(item.id));
|
|
167
|
+
if (firstVisible) {
|
|
168
|
+
model.events.goTo({ id: firstVisible.id });
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
else if (cursorOnOverflowWhenNoOverflow) {
|
|
172
|
+
// Overflow button unmounted; move to selected tab or first tab (not the overflow button)
|
|
173
|
+
const selectedIds = model.state.selectedIds;
|
|
174
|
+
const selectedId = selectedIds !== 'all' && Array.isArray(selectedIds) && selectedIds.length
|
|
175
|
+
? selectedIds[0]
|
|
176
|
+
: undefined;
|
|
177
|
+
const firstVisibleTab = items.find(item => item.id !== TABS_OVERFLOW_BUTTON_ID && !hiddenIds.includes(item.id));
|
|
178
|
+
const targetId = selectedId && !hiddenIds.includes(selectedId) ? selectedId : firstVisibleTab === null || firstVisibleTab === void 0 ? void 0 : firstVisibleTab.id;
|
|
179
|
+
if (targetId) {
|
|
180
|
+
model.events.goTo({ id: targetId });
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
// Use field-level deps instead of `model.state` so this does not re-run on every model update.
|
|
184
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
185
|
+
}, [
|
|
186
|
+
model.state.cursorId,
|
|
187
|
+
model.state.hiddenIds,
|
|
188
|
+
model.state.items,
|
|
189
|
+
model.state.selectedIds,
|
|
190
|
+
model.events,
|
|
191
|
+
]);
|
|
192
|
+
const panels = useListModel();
|
|
193
|
+
const state = {
|
|
194
|
+
...model.state,
|
|
195
|
+
getId,
|
|
196
|
+
orientation: config.orientation || 'horizontal',
|
|
197
|
+
/**
|
|
198
|
+
* A list of panels. Uses `ListModel`
|
|
199
|
+
*/
|
|
200
|
+
panels: panels.state.items,
|
|
201
|
+
/**
|
|
202
|
+
* A React.Ref of the current item index. A ref is used to allow for updating outside the normal
|
|
203
|
+
* React state cycle to ensure accurate index tracking as items are registered within the same
|
|
204
|
+
* state setting phase.
|
|
205
|
+
*/
|
|
206
|
+
panelIndexRef: panels.state.indexRef,
|
|
207
|
+
variant: config.variant || 'filled',
|
|
208
|
+
};
|
|
209
|
+
const overflowItems = React.useMemo(() => config.items ? config.items.filter(item => state.hiddenIds.includes(getId(item))) : undefined,
|
|
210
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
211
|
+
[state.hiddenIds, config.items]);
|
|
212
|
+
const events = {
|
|
213
|
+
...model.events,
|
|
214
|
+
/**
|
|
215
|
+
* This event registers panels with state.panels. Called when a panel is mounted.
|
|
216
|
+
*/
|
|
217
|
+
registerPanel: panels.events.registerItem,
|
|
218
|
+
/**
|
|
219
|
+
* This event unregisters panels with state.panels. Called when a panel is unmounted.
|
|
220
|
+
*/
|
|
221
|
+
unregisterPanel: panels.events.unregisterItem,
|
|
222
|
+
};
|
|
223
|
+
const menu = useMenuModel(useMenuModel.mergeConfig(config.menuConfig, {
|
|
224
|
+
id: `menu-${model.state.id}`,
|
|
225
|
+
items: overflowItems,
|
|
226
|
+
nonInteractiveIds: state.nonInteractiveIds.filter(key => !state.hiddenIds.includes(key)),
|
|
227
|
+
onSelect(data) {
|
|
228
|
+
// Store the tab ID to focus after the menu closes and React re-renders
|
|
229
|
+
pendingFocusTabIdRef.current = data.id;
|
|
230
|
+
// Update state: select the tab, move cursor, then close menu
|
|
231
|
+
events.select(data);
|
|
232
|
+
model.events.goTo({ id: data.id });
|
|
233
|
+
menu.events.hide();
|
|
234
|
+
// Focus the selected tab AFTER React has re-rendered.
|
|
235
|
+
// Double rAF is required because useReturnFocus restores focus to the overflow
|
|
236
|
+
// button on a single rAF after hide; the second frame runs after that restore.
|
|
237
|
+
pendingFocusRafOuterRef.current = requestAnimationFrame(() => {
|
|
238
|
+
pendingFocusRafInnerRef.current = requestAnimationFrame(() => {
|
|
239
|
+
const tabId = pendingFocusTabIdRef.current;
|
|
240
|
+
if (tabId) {
|
|
241
|
+
const tabElement = document.querySelector(`[data-focus-id="${slugify(`${model.state.id}-${tabId}`)}"]`);
|
|
242
|
+
if (tabElement) {
|
|
243
|
+
tabElement.focus();
|
|
244
|
+
}
|
|
245
|
+
pendingFocusTabIdRef.current = null;
|
|
246
|
+
}
|
|
247
|
+
});
|
|
248
|
+
});
|
|
249
|
+
},
|
|
250
|
+
onShow() {
|
|
251
|
+
// Always select the first item when the menu is opened
|
|
252
|
+
menu.events.goToFirst();
|
|
253
|
+
},
|
|
254
|
+
}));
|
|
255
|
+
return {
|
|
256
|
+
...model,
|
|
257
|
+
state,
|
|
258
|
+
events,
|
|
259
|
+
menu,
|
|
260
|
+
};
|
|
261
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../version/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../../../version/lib/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,EAAE,MAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const version = '16.1.8';
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useCursorListModel } from './useCursorListModel';
|
|
3
|
+
export declare const orientationKeyMap: {
|
|
4
|
+
readonly horizontal: {
|
|
5
|
+
readonly ArrowLeft: "goToPrevious";
|
|
6
|
+
readonly Left: "goToPrevious";
|
|
7
|
+
readonly ArrowRight: "goToNext";
|
|
8
|
+
readonly Right: "goToNext";
|
|
9
|
+
readonly Home: "goToFirst";
|
|
10
|
+
readonly End: "goToLast";
|
|
11
|
+
readonly PageDown: "goToNextPage";
|
|
12
|
+
readonly PageUp: "goToPreviousPage";
|
|
13
|
+
};
|
|
14
|
+
readonly vertical: {
|
|
15
|
+
readonly ArrowUp: "goToPrevious";
|
|
16
|
+
readonly Up: "goToPrevious";
|
|
17
|
+
readonly ArrowDown: "goToNext";
|
|
18
|
+
readonly Down: "goToNext";
|
|
19
|
+
readonly Home: "goToFirst";
|
|
20
|
+
readonly End: "goToLast";
|
|
21
|
+
readonly PageDown: "goToNextPage";
|
|
22
|
+
readonly PageUp: "goToPreviousPage";
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
export declare function keyboardEventToCursorEvents(event: React.KeyboardEvent, model: ReturnType<typeof useCursorListModel>): boolean;
|
|
26
|
+
//# sourceMappingURL=keyUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyUtils.d.ts","sourceRoot":"","sources":["../../../../../../react/collection/lib/keyUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAExD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;CAqBpB,CAAC;AAgCX,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,KAAK,CAAC,aAAa,EAC1B,KAAK,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,GAC3C,OAAO,CA8BT"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { isElementRTL } from '@workday/canvas-kit-react/common';
|
|
2
|
+
export const orientationKeyMap = {
|
|
3
|
+
horizontal: {
|
|
4
|
+
ArrowLeft: 'goToPrevious',
|
|
5
|
+
Left: 'goToPrevious',
|
|
6
|
+
ArrowRight: 'goToNext',
|
|
7
|
+
Right: 'goToNext',
|
|
8
|
+
Home: 'goToFirst',
|
|
9
|
+
End: 'goToLast',
|
|
10
|
+
PageDown: 'goToNextPage',
|
|
11
|
+
PageUp: 'goToPreviousPage',
|
|
12
|
+
},
|
|
13
|
+
vertical: {
|
|
14
|
+
ArrowUp: 'goToPrevious',
|
|
15
|
+
Up: 'goToPrevious',
|
|
16
|
+
ArrowDown: 'goToNext',
|
|
17
|
+
Down: 'goToNext',
|
|
18
|
+
Home: 'goToFirst',
|
|
19
|
+
End: 'goToLast',
|
|
20
|
+
PageDown: 'goToNextPage',
|
|
21
|
+
PageUp: 'goToPreviousPage',
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
const rightToLeftMap = {
|
|
25
|
+
ArrowLeft: 'ArrowRight',
|
|
26
|
+
Left: 'Right',
|
|
27
|
+
ArrowRight: 'ArrowLeft',
|
|
28
|
+
Right: 'Left',
|
|
29
|
+
ArrowUp: 'ArrowUp',
|
|
30
|
+
ArrowDown: 'ArrowDown',
|
|
31
|
+
Home: 'Home',
|
|
32
|
+
End: 'End',
|
|
33
|
+
PageDown: 'PageDown',
|
|
34
|
+
PageUp: 'PageUp',
|
|
35
|
+
};
|
|
36
|
+
const gridKeyMap = {
|
|
37
|
+
...orientationKeyMap.horizontal,
|
|
38
|
+
Home: 'goToFirstOfRow',
|
|
39
|
+
End: 'goToLastOfRow',
|
|
40
|
+
ArrowUp: 'goToPreviousRow',
|
|
41
|
+
Up: 'goToPreviousRow',
|
|
42
|
+
ArrowDown: 'goToNextRow',
|
|
43
|
+
Down: 'goToNextRow',
|
|
44
|
+
};
|
|
45
|
+
const ctrlKeyMap = {
|
|
46
|
+
Home: 'goToFirst',
|
|
47
|
+
End: 'goToLast',
|
|
48
|
+
};
|
|
49
|
+
const hasOwnKey = (obj, key) => obj.hasOwnProperty(key);
|
|
50
|
+
export function keyboardEventToCursorEvents(event, model) {
|
|
51
|
+
var _a, _b, _c, _d;
|
|
52
|
+
// Test ctrl key first
|
|
53
|
+
if (event.ctrlKey) {
|
|
54
|
+
for (const key in ctrlKeyMap) {
|
|
55
|
+
if (hasOwnKey(ctrlKeyMap, key)) {
|
|
56
|
+
if (event.key === key) {
|
|
57
|
+
(_b = (_a = model.events)[ctrlKeyMap[key]]) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
// Try regular keys
|
|
64
|
+
const map = model.state.columnCount > 0 ? gridKeyMap : orientationKeyMap[model.state.orientation];
|
|
65
|
+
const isRTL = isElementRTL(event.currentTarget);
|
|
66
|
+
for (const key in map) {
|
|
67
|
+
if (hasOwnKey(map, key)) {
|
|
68
|
+
if (isRTL ? event.key === rightToLeftMap[key] : event.key === key) {
|
|
69
|
+
const eventName = model.state.columnCount > 0
|
|
70
|
+
? gridKeyMap[key]
|
|
71
|
+
: orientationKeyMap[model.state.orientation][key];
|
|
72
|
+
if (model.events[eventName]) {
|
|
73
|
+
(_d = (_c = model.events)[eventName]) === null || _d === void 0 ? void 0 : _d.call(_c);
|
|
74
|
+
return true;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return false;
|
|
80
|
+
}
|