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