@pantheon-systems/pds-toolkit-react 2.0.0-alpha.5 → 2.0.0-alpha.50

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.
Files changed (388) hide show
  1. package/bin/pds-codemod.cjs +58 -0
  2. package/codemods/v1-to-v2/mappings.json +1644 -0
  3. package/codemods/v1-to-v2/transforms/__testfixtures__/component-renames/basic.input.tsx +33 -0
  4. package/codemods/v1-to-v2/transforms/__testfixtures__/component-renames/basic.output.tsx +33 -0
  5. package/codemods/v1-to-v2/transforms/__testfixtures__/component-renames/only.input.tsx +8 -0
  6. package/codemods/v1-to-v2/transforms/__testfixtures__/component-renames/only.output.tsx +8 -0
  7. package/codemods/v1-to-v2/transforms/__testfixtures__/css-class-removals/basic.input.tsx +31 -0
  8. package/codemods/v1-to-v2/transforms/__testfixtures__/css-class-removals/basic.output.tsx +31 -0
  9. package/codemods/v1-to-v2/transforms/__testfixtures__/css-class-renames/basic.input.tsx +31 -0
  10. package/codemods/v1-to-v2/transforms/__testfixtures__/css-class-renames/basic.output.tsx +31 -0
  11. package/codemods/v1-to-v2/transforms/__testfixtures__/icon-name-updates/basic.input.tsx +35 -0
  12. package/codemods/v1-to-v2/transforms/__testfixtures__/icon-name-updates/basic.output.tsx +35 -0
  13. package/codemods/v1-to-v2/transforms/__testfixtures__/icon-name-updates/only.input.tsx +8 -0
  14. package/codemods/v1-to-v2/transforms/__testfixtures__/icon-name-updates/only.output.tsx +8 -0
  15. package/codemods/v1-to-v2/transforms/__testfixtures__/prop-renames/basic.input.tsx +28 -0
  16. package/codemods/v1-to-v2/transforms/__testfixtures__/prop-renames/basic.output.tsx +28 -0
  17. package/codemods/v1-to-v2/transforms/__testfixtures__/prop-renames/only.input.tsx +8 -0
  18. package/codemods/v1-to-v2/transforms/__testfixtures__/prop-renames/only.output.tsx +8 -0
  19. package/codemods/v1-to-v2/transforms/__testfixtures__/prop-value-standardization/basic.input.tsx +37 -0
  20. package/codemods/v1-to-v2/transforms/__testfixtures__/prop-value-standardization/basic.output.tsx +37 -0
  21. package/codemods/v1-to-v2/transforms/__testfixtures__/prop-value-standardization/only.input.tsx +21 -0
  22. package/codemods/v1-to-v2/transforms/__testfixtures__/prop-value-standardization/only.output.tsx +21 -0
  23. package/codemods/v1-to-v2/transforms/__testfixtures__/removed-prop-values/basic.input.tsx +60 -0
  24. package/codemods/v1-to-v2/transforms/__testfixtures__/removed-prop-values/basic.output.tsx +51 -0
  25. package/codemods/v1-to-v2/transforms/__testfixtures__/removed-prop-values/only.input.tsx +8 -0
  26. package/codemods/v1-to-v2/transforms/__testfixtures__/removed-prop-values/only.output.tsx +8 -0
  27. package/codemods/v1-to-v2/transforms/__tests__/component-renames.test.js +15 -0
  28. package/codemods/v1-to-v2/transforms/__tests__/css-class-removals.test.js +6 -0
  29. package/codemods/v1-to-v2/transforms/__tests__/css-class-renames.test.js +6 -0
  30. package/codemods/v1-to-v2/transforms/__tests__/icon-name-updates.test.js +15 -0
  31. package/codemods/v1-to-v2/transforms/__tests__/prop-renames.test.js +15 -0
  32. package/codemods/v1-to-v2/transforms/__tests__/prop-value-standardization.test.js +16 -0
  33. package/codemods/v1-to-v2/transforms/__tests__/removed-prop-values.test.js +15 -0
  34. package/codemods/v1-to-v2/transforms/component-renames.js +166 -0
  35. package/codemods/v1-to-v2/transforms/css-class-removals.js +192 -0
  36. package/codemods/v1-to-v2/transforms/css-class-renames.js +114 -0
  37. package/codemods/v1-to-v2/transforms/icon-name-updates.js +124 -0
  38. package/codemods/v1-to-v2/transforms/prop-renames.js +109 -0
  39. package/codemods/v1-to-v2/transforms/prop-value-standardization.js +143 -0
  40. package/codemods/v1-to-v2/transforms/removed-prop-values.js +206 -0
  41. package/dist/components/Avatar/Avatar.d.ts +5 -1
  42. package/dist/components/Callout/Callout.d.ts +6 -2
  43. package/dist/components/CodeBlock/CodeBlock.d.ts +10 -5
  44. package/dist/components/CodeBlock/code-examples.d.ts +2 -1
  45. package/dist/components/CodeBlock/themes/index.d.ts +1 -2
  46. package/dist/components/CodeBlock/themes/{pdsDark.d.ts → pds.d.ts} +1 -1
  47. package/dist/components/ComparisonList/ComparisonList.d.ts +6 -1
  48. package/dist/components/Dropdown/Dropdown.d.ts +186 -0
  49. package/dist/components/Dropdown/DropdownSelectedIcon.d.ts +7 -0
  50. package/dist/components/FileDiff/FileDiff.d.ts +2 -2
  51. package/dist/components/IdentityBlock/IdentityBlock.d.ts +37 -0
  52. package/dist/components/PantheonLogo/PantheonLogo.d.ts +5 -4
  53. package/dist/components/Popover/Popover.d.ts +5 -1
  54. package/dist/components/SiteFooter/SiteFooter.d.ts +41 -0
  55. package/dist/components/{navigation/DashboardSearch/DashboardSearch.d.ts → SiteSearch/SiteSearch.d.ts} +6 -11
  56. package/dist/components/SortableList/SortableList.d.ts +8 -0
  57. package/dist/components/SortableList/SortableListHeader.d.ts +7 -0
  58. package/dist/components/SortableList/SortableRow.d.ts +16 -0
  59. package/dist/components/SortableList/sortable-utils.d.ts +19 -0
  60. package/dist/components/SortableList/types.d.ts +142 -0
  61. package/dist/components/SortableList/useSortableTree.d.ts +18 -0
  62. package/dist/components/{RefreshChecker/RefreshChecker.d.ts → StatusChecker/StatusChecker.d.ts} +5 -19
  63. package/dist/components/StatusIndicator/StatusIndicator.d.ts +7 -4
  64. package/dist/components/Table/Table.d.ts +277 -17
  65. package/dist/components/TableOfContents/TableOfContents.d.ts +1 -5
  66. package/dist/components/Tag/Tag.d.ts +17 -3
  67. package/dist/components/ThemeSwitcher/ThemeSwitcher.d.ts +29 -8
  68. package/dist/components/Tooltip/Tooltip.d.ts +6 -2
  69. package/dist/components/UtilityBar/UtilityBar.d.ts +26 -0
  70. package/dist/components/badges/Badge/Badge.d.ts +1 -1
  71. package/dist/components/badges/StatusBadge/StatusBadge.d.ts +2 -1
  72. package/dist/components/buttons/Button/Button.d.ts +15 -0
  73. package/dist/components/buttons/ButtonLink/ButtonLink.d.ts +1 -3
  74. package/dist/components/buttons/ClipboardButton/ClipboardButton.d.ts +5 -1
  75. package/dist/components/buttons/CloseButton/CloseButton.d.ts +4 -4
  76. package/dist/components/buttons/FilterButton/FilterButton.d.ts +82 -0
  77. package/dist/components/buttons/IconButton/IconButton.d.ts +12 -0
  78. package/dist/components/buttons/MenuButton/MenuButton.d.ts +21 -17
  79. package/dist/components/buttons/SegmentedButton/SegmentedButton.d.ts +44 -8
  80. package/dist/components/cards/ActionCard/ActionCard.d.ts +64 -0
  81. package/dist/components/cards/Card/Card.d.ts +11 -4
  82. package/dist/components/cards/CardSelect/CardSelect.d.ts +83 -0
  83. package/dist/components/charts/BarChart/BarChart.d.ts +21 -0
  84. package/dist/components/charts/LineChart/LineChart.d.ts +22 -0
  85. package/dist/components/charts/PieChart/PieChart.d.ts +59 -0
  86. package/dist/components/charts/ProportionBar/ProportionBar.d.ts +57 -0
  87. package/dist/components/charts/shared/ChartAccessibleTable.d.ts +17 -0
  88. package/dist/components/charts/shared/ChartLegend.d.ts +25 -0
  89. package/dist/components/charts/shared/ChartSkeleton.d.ts +11 -0
  90. package/dist/components/charts/shared/chart-colors.d.ts +30 -0
  91. package/dist/components/charts/shared/chart-styles.d.ts +16 -0
  92. package/dist/components/charts/shared/formatters.d.ts +12 -0
  93. package/dist/components/charts/shared/types.d.ts +128 -0
  94. package/dist/components/empty-states/HorizontalEmptyState/HorizontalEmptyState.d.ts +13 -8
  95. package/dist/components/icons/Icon/Icon.d.ts +2 -2
  96. package/dist/components/icons/Icon/custom-icons.d.ts +1 -1
  97. package/dist/components/icons/Icon/generated-icon-data.d.ts +184 -16
  98. package/dist/components/icons/PaymentIcon/PaymentIcon.d.ts +7 -3
  99. package/dist/components/icons/PlatformIcon/PlatformIcon.d.ts +6 -6
  100. package/dist/components/inputs/Checkbox/Checkbox.d.ts +3 -3
  101. package/dist/components/inputs/Combobox/Combobox.d.ts +17 -7
  102. package/dist/components/inputs/ComboboxMultiselect/ComboboxMultiselect.d.ts +10 -5
  103. package/dist/components/inputs/Datepicker/Datepicker.d.ts +31 -8
  104. package/dist/components/inputs/FileUpload/FileUpload.d.ts +6 -1
  105. package/dist/components/inputs/RadioGroup/RadioGroup.d.ts +1 -1
  106. package/dist/components/inputs/Select/Select.d.ts +7 -2
  107. package/dist/components/inputs/Switch/Switch.d.ts +5 -5
  108. package/dist/components/inputs/TagsInput/TagsInput.d.ts +6 -1
  109. package/dist/components/inputs/TextInput/TextInput.d.ts +2 -2
  110. package/dist/components/inputs/Textarea/Textarea.d.ts +2 -2
  111. package/dist/components/inputs/input-utilities.d.ts +2 -1
  112. package/dist/components/{CTALink → links/CTALink}/CTALink.d.ts +1 -1
  113. package/dist/components/{LinkNewWindow → links/LinkNewWindow}/LinkNewWindow.d.ts +1 -1
  114. package/dist/components/loading-indicators/Spinner/Spinner.d.ts +5 -4
  115. package/dist/components/navigation/ButtonNav/ButtonNav.d.ts +5 -5
  116. package/dist/components/navigation/DropdownMenu/DropdownMenu.d.ts +1 -0
  117. package/dist/components/navigation/Navbar/Navbar.d.ts +9 -21
  118. package/dist/components/navigation/SideNav/SideNav.d.ts +7 -1
  119. package/dist/components/navigation/SideNavGlobal/SideNavGlobal.d.ts +5 -15
  120. package/dist/components/navigation/SideNavGlobal/SideNavGlobalItem.d.ts +15 -1
  121. package/dist/components/navigation/SiteMenu/SiteMenu.d.ts +26 -0
  122. package/dist/components/navigation/SiteMenu/SiteMenuDropdown.d.ts +23 -0
  123. package/dist/components/navigation/TreeNav/TreeNav.d.ts +48 -0
  124. package/dist/components/navigation/UserMenu/UserMenu.d.ts +20 -5
  125. package/dist/components/navigation/WorkspaceSelector/WorkspaceSelector.d.ts +2 -16
  126. package/dist/components/navigation/navigation-utilities.d.ts +12 -0
  127. package/dist/components/notifications/Banner/Banner.d.ts +6 -2
  128. package/dist/components/notifications/SectionMessage/SectionMessage.d.ts +6 -2
  129. package/dist/components/notifications/Toaster/Toast.d.ts +12 -1
  130. package/dist/components/notifications/Toaster/Toaster.d.ts +16 -7
  131. package/dist/components/notifications/Toaster/useToast.d.ts +2 -0
  132. package/dist/components/overlays/Drawer/Drawer.d.ts +58 -0
  133. package/dist/components/overlays/FullScreenOverlay/FullScreenOverlay.d.ts +45 -0
  134. package/dist/components/{Modal → overlays/Modal}/Modal.d.ts +1 -1
  135. package/dist/components/{Pagination → pagination/Pagination}/Pagination.d.ts +7 -2
  136. package/dist/components/pagination/PaginationCompact/PaginationCompact.d.ts +49 -0
  137. package/dist/components/pagination/PaginationMini/PaginationMini.d.ts +55 -0
  138. package/dist/components/panels/ExpansionPanel/ExpansionPanel.d.ts +1 -2
  139. package/dist/components/panels/ExpansionPanelGroup/ExpansionPanelGroup.d.ts +1 -2
  140. package/dist/components/panels/Panel/Panel.d.ts +4 -21
  141. package/dist/components/panels/PanelList/PanelList.d.ts +1 -1
  142. package/dist/components/progress-indicators/ProgressBar/ProgressBar.d.ts +4 -5
  143. package/dist/components/progress-indicators/ProgressRing/ProgressRing.d.ts +12 -4
  144. package/dist/components/{FlowSteps/FlowSteps.d.ts → steppers/StepList/StepList.d.ts} +7 -7
  145. package/dist/css/component-css/pds-action-card.css +1 -0
  146. package/dist/css/component-css/pds-avatar.css +1 -1
  147. package/dist/css/component-css/pds-badge.css +1 -1
  148. package/dist/css/component-css/pds-banner.css +1 -1
  149. package/dist/css/component-css/pds-bar-chart.css +1 -0
  150. package/dist/css/component-css/pds-branch-diff.css +1 -1
  151. package/dist/css/component-css/pds-breadcrumb.css +1 -1
  152. package/dist/css/component-css/pds-button-link.css +1 -1
  153. package/dist/css/component-css/pds-button-nav.css +1 -1
  154. package/dist/css/component-css/pds-button.css +47 -13
  155. package/dist/css/component-css/pds-callout.css +1 -1
  156. package/dist/css/component-css/pds-card-select.css +2 -0
  157. package/dist/css/component-css/pds-card.css +1 -1
  158. package/dist/css/component-css/pds-chart-legend.css +1 -0
  159. package/dist/css/component-css/pds-chart-wrapper.css +1 -0
  160. package/dist/css/component-css/pds-checkbox-group.css +1 -1
  161. package/dist/css/component-css/pds-checkbox.css +1 -1
  162. package/dist/css/component-css/pds-close-button.css +1 -1
  163. package/dist/css/component-css/pds-code-block-legacy.css +1 -1
  164. package/dist/css/component-css/pds-code-block.css +1 -1
  165. package/dist/css/component-css/pds-combobox-multiselect.css +3 -2
  166. package/dist/css/component-css/pds-combobox.css +1 -1
  167. package/dist/css/component-css/pds-compact-empty-state.css +1 -1
  168. package/dist/css/component-css/pds-comparison-list.css +1 -1
  169. package/dist/css/component-css/pds-cta-link.css +1 -1
  170. package/dist/css/component-css/pds-datepicker.css +5 -3
  171. package/dist/css/component-css/pds-drawer.css +1 -0
  172. package/dist/css/component-css/pds-dropdown-menu.css +2 -2
  173. package/dist/css/component-css/pds-dropdown.css +2 -0
  174. package/dist/css/component-css/pds-expansion-panel-group.css +1 -1
  175. package/dist/css/component-css/pds-expansion-panel.css +1 -1
  176. package/dist/css/component-css/pds-file-diff.css +1 -1
  177. package/dist/css/component-css/pds-file-upload.css +3 -3
  178. package/dist/css/component-css/pds-filter-button.css +1 -0
  179. package/dist/css/component-css/pds-full-screen-overlay.css +1 -0
  180. package/dist/css/component-css/pds-horizontal-empty-state.css +1 -1
  181. package/dist/css/component-css/pds-icon-button.css +5 -3
  182. package/dist/css/component-css/pds-icon-story-only.css +1 -1
  183. package/dist/css/component-css/pds-icon.css +1 -1
  184. package/dist/css/component-css/pds-identity-block.css +1 -0
  185. package/dist/css/component-css/pds-index.css +154 -45
  186. package/dist/css/component-css/pds-inline-message.css +1 -1
  187. package/dist/css/component-css/pds-input-group.css +1 -1
  188. package/dist/css/component-css/pds-input-utilities.css +1 -1
  189. package/dist/css/component-css/pds-line-chart.css +1 -0
  190. package/dist/css/component-css/pds-link-new-window.css +1 -1
  191. package/dist/css/component-css/pds-menu-button.css +7 -1
  192. package/dist/css/component-css/pds-modal.css +1 -1
  193. package/dist/css/component-css/pds-nav-menu.css +1 -5
  194. package/dist/css/component-css/pds-navbar.css +4 -1
  195. package/dist/css/component-css/pds-pagination-compact.css +1 -0
  196. package/dist/css/component-css/pds-pagination-mini.css +3 -0
  197. package/dist/css/component-css/pds-pagination.css +1 -1
  198. package/dist/css/component-css/pds-panel-list.css +1 -1
  199. package/dist/css/component-css/pds-panel.css +1 -1
  200. package/dist/css/component-css/pds-pantheon-logo.css +1 -1
  201. package/dist/css/component-css/pds-payment-icon.css +1 -1
  202. package/dist/css/component-css/pds-picture.css +1 -1
  203. package/dist/css/component-css/pds-pie-chart.css +1 -0
  204. package/dist/css/component-css/pds-platform-icon.css +1 -1
  205. package/dist/css/component-css/pds-popover.css +1 -1
  206. package/dist/css/component-css/pds-progress-bar.css +1 -1
  207. package/dist/css/component-css/pds-progress-ring.css +1 -1
  208. package/dist/css/component-css/pds-proportion-bar.css +1 -0
  209. package/dist/css/component-css/pds-radio-group.css +1 -1
  210. package/dist/css/component-css/pds-section-message.css +1 -1
  211. package/dist/css/component-css/pds-segmented-button.css +2 -1
  212. package/dist/css/component-css/pds-select.css +1 -1
  213. package/dist/css/component-css/pds-side-nav-global.css +3 -5
  214. package/dist/css/component-css/pds-side-nav.css +3 -1
  215. package/dist/css/component-css/pds-site-footer.css +1 -1
  216. package/dist/css/component-css/pds-site-search.css +1 -0
  217. package/dist/css/component-css/pds-skeleton.css +1 -1
  218. package/dist/css/component-css/pds-skiplink.css +1 -1
  219. package/dist/css/component-css/pds-sortable-list.css +8 -0
  220. package/dist/css/component-css/pds-spinner.css +1 -1
  221. package/dist/css/component-css/pds-split-button.css +1 -1
  222. package/dist/css/component-css/pds-sso-button.css +2 -2
  223. package/dist/css/component-css/pds-status-badge.css +1 -1
  224. package/dist/css/component-css/pds-status-checker.css +1 -0
  225. package/dist/css/component-css/pds-status-indicator.css +1 -1
  226. package/dist/css/component-css/pds-step-list.css +1 -0
  227. package/dist/css/component-css/pds-stepper.css +3 -1
  228. package/dist/css/component-css/pds-switch.css +6 -11
  229. package/dist/css/component-css/pds-tab-menu.css +2 -2
  230. package/dist/css/component-css/pds-table-of-contents.css +1 -1
  231. package/dist/css/component-css/pds-table.css +3 -1
  232. package/dist/css/component-css/pds-tabs.css +1 -1
  233. package/dist/css/component-css/pds-tag.css +1 -1
  234. package/dist/css/component-css/pds-tags-input.css +1 -1
  235. package/dist/css/component-css/pds-tally.css +1 -1
  236. package/dist/css/component-css/pds-text-input.css +1 -1
  237. package/dist/css/component-css/pds-textarea.css +1 -1
  238. package/dist/css/component-css/pds-theme-switcher.css +1 -1
  239. package/dist/css/component-css/pds-toaster.css +1 -1
  240. package/dist/css/component-css/pds-tooltip.css +1 -1
  241. package/dist/css/component-css/pds-tree-nav.css +1 -0
  242. package/dist/css/component-css/pds-user-menu-story-only.css +1 -1
  243. package/dist/css/component-css/pds-user-menu.css +32 -1
  244. package/dist/css/component-css/pds-utility-bar.css +1 -0
  245. package/dist/css/component-css/pds-utility-button.css +3 -1
  246. package/dist/css/component-css/pds-vertical-empty-state.css +1 -1
  247. package/dist/css/component-css/pds-vertical-stepper.css +1 -1
  248. package/dist/css/component-css/pds-video-embed.css +1 -1
  249. package/dist/css/component-css/pds-workspace-selector.css +26 -1
  250. package/dist/css/design-tokens/variables.dark.css +385 -314
  251. package/dist/css/design-tokens/variables.global.css +8 -16
  252. package/dist/css/design-tokens/variables.light.css +350 -279
  253. package/dist/css/design-tokens/variables.typography.css +1 -2
  254. package/dist/css/layout-css/pds-app-layout.css +3 -2
  255. package/dist/css/layout-css/pds-docs-layout.css +1 -1
  256. package/dist/css/layout-css/pds-index.css +3 -9
  257. package/dist/css/layout-css/pds-sidebar-layout.css +5 -0
  258. package/dist/css/layout-css/pds-stepper-layout.css +1 -1
  259. package/dist/css/layout-css/pds-three-item-layout.css +1 -1
  260. package/dist/css/layout-css/pds-two-item-layout.css +1 -1
  261. package/dist/css/pds-components.css +154 -45
  262. package/dist/css/pds-core.css +3 -2
  263. package/dist/css/pds-layouts.css +3 -9
  264. package/dist/index.css +5 -1
  265. package/dist/index.d.ts +91 -7
  266. package/dist/index.js +12206 -4794
  267. package/dist/index.js.map +1 -1
  268. package/dist/index.source.d.ts +40 -41
  269. package/dist/layouts/AppLayout/AppLayout.d.ts +85 -10
  270. package/dist/layouts/DocsLayout/DocsLayout.d.ts +9 -7
  271. package/dist/layouts/SidebarLayout/SidebarLayout.d.ts +16 -6
  272. package/dist/layouts/StepperLayout/StepperLayout.d.ts +13 -1
  273. package/dist/layouts/ThreeItemLayout/ThreeItemLayout.d.ts +3 -3
  274. package/dist/layouts/TwoItemLayout/TwoItemLayout.d.ts +3 -3
  275. package/dist/libs/components/NavAccordion/NavAccordion.d.ts +27 -0
  276. package/dist/libs/components/StatusDot/StatusDot.d.ts +15 -0
  277. package/dist/libs/components/utils.d.ts +0 -1
  278. package/dist/libs/types/custom-types.d.ts +12 -5
  279. package/dist/libs/types/layout-types.d.ts +2 -1
  280. package/dist/libs/types/navigation-types.d.ts +17 -1
  281. package/dist/svg/anglesDown.svg +3 -0
  282. package/dist/svg/anglesUp.svg +3 -0
  283. package/dist/svg/barsStaggered.svg +3 -0
  284. package/dist/svg/circleExclamationSolid.svg +3 -0
  285. package/dist/svg/circleHalfStroke.svg +3 -0
  286. package/dist/svg/circleInfoSolid.svg +3 -0
  287. package/dist/svg/circleQuestionSolid.svg +3 -0
  288. package/dist/svg/claude.svg +3 -0
  289. package/dist/svg/clock.svg +3 -0
  290. package/dist/svg/collapseToCenter.svg +3 -0
  291. package/dist/svg/compress.svg +3 -0
  292. package/dist/svg/diagramVenn.svg +3 -0
  293. package/dist/svg/floppyDisk.svg +3 -0
  294. package/dist/svg/grid.svg +2 -2
  295. package/dist/svg/grid2.svg +3 -0
  296. package/dist/svg/landmark.svg +3 -0
  297. package/dist/svg/move.svg +3 -0
  298. package/dist/svg/octagonExclamation.svg +3 -0
  299. package/dist/svg/openai.svg +3 -0
  300. package/dist/svg/pause.svg +3 -0
  301. package/dist/svg/sidebar.svg +3 -0
  302. package/dist/svg/slider.svg +3 -0
  303. package/dist/svg/squareDashed.svg +3 -0
  304. package/dist/svg/tableColumns.svg +3 -0
  305. package/dist/svg/userSolid.svg +3 -0
  306. package/dist/{layouts → utilities}/FlexContainer/FlexContainer.d.ts +6 -6
  307. package/dist/utilities/GlobalWrapper/GlobalWrapper.d.ts +35 -0
  308. package/dist/utilities/context-providers/ThemeContext/ThemeContext.d.ts +113 -0
  309. package/dist/utilities/grid/Grid.d.ts +58 -0
  310. package/dist/utilities/grid/GridItem.d.ts +57 -0
  311. package/dist/utilities/hooks/useDropdown/index.d.ts +1 -0
  312. package/dist/utilities/hooks/useDropdown/useDropdown.d.ts +121 -0
  313. package/dist/utilities/hooks/useIsMobile/useIsMobile.d.ts +16 -0
  314. package/package.json +73 -46
  315. package/tailwind/README.md +220 -0
  316. package/tailwind/TESTING.md +457 -0
  317. package/tailwind/v3/preset.cjs +258 -0
  318. package/tailwind/v4/theme.css +230 -0
  319. package/dist/components/CTASlice/CTASlice.d.ts +0 -43
  320. package/dist/components/CodeBlock/themes/pdsLight.d.ts +0 -2
  321. package/dist/components/DashboardStat/DashboardStat.d.ts +0 -28
  322. package/dist/components/PullQuote/PullQuote.d.ts +0 -34
  323. package/dist/components/SiteDashboardHeading/SiteDashboardHeading.d.ts +0 -62
  324. package/dist/components/SocialLinks/SocialLinks.d.ts +0 -23
  325. package/dist/components/cards/CardHeading/CardHeading.d.ts +0 -31
  326. package/dist/components/cards/CardSelectGroup/CardSelectGroup.d.ts +0 -60
  327. package/dist/components/cards/EmptyStateCard/EmptyStateCard.d.ts +0 -36
  328. package/dist/components/cards/LinksCard/LinksCard.d.ts +0 -29
  329. package/dist/components/cards/LinksCard/links-card-sample-data.d.ts +0 -2
  330. package/dist/components/cards/NewSiteCard/NewSiteCard.d.ts +0 -61
  331. package/dist/components/cards/PaymentCard/PaymentCard.d.ts +0 -47
  332. package/dist/components/cards/PricingCard/PricingCard.d.ts +0 -95
  333. package/dist/components/cards/SiteCard/SiteCard.d.ts +0 -50
  334. package/dist/components/footer/FooterHeading/FooterHeading.d.ts +0 -22
  335. package/dist/components/footer/FooterLinks/FooterLinks.d.ts +0 -26
  336. package/dist/components/footer/SiteFooter/SiteFooter.d.ts +0 -34
  337. package/dist/components/footer/SiteFooter/footer-content.d.ts +0 -1
  338. package/dist/components/navigation/DashboardNav/DashboardNav.d.ts +0 -35
  339. package/dist/components/navigation/DashboardNav/DashboardNavItem.d.ts +0 -24
  340. package/dist/components/navigation/NavMenu/NavMenu.d.ts +0 -33
  341. package/dist/components/navigation/NavMenu/NavMenuDropdown.d.ts +0 -24
  342. package/dist/components/navigation/SideNavCompact/SideNavCompact.d.ts +0 -53
  343. package/dist/components/notifications/NotificationHubIcon/NotificationHubIcon.d.ts +0 -38
  344. package/dist/components/notifications/NotificationsPopover/NotificationsPopover.d.ts +0 -118
  345. package/dist/components/tiles/AvatarTileList/AvatarTileList.d.ts +0 -28
  346. package/dist/components/tiles/Tile/Tile.d.ts +0 -42
  347. package/dist/components/tiles/TileGrid/TileGrid.d.ts +0 -29
  348. package/dist/css/component-css/pds-avatar-tile-list.css +0 -1
  349. package/dist/css/component-css/pds-card-heading.css +0 -1
  350. package/dist/css/component-css/pds-card-select-group.css +0 -1
  351. package/dist/css/component-css/pds-cta-slice.css +0 -1
  352. package/dist/css/component-css/pds-dashboard-nav.css +0 -5
  353. package/dist/css/component-css/pds-dashboard-search.css +0 -1
  354. package/dist/css/component-css/pds-dashboard-stat.css +0 -1
  355. package/dist/css/component-css/pds-empty-state-card.css +0 -1
  356. package/dist/css/component-css/pds-flow-steps.css +0 -1
  357. package/dist/css/component-css/pds-footer-heading.css +0 -1
  358. package/dist/css/component-css/pds-footer-links.css +0 -1
  359. package/dist/css/component-css/pds-links-card.css +0 -1
  360. package/dist/css/component-css/pds-new-site-card.css +0 -1
  361. package/dist/css/component-css/pds-notification-hub-icon.css +0 -1
  362. package/dist/css/component-css/pds-notifications-popover.css +0 -1
  363. package/dist/css/component-css/pds-payment-card.css +0 -1
  364. package/dist/css/component-css/pds-pricing-card-local.css +0 -1
  365. package/dist/css/component-css/pds-pricing-card.css +0 -1
  366. package/dist/css/component-css/pds-pull-quote.css +0 -1
  367. package/dist/css/component-css/pds-refresh-checker.css +0 -1
  368. package/dist/css/component-css/pds-side-nav-compact.css +0 -1
  369. package/dist/css/component-css/pds-site-card.css +0 -1
  370. package/dist/css/component-css/pds-site-dashboard-heading.css +0 -1
  371. package/dist/css/component-css/pds-social-links.css +0 -1
  372. package/dist/css/component-css/pds-tile.css +0 -1
  373. package/dist/css/component-css/pds-tiles-common.css +0 -1
  374. package/dist/css/layout-css/pds-dashboard-global.css +0 -8
  375. package/dist/css/layout-css/pds-dashboard-inner.css +0 -1
  376. package/dist/css/layout-css/pds-flex-container.css +0 -1
  377. package/dist/layouts/DashboardGlobal/DashboardGlobal.d.ts +0 -57
  378. package/dist/layouts/DashboardInner/DashboardInner.d.ts +0 -30
  379. package/dist/layouts/GlobalWrapper/GlobalWrapper.d.ts +0 -19
  380. package/dist/utilities/context-providers/ResponsiveContext/ResponsiveContext.d.ts +0 -6
  381. /package/dist/components/{Skiplink → links/Skiplink}/Skiplink.d.ts +0 -0
  382. /package/dist/components/{Picture → media/Picture}/Picture.d.ts +0 -0
  383. /package/dist/components/{VideoEmbed → media/VideoEmbed}/VideoEmbed.d.ts +0 -0
  384. /package/dist/components/{Pagination → pagination/Pagination}/usePagination.d.ts +0 -0
  385. /package/dist/components/{FlowSteps → steppers/StepList}/example-steps.d.ts +0 -0
  386. /package/dist/svg/{linkSimple.svg → link.svg} +0 -0
  387. /package/dist/svg/{linkSimpleSlash.svg → unlink.svg} +0 -0
  388. /package/dist/{layouts → utilities}/Container/Container.d.ts +0 -0
