@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,308 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Generic } from '@workday/canvas-kit-react/common';
|
|
3
|
+
export type Orientation = 'horizontal' | 'vertical';
|
|
4
|
+
export declare const defaultGetId: (item: Generic) => string;
|
|
5
|
+
export declare const defaultGetTextValue: (item: Generic) => string;
|
|
6
|
+
export interface Item<T> {
|
|
7
|
+
index: number;
|
|
8
|
+
id: string;
|
|
9
|
+
value: T;
|
|
10
|
+
/**
|
|
11
|
+
* Used by components that allow jumping to an item based on typing
|
|
12
|
+
*/
|
|
13
|
+
textValue: string;
|
|
14
|
+
}
|
|
15
|
+
export declare const useBaseListModel: (<TT_Special_Generic>(config?: (Partial<{
|
|
16
|
+
/** IDREF of the list. Children ids can be derived from this id */
|
|
17
|
+
id: string;
|
|
18
|
+
/**
|
|
19
|
+
* Optional function to return an id of an item. If not provided, the default function will
|
|
20
|
+
* return the `id` property from the object of each item. If you did not provide `items`, do not
|
|
21
|
+
* override this function. If you don't provided `items` and instead provide static items via
|
|
22
|
+
* JSX, the list will create an internal array of items where `id` is the only property and the
|
|
23
|
+
* default `getId` will return the desired result.
|
|
24
|
+
*/
|
|
25
|
+
getId: (item: Generic) => string;
|
|
26
|
+
/**
|
|
27
|
+
* Optional function to return the text representation of an item. If not provided, the default
|
|
28
|
+
* function will return the `text` property of the object of each item or an empty string if
|
|
29
|
+
* there is no `text` property. If you did not provide `items`, do not override this function.
|
|
30
|
+
*/
|
|
31
|
+
getTextValue: (item: Generic) => string;
|
|
32
|
+
/**
|
|
33
|
+
* Array of all ids which are currently disabled. This is used for navigation to skip over items
|
|
34
|
+
* which are not focusable.
|
|
35
|
+
*/
|
|
36
|
+
nonInteractiveIds: string[];
|
|
37
|
+
/**
|
|
38
|
+
* The orientation of a list of items. Values are either `vertical` or `horizontal`. This value will
|
|
39
|
+
* effect which ids activate progression through a list. For example, `horizontal` will activate with
|
|
40
|
+
* left and right arrows while `vertical` will activate with up and down arrows.
|
|
41
|
+
* @default 'vertical'
|
|
42
|
+
*/
|
|
43
|
+
orientation: Orientation;
|
|
44
|
+
/**
|
|
45
|
+
* Best guess to the default item height for virtualization. Getting this number correct
|
|
46
|
+
* avoids a rerender while the list is initializing.
|
|
47
|
+
*
|
|
48
|
+
* @default 50
|
|
49
|
+
*/
|
|
50
|
+
defaultItemHeight: number;
|
|
51
|
+
shouldVirtualize: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Optional array of items. If provided, use a render prop for list children instead of static
|
|
54
|
+
* children. If the shape of each item object does not have an `id` property or uses a different
|
|
55
|
+
* property to uniquely identify each item, a `getId` must also be supplied.
|
|
56
|
+
*/
|
|
57
|
+
items: Generic[];
|
|
58
|
+
}> & {
|
|
59
|
+
onRegisterItem?: ((data: {
|
|
60
|
+
id: string;
|
|
61
|
+
textValue: string;
|
|
62
|
+
}, prevState: {
|
|
63
|
+
UNSTABLE_virtual: import("@tanstack/virtual-core").Virtualizer<HTMLDivElement, Element>;
|
|
64
|
+
UNSTABLE_defaultItemHeight: number;
|
|
65
|
+
containerRef: React.RefObject<HTMLDivElement>;
|
|
66
|
+
id: string;
|
|
67
|
+
orientation: "horizontal" | "vertical";
|
|
68
|
+
indexRef: React.MutableRefObject<number>;
|
|
69
|
+
nonInteractiveIds: string[];
|
|
70
|
+
isVirtualized: boolean;
|
|
71
|
+
items: Item<Generic>[];
|
|
72
|
+
}) => void) | undefined;
|
|
73
|
+
onUnregisterItem?: ((data: {
|
|
74
|
+
id: string;
|
|
75
|
+
}, prevState: {
|
|
76
|
+
UNSTABLE_virtual: import("@tanstack/virtual-core").Virtualizer<HTMLDivElement, Element>;
|
|
77
|
+
UNSTABLE_defaultItemHeight: number;
|
|
78
|
+
containerRef: React.RefObject<HTMLDivElement>;
|
|
79
|
+
id: string;
|
|
80
|
+
orientation: "horizontal" | "vertical";
|
|
81
|
+
indexRef: React.MutableRefObject<number>;
|
|
82
|
+
nonInteractiveIds: string[];
|
|
83
|
+
isVirtualized: boolean;
|
|
84
|
+
items: Item<Generic>[];
|
|
85
|
+
}) => void) | undefined;
|
|
86
|
+
onUpdateItemHeight?: ((data: {
|
|
87
|
+
value: number;
|
|
88
|
+
}, prevState: {
|
|
89
|
+
UNSTABLE_virtual: import("@tanstack/virtual-core").Virtualizer<HTMLDivElement, Element>;
|
|
90
|
+
UNSTABLE_defaultItemHeight: number;
|
|
91
|
+
containerRef: React.RefObject<HTMLDivElement>;
|
|
92
|
+
id: string;
|
|
93
|
+
orientation: "horizontal" | "vertical";
|
|
94
|
+
indexRef: React.MutableRefObject<number>;
|
|
95
|
+
nonInteractiveIds: string[];
|
|
96
|
+
isVirtualized: boolean;
|
|
97
|
+
items: Item<Generic>[];
|
|
98
|
+
}) => void) | undefined;
|
|
99
|
+
} & {
|
|
100
|
+
shouldRegisterItem?: ((data: {
|
|
101
|
+
id: string;
|
|
102
|
+
textValue: string;
|
|
103
|
+
}, state: {
|
|
104
|
+
UNSTABLE_virtual: import("@tanstack/virtual-core").Virtualizer<HTMLDivElement, Element>;
|
|
105
|
+
UNSTABLE_defaultItemHeight: number;
|
|
106
|
+
containerRef: React.RefObject<HTMLDivElement>;
|
|
107
|
+
id: string;
|
|
108
|
+
orientation: "horizontal" | "vertical";
|
|
109
|
+
indexRef: React.MutableRefObject<number>;
|
|
110
|
+
nonInteractiveIds: string[];
|
|
111
|
+
isVirtualized: boolean;
|
|
112
|
+
items: Item<Generic>[];
|
|
113
|
+
}) => boolean) | undefined;
|
|
114
|
+
shouldUnregisterItem?: ((data: {
|
|
115
|
+
id: string;
|
|
116
|
+
}, state: {
|
|
117
|
+
UNSTABLE_virtual: import("@tanstack/virtual-core").Virtualizer<HTMLDivElement, Element>;
|
|
118
|
+
UNSTABLE_defaultItemHeight: number;
|
|
119
|
+
containerRef: React.RefObject<HTMLDivElement>;
|
|
120
|
+
id: string;
|
|
121
|
+
orientation: "horizontal" | "vertical";
|
|
122
|
+
indexRef: React.MutableRefObject<number>;
|
|
123
|
+
nonInteractiveIds: string[];
|
|
124
|
+
isVirtualized: boolean;
|
|
125
|
+
items: Item<Generic>[];
|
|
126
|
+
}) => boolean) | undefined;
|
|
127
|
+
shouldUpdateItemHeight?: ((data: {
|
|
128
|
+
value: number;
|
|
129
|
+
}, state: {
|
|
130
|
+
UNSTABLE_virtual: import("@tanstack/virtual-core").Virtualizer<HTMLDivElement, Element>;
|
|
131
|
+
UNSTABLE_defaultItemHeight: number;
|
|
132
|
+
containerRef: React.RefObject<HTMLDivElement>;
|
|
133
|
+
id: string;
|
|
134
|
+
orientation: "horizontal" | "vertical";
|
|
135
|
+
indexRef: React.MutableRefObject<number>;
|
|
136
|
+
nonInteractiveIds: string[];
|
|
137
|
+
isVirtualized: boolean;
|
|
138
|
+
items: Item<Generic>[];
|
|
139
|
+
}) => boolean) | undefined;
|
|
140
|
+
}) | undefined) => {
|
|
141
|
+
state: {
|
|
142
|
+
UNSTABLE_virtual: import("@tanstack/virtual-core").Virtualizer<HTMLDivElement, Element>;
|
|
143
|
+
UNSTABLE_defaultItemHeight: number;
|
|
144
|
+
containerRef: React.RefObject<HTMLDivElement>;
|
|
145
|
+
id: string;
|
|
146
|
+
orientation: "horizontal" | "vertical";
|
|
147
|
+
indexRef: React.MutableRefObject<number>;
|
|
148
|
+
nonInteractiveIds: string[];
|
|
149
|
+
isVirtualized: boolean;
|
|
150
|
+
items: Item<Generic>[];
|
|
151
|
+
};
|
|
152
|
+
events: {
|
|
153
|
+
/**
|
|
154
|
+
* Register an item to the list. Takes in an identifier, a React.Ref and an optional index. This
|
|
155
|
+
* should be called on component mount. This event is only called for static rendering.
|
|
156
|
+
*/
|
|
157
|
+
registerItem(data: {
|
|
158
|
+
id: string;
|
|
159
|
+
textValue: string;
|
|
160
|
+
}): void;
|
|
161
|
+
/**
|
|
162
|
+
* Unregister an item by its identifier. This should be called when the component is unmounted.
|
|
163
|
+
* This event is only called for static rendering.
|
|
164
|
+
*/
|
|
165
|
+
unregisterItem(data: {
|
|
166
|
+
id: string;
|
|
167
|
+
}): void;
|
|
168
|
+
/**
|
|
169
|
+
* Updates the default item height. This should only be called when item height is measured.
|
|
170
|
+
* Calling this with a different default item height than previous will cause a virtual list to
|
|
171
|
+
* recalculate the overall height of the list and invalidate any height caching. Doing this only
|
|
172
|
+
* on the first item may save the user from experiencing odd scrolling behavior where the
|
|
173
|
+
* scrollbar updates while scrolling. If the user uses the mouse to drag the bar, it can become
|
|
174
|
+
* "detached" since the browser recalculates scroll bar position while the overflow container is
|
|
175
|
+
* updated.
|
|
176
|
+
*/
|
|
177
|
+
updateItemHeight(data: {
|
|
178
|
+
value: number;
|
|
179
|
+
}): void;
|
|
180
|
+
};
|
|
181
|
+
getId: (item: Generic) => string;
|
|
182
|
+
getTextValue: (item: Generic) => string;
|
|
183
|
+
}) & import("@workday/canvas-kit-react/common").ModelExtras<{
|
|
184
|
+
/** IDREF of the list. Children ids can be derived from this id */
|
|
185
|
+
id: string;
|
|
186
|
+
/**
|
|
187
|
+
* Optional function to return an id of an item. If not provided, the default function will
|
|
188
|
+
* return the `id` property from the object of each item. If you did not provide `items`, do not
|
|
189
|
+
* override this function. If you don't provided `items` and instead provide static items via
|
|
190
|
+
* JSX, the list will create an internal array of items where `id` is the only property and the
|
|
191
|
+
* default `getId` will return the desired result.
|
|
192
|
+
*/
|
|
193
|
+
getId: (item: Generic) => string;
|
|
194
|
+
/**
|
|
195
|
+
* Optional function to return the text representation of an item. If not provided, the default
|
|
196
|
+
* function will return the `text` property of the object of each item or an empty string if
|
|
197
|
+
* there is no `text` property. If you did not provide `items`, do not override this function.
|
|
198
|
+
*/
|
|
199
|
+
getTextValue: (item: Generic) => string;
|
|
200
|
+
/**
|
|
201
|
+
* Array of all ids which are currently disabled. This is used for navigation to skip over items
|
|
202
|
+
* which are not focusable.
|
|
203
|
+
*/
|
|
204
|
+
nonInteractiveIds: string[];
|
|
205
|
+
/**
|
|
206
|
+
* The orientation of a list of items. Values are either `vertical` or `horizontal`. This value will
|
|
207
|
+
* effect which ids activate progression through a list. For example, `horizontal` will activate with
|
|
208
|
+
* left and right arrows while `vertical` will activate with up and down arrows.
|
|
209
|
+
* @default 'vertical'
|
|
210
|
+
*/
|
|
211
|
+
orientation: Orientation;
|
|
212
|
+
/**
|
|
213
|
+
* Best guess to the default item height for virtualization. Getting this number correct
|
|
214
|
+
* avoids a rerender while the list is initializing.
|
|
215
|
+
*
|
|
216
|
+
* @default 50
|
|
217
|
+
*/
|
|
218
|
+
defaultItemHeight: number;
|
|
219
|
+
shouldVirtualize: boolean;
|
|
220
|
+
/**
|
|
221
|
+
* Optional array of items. If provided, use a render prop for list children instead of static
|
|
222
|
+
* children. If the shape of each item object does not have an `id` property or uses a different
|
|
223
|
+
* property to uniquely identify each item, a `getId` must also be supplied.
|
|
224
|
+
*/
|
|
225
|
+
items: Generic[];
|
|
226
|
+
}, {}, {
|
|
227
|
+
UNSTABLE_virtual: import("@tanstack/virtual-core").Virtualizer<HTMLDivElement, Element>;
|
|
228
|
+
UNSTABLE_defaultItemHeight: number;
|
|
229
|
+
containerRef: React.RefObject<HTMLDivElement>;
|
|
230
|
+
id: string;
|
|
231
|
+
orientation: "horizontal" | "vertical";
|
|
232
|
+
indexRef: React.MutableRefObject<number>;
|
|
233
|
+
nonInteractiveIds: string[];
|
|
234
|
+
isVirtualized: boolean;
|
|
235
|
+
items: Item<Generic>[];
|
|
236
|
+
}, {
|
|
237
|
+
/**
|
|
238
|
+
* Register an item to the list. Takes in an identifier, a React.Ref and an optional index. This
|
|
239
|
+
* should be called on component mount. This event is only called for static rendering.
|
|
240
|
+
*/
|
|
241
|
+
registerItem(data: {
|
|
242
|
+
id: string;
|
|
243
|
+
textValue: string;
|
|
244
|
+
}): void;
|
|
245
|
+
/**
|
|
246
|
+
* Unregister an item by its identifier. This should be called when the component is unmounted.
|
|
247
|
+
* This event is only called for static rendering.
|
|
248
|
+
*/
|
|
249
|
+
unregisterItem(data: {
|
|
250
|
+
id: string;
|
|
251
|
+
}): void;
|
|
252
|
+
/**
|
|
253
|
+
* Updates the default item height. This should only be called when item height is measured.
|
|
254
|
+
* Calling this with a different default item height than previous will cause a virtual list to
|
|
255
|
+
* recalculate the overall height of the list and invalidate any height caching. Doing this only
|
|
256
|
+
* on the first item may save the user from experiencing odd scrolling behavior where the
|
|
257
|
+
* scrollbar updates while scrolling. If the user uses the mouse to drag the bar, it can become
|
|
258
|
+
* "detached" since the browser recalculates scroll bar position while the overflow container is
|
|
259
|
+
* updated.
|
|
260
|
+
*/
|
|
261
|
+
updateItemHeight(data: {
|
|
262
|
+
value: number;
|
|
263
|
+
}): void;
|
|
264
|
+
}, {
|
|
265
|
+
state: {
|
|
266
|
+
UNSTABLE_virtual: import("@tanstack/virtual-core").Virtualizer<HTMLDivElement, Element>;
|
|
267
|
+
UNSTABLE_defaultItemHeight: number;
|
|
268
|
+
containerRef: React.RefObject<HTMLDivElement>;
|
|
269
|
+
id: string;
|
|
270
|
+
orientation: "horizontal" | "vertical";
|
|
271
|
+
indexRef: React.MutableRefObject<number>;
|
|
272
|
+
nonInteractiveIds: string[];
|
|
273
|
+
isVirtualized: boolean;
|
|
274
|
+
items: Item<Generic>[];
|
|
275
|
+
};
|
|
276
|
+
events: {
|
|
277
|
+
/**
|
|
278
|
+
* Register an item to the list. Takes in an identifier, a React.Ref and an optional index. This
|
|
279
|
+
* should be called on component mount. This event is only called for static rendering.
|
|
280
|
+
*/
|
|
281
|
+
registerItem(data: {
|
|
282
|
+
id: string;
|
|
283
|
+
textValue: string;
|
|
284
|
+
}): void;
|
|
285
|
+
/**
|
|
286
|
+
* Unregister an item by its identifier. This should be called when the component is unmounted.
|
|
287
|
+
* This event is only called for static rendering.
|
|
288
|
+
*/
|
|
289
|
+
unregisterItem(data: {
|
|
290
|
+
id: string;
|
|
291
|
+
}): void;
|
|
292
|
+
/**
|
|
293
|
+
* Updates the default item height. This should only be called when item height is measured.
|
|
294
|
+
* Calling this with a different default item height than previous will cause a virtual list to
|
|
295
|
+
* recalculate the overall height of the list and invalidate any height caching. Doing this only
|
|
296
|
+
* on the first item may save the user from experiencing odd scrolling behavior where the
|
|
297
|
+
* scrollbar updates while scrolling. If the user uses the mouse to drag the bar, it can become
|
|
298
|
+
* "detached" since the browser recalculates scroll bar position while the overflow container is
|
|
299
|
+
* updated.
|
|
300
|
+
*/
|
|
301
|
+
updateItemHeight(data: {
|
|
302
|
+
value: number;
|
|
303
|
+
}): void;
|
|
304
|
+
};
|
|
305
|
+
getId: (item: Generic) => string;
|
|
306
|
+
getTextValue: (item: Generic) => string;
|
|
307
|
+
}>;
|
|
308
|
+
//# sourceMappingURL=useBaseListModel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBaseListModel.d.ts","sourceRoot":"","sources":["../../../../../../react/collection/lib/useBaseListModel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,OAAO,EAA+B,MAAM,kCAAkC,CAAC;AAEvF,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,UAAU,CAAC;AAEpD,eAAO,MAAM,YAAY,SAAU,OAAO,KAAG,MAS5C,CAAC;AAIF,eAAO,MAAM,mBAAmB,SAAU,OAAO,KAAG,MAUnD,CAAC;AAEF,MAAM,WAAW,IAAI,CAAC,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,CAAC,CAAC;IACT;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB;AAmDD,eAAO,MAAM,gBAAgB;IAGzB,kEAAkE;;IAElE;;;;;;OAMG;kBA/F4B,OAAO,KAAG,MAAM;IAiG/C;;;;OAIG;yBAxFmC,OAAO,KAAG,MAAM;IA0FtD;;;OAGG;;IAEH;;;;;OAKG;;IAEH;;;;;OAKG;;;IA9CL;;;;OAIG;WACI,OAAO,EAAE;;;YA4GU,MAAM;mBAAa,MAAM;;;;;;;;;;eArBvB,KAAK,OAAO,CAAC,EAAE;;;YAmCf,MAAM;;;;;;;;;;eAnCN,KAAK,OAAO,CAAC,EAAE;;;eAsDV,MAAM;;;;;;;;;;eAtDX,KAAK,OAAO,CAAC,EAAE;;;;YAqBjB,MAAM;mBAAa,MAAM;;;;;;;;;;eArBvB,KAAK,OAAO,CAAC,EAAE;;;YAmCf,MAAM;;;;;;;;;;eAnCN,KAAK,OAAO,CAAC,EAAE;;;eAsDV,MAAM;;;;;;;;;;eAtDX,KAAK,OAAO,CAAC,EAAE;;;;;;;;;;;;eAAf,KAAK,OAAO,CAAC,EAAE;;;QAiBzC;;;WAGG;;gBACqB,MAAM;uBAAa,MAAM;;QAUjD;;;WAGG;;gBACuB,MAAM;;QAUhC;;;;;;;;WAQG;+BACoB;YAAC,KAAK,EAAE,MAAM,CAAA;SAAC;;kBA5NP,OAAO,KAAG,MAAM;yBAaT,OAAO,KAAG,MAAM;;IA0EtD,kEAAkE;;IAElE;;;;;;OAMG;kBA/F4B,OAAO,KAAG,MAAM;IAiG/C;;;;OAIG;yBAxFmC,OAAO,KAAG,MAAM;IA0FtD;;;OAGG;;IAEH;;;;;OAKG;;IAEH;;;;;OAKG;;;IA9CL;;;;OAIG;WACI,OAAO,EAAE;;;;;;;;;;WAuFY,KAAK,OAAO,CAAC,EAAE;;IAiBzC;;;OAGG;;YACqB,MAAM;mBAAa,MAAM;;IAUjD;;;OAGG;;YACuB,MAAM;;IAUhC;;;;;;;;OAQG;2BACoB;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC;;;;;;;;;;;eAtDZ,KAAK,OAAO,CAAC,EAAE;;;QAiBzC;;;WAGG;;gBACqB,MAAM;uBAAa,MAAM;;QAUjD;;;WAGG;;gBACuB,MAAM;;QAUhC;;;;;;;;WAQG;+BACoB;YAAC,KAAK,EAAE,MAAM,CAAA;SAAC;;kBA5NP,OAAO,KAAG,MAAM;yBAaT,OAAO,KAAG,MAAM;EAqNxD,CAAC"}
|
|
@@ -0,0 +1,195 @@
|
|
|
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.useBaseListModel = exports.defaultGetTextValue = exports.defaultGetId = void 0;
|
|
7
|
+
const react_virtual_1 = require("@tanstack/react-virtual");
|
|
8
|
+
const react_1 = __importDefault(require("react"));
|
|
9
|
+
const common_1 = require("@workday/canvas-kit-react/common");
|
|
10
|
+
const defaultGetId = (item) => {
|
|
11
|
+
if (process.env.NODE_ENV === 'development') {
|
|
12
|
+
if (typeof item === 'object' && item.id === undefined) {
|
|
13
|
+
console.warn("List item was an object, but no `getId` was passed to the model to inform the list where to find the item's identifier. Please pass a `getId` to the list model");
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
return item === undefined ? '' : typeof item === 'string' ? item : item.id || '';
|
|
17
|
+
};
|
|
18
|
+
exports.defaultGetId = defaultGetId;
|
|
19
|
+
let hasWarnedNoGetTextValue = false;
|
|
20
|
+
const defaultGetTextValue = (item) => {
|
|
21
|
+
if (process.env.NODE_ENV === 'development') {
|
|
22
|
+
if (!hasWarnedNoGetTextValue && typeof item === 'object' && item.text === undefined) {
|
|
23
|
+
hasWarnedNoGetTextValue = true;
|
|
24
|
+
console.warn("List item was an object, but no `getTextValue` was passed to the model to inform the list where to find the item's text value. The item's text value is used for accessibility. Please pass a `getTextValue` to the list model");
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return typeof item === 'string' ? item : item === undefined ? '' : item.text || '';
|
|
28
|
+
};
|
|
29
|
+
exports.defaultGetTextValue = defaultGetTextValue;
|
|
30
|
+
// interface Collection<T> {
|
|
31
|
+
// getKeys(): string[];
|
|
32
|
+
// getItem(id: string): Item<T> | null;
|
|
33
|
+
// at(index: number): Item<T> | null;
|
|
34
|
+
// size: number;
|
|
35
|
+
// }
|
|
36
|
+
// TODO: Build an interface that allows representation of different collections. For example an array and a dynamically loaded dataset
|
|
37
|
+
// class StaticCollection<T> implements Collection<T> {
|
|
38
|
+
// // eslint-disable-next-line no-empty-function
|
|
39
|
+
// private items: Item<T>[];
|
|
40
|
+
// constructor(items: T[], getId = defaultGetId, getTextValue = defaultGetTextValue) {
|
|
41
|
+
// this.items = items.map((item, index) => ({
|
|
42
|
+
// index,
|
|
43
|
+
// value: item,
|
|
44
|
+
// id: getId(item),
|
|
45
|
+
// textValue: getTextValue(item),
|
|
46
|
+
// }));
|
|
47
|
+
// }
|
|
48
|
+
// getKeys() {
|
|
49
|
+
// return this.items.map(item => item.id);
|
|
50
|
+
// }
|
|
51
|
+
// getItem(id: string) {
|
|
52
|
+
// return this.items.find(item => item.id === id) || null;
|
|
53
|
+
// }
|
|
54
|
+
// at(index: number) {
|
|
55
|
+
// return this.items[index] || null;
|
|
56
|
+
// }
|
|
57
|
+
// get size() {
|
|
58
|
+
// return this.items.length;
|
|
59
|
+
// }
|
|
60
|
+
// }
|
|
61
|
+
// force Typescript to use `Generic` as a symbol
|
|
62
|
+
const genericDefaultConfig = {
|
|
63
|
+
items: [],
|
|
64
|
+
};
|
|
65
|
+
exports.useBaseListModel = (0, common_1.createModelHook)({
|
|
66
|
+
defaultConfig: {
|
|
67
|
+
...genericDefaultConfig,
|
|
68
|
+
/** IDREF of the list. Children ids can be derived from this id */
|
|
69
|
+
id: '',
|
|
70
|
+
/**
|
|
71
|
+
* Optional function to return an id of an item. If not provided, the default function will
|
|
72
|
+
* return the `id` property from the object of each item. If you did not provide `items`, do not
|
|
73
|
+
* override this function. If you don't provided `items` and instead provide static items via
|
|
74
|
+
* JSX, the list will create an internal array of items where `id` is the only property and the
|
|
75
|
+
* default `getId` will return the desired result.
|
|
76
|
+
*/
|
|
77
|
+
getId: exports.defaultGetId,
|
|
78
|
+
/**
|
|
79
|
+
* Optional function to return the text representation of an item. If not provided, the default
|
|
80
|
+
* function will return the `text` property of the object of each item or an empty string if
|
|
81
|
+
* there is no `text` property. If you did not provide `items`, do not override this function.
|
|
82
|
+
*/
|
|
83
|
+
getTextValue: exports.defaultGetTextValue,
|
|
84
|
+
/**
|
|
85
|
+
* Array of all ids which are currently disabled. This is used for navigation to skip over items
|
|
86
|
+
* which are not focusable.
|
|
87
|
+
*/
|
|
88
|
+
nonInteractiveIds: [],
|
|
89
|
+
/**
|
|
90
|
+
* The orientation of a list of items. Values are either `vertical` or `horizontal`. This value will
|
|
91
|
+
* effect which ids activate progression through a list. For example, `horizontal` will activate with
|
|
92
|
+
* left and right arrows while `vertical` will activate with up and down arrows.
|
|
93
|
+
* @default 'vertical'
|
|
94
|
+
*/
|
|
95
|
+
orientation: 'vertical',
|
|
96
|
+
/**
|
|
97
|
+
* Best guess to the default item height for virtualization. Getting this number correct
|
|
98
|
+
* avoids a rerender while the list is initializing.
|
|
99
|
+
*
|
|
100
|
+
* @default 50
|
|
101
|
+
*/
|
|
102
|
+
defaultItemHeight: 50,
|
|
103
|
+
shouldVirtualize: true,
|
|
104
|
+
},
|
|
105
|
+
})(config => {
|
|
106
|
+
var _a;
|
|
107
|
+
const id = (0, common_1.useUniqueId)(config.id);
|
|
108
|
+
// Optimization to not redo items when `getId` and `getTextValue` references change. They will not
|
|
109
|
+
// likely change during the lifecycle and we don't want to recalculate items when a lamba is
|
|
110
|
+
// passed instead of a stable reference.
|
|
111
|
+
const getIdRef = react_1.default.useRef(exports.defaultGetId);
|
|
112
|
+
const getTextValueRef = react_1.default.useRef(exports.defaultGetTextValue);
|
|
113
|
+
getIdRef.current = config.getId || exports.defaultGetId;
|
|
114
|
+
getTextValueRef.current = config.getTextValue || config.getId || exports.defaultGetTextValue;
|
|
115
|
+
const [orientation] = react_1.default.useState(config.orientation || 'vertical');
|
|
116
|
+
const [UNSTABLE_defaultItemHeight, setDefaultItemHeight] = react_1.default.useState(config.defaultItemHeight);
|
|
117
|
+
const isVirtualized = config.shouldVirtualize && !!((_a = config.items) === null || _a === void 0 ? void 0 : _a.length);
|
|
118
|
+
const indexRef = react_1.default.useRef(0);
|
|
119
|
+
const containerRef = react_1.default.useRef(null);
|
|
120
|
+
const items = react_1.default.useMemo(() => (config.items || []).map((item, index) => {
|
|
121
|
+
return {
|
|
122
|
+
id: getIdRef.current(item),
|
|
123
|
+
index,
|
|
124
|
+
value: item,
|
|
125
|
+
textValue: getTextValueRef.current(item),
|
|
126
|
+
};
|
|
127
|
+
}), [config.items]);
|
|
128
|
+
const [staticItems, setStaticItems] = react_1.default.useState([]);
|
|
129
|
+
const UNSTABLE_virtual = (0, react_virtual_1.useVirtualizer)({
|
|
130
|
+
count: items.length,
|
|
131
|
+
getScrollElement: () => containerRef.current,
|
|
132
|
+
estimateSize: react_1.default.useCallback(() => UNSTABLE_defaultItemHeight, [UNSTABLE_defaultItemHeight]),
|
|
133
|
+
horizontal: config.orientation === 'horizontal',
|
|
134
|
+
overscan: 3, // overscan of 3 helps rapid navigation
|
|
135
|
+
});
|
|
136
|
+
// Force Typescript to recognize the `Generic` symbol
|
|
137
|
+
const genericState = {
|
|
138
|
+
items: items.length ? items : staticItems,
|
|
139
|
+
};
|
|
140
|
+
const state = {
|
|
141
|
+
...genericState,
|
|
142
|
+
UNSTABLE_virtual,
|
|
143
|
+
UNSTABLE_defaultItemHeight,
|
|
144
|
+
containerRef,
|
|
145
|
+
id,
|
|
146
|
+
orientation,
|
|
147
|
+
indexRef,
|
|
148
|
+
nonInteractiveIds: config.nonInteractiveIds || [],
|
|
149
|
+
isVirtualized,
|
|
150
|
+
};
|
|
151
|
+
const events = {
|
|
152
|
+
/**
|
|
153
|
+
* Register an item to the list. Takes in an identifier, a React.Ref and an optional index. This
|
|
154
|
+
* should be called on component mount. This event is only called for static rendering.
|
|
155
|
+
*/
|
|
156
|
+
registerItem(data) {
|
|
157
|
+
indexRef.current++;
|
|
158
|
+
setStaticItems(items => {
|
|
159
|
+
return items.concat({
|
|
160
|
+
...data,
|
|
161
|
+
value: data,
|
|
162
|
+
index: items.length,
|
|
163
|
+
});
|
|
164
|
+
});
|
|
165
|
+
},
|
|
166
|
+
/**
|
|
167
|
+
* Unregister an item by its identifier. This should be called when the component is unmounted.
|
|
168
|
+
* This event is only called for static rendering.
|
|
169
|
+
*/
|
|
170
|
+
unregisterItem(data) {
|
|
171
|
+
setStaticItems(items => {
|
|
172
|
+
// this extra `if` ensures reference stability for no-ops
|
|
173
|
+
if (items.find(item => item.id === data.id)) {
|
|
174
|
+
return items.filter(item => item.id !== data.id);
|
|
175
|
+
}
|
|
176
|
+
else {
|
|
177
|
+
return items;
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
},
|
|
181
|
+
/**
|
|
182
|
+
* Updates the default item height. This should only be called when item height is measured.
|
|
183
|
+
* Calling this with a different default item height than previous will cause a virtual list to
|
|
184
|
+
* recalculate the overall height of the list and invalidate any height caching. Doing this only
|
|
185
|
+
* on the first item may save the user from experiencing odd scrolling behavior where the
|
|
186
|
+
* scrollbar updates while scrolling. If the user uses the mouse to drag the bar, it can become
|
|
187
|
+
* "detached" since the browser recalculates scroll bar position while the overflow container is
|
|
188
|
+
* updated.
|
|
189
|
+
*/
|
|
190
|
+
updateItemHeight(data) {
|
|
191
|
+
setDefaultItemHeight(data.value);
|
|
192
|
+
},
|
|
193
|
+
};
|
|
194
|
+
return { state, events, getId: config.getId, getTextValue: config.getTextValue };
|
|
195
|
+
});
|