@pantheon-systems/pds-toolkit-react 2.0.0-alpha.8 → 2.0.0-alpha.80
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 +257 -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/RowActionsMenu/RowActionsMenu.d.ts +46 -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/StatPanel/StatPanel.d.ts +70 -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 +356 -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 +10 -3
- 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 +2 -2
- package/dist/components/buttons/FilterButton/FilterButton.d.ts +92 -0
- package/dist/components/buttons/IconButton/IconButton.d.ts +13 -1
- package/dist/components/buttons/MenuButton/MenuButton.d.ts +53 -19
- package/dist/components/buttons/SSOButton/SSOButton.d.ts +9 -1
- package/dist/components/buttons/SegmentedButton/SegmentedButton.d.ts +44 -8
- package/dist/components/buttons/SelectButton/SelectButton.d.ts +81 -0
- package/dist/components/buttons/SplitButton/SplitButton.d.ts +7 -1
- 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/empty-states/VerticalEmptyState/VerticalEmptyState.d.ts +3 -2
- 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 +226 -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 +2 -2
- 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 +31 -5
- package/dist/components/navigation/WorkspaceSelector/WorkspaceSelector.d.ts +13 -16
- package/dist/components/navigation/navigation-utilities.d.ts +15 -2
- package/dist/components/notifications/SectionMessage/SectionMessage.d.ts +12 -4
- 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/BottomSheet/BottomSheet.d.ts +66 -0
- package/dist/components/overlays/BulkActionBar/BulkActionBar.d.ts +48 -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 +1 -1
- 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 +67 -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/FeaturePanel/FeaturePanel.d.ts +72 -0
- 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/panels/WidgetPanel/WidgetPanel.d.ts +39 -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-bottom-sheet.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-bulk-action-bar.css +1 -0
- 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 +46 -14
- 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 +3 -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-feature-panel.css +15 -0
- 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 +22 -14
- 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 +187 -57
- 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-row-actions-menu.css +2 -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-button.css +1 -0
- 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-stat-panel.css +1 -0
- 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 +5 -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 +7 -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-widget-panel.css +1 -0
- package/dist/css/component-css/pds-workspace-selector.css +23 -1
- package/dist/css/design-tokens/variables.dark.css +371 -340
- package/dist/css/design-tokens/variables.global.css +10 -19
- package/dist/css/design-tokens/variables.light.css +367 -316
- 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 +13 -0
- package/dist/css/layout-css/pds-stat-panel-group.css +1 -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 +187 -57
- 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 +103 -7
- package/dist/index.js +13227 -4807
- package/dist/index.js.map +1 -1
- package/dist/index.source.d.ts +53 -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 +36 -7
- package/dist/layouts/StatPanelGroup/StatPanelGroup.d.ts +32 -0
- 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/NestedOverlayContext.d.ts +14 -0
- package/dist/libs/components/StatusDot/StatusDot.d.ts +15 -0
- package/dist/libs/components/useOverlayZIndex.d.ts +16 -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 +5 -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/arrowDownWideShort.svg +3 -0
- package/dist/svg/arrowUpShortWide.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/auto-grid/AutoGrid.d.ts +48 -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 +148 -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 +78 -46
- package/tailwind/README.md +9 -0
- package/tailwind/v3/preset.cjs +20 -0
- package/tailwind/v4/theme.css +19 -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,57 @@
|
|
|
1
|
+
import { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
2
|
+
import './grid.css';
|
|
3
|
+
type GridSpanSm = 1 | 2 | 3 | 4;
|
|
4
|
+
type GridSpan = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
|
|
5
|
+
type GridRowSpan = 1 | 2 | 3 | 4 | 5 | 6;
|
|
6
|
+
/**
|
|
7
|
+
* Prop types for GridItem
|
|
8
|
+
*/
|
|
9
|
+
export interface GridItemProps extends ComponentPropsWithoutRef<'div'> {
|
|
10
|
+
/**
|
|
11
|
+
* Item content.
|
|
12
|
+
*/
|
|
13
|
+
children?: ReactNode;
|
|
14
|
+
/**
|
|
15
|
+
* Additional class names
|
|
16
|
+
*/
|
|
17
|
+
className?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Rows to span at large viewports (1–6). Falls back to the medium value.
|
|
20
|
+
*/
|
|
21
|
+
rowSpanLg?: GridRowSpan;
|
|
22
|
+
/**
|
|
23
|
+
* Rows to span at medium viewports (1–6). Falls back to a single row.
|
|
24
|
+
*/
|
|
25
|
+
rowSpanMd?: GridRowSpan;
|
|
26
|
+
/**
|
|
27
|
+
* Rows to span at small viewports (1–6). Falls back to a single row.
|
|
28
|
+
*/
|
|
29
|
+
rowSpanSm?: GridRowSpan;
|
|
30
|
+
/**
|
|
31
|
+
* Rows to span at extra-large viewports (1–6). Falls back to the large value.
|
|
32
|
+
*/
|
|
33
|
+
rowSpanXl?: GridRowSpan;
|
|
34
|
+
/**
|
|
35
|
+
* Columns to span at large viewports (1–12). Falls back to the medium value.
|
|
36
|
+
*/
|
|
37
|
+
spanLg?: GridSpan;
|
|
38
|
+
/**
|
|
39
|
+
* Columns to span at medium viewports (1–12). Falls back to full width.
|
|
40
|
+
*/
|
|
41
|
+
spanMd?: GridSpan;
|
|
42
|
+
/**
|
|
43
|
+
* Columns to span at small viewports (1–4). Falls back to full width.
|
|
44
|
+
*/
|
|
45
|
+
spanSm?: GridSpanSm;
|
|
46
|
+
/**
|
|
47
|
+
* Columns to span at extra-large viewports (1–12). Falls back to the large value.
|
|
48
|
+
*/
|
|
49
|
+
spanXl?: GridSpan;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* GridItem — a child of `Grid`. Sets the column span per breakpoint via the
|
|
53
|
+
* `pds-grid-item--{breakpoint}-{span}` utility classes. Missing breakpoints
|
|
54
|
+
* fall back to the full column width for that viewport.
|
|
55
|
+
*/
|
|
56
|
+
export declare const GridItem: ({ children, className, rowSpanLg, rowSpanMd, rowSpanSm, rowSpanXl, spanLg, spanMd, spanSm, spanXl, ...props }: GridItemProps) => import("react/jsx-runtime").JSX.Element;
|
|
57
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './useDropdown';
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import type { Placement } from '@floating-ui/react';
|
|
2
|
+
import { useFloating, useFloatingNodeId, useInteractions } from '@floating-ui/react';
|
|
3
|
+
export type DropdownRole = 'menu' | 'listbox' | 'dialog';
|
|
4
|
+
export type DropdownVariant = 'default' | 'input';
|
|
5
|
+
export interface UseDropdownOptions {
|
|
6
|
+
/**
|
|
7
|
+
* Allow keyboard navigation to escape the list (move past first/last item).
|
|
8
|
+
* Useful for combobox inputs where focus should return to the input.
|
|
9
|
+
*/
|
|
10
|
+
allowEscape?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Enable click-to-toggle interaction via useClick.
|
|
13
|
+
* Set to false for combobox-type inputs where open/close is managed
|
|
14
|
+
* by input events (typing, focus) rather than a click toggle.
|
|
15
|
+
*/
|
|
16
|
+
enableClick?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Enable keyboard list navigation via useListNavigation.
|
|
19
|
+
* Set to false if keyboard nav is managed externally.
|
|
20
|
+
*/
|
|
21
|
+
enableListNavigation?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Enable shift middleware to keep the dropdown within viewport bounds.
|
|
24
|
+
* Set to false for inputs where the dropdown should align flush with the trigger.
|
|
25
|
+
*/
|
|
26
|
+
enableShift?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Enable transition animations on the dropdown panel.
|
|
29
|
+
*/
|
|
30
|
+
enableTransition?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Enable typeahead character search via useTypeahead.
|
|
33
|
+
*/
|
|
34
|
+
enableTypeahead?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Set the floating panel's width to exactly match the reference
|
|
37
|
+
* (trigger) element's width, applied via inline style. Needed any time
|
|
38
|
+
* the panel is rendered through a `FloatingPortal` — once portaled, a
|
|
39
|
+
* CSS `width: 100%` on the panel resolves against the viewport instead
|
|
40
|
+
* of the trigger, since the panel is no longer nested inside it. Implied
|
|
41
|
+
* (and overridden to `minWidth` instead of `width`) by `variant: 'input'`.
|
|
42
|
+
*/
|
|
43
|
+
matchReferenceWidth?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Offset distance in pixels between the trigger and the dropdown panel.
|
|
46
|
+
* Ignored when variant is 'input' (uses dynamic offset based on placement).
|
|
47
|
+
*/
|
|
48
|
+
offsetValue?: number;
|
|
49
|
+
/**
|
|
50
|
+
* Open the dropdown on hover (desktop navigation menus).
|
|
51
|
+
* Enables useHover with safePolygon.
|
|
52
|
+
*/
|
|
53
|
+
openOnHover?: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Preferred placement of the dropdown panel relative to the trigger.
|
|
56
|
+
*/
|
|
57
|
+
placement?: Placement;
|
|
58
|
+
/**
|
|
59
|
+
* ARIA role for the dropdown container.
|
|
60
|
+
*/
|
|
61
|
+
role?: DropdownRole;
|
|
62
|
+
/**
|
|
63
|
+
* Index of the currently selected item. Used by typeahead to maintain
|
|
64
|
+
* selection context. Only needed for selection-style dropdowns (Select).
|
|
65
|
+
*/
|
|
66
|
+
selectedIndex?: number | null;
|
|
67
|
+
/**
|
|
68
|
+
* Minimum clearance (px) shift maintains from the viewport edge — the
|
|
69
|
+
* "safe zone" a trigger closer than this is still nudged away from, even
|
|
70
|
+
* if the panel itself wouldn't actually overflow. Defaults to 24. Lower
|
|
71
|
+
* to 0 so shift only intervenes on genuine overflow, when a trigger
|
|
72
|
+
* sitting close to the edge (but not overflowing) needs to stay flush.
|
|
73
|
+
*/
|
|
74
|
+
shiftPadding?: number;
|
|
75
|
+
/**
|
|
76
|
+
* Dropdown variant. 'input' applies input-specific positioning: dynamic
|
|
77
|
+
* offset based on placement direction and size constraints with min/max height.
|
|
78
|
+
* Use for Select, Combobox, and other input-attached dropdowns.
|
|
79
|
+
*/
|
|
80
|
+
variant?: DropdownVariant;
|
|
81
|
+
/**
|
|
82
|
+
* Use virtual focus (aria-activedescendant) instead of roving tabindex.
|
|
83
|
+
* Appropriate for combobox-type inputs where focus must stay on the input.
|
|
84
|
+
*/
|
|
85
|
+
virtual?: boolean;
|
|
86
|
+
}
|
|
87
|
+
export interface UseDropdownReturn {
|
|
88
|
+
/**
|
|
89
|
+
* Index of the currently active/focused item in the list.
|
|
90
|
+
*/
|
|
91
|
+
activeIndex: number | null;
|
|
92
|
+
/**
|
|
93
|
+
* Styles to apply to the floating panel element.
|
|
94
|
+
*/
|
|
95
|
+
floatingStyles: ReturnType<typeof useFloating>['floatingStyles'];
|
|
96
|
+
/**
|
|
97
|
+
* Props to spread on the floating panel element.
|
|
98
|
+
*/
|
|
99
|
+
getFloatingProps: ReturnType<typeof useInteractions>['getFloatingProps'];
|
|
100
|
+
/**
|
|
101
|
+
* Props to spread on each item element.
|
|
102
|
+
*/
|
|
103
|
+
getItemProps: ReturnType<typeof useInteractions>['getItemProps'];
|
|
104
|
+
/**
|
|
105
|
+
* Props to spread on the trigger/reference element.
|
|
106
|
+
*/
|
|
107
|
+
getReferenceProps: ReturnType<typeof useInteractions>['getReferenceProps'];
|
|
108
|
+
/**
|
|
109
|
+
* Whether the floating panel should be mounted in the DOM
|
|
110
|
+
* (accounts for transition animations).
|
|
111
|
+
*/
|
|
112
|
+
isMounted: boolean;
|
|
113
|
+
/**
|
|
114
|
+
* Whether the dropdown is currently open.
|
|
115
|
+
*/
|
|
116
|
+
isOpen: boolean;
|
|
117
|
+
/**
|
|
118
|
+
* Ref array for list item DOM nodes (used by useListNavigation).
|
|
119
|
+
*/
|
|
120
|
+
listRef: React.MutableRefObject<any[]>;
|
|
121
|
+
/**
|
|
122
|
+
* This instance's Floating UI tree node ID (`null` when not part of a
|
|
123
|
+
* `<FloatingTree>`). Consumers that can be nested inside another floating
|
|
124
|
+
* panel (e.g. MenuButton, Dropdown) wrap their rendered floating panel in
|
|
125
|
+
* a `<FloatingNode id={nodeId}>` so outside-click/Escape resolve to the
|
|
126
|
+
* correct (innermost) panel when nested. See each consumer's own
|
|
127
|
+
* `useFloatingParentNodeId()` check for whether it also needs to provide
|
|
128
|
+
* its own `<FloatingTree>` (root case) or can join an ancestor's.
|
|
129
|
+
*/
|
|
130
|
+
nodeId: ReturnType<typeof useFloatingNodeId>;
|
|
131
|
+
/**
|
|
132
|
+
* Floating UI refs for the reference and floating elements.
|
|
133
|
+
*/
|
|
134
|
+
refs: ReturnType<typeof useFloating>['refs'];
|
|
135
|
+
/**
|
|
136
|
+
* Set the active/focused item index.
|
|
137
|
+
*/
|
|
138
|
+
setActiveIndex: React.Dispatch<React.SetStateAction<number | null>>;
|
|
139
|
+
/**
|
|
140
|
+
* Set the open state of the dropdown.
|
|
141
|
+
*/
|
|
142
|
+
setIsOpen: React.Dispatch<React.SetStateAction<boolean>>;
|
|
143
|
+
/**
|
|
144
|
+
* Transition styles to apply to the floating panel element.
|
|
145
|
+
*/
|
|
146
|
+
transitionStyles: React.CSSProperties;
|
|
147
|
+
}
|
|
148
|
+
export declare const useDropdown: ({ allowEscape, enableClick, enableListNavigation, enableShift, enableTransition, enableTypeahead, matchReferenceWidth, offsetValue, openOnHover, placement, role, selectedIndex, shiftPadding, variant, virtual, }?: UseDropdownOptions) => UseDropdownReturn;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns whether the layout is currently in its mobile presentation, tracking
|
|
3
|
+
* the `data-pds-mobile` attribute that `GlobalWrapper` sets on the document
|
|
4
|
+
* root. Reactive: updates when the breakpoint is crossed.
|
|
5
|
+
*
|
|
6
|
+
* Use this to render only the active responsive variant of a component, rather
|
|
7
|
+
* than mounting both a mobile and a desktop tree and toggling them with CSS —
|
|
8
|
+
* mounting both duplicates any ids in the slotted content (invalid HTML) and
|
|
9
|
+
* makes `getElementById`/`htmlFor`/`aria-controls` resolve to the hidden copy.
|
|
10
|
+
*
|
|
11
|
+
* SSR-safe: resolves to `false` (desktop) on the server and on the first client
|
|
12
|
+
* render, then updates after `GlobalWrapper` applies the attribute.
|
|
13
|
+
*
|
|
14
|
+
* @returns {boolean} `true` when the mobile presentation is active.
|
|
15
|
+
*/
|
|
16
|
+
export declare const useIsMobile: () => boolean;
|
|
@@ -20,4 +20,10 @@ export interface UseKeyPressOptions {
|
|
|
20
20
|
*/
|
|
21
21
|
shiftKey?: boolean;
|
|
22
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* @deprecated Use `useKeyboardShortcut` instead. `useKeyPress` fires even while
|
|
25
|
+
* the user is typing in a form field and requires callers to manually disable
|
|
26
|
+
* shortcuts when an overlay is open; `useKeyboardShortcut` handles both by
|
|
27
|
+
* default. This hook will be removed before the v2 stable release.
|
|
28
|
+
*/
|
|
23
29
|
export declare const useKeyPress: (targetKey: string, callback?: (event: KeyboardEvent) => void, options?: UseKeyPressOptions) => boolean;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { HotkeyCallback, Keys, Options } from 'react-hotkeys-hook';
|
|
2
|
+
export type UseKeyboardShortcutOptions = Options;
|
|
3
|
+
/**
|
|
4
|
+
* Registers a keyboard shortcut, applying the PDS defaults on top of
|
|
5
|
+
* `react-hotkeys-hook`:
|
|
6
|
+
*
|
|
7
|
+
* - **Ignores form fields by default.** Shortcuts do not fire while focus is in
|
|
8
|
+
* an `input`, `textarea`, `select`, or `contentEditable` element, so typing a
|
|
9
|
+
* shortcut character (e.g. `/`) into a field never hijacks it. Opt in per
|
|
10
|
+
* shortcut with `enableOnFormTags` / `enableOnContentEditable` when a shortcut
|
|
11
|
+
* genuinely needs to fire inside a field.
|
|
12
|
+
* - **Overlay-aware.** Shortcuts auto-suppress while any PDS overlay (modal,
|
|
13
|
+
* drawer, mobile menu, etc.) is open, so callers never have to thread
|
|
14
|
+
* `hasOpenOverlay` through their own `enabled` flag.
|
|
15
|
+
*
|
|
16
|
+
* The full `react-hotkeys-hook` option surface (scopes, key sequences,
|
|
17
|
+
* `description`, cross-platform `mod`, etc.) is available via `options`.
|
|
18
|
+
*
|
|
19
|
+
* @param keys - The key or combination to listen for, e.g. `'/'`, `'mod+k'`,
|
|
20
|
+
* `'shift+['`. Uses `react-hotkeys-hook` key syntax.
|
|
21
|
+
* @param callback - Invoked when the shortcut fires. Receives the
|
|
22
|
+
* `KeyboardEvent` and the parsed hotkey event.
|
|
23
|
+
* @param options - `react-hotkeys-hook` options. `enabled` is combined with the
|
|
24
|
+
* overlay state so a shortcut is active only when enabled *and* no overlay is
|
|
25
|
+
* open.
|
|
26
|
+
* @param dependencies - Optional dependency array for the callback, forwarded to
|
|
27
|
+
* `react-hotkeys-hook`.
|
|
28
|
+
*/
|
|
29
|
+
export declare const useKeyboardShortcut: (keys: Keys, callback: HotkeyCallback, options?: UseKeyboardShortcutOptions, dependencies?: unknown[]) => (instance: HTMLElement) => void;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pantheon-systems/pds-toolkit-react",
|
|
3
3
|
"technology": "React",
|
|
4
|
-
"version": "2.0.0-alpha.
|
|
4
|
+
"version": "2.0.0-alpha.80",
|
|
5
5
|
"description": "PDS toolkit built using the React framework",
|
|
6
6
|
"publishConfig": {
|
|
7
7
|
"access": "public",
|
|
@@ -20,6 +20,9 @@
|
|
|
20
20
|
"url": "https://github.com/pantheon-systems/pds-toolkit-react/issues"
|
|
21
21
|
},
|
|
22
22
|
"homepage": "https://github.com/pantheon-systems/pds-toolkit-react#readme",
|
|
23
|
+
"bin": {
|
|
24
|
+
"pds-codemod": "./bin/pds-codemod.cjs"
|
|
25
|
+
},
|
|
23
26
|
"module": "dist/index.js",
|
|
24
27
|
"types": "dist/index.d.ts",
|
|
25
28
|
"exports": {
|
|
@@ -32,6 +35,10 @@
|
|
|
32
35
|
"./*": "./dist/*"
|
|
33
36
|
},
|
|
34
37
|
"files": [
|
|
38
|
+
"bin",
|
|
39
|
+
"codemods/v1-to-v2/transforms",
|
|
40
|
+
"codemods/v1-to-v2/mappings.json",
|
|
41
|
+
"codemods/v1-to-v2/css-token-renames.js",
|
|
35
42
|
"dist",
|
|
36
43
|
"tailwind"
|
|
37
44
|
],
|
|
@@ -44,17 +51,17 @@
|
|
|
44
51
|
"build:lib": "vite build && npm run build:types",
|
|
45
52
|
"build:types": "tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json",
|
|
46
53
|
"postbuild:lib": "npm run build:css && npm run build:css:components && npm run build:css:layouts && npm run build:css:packageExtraCss && npm run generate:svg-icons",
|
|
47
|
-
"build:css": "postcss src/core.css -o dist/css/pds-core.css",
|
|
48
|
-
"build:css:components": "postcss src/components/index.css -o dist/css/pds-components.css",
|
|
49
|
-
"build:css:layouts": "postcss src/layouts/index.css -o dist/css/pds-layouts.css",
|
|
50
|
-
"build:css:packageExtraCss": "node scripts/package-extra-css.js",
|
|
54
|
+
"build:css": "PDS_CSS_LAYER=pds-v2 postcss src/core.css -o dist/css/pds-core.css",
|
|
55
|
+
"build:css:components": "PDS_CSS_LAYER=pds-v2 postcss src/components/index.css -o dist/css/pds-components.css",
|
|
56
|
+
"build:css:layouts": "PDS_CSS_LAYER=pds-v2 postcss src/layouts/index.css -o dist/css/pds-layouts.css",
|
|
57
|
+
"build:css:packageExtraCss": "PDS_CSS_LAYER=pds-v2 node scripts/package-extra-css.js",
|
|
51
58
|
"build:css:watch": "npm run build:css -- -w",
|
|
52
59
|
"prestorybook": "node scripts/filter-exports-by-tags.js && npm run build:css && npm run build:css:components && npm run build:css:layouts && npm run generate:ux-writing-search-index && npm run generate:ux-writing-guide",
|
|
53
|
-
"storybook": "storybook dev -p 6006",
|
|
60
|
+
"storybook": "PDS_CSS_LAYER=pds-v2 storybook dev -p 6006",
|
|
54
61
|
"prebuild": "npm run build:css && npm run build:css:components && npm run build:css:layouts && npm run build:css:packageExtraCss && npm run generate:ux-writing-search-index && npm run generate:ux-writing-guide",
|
|
55
|
-
"build": "NODE_ENV=production storybook build",
|
|
62
|
+
"build": "NODE_OPTIONS=--max-old-space-size=4096 NODE_ENV=production storybook build",
|
|
56
63
|
"build-storybook": "NODE_ENV=production storybook build",
|
|
57
|
-
"postbuild": "node scripts/
|
|
64
|
+
"postbuild": "node scripts/generate-html-docs.js && node scripts/build-starter-template.js && node scripts/copy-mcp-assets.js && node scripts/verify-mcp-build.js",
|
|
58
65
|
"verify:mcp": "node scripts/verify-mcp-build.js",
|
|
59
66
|
"start": "node index.js",
|
|
60
67
|
"develop": "npm run storybook",
|
|
@@ -88,84 +95,99 @@
|
|
|
88
95
|
"generate:ux-writing-search-index": "node scripts/generate-search-index.js",
|
|
89
96
|
"generate:ux-writing-guide": "node scripts/generate-ux-writing-guide.js",
|
|
90
97
|
"generate:html-docs": "node scripts/generate-html-docs.js",
|
|
98
|
+
"test:codemods": "jest --testPathPatterns=codemods/",
|
|
91
99
|
"test:version-switcher": "bash scripts/test-version-switcher.sh",
|
|
92
100
|
"pack:local": "bash scripts/pack-local.sh",
|
|
93
101
|
"prepare": "husky install",
|
|
94
102
|
"chromatic": "npx chromatic --project-token=chpt_8f57e9785118676"
|
|
95
103
|
},
|
|
104
|
+
"jest": {
|
|
105
|
+
"testMatch": [
|
|
106
|
+
"**/codemods/**/__tests__/**/*.test.js"
|
|
107
|
+
],
|
|
108
|
+
"testEnvironment": "node"
|
|
109
|
+
},
|
|
96
110
|
"devDependencies": {
|
|
97
111
|
"@arethetypeswrong/cli": "^0.15.3",
|
|
98
|
-
"@axe-core/playwright": "^4.11.
|
|
99
|
-
"@babel/preset-env": "^7.
|
|
112
|
+
"@axe-core/playwright": "^4.11.3",
|
|
113
|
+
"@babel/preset-env": "^7.29.5",
|
|
100
114
|
"@babel/preset-react": "^7.18.6",
|
|
101
115
|
"@babel/preset-typescript": "^7.28.5",
|
|
102
116
|
"@csstools/postcss-design-tokens": "^2.0.4",
|
|
103
117
|
"@csstools/postcss-global-data": "^1.0.3",
|
|
104
|
-
"@
|
|
105
|
-
"@
|
|
106
|
-
"@
|
|
107
|
-
"@
|
|
108
|
-
"@storybook/addon-
|
|
109
|
-
"@storybook/addon-
|
|
110
|
-
"@storybook/
|
|
111
|
-
"@storybook/
|
|
112
|
-
"@
|
|
113
|
-
"@
|
|
114
|
-
"@
|
|
115
|
-
"@
|
|
116
|
-
"@
|
|
118
|
+
"@fortawesome/free-brands-svg-icons": "7.2.0",
|
|
119
|
+
"@fortawesome/pro-regular-svg-icons": "7.2.0",
|
|
120
|
+
"@fortawesome/pro-solid-svg-icons": "7.2.0",
|
|
121
|
+
"@playwright/test": "^1.60.0",
|
|
122
|
+
"@storybook/addon-a11y": "^10.4.0",
|
|
123
|
+
"@storybook/addon-docs": "^10.4.0",
|
|
124
|
+
"@storybook/addon-links": "^10.4.0",
|
|
125
|
+
"@storybook/addon-mcp": "^0.6.0",
|
|
126
|
+
"@storybook/addon-webpack5-compiler-swc": "^4.0.3",
|
|
127
|
+
"@storybook/react-vite": "^10.4.0",
|
|
128
|
+
"@storybook/react-webpack5": "^10.4.0",
|
|
129
|
+
"@types/prismjs": "^1.26.6",
|
|
130
|
+
"@types/react": "^19.2.14",
|
|
131
|
+
"@typescript-eslint/eslint-plugin": "^8.59.3",
|
|
132
|
+
"@typescript-eslint/parser": "^8.59.3",
|
|
133
|
+
"@vitejs/plugin-react": "^6.0.2",
|
|
117
134
|
"@vueless/storybook-dark-mode": "^9.0.9",
|
|
118
135
|
"axe-html-reporter": "^2.2.3",
|
|
119
136
|
"chromatic": "^13.3.4",
|
|
120
137
|
"concurrently": "^8.0.1",
|
|
121
138
|
"cssnano": "^6.0.1",
|
|
122
|
-
"eslint": "^9.
|
|
139
|
+
"eslint": "^9.39.4",
|
|
123
140
|
"eslint-config-prettier": "^9.1.0",
|
|
124
141
|
"eslint-import-resolver-typescript": "^4.4.4",
|
|
125
142
|
"eslint-plugin-import": "^2.32.0",
|
|
126
|
-
"eslint-plugin-prettier": "^5.
|
|
143
|
+
"eslint-plugin-prettier": "^5.5.5",
|
|
127
144
|
"eslint-plugin-react": "^7.32.2",
|
|
128
145
|
"eslint-plugin-simple-import-sort": "^12.1.1",
|
|
129
146
|
"eslint-plugin-sort-destructure-keys": "^2.0.0",
|
|
130
|
-
"eslint-plugin-storybook": "^10.
|
|
147
|
+
"eslint-plugin-storybook": "^10.4.0",
|
|
131
148
|
"eslint-plugin-typescript-sort-keys": "^3.3.0",
|
|
132
149
|
"fast-glob": "^3.3.2",
|
|
133
150
|
"husky": "^8.0.3",
|
|
151
|
+
"jest": "^30.4.2",
|
|
152
|
+
"jscodeshift": "^17.3.0",
|
|
134
153
|
"lint-staged": "^13.2.3",
|
|
135
154
|
"pino-pretty": "^13.1.3",
|
|
136
155
|
"plop": "^3.1.2",
|
|
137
|
-
"postcss": "^8.
|
|
156
|
+
"postcss": "^8.5.14",
|
|
138
157
|
"postcss-cli": "^10.1.0",
|
|
139
158
|
"postcss-custom-media": "^9.1.3",
|
|
140
159
|
"postcss-import": "^15.1.0",
|
|
141
160
|
"postcss-insert": "^1.0.0",
|
|
142
|
-
"postcss-loader": "^8.
|
|
161
|
+
"postcss-loader": "^8.2.1",
|
|
143
162
|
"postcss-nested": "^6.0.1",
|
|
144
|
-
"prettier": "3.
|
|
145
|
-
"prettier-plugin-css-order": "^2.
|
|
163
|
+
"prettier": "^3.8.3",
|
|
164
|
+
"prettier-plugin-css-order": "^2.2.0",
|
|
146
165
|
"react": "^18.2.0",
|
|
147
166
|
"react-dom": "^18.2.0",
|
|
148
|
-
"
|
|
149
|
-
"
|
|
150
|
-
"tsc-alias": "^1.8.16",
|
|
167
|
+
"storybook": "^10.4.0",
|
|
168
|
+
"tsc-alias": "^1.8.17",
|
|
151
169
|
"typescript": "^5.4.5",
|
|
152
|
-
"vite": "^
|
|
170
|
+
"vite": "^8.0.16",
|
|
153
171
|
"vite-plugin-lib-inject-css": "^2.1.1",
|
|
154
172
|
"vite-tsconfig-paths": "^4.3.2"
|
|
155
173
|
},
|
|
156
174
|
"peerDependencies": {
|
|
157
|
-
"react": "^
|
|
158
|
-
"react-dom": "^
|
|
175
|
+
"react": "^18.0.0 || ^19.0.0",
|
|
176
|
+
"react-dom": "^18.0.0 || ^19.0.0"
|
|
159
177
|
},
|
|
160
178
|
"dependencies": {
|
|
179
|
+
"@dnd-kit/core": "^6.3.1",
|
|
180
|
+
"@dnd-kit/sortable": "^10.0.0",
|
|
181
|
+
"@dnd-kit/utilities": "^3.2.2",
|
|
161
182
|
"@floating-ui/react": "^0.24.3",
|
|
162
183
|
"@floating-ui/react-dom": "~1.3.0",
|
|
163
|
-
"@
|
|
184
|
+
"@internationalized/date": "^3.12.2",
|
|
185
|
+
"@pantheon-systems/pds-design-tokens": "^2.0.0-alpha.70",
|
|
164
186
|
"@reactuses/core": "^5.0.15",
|
|
165
187
|
"date-fns": "^4.1.0",
|
|
166
|
-
"downshift": "^9.
|
|
167
|
-
"express": "^
|
|
168
|
-
"express-rate-limit": "^8.2
|
|
188
|
+
"downshift": "^9.3.2",
|
|
189
|
+
"express": "^5.0.0",
|
|
190
|
+
"express-rate-limit": "^8.5.2",
|
|
169
191
|
"focus-trap-react": "^10.2.1",
|
|
170
192
|
"hash-sum": "^2.0.0",
|
|
171
193
|
"modern-normalize": "^3.0.1",
|
|
@@ -173,16 +195,26 @@
|
|
|
173
195
|
"pino-http": "^11.0.0",
|
|
174
196
|
"prism-react-renderer": "^2.4.1",
|
|
175
197
|
"prismjs": "^1.29.0",
|
|
198
|
+
"react-aria": "^3.50.0",
|
|
176
199
|
"react-code-block": "^1.1.1",
|
|
177
|
-
"react-day-picker": "^9.11.1",
|
|
178
200
|
"react-device-detect": "^2.2.3",
|
|
179
201
|
"react-hotkeys-hook": "^4.5.1",
|
|
180
|
-
"react-
|
|
202
|
+
"react-stately": "^3.48.0",
|
|
203
|
+
"react-toastify": "^11.1.0",
|
|
204
|
+
"recharts": "^3.8.1"
|
|
181
205
|
},
|
|
182
|
-
"
|
|
183
|
-
"@
|
|
184
|
-
"
|
|
185
|
-
"
|
|
206
|
+
"overrides": {
|
|
207
|
+
"@babel/plugin-transform-modules-systemjs": "^7.29.4",
|
|
208
|
+
"fast-uri": "^3.1.5",
|
|
209
|
+
"hono": "^4.12.18",
|
|
210
|
+
"ip-address": "^10.1.1",
|
|
211
|
+
"micromatch": "^4.0.8",
|
|
212
|
+
"minimatch": "^10.0.0",
|
|
213
|
+
"postcss-insert": {
|
|
214
|
+
"postcss": "^8.4.31"
|
|
215
|
+
},
|
|
216
|
+
"valibot": "^1.4.2",
|
|
217
|
+
"yaml": "^2.8.3"
|
|
186
218
|
},
|
|
187
219
|
"lint-staged": {
|
|
188
220
|
"*": "prettier --write --ignore-unknown",
|
package/tailwind/README.md
CHANGED
|
@@ -178,6 +178,15 @@ Keys: `narrow` (1024px), `standard` (1200px), `wide` (1440px), `x-wide` (1600px)
|
|
|
178
178
|
|
|
179
179
|
## Important caveats
|
|
180
180
|
|
|
181
|
+
### Borders require an explicit border-style
|
|
182
|
+
|
|
183
|
+
The PDS preset resets `border-style` to `none` on all elements so that borders are fully opt-in. This prevents phantom borders on elements that pick up a non-zero `border-width` from PDS components, inheritance, or browser defaults. When adding borders with Tailwind, always include a border-style class (`border-solid`, `border-dashed`, or `border-dotted`):
|
|
184
|
+
|
|
185
|
+
```html
|
|
186
|
+
<div class="border border-solid border-border-default">...</div>
|
|
187
|
+
<div class="border-b border-solid border-border-separator">Divider</div>
|
|
188
|
+
```
|
|
189
|
+
|
|
181
190
|
### Opacity modifiers are not supported
|
|
182
191
|
|
|
183
192
|
Tailwind's opacity modifier syntax (`bg-bg-default/50`) does not work with CSS variable color references. This is a known Tailwind limitation — the compiler cannot decompose a CSS variable into RGB channels. Avoid using opacity modifiers with PDS colors.
|
package/tailwind/v3/preset.cjs
CHANGED
|
@@ -17,6 +17,8 @@
|
|
|
17
17
|
* };
|
|
18
18
|
*/
|
|
19
19
|
|
|
20
|
+
const plugin = require('tailwindcss/plugin');
|
|
21
|
+
|
|
20
22
|
/** @type {import('tailwindcss').Config} */
|
|
21
23
|
module.exports = {
|
|
22
24
|
corePlugins: {
|
|
@@ -24,6 +26,22 @@ module.exports = {
|
|
|
24
26
|
// Enabling preflight alongside PDS will cause style conflicts.
|
|
25
27
|
preflight: false,
|
|
26
28
|
},
|
|
29
|
+
plugins: [
|
|
30
|
+
// Reset border-style to none so borders are fully opt-in.
|
|
31
|
+
// Without this, any element that picks up a non-zero border-width
|
|
32
|
+
// (from PDS components, inheritance, or browser defaults) gets a
|
|
33
|
+
// visible border even without explicit border classes.
|
|
34
|
+
// Always include border-solid (or border-dashed, etc.) when adding borders.
|
|
35
|
+
plugin(function ({ addBase }) {
|
|
36
|
+
addBase({
|
|
37
|
+
'*, ::before, ::after': {
|
|
38
|
+
borderWidth: '0',
|
|
39
|
+
borderStyle: 'none',
|
|
40
|
+
borderColor: 'var(--pds-color-border-default)',
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
}),
|
|
44
|
+
],
|
|
27
45
|
theme: {
|
|
28
46
|
// ─── Colors ──────────────────────────────────────────────────────────────
|
|
29
47
|
// All values reference PDS CSS custom properties so dark mode and token
|
|
@@ -199,11 +217,13 @@ module.exports = {
|
|
|
199
217
|
|
|
200
218
|
// ─── Border ──────────────────────────────────────────────────────────────
|
|
201
219
|
borderRadius: {
|
|
220
|
+
none: '0px',
|
|
202
221
|
DEFAULT: 'var(--pds-border-radius-default)',
|
|
203
222
|
button: 'var(--pds-border-radius-button)',
|
|
204
223
|
input: 'var(--pds-border-radius-input)',
|
|
205
224
|
container: 'var(--pds-border-radius-container)',
|
|
206
225
|
bar: 'var(--pds-border-radius-bar)',
|
|
226
|
+
full: '9999px',
|
|
207
227
|
},
|
|
208
228
|
borderWidth: {
|
|
209
229
|
0: '0px',
|
package/tailwind/v4/theme.css
CHANGED
|
@@ -18,6 +18,23 @@
|
|
|
18
18
|
* import '@pantheon-systems/pds-toolkit-react/css/pds-core.css';
|
|
19
19
|
*/
|
|
20
20
|
|
|
21
|
+
/*
|
|
22
|
+
* Reset border-style to none so borders are fully opt-in.
|
|
23
|
+
* Without this, any element that picks up a non-zero border-width
|
|
24
|
+
* (from PDS components, inheritance, or browser defaults) gets a
|
|
25
|
+
* visible border even without explicit border classes.
|
|
26
|
+
* Always include border-solid (or border-dashed, etc.) when adding borders.
|
|
27
|
+
*/
|
|
28
|
+
@layer base {
|
|
29
|
+
*,
|
|
30
|
+
::before,
|
|
31
|
+
::after {
|
|
32
|
+
border-color: var(--pds-color-border-default);
|
|
33
|
+
border-style: none;
|
|
34
|
+
border-width: 0;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
21
38
|
@theme {
|
|
22
39
|
/* ── Reset Tailwind defaults we are replacing ──────────────────────────── */
|
|
23
40
|
--color-*: initial;
|
|
@@ -186,11 +203,13 @@
|
|
|
186
203
|
--tracking-xl: var(--pds-typography-ls-xl);
|
|
187
204
|
|
|
188
205
|
/* ── Border ────────────────────────────────────────────────────────────── */
|
|
206
|
+
--radius-none: 0px;
|
|
189
207
|
--radius-DEFAULT: var(--pds-border-radius-default);
|
|
190
208
|
--radius-button: var(--pds-border-radius-button);
|
|
191
209
|
--radius-input: var(--pds-border-radius-input);
|
|
192
210
|
--radius-container: var(--pds-border-radius-container);
|
|
193
211
|
--radius-bar: var(--pds-border-radius-bar);
|
|
212
|
+
--radius-full: 9999px;
|
|
194
213
|
|
|
195
214
|
--border-DEFAULT: var(--pds-border-width-default);
|
|
196
215
|
--border-thicker: var(--pds-border-width-thicker);
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
2
|
-
import { ContainerWidth, HeadingLevel } from '../../libs/types/custom-types';
|
|
3
|
-
import './../buttons/Button/button.css';
|
|
4
|
-
import './cta-slice.css';
|
|
5
|
-
interface CTASliceProps extends ComponentPropsWithoutRef<'div'> {
|
|
6
|
-
/**
|
|
7
|
-
* Background color of slice
|
|
8
|
-
*/
|
|
9
|
-
backgroundColor?: 'default' | 'secondary';
|
|
10
|
-
/**
|
|
11
|
-
* Additional class names
|
|
12
|
-
*/
|
|
13
|
-
className?: string;
|
|
14
|
-
/**
|
|
15
|
-
* PDS container width.
|
|
16
|
-
*/
|
|
17
|
-
containerWidth?: ContainerWidth;
|
|
18
|
-
/**
|
|
19
|
-
* Heading level
|
|
20
|
-
*/
|
|
21
|
-
headingLevel?: HeadingLevel;
|
|
22
|
-
/**
|
|
23
|
-
* Heading text
|
|
24
|
-
*/
|
|
25
|
-
headingText: string;
|
|
26
|
-
/**
|
|
27
|
-
* Further explain block
|
|
28
|
-
*/
|
|
29
|
-
leadText?: string;
|
|
30
|
-
/**
|
|
31
|
-
* Primary link content
|
|
32
|
-
*/
|
|
33
|
-
primaryLinkContent: ReactNode;
|
|
34
|
-
/**
|
|
35
|
-
* Optional secondary link content
|
|
36
|
-
*/
|
|
37
|
-
secondaryLinkContent?: ReactNode;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* CTA Slice UI component
|
|
41
|
-
*/
|
|
42
|
-
export declare const CTASlice: ({ backgroundColor, className, containerWidth, headingLevel, headingText, leadText, primaryLinkContent, secondaryLinkContent, ...props }: CTASliceProps) => import("react/jsx-runtime").JSX.Element;
|
|
43
|
-
export {};
|