@@ -1,5 +1,6 @@
1
1
  import { ComponentPropsWithoutRef, ReactNode } from 'react';
2
2
  import './combobox-multiselect.css';
3
+ export type ComboboxMultiselectSize = 's' | 'm';
3
4
  type LabelStrings = {
4
5
  aiBadgeLabel?: string;
5
6
  aiPanelButton?: string;
@@ -16,7 +17,7 @@ export interface OptionProps {
16
17
  id: string;
17
18
  label: string;
18
19
  }
19
- interface AuxiliaryPanel {
20
+ interface AiSuggestionsPanel {
20
21
  content?: ReactNode;
21
22
  disableRefresh?: boolean;
22
23
  isFetching?: boolean;
@@ -30,9 +31,9 @@ type DivProps = Omit<ComponentPropsWithoutRef<'div'>, 'onChange'>;
30
31
  */
31
32
  export interface ComboboxMultiselectProps extends DivProps {
32
33
  /**
33
- * Optional auxiliary panel configuration (e.g., for AI suggestions)
34
+ * AI suggestions panel configuration. When provided, shows a sparkle button that opens a floating suggestions panel.
34
35
  */
35
- auxiliaryPanel?: AuxiliaryPanel;
36
+ aiSuggestions?: AiSuggestionsPanel;
36
37
  /**
37
38
  * Additional class names
38
39
  */
@@ -50,7 +51,7 @@ export interface ComboboxMultiselectProps extends DivProps {
50
51
  */
51
52
  initialSelectedItems?: OptionProps[];
52
53
  /**
53
- * Max-width of the input field. Accepts a number in pixels. Leave blank for width: 100%.
54
+ * Width of the input field in pixels. When omitted, the input fills its container.
54
55
  */
55
56
  inputWidth?: number;
56
57
  /**
@@ -97,9 +98,13 @@ export interface ComboboxMultiselectProps extends DivProps {
97
98
  * Should the label be visible? If false, it will render for screen readers only.
98
99
  */
99
100
  showLabel?: boolean;
101
+ /**
102
+ * Size of the combobox multiselect field.
103
+ */
104
+ size?: ComboboxMultiselectSize;
100
105
  }
101
106
  /**
102
107
  * ComboboxMultiselect UI component
103
108
  */
104
- export declare const ComboboxMultiselect: ({ auxiliaryPanel, className, disabled, id, initialSelectedItems, inputWidth, isLoading, label, labelStrings, loadingText, noResultsText, onChange, options, placeholder, required, showAllTags, showLabel, ...props }: ComboboxMultiselectProps) => import("react/jsx-runtime").JSX.Element;
109
+ export declare const ComboboxMultiselect: ({ aiSuggestions, className, disabled, id, initialSelectedItems, inputWidth, isLoading, label, labelStrings, loadingText, noResultsText, onChange, options, placeholder, required, showAllTags, showLabel, size, ...props }: ComboboxMultiselectProps) => import("react/jsx-runtime").JSX.Element;
105
110
  export {};
@@ -1,15 +1,21 @@
1
- import { HTMLAttributes } from 'react';
1
+ import { HTMLAttributes, ReactNode } from 'react';
2
2
  import { Locale } from 'date-fns';
3
3
  import { DateRange } from 'react-day-picker';
4
+ import { ValidationStatus } from '../../../libs/types/input-types';
4
5
  import 'react-day-picker/dist/style.css';
5
6
  import './datepicker.css';
6
- type PresetType = 'today' | 'current-week' | 'current-month' | 'last-week' | 'last-month';
7
+ export type PresetType = 'today' | 'current-week' | 'current-month' | 'last-week' | 'last-month';
7
8
  export interface CustomPresetConfig {
8
9
  custom?: () => DateRange;
9
10
  days?: number;
10
11
  label: string;
11
12
  type?: PresetType;
12
13
  }
14
+ /**
15
+ * Converts a preset config to a DateRange. Use this alongside an external
16
+ * SegmentedButton, Select, or other control to compose preset date pickers.
17
+ */
18
+ export declare const getPresetDateRange: (preset: CustomPresetConfig) => DateRange;
13
19
  export interface DatepickerTranslationStrings {
14
20
  clearButton?: string;
15
21
  doneButton?: string;
@@ -20,6 +26,7 @@ export interface DatepickerTranslationStrings {
20
26
  selectedDateRange?: string;
21
27
  selectedStartDate?: string;
22
28
  to?: string;
29
+ todayButton?: string;
23
30
  }
24
31
  /**
25
32
  * Prop types for Datepicker.
@@ -43,7 +50,7 @@ export interface DatepickerProps extends DatepickerHTMLProps {
43
50
  */
44
51
  id: string;
45
52
  /**
46
- * Max-width of the input field. Accepts a number in pixels.
53
+ * Width of the input field in pixels. When omitted, the input fills its container.
47
54
  * Numbers below 160 will display at 160px.
48
55
  * Leave blank for width: 100%.
49
56
  */
@@ -56,6 +63,18 @@ export interface DatepickerProps extends DatepickerHTMLProps {
56
63
  * Locale from date-fns for internationalization.
57
64
  */
58
65
  locale?: Locale;
66
+ /**
67
+ * Maximum selectable date.
68
+ */
69
+ maxDate?: Date;
70
+ /**
71
+ * Helper text displayed below the input.
72
+ */
73
+ message?: string | ReactNode;
74
+ /**
75
+ * Minimum selectable date.
76
+ */
77
+ minDate?: Date;
59
78
  /**
60
79
  * onChange handler
61
80
  */
@@ -64,10 +83,6 @@ export interface DatepickerProps extends DatepickerHTMLProps {
64
83
  * Placeholder text for the trigger button.
65
84
  */
66
85
  placeholder?: string;
67
- /**
68
- * Optional preset date ranges (only available when hasDateRange is true).
69
- */
70
- presets?: CustomPresetConfig[];
71
86
  /**
72
87
  * Is this field required?
73
88
  */
@@ -84,6 +99,14 @@ export interface DatepickerProps extends DatepickerHTMLProps {
84
99
  * Translation strings for labels.
85
100
  */
86
101
  translationStrings?: DatepickerTranslationStrings;
102
+ /**
103
+ * Validation message that takes priority over `message` when set.
104
+ */
105
+ validationMessage?: string;
106
+ /**
107
+ * Validation status. Controls error/success styling and message display.
108
+ */
109
+ validationStatus?: ValidationStatus;
87
110
  /**
88
111
  * Selected date or date range.
89
112
  */
@@ -92,5 +115,5 @@ export interface DatepickerProps extends DatepickerHTMLProps {
92
115
  /**
93
116
  * Datepicker UI component.
94
117
  */
95
- export declare const Datepicker: ({ className, disabled, hasDateRange, id, inputWidth, label, locale, onChange, placeholder, presets, required, showLabel, tooltipText, translationStrings, value, ...props }: DatepickerProps) => import("react/jsx-runtime").JSX.Element;
118
+ export declare const Datepicker: ({ className, disabled, hasDateRange, id, inputWidth, label, locale, maxDate, message, minDate, onChange, placeholder, required, showLabel, tooltipText, translationStrings: translationStringsProp, validationMessage, validationStatus, value, ...props }: DatepickerProps) => import("react/jsx-runtime").JSX.Element;
96
119
  export {};
@@ -1,6 +1,7 @@
1
1
  import React, { ComponentPropsWithoutRef, ReactNode } from 'react';
2
2
  import { ValidationStatus } from '../../../libs/types/input-types';
3
3
  import './file-upload.css';
4
+ export type FileUploadSize = 's' | 'm';
4
5
  type LabelStrings = {
5
6
  chooseFile: string;
6
7
  clearButton: string;
@@ -38,7 +39,7 @@ export interface FileUploadProps extends ComponentPropsWithoutRef<'div'> {
38
39
  */
39
40
  inputProps?: ComponentPropsWithoutRef<'input'>;
40
41
  /**
41
- * Max-width of the input field. Accepts a number in pixels. Leave blank for width: 100%.
42
+ * Width of the input field in pixels. When omitted, the input fills its container.
42
43
  */
43
44
  inputWidth?: number;
44
45
  /**
@@ -73,6 +74,10 @@ export interface FileUploadProps extends ComponentPropsWithoutRef<'div'> {
73
74
  * Should the label be visible? If false, it will render for screen readers only.
74
75
  */
75
76
  showLabel?: boolean;
77
+ /**
78
+ * Size of the input field.
79
+ */
80
+ size?: FileUploadSize;
76
81
  /**
77
82
  * Optional tooltip text to display additional information.
78
83
  */
@@ -44,7 +44,7 @@ export interface RadioGroupProps extends ComponentPropsWithoutRef<'div'> {
44
44
  */
45
45
  id: string;
46
46
  /**
47
- * Max-width of the input field. Accepts a number in pixels. Leave blank for width: 100%.
47
+ * Width of the input field in pixels. When omitted, the input fills its container.
48
48
  */
49
49
  inputWidth?: number;
50
50
  /**
@@ -3,6 +3,7 @@ import { ValidationStatus } from '../../../libs/types/input-types';
3
3
  import { PDSIcon } from '../../icons/Icon/Icon';
4
4
  import './select.css';
5
5
  export type SelectIconType = PDSIcon | 'google' | 'microsoft';
6
+ export type SelectSize = 's' | 'm';
6
7
  type LabelStrings = {
7
8
  selectOptionText: string;
8
9
  triggerButton: string;
@@ -69,7 +70,7 @@ export interface SelectProps {
69
70
  */
70
71
  id: string;
71
72
  /**
72
- * Max-width of the input field. Accepts a number in pixels. Leave blank for width: 100%.
73
+ * Width of the input field in pixels. When omitted, the input fills its container.
73
74
  */
74
75
  inputWidth?: number;
75
76
  /**
@@ -108,6 +109,10 @@ export interface SelectProps {
108
109
  * Should the label be visible? If false, it will render for screen readers only.
109
110
  */
110
111
  showLabel?: boolean;
112
+ /**
113
+ * Size of the select field.
114
+ */
115
+ size?: SelectSize;
111
116
  /**
112
117
  * Optional tooltip text to display additional information.
113
118
  */
@@ -132,5 +137,5 @@ export declare const SelectOptionGroup: ({ children, label, }: SelectOptionGroup
132
137
  /**
133
138
  * Select UI component
134
139
  */
135
- export declare const Select: ({ autoWidth, className, defaultValue, disabled, icon, id, inputWidth, label, labelStrings, message, onBlur, onFocus, onOptionSelect, options, required, showLabel, tooltipText, validationMessage, validationStatus, value, ...props }: SelectProps) => import("react/jsx-runtime").JSX.Element;
140
+ export declare const Select: ({ autoWidth, className, defaultValue, disabled, icon, id, inputWidth, label, labelStrings, message, onBlur, onFocus, onOptionSelect, options, required, showLabel, size, tooltipText, validationMessage, validationStatus, value, ...props }: SelectProps) => import("react/jsx-runtime").JSX.Element;
136
141
  export {};
@@ -29,7 +29,7 @@ export interface SwitchProps extends ComponentPropsWithoutRef<'div'> {
29
29
  */
30
30
  inputProps?: ComponentPropsWithoutRef<'input'>;
31
31
  /**
32
- * Max-width of the input field. Accepts a number in pixels. Leave blank for width: 100%.
32
+ * Width of the input field in pixels. When omitted, the input fills its container.
33
33
  */
34
34
  inputWidth?: number;
35
35
  /**
@@ -41,7 +41,7 @@ export interface SwitchProps extends ComponentPropsWithoutRef<'div'> {
41
41
  */
42
42
  message?: string | ReactNode;
43
43
  /**
44
- * Status text for when switch is off.
44
+ * Status text for when the switch is off. Visual only (not announced to screen readers, which rely on `role="switch"`).
45
45
  */
46
46
  offLabel?: string;
47
47
  /**
@@ -49,7 +49,7 @@ export interface SwitchProps extends ComponentPropsWithoutRef<'div'> {
49
49
  */
50
50
  onChange?: (e: ChangeEvent<HTMLInputElement>) => void;
51
51
  /**
52
- * Status text for when switch is on.
52
+ * Status text for when the switch is on. Visual only (not announced to screen readers, which rely on `role="switch"`).
53
53
  */
54
54
  onLabel?: string;
55
55
  /**
@@ -61,11 +61,11 @@ export interface SwitchProps extends ComponentPropsWithoutRef<'div'> {
61
61
  */
62
62
  showLabel?: boolean;
63
63
  /**
64
- * Show toggle status label next to switch. If false, icons will render and the text will still be available to screen readers.
64
+ * Show the on/off status label next to the switch. Visual only; state is always available to screen readers via `role="switch"`.
65
65
  */
66
66
  showStatusLabel?: boolean;
67
67
  /**
68
- * Determines the placement of the toggle status label. Default set to `right`.
68
+ * Determines the placement of the status label relative to the switch. Default set to `right`.
69
69
  */
70
70
  statusLabelPlacement?: 'right' | 'left';
71
71
  /**
@@ -15,6 +15,7 @@ export type TagType = {
15
15
  id: string;
16
16
  value: string;
17
17
  };
18
+ export type TagsInputSize = 's' | 'm';
18
19
  type DivProps = Omit<ComponentPropsWithoutRef<'div'>, 'onChange'>;
19
20
  /**
20
21
  * Prop types for TagsInput
@@ -41,7 +42,7 @@ export interface TagsInputProps extends DivProps {
41
42
  */
42
43
  inputMinHeight?: number;
43
44
  /**
44
- * Max-width of the input field. Accepts a number in pixels. Leave blank for width: 100%.
45
+ * Width of the input field in pixels. When omitted, the input fills its container.
45
46
  */
46
47
  inputWidth?: number;
47
48
  /**
@@ -72,6 +73,10 @@ export interface TagsInputProps extends DivProps {
72
73
  * Should the label be visible? If false, it will render for screen readers only.
73
74
  */
74
75
  showLabel?: boolean;
76
+ /**
77
+ * Size of the input.
78
+ */
79
+ size?: TagsInputSize;
75
80
  /**
76
81
  * Tags array. The component is controlled and requires managing state externally.
77
82
  */
@@ -56,7 +56,7 @@ export interface TextInputProps extends ComponentPropsWithoutRef<'div'> {
56
56
  */
57
57
  inputProps?: ComponentPropsWithoutRef<'input'>;
58
58
  /**
59
- * Max-width of the input field. Accepts a number in pixels. Leave blank for width: 100%.
59
+ * Width of the input field in pixels. When omitted, the input fills its container.
60
60
  */
61
61
  inputWidth?: number;
62
62
  /**
@@ -110,7 +110,7 @@ export interface TextInputProps extends ComponentPropsWithoutRef<'div'> {
110
110
  /**
111
111
  * Input size.
112
112
  */
113
- size?: 's' | 'm' | 'l';
113
+ size?: 's' | 'm';
114
114
  /**
115
115
  * Optional tooltip text to display additional information.
116
116
  */
@@ -31,7 +31,7 @@ export interface TextareaProps {
31
31
  */
32
32
  id: string;
33
33
  /**
34
- * Max-width of the input field. Accepts a number in pixels. Leave blank for width: 100%.
34
+ * Width of the input field in pixels. When omitted, the input fills its container.
35
35
  */
36
36
  inputWidth?: number;
37
37
  /**
@@ -82,7 +82,7 @@ export interface TextareaProps {
82
82
  /**
83
83
  * Input size.
84
84
  */
85
- size?: 's' | 'm' | 'l';
85
+ size?: 's' | 'm';
86
86
  /**
87
87
  * Additional props for the `<textarea>` element.
88
88
  */
@@ -1,5 +1,6 @@
1
1
  import React, { ComponentPropsWithoutRef, MouseEventHandler, ReactNode } from 'react';
2
2
  import { SelectOptionGroupType, SelectOptionType } from './Select/Select';
3
+ import '@components/Dropdown/dropdown.css';
3
4
  import './input-utilities.css';
4
5
  export declare const inputCommonClasses: {
5
6
  base: string;
@@ -10,7 +11,7 @@ export declare const inputCommonClasses: {
10
11
  readonly: string;
11
12
  };
12
13
  export declare const getInputWidthStyle: (inputWidth: number) => {
13
- maxWidth: string;
14
+ width: string;
14
15
  };
15
16
  export declare const stripUrlProtocol: (value: string) => string;
16
17
  export declare const RequiredIcon: () => import("react/jsx-runtime").JSX.Element;
@@ -12,7 +12,7 @@ export interface CTALinkProps extends ComponentPropsWithoutRef<'div'> {
12
12
  /**
13
13
  * Size of link
14
14
  */
15
- size?: 'sm' | 'md';
15
+ size?: 'xs' | 's' | 'm';
16
16
  }
17
17
  /**
18
18
  * CTA Link UI component
@@ -15,7 +15,7 @@ export interface LinkNewWindowProps extends ComponentPropsWithoutRef<'a'> {
15
15
  /**
16
16
  * Optional font size for the LinkNewWindow. If not provided, the font size will be inherited from the parent element.
17
17
  */
18
- fontSize?: 'sm' | 'md' | 'lg';
18
+ fontSize?: 's' | 'm' | 'l';
19
19
  /**
20
20
  * Is the link in the process of loading?
21
21
  */
@@ -1,6 +1,5 @@
1
1
  import { ComponentPropsWithoutRef } from 'react';
2
2
  export type SpinnerSize = 's' | 'm' | 'l' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' | '6xl';
3
- export type SpinnerColorType = 'full-color' | 'monochromatic' | 'monochromatic-reverse';
4
3
  import './spinner.css';
5
4
  export interface SpinnerProps extends ComponentPropsWithoutRef<'span'> {
6
5
  /**
@@ -8,9 +7,11 @@ export interface SpinnerProps extends ComponentPropsWithoutRef<'span'> {
8
7
  */
9
8
  className?: string;
10
9
  /**
11
- * Spinner color
10
+ * Arc color. Accepts any CSS color value or `var(--token)` reference.
11
+ * The track ring renders at the same color with reduced opacity.
12
+ * Defaults to the interactive blue token.
12
13
  */
13
- colorType?: SpinnerColorType;
14
+ color?: string;
14
15
  /**
15
16
  * Should the spinner be an inline element? If true, it will be displayed inline-block without a visible label.
16
17
  */
@@ -31,4 +32,4 @@ export interface SpinnerProps extends ComponentPropsWithoutRef<'span'> {
31
32
  /**
32
33
  * Spinner UI component
33
34
  */
34
- export declare const Spinner: ({ className, colorType, isInline, label, showLabel, size, ...props }: SpinnerProps) => import("react/jsx-runtime").JSX.Element;
35
+ export declare const Spinner: ({ className, color, isInline, label, showLabel, size, ...props }: SpinnerProps) => import("react/jsx-runtime").JSX.Element;
@@ -10,6 +10,10 @@ export interface ButtonNavProps extends ComponentPropsWithRef<'nav'> {
10
10
  * Aria label for the navigation.
11
11
  */
12
12
  ariaLabel: string;
13
+ /**
14
+ * Renders a border around the track. Off by default.
15
+ */
16
+ border?: boolean;
13
17
  /**
14
18
  * Additional class names
15
19
  */
@@ -18,12 +22,8 @@ export interface ButtonNavProps extends ComponentPropsWithRef<'nav'> {
18
22
  * Menu items to render.
19
23
  */
20
24
  menuItems?: ButtonNavItem[];
21
- /**
22
- * Size of the Buttons.
23
- */
24
- size?: 's' | 'm';
25
25
  }
26
26
  /**
27
27
  * ButtonNav UI component
28
28
  */
29
- export declare const ButtonNav: ({ ariaLabel, className, menuItems, size, ...props }: ButtonNavProps) => import("react/jsx-runtime").JSX.Element;
29
+ export declare const ButtonNav: ({ ariaLabel, border, className, menuItems, ...props }: ButtonNavProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,6 @@
1
1
  import { ComponentPropsWithoutRef, ReactElement } from 'react';
2
2
  import { NavigationItem } from '../../../libs/types/navigation-types';
3
+ import '@components/Dropdown/dropdown.css';
3
4
  import './dropdown-menu.css';
4
5
  /**
5
6
  * Prop types for DropdownMenu
@@ -1,13 +1,12 @@
1
1
  import { ComponentPropsWithoutRef, ReactNode } from 'react';
2
2
  import { ContainerWidth } from '../../../libs/types/custom-types';
3
- import { PantheonLogoDisplayType } from '../../PantheonLogo/PantheonLogo';
4
3
  import './navbar.css';
5
4
  /**
6
5
  * Prop types for Navbar
7
6
  */
8
7
  export interface NavbarProps extends ComponentPropsWithoutRef<'header'> {
9
8
  /**
10
- * Navbar content.
9
+ * Navbar content. Use the `logo`, `items-left`, `items-center`, and `items-right` slots.
11
10
  */
12
11
  children?: ReactNode;
13
12
  /**
@@ -27,25 +26,14 @@ export interface NavbarProps extends ComponentPropsWithoutRef<'header'> {
27
26
  */
28
27
  hideBorder?: boolean;
29
28
  /**
30
- * Hide the logo if it will be provided elsewhere in the layout. The logo will still be rendered in the mobile view.
29
+ * Overrides the horizontal (inline) padding of the desktop navbar bar.
30
+ * Accepts any CSS length (e.g. '1rem', '26px', or a token such as
31
+ * 'var(--pds-spacing-m)'). Applied symmetrically. Defaults to the
32
+ * Container's standard gutter. Useful for aligning navbar content with an
33
+ * adjacent app shell (e.g. the AppLayout sidebar) when placed in a `header`
34
+ * slot.
31
35
  */
32
- hideLogo?: boolean;
33
- /**
34
- * How should the Pantheon logo be displayed.
35
- */
36
- logoDisplayType?: PantheonLogoDisplayType;
37
- /**
38
- * Where should the logo link to? A fully-formed link element.
39
- */
40
- logoLinkContent?: ReactNode;
41
- /**
42
- * Logo image source. If provided, the Pantheon logo will not be rendered.
43
- */
44
- logoSrc?: string;
45
- /**
46
- * Accepts a fully-formed link or a string (if a static site name is desired). Only necessary if logoDisplayType is `sub-brand`.
47
- */
48
- logoSubBrand?: ReactNode | string;
36
+ inlinePadding?: string;
49
37
  /**
50
38
  * Translation strings for accessibility.
51
39
  */
@@ -57,4 +45,4 @@ export interface NavbarProps extends ComponentPropsWithoutRef<'header'> {
57
45
  /**
58
46
  * Navbar UI component
59
47
  */
60
- export declare const Navbar: ({ children, className, colorType, containerWidth, hideBorder, hideLogo, logoDisplayType, logoLinkContent, logoSrc, logoSubBrand, translationStrings, ...props }: NavbarProps) => import("react/jsx-runtime").JSX.Element;
48
+ export declare const Navbar: ({ children, className, colorType, containerWidth, hideBorder, inlinePadding, translationStrings, ...props }: NavbarProps) => import("react/jsx-runtime").JSX.Element;
@@ -13,6 +13,12 @@ export interface SideNavProps extends ComponentPropsWithoutRef<'nav'> {
13
13
  * Additional class names
14
14
  */
15
15
  className?: string;
16
+ /**
17
+ * When true, renders a dropdown menu in place of the standard navigation at mobile viewports.
18
+ * The mobile breakpoint is controlled by the `mobileBreakpoint` prop on `GlobalWrapper`.
19
+ * Defaults to `false` — the standard navigation is shown at all breakpoints.
20
+ */
21
+ hasMobileDropdown?: boolean;
16
22
  /**
17
23
  * Heading text. If a link is passed, it will be rendered as a link.
18
24
  */
@@ -36,4 +42,4 @@ export interface SideNavProps extends ComponentPropsWithoutRef<'nav'> {
36
42
  /**
37
43
  * SideNav UI component
38
44
  */
39
- export declare const SideNav: ({ ariaLabel, className, headingText, labels, menuItems, mobileMenuSelectTextFallback, ...props }: SideNavProps) => import("react/jsx-runtime").JSX.Element;
45
+ export declare const SideNav: ({ ariaLabel, className, hasMobileDropdown, headingText, labels, menuItems, mobileMenuSelectTextFallback, ...props }: SideNavProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,4 @@
1
- import { ComponentPropsWithoutRef, ReactNode } from 'react';
1
+ import { ComponentPropsWithoutRef } from 'react';
2
2
  import { SideNavGlobalItemProps } from './SideNavGlobalItem';
3
3
  import './side-nav-global.css';
4
4
  /**
@@ -13,11 +13,6 @@ export interface SideNavGlobalProps extends ComponentPropsWithoutRef<'div'> {
13
13
  * Additional class names
14
14
  */
15
15
  className?: string;
16
- /**
17
- * Should the Pantheon logo be displayed above the menu items?
18
- * It will not be displayed in the mobile view regardless of this value.
19
- */
20
- hasLogo?: boolean;
21
16
  /**
22
17
  * Is the sidebar collapsed?
23
18
  */
@@ -29,22 +24,17 @@ export interface SideNavGlobalProps extends ComponentPropsWithoutRef<'div'> {
29
24
  submenu: string;
30
25
  toggle: string;
31
26
  };
32
- /**
33
- * Where should the logo link to? A fully-formed link element.
34
- * Only necessary if `hasLogo` is true.
35
- * If the logo should not be a link, leave blank.
36
- */
37
- logoLinkContent?: ReactNode;
38
27
  /**
39
28
  * Menu items to render.
40
29
  */
41
30
  menuItems?: SideNavGlobalItemProps[];
42
31
  /**
43
- * Text to display in the mobile menu trigger button when no active link is found.
32
+ * Callback to expand the sidebar. When provided and the sidebar is collapsed,
33
+ * tapping a nav item with children will expand the sidebar instead of showing a flyout.
44
34
  */
45
- mobileMenuSelectTextFallback?: string;
35
+ onExpandSidebar?: () => void;
46
36
  }
47
37
  /**
48
38
  * SideNavGlobal UI component
49
39
  */
50
- export declare const SideNavGlobal: ({ ariaLabel, className, hasLogo, isSidebarCollapsed, labels, logoLinkContent, menuItems, mobileMenuSelectTextFallback, ...props }: SideNavGlobalProps) => import("react/jsx-runtime").JSX.Element;
40
+ export declare const SideNavGlobal: ({ ariaLabel, className, isSidebarCollapsed, labels, menuItems, onExpandSidebar, ...props }: SideNavGlobalProps) => import("react/jsx-runtime").JSX.Element;
@@ -6,6 +6,12 @@ export interface SideNavGlobalItemProps extends NavigationItem {
6
6
  * Icon to display next to the link content.
7
7
  */
8
8
  icon?: PDSIcon;
9
+ /**
10
+ * Whether the item's submenu is expanded. Controlled by the parent
11
+ * `SideNavGlobal` so expansion state stays in React rather than being
12
+ * mutated on the DOM.
13
+ */
14
+ isExpanded?: boolean;
9
15
  /**
10
16
  * Flag indicating whether the sidebar is collapsed.
11
17
  */
@@ -17,8 +23,16 @@ export interface SideNavGlobalItemProps extends NavigationItem {
17
23
  submenu: string;
18
24
  toggle: string;
19
25
  };
26
+ /**
27
+ * Callback to expand the sidebar on touch devices when collapsed.
28
+ */
29
+ onExpandSidebar?: () => void;
30
+ /**
31
+ * Callback to toggle the item's submenu expansion.
32
+ */
33
+ onToggleExpand?: () => void;
20
34
  }
21
35
  /**
22
36
  * SideNavGlobalItem UI component
23
37
  */
24
- export declare const SideNavGlobalItem: ({ icon, isActive, isSidebarCollapsed, labels, linkContent, links, }: SideNavGlobalItemProps) => import("react/jsx-runtime").JSX.Element;
38
+ export declare const SideNavGlobalItem: ({ icon, isActive, isExpanded, isSidebarCollapsed, labels, linkContent, links, onExpandSidebar, onToggleExpand, }: SideNavGlobalItemProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,26 @@
1
+ import { ComponentPropsWithoutRef } from 'react';
2
+ import { NavMenuItem } from '../../../libs/types/navigation-types';
3
+ import '@components/Dropdown/dropdown.css';
4
+ import './nav-menu.css';
5
+ /**
6
+ * Prop types for SiteMenu
7
+ */
8
+ interface SiteMenuProps extends ComponentPropsWithoutRef<'nav'> {
9
+ /**
10
+ * Aria label for `nav` element.
11
+ */
12
+ ariaLabel: string;
13
+ /**
14
+ * Additional class names
15
+ */
16
+ className?: string;
17
+ /**
18
+ * Menu Items.
19
+ */
20
+ menuItems?: NavMenuItem[];
21
+ }
22
+ /**
23
+ * SiteMenu UI component
24
+ */
25
+ export declare const SiteMenu: ({ ariaLabel, className, menuItems, ...props }: SiteMenuProps) => import("react/jsx-runtime").JSX.Element;
26
+ export {};
@@ -0,0 +1,23 @@
1
+ import { ComponentPropsWithoutRef } from 'react';
2
+ import { NavMenuItem } from '../../../libs/types/navigation-types';
3
+ /**
4
+ * Prop types for SiteMenuDropdown
5
+ */
6
+ interface SiteMenuDropdownProps extends ComponentPropsWithoutRef<'button'> {
7
+ /**
8
+ * Menu items. If omitted or empty, renders as a plain top-level link.
9
+ */
10
+ items?: NavMenuItem[];
11
+ /**
12
+ * Menu label shown on the trigger button.
13
+ */
14
+ label?: string;
15
+ }
16
+ /**
17
+ * SiteMenuDropdown — a sub-menu for SiteMenu items that have child links.
18
+ * Desktop: Floating UI dropdown (opens on hover or click).
19
+ * Mobile: NavAccordion inline expansion.
20
+ * Both are always in the DOM; CSS driven by [data-pds-mobile] shows the right one.
21
+ */
22
+ export declare const SiteMenuDropdown: ({ items, label }: SiteMenuDropdownProps) => import("react/jsx-runtime").JSX.Element;
23
+ export {};