@pantheon-systems/pds-toolkit-react 2.0.0-alpha.8 → 2.0.0-alpha.80

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (426) hide show
  1. package/bin/pds-codemod.cjs +58 -0
  2. package/codemods/v1-to-v2/css-token-renames.js +186 -0
  3. package/codemods/v1-to-v2/mappings.json +1787 -0
  4. package/codemods/v1-to-v2/transforms/__testfixtures__/component-renames/basic.input.tsx +33 -0
  5. package/codemods/v1-to-v2/transforms/__testfixtures__/component-renames/basic.output.tsx +33 -0
  6. package/codemods/v1-to-v2/transforms/__testfixtures__/component-renames/only.input.tsx +8 -0
  7. package/codemods/v1-to-v2/transforms/__testfixtures__/component-renames/only.output.tsx +8 -0
  8. package/codemods/v1-to-v2/transforms/__testfixtures__/css-class-removals/basic.input.tsx +55 -0
  9. package/codemods/v1-to-v2/transforms/__testfixtures__/css-class-removals/basic.output.tsx +55 -0
  10. package/codemods/v1-to-v2/transforms/__testfixtures__/css-class-renames/basic.input.tsx +60 -0
  11. package/codemods/v1-to-v2/transforms/__testfixtures__/css-class-renames/basic.output.tsx +60 -0
  12. package/codemods/v1-to-v2/transforms/__testfixtures__/icon-name-updates/basic.input.tsx +35 -0
  13. package/codemods/v1-to-v2/transforms/__testfixtures__/icon-name-updates/basic.output.tsx +35 -0
  14. package/codemods/v1-to-v2/transforms/__testfixtures__/icon-name-updates/only.input.tsx +8 -0
  15. package/codemods/v1-to-v2/transforms/__testfixtures__/icon-name-updates/only.output.tsx +8 -0
  16. package/codemods/v1-to-v2/transforms/__testfixtures__/prop-renames/basic.input.tsx +28 -0
  17. package/codemods/v1-to-v2/transforms/__testfixtures__/prop-renames/basic.output.tsx +28 -0
  18. package/codemods/v1-to-v2/transforms/__testfixtures__/prop-renames/only.input.tsx +8 -0
  19. package/codemods/v1-to-v2/transforms/__testfixtures__/prop-renames/only.output.tsx +8 -0
  20. package/codemods/v1-to-v2/transforms/__testfixtures__/prop-value-standardization/basic.input.tsx +37 -0
  21. package/codemods/v1-to-v2/transforms/__testfixtures__/prop-value-standardization/basic.output.tsx +37 -0
  22. package/codemods/v1-to-v2/transforms/__testfixtures__/prop-value-standardization/only.input.tsx +21 -0
  23. package/codemods/v1-to-v2/transforms/__testfixtures__/prop-value-standardization/only.output.tsx +21 -0
  24. package/codemods/v1-to-v2/transforms/__testfixtures__/removed-prop-values/basic.input.tsx +60 -0
  25. package/codemods/v1-to-v2/transforms/__testfixtures__/removed-prop-values/basic.output.tsx +51 -0
  26. package/codemods/v1-to-v2/transforms/__testfixtures__/removed-prop-values/only.input.tsx +8 -0
  27. package/codemods/v1-to-v2/transforms/__testfixtures__/removed-prop-values/only.output.tsx +8 -0
  28. package/codemods/v1-to-v2/transforms/__tests__/component-renames.test.js +15 -0
  29. package/codemods/v1-to-v2/transforms/__tests__/css-class-removals.test.js +6 -0
  30. package/codemods/v1-to-v2/transforms/__tests__/css-class-renames.test.js +6 -0
  31. package/codemods/v1-to-v2/transforms/__tests__/icon-name-updates.test.js +15 -0
  32. package/codemods/v1-to-v2/transforms/__tests__/prop-renames.test.js +15 -0
  33. package/codemods/v1-to-v2/transforms/__tests__/prop-value-standardization.test.js +16 -0
  34. package/codemods/v1-to-v2/transforms/__tests__/removed-prop-values.test.js +15 -0
  35. package/codemods/v1-to-v2/transforms/component-renames.js +166 -0
  36. package/codemods/v1-to-v2/transforms/css-class-removals.js +262 -0
  37. package/codemods/v1-to-v2/transforms/css-class-renames.js +178 -0
  38. package/codemods/v1-to-v2/transforms/icon-name-updates.js +124 -0
  39. package/codemods/v1-to-v2/transforms/prop-renames.js +109 -0
  40. package/codemods/v1-to-v2/transforms/prop-value-standardization.js +143 -0
  41. package/codemods/v1-to-v2/transforms/removed-prop-values.js +206 -0
  42. package/dist/components/Avatar/Avatar.d.ts +5 -1
  43. package/dist/components/Callout/Callout.d.ts +6 -2
  44. package/dist/components/CodeBlock/CodeBlock.d.ts +10 -5
  45. package/dist/components/CodeBlock/code-examples.d.ts +2 -1
  46. package/dist/components/CodeBlock/prism-setup.d.ts +2 -0
  47. package/dist/components/CodeBlock/themes/index.d.ts +1 -2
  48. package/dist/components/CodeBlock/themes/{pdsDark.d.ts → pds.d.ts} +1 -1
  49. package/dist/components/ComparisonList/ComparisonList.d.ts +6 -1
  50. package/dist/components/Dropdown/Dropdown.d.ts +257 -0
  51. package/dist/components/Dropdown/DropdownSelectedIcon.d.ts +7 -0
  52. package/dist/components/FileDiff/FileDiff.d.ts +2 -2
  53. package/dist/components/IdentityBlock/IdentityBlock.d.ts +37 -0
  54. package/dist/components/PantheonLogo/PantheonLogo.d.ts +5 -4
  55. package/dist/components/Popover/Popover.d.ts +5 -1
  56. package/dist/components/ResultCount/ResultCount.d.ts +53 -0
  57. package/dist/components/RowActionsMenu/RowActionsMenu.d.ts +46 -0
  58. package/dist/components/SiteFooter/SiteFooter.d.ts +45 -0
  59. package/dist/components/{navigation/DashboardSearch/DashboardSearch.d.ts → SiteSearch/SiteSearch.d.ts} +6 -11
  60. package/dist/components/SortableList/SortableList.d.ts +8 -0
  61. package/dist/components/SortableList/SortableListHeader.d.ts +7 -0
  62. package/dist/components/SortableList/SortableRow.d.ts +16 -0
  63. package/dist/components/SortableList/sortable-utils.d.ts +19 -0
  64. package/dist/components/SortableList/types.d.ts +142 -0
  65. package/dist/components/SortableList/useSortableTree.d.ts +18 -0
  66. package/dist/components/StatPanel/StatPanel.d.ts +70 -0
  67. package/dist/components/{RefreshChecker/RefreshChecker.d.ts → StatusChecker/StatusChecker.d.ts} +6 -19
  68. package/dist/components/StatusIndicator/StatusIndicator.d.ts +7 -4
  69. package/dist/components/Table/Table.d.ts +356 -17
  70. package/dist/components/TableOfContents/TableOfContents.d.ts +1 -5
  71. package/dist/components/Tag/Tag.d.ts +21 -3
  72. package/dist/components/ThemeSwitcher/ThemeSwitcher.d.ts +29 -8
  73. package/dist/components/Tooltip/Tooltip.d.ts +6 -2
  74. package/dist/components/UtilityBar/UtilityBar.d.ts +26 -0
  75. package/dist/components/badges/Badge/Badge.d.ts +10 -3
  76. package/dist/components/badges/StatusBadge/StatusBadge.d.ts +2 -1
  77. package/dist/components/buttons/Button/Button.d.ts +15 -0
  78. package/dist/components/buttons/ButtonLink/ButtonLink.d.ts +1 -3
  79. package/dist/components/buttons/ClipboardButton/ClipboardButton.d.ts +5 -1
  80. package/dist/components/buttons/CloseButton/CloseButton.d.ts +2 -2
  81. package/dist/components/buttons/FilterButton/FilterButton.d.ts +92 -0
  82. package/dist/components/buttons/IconButton/IconButton.d.ts +13 -1
  83. package/dist/components/buttons/MenuButton/MenuButton.d.ts +53 -19
  84. package/dist/components/buttons/SSOButton/SSOButton.d.ts +9 -1
  85. package/dist/components/buttons/SegmentedButton/SegmentedButton.d.ts +44 -8
  86. package/dist/components/buttons/SelectButton/SelectButton.d.ts +81 -0
  87. package/dist/components/buttons/SplitButton/SplitButton.d.ts +7 -1
  88. package/dist/components/cards/ActionCard/ActionCard.d.ts +64 -0
  89. package/dist/components/cards/Card/Card.d.ts +10 -4
  90. package/dist/components/cards/CardSelect/CardSelect.d.ts +100 -0
  91. package/dist/components/charts/BarChart/BarChart.d.ts +21 -0
  92. package/dist/components/charts/LineChart/LineChart.d.ts +22 -0
  93. package/dist/components/charts/PieChart/PieChart.d.ts +59 -0
  94. package/dist/components/charts/ProportionBar/ProportionBar.d.ts +57 -0
  95. package/dist/components/charts/shared/ChartAccessibleTable.d.ts +17 -0
  96. package/dist/components/charts/shared/ChartLegend.d.ts +31 -0
  97. package/dist/components/charts/shared/ChartSkeleton.d.ts +11 -0
  98. package/dist/components/charts/shared/chart-colors.d.ts +30 -0
  99. package/dist/components/charts/shared/chart-styles.d.ts +24 -0
  100. package/dist/components/charts/shared/formatters.d.ts +12 -0
  101. package/dist/components/charts/shared/types.d.ts +128 -0
  102. package/dist/components/empty-states/HorizontalEmptyState/HorizontalEmptyState.d.ts +13 -8
  103. package/dist/components/empty-states/VerticalEmptyState/VerticalEmptyState.d.ts +3 -2
  104. package/dist/components/icons/Icon/Icon.d.ts +2 -2
  105. package/dist/components/icons/Icon/custom-icons.d.ts +1 -1
  106. package/dist/components/icons/Icon/generated-icon-data.d.ts +226 -16
  107. package/dist/components/icons/PaymentIcon/PaymentIcon.d.ts +7 -3
  108. package/dist/components/icons/PlatformIcon/PlatformIcon.d.ts +6 -6
  109. package/dist/components/inputs/Checkbox/Checkbox.d.ts +3 -3
  110. package/dist/components/inputs/CheckboxFieldset/CheckboxFieldset.d.ts +9 -1
  111. package/dist/components/inputs/CheckboxGroup/CheckboxGroup.d.ts +9 -1
  112. package/dist/components/inputs/Combobox/Combobox.d.ts +17 -7
  113. package/dist/components/inputs/ComboboxMultiselect/ComboboxMultiselect.d.ts +10 -5
  114. package/dist/components/inputs/Datepicker/Datepicker.d.ts +217 -14
  115. package/dist/components/inputs/FileUpload/FileUpload.d.ts +6 -1
  116. package/dist/components/inputs/RadioGroup/RadioGroup.d.ts +10 -2
  117. package/dist/components/inputs/Select/Select.d.ts +11 -2
  118. package/dist/components/inputs/Switch/Switch.d.ts +5 -5
  119. package/dist/components/inputs/TagsInput/TagsInput.d.ts +6 -1
  120. package/dist/components/inputs/TextInput/TextInput.d.ts +4 -4
  121. package/dist/components/inputs/Textarea/Textarea.d.ts +2 -2
  122. package/dist/components/inputs/Timepicker/Timepicker.d.ts +94 -0
  123. package/dist/components/inputs/input-utilities.d.ts +12 -2
  124. package/dist/components/{CTALink → links/CTALink}/CTALink.d.ts +2 -2
  125. package/dist/components/{LinkNewWindow → links/LinkNewWindow}/LinkNewWindow.d.ts +1 -1
  126. package/dist/components/loading-indicators/Spinner/Spinner.d.ts +5 -4
  127. package/dist/components/navigation/ButtonNav/ButtonNav.d.ts +11 -5
  128. package/dist/components/navigation/DropdownMenu/DropdownMenu.d.ts +1 -0
  129. package/dist/components/navigation/Navbar/Navbar.d.ts +9 -21
  130. package/dist/components/navigation/SideNav/SideNav.d.ts +7 -1
  131. package/dist/components/navigation/SideNavGlobal/SideNavGlobal.d.ts +5 -15
  132. package/dist/components/navigation/SideNavGlobal/SideNavGlobalItem.d.ts +15 -1
  133. package/dist/components/navigation/SiteMenu/SiteMenu.d.ts +26 -0
  134. package/dist/components/navigation/SiteMenu/SiteMenuDropdown.d.ts +23 -0
  135. package/dist/components/navigation/TreeNav/TreeNav.d.ts +48 -0
  136. package/dist/components/navigation/UserMenu/UserMenu.d.ts +31 -5
  137. package/dist/components/navigation/WorkspaceSelector/WorkspaceSelector.d.ts +13 -16
  138. package/dist/components/navigation/navigation-utilities.d.ts +15 -2
  139. package/dist/components/notifications/SectionMessage/SectionMessage.d.ts +12 -4
  140. package/dist/components/notifications/Toaster/Toast.d.ts +12 -1
  141. package/dist/components/notifications/Toaster/Toaster.d.ts +16 -7
  142. package/dist/components/notifications/Toaster/useToast.d.ts +2 -0
  143. package/dist/components/overlays/BottomSheet/BottomSheet.d.ts +66 -0
  144. package/dist/components/overlays/BulkActionBar/BulkActionBar.d.ts +48 -0
  145. package/dist/components/overlays/Drawer/Drawer.d.ts +58 -0
  146. package/dist/components/overlays/FullScreenOverlay/FullScreenOverlay.d.ts +45 -0
  147. package/dist/components/{Modal → overlays/Modal}/Modal.d.ts +1 -1
  148. package/dist/components/{Pagination → pagination/Pagination}/Pagination.d.ts +7 -2
  149. package/dist/components/pagination/PaginationChapter/PaginationChapter.d.ts +55 -0
  150. package/dist/components/pagination/PaginationCompact/PaginationCompact.d.ts +67 -0
  151. package/dist/components/panels/ExpansionPanel/ExpansionPanel.d.ts +1 -2
  152. package/dist/components/panels/ExpansionPanelGroup/ExpansionPanelGroup.d.ts +1 -2
  153. package/dist/components/panels/FeaturePanel/FeaturePanel.d.ts +72 -0
  154. package/dist/components/panels/Panel/Panel.d.ts +4 -21
  155. package/dist/components/panels/PanelList/PanelList.d.ts +1 -1
  156. package/dist/components/panels/PanelStack/PanelStack.d.ts +19 -0
  157. package/dist/components/panels/WidgetPanel/WidgetPanel.d.ts +39 -0
  158. package/dist/components/progress-indicators/ProgressBar/ProgressBar.d.ts +4 -5
  159. package/dist/components/progress-indicators/ProgressRing/ProgressRing.d.ts +12 -4
  160. package/dist/components/{FlowSteps/FlowSteps.d.ts → steppers/StepList/StepList.d.ts} +7 -7
  161. package/dist/css/component-css/pds-action-card.css +1 -0
  162. package/dist/css/component-css/pds-avatar.css +1 -1
  163. package/dist/css/component-css/pds-badge.css +1 -1
  164. package/dist/css/component-css/pds-banner.css +1 -1
  165. package/dist/css/component-css/pds-bar-chart.css +1 -0
  166. package/dist/css/component-css/pds-bottom-sheet.css +1 -0
  167. package/dist/css/component-css/pds-branch-diff.css +1 -1
  168. package/dist/css/component-css/pds-breadcrumb.css +1 -1
  169. package/dist/css/component-css/pds-bulk-action-bar.css +1 -0
  170. package/dist/css/component-css/pds-button-link.css +1 -1
  171. package/dist/css/component-css/pds-button-nav.css +1 -1
  172. package/dist/css/component-css/pds-button.css +46 -14
  173. package/dist/css/component-css/pds-callout.css +1 -1
  174. package/dist/css/component-css/pds-card-select.css +2 -0
  175. package/dist/css/component-css/pds-card.css +1 -1
  176. package/dist/css/component-css/pds-chart-legend.css +1 -0
  177. package/dist/css/component-css/pds-chart-wrapper.css +1 -0
  178. package/dist/css/component-css/pds-checkbox-group.css +1 -1
  179. package/dist/css/component-css/pds-checkbox.css +1 -1
  180. package/dist/css/component-css/pds-close-button.css +1 -1
  181. package/dist/css/component-css/pds-code-block-legacy.css +1 -1
  182. package/dist/css/component-css/pds-code-block.css +1 -1
  183. package/dist/css/component-css/pds-combobox-multiselect.css +3 -2
  184. package/dist/css/component-css/pds-combobox.css +1 -1
  185. package/dist/css/component-css/pds-compact-empty-state.css +1 -1
  186. package/dist/css/component-css/pds-comparison-list.css +1 -1
  187. package/dist/css/component-css/pds-cta-link.css +1 -1
  188. package/dist/css/component-css/pds-datepicker.css +1 -3
  189. package/dist/css/component-css/pds-drawer.css +1 -0
  190. package/dist/css/component-css/pds-dropdown-menu.css +2 -2
  191. package/dist/css/component-css/pds-dropdown.css +3 -0
  192. package/dist/css/component-css/pds-expansion-panel-group.css +1 -1
  193. package/dist/css/component-css/pds-expansion-panel.css +2 -1
  194. package/dist/css/component-css/pds-feature-panel.css +15 -0
  195. package/dist/css/component-css/pds-file-diff.css +1 -1
  196. package/dist/css/component-css/pds-file-upload.css +3 -3
  197. package/dist/css/component-css/pds-filter-button.css +1 -0
  198. package/dist/css/component-css/pds-full-screen-overlay.css +1 -0
  199. package/dist/css/component-css/pds-horizontal-empty-state.css +1 -1
  200. package/dist/css/component-css/pds-icon-button.css +22 -14
  201. package/dist/css/component-css/pds-icon-story-only.css +1 -1
  202. package/dist/css/component-css/pds-icon.css +1 -1
  203. package/dist/css/component-css/pds-identity-block.css +1 -0
  204. package/dist/css/component-css/pds-index.css +187 -57
  205. package/dist/css/component-css/pds-inline-message.css +1 -1
  206. package/dist/css/component-css/pds-input-group.css +1 -1
  207. package/dist/css/component-css/pds-input-utilities.css +1 -1
  208. package/dist/css/component-css/pds-line-chart.css +1 -0
  209. package/dist/css/component-css/pds-link-new-window.css +1 -1
  210. package/dist/css/component-css/pds-menu-button.css +7 -1
  211. package/dist/css/component-css/pds-modal.css +1 -1
  212. package/dist/css/component-css/pds-nav-menu.css +1 -5
  213. package/dist/css/component-css/pds-navbar.css +4 -1
  214. package/dist/css/component-css/pds-pagination-chapter.css +3 -0
  215. package/dist/css/component-css/pds-pagination-compact.css +1 -0
  216. package/dist/css/component-css/pds-pagination.css +1 -1
  217. package/dist/css/component-css/pds-panel-list.css +1 -1
  218. package/dist/css/component-css/pds-panel-stack.css +1 -0
  219. package/dist/css/component-css/pds-panel.css +2 -1
  220. package/dist/css/component-css/pds-pantheon-logo.css +1 -1
  221. package/dist/css/component-css/pds-payment-icon.css +1 -1
  222. package/dist/css/component-css/pds-picture.css +1 -1
  223. package/dist/css/component-css/pds-pie-chart.css +1 -0
  224. package/dist/css/component-css/pds-platform-icon.css +1 -1
  225. package/dist/css/component-css/pds-popover.css +1 -1
  226. package/dist/css/component-css/pds-progress-bar.css +1 -1
  227. package/dist/css/component-css/pds-progress-ring.css +1 -1
  228. package/dist/css/component-css/pds-proportion-bar.css +1 -0
  229. package/dist/css/component-css/pds-radio-group.css +1 -1
  230. package/dist/css/component-css/pds-result-count.css +1 -0
  231. package/dist/css/component-css/pds-row-actions-menu.css +2 -0
  232. package/dist/css/component-css/pds-section-message.css +1 -1
  233. package/dist/css/component-css/pds-segmented-button.css +2 -1
  234. package/dist/css/component-css/pds-select-button.css +1 -0
  235. package/dist/css/component-css/pds-select.css +1 -1
  236. package/dist/css/component-css/pds-side-nav-global.css +3 -5
  237. package/dist/css/component-css/pds-side-nav.css +3 -1
  238. package/dist/css/component-css/pds-site-footer.css +1 -1
  239. package/dist/css/component-css/pds-site-search.css +1 -0
  240. package/dist/css/component-css/pds-skeleton.css +1 -1
  241. package/dist/css/component-css/pds-skiplink.css +1 -1
  242. package/dist/css/component-css/pds-sortable-list.css +8 -0
  243. package/dist/css/component-css/pds-spinner.css +1 -1
  244. package/dist/css/component-css/pds-split-button.css +1 -1
  245. package/dist/css/component-css/pds-sso-button.css +2 -2
  246. package/dist/css/component-css/pds-stat-panel.css +1 -0
  247. package/dist/css/component-css/pds-status-badge.css +1 -1
  248. package/dist/css/component-css/pds-status-checker.css +1 -0
  249. package/dist/css/component-css/pds-status-indicator.css +1 -1
  250. package/dist/css/component-css/pds-step-list.css +1 -0
  251. package/dist/css/component-css/pds-stepper.css +5 -1
  252. package/dist/css/component-css/pds-switch.css +6 -11
  253. package/dist/css/component-css/pds-tab-menu.css +2 -2
  254. package/dist/css/component-css/pds-table-of-contents.css +1 -1
  255. package/dist/css/component-css/pds-table.css +7 -1
  256. package/dist/css/component-css/pds-tabs.css +1 -1
  257. package/dist/css/component-css/pds-tag.css +1 -1
  258. package/dist/css/component-css/pds-tags-input.css +1 -1
  259. package/dist/css/component-css/pds-tally.css +1 -1
  260. package/dist/css/component-css/pds-text-input.css +1 -1
  261. package/dist/css/component-css/pds-textarea.css +1 -1
  262. package/dist/css/component-css/pds-theme-switcher.css +1 -1
  263. package/dist/css/component-css/pds-timepicker.css +1 -0
  264. package/dist/css/component-css/pds-toaster.css +1 -1
  265. package/dist/css/component-css/pds-tooltip.css +1 -1
  266. package/dist/css/component-css/pds-tree-nav.css +1 -0
  267. package/dist/css/component-css/pds-user-menu-story-only.css +1 -1
  268. package/dist/css/component-css/pds-user-menu.css +32 -1
  269. package/dist/css/component-css/pds-utility-bar.css +1 -0
  270. package/dist/css/component-css/pds-utility-button.css +3 -1
  271. package/dist/css/component-css/pds-vertical-empty-state.css +1 -1
  272. package/dist/css/component-css/pds-vertical-stepper.css +1 -1
  273. package/dist/css/component-css/pds-video-embed.css +1 -1
  274. package/dist/css/component-css/pds-widget-panel.css +1 -0
  275. package/dist/css/component-css/pds-workspace-selector.css +23 -1
  276. package/dist/css/design-tokens/variables.dark.css +371 -340
  277. package/dist/css/design-tokens/variables.global.css +10 -19
  278. package/dist/css/design-tokens/variables.light.css +367 -316
  279. package/dist/css/design-tokens/variables.typography.css +1 -2
  280. package/dist/css/layout-css/pds-app-layout.css +3 -2
  281. package/dist/css/layout-css/pds-docs-layout.css +1 -1
  282. package/dist/css/layout-css/pds-index.css +3 -9
  283. package/dist/css/layout-css/pds-sidebar-layout.css +13 -0
  284. package/dist/css/layout-css/pds-stat-panel-group.css +1 -0
  285. package/dist/css/layout-css/pds-stepper-layout.css +1 -1
  286. package/dist/css/layout-css/pds-three-item-layout.css +1 -1
  287. package/dist/css/layout-css/pds-two-item-layout.css +1 -1
  288. package/dist/css/pds-components.css +187 -57
  289. package/dist/css/pds-core.css +3 -2
  290. package/dist/css/pds-layouts.css +3 -9
  291. package/dist/index.css +5 -1
  292. package/dist/index.d.ts +103 -7
  293. package/dist/index.js +13227 -4807
  294. package/dist/index.js.map +1 -1
  295. package/dist/index.source.d.ts +53 -41
  296. package/dist/layouts/AppLayout/AppLayout.d.ts +85 -10
  297. package/dist/layouts/DocsLayout/DocsLayout.d.ts +9 -7
  298. package/dist/layouts/SidebarLayout/SidebarLayout.d.ts +36 -7
  299. package/dist/layouts/StatPanelGroup/StatPanelGroup.d.ts +32 -0
  300. package/dist/layouts/StepperLayout/StepperLayout.d.ts +13 -1
  301. package/dist/layouts/ThreeItemLayout/ThreeItemLayout.d.ts +3 -3
  302. package/dist/layouts/TwoItemLayout/TwoItemLayout.d.ts +3 -3
  303. package/dist/libs/components/NavAccordion/NavAccordion.d.ts +27 -0
  304. package/dist/libs/components/NestedOverlayContext.d.ts +14 -0
  305. package/dist/libs/components/StatusDot/StatusDot.d.ts +15 -0
  306. package/dist/libs/components/useOverlayZIndex.d.ts +16 -0
  307. package/dist/libs/components/utils.d.ts +1 -1
  308. package/dist/libs/types/custom-types.d.ts +11 -5
  309. package/dist/libs/types/layout-types.d.ts +5 -1
  310. package/dist/libs/types/navigation-types.d.ts +17 -1
  311. package/dist/svg/anglesDown.svg +3 -0
  312. package/dist/svg/anglesUp.svg +3 -0
  313. package/dist/svg/arrowDownWideShort.svg +3 -0
  314. package/dist/svg/arrowUpShortWide.svg +3 -0
  315. package/dist/svg/barsStaggered.svg +3 -0
  316. package/dist/svg/bookmark.svg +3 -0
  317. package/dist/svg/bookmarkSolid.svg +3 -0
  318. package/dist/svg/box.svg +3 -0
  319. package/dist/svg/circleExclamationSolid.svg +3 -0
  320. package/dist/svg/circleHalfStroke.svg +3 -0
  321. package/dist/svg/circleInfoSolid.svg +3 -0
  322. package/dist/svg/circleQuestionSolid.svg +3 -0
  323. package/dist/svg/claude.svg +3 -0
  324. package/dist/svg/clock.svg +3 -0
  325. package/dist/svg/collapseToCenter.svg +3 -0
  326. package/dist/svg/compress.svg +3 -0
  327. package/dist/svg/diagramVenn.svg +3 -0
  328. package/dist/svg/floppyDisk.svg +3 -0
  329. package/dist/svg/grid.svg +2 -2
  330. package/dist/svg/grid2.svg +3 -0
  331. package/dist/svg/landmark.svg +3 -0
  332. package/dist/svg/move.svg +3 -0
  333. package/dist/svg/octagonExclamation.svg +3 -0
  334. package/dist/svg/openai.svg +3 -0
  335. package/dist/svg/pause.svg +3 -0
  336. package/dist/svg/penPaintbrush.svg +3 -0
  337. package/dist/svg/sidebar.svg +3 -0
  338. package/dist/svg/slider.svg +3 -0
  339. package/dist/svg/squareDashed.svg +3 -0
  340. package/dist/svg/tableColumns.svg +3 -0
  341. package/dist/svg/userSolid.svg +3 -0
  342. package/dist/{layouts → utilities}/FlexContainer/FlexContainer.d.ts +6 -6
  343. package/dist/utilities/GlobalWrapper/GlobalWrapper.d.ts +35 -0
  344. package/dist/utilities/auto-grid/AutoGrid.d.ts +48 -0
  345. package/dist/utilities/context-providers/ThemeContext/ThemeContext.d.ts +113 -0
  346. package/dist/utilities/grid/Grid.d.ts +58 -0
  347. package/dist/utilities/grid/GridItem.d.ts +57 -0
  348. package/dist/utilities/hooks/useDropdown/index.d.ts +1 -0
  349. package/dist/utilities/hooks/useDropdown/useDropdown.d.ts +148 -0
  350. package/dist/utilities/hooks/useIsMobile/useIsMobile.d.ts +16 -0
  351. package/dist/utilities/hooks/useKeyPress/useKeyPress.d.ts +6 -0
  352. package/dist/utilities/hooks/useKeyboardShortcut/useKeyboardShortcut.d.ts +29 -0
  353. package/package.json +78 -46
  354. package/tailwind/README.md +9 -0
  355. package/tailwind/v3/preset.cjs +20 -0
  356. package/tailwind/v4/theme.css +19 -0
  357. package/dist/components/CTASlice/CTASlice.d.ts +0 -43
  358. package/dist/components/CodeBlock/themes/pdsLight.d.ts +0 -2
  359. package/dist/components/DashboardStat/DashboardStat.d.ts +0 -28
  360. package/dist/components/PullQuote/PullQuote.d.ts +0 -34
  361. package/dist/components/SiteDashboardHeading/SiteDashboardHeading.d.ts +0 -62
  362. package/dist/components/SocialLinks/SocialLinks.d.ts +0 -23
  363. package/dist/components/cards/CardHeading/CardHeading.d.ts +0 -31
  364. package/dist/components/cards/CardSelectGroup/CardSelectGroup.d.ts +0 -60
  365. package/dist/components/cards/EmptyStateCard/EmptyStateCard.d.ts +0 -36
  366. package/dist/components/cards/LinksCard/LinksCard.d.ts +0 -29
  367. package/dist/components/cards/LinksCard/links-card-sample-data.d.ts +0 -2
  368. package/dist/components/cards/NewSiteCard/NewSiteCard.d.ts +0 -61
  369. package/dist/components/cards/PaymentCard/PaymentCard.d.ts +0 -47
  370. package/dist/components/cards/PricingCard/PricingCard.d.ts +0 -95
  371. package/dist/components/cards/SiteCard/SiteCard.d.ts +0 -50
  372. package/dist/components/footer/FooterHeading/FooterHeading.d.ts +0 -22
  373. package/dist/components/footer/FooterLinks/FooterLinks.d.ts +0 -26
  374. package/dist/components/footer/SiteFooter/SiteFooter.d.ts +0 -34
  375. package/dist/components/footer/SiteFooter/footer-content.d.ts +0 -1
  376. package/dist/components/navigation/DashboardNav/DashboardNav.d.ts +0 -35
  377. package/dist/components/navigation/DashboardNav/DashboardNavItem.d.ts +0 -24
  378. package/dist/components/navigation/NavMenu/NavMenu.d.ts +0 -33
  379. package/dist/components/navigation/NavMenu/NavMenuDropdown.d.ts +0 -24
  380. package/dist/components/navigation/SideNavCompact/SideNavCompact.d.ts +0 -53
  381. package/dist/components/notifications/NotificationHubIcon/NotificationHubIcon.d.ts +0 -38
  382. package/dist/components/notifications/NotificationsPopover/NotificationsPopover.d.ts +0 -118
  383. package/dist/components/tiles/AvatarTileList/AvatarTileList.d.ts +0 -28
  384. package/dist/components/tiles/Tile/Tile.d.ts +0 -42
  385. package/dist/components/tiles/TileGrid/TileGrid.d.ts +0 -29
  386. package/dist/css/component-css/pds-avatar-tile-list.css +0 -1
  387. package/dist/css/component-css/pds-card-heading.css +0 -1
  388. package/dist/css/component-css/pds-card-select-group.css +0 -1
  389. package/dist/css/component-css/pds-cta-slice.css +0 -1
  390. package/dist/css/component-css/pds-dashboard-nav.css +0 -5
  391. package/dist/css/component-css/pds-dashboard-search.css +0 -1
  392. package/dist/css/component-css/pds-dashboard-stat.css +0 -1
  393. package/dist/css/component-css/pds-empty-state-card.css +0 -1
  394. package/dist/css/component-css/pds-flow-steps.css +0 -1
  395. package/dist/css/component-css/pds-footer-heading.css +0 -1
  396. package/dist/css/component-css/pds-footer-links.css +0 -1
  397. package/dist/css/component-css/pds-links-card.css +0 -1
  398. package/dist/css/component-css/pds-new-site-card.css +0 -1
  399. package/dist/css/component-css/pds-notification-hub-icon.css +0 -1
  400. package/dist/css/component-css/pds-notifications-popover.css +0 -1
  401. package/dist/css/component-css/pds-payment-card.css +0 -1
  402. package/dist/css/component-css/pds-pricing-card-local.css +0 -1
  403. package/dist/css/component-css/pds-pricing-card.css +0 -1
  404. package/dist/css/component-css/pds-pull-quote.css +0 -1
  405. package/dist/css/component-css/pds-refresh-checker.css +0 -1
  406. package/dist/css/component-css/pds-side-nav-compact.css +0 -1
  407. package/dist/css/component-css/pds-site-card.css +0 -1
  408. package/dist/css/component-css/pds-site-dashboard-heading.css +0 -1
  409. package/dist/css/component-css/pds-social-links.css +0 -1
  410. package/dist/css/component-css/pds-tile.css +0 -1
  411. package/dist/css/component-css/pds-tiles-common.css +0 -1
  412. package/dist/css/layout-css/pds-dashboard-global.css +0 -8
  413. package/dist/css/layout-css/pds-dashboard-inner.css +0 -1
  414. package/dist/css/layout-css/pds-flex-container.css +0 -1
  415. package/dist/layouts/DashboardGlobal/DashboardGlobal.d.ts +0 -57
  416. package/dist/layouts/DashboardInner/DashboardInner.d.ts +0 -30
  417. package/dist/layouts/GlobalWrapper/GlobalWrapper.d.ts +0 -19
  418. package/dist/utilities/context-providers/ResponsiveContext/ResponsiveContext.d.ts +0 -6
  419. /package/dist/components/{Skiplink → links/Skiplink}/Skiplink.d.ts +0 -0
  420. /package/dist/components/{Picture → media/Picture}/Picture.d.ts +0 -0
  421. /package/dist/components/{VideoEmbed → media/VideoEmbed}/VideoEmbed.d.ts +0 -0
  422. /package/dist/components/{Pagination → pagination/Pagination}/usePagination.d.ts +0 -0
  423. /package/dist/components/{FlowSteps → steppers/StepList}/example-steps.d.ts +0 -0
  424. /package/dist/svg/{linkSimple.svg → link.svg} +0 -0
  425. /package/dist/svg/{linkSimpleSlash.svg → unlink.svg} +0 -0
  426. /package/dist/{layouts → utilities}/Container/Container.d.ts +0 -0
