@pantheon-systems/pds-toolkit-react 2.0.0-alpha.3 → 2.0.0-alpha.30
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/README.md +3 -3
- package/dist/components/Avatar/Avatar.d.ts +6 -2
- package/dist/components/ComparisonList/ComparisonList.d.ts +10 -1
- package/dist/components/Dropdown/Dropdown.d.ts +140 -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/Popover/Popover.d.ts +5 -1
- package/dist/components/SiteDashboardHeading/SiteDashboardHeading.d.ts +1 -1
- package/dist/components/SiteFooter/SiteFooter.d.ts +38 -0
- 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} +5 -19
- package/dist/components/StatusIndicator/StatusIndicator.d.ts +2 -2
- package/dist/components/Table/Table.d.ts +141 -17
- package/dist/components/TableOfContents/TableOfContents.d.ts +1 -5
- package/dist/components/Tabs/Tabs.d.ts +6 -1
- package/dist/components/Tag/Tag.d.ts +13 -2
- package/dist/components/ThemeSwitcher/ThemeSwitcher.d.ts +14 -8
- package/dist/components/Tooltip/Tooltip.d.ts +7 -3
- package/dist/components/UtilityBar/UtilityBar.d.ts +27 -0
- package/dist/components/badges/Badge/Badge.d.ts +28 -0
- package/dist/components/buttons/CloseButton/CloseButton.d.ts +2 -2
- package/dist/components/buttons/IconButton/IconButton.d.ts +12 -0
- package/dist/components/buttons/MenuButton/MenuButton.d.ts +2 -7
- package/dist/components/cards/Card/Card.d.ts +1 -1
- package/dist/components/cards/NewSiteCard/NewSiteCard.d.ts +1 -1
- package/dist/components/cards/PricingCard/PricingCard.d.ts +6 -1
- package/dist/components/charts/BarChart/BarChart.d.ts +21 -0
- package/dist/components/charts/LineChart/LineChart.d.ts +22 -0
- package/dist/components/charts/shared/ChartAccessibleTable.d.ts +17 -0
- package/dist/components/charts/shared/ChartLegend.d.ts +25 -0
- package/dist/components/charts/shared/ChartSkeleton.d.ts +7 -0
- package/dist/components/charts/shared/chart-colors.d.ts +30 -0
- package/dist/components/charts/shared/chart-styles.d.ts +16 -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 +1 -1
- package/dist/components/icons/Icon/Icon.d.ts +11 -731
- package/dist/components/icons/Icon/IconSearch.d.ts +1 -0
- package/dist/components/icons/Icon/custom-icons.d.ts +46 -0
- package/dist/components/icons/Icon/generated-icon-data.d.ts +1499 -0
- package/dist/components/icons/Icon/icon-registry.d.ts +34 -0
- 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/Combobox/Combobox.d.ts +17 -7
- package/dist/components/inputs/ComboboxMultiselect/ComboboxMultiselect.d.ts +33 -6
- package/dist/components/inputs/Datepicker/Datepicker.d.ts +16 -2
- package/dist/components/inputs/FileUpload/FileUpload.d.ts +6 -1
- package/dist/components/inputs/RadioGroup/RadioGroup.d.ts +1 -1
- package/dist/components/inputs/Select/Select.d.ts +11 -2
- package/dist/components/inputs/Select/select-sample-data.d.ts +1 -0
- package/dist/components/inputs/Switch/Switch.d.ts +1 -17
- package/dist/components/inputs/TagsInput/TagsInput.d.ts +105 -0
- package/dist/components/inputs/TextInput/TextInput.d.ts +5 -1
- package/dist/components/inputs/Textarea/Textarea.d.ts +5 -1
- package/dist/components/inputs/input-utilities.d.ts +5 -4
- 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/navigation/DropdownMenu/DropdownMenu.d.ts +1 -0
- package/dist/components/navigation/Navbar/Navbar.d.ts +1 -1
- package/dist/components/navigation/SideNavGlobal/SideNavGlobal.d.ts +5 -15
- package/dist/components/navigation/SideNavGlobal/SideNavGlobalItem.d.ts +5 -1
- package/dist/components/navigation/{NavMenu/NavMenu.d.ts → SiteMenu/SiteMenu.d.ts} +5 -8
- package/dist/components/navigation/SiteMenu/SiteMenuDropdown.d.ts +23 -0
- package/dist/components/navigation/TabMenu/TabMenu.d.ts +6 -1
- package/dist/components/navigation/UserMenu/UserMenu.d.ts +1 -5
- package/dist/components/navigation/WorkspaceSelector/WorkspaceSelector.d.ts +8 -12
- package/dist/components/notifications/Banner/Banner.d.ts +32 -12
- package/dist/components/notifications/NotificationsPopover/NotificationsPopover.d.ts +2 -7
- package/dist/components/notifications/SectionMessage/SectionMessage.d.ts +6 -2
- package/dist/components/notifications/Toaster/Toast.d.ts +13 -2
- 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 +1 -1
- package/dist/components/{Pagination → pagination/Pagination}/Pagination.d.ts +7 -2
- package/dist/components/pagination/PaginationCompact/PaginationCompact.d.ts +49 -0
- package/dist/components/pagination/PaginationMini/PaginationMini.d.ts +55 -0
- package/dist/components/panels/ExpansionPanel/ExpansionPanel.d.ts +6 -3
- package/dist/components/panels/ExpansionPanelGroup/ExpansionPanelGroup.d.ts +1 -2
- package/dist/components/panels/Panel/Panel.d.ts +1 -18
- package/dist/components/panels/PanelList/PanelList.d.ts +1 -1
- package/dist/components/progress-indicators/ProgressBar/ProgressBar.d.ts +3 -4
- package/dist/components/progress-indicators/ProgressRing/ProgressRing.d.ts +2 -3
- package/dist/components/{FlowSteps/FlowSteps.d.ts → steppers/StepList/StepList.d.ts} +7 -7
- package/dist/css/component-css/pds-avatar.css +1 -1
- package/dist/css/component-css/pds-badge.css +1 -0
- 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 +9 -3
- package/dist/css/component-css/pds-callout.css +1 -1
- package/dist/css/component-css/pds-card-select-group.css +1 -1
- 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.css +1 -1
- package/dist/css/component-css/pds-close-button.css +1 -1
- package/dist/css/component-css/pds-combobox-multiselect.css +4 -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-dashboard-search.css +1 -1
- package/dist/css/component-css/pds-datepicker.css +1 -1
- 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-empty-state-card.css +1 -1
- package/dist/css/component-css/pds-expansion-panel.css +1 -1
- package/dist/css/component-css/pds-file-diff.css +1 -1
- package/dist/css/component-css/pds-file-upload.css +2 -2
- 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 +4 -4
- package/dist/css/component-css/pds-icon-story-only.css +1 -1
- package/dist/css/component-css/pds-icon.css +1 -0
- package/dist/css/component-css/pds-identity-block.css +1 -0
- package/dist/css/component-css/pds-index.css +103 -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 +4 -1
- package/dist/css/component-css/pds-modal.css +1 -1
- package/dist/css/component-css/pds-nav-menu.css +2 -2
- package/dist/css/component-css/pds-navbar.css +4 -1
- package/dist/css/component-css/pds-new-site-card.css +1 -1
- package/dist/css/component-css/pds-notification-hub-icon.css +1 -1
- package/dist/css/component-css/pds-notifications-popover.css +13 -1
- package/dist/css/component-css/pds-pagination-compact.css +1 -0
- package/dist/css/component-css/pds-pagination-mini.css +3 -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.css +1 -1
- package/dist/css/component-css/pds-pantheon-logo.css +1 -1
- package/dist/css/component-css/pds-payment-card.css +1 -1
- package/dist/css/component-css/pds-payment-icon.css +1 -1
- 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-pricing-card.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-radio-group.css +1 -1
- package/dist/css/component-css/pds-section-message.css +1 -1
- package/dist/css/component-css/pds-segmented-button.css +1 -1
- package/dist/css/component-css/pds-select.css +1 -1
- package/dist/css/component-css/pds-side-nav-compact.css +1 -1
- package/dist/css/component-css/pds-side-nav-global.css +6 -4
- package/dist/css/component-css/pds-side-nav.css +1 -1
- package/dist/css/component-css/pds-site-card.css +1 -1
- package/dist/css/component-css/pds-site-footer.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-sso-button.css +1 -1
- 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 +1 -1
- package/dist/css/component-css/pds-switch.css +4 -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 +1 -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 -0
- 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-toaster.css +1 -1
- package/dist/css/component-css/pds-tooltip.css +1 -1
- package/dist/css/component-css/pds-user-menu.css +29 -1
- package/dist/css/component-css/pds-utility-bar.css +1 -0
- package/dist/css/component-css/pds-utility-button.css +1 -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-workspace-selector.css +16 -1
- package/dist/css/design-tokens/fonts.css +1 -1
- package/dist/css/design-tokens/variables.dark.css +301 -96
- package/dist/css/design-tokens/variables.global.css +9 -12
- package/dist/css/design-tokens/variables.light.css +276 -93
- package/dist/css/design-tokens/variables.typography.css +9 -6
- package/dist/css/layout-css/pds-app-layout.css +3 -0
- package/dist/css/layout-css/pds-docs-layout.css +1 -0
- package/dist/css/layout-css/pds-index.css +3 -0
- package/dist/css/layout-css/pds-sidebar-layout.css +5 -0
- package/dist/css/layout-css/pds-stepper-layout.css +1 -0
- package/dist/css/layout-css/pds-three-item-layout.css +1 -0
- package/dist/css/layout-css/pds-two-item-layout.css +1 -0
- package/dist/css/pds-components.css +103 -57
- package/dist/css/pds-core.css +3 -2
- package/dist/css/pds-layouts.css +3 -9
- package/dist/index.css +1 -1
- package/dist/index.d.ts +91 -6
- package/dist/index.js +12277 -1964
- package/dist/index.js.map +1 -1
- package/dist/index.source.d.ts +31 -29
- package/dist/layouts/AppLayout/AppLayout.d.ts +47 -6
- package/dist/layouts/DocsLayout/DocsLayout.d.ts +9 -7
- package/dist/layouts/SidebarLayout/SidebarLayout.d.ts +12 -3
- package/dist/libs/components/NavAccordion/NavAccordion.d.ts +27 -0
- package/dist/libs/components/utils.d.ts +0 -1
- package/dist/libs/types/custom-types.d.ts +10 -2
- package/dist/libs/types/navigation-types.d.ts +9 -1
- package/dist/svg/angleDown.svg +3 -0
- package/dist/svg/angleLeft.svg +3 -0
- package/dist/svg/angleRight.svg +3 -0
- package/dist/svg/angleUp.svg +3 -0
- package/dist/svg/anglesLeft.svg +3 -0
- package/dist/svg/anglesRight.svg +3 -0
- package/dist/svg/arrowDownLeftAndArrowUpRightToCenter.svg +3 -0
- package/dist/svg/arrowDownToLine.svg +3 -0
- package/dist/svg/arrowLeft.svg +3 -0
- package/dist/svg/arrowRight.svg +3 -0
- package/dist/svg/arrowsRetweet.svg +3 -0
- package/dist/svg/arrowsUpDownLeftRight.svg +3 -0
- package/dist/svg/asterisk.svg +3 -0
- package/dist/svg/banBug.svg +3 -0
- package/dist/svg/bars.svg +3 -0
- package/dist/svg/barsFilter.svg +3 -0
- package/dist/svg/barsStaggered.svg +3 -0
- package/dist/svg/bell.svg +3 -0
- package/dist/svg/billboard.svg +3 -0
- package/dist/svg/bitbucket.svg +3 -0
- package/dist/svg/bluesky.svg +3 -0
- package/dist/svg/bolt.svg +3 -0
- package/dist/svg/boltPantheon.svg +3 -0
- package/dist/svg/boltSolid.svg +3 -0
- package/dist/svg/book.svg +3 -0
- package/dist/svg/books.svg +3 -0
- package/dist/svg/bracketRight.svg +3 -0
- package/dist/svg/bracketsSquare.svg +3 -0
- package/dist/svg/brainCircuit.svg +3 -0
- package/dist/svg/broomWide.svg +3 -0
- package/dist/svg/building.svg +3 -0
- package/dist/svg/buildings.svg +3 -0
- package/dist/svg/bullhorn.svg +3 -0
- package/dist/svg/calendarDays.svg +3 -0
- package/dist/svg/caretDown.svg +3 -0
- package/dist/svg/caretLeft.svg +3 -0
- package/dist/svg/caretRight.svg +3 -0
- package/dist/svg/caretUp.svg +3 -0
- package/dist/svg/ccAmex.svg +3 -0
- package/dist/svg/ccApplePay.svg +3 -0
- package/dist/svg/ccDiscover.svg +3 -0
- package/dist/svg/ccGeneric.svg +3 -0
- package/dist/svg/ccMC.svg +3 -0
- package/dist/svg/ccPaypal.svg +3 -0
- package/dist/svg/ccVisa.svg +3 -0
- package/dist/svg/chartLine.svg +3 -0
- package/dist/svg/chartNetwork.svg +3 -0
- package/dist/svg/chartSimple.svg +3 -0
- package/dist/svg/check.svg +3 -0
- package/dist/svg/circle.svg +3 -0
- package/dist/svg/circleCheck.svg +3 -0
- package/dist/svg/circleExclamation.svg +3 -0
- package/dist/svg/circleExclamationSolid.svg +3 -0
- package/dist/svg/circleInfo.svg +3 -0
- package/dist/svg/circleInfoSolid.svg +3 -0
- package/dist/svg/circleMinus.svg +3 -0
- package/dist/svg/circleNotch.svg +3 -0
- package/dist/svg/circlePlus.svg +3 -0
- package/dist/svg/circleQuestion.svg +3 -0
- package/dist/svg/circleQuestionSolid.svg +3 -0
- package/dist/svg/circleUser.svg +3 -0
- package/dist/svg/circleXmark.svg +3 -0
- package/dist/svg/cloud.svg +3 -0
- package/dist/svg/cloudArrowDown.svg +3 -0
- package/dist/svg/cloudArrowUp.svg +3 -0
- package/dist/svg/cloudPlus.svg +3 -0
- package/dist/svg/code.svg +3 -0
- package/dist/svg/codeBranch.svg +3 -0
- package/dist/svg/codeMerge.svg +3 -0
- package/dist/svg/command.svg +3 -0
- package/dist/svg/comment.svg +3 -0
- package/dist/svg/compress.svg +3 -0
- package/dist/svg/copy.svg +3 -0
- package/dist/svg/desktop.svg +3 -0
- package/dist/svg/diamondExclamation.svg +3 -0
- package/dist/svg/diamonds4.svg +3 -0
- package/dist/svg/discourse.svg +3 -0
- package/dist/svg/display.svg +3 -0
- package/dist/svg/dollarSign.svg +3 -0
- package/dist/svg/download.svg +3 -0
- package/dist/svg/drupal.svg +3 -0
- package/dist/svg/ellipsis.svg +3 -0
- package/dist/svg/ellipsisVertical.svg +3 -0
- package/dist/svg/emptySet.svg +3 -0
- package/dist/svg/envelope.svg +3 -0
- package/dist/svg/envelopeOpen.svg +3 -0
- package/dist/svg/exclamation.svg +3 -0
- package/dist/svg/expand.svg +3 -0
- package/dist/svg/expandFromCenter.svg +3 -0
- package/dist/svg/externalLink.svg +3 -0
- package/dist/svg/eye.svg +3 -0
- package/dist/svg/eyeSlash.svg +3 -0
- package/dist/svg/facebook.svg +3 -0
- package/dist/svg/file.svg +3 -0
- package/dist/svg/fileCSV.svg +3 -0
- package/dist/svg/fileCheck.svg +3 -0
- package/dist/svg/fileContract.svg +3 -0
- package/dist/svg/fileDiff.svg +3 -0
- package/dist/svg/fileExport.svg +3 -0
- package/dist/svg/fileImport.svg +3 -0
- package/dist/svg/fileLines.svg +3 -0
- package/dist/svg/filePDF.svg +3 -0
- package/dist/svg/fileZip.svg +3 -0
- package/dist/svg/folder.svg +3 -0
- package/dist/svg/folderTree.svg +3 -0
- package/dist/svg/gear.svg +3 -0
- package/dist/svg/gem.svg +3 -0
- package/dist/svg/github.svg +3 -0
- package/dist/svg/gitlab.svg +3 -0
- package/dist/svg/globe.svg +3 -0
- package/dist/svg/graduationCap.svg +3 -0
- package/dist/svg/grid.svg +3 -0
- package/dist/svg/gripDots.svg +3 -0
- package/dist/svg/gripDotsVertical.svg +3 -0
- package/dist/svg/heart.svg +3 -0
- package/dist/svg/heartSolid.svg +3 -0
- package/dist/svg/house.svg +3 -0
- package/dist/svg/idCard.svg +3 -0
- package/dist/svg/image.svg +3 -0
- package/dist/svg/inputText.svg +3 -0
- package/dist/svg/instagram.svg +3 -0
- package/dist/svg/keySkeleton.svg +3 -0
- package/dist/svg/landmark.svg +3 -0
- package/dist/svg/laptop.svg +3 -0
- package/dist/svg/laptopCode.svg +3 -0
- package/dist/svg/leaf.svg +3 -0
- package/dist/svg/lifeRing.svg +3 -0
- package/dist/svg/linkSimple.svg +3 -0
- package/dist/svg/linkSimpleSlash.svg +3 -0
- package/dist/svg/linkedin.svg +3 -0
- package/dist/svg/listCheck.svg +3 -0
- package/dist/svg/locationCrosshairs.svg +3 -0
- package/dist/svg/lock.svg +3 -0
- package/dist/svg/lockOpen.svg +3 -0
- package/dist/svg/magnifyingGlass.svg +3 -0
- package/dist/svg/medal.svg +3 -0
- package/dist/svg/memo.svg +3 -0
- package/dist/svg/messages.svg +3 -0
- package/dist/svg/minus.svg +3 -0
- package/dist/svg/moon.svg +3 -0
- package/dist/svg/nextJs.svg +3 -0
- package/dist/svg/paperPlane.svg +3 -0
- package/dist/svg/paperclip.svg +3 -0
- package/dist/svg/pause.svg +3 -0
- package/dist/svg/pen.svg +3 -0
- package/dist/svg/penField.svg +3 -0
- package/dist/svg/phone.svg +3 -0
- package/dist/svg/play.svg +3 -0
- package/dist/svg/plus.svg +3 -0
- package/dist/svg/question.svg +3 -0
- package/dist/svg/quotesLeft.svg +3 -0
- package/dist/svg/quotesRight.svg +3 -0
- package/dist/svg/rectangleList.svg +3 -0
- package/dist/svg/reply.svg +3 -0
- package/dist/svg/robot.svg +3 -0
- package/dist/svg/rocketLaunch.svg +3 -0
- package/dist/svg/rotate.svg +3 -0
- package/dist/svg/rotateClock.svg +3 -0
- package/dist/svg/rotateLeft.svg +3 -0
- package/dist/svg/rotateRight.svg +3 -0
- package/dist/svg/rss.svg +3 -0
- package/dist/svg/save.svg +3 -0
- package/dist/svg/server.svg +3 -0
- package/dist/svg/shareNodes.svg +3 -0
- package/dist/svg/shield.svg +3 -0
- package/dist/svg/shieldQuartered.svg +3 -0
- package/dist/svg/shovel.svg +3 -0
- package/dist/svg/sidebar.svg +3 -0
- package/dist/svg/siren.svg +3 -0
- package/dist/svg/sirenOn.svg +3 -0
- package/dist/svg/sitemap.svg +3 -0
- package/dist/svg/slack.svg +3 -0
- package/dist/svg/slashForward.svg +3 -0
- package/dist/svg/slidersSimple.svg +3 -0
- package/dist/svg/snowflake.svg +3 -0
- package/dist/svg/sparkles.svg +3 -0
- package/dist/svg/squareCheck.svg +3 -0
- package/dist/svg/squareCode.svg +3 -0
- package/dist/svg/squareMinus.svg +3 -0
- package/dist/svg/squarePen.svg +3 -0
- package/dist/svg/squareQuestion.svg +3 -0
- package/dist/svg/squareTerminal.svg +3 -0
- package/dist/svg/star.svg +3 -0
- package/dist/svg/starSolid.svg +3 -0
- package/dist/svg/sun.svg +3 -0
- package/dist/svg/sunBright.svg +3 -0
- package/dist/svg/table.svg +3 -0
- package/dist/svg/tableRows.svg +3 -0
- package/dist/svg/terminal.svg +3 -0
- package/dist/svg/text.svg +3 -0
- package/dist/svg/threads.svg +3 -0
- package/dist/svg/thumbsDown.svg +3 -0
- package/dist/svg/thumbsUp.svg +3 -0
- package/dist/svg/trash.svg +3 -0
- package/dist/svg/triangleExclamation.svg +3 -0
- package/dist/svg/twitter.svg +3 -0
- package/dist/svg/upload.svg +3 -0
- package/dist/svg/user.svg +3 -0
- package/dist/svg/userAstronaut.svg +3 -0
- package/dist/svg/userGear.svg +3 -0
- package/dist/svg/userPlus.svg +3 -0
- package/dist/svg/users.svg +3 -0
- package/dist/svg/video.svg +3 -0
- package/dist/svg/wavePulse.svg +3 -0
- package/dist/svg/windowRestore.svg +3 -0
- package/dist/svg/wordpress.svg +3 -0
- package/dist/svg/wreathLaurel.svg +3 -0
- package/dist/svg/wrench.svg +3 -0
- package/dist/svg/xTwitter.svg +3 -0
- package/dist/svg/xmark.svg +3 -0
- package/dist/svg/xmarkLarge.svg +3 -0
- package/dist/svg/youtube.svg +3 -0
- package/dist/{layouts → utilities}/FlexContainer/FlexContainer.d.ts +1 -1
- package/dist/utilities/GlobalWrapper/GlobalWrapper.d.ts +21 -0
- package/dist/utilities/hooks/useDropdown/index.d.ts +1 -0
- package/dist/utilities/hooks/useDropdown/useDropdown.d.ts +121 -0
- package/package.json +70 -44
- 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/DashboardStat/DashboardStat.d.ts +0 -28
- package/dist/components/PullQuote/PullQuote.d.ts +0 -34
- package/dist/components/SocialLinks/SocialLinks.d.ts +0 -23
- package/dist/components/badges/IndicatorBadge/IndicatorBadge.d.ts +0 -27
- 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 -30
- 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/NavMenuDropdown.d.ts +0 -24
- 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-cta-slice.css +0 -1
- package/dist/css/component-css/pds-dashboard-nav.css +0 -5
- package/dist/css/component-css/pds-dashboard-stat.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-indicator-badge.css +0 -25
- 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-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/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/{layouts → utilities}/Container/Container.d.ts +0 -0
package/README.md
CHANGED
|
@@ -8,11 +8,11 @@ This toolkit provides assets for use within a React project and a Storybook inst
|
|
|
8
8
|
|
|
9
9
|
## Toolkit philosophy and scope
|
|
10
10
|
|
|
11
|
-
The
|
|
11
|
+
The toolkit provides a React implementation of the Pantheon Design System (PDS) focused on semantics, accessibility, visual design, and user-interface design.
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
The toolkit does not include data manipulation, business logic, form handling, routing, or language translation. These concerns are handled by the consuming application.
|
|
14
14
|
|
|
15
|
-
Each component
|
|
15
|
+
Each component has a documentation page within Storybook that provides usage notes, implementation instructions, and expected data structure.
|
|
16
16
|
|
|
17
17
|
### Content within components
|
|
18
18
|
|
|
@@ -21,10 +21,14 @@ export interface AvatarProps extends ComponentPropsWithoutRef<'div'> {
|
|
|
21
21
|
* A link element using the router of your choice. Leave empty for no link.
|
|
22
22
|
*/
|
|
23
23
|
linkContent?: ReactNode;
|
|
24
|
+
/**
|
|
25
|
+
* Avatar shape.
|
|
26
|
+
*/
|
|
27
|
+
shape?: 'circle' | 'square';
|
|
24
28
|
/**
|
|
25
29
|
* Avatar size.
|
|
26
30
|
*/
|
|
27
|
-
size?: 'xs' | '
|
|
31
|
+
size?: 'xs' | 's' | 'm' | 'l';
|
|
28
32
|
/**
|
|
29
33
|
* Unique ID associated with the avatar. Can be workspace ID, user ID, email, etc.
|
|
30
34
|
*/
|
|
@@ -33,4 +37,4 @@ export interface AvatarProps extends ComponentPropsWithoutRef<'div'> {
|
|
|
33
37
|
/**
|
|
34
38
|
* Avatar UI component
|
|
35
39
|
*/
|
|
36
|
-
export declare const Avatar: ({ ariaLabel, className, hasUserFallback, imageSrc, linkContent, size, uniqueId, ...props }: AvatarProps) => import("react/jsx-runtime").JSX.Element;
|
|
40
|
+
export declare const Avatar: ({ ariaLabel, className, hasUserFallback, imageSrc, linkContent, shape, size, uniqueId, ...props }: AvatarProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -9,6 +9,7 @@ export interface ListItems {
|
|
|
9
9
|
text: string;
|
|
10
10
|
type: 'included' | 'notIncluded' | 'addon';
|
|
11
11
|
}
|
|
12
|
+
export type ComparisonListSize = 's' | 'm';
|
|
12
13
|
export interface ComparisonListProps extends ComponentPropsWithoutRef<'div'> {
|
|
13
14
|
/**
|
|
14
15
|
* Additional class names
|
|
@@ -30,6 +31,14 @@ export interface ComparisonListProps extends ComponentPropsWithoutRef<'div'> {
|
|
|
30
31
|
* Render the icon labels for screen readers.
|
|
31
32
|
*/
|
|
32
33
|
renderTypeLabels?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Whether to show the border on list items.
|
|
36
|
+
*/
|
|
37
|
+
showBorder?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Size variant.
|
|
40
|
+
*/
|
|
41
|
+
size?: ComparisonListSize;
|
|
33
42
|
/**
|
|
34
43
|
* Icon labels
|
|
35
44
|
*/
|
|
@@ -38,5 +47,5 @@ export interface ComparisonListProps extends ComponentPropsWithoutRef<'div'> {
|
|
|
38
47
|
/**
|
|
39
48
|
* ComparisonList UI component
|
|
40
49
|
*/
|
|
41
|
-
export declare const ComparisonList: ({ className, listItems, listLabel, moreLink, renderTypeLabels, typeLabels, ...props }: ComparisonListProps) => import("react/jsx-runtime").JSX.Element;
|
|
50
|
+
export declare const ComparisonList: ({ className, listItems, listLabel, moreLink, renderTypeLabels, showBorder, size, typeLabels, ...props }: ComparisonListProps) => import("react/jsx-runtime").JSX.Element;
|
|
42
51
|
export {};
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
2
|
+
import { UseDropdownOptions } from '../../utilities/hooks/useDropdown';
|
|
3
|
+
import './dropdown.css';
|
|
4
|
+
export interface DropdownProps extends UseDropdownOptions {
|
|
5
|
+
/**
|
|
6
|
+
* Dropdown sub-components (Trigger, Panel, etc.).
|
|
7
|
+
*/
|
|
8
|
+
children?: ReactNode;
|
|
9
|
+
/**
|
|
10
|
+
* Additional class names for the root wrapper.
|
|
11
|
+
*/
|
|
12
|
+
className?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Use inline-block display instead of block.
|
|
15
|
+
* Useful when the dropdown trigger should size to its content
|
|
16
|
+
* (e.g., UserMenu, MenuButton) rather than fill the parent width.
|
|
17
|
+
*/
|
|
18
|
+
inline?: boolean;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Root Dropdown component. Provides dropdown context to sub-components.
|
|
22
|
+
*/
|
|
23
|
+
export declare const Dropdown: {
|
|
24
|
+
({ children, className, inline, ...options }: DropdownProps): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
Trigger: ({ children, className, showTriggerIcon, ...props }: DropdownTriggerProps) => import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
Panel: ({ children, className, ...props }: DropdownPanelProps) => import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
Item: ({ children, className, description, disabled, icon, index, isActive, isCritical, onClick, trailingIcon, ...props }: DropdownItemProps) => import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
Heading: ({ children, className, ...props }: DropdownHeadingProps) => import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
Separator: ({ className, ...props }: DropdownSeparatorProps) => import("react/jsx-runtime").JSX.Element;
|
|
30
|
+
Filter: ({ className, filterIcon, label, noResultsText, onFilterChange, placeholder, showNoResults, ...props }: DropdownFilterProps) => import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
};
|
|
32
|
+
export interface DropdownTriggerProps extends ComponentPropsWithoutRef<'button'> {
|
|
33
|
+
/**
|
|
34
|
+
* Trigger content (label text, icon, etc.).
|
|
35
|
+
*/
|
|
36
|
+
children?: ReactNode;
|
|
37
|
+
/**
|
|
38
|
+
* Additional class names.
|
|
39
|
+
*/
|
|
40
|
+
className?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Show a directional icon on the trigger that indicates the dropdown can be expanded.
|
|
43
|
+
*/
|
|
44
|
+
showTriggerIcon?: boolean;
|
|
45
|
+
}
|
|
46
|
+
export interface DropdownPanelProps extends ComponentPropsWithoutRef<'ul'> {
|
|
47
|
+
/**
|
|
48
|
+
* Panel content (Items, Headings, Separators, Filter, etc.).
|
|
49
|
+
*/
|
|
50
|
+
children?: ReactNode;
|
|
51
|
+
/**
|
|
52
|
+
* Additional class names.
|
|
53
|
+
*/
|
|
54
|
+
className?: string;
|
|
55
|
+
}
|
|
56
|
+
export interface DropdownItemProps extends ComponentPropsWithoutRef<'li'> {
|
|
57
|
+
/**
|
|
58
|
+
* Item content — label text, or a link element for navigation items.
|
|
59
|
+
*/
|
|
60
|
+
children?: ReactNode;
|
|
61
|
+
/**
|
|
62
|
+
* Additional class names.
|
|
63
|
+
*/
|
|
64
|
+
className?: string;
|
|
65
|
+
/**
|
|
66
|
+
* Secondary text displayed below the label.
|
|
67
|
+
*/
|
|
68
|
+
description?: ReactNode;
|
|
69
|
+
/**
|
|
70
|
+
* Disabled state.
|
|
71
|
+
*/
|
|
72
|
+
disabled?: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Leading content — PDSIcon name, or custom ReactNode (Avatar, etc.).
|
|
75
|
+
*/
|
|
76
|
+
icon?: ReactNode;
|
|
77
|
+
/**
|
|
78
|
+
* Index of this item in the list (required for keyboard navigation).
|
|
79
|
+
*/
|
|
80
|
+
index: number;
|
|
81
|
+
/**
|
|
82
|
+
* Selected or current state.
|
|
83
|
+
*/
|
|
84
|
+
isActive?: boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Destructive action styling.
|
|
87
|
+
*/
|
|
88
|
+
isCritical?: boolean;
|
|
89
|
+
/**
|
|
90
|
+
* Trailing content — check icon, lock icon, or custom ReactNode.
|
|
91
|
+
*/
|
|
92
|
+
trailingIcon?: ReactNode;
|
|
93
|
+
}
|
|
94
|
+
export interface DropdownHeadingProps extends ComponentPropsWithoutRef<'li'> {
|
|
95
|
+
/**
|
|
96
|
+
* Heading text.
|
|
97
|
+
*/
|
|
98
|
+
children?: ReactNode;
|
|
99
|
+
/**
|
|
100
|
+
* Additional class names.
|
|
101
|
+
*/
|
|
102
|
+
className?: string;
|
|
103
|
+
}
|
|
104
|
+
export interface DropdownSeparatorProps extends ComponentPropsWithoutRef<'li'> {
|
|
105
|
+
/**
|
|
106
|
+
* Additional class names.
|
|
107
|
+
*/
|
|
108
|
+
className?: string;
|
|
109
|
+
}
|
|
110
|
+
export type DropdownFilterIcon = 'filter' | 'none' | 'search';
|
|
111
|
+
export interface DropdownFilterProps extends ComponentPropsWithoutRef<'li'> {
|
|
112
|
+
/**
|
|
113
|
+
* Additional class names.
|
|
114
|
+
*/
|
|
115
|
+
className?: string;
|
|
116
|
+
/**
|
|
117
|
+
* Icon to display inside the filter input.
|
|
118
|
+
*/
|
|
119
|
+
filterIcon?: DropdownFilterIcon;
|
|
120
|
+
/**
|
|
121
|
+
* Label for the filter input (screen readers).
|
|
122
|
+
*/
|
|
123
|
+
label?: string;
|
|
124
|
+
/**
|
|
125
|
+
* Text shown when no items match the filter.
|
|
126
|
+
*/
|
|
127
|
+
noResultsText?: string;
|
|
128
|
+
/**
|
|
129
|
+
* Callback when the filter value changes.
|
|
130
|
+
*/
|
|
131
|
+
onFilterChange?: (value: string) => void;
|
|
132
|
+
/**
|
|
133
|
+
* Placeholder text for the filter input.
|
|
134
|
+
*/
|
|
135
|
+
placeholder?: string;
|
|
136
|
+
/**
|
|
137
|
+
* Whether to show the "no results" message.
|
|
138
|
+
*/
|
|
139
|
+
showNoResults?: boolean;
|
|
140
|
+
}
|
|
@@ -23,7 +23,7 @@ export interface FileDiffProps extends ComponentPropsWithoutRef<'div'> {
|
|
|
23
23
|
/**
|
|
24
24
|
* Object with strings for tooltips and screen reader labels.
|
|
25
25
|
*/
|
|
26
|
-
|
|
26
|
+
translationStrings?: {
|
|
27
27
|
additions?: string;
|
|
28
28
|
deletions?: string;
|
|
29
29
|
linesChanged?: string;
|
|
@@ -32,4 +32,4 @@ export interface FileDiffProps extends ComponentPropsWithoutRef<'div'> {
|
|
|
32
32
|
/**
|
|
33
33
|
* FileDiff UI component
|
|
34
34
|
*/
|
|
35
|
-
export declare const FileDiff: ({ additions, className, componentWidth, deletions,
|
|
35
|
+
export declare const FileDiff: ({ additions, className, componentWidth, deletions, translationStrings, ...props }: FileDiffProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { ComponentPropsWithoutRef } from 'react';
|
|
2
|
+
import { AvatarProps } from '../Avatar/Avatar';
|
|
3
|
+
import './identity-block.css';
|
|
4
|
+
/**
|
|
5
|
+
* Prop types for IdentityBlock
|
|
6
|
+
*/
|
|
7
|
+
export interface IdentityBlockProps extends ComponentPropsWithoutRef<'div'> {
|
|
8
|
+
/**
|
|
9
|
+
* Props to pass to the Avatar component.
|
|
10
|
+
*/
|
|
11
|
+
avatarProps?: AvatarProps;
|
|
12
|
+
/**
|
|
13
|
+
* Additional class names
|
|
14
|
+
*/
|
|
15
|
+
className?: string;
|
|
16
|
+
/**
|
|
17
|
+
* When true, only the avatar is shown (text is hidden).
|
|
18
|
+
*/
|
|
19
|
+
isSidebarCollapsed?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* When true, displays a smaller avatar with only the primary text.
|
|
22
|
+
* Secondary text is not rendered even if provided.
|
|
23
|
+
*/
|
|
24
|
+
isSingleLine?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* First line of text (e.g., organization name).
|
|
27
|
+
*/
|
|
28
|
+
primaryText?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Second line of text (e.g., user name).
|
|
31
|
+
*/
|
|
32
|
+
secondaryText?: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* IdentityBlock UI component
|
|
36
|
+
*/
|
|
37
|
+
export declare const IdentityBlock: ({ avatarProps, className, isSidebarCollapsed, isSingleLine, primaryText, secondaryText, ...props }: IdentityBlockProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -58,8 +58,12 @@ export interface PopoverProps extends Omit<ComponentPropsWithoutRef<'div'>, 'con
|
|
|
58
58
|
* The icon to use as the trigger.
|
|
59
59
|
*/
|
|
60
60
|
triggerIcon?: 'circleInfo' | 'circleQuestion';
|
|
61
|
+
/**
|
|
62
|
+
* Size of the trigger icon. Uses PDS Icon sizing.
|
|
63
|
+
*/
|
|
64
|
+
triggerIconSize?: 's' | 'm' | 'l';
|
|
61
65
|
}
|
|
62
66
|
/**
|
|
63
67
|
* Popover UI component
|
|
64
68
|
*/
|
|
65
|
-
export declare const Popover: ({ className, classNameContainer, closeButtonLabel, content, customTrigger, hasCloseButton, offsetValue, onClose, placement, popoverIsOpen, setPopoverIsOpen, title, triggerAccessibleText, triggerIcon, ...props }: PopoverProps) => import("react/jsx-runtime").JSX.Element;
|
|
69
|
+
export declare const Popover: ({ className, classNameContainer, closeButtonLabel, content, customTrigger, hasCloseButton, offsetValue, onClose, placement, popoverIsOpen, setPopoverIsOpen, title, triggerAccessibleText, triggerIcon, triggerIconSize, ...props }: PopoverProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
2
|
+
import { ContainerWidth } from '../../libs/types/custom-types';
|
|
3
|
+
import './site-footer.css';
|
|
4
|
+
export interface SiteFooterProps extends ComponentPropsWithoutRef<'footer'> {
|
|
5
|
+
/**
|
|
6
|
+
* HTML element to render. Use 'footer' for standalone usage or 'div' when nested inside another footer landmark.
|
|
7
|
+
*/
|
|
8
|
+
as?: 'footer' | 'div';
|
|
9
|
+
/**
|
|
10
|
+
* Footer content.
|
|
11
|
+
*/
|
|
12
|
+
children?: ReactNode;
|
|
13
|
+
/**
|
|
14
|
+
* Additional class names
|
|
15
|
+
*/
|
|
16
|
+
className?: string;
|
|
17
|
+
/**
|
|
18
|
+
* PDS container width.
|
|
19
|
+
*/
|
|
20
|
+
containerWidth?: ContainerWidth;
|
|
21
|
+
/**
|
|
22
|
+
* Should the footer have a top border?
|
|
23
|
+
*/
|
|
24
|
+
hasTopBorder?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Legal policy links.
|
|
27
|
+
*/
|
|
28
|
+
legalLinks?: Array<'privacy' | 'dataSubjectRequest' | 'cookiePolicy' | 'termsOfUse' | 'acceptableUse' | 'accessibilityStatement'>;
|
|
29
|
+
/**
|
|
30
|
+
* The background color of the surface this footer is placed on.
|
|
31
|
+
* Use 'secondary' to strengthen the internal divider border when the footer sits on a secondary background.
|
|
32
|
+
*/
|
|
33
|
+
surfaceColor?: 'default' | 'secondary';
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* SiteFooter UI component
|
|
37
|
+
*/
|
|
38
|
+
export declare const SiteFooter: ({ as: Element, children, className, containerWidth, hasTopBorder, legalLinks, surfaceColor, ...props }: SiteFooterProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { SortableListProps } from './types';
|
|
3
|
+
import './sortable-list.css';
|
|
4
|
+
export interface SortableListHandle {
|
|
5
|
+
/** Reverts the list to the order it was in when drag mode was last enabled. */
|
|
6
|
+
resetToSnapshot: () => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const SortableList: React.ForwardRefExoticComponent<SortableListProps & React.RefAttributes<SortableListHandle>>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { SortableListColumn, SortableListHeaderProps } from './types';
|
|
2
|
+
import './sortable-list.css';
|
|
3
|
+
interface SortableListHeaderInternalProps {
|
|
4
|
+
columns?: SortableListColumn[];
|
|
5
|
+
}
|
|
6
|
+
export declare const SortableListHeader: ({ children, className, columns, ...props }: SortableListHeaderProps & SortableListHeaderInternalProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { SortableListColumn, SortableRowProps } from './types';
|
|
2
|
+
import './sortable-list.css';
|
|
3
|
+
interface SortableRowInternalProps {
|
|
4
|
+
columns?: SortableListColumn[];
|
|
5
|
+
depth?: number;
|
|
6
|
+
hasChildren?: boolean;
|
|
7
|
+
isDragActive?: boolean;
|
|
8
|
+
isDragging?: boolean;
|
|
9
|
+
isDropTarget?: boolean;
|
|
10
|
+
isExpanded?: boolean;
|
|
11
|
+
isProjectedParent?: boolean;
|
|
12
|
+
onToggleExpand?: () => void;
|
|
13
|
+
projectedDepthDelta?: number;
|
|
14
|
+
}
|
|
15
|
+
export declare const SortableRow: ({ children, className, columns, depth, hasChildren, id, isDragActive, isDragging: _isDraggingProp, isDropTarget, isExpanded, isLocked, isProjectedParent, onToggleExpand, projectedDepthDelta, ...props }: SortableRowProps & SortableRowInternalProps) => import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { FlattenedNode, SortableTreeNode } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Flatten a tree into a list suitable for dnd-kit's SortableContext.
|
|
4
|
+
* Only includes nodes whose ancestors are all expanded.
|
|
5
|
+
*/
|
|
6
|
+
export declare function flattenTree(items: SortableTreeNode[], expandedIds: Set<string>, parentId?: string | null, depth?: number, ancestorIds?: string[]): FlattenedNode[];
|
|
7
|
+
/**
|
|
8
|
+
* Rebuild a tree from a flat list of nodes.
|
|
9
|
+
*/
|
|
10
|
+
export declare function buildTree(flatNodes: FlattenedNode[]): SortableTreeNode[];
|
|
11
|
+
/**
|
|
12
|
+
* Find a node by id in a tree.
|
|
13
|
+
*/
|
|
14
|
+
export declare function findItem(items: SortableTreeNode[], id: string): SortableTreeNode | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* Calculate the projected depth during a drag based on horizontal pointer offset.
|
|
17
|
+
* Returns the clamped depth the item would land at if dropped.
|
|
18
|
+
*/
|
|
19
|
+
export declare function getProjectedDepth(flatNodes: FlattenedNode[], activeId: string, overId: string, dragOffsetX: number, indentSize: number, maxDepth: number, activeNodeDepth?: number): number;
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
2
|
+
export interface SortableTreeNode {
|
|
3
|
+
[key: string]: unknown;
|
|
4
|
+
children?: SortableTreeNode[];
|
|
5
|
+
id: string;
|
|
6
|
+
}
|
|
7
|
+
export interface FlattenedNode {
|
|
8
|
+
ancestorIds: string[];
|
|
9
|
+
data: SortableTreeNode;
|
|
10
|
+
depth: number;
|
|
11
|
+
hasChildren: boolean;
|
|
12
|
+
id: string;
|
|
13
|
+
index: number;
|
|
14
|
+
isExpanded: boolean;
|
|
15
|
+
parentId: string | null;
|
|
16
|
+
}
|
|
17
|
+
export interface SortableListColumn {
|
|
18
|
+
/**
|
|
19
|
+
* Unique identifier for this column. Used as the slot name in SortableRow.
|
|
20
|
+
*/
|
|
21
|
+
id: string;
|
|
22
|
+
/**
|
|
23
|
+
* Display label for the column header. Also used as the visually-hidden
|
|
24
|
+
* label for screen readers inside each row cell.
|
|
25
|
+
*/
|
|
26
|
+
label: string;
|
|
27
|
+
/**
|
|
28
|
+
* CSS width value for the column (e.g., '1fr', '10rem', '150px').
|
|
29
|
+
*/
|
|
30
|
+
width: string;
|
|
31
|
+
}
|
|
32
|
+
export type ReorderMode = 'always' | 'toggle' | 'disabled';
|
|
33
|
+
export interface SortableRowMeta {
|
|
34
|
+
depth: number;
|
|
35
|
+
hasChildren: boolean;
|
|
36
|
+
index: number;
|
|
37
|
+
isDragging: boolean;
|
|
38
|
+
isExpanded: boolean;
|
|
39
|
+
isLocked: boolean;
|
|
40
|
+
toggleExpand: () => void;
|
|
41
|
+
}
|
|
42
|
+
export interface SortableListProps extends ComponentPropsWithoutRef<'div'> {
|
|
43
|
+
/**
|
|
44
|
+
* Content for the header area. Typically a SortableListHeader.
|
|
45
|
+
*/
|
|
46
|
+
children?: ReactNode;
|
|
47
|
+
/**
|
|
48
|
+
* Additional class names.
|
|
49
|
+
*/
|
|
50
|
+
className?: string;
|
|
51
|
+
/**
|
|
52
|
+
* Column definitions for grid-based layout. Defines widths, labels,
|
|
53
|
+
* and slot names used by both the header and row content areas.
|
|
54
|
+
* When omitted, the row content area uses a plain flex layout.
|
|
55
|
+
*/
|
|
56
|
+
columns?: SortableListColumn[];
|
|
57
|
+
/**
|
|
58
|
+
* Initial tree data (uncontrolled mode).
|
|
59
|
+
*/
|
|
60
|
+
defaultItems?: SortableTreeNode[];
|
|
61
|
+
/**
|
|
62
|
+
* Function to extract a human-readable label from an item for screen reader
|
|
63
|
+
* announcements (e.g. "Picked up Home page. Position 1 of 5."). Defaults to
|
|
64
|
+
* using the item's id.
|
|
65
|
+
*/
|
|
66
|
+
getItemLabel?: (item: SortableTreeNode) => string;
|
|
67
|
+
/**
|
|
68
|
+
* Whether drag is currently enabled. Only relevant when reorderMode='toggle'.
|
|
69
|
+
* Controlled externally (e.g., by a UtilityBar lock/unlock button).
|
|
70
|
+
*/
|
|
71
|
+
isDragEnabled?: boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Function that returns true for items whose position should be fixed.
|
|
74
|
+
* Locked items cannot be dragged and cannot be displaced by other items
|
|
75
|
+
* moving around them. Use this for items that must always remain at the
|
|
76
|
+
* top or bottom of the list (e.g. a Home page that is always first).
|
|
77
|
+
* Does not prevent other items from being nested inside the locked item —
|
|
78
|
+
* use isNestingLocked for that.
|
|
79
|
+
*/
|
|
80
|
+
isItemLocked?: (item: SortableTreeNode) => boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Function that returns true for items that should not accept nested
|
|
83
|
+
* children. Items matching this function can still be moved to a new
|
|
84
|
+
* position; they just cannot be used as a parent during drag-and-drop.
|
|
85
|
+
*/
|
|
86
|
+
isNestingLocked?: (item: SortableTreeNode) => boolean;
|
|
87
|
+
/**
|
|
88
|
+
* Tree-structured data (controlled mode).
|
|
89
|
+
*/
|
|
90
|
+
items?: SortableTreeNode[];
|
|
91
|
+
/**
|
|
92
|
+
* Maximum nesting depth allowed. 0 = flat list, no nesting.
|
|
93
|
+
*/
|
|
94
|
+
maxDepth?: 0 | 1 | 2 | 3 | 4 | 5;
|
|
95
|
+
/**
|
|
96
|
+
* Callback when items are reordered. Receives the new tree structure.
|
|
97
|
+
*/
|
|
98
|
+
onReorder?: (items: SortableTreeNode[]) => void;
|
|
99
|
+
/**
|
|
100
|
+
* Render function for each row. Receives the item data and tree metadata.
|
|
101
|
+
*/
|
|
102
|
+
renderRow: (item: SortableTreeNode, meta: SortableRowMeta) => ReactNode;
|
|
103
|
+
/**
|
|
104
|
+
* Controls drag-and-drop availability.
|
|
105
|
+
* - 'always': drag handles always visible (default).
|
|
106
|
+
* - 'toggle': drag state controlled externally via isDragEnabled prop.
|
|
107
|
+
* - 'disabled': no dragging, no handles, read-only list.
|
|
108
|
+
*/
|
|
109
|
+
reorderMode?: ReorderMode;
|
|
110
|
+
/**
|
|
111
|
+
* Custom screen reader instructions for drag operations.
|
|
112
|
+
*/
|
|
113
|
+
screenReaderInstructions?: string;
|
|
114
|
+
}
|
|
115
|
+
export interface SortableRowProps extends ComponentPropsWithoutRef<'div'> {
|
|
116
|
+
/**
|
|
117
|
+
* Child elements — the consumer-defined row content.
|
|
118
|
+
*/
|
|
119
|
+
children: ReactNode;
|
|
120
|
+
/**
|
|
121
|
+
* Additional class names.
|
|
122
|
+
*/
|
|
123
|
+
className?: string;
|
|
124
|
+
/**
|
|
125
|
+
* Unique identifier for this row. Must match an item id.
|
|
126
|
+
*/
|
|
127
|
+
id: string;
|
|
128
|
+
/**
|
|
129
|
+
* Prevents this row from being dragged or receiving drops.
|
|
130
|
+
*/
|
|
131
|
+
isLocked?: boolean;
|
|
132
|
+
}
|
|
133
|
+
export interface SortableListHeaderProps extends ComponentPropsWithoutRef<'div'> {
|
|
134
|
+
/**
|
|
135
|
+
* Child elements assigned to named slots.
|
|
136
|
+
*/
|
|
137
|
+
children?: ReactNode;
|
|
138
|
+
/**
|
|
139
|
+
* Additional class names.
|
|
140
|
+
*/
|
|
141
|
+
className?: string;
|
|
142
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { FlattenedNode, SortableTreeNode } from './types';
|
|
2
|
+
interface UseSortableTreeOptions {
|
|
3
|
+
defaultItems?: SortableTreeNode[];
|
|
4
|
+
isDragEnabled?: boolean;
|
|
5
|
+
items?: SortableTreeNode[];
|
|
6
|
+
onReorder?: (items: SortableTreeNode[]) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare function useSortableTree({ defaultItems, isDragEnabled, items: controlledItems, onReorder, }: UseSortableTreeOptions): {
|
|
9
|
+
currentItems: SortableTreeNode[];
|
|
10
|
+
expandedIds: Set<string>;
|
|
11
|
+
expandItem: (id: string) => void;
|
|
12
|
+
flatNodes: FlattenedNode[];
|
|
13
|
+
handleReorder: (updatedFlat: FlattenedNode[]) => void;
|
|
14
|
+
resetToSnapshot: () => void;
|
|
15
|
+
sortableIds: string[];
|
|
16
|
+
toggleExpand: (id: string) => void;
|
|
17
|
+
};
|
|
18
|
+
export {};
|
package/dist/components/{RefreshChecker/RefreshChecker.d.ts → StatusChecker/StatusChecker.d.ts}
RENAMED
|
@@ -1,17 +1,7 @@
|
|
|
1
1
|
import { ComponentPropsWithoutRef } from 'react';
|
|
2
|
-
import './
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
*/
|
|
6
|
-
export declare enum RefreshCheckerState {
|
|
7
|
-
CHECKED = "checked",
|
|
8
|
-
DEFAULT = "default",
|
|
9
|
-
WORKING = "working"
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Prop types for RefreshChecker
|
|
13
|
-
*/
|
|
14
|
-
interface RefreshCheckerProps extends ComponentPropsWithoutRef<'div'> {
|
|
2
|
+
import './status-checker.css';
|
|
3
|
+
export type StatusCheckerState = 'checked' | 'default' | 'working';
|
|
4
|
+
export interface StatusCheckerProps extends ComponentPropsWithoutRef<'div'> {
|
|
15
5
|
/**
|
|
16
6
|
* Alignment of the component. Default is left.
|
|
17
7
|
*/
|
|
@@ -45,10 +35,6 @@ interface RefreshCheckerProps extends ComponentPropsWithoutRef<'div'> {
|
|
|
45
35
|
/**
|
|
46
36
|
* State of the component
|
|
47
37
|
*/
|
|
48
|
-
state?:
|
|
38
|
+
state?: StatusCheckerState;
|
|
49
39
|
}
|
|
50
|
-
|
|
51
|
-
* RefreshChecker UI component
|
|
52
|
-
*/
|
|
53
|
-
export declare const RefreshChecker: ({ alignment, className, componentWidth, labelStrings, lastChecked, onCheck, state, ...props }: RefreshCheckerProps) => import("react/jsx-runtime").JSX.Element;
|
|
54
|
-
export {};
|
|
40
|
+
export declare const StatusChecker: ({ alignment, className, componentWidth, labelStrings, lastChecked, onCheck, state, ...props }: StatusCheckerProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -13,11 +13,11 @@ export interface StatusIndicatorProps extends ComponentPropsWithoutRef<'div'> {
|
|
|
13
13
|
/**
|
|
14
14
|
* Sets the size
|
|
15
15
|
*/
|
|
16
|
-
size?: '
|
|
16
|
+
size?: 'xs' | 's';
|
|
17
17
|
/**
|
|
18
18
|
* Sets status type
|
|
19
19
|
*/
|
|
20
|
-
type:
|
|
20
|
+
type: StatusType | 'disabled' | 'neutral' | 'working';
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
23
23
|
* StatusIndicator UI component
|