@pantheon-systems/pds-toolkit-react 2.0.0-alpha.7 → 2.0.0-alpha.71
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/bin/pds-codemod.cjs +58 -0
- package/codemods/v1-to-v2/css-token-renames.js +186 -0
- package/codemods/v1-to-v2/mappings.json +1787 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/component-renames/basic.input.tsx +33 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/component-renames/basic.output.tsx +33 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/component-renames/only.input.tsx +8 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/component-renames/only.output.tsx +8 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/css-class-removals/basic.input.tsx +55 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/css-class-removals/basic.output.tsx +55 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/css-class-renames/basic.input.tsx +60 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/css-class-renames/basic.output.tsx +60 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/icon-name-updates/basic.input.tsx +35 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/icon-name-updates/basic.output.tsx +35 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/icon-name-updates/only.input.tsx +8 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/icon-name-updates/only.output.tsx +8 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/prop-renames/basic.input.tsx +28 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/prop-renames/basic.output.tsx +28 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/prop-renames/only.input.tsx +8 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/prop-renames/only.output.tsx +8 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/prop-value-standardization/basic.input.tsx +37 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/prop-value-standardization/basic.output.tsx +37 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/prop-value-standardization/only.input.tsx +21 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/prop-value-standardization/only.output.tsx +21 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/removed-prop-values/basic.input.tsx +60 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/removed-prop-values/basic.output.tsx +51 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/removed-prop-values/only.input.tsx +8 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/removed-prop-values/only.output.tsx +8 -0
- package/codemods/v1-to-v2/transforms/__tests__/component-renames.test.js +15 -0
- package/codemods/v1-to-v2/transforms/__tests__/css-class-removals.test.js +6 -0
- package/codemods/v1-to-v2/transforms/__tests__/css-class-renames.test.js +6 -0
- package/codemods/v1-to-v2/transforms/__tests__/icon-name-updates.test.js +15 -0
- package/codemods/v1-to-v2/transforms/__tests__/prop-renames.test.js +15 -0
- package/codemods/v1-to-v2/transforms/__tests__/prop-value-standardization.test.js +16 -0
- package/codemods/v1-to-v2/transforms/__tests__/removed-prop-values.test.js +15 -0
- package/codemods/v1-to-v2/transforms/component-renames.js +166 -0
- package/codemods/v1-to-v2/transforms/css-class-removals.js +262 -0
- package/codemods/v1-to-v2/transforms/css-class-renames.js +178 -0
- package/codemods/v1-to-v2/transforms/icon-name-updates.js +124 -0
- package/codemods/v1-to-v2/transforms/prop-renames.js +109 -0
- package/codemods/v1-to-v2/transforms/prop-value-standardization.js +143 -0
- package/codemods/v1-to-v2/transforms/removed-prop-values.js +206 -0
- package/dist/components/Avatar/Avatar.d.ts +5 -1
- package/dist/components/Callout/Callout.d.ts +6 -2
- package/dist/components/CodeBlock/CodeBlock.d.ts +10 -5
- package/dist/components/CodeBlock/code-examples.d.ts +2 -1
- package/dist/components/CodeBlock/prism-setup.d.ts +2 -0
- package/dist/components/CodeBlock/themes/index.d.ts +1 -2
- package/dist/components/CodeBlock/themes/{pdsDark.d.ts → pds.d.ts} +1 -1
- package/dist/components/ComparisonList/ComparisonList.d.ts +6 -1
- package/dist/components/Dropdown/Dropdown.d.ts +192 -0
- package/dist/components/Dropdown/DropdownSelectedIcon.d.ts +7 -0
- package/dist/components/FileDiff/FileDiff.d.ts +2 -2
- package/dist/components/IdentityBlock/IdentityBlock.d.ts +37 -0
- package/dist/components/PantheonLogo/PantheonLogo.d.ts +5 -4
- package/dist/components/Popover/Popover.d.ts +5 -1
- package/dist/components/ResultCount/ResultCount.d.ts +53 -0
- package/dist/components/SiteFooter/SiteFooter.d.ts +45 -0
- package/dist/components/{navigation/DashboardSearch/DashboardSearch.d.ts → SiteSearch/SiteSearch.d.ts} +6 -11
- package/dist/components/SortableList/SortableList.d.ts +8 -0
- package/dist/components/SortableList/SortableListHeader.d.ts +7 -0
- package/dist/components/SortableList/SortableRow.d.ts +16 -0
- package/dist/components/SortableList/sortable-utils.d.ts +19 -0
- package/dist/components/SortableList/types.d.ts +142 -0
- package/dist/components/SortableList/useSortableTree.d.ts +18 -0
- package/dist/components/{RefreshChecker/RefreshChecker.d.ts → StatusChecker/StatusChecker.d.ts} +6 -19
- package/dist/components/StatusIndicator/StatusIndicator.d.ts +7 -4
- package/dist/components/Table/Table.d.ts +290 -17
- package/dist/components/TableOfContents/TableOfContents.d.ts +1 -5
- package/dist/components/Tag/Tag.d.ts +21 -3
- package/dist/components/ThemeSwitcher/ThemeSwitcher.d.ts +29 -8
- package/dist/components/Tooltip/Tooltip.d.ts +6 -2
- package/dist/components/UtilityBar/UtilityBar.d.ts +26 -0
- package/dist/components/badges/Badge/Badge.d.ts +1 -1
- package/dist/components/badges/StatusBadge/StatusBadge.d.ts +2 -1
- package/dist/components/buttons/Button/Button.d.ts +15 -0
- package/dist/components/buttons/ButtonLink/ButtonLink.d.ts +1 -3
- package/dist/components/buttons/ClipboardButton/ClipboardButton.d.ts +5 -1
- package/dist/components/buttons/CloseButton/CloseButton.d.ts +4 -4
- package/dist/components/buttons/FilterButton/FilterButton.d.ts +92 -0
- package/dist/components/buttons/IconButton/IconButton.d.ts +12 -0
- package/dist/components/buttons/MenuButton/MenuButton.d.ts +24 -17
- package/dist/components/buttons/SSOButton/SSOButton.d.ts +9 -1
- package/dist/components/buttons/SegmentedButton/SegmentedButton.d.ts +44 -8
- package/dist/components/cards/ActionCard/ActionCard.d.ts +64 -0
- package/dist/components/cards/Card/Card.d.ts +10 -4
- package/dist/components/cards/CardSelect/CardSelect.d.ts +100 -0
- package/dist/components/charts/BarChart/BarChart.d.ts +21 -0
- package/dist/components/charts/LineChart/LineChart.d.ts +22 -0
- package/dist/components/charts/PieChart/PieChart.d.ts +59 -0
- package/dist/components/charts/ProportionBar/ProportionBar.d.ts +57 -0
- package/dist/components/charts/shared/ChartAccessibleTable.d.ts +17 -0
- package/dist/components/charts/shared/ChartLegend.d.ts +31 -0
- package/dist/components/charts/shared/ChartSkeleton.d.ts +11 -0
- package/dist/components/charts/shared/chart-colors.d.ts +30 -0
- package/dist/components/charts/shared/chart-styles.d.ts +24 -0
- package/dist/components/charts/shared/formatters.d.ts +12 -0
- package/dist/components/charts/shared/types.d.ts +128 -0
- package/dist/components/empty-states/HorizontalEmptyState/HorizontalEmptyState.d.ts +13 -8
- package/dist/components/icons/Icon/Icon.d.ts +2 -2
- package/dist/components/icons/Icon/custom-icons.d.ts +1 -1
- package/dist/components/icons/Icon/generated-icon-data.d.ts +212 -16
- package/dist/components/icons/PaymentIcon/PaymentIcon.d.ts +7 -3
- package/dist/components/icons/PlatformIcon/PlatformIcon.d.ts +6 -6
- package/dist/components/inputs/Checkbox/Checkbox.d.ts +3 -3
- package/dist/components/inputs/CheckboxFieldset/CheckboxFieldset.d.ts +9 -1
- package/dist/components/inputs/CheckboxGroup/CheckboxGroup.d.ts +9 -1
- package/dist/components/inputs/Combobox/Combobox.d.ts +17 -7
- package/dist/components/inputs/ComboboxMultiselect/ComboboxMultiselect.d.ts +10 -5
- package/dist/components/inputs/Datepicker/Datepicker.d.ts +217 -14
- package/dist/components/inputs/FileUpload/FileUpload.d.ts +6 -1
- package/dist/components/inputs/RadioGroup/RadioGroup.d.ts +10 -2
- package/dist/components/inputs/Select/Select.d.ts +11 -2
- package/dist/components/inputs/Switch/Switch.d.ts +5 -5
- package/dist/components/inputs/TagsInput/TagsInput.d.ts +6 -1
- package/dist/components/inputs/TextInput/TextInput.d.ts +4 -4
- package/dist/components/inputs/Textarea/Textarea.d.ts +2 -2
- package/dist/components/inputs/Timepicker/Timepicker.d.ts +94 -0
- package/dist/components/inputs/input-utilities.d.ts +12 -2
- package/dist/components/{CTALink → links/CTALink}/CTALink.d.ts +1 -1
- package/dist/components/{LinkNewWindow → links/LinkNewWindow}/LinkNewWindow.d.ts +1 -1
- package/dist/components/loading-indicators/Spinner/Spinner.d.ts +5 -4
- package/dist/components/navigation/ButtonNav/ButtonNav.d.ts +11 -5
- package/dist/components/navigation/DropdownMenu/DropdownMenu.d.ts +1 -0
- package/dist/components/navigation/Navbar/Navbar.d.ts +9 -21
- package/dist/components/navigation/SideNav/SideNav.d.ts +7 -1
- package/dist/components/navigation/SideNavGlobal/SideNavGlobal.d.ts +5 -15
- package/dist/components/navigation/SideNavGlobal/SideNavGlobalItem.d.ts +15 -1
- package/dist/components/navigation/SiteMenu/SiteMenu.d.ts +26 -0
- package/dist/components/navigation/SiteMenu/SiteMenuDropdown.d.ts +23 -0
- package/dist/components/navigation/TreeNav/TreeNav.d.ts +48 -0
- package/dist/components/navigation/UserMenu/UserMenu.d.ts +20 -5
- package/dist/components/navigation/WorkspaceSelector/WorkspaceSelector.d.ts +2 -16
- package/dist/components/navigation/navigation-utilities.d.ts +12 -0
- package/dist/components/notifications/Toaster/Toast.d.ts +12 -1
- package/dist/components/notifications/Toaster/Toaster.d.ts +16 -7
- package/dist/components/notifications/Toaster/useToast.d.ts +2 -0
- package/dist/components/overlays/Drawer/Drawer.d.ts +58 -0
- package/dist/components/overlays/FullScreenOverlay/FullScreenOverlay.d.ts +45 -0
- package/dist/components/{Modal → overlays/Modal}/Modal.d.ts +2 -2
- package/dist/components/{Pagination → pagination/Pagination}/Pagination.d.ts +7 -2
- package/dist/components/pagination/PaginationChapter/PaginationChapter.d.ts +55 -0
- package/dist/components/pagination/PaginationCompact/PaginationCompact.d.ts +62 -0
- package/dist/components/panels/ExpansionPanel/ExpansionPanel.d.ts +1 -2
- package/dist/components/panels/ExpansionPanelGroup/ExpansionPanelGroup.d.ts +1 -2
- package/dist/components/panels/Panel/Panel.d.ts +4 -21
- package/dist/components/panels/PanelList/PanelList.d.ts +1 -1
- package/dist/components/panels/PanelStack/PanelStack.d.ts +19 -0
- package/dist/components/progress-indicators/ProgressBar/ProgressBar.d.ts +4 -5
- package/dist/components/progress-indicators/ProgressRing/ProgressRing.d.ts +12 -4
- package/dist/components/{FlowSteps/FlowSteps.d.ts → steppers/StepList/StepList.d.ts} +7 -7
- package/dist/css/component-css/pds-action-card.css +1 -0
- package/dist/css/component-css/pds-avatar.css +1 -1
- package/dist/css/component-css/pds-badge.css +1 -1
- package/dist/css/component-css/pds-banner.css +1 -1
- package/dist/css/component-css/pds-bar-chart.css +1 -0
- package/dist/css/component-css/pds-branch-diff.css +1 -1
- package/dist/css/component-css/pds-breadcrumb.css +1 -1
- package/dist/css/component-css/pds-button-link.css +1 -1
- package/dist/css/component-css/pds-button-nav.css +1 -1
- package/dist/css/component-css/pds-button.css +45 -13
- package/dist/css/component-css/pds-callout.css +1 -1
- package/dist/css/component-css/pds-card-select.css +2 -0
- package/dist/css/component-css/pds-card.css +1 -1
- package/dist/css/component-css/pds-chart-legend.css +1 -0
- package/dist/css/component-css/pds-chart-wrapper.css +1 -0
- package/dist/css/component-css/pds-checkbox-group.css +1 -1
- package/dist/css/component-css/pds-checkbox.css +1 -1
- package/dist/css/component-css/pds-close-button.css +1 -1
- package/dist/css/component-css/pds-code-block-legacy.css +1 -1
- package/dist/css/component-css/pds-code-block.css +1 -1
- package/dist/css/component-css/pds-combobox-multiselect.css +3 -2
- package/dist/css/component-css/pds-combobox.css +1 -1
- package/dist/css/component-css/pds-compact-empty-state.css +1 -1
- package/dist/css/component-css/pds-comparison-list.css +1 -1
- package/dist/css/component-css/pds-cta-link.css +1 -1
- package/dist/css/component-css/pds-datepicker.css +1 -3
- package/dist/css/component-css/pds-drawer.css +1 -0
- package/dist/css/component-css/pds-dropdown-menu.css +2 -2
- package/dist/css/component-css/pds-dropdown.css +2 -0
- package/dist/css/component-css/pds-expansion-panel-group.css +1 -1
- package/dist/css/component-css/pds-expansion-panel.css +2 -1
- package/dist/css/component-css/pds-file-diff.css +1 -1
- package/dist/css/component-css/pds-file-upload.css +3 -3
- package/dist/css/component-css/pds-filter-button.css +1 -0
- package/dist/css/component-css/pds-full-screen-overlay.css +1 -0
- package/dist/css/component-css/pds-horizontal-empty-state.css +1 -1
- package/dist/css/component-css/pds-icon-button.css +5 -3
- package/dist/css/component-css/pds-icon-story-only.css +1 -1
- package/dist/css/component-css/pds-icon.css +1 -1
- package/dist/css/component-css/pds-identity-block.css +1 -0
- package/dist/css/component-css/pds-index.css +152 -45
- package/dist/css/component-css/pds-inline-message.css +1 -1
- package/dist/css/component-css/pds-input-group.css +1 -1
- package/dist/css/component-css/pds-input-utilities.css +1 -1
- package/dist/css/component-css/pds-line-chart.css +1 -0
- package/dist/css/component-css/pds-link-new-window.css +1 -1
- package/dist/css/component-css/pds-menu-button.css +7 -1
- package/dist/css/component-css/pds-modal.css +1 -1
- package/dist/css/component-css/pds-nav-menu.css +1 -5
- package/dist/css/component-css/pds-navbar.css +4 -1
- package/dist/css/component-css/pds-pagination-chapter.css +3 -0
- package/dist/css/component-css/pds-pagination-compact.css +1 -0
- package/dist/css/component-css/pds-pagination.css +1 -1
- package/dist/css/component-css/pds-panel-list.css +1 -1
- package/dist/css/component-css/pds-panel-stack.css +1 -0
- package/dist/css/component-css/pds-panel.css +2 -1
- package/dist/css/component-css/pds-pantheon-logo.css +1 -1
- package/dist/css/component-css/pds-payment-icon.css +1 -1
- package/dist/css/component-css/pds-picture.css +1 -1
- package/dist/css/component-css/pds-pie-chart.css +1 -0
- package/dist/css/component-css/pds-platform-icon.css +1 -1
- package/dist/css/component-css/pds-popover.css +1 -1
- package/dist/css/component-css/pds-progress-bar.css +1 -1
- package/dist/css/component-css/pds-progress-ring.css +1 -1
- package/dist/css/component-css/pds-proportion-bar.css +1 -0
- package/dist/css/component-css/pds-radio-group.css +1 -1
- package/dist/css/component-css/pds-result-count.css +1 -0
- package/dist/css/component-css/pds-section-message.css +1 -1
- package/dist/css/component-css/pds-segmented-button.css +2 -1
- package/dist/css/component-css/pds-select.css +1 -1
- package/dist/css/component-css/pds-side-nav-global.css +3 -5
- package/dist/css/component-css/pds-side-nav.css +3 -1
- package/dist/css/component-css/pds-site-footer.css +1 -1
- package/dist/css/component-css/pds-site-search.css +1 -0
- package/dist/css/component-css/pds-skeleton.css +1 -1
- package/dist/css/component-css/pds-skiplink.css +1 -1
- package/dist/css/component-css/pds-sortable-list.css +8 -0
- package/dist/css/component-css/pds-spinner.css +1 -1
- package/dist/css/component-css/pds-split-button.css +1 -1
- package/dist/css/component-css/pds-sso-button.css +2 -2
- package/dist/css/component-css/pds-status-badge.css +1 -1
- package/dist/css/component-css/pds-status-checker.css +1 -0
- package/dist/css/component-css/pds-status-indicator.css +1 -1
- package/dist/css/component-css/pds-step-list.css +1 -0
- package/dist/css/component-css/pds-stepper.css +3 -1
- package/dist/css/component-css/pds-switch.css +6 -11
- package/dist/css/component-css/pds-tab-menu.css +2 -2
- package/dist/css/component-css/pds-table-of-contents.css +1 -1
- package/dist/css/component-css/pds-table.css +5 -1
- package/dist/css/component-css/pds-tabs.css +1 -1
- package/dist/css/component-css/pds-tag.css +1 -1
- package/dist/css/component-css/pds-tags-input.css +1 -1
- package/dist/css/component-css/pds-tally.css +1 -1
- package/dist/css/component-css/pds-text-input.css +1 -1
- package/dist/css/component-css/pds-textarea.css +1 -1
- package/dist/css/component-css/pds-theme-switcher.css +1 -1
- package/dist/css/component-css/pds-timepicker.css +1 -0
- package/dist/css/component-css/pds-toaster.css +1 -1
- package/dist/css/component-css/pds-tooltip.css +1 -1
- package/dist/css/component-css/pds-tree-nav.css +1 -0
- package/dist/css/component-css/pds-user-menu-story-only.css +1 -1
- package/dist/css/component-css/pds-user-menu.css +32 -1
- package/dist/css/component-css/pds-utility-bar.css +1 -0
- package/dist/css/component-css/pds-utility-button.css +3 -1
- package/dist/css/component-css/pds-vertical-empty-state.css +1 -1
- package/dist/css/component-css/pds-vertical-stepper.css +1 -1
- package/dist/css/component-css/pds-video-embed.css +1 -1
- package/dist/css/component-css/pds-workspace-selector.css +26 -1
- package/dist/css/design-tokens/variables.dark.css +385 -338
- package/dist/css/design-tokens/variables.global.css +10 -18
- package/dist/css/design-tokens/variables.light.css +376 -309
- package/dist/css/design-tokens/variables.typography.css +1 -2
- package/dist/css/layout-css/pds-app-layout.css +3 -2
- package/dist/css/layout-css/pds-docs-layout.css +1 -1
- package/dist/css/layout-css/pds-index.css +3 -9
- package/dist/css/layout-css/pds-sidebar-layout.css +5 -0
- package/dist/css/layout-css/pds-stepper-layout.css +1 -1
- package/dist/css/layout-css/pds-three-item-layout.css +1 -1
- package/dist/css/layout-css/pds-two-item-layout.css +1 -1
- package/dist/css/pds-components.css +152 -45
- package/dist/css/pds-core.css +3 -2
- package/dist/css/pds-layouts.css +3 -9
- package/dist/index.css +5 -1
- package/dist/index.d.ts +95 -7
- package/dist/index.js +12738 -4787
- package/dist/index.js.map +1 -1
- package/dist/index.source.d.ts +44 -41
- package/dist/layouts/AppLayout/AppLayout.d.ts +85 -10
- package/dist/layouts/DocsLayout/DocsLayout.d.ts +9 -7
- package/dist/layouts/SidebarLayout/SidebarLayout.d.ts +16 -6
- package/dist/layouts/StepperLayout/StepperLayout.d.ts +13 -1
- package/dist/layouts/ThreeItemLayout/ThreeItemLayout.d.ts +3 -3
- package/dist/layouts/TwoItemLayout/TwoItemLayout.d.ts +3 -3
- package/dist/libs/components/NavAccordion/NavAccordion.d.ts +27 -0
- package/dist/libs/components/StatusDot/StatusDot.d.ts +15 -0
- package/dist/libs/components/utils.d.ts +1 -1
- package/dist/libs/types/custom-types.d.ts +11 -5
- package/dist/libs/types/layout-types.d.ts +4 -1
- package/dist/libs/types/navigation-types.d.ts +17 -1
- package/dist/svg/anglesDown.svg +3 -0
- package/dist/svg/anglesUp.svg +3 -0
- package/dist/svg/barsStaggered.svg +3 -0
- package/dist/svg/bookmark.svg +3 -0
- package/dist/svg/bookmarkSolid.svg +3 -0
- package/dist/svg/box.svg +3 -0
- package/dist/svg/circleExclamationSolid.svg +3 -0
- package/dist/svg/circleHalfStroke.svg +3 -0
- package/dist/svg/circleInfoSolid.svg +3 -0
- package/dist/svg/circleQuestionSolid.svg +3 -0
- package/dist/svg/claude.svg +3 -0
- package/dist/svg/clock.svg +3 -0
- package/dist/svg/collapseToCenter.svg +3 -0
- package/dist/svg/compress.svg +3 -0
- package/dist/svg/diagramVenn.svg +3 -0
- package/dist/svg/floppyDisk.svg +3 -0
- package/dist/svg/grid.svg +2 -2
- package/dist/svg/grid2.svg +3 -0
- package/dist/svg/landmark.svg +3 -0
- package/dist/svg/move.svg +3 -0
- package/dist/svg/octagonExclamation.svg +3 -0
- package/dist/svg/openai.svg +3 -0
- package/dist/svg/pause.svg +3 -0
- package/dist/svg/penPaintbrush.svg +3 -0
- package/dist/svg/sidebar.svg +3 -0
- package/dist/svg/slider.svg +3 -0
- package/dist/svg/squareDashed.svg +3 -0
- package/dist/svg/tableColumns.svg +3 -0
- package/dist/svg/userSolid.svg +3 -0
- package/dist/{layouts → utilities}/FlexContainer/FlexContainer.d.ts +6 -6
- package/dist/utilities/GlobalWrapper/GlobalWrapper.d.ts +35 -0
- package/dist/utilities/context-providers/ThemeContext/ThemeContext.d.ts +113 -0
- package/dist/utilities/grid/Grid.d.ts +58 -0
- package/dist/utilities/grid/GridItem.d.ts +57 -0
- package/dist/utilities/hooks/useDropdown/index.d.ts +1 -0
- package/dist/utilities/hooks/useDropdown/useDropdown.d.ts +138 -0
- package/dist/utilities/hooks/useIsMobile/useIsMobile.d.ts +16 -0
- package/dist/utilities/hooks/useKeyPress/useKeyPress.d.ts +6 -0
- package/dist/utilities/hooks/useKeyboardShortcut/useKeyboardShortcut.d.ts +29 -0
- package/package.json +83 -47
- package/tailwind/README.md +220 -0
- package/tailwind/TESTING.md +457 -0
- package/tailwind/v3/preset.cjs +258 -0
- package/tailwind/v4/theme.css +230 -0
- package/dist/components/CTASlice/CTASlice.d.ts +0 -43
- package/dist/components/CodeBlock/themes/pdsLight.d.ts +0 -2
- package/dist/components/DashboardStat/DashboardStat.d.ts +0 -28
- package/dist/components/PullQuote/PullQuote.d.ts +0 -34
- package/dist/components/SiteDashboardHeading/SiteDashboardHeading.d.ts +0 -62
- package/dist/components/SocialLinks/SocialLinks.d.ts +0 -23
- package/dist/components/cards/CardHeading/CardHeading.d.ts +0 -31
- package/dist/components/cards/CardSelectGroup/CardSelectGroup.d.ts +0 -60
- package/dist/components/cards/EmptyStateCard/EmptyStateCard.d.ts +0 -36
- package/dist/components/cards/LinksCard/LinksCard.d.ts +0 -29
- package/dist/components/cards/LinksCard/links-card-sample-data.d.ts +0 -2
- package/dist/components/cards/NewSiteCard/NewSiteCard.d.ts +0 -61
- package/dist/components/cards/PaymentCard/PaymentCard.d.ts +0 -47
- package/dist/components/cards/PricingCard/PricingCard.d.ts +0 -95
- package/dist/components/cards/SiteCard/SiteCard.d.ts +0 -50
- package/dist/components/footer/FooterHeading/FooterHeading.d.ts +0 -22
- package/dist/components/footer/FooterLinks/FooterLinks.d.ts +0 -26
- package/dist/components/footer/SiteFooter/SiteFooter.d.ts +0 -34
- package/dist/components/footer/SiteFooter/footer-content.d.ts +0 -1
- package/dist/components/navigation/DashboardNav/DashboardNav.d.ts +0 -35
- package/dist/components/navigation/DashboardNav/DashboardNavItem.d.ts +0 -24
- package/dist/components/navigation/NavMenu/NavMenu.d.ts +0 -33
- package/dist/components/navigation/NavMenu/NavMenuDropdown.d.ts +0 -24
- package/dist/components/navigation/SideNavCompact/SideNavCompact.d.ts +0 -53
- package/dist/components/notifications/NotificationHubIcon/NotificationHubIcon.d.ts +0 -38
- package/dist/components/notifications/NotificationsPopover/NotificationsPopover.d.ts +0 -118
- package/dist/components/tiles/AvatarTileList/AvatarTileList.d.ts +0 -28
- package/dist/components/tiles/Tile/Tile.d.ts +0 -42
- package/dist/components/tiles/TileGrid/TileGrid.d.ts +0 -29
- package/dist/css/component-css/pds-avatar-tile-list.css +0 -1
- package/dist/css/component-css/pds-card-heading.css +0 -1
- package/dist/css/component-css/pds-card-select-group.css +0 -1
- package/dist/css/component-css/pds-cta-slice.css +0 -1
- package/dist/css/component-css/pds-dashboard-nav.css +0 -5
- package/dist/css/component-css/pds-dashboard-search.css +0 -1
- package/dist/css/component-css/pds-dashboard-stat.css +0 -1
- package/dist/css/component-css/pds-empty-state-card.css +0 -1
- package/dist/css/component-css/pds-flow-steps.css +0 -1
- package/dist/css/component-css/pds-footer-heading.css +0 -1
- package/dist/css/component-css/pds-footer-links.css +0 -1
- package/dist/css/component-css/pds-links-card.css +0 -1
- package/dist/css/component-css/pds-new-site-card.css +0 -1
- package/dist/css/component-css/pds-notification-hub-icon.css +0 -1
- package/dist/css/component-css/pds-notifications-popover.css +0 -1
- package/dist/css/component-css/pds-payment-card.css +0 -1
- package/dist/css/component-css/pds-pricing-card-local.css +0 -1
- package/dist/css/component-css/pds-pricing-card.css +0 -1
- package/dist/css/component-css/pds-pull-quote.css +0 -1
- package/dist/css/component-css/pds-refresh-checker.css +0 -1
- package/dist/css/component-css/pds-side-nav-compact.css +0 -1
- package/dist/css/component-css/pds-site-card.css +0 -1
- package/dist/css/component-css/pds-site-dashboard-heading.css +0 -1
- package/dist/css/component-css/pds-social-links.css +0 -1
- package/dist/css/component-css/pds-tile.css +0 -1
- package/dist/css/component-css/pds-tiles-common.css +0 -1
- package/dist/css/layout-css/pds-dashboard-global.css +0 -8
- package/dist/css/layout-css/pds-dashboard-inner.css +0 -1
- package/dist/css/layout-css/pds-flex-container.css +0 -1
- package/dist/layouts/DashboardGlobal/DashboardGlobal.d.ts +0 -57
- package/dist/layouts/DashboardInner/DashboardInner.d.ts +0 -30
- package/dist/layouts/GlobalWrapper/GlobalWrapper.d.ts +0 -19
- package/dist/utilities/context-providers/ResponsiveContext/ResponsiveContext.d.ts +0 -6
- /package/dist/components/{Skiplink → links/Skiplink}/Skiplink.d.ts +0 -0
- /package/dist/components/{Picture → media/Picture}/Picture.d.ts +0 -0
- /package/dist/components/{VideoEmbed → media/VideoEmbed}/VideoEmbed.d.ts +0 -0
- /package/dist/components/{Pagination → pagination/Pagination}/usePagination.d.ts +0 -0
- /package/dist/components/{FlowSteps → steppers/StepList}/example-steps.d.ts +0 -0
- /package/dist/svg/{linkSimple.svg → link.svg} +0 -0
- /package/dist/svg/{linkSimpleSlash.svg → unlink.svg} +0 -0
- /package/dist/{layouts → utilities}/Container/Container.d.ts +0 -0
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import './filter-button.css';
|
|
2
|
+
/**
|
|
3
|
+
* A single option the FilterButton can filter by.
|
|
4
|
+
*/
|
|
5
|
+
export interface FilterButtonOption {
|
|
6
|
+
/**
|
|
7
|
+
* Whether this option is disabled.
|
|
8
|
+
*/
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Visible label for the option.
|
|
12
|
+
*/
|
|
13
|
+
label: string;
|
|
14
|
+
/**
|
|
15
|
+
* Unique value used for selection.
|
|
16
|
+
*/
|
|
17
|
+
value: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Prop types for FilterButton
|
|
21
|
+
*/
|
|
22
|
+
export interface FilterButtonProps {
|
|
23
|
+
/**
|
|
24
|
+
* Additional class names.
|
|
25
|
+
*/
|
|
26
|
+
className?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Text for the clear action in the panel footer.
|
|
29
|
+
*/
|
|
30
|
+
clearLabel?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Disable the entire control.
|
|
33
|
+
*/
|
|
34
|
+
disabled?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* The filter key/dimension name shown in the trigger (e.g. "Status").
|
|
37
|
+
*/
|
|
38
|
+
filterKey: string;
|
|
39
|
+
/**
|
|
40
|
+
* id applied to the trigger button.
|
|
41
|
+
*/
|
|
42
|
+
id?: string;
|
|
43
|
+
/**
|
|
44
|
+
* Show the in-menu search input once the number of options reaches this
|
|
45
|
+
* threshold. Defaults to `8`. Set to `0` to always show it.
|
|
46
|
+
*/
|
|
47
|
+
minFilterItems?: number;
|
|
48
|
+
/**
|
|
49
|
+
* Text shown when the search finds no matching options.
|
|
50
|
+
*/
|
|
51
|
+
noResultsText?: string;
|
|
52
|
+
/**
|
|
53
|
+
* Called with the next selected values whenever the selection changes.
|
|
54
|
+
*/
|
|
55
|
+
onSelectionChange: (values: string[]) => void;
|
|
56
|
+
/**
|
|
57
|
+
* Options the user can filter by.
|
|
58
|
+
*/
|
|
59
|
+
options: FilterButtonOption[];
|
|
60
|
+
/**
|
|
61
|
+
* Accessible label for the search input.
|
|
62
|
+
*/
|
|
63
|
+
searchLabel?: string;
|
|
64
|
+
/**
|
|
65
|
+
* Placeholder for the search input.
|
|
66
|
+
*/
|
|
67
|
+
searchPlaceholder?: string;
|
|
68
|
+
/**
|
|
69
|
+
* Currently selected option values (controlled).
|
|
70
|
+
*/
|
|
71
|
+
selectedValues: string[];
|
|
72
|
+
/**
|
|
73
|
+
* Restrict the filter to one option at a time. Choosing an option replaces
|
|
74
|
+
* the current selection and closes the panel; choosing the selected option
|
|
75
|
+
* again clears it.
|
|
76
|
+
*/
|
|
77
|
+
singleSelect?: boolean;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* FilterButton — a filter control with a stateful trigger, designed to sit in a
|
|
81
|
+
* UtilityBar above a Table. Composes the Dropdown compound component (a search
|
|
82
|
+
* row + a Clear footer behind a trigger) with three trigger states: default,
|
|
83
|
+
* single selection, and multiple selections (with a count).
|
|
84
|
+
*
|
|
85
|
+
* Multiselect by default: options are checkbox items and any number can be
|
|
86
|
+
* active at once. Set `singleSelect` to restrict the filter to one option at a
|
|
87
|
+
* time — options then render as radio items with a check mark.
|
|
88
|
+
*
|
|
89
|
+
* Selection is controlled: pass `selectedValues` and handle `onSelectionChange`.
|
|
90
|
+
* The consuming app owns filtering the data with those values.
|
|
91
|
+
*/
|
|
92
|
+
export declare const FilterButton: ({ className, clearLabel, disabled, filterKey, id, minFilterItems, noResultsText, onSelectionChange, options, searchLabel, searchPlaceholder, selectedValues, singleSelect, }: FilterButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -20,6 +20,10 @@ interface IconButtonProps extends ComponentPropsWithoutRef<'button'> {
|
|
|
20
20
|
* Is the button disabled?
|
|
21
21
|
*/
|
|
22
22
|
disabled?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Show a visible border around the button.
|
|
25
|
+
*/
|
|
26
|
+
hasBorder?: boolean;
|
|
23
27
|
/**
|
|
24
28
|
* Show tooltip on hover. If false, the title attribute will be used.
|
|
25
29
|
*/
|
|
@@ -32,10 +36,18 @@ interface IconButtonProps extends ComponentPropsWithoutRef<'button'> {
|
|
|
32
36
|
* Which icon to render.
|
|
33
37
|
*/
|
|
34
38
|
iconName: PDSIcon;
|
|
39
|
+
/**
|
|
40
|
+
* Whether the button is in a pressed/active toggle state. Maps to aria-pressed.
|
|
41
|
+
*/
|
|
42
|
+
isPressed?: boolean;
|
|
35
43
|
/**
|
|
36
44
|
* Click event handler callback.
|
|
37
45
|
*/
|
|
38
46
|
onClick?: (e: MouseEvent<HTMLElement>) => void;
|
|
47
|
+
/**
|
|
48
|
+
* Icon to display when isPressed is true. When not set, iconName is used in both states.
|
|
49
|
+
*/
|
|
50
|
+
pressedIconName?: PDSIcon;
|
|
39
51
|
/**
|
|
40
52
|
* Which size of button to render.
|
|
41
53
|
*/
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { ComponentPropsWithRef, ReactNode } from 'react';
|
|
2
|
+
import { StatusDotType } from '../../../libs/components/StatusDot/StatusDot';
|
|
2
3
|
import { ButtonVariant, HeadingItemType, LinkItemType, MenuItemType, NodeItemType, SeparatorItemType } from '../../../libs/types/custom-types';
|
|
4
|
+
import { TallyProps } from '../../badges/Tally/Tally';
|
|
3
5
|
import { PDSIcon } from '../../icons/Icon/Icon';
|
|
6
|
+
import '@components/Dropdown/dropdown.css';
|
|
4
7
|
import './menu-button.css';
|
|
5
8
|
type MenuButtonSize = 's' | 'm';
|
|
6
9
|
/**
|
|
@@ -16,13 +19,13 @@ export interface MenuButtonProps extends ComponentPropsWithRef<'span'> {
|
|
|
16
19
|
*/
|
|
17
20
|
disabled?: boolean;
|
|
18
21
|
/**
|
|
19
|
-
*
|
|
22
|
+
* Icon name for icon-only mode.
|
|
20
23
|
*/
|
|
21
|
-
|
|
24
|
+
iconName?: PDSIcon;
|
|
22
25
|
/**
|
|
23
|
-
*
|
|
26
|
+
* Render as an icon-only button (no label, no angle-down). Not compatible with `tally` or `statusDot`.
|
|
24
27
|
*/
|
|
25
|
-
|
|
28
|
+
iconOnly?: boolean;
|
|
26
29
|
/**
|
|
27
30
|
* ID value for this component.
|
|
28
31
|
*/
|
|
@@ -39,10 +42,6 @@ export interface MenuButtonProps extends ComponentPropsWithRef<'span'> {
|
|
|
39
42
|
* Array of menu items
|
|
40
43
|
*/
|
|
41
44
|
menuItems: Array<HeadingItemType | LinkItemType | MenuItemType | NodeItemType | SeparatorItemType>;
|
|
42
|
-
/**
|
|
43
|
-
* Horizontal position of the menu relative to the button. Applies to breakpoints `md` and up.
|
|
44
|
-
*/
|
|
45
|
-
menuPosition?: 'start' | 'end';
|
|
46
45
|
/**
|
|
47
46
|
* Optional callback function for when the button is clicked or activated by the keyboard.
|
|
48
47
|
*/
|
|
@@ -51,6 +50,17 @@ export interface MenuButtonProps extends ComponentPropsWithRef<'span'> {
|
|
|
51
50
|
* Which size of button to render.
|
|
52
51
|
*/
|
|
53
52
|
size?: MenuButtonSize;
|
|
53
|
+
/**
|
|
54
|
+
* A status dot displayed in the left icon slot. Not available in `iconOnly` mode.
|
|
55
|
+
*/
|
|
56
|
+
statusDot?: StatusDotType;
|
|
57
|
+
/**
|
|
58
|
+
* A tally badge displayed between the label and the angle-down icon. Not available in `iconOnly` mode.
|
|
59
|
+
*/
|
|
60
|
+
tally?: {
|
|
61
|
+
label: TallyProps['label'];
|
|
62
|
+
type: TallyProps['type'];
|
|
63
|
+
};
|
|
54
64
|
/**
|
|
55
65
|
* Optional `data-testid` value for this component.
|
|
56
66
|
*/
|
|
@@ -60,18 +70,15 @@ export interface MenuButtonProps extends ComponentPropsWithRef<'span'> {
|
|
|
60
70
|
*/
|
|
61
71
|
undefinedLabel?: string;
|
|
62
72
|
/**
|
|
63
|
-
* Which variant of button to render
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
* Is this button located with the Navbar component?
|
|
68
|
-
* This will adjust the styling and position of the dropdown.
|
|
69
|
-
* Omit this prop for the Dashboard application. It only applies to the standard Navbar component with a bottom border.
|
|
73
|
+
* Which variant of button to render. Not available in `iconOnly` mode.
|
|
74
|
+
* `navbar` is visually identical to `subtle` except it has no background
|
|
75
|
+
* at rest — only on hover/expanded — for triggers that sit directly on a
|
|
76
|
+
* nav/toolbar surface rather than a plain page background.
|
|
70
77
|
*/
|
|
71
|
-
|
|
78
|
+
variant?: Extract<ButtonVariant, 'primary' | 'secondary' | 'subtle'> | 'navbar';
|
|
72
79
|
}
|
|
73
80
|
/**
|
|
74
81
|
* MenuButton UI component
|
|
75
82
|
*/
|
|
76
|
-
export declare const MenuButton: ({ className, disabled,
|
|
83
|
+
export declare const MenuButton: ({ className, disabled, iconName, iconOnly, id, isSplitButton, label, menuItems, onClick, size, statusDot, tally, testId, undefinedLabel, variant, ...props }: MenuButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
77
84
|
export {};
|
|
@@ -16,6 +16,10 @@ interface SSOButtonProps extends ComponentPropsWithoutRef<'button'> {
|
|
|
16
16
|
* Is the button disabled?
|
|
17
17
|
*/
|
|
18
18
|
disabled?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Is the button in a working state?
|
|
21
|
+
*/
|
|
22
|
+
isWorking?: boolean;
|
|
19
23
|
/**
|
|
20
24
|
* The text of the button
|
|
21
25
|
*/
|
|
@@ -33,9 +37,13 @@ interface SSOButtonProps extends ComponentPropsWithoutRef<'button'> {
|
|
|
33
37
|
* @default 'm'
|
|
34
38
|
*/
|
|
35
39
|
size?: SSOButtonSize;
|
|
40
|
+
/**
|
|
41
|
+
* Text for an optional tooltip to be displayed when the button is `disabled` or `isWorking`.
|
|
42
|
+
*/
|
|
43
|
+
tooltipText?: string;
|
|
36
44
|
}
|
|
37
45
|
/**
|
|
38
46
|
* A Component used to render an SSO Button
|
|
39
47
|
*/
|
|
40
|
-
export declare const SSOButton: ({ buttonType, className, disabled, label, onClick, platform, size, ...props }: SSOButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
48
|
+
export declare const SSOButton: ({ buttonType, className, disabled, isWorking, label, onClick, platform, size, tooltipText, ...props }: SSOButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
41
49
|
export {};
|
|
@@ -1,17 +1,40 @@
|
|
|
1
1
|
import { PDSIcon } from '../../icons/Icon/Icon';
|
|
2
2
|
import './segmented-button.css';
|
|
3
|
+
export type SegmentedButtonSize = 's' | 'm' | 'l';
|
|
3
4
|
/**
|
|
4
5
|
* Structure for each option in the SegmentedButton component.
|
|
5
6
|
*/
|
|
6
7
|
interface OptionType {
|
|
8
|
+
/**
|
|
9
|
+
* Disables this individual option.
|
|
10
|
+
*/
|
|
7
11
|
disabled?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Optional icon rendered before the label.
|
|
14
|
+
*/
|
|
8
15
|
iconName?: PDSIcon;
|
|
16
|
+
/**
|
|
17
|
+
* Optional unique ID for the option. Falls back to a generated ID.
|
|
18
|
+
*/
|
|
9
19
|
id?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Shows a spinner before the label to indicate the option is loading.
|
|
22
|
+
*/
|
|
23
|
+
isLoading?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Visible text for the option.
|
|
26
|
+
*/
|
|
10
27
|
label: string;
|
|
28
|
+
/**
|
|
29
|
+
* Optional tally badge rendered after the label.
|
|
30
|
+
*/
|
|
11
31
|
tally?: {
|
|
12
32
|
label: string | number;
|
|
13
33
|
type: 'neutral' | 'critical' | 'warning' | 'info' | 'success';
|
|
14
34
|
};
|
|
35
|
+
/**
|
|
36
|
+
* Value submitted when this option is selected.
|
|
37
|
+
*/
|
|
15
38
|
value: string;
|
|
16
39
|
}
|
|
17
40
|
/**
|
|
@@ -19,7 +42,11 @@ interface OptionType {
|
|
|
19
42
|
*/
|
|
20
43
|
export interface SegmentedButtonProps {
|
|
21
44
|
/**
|
|
22
|
-
*
|
|
45
|
+
* Renders a border around the track. Off by default.
|
|
46
|
+
*/
|
|
47
|
+
border?: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Additional class names.
|
|
23
50
|
*/
|
|
24
51
|
className?: string;
|
|
25
52
|
/**
|
|
@@ -27,9 +54,16 @@ export interface SegmentedButtonProps {
|
|
|
27
54
|
*/
|
|
28
55
|
defaultValue?: string;
|
|
29
56
|
/**
|
|
30
|
-
*
|
|
57
|
+
* Disables all options in the SegmentedButton.
|
|
31
58
|
*/
|
|
32
59
|
disabled?: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Renders each option as an icon-only, square segment with a circular
|
|
62
|
+
* selected pill. Each option's `iconName` is required and its `label` is
|
|
63
|
+
* used as the accessible name (visually hidden) and shown in a tooltip on
|
|
64
|
+
* hover. Works at any size; the icon and pill scale with the size.
|
|
65
|
+
*/
|
|
66
|
+
iconOnly?: boolean;
|
|
33
67
|
/**
|
|
34
68
|
* Unique ID for the SegmentedButton.
|
|
35
69
|
*/
|
|
@@ -39,24 +73,26 @@ export interface SegmentedButtonProps {
|
|
|
39
73
|
*/
|
|
40
74
|
label: string;
|
|
41
75
|
/**
|
|
42
|
-
* Callback
|
|
76
|
+
* Callback fired when the selected option changes.
|
|
43
77
|
*/
|
|
44
78
|
onChange?: (value: string) => void;
|
|
45
79
|
/**
|
|
46
|
-
* Array of button options — must be between 2 and 6 options.
|
|
80
|
+
* Array of button options — must be between 2 and 6 options. Each option may
|
|
81
|
+
* include an optional icon or spinner before the label and a tally after it.
|
|
47
82
|
*/
|
|
48
83
|
options: OptionType[];
|
|
49
84
|
/**
|
|
50
|
-
* Size of the
|
|
85
|
+
* Size of the segmented button: `'s'` (20px), `'m'` (24px, default), or
|
|
86
|
+
* `'l'` (32px). The icon scales with the size.
|
|
51
87
|
*/
|
|
52
|
-
size?:
|
|
88
|
+
size?: SegmentedButtonSize;
|
|
53
89
|
/**
|
|
54
|
-
*
|
|
90
|
+
* Controlled value. Cannot be used together with `defaultValue`.
|
|
55
91
|
*/
|
|
56
92
|
value?: string;
|
|
57
93
|
}
|
|
58
94
|
/**
|
|
59
95
|
* SegmentedButton UI component
|
|
60
96
|
*/
|
|
61
|
-
export declare const SegmentedButton: ({ className, defaultValue, disabled, id, label, onChange, options, size, value, ...props }: SegmentedButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
97
|
+
export declare const SegmentedButton: ({ border, className, defaultValue, disabled, iconOnly, id, label, onChange, options, size, value, ...props }: SegmentedButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
62
98
|
export {};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { ComponentPropsWithoutRef, ReactElement, ReactNode } from 'react';
|
|
2
|
+
import { CardBackground, CardPaddingScale } from '../../../libs/types/layout-types';
|
|
3
|
+
import { CardImageVariant } from '../../cards/Card/Card';
|
|
4
|
+
import './action-card.css';
|
|
5
|
+
export interface ActionCardPrimaryAction {
|
|
6
|
+
/**
|
|
7
|
+
* Accessible label for the card-level action. Required — read by screen readers
|
|
8
|
+
* as the name of the interactive element that covers the card.
|
|
9
|
+
*/
|
|
10
|
+
label: string;
|
|
11
|
+
/**
|
|
12
|
+
* For link-based actions: pass a native `<a>` or framework link element (e.g.
|
|
13
|
+
* React Router `<Link>`). The component clones the element and injects the
|
|
14
|
+
* required class and aria-label. Mutually exclusive with `onClick`.
|
|
15
|
+
*/
|
|
16
|
+
linkContent?: ReactElement;
|
|
17
|
+
/**
|
|
18
|
+
* For button-based actions: callback fired when the card is activated.
|
|
19
|
+
* Mutually exclusive with `linkContent`.
|
|
20
|
+
*/
|
|
21
|
+
onClick?: () => void;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Prop types for ActionCard
|
|
25
|
+
*/
|
|
26
|
+
export interface ActionCardProps extends ComponentPropsWithoutRef<'div'> {
|
|
27
|
+
/**
|
|
28
|
+
* Background color of the card.
|
|
29
|
+
*/
|
|
30
|
+
background?: CardBackground;
|
|
31
|
+
/**
|
|
32
|
+
* Card content. Supports `image`, `main`, and `footer` named slots.
|
|
33
|
+
* Any interactive elements placed inside children (secondary actions) are
|
|
34
|
+
* naturally positioned above the card-level primary action.
|
|
35
|
+
*/
|
|
36
|
+
children?: ReactNode;
|
|
37
|
+
/**
|
|
38
|
+
* Additional class names
|
|
39
|
+
*/
|
|
40
|
+
className?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Controls how the image slot is presented.
|
|
43
|
+
* - `bleed` (default): image extends to card edges, top corners rounded only.
|
|
44
|
+
* - `inset`: image has padding on all sides, all corners rounded.
|
|
45
|
+
*/
|
|
46
|
+
imageVariant?: CardImageVariant;
|
|
47
|
+
/**
|
|
48
|
+
* Relative padding for the `main` and `footer` slots.
|
|
49
|
+
*/
|
|
50
|
+
padding?: CardPaddingScale;
|
|
51
|
+
/**
|
|
52
|
+
* The card-level primary action. Provide either `linkContent` (for links) or
|
|
53
|
+
* `onClick` (for button actions), plus a required accessible `label`.
|
|
54
|
+
*/
|
|
55
|
+
primaryAction: ActionCardPrimaryAction;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* ActionCard UI component
|
|
59
|
+
*
|
|
60
|
+
* A fully-clickable card where the entire surface activates a primary action.
|
|
61
|
+
* Supports both link and button actions. Secondary interactive elements can be
|
|
62
|
+
* placed inside children and remain independently clickable above the card action.
|
|
63
|
+
*/
|
|
64
|
+
export declare const ActionCard: ({ background, children, className, imageVariant, padding, primaryAction, ...props }: ActionCardProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { CardBackground, CardPaddingScale } from '../../../libs/types/layout-types';
|
|
3
3
|
import './card.css';
|
|
4
|
-
export type
|
|
4
|
+
export type CardImageVariant = 'bleed' | 'inset';
|
|
5
5
|
/**
|
|
6
6
|
* Prop types for Card
|
|
7
7
|
*/
|
|
@@ -18,12 +18,18 @@ export interface CardProps extends ComponentPropsWithoutRef<'div'> {
|
|
|
18
18
|
* Additional class names
|
|
19
19
|
*/
|
|
20
20
|
className?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Controls how the image fills the card top.
|
|
23
|
+
* - `bleed` (default): image extends to the card edges, top corners rounded only.
|
|
24
|
+
* - `inset`: image has padding on all sides, all corners rounded.
|
|
25
|
+
*/
|
|
26
|
+
imageVariant?: CardImageVariant;
|
|
21
27
|
/**
|
|
22
28
|
* Relative padding for the `main` slot.
|
|
23
29
|
*/
|
|
24
|
-
padding?:
|
|
30
|
+
padding?: CardPaddingScale;
|
|
25
31
|
}
|
|
26
32
|
/**
|
|
27
33
|
* Card UI component
|
|
28
34
|
*/
|
|
29
|
-
export declare const Card: ({ background, children, className, padding, ...props }: CardProps) => import("react/jsx-runtime").JSX.Element;
|
|
35
|
+
export declare const Card: ({ background, children, className, imageVariant, padding, ...props }: CardProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
2
|
+
import { CardBackground, CardPaddingScale } from '../../../libs/types/layout-types';
|
|
3
|
+
import './card-select.css';
|
|
4
|
+
export interface CardOption {
|
|
5
|
+
/**
|
|
6
|
+
* Composable content rendered inside the card. Use `slot="image"` to place an
|
|
7
|
+
* image in the card's image area; any unslotted content becomes the main
|
|
8
|
+
* content area below the label.
|
|
9
|
+
*/
|
|
10
|
+
children?: ReactNode;
|
|
11
|
+
/**
|
|
12
|
+
* Unique ID for the option
|
|
13
|
+
* @default ''
|
|
14
|
+
*/
|
|
15
|
+
id?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Option label
|
|
18
|
+
*/
|
|
19
|
+
label: string | ReactNode;
|
|
20
|
+
/**
|
|
21
|
+
* Option value
|
|
22
|
+
*/
|
|
23
|
+
value: string;
|
|
24
|
+
}
|
|
25
|
+
export type CardSelectSize = 'm' | 'l';
|
|
26
|
+
export type CardSelectImageVariant = 'bleed' | 'inset';
|
|
27
|
+
export interface CardSelectProps extends Omit<ComponentPropsWithoutRef<'fieldset'>, 'onChange'> {
|
|
28
|
+
/**
|
|
29
|
+
* Background fill for each card. `default` uses the card surface, `secondary`
|
|
30
|
+
* the secondary surface, and `transparent` removes the fill.
|
|
31
|
+
*/
|
|
32
|
+
background?: CardBackground;
|
|
33
|
+
/**
|
|
34
|
+
* Additional class names
|
|
35
|
+
*/
|
|
36
|
+
className?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Optional initial selected option value
|
|
39
|
+
*/
|
|
40
|
+
defaultValue?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Unique ID for the card select
|
|
43
|
+
*/
|
|
44
|
+
id: string;
|
|
45
|
+
/**
|
|
46
|
+
* Controls how a card's image slot fills the card top.
|
|
47
|
+
* - `bleed` (default): image extends to the card edges, top corners rounded only.
|
|
48
|
+
* - `inset`: image has padding on all sides, all corners rounded.
|
|
49
|
+
*/
|
|
50
|
+
imageVariant?: CardSelectImageVariant;
|
|
51
|
+
/**
|
|
52
|
+
* Label for the card select group. Renders as the fieldset legend.
|
|
53
|
+
*/
|
|
54
|
+
label: string;
|
|
55
|
+
/**
|
|
56
|
+
* Display of the group legend (the `label`). `hidden` visually hides the legend
|
|
57
|
+
* but keeps it accessible to screen readers. Does not affect the per-card
|
|
58
|
+
* labels — use `showCardLabels` for those.
|
|
59
|
+
*/
|
|
60
|
+
labelDisplay?: 'left' | 'center' | 'hidden';
|
|
61
|
+
/**
|
|
62
|
+
* Column layout of the cards at breakpoints medium and above.
|
|
63
|
+
*/
|
|
64
|
+
layout?: 'auto' | 'twoAcross' | 'threeAcross';
|
|
65
|
+
/**
|
|
66
|
+
* Callback function that will return the updated value from the instance when it changes.
|
|
67
|
+
* Function should have the shape of: `(value) => { <do stuff here> } `.
|
|
68
|
+
*/
|
|
69
|
+
onChange?: (value: string) => void;
|
|
70
|
+
/**
|
|
71
|
+
* Array of card options
|
|
72
|
+
*/
|
|
73
|
+
options?: CardOption[];
|
|
74
|
+
/**
|
|
75
|
+
* Relative padding for each card's content area.
|
|
76
|
+
*/
|
|
77
|
+
padding?: CardPaddingScale;
|
|
78
|
+
/**
|
|
79
|
+
* Show each card's own label text. When `false`, every card's `label` is
|
|
80
|
+
* visually hidden but stays in the DOM as the accessible name for its radio
|
|
81
|
+
* input (still required) — use it when the cards compose their own visible
|
|
82
|
+
* titles. Defaults to `true`.
|
|
83
|
+
*/
|
|
84
|
+
showCardLabels?: boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Show the radio-style selection indicator (the circle / check dot) on each
|
|
87
|
+
* card. When `false`, the indicator is hidden and the selected card is shown
|
|
88
|
+
* with a highlight ring and raised elevation instead. The underlying radio
|
|
89
|
+
* inputs remain for keyboard and screen-reader use either way.
|
|
90
|
+
*/
|
|
91
|
+
showIndicator?: boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Size of the card label and indicator. Defaults to `'m'`.
|
|
94
|
+
*/
|
|
95
|
+
size?: CardSelectSize;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* CardSelect UI component
|
|
99
|
+
*/
|
|
100
|
+
export declare const CardSelect: ({ background, className, defaultValue, id, imageVariant, label, labelDisplay, layout, onChange, options, padding, showCardLabels, showIndicator, size, ...props }: CardSelectProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ComponentPropsWithoutRef } from 'react';
|
|
2
|
+
import type { BaseChartProps } from '../shared/types';
|
|
3
|
+
import '../shared/chart-wrapper.css';
|
|
4
|
+
import './bar-chart.css';
|
|
5
|
+
export type BarChartLayout = 'horizontal' | 'vertical';
|
|
6
|
+
export type BarChartVariant = 'grouped' | 'stacked';
|
|
7
|
+
export interface BarChartProps extends BaseChartProps, Omit<ComponentPropsWithoutRef<'div'>, 'children'> {
|
|
8
|
+
/** Border radius on bars (default: 2) */
|
|
9
|
+
barRadius?: number;
|
|
10
|
+
/** Bar orientation — horizontal (default, bars go up) or vertical (bars go sideways) */
|
|
11
|
+
layout?: BarChartLayout;
|
|
12
|
+
/** Bar layout variant (default: 'stacked') */
|
|
13
|
+
variant?: BarChartVariant;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* BarChart UI component
|
|
17
|
+
*
|
|
18
|
+
* Renders a responsive bar chart with support for stacked or grouped layouts,
|
|
19
|
+
* multiple series, tooltips, and an accessible data table.
|
|
20
|
+
*/
|
|
21
|
+
export declare const BarChart: ({ barRadius, chartHeight, chartWidth, className, colorPalette, data, isLoading, isThumbnail, labelStrings, layout, legendVariant, onTimePeriodChange, selectedTimePeriod, series, showAccessibleTable, showAxisLines, showGrid, showLegend, showTooltip, timePeriodOptions, tooltipContent, variant, xAxisLabel, xAxisTickInterval, yAxisDomain, yAxisFormatter, yAxisLabel, yAxisTickInterval, ...props }: BarChartProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ComponentPropsWithoutRef } from 'react';
|
|
2
|
+
import type { AnnotationConfig, BaseChartProps, ReferenceLineConfig } from '../shared/types';
|
|
3
|
+
import '../shared/chart-wrapper.css';
|
|
4
|
+
import './line-chart.css';
|
|
5
|
+
export type LineStyle = 'smooth' | 'straight';
|
|
6
|
+
export interface LineChartProps extends BaseChartProps, Omit<ComponentPropsWithoutRef<'div'>, 'children'> {
|
|
7
|
+
/** Annotation markers (e.g., "TODAY") */
|
|
8
|
+
annotations?: AnnotationConfig[];
|
|
9
|
+
/** Line curve style (default: 'smooth') */
|
|
10
|
+
lineStyle?: LineStyle;
|
|
11
|
+
/** Reference lines (e.g., contract limit) */
|
|
12
|
+
referenceLines?: ReferenceLineConfig[];
|
|
13
|
+
/** Show data points on lines (default: true) */
|
|
14
|
+
showDataPoints?: boolean;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* LineChart UI component
|
|
18
|
+
*
|
|
19
|
+
* Renders a responsive line chart with support for multiple series,
|
|
20
|
+
* reference lines, annotations, tooltips, and an accessible data table.
|
|
21
|
+
*/
|
|
22
|
+
export declare const LineChart: ({ annotations, chartHeight, chartWidth, className, colorPalette, data, isLoading, isThumbnail, labelStrings, legendVariant, lineStyle, onTimePeriodChange, referenceLines, selectedTimePeriod, series, showAccessibleTable, showAxisLines, showDataPoints, showGrid, showLegend, showTooltip, timePeriodOptions, tooltipContent, xAxisLabel, xAxisTickInterval, yAxisDomain, yAxisFormatter, yAxisLabel, yAxisTickInterval, ...props }: LineChartProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { ComponentPropsWithoutRef } from 'react';
|
|
2
|
+
import type { ColorPalette, LegendVariant } from '../shared/types';
|
|
3
|
+
import '../shared/chart-wrapper.css';
|
|
4
|
+
import './pie-chart.css';
|
|
5
|
+
export type PieChartVariant = 'donut' | 'pie';
|
|
6
|
+
export interface PieSlice {
|
|
7
|
+
/** Override default token color (CSS custom property or hex). Not theme-aware — use paletteIndex instead when possible. */
|
|
8
|
+
color?: string;
|
|
9
|
+
/** Display label for legend and tooltip */
|
|
10
|
+
label: string;
|
|
11
|
+
/** Pick a specific color from the selected palette by position (1-based). Theme-aware — automatically adjusts for light/dark mode. */
|
|
12
|
+
paletteIndex?: number;
|
|
13
|
+
/** Numeric value for this slice */
|
|
14
|
+
value: number;
|
|
15
|
+
}
|
|
16
|
+
export interface PieChartLabelStrings {
|
|
17
|
+
/** Accessible description for the hidden data table */
|
|
18
|
+
accessibleTableDescription?: string;
|
|
19
|
+
/** Heading for the empty state */
|
|
20
|
+
emptyStateHeading?: string;
|
|
21
|
+
/** Message body for the empty state */
|
|
22
|
+
emptyStateMessage?: string;
|
|
23
|
+
/** Loading label for screen readers */
|
|
24
|
+
loadingLabel?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface PieChartProps extends Omit<ComponentPropsWithoutRef<'div'>, 'children'> {
|
|
27
|
+
/** Height of the chart area in pixels. Default: 300; 80 when isThumbnail. */
|
|
28
|
+
chartHeight?: number;
|
|
29
|
+
/** Maximum width of the component in pixels. Default: 80 when isThumbnail. */
|
|
30
|
+
chartWidth?: number;
|
|
31
|
+
/** Color palette to use for slice colors (default: 'categorical') */
|
|
32
|
+
colorPalette?: ColorPalette;
|
|
33
|
+
/** Slice data */
|
|
34
|
+
data: PieSlice[];
|
|
35
|
+
/** Show loading skeleton */
|
|
36
|
+
isLoading?: boolean;
|
|
37
|
+
/** Thumbnail mode — hides legend and tooltip, renders at a small fixed size. Individual show* props can override. */
|
|
38
|
+
isThumbnail?: boolean;
|
|
39
|
+
/** Translatable UI strings for i18n. Keys: accessibleTableDescription, emptyStateHeading, emptyStateMessage, loadingLabel. */
|
|
40
|
+
labelStrings?: PieChartLabelStrings;
|
|
41
|
+
/** Legend display style (default: 'inline') */
|
|
42
|
+
legendVariant?: LegendVariant;
|
|
43
|
+
/** Show accessible data table (visually hidden). Defaults to true. */
|
|
44
|
+
showAccessibleTable?: boolean;
|
|
45
|
+
/** Show legend below the chart. Defaults to true; false when isThumbnail is set. */
|
|
46
|
+
showLegend?: boolean;
|
|
47
|
+
/** Show tooltip on hover. Defaults to true; false when isThumbnail is set. */
|
|
48
|
+
showTooltip?: boolean;
|
|
49
|
+
/** Custom value formatter for legend items. Receives the slice value, total, and label. Defaults to showing percentage. */
|
|
50
|
+
valueFormatter?: (value: number, total: number, label: string) => string;
|
|
51
|
+
/** Chart variant (default: 'pie') */
|
|
52
|
+
variant?: PieChartVariant;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* PieChart UI component
|
|
56
|
+
*
|
|
57
|
+
* Renders a responsive pie or donut chart showing proportional data across categories.
|
|
58
|
+
*/
|
|
59
|
+
export declare const PieChart: ({ chartHeight, chartWidth, className, colorPalette, data, isLoading, isThumbnail, labelStrings, legendVariant, showAccessibleTable, showLegend, showTooltip, valueFormatter, variant, ...props }: PieChartProps) => import("react/jsx-runtime").JSX.Element;
|