@@ -0,0 +1,94 @@
1
+ import { ReactNode } from 'react';
2
+ import { CalendarDate } from '@internationalized/date';
3
+ import { ValidationStatus } from '../../../libs/types/input-types';
4
+ import './timepicker.css';
5
+ export type TimepickerSize = 's' | 'm';
6
+ /**
7
+ * Prop types for Timepicker
8
+ */
9
+ export interface TimepickerProps {
10
+ /**
11
+ * Anchor calendar date used for DST-safe conversion math when `timeZone` changes. Defaults to today (in the previous timezone) if omitted — correct for the vast majority of scheduling UIs. Pass a real date (e.g. from Datepicker's selection) for full precision on/near DST transition dates.
12
+ */
13
+ anchorDate?: CalendarDate;
14
+ /**
15
+ * Additional class names
16
+ */
17
+ className?: string;
18
+ /**
19
+ * Optional default value for the field, as a 24-hour "HH:MM" string (e.g. "14:30"). Setting this prop automatically makes the input uncontrolled. Cannot be used in conjunction with the `value` prop.
20
+ */
21
+ defaultValue?: string;
22
+ /**
23
+ * Is the field disabled?
24
+ */
25
+ disabled?: boolean;
26
+ /**
27
+ * Hour format. `12` displays hour + AM/PM (e.g. "12:30 PM"); `24` displays a 24-hour hour segment with no AM/PM (e.g. "13:30").
28
+ */
29
+ hourCycle?: 12 | 24;
30
+ /**
31
+ * Input ID.
32
+ */
33
+ id: string;
34
+ /**
35
+ * Width of the input field in pixels. When omitted, the input fills its container.
36
+ */
37
+ inputWidth?: number;
38
+ /**
39
+ * Input label.
40
+ */
41
+ label: string;
42
+ /**
43
+ * Input message. Used to provide supplemental text. Will be displayed below the input field.
44
+ */
45
+ message?: string | ReactNode;
46
+ /**
47
+ * onBlur event handler. Fires when focus leaves the field entirely (not when it moves between segments).
48
+ */
49
+ onBlur?: () => void;
50
+ /**
51
+ * onChange event handler, called with a 24-hour "HH:MM" string whenever a complete time is entered. Controlled inputs should use this to manage the input value.
52
+ */
53
+ onChange?: (value: string) => void;
54
+ /**
55
+ * onFocus event handler. Fires when focus enters the field.
56
+ */
57
+ onFocus?: () => void;
58
+ /**
59
+ * Is this field required?
60
+ */
61
+ required?: boolean;
62
+ /**
63
+ * Should the label be visible? If false, it will render for screen readers only.
64
+ */
65
+ showLabel?: boolean;
66
+ /**
67
+ * Input size.
68
+ */
69
+ size?: TimepickerSize;
70
+ /**
71
+ * IANA timezone identifier (e.g. "America/Los_Angeles", "UTC"). Drives the auto-derived display label (e.g. "PDT") and, when this prop changes, converts the current value into the new zone using `@internationalized/date` — a real, DST-safe conversion, not just a relabel.
72
+ */
73
+ timeZone?: string;
74
+ /**
75
+ * Optional tooltip text to display additional information.
76
+ */
77
+ tooltipText?: string | null;
78
+ /**
79
+ * Validation message for the input field based on the validation status.
80
+ */
81
+ validationMessage?: string;
82
+ /**
83
+ * Validation status of the input field.
84
+ */
85
+ validationStatus?: ValidationStatus;
86
+ /**
87
+ * Value of the input field, as a 24-hour "HH:MM" string (e.g. "14:30"). Used to set the value of the input field when controlled. Cannot be used in conjunction with the `defaultValue` prop.
88
+ */
89
+ value?: string;
90
+ }
91
+ /**
92
+ * Timepicker UI component
93
+ */
94
+ export declare const Timepicker: ({ anchorDate, className, defaultValue, disabled, hourCycle, id, inputWidth, label, message, onBlur, onChange, onFocus, required, showLabel, size, timeZone, tooltipText, validationMessage, validationStatus, value, }: TimepickerProps) => import("react/jsx-runtime").JSX.Element;
@@ -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;
@@ -40,6 +41,15 @@ interface InputLabelProps {
40
41
  * Label text.
41
42
  */
42
43
  label: string;
44
+ /**
45
+ * Visual treatment of the label/legend text. `'default'` matches other
46
+ * form field labels (medium weight, tight spacing to the field) — use it
47
+ * when the fieldset is one of several inputs on a form. `'heading'` is
48
+ * semibold with more room below it, for cases where the group reads as
49
+ * its own section label rather than a form field among others (e.g. a
50
+ * filter panel's category groups).
51
+ */
52
+ labelVariant?: 'default' | 'heading';
43
53
  /**
44
54
  * Is the field required?
45
55
  */
@@ -53,7 +63,7 @@ interface InputLabelProps {
53
63
  */
54
64
  tooltipText?: string;
55
65
  }
56
- export declare const InputLabel: ({ className, disabled, id, isLegend, isPseudoLabel, label, required, showLabel, tooltipText, }: InputLabelProps) => import("react/jsx-runtime").JSX.Element;
66
+ export declare const InputLabel: ({ className, disabled, id, isLegend, isPseudoLabel, label, labelVariant, required, showLabel, tooltipText, }: InputLabelProps) => import("react/jsx-runtime").JSX.Element;
57
67
  export declare const InputMessage: ({ className, forInputGroup, hasValidationMessage, id, message, validationMessageHasDecorators, validationStatus, }: {
58
68
  className?: string;
59
69
  forInputGroup?: boolean;
@@ -10,9 +10,9 @@ export interface CTALinkProps extends ComponentPropsWithoutRef<'div'> {
10
10
  */
11
11
  linkContent?: ReactNode;
12
12
  /**
13
- * Size of link
13
+ * Size of link. `s` (default) is 14px text; `m` is 16px text.
14
14
  */
15
- size?: 'sm' | 'md';
15
+ size?: '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';
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,20 +10,26 @@ 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
  */
16
20
  className?: string;
17
21
  /**
18
- * Menu items to render.
22
+ * When true, renders a dropdown menu in place of the button group at mobile viewports.
23
+ * The mobile breakpoint is controlled by the `mobileBreakpoint` prop on `GlobalWrapper`.
24
+ * Defaults to `false` — the button group is shown at all breakpoints.
19
25
  */
20
- menuItems?: ButtonNavItem[];
26
+ hasMobileDropdown?: boolean;
21
27
  /**
22
- * Size of the Buttons.
28
+ * Menu items to render.
23
29
  */
24
- size?: 's' | 'm';
30
+ menuItems?: ButtonNavItem[];
25
31
  }
26
32
  /**
27
33
  * ButtonNav UI component
28
34
  */
29
- export declare const ButtonNav: ({ ariaLabel, className, menuItems, size, ...props }: ButtonNavProps) => import("react/jsx-runtime").JSX.Element;
35
+ export declare const ButtonNav: ({ ariaLabel, border, className, hasMobileDropdown, 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 {};
@@ -0,0 +1,48 @@
1
+ import { ComponentPropsWithoutRef, ReactElement } from 'react';
2
+ import { NavigationItem } from '../../../libs/types/navigation-types';
3
+ import './tree-nav.css';
4
+ export type TreeNavItem = NavigationItem & {
5
+ /**
6
+ * A unique identifier for this item — typically its route or URL path (e.g. `/guides/overview`).
7
+ *
8
+ * Required on any item that has children (`links` array). The component uses this to
9
+ * re-find the item's DOM node after a re-render and restore its expanded/collapsed state.
10
+ * Without it, a user-opened nested submenu will collapse whenever the component re-renders.
11
+ *
12
+ * Leaf items (no `links`) do not need `path`.
13
+ */
14
+ path?: string;
15
+ };
16
+ /**
17
+ * Prop types for TreeNav
18
+ */
19
+ export interface TreeNavProps extends ComponentPropsWithoutRef<'nav'> {
20
+ /**
21
+ * Aria label for the navigation.
22
+ */
23
+ ariaLabel: string;
24
+ /**
25
+ * Additional class names
26
+ */
27
+ className?: string;
28
+ /**
29
+ * Heading text. If a link is passed, it will be rendered as a link.
30
+ */
31
+ headingText?: string | ReactElement;
32
+ /**
33
+ * Labels for translatable strings.
34
+ */
35
+ labels?: {
36
+ submenu: string;
37
+ toggle: string;
38
+ };
39
+ /**
40
+ * Menu items to render.
41
+ */
42
+ menuItems: TreeNavItem[];
43
+ }
44
+ /**
45
+ * TreeNav UI component — a multi-level collapsible tree navigation for dense
46
+ * hierarchical content such as documentation sites.
47
+ */
48
+ export declare const TreeNav: ({ ariaLabel, className, headingText, labels, menuItems, ...props }: TreeNavProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,6 @@
1
1
  import { ComponentPropsWithoutRef, ReactNode } from 'react';
2
2
  import { PDSIcon } from '../../icons/Icon/Icon';
3
+ import { ThemeSwitcherProps } from '../../ThemeSwitcher/ThemeSwitcher';
3
4
  import './user-menu.css';
4
5
  /**
5
6
  * Prop types for UserMenuItem
@@ -42,10 +43,39 @@ export interface UserMenuProps extends ComponentPropsWithoutRef<'span'> {
42
43
  * Additional class names.
43
44
  */
44
45
  className?: string;
46
+ /**
47
+ * Opt in to swapping the trigger + floating dropdown panel for an inline
48
+ * accordion at the mobile breakpoint. Defaults to `false` — UserMenu
49
+ * always renders its normal trigger + dropdown otherwise, regardless of
50
+ * viewport. Set this explicitly when placing UserMenu inside a mobile nav
51
+ * menu that provides the accordion's expected layout (e.g. `Navbar`'s own
52
+ * mobile menu) — typically `isMobileAccordion={useIsMobile()}`, using the
53
+ * `useIsMobile` hook, so the swap only takes effect at the mobile
54
+ * breakpoint.
55
+ */
56
+ isMobileAccordion?: boolean;
45
57
  /**
46
58
  * Array of menu items.
47
59
  */
48
60
  menuItems?: UserMenuItem[];
61
+ /**
62
+ * Callback fired when the theme changes. Provide together with `theme` to
63
+ * render the theme switcher row at the top of the menu.
64
+ */
65
+ onThemeChange?: ThemeSwitcherProps['onChange'];
66
+ /**
67
+ * The currently active theme. Provide together with `onThemeChange` to
68
+ * render the theme switcher row at the top of the menu.
69
+ */
70
+ theme?: ThemeSwitcherProps['theme'];
71
+ /**
72
+ * Label for the theme switcher row. Defaults to `'Theme'`.
73
+ */
74
+ themeLabel?: string;
75
+ /**
76
+ * Translation strings for the theme switcher options.
77
+ */
78
+ themeLabelStrings?: ThemeSwitcherProps['labelStrings'];
49
79
  /**
50
80
  * User email address.
51
81
  */
@@ -58,12 +88,8 @@ export interface UserMenuProps extends ComponentPropsWithoutRef<'span'> {
58
88
  * User display name.
59
89
  */
60
90
  userName?: string;
61
- /**
62
- * If true, the workspace selector will be styled and rendered to work with the mobile version of the navbar menu. Defaults to true.
63
- */
64
- withinNavbar?: boolean;
65
91
  }
66
92
  /**
67
93
  * UserMenu UI component
68
94
  */
69
- export declare const UserMenu: ({ ariaLabel, className, menuItems, userEmail, userImageSrc, userName, withinNavbar, ...props }: UserMenuProps) => import("react/jsx-runtime").JSX.Element;
95
+ export declare const UserMenu: ({ ariaLabel, className, isMobileAccordion, menuItems, onThemeChange, theme, themeLabel, themeLabelStrings, userEmail, userImageSrc, userName, ...props }: UserMenuProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,11 +1,6 @@
1
1
  import { ComponentPropsWithoutRef, ReactElement, ReactNode } from 'react';
2
- import { BadgeColor } from '../../badges/Badge/Badge';
2
+ import '@components/Dropdown/dropdown.css';
3
3
  import './workspace-selector.css';
4
- declare const tierConfig: Record<string, {
5
- color: BadgeColor;
6
- label: string;
7
- }>;
8
- export type PlanTiers = keyof typeof tierConfig;
9
4
  export type WorkspaceSelectorItem = {
10
5
  /**
11
6
  * Name of the workspace.
@@ -32,10 +27,6 @@ export type WorkspaceSelectorItem = {
32
27
  * Only used when isRestricted is true.
33
28
  */
34
29
  onRestrictedSelection?: () => void;
35
- /**
36
- * Account plan tier.
37
- */
38
- planTier?: PlanTiers;
39
30
  /**
40
31
  * Visually-hidden label to indicate restricted access.
41
32
  * @default 'Restricted'
@@ -74,6 +65,17 @@ export interface WorkspaceSelectorProps extends ComponentPropsWithoutRef<'span'>
74
65
  * Placeholder text for the filter input.
75
66
  */
76
67
  filterPlaceholder?: string;
68
+ /**
69
+ * Opt in to swapping the trigger + floating dropdown panel for an inline
70
+ * accordion at the mobile breakpoint. Defaults to `false` — WorkspaceSelector
71
+ * always renders its normal trigger + dropdown otherwise, regardless of
72
+ * viewport. Set this explicitly when placing WorkspaceSelector inside a
73
+ * mobile nav menu that provides the accordion's expected layout (e.g.
74
+ * `Navbar`'s own mobile menu) — typically `isMobileAccordion={useIsMobile()}`,
75
+ * using the `useIsMobile` hook, so the swap only takes effect at the
76
+ * mobile breakpoint.
77
+ */
78
+ isMobileAccordion?: boolean;
77
79
  /**
78
80
  * Heading for the workspace dropdown menu.
79
81
  */
@@ -86,10 +88,6 @@ export interface WorkspaceSelectorProps extends ComponentPropsWithoutRef<'span'>
86
88
  * Text to display when no results are found.
87
89
  */
88
90
  noResultsText?: string;
89
- /**
90
- * Is this component located in the top nav? Only applies when using the Navbar component from this toolkit. Defaults to true per design.
91
- */
92
- withinNavbar?: boolean;
93
91
  /**
94
92
  * List of all workspaces for a user.
95
93
  */
@@ -98,5 +96,4 @@ export interface WorkspaceSelectorProps extends ComponentPropsWithoutRef<'span'>
98
96
  /**
99
97
  * WorkspaceSelector UI component
100
98
  */
101
- export declare const WorkspaceSelector: ({ ariaLabel, className, createWorkspaceLink, filterLabel, filterPlaceholder, menuHeading, minFilterItems, noResultsText, withinNavbar, workspaceList, ...props }: WorkspaceSelectorProps) => import("react/jsx-runtime").JSX.Element;
102
- export {};
99
+ export declare const WorkspaceSelector: ({ ariaLabel, className, createWorkspaceLink, filterLabel, filterPlaceholder, isMobileAccordion, menuHeading, minFilterItems, noResultsText, workspaceList, ...props }: WorkspaceSelectorProps) => import("react/jsx-runtime").JSX.Element;
@@ -39,15 +39,28 @@ export declare const isActiveItem: (item: NavigationItem) => boolean;
39
39
  * const inActiveTrail = isActiveTrail(parentItem); // True if parent or any child is active
40
40
  */
41
41
  export declare const isActiveTrail: (item: NavigationItem) => boolean;
42
+ /**
43
+ * Serializes the active state of an entire menu tree into a string signature.
44
+ * The signature changes on any route change — including navigation between two
45
+ * routes under the same top-level item — not just when a different top-level
46
+ * item enters the active trail. Used to reset user-driven expansion overrides
47
+ * so submenu expansion follows the active trail again after navigation.
48
+ * @param items - Array of navigation items to serialize
49
+ * @returns A string signature representing the tree's active state
50
+ * @example
51
+ * const signature = buildActiveSignature(menuItems);
52
+ */
53
+ export declare const buildActiveSignature: (items: NavigationItem[]) => string;
42
54
  /**
43
55
  * Checks if the provided content is an interactive element (link, button, etc.)
44
56
  * @param content - The React content to examine
45
57
  * @returns True if the content is an interactive element, false otherwise
46
- * @description Currently detects:
58
+ * @description Detects:
47
59
  * - Native anchor elements (`<a>`)
48
- * - React Router Link components (by displayName)
60
+ * - React Router Link/NavLink components (by displayName or by `to`/`href` props)
49
61
  * @example
50
62
  * const isInteractive = isInteractiveElement(<Link to="/home">Home</Link>); // true
63
+ * const isInteractive = isInteractiveElement(<NavLink to="/home">Home</NavLink>); // true
51
64
  * const isInteractive = isInteractiveElement(<span>Label</span>); // false
52
65
  * const isInteractive = isInteractiveElement("Plain text"); // false
53
66
  */