@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,100 @@
1
+ import { ComponentPropsWithoutRef, ReactNode } from 'react';
2
+ import { CardBackground, CardPaddingScale } from '../../../libs/types/layout-types';
3
+ import './card-select.css';
4
+ export interface CardOption {
5
+ /**
6
+ * Composable content rendered inside the card. Use `slot="image"` to place an
7
+ * image in the card's image area; any unslotted content becomes the main
8
+ * content area below the label.
9
+ */
10
+ children?: ReactNode;
11
+ /**
12
+ * Unique ID for the option
13
+ * @default ''
14
+ */
15
+ id?: string;
16
+ /**
17
+ * Option label
18
+ */
19
+ label: string | ReactNode;
20
+ /**
21
+ * Option value
22
+ */
23
+ value: string;
24
+ }
25
+ export type CardSelectSize = 'm' | 'l';
26
+ export type CardSelectImageVariant = 'bleed' | 'inset';
27
+ export interface CardSelectProps extends Omit<ComponentPropsWithoutRef<'fieldset'>, 'onChange'> {
28
+ /**
29
+ * Background fill for each card. `default` uses the card surface, `secondary`
30
+ * the secondary surface, and `transparent` removes the fill.
31
+ */
32
+ background?: CardBackground;
33
+ /**
34
+ * Additional class names
35
+ */
36
+ className?: string;
37
+ /**
38
+ * Optional initial selected option value
39
+ */
40
+ defaultValue?: string;
41
+ /**
42
+ * Unique ID for the card select
43
+ */
44
+ id: string;
45
+ /**
46
+ * Controls how a card's image slot fills the card top.
47
+ * - `bleed` (default): image extends to the card edges, top corners rounded only.
48
+ * - `inset`: image has padding on all sides, all corners rounded.
49
+ */
50
+ imageVariant?: CardSelectImageVariant;
51
+ /**
52
+ * Label for the card select group. Renders as the fieldset legend.
53
+ */
54
+ label: string;
55
+ /**
56
+ * Display of the group legend (the `label`). `hidden` visually hides the legend
57
+ * but keeps it accessible to screen readers. Does not affect the per-card
58
+ * labels — use `showCardLabels` for those.
59
+ */
60
+ labelDisplay?: 'left' | 'center' | 'hidden';
61
+ /**
62
+ * Column layout of the cards at breakpoints medium and above.
63
+ */
64
+ layout?: 'auto' | 'twoAcross' | 'threeAcross';
65
+ /**
66
+ * Callback function that will return the updated value from the instance when it changes.
67
+ * Function should have the shape of: `(value) => { <do stuff here> } `.
68
+ */
69
+ onChange?: (value: string) => void;
70
+ /**
71
+ * Array of card options
72
+ */
73
+ options?: CardOption[];
74
+ /**
75
+ * Relative padding for each card's content area.
76
+ */
77
+ padding?: CardPaddingScale;
78
+ /**
79
+ * Show each card's own label text. When `false`, every card's `label` is
80
+ * visually hidden but stays in the DOM as the accessible name for its radio
81
+ * input (still required) — use it when the cards compose their own visible
82
+ * titles. Defaults to `true`.
83
+ */
84
+ showCardLabels?: boolean;
85
+ /**
86
+ * Show the radio-style selection indicator (the circle / check dot) on each
87
+ * card. When `false`, the indicator is hidden and the selected card is shown
88
+ * with a highlight ring and raised elevation instead. The underlying radio
89
+ * inputs remain for keyboard and screen-reader use either way.
90
+ */
91
+ showIndicator?: boolean;
92
+ /**
93
+ * Size of the card label and indicator. Defaults to `'m'`.
94
+ */
95
+ size?: CardSelectSize;
96
+ }
97
+ /**
98
+ * CardSelect UI component
99
+ */
100
+ export declare const CardSelect: ({ background, className, defaultValue, id, imageVariant, label, labelDisplay, layout, onChange, options, padding, showCardLabels, showIndicator, size, ...props }: CardSelectProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,21 @@
1
+ import { ComponentPropsWithoutRef } from 'react';
2
+ import type { BaseChartProps } from '../shared/types';
3
+ import '../shared/chart-wrapper.css';
4
+ import './bar-chart.css';
5
+ export type BarChartLayout = 'horizontal' | 'vertical';
6
+ export type BarChartVariant = 'grouped' | 'stacked';
7
+ export interface BarChartProps extends BaseChartProps, Omit<ComponentPropsWithoutRef<'div'>, 'children'> {
8
+ /** Border radius on bars (default: 2) */
9
+ barRadius?: number;
10
+ /** Bar orientation — horizontal (default, bars go up) or vertical (bars go sideways) */
11
+ layout?: BarChartLayout;
12
+ /** Bar layout variant (default: 'stacked') */
13
+ variant?: BarChartVariant;
14
+ }
15
+ /**
16
+ * BarChart UI component
17
+ *
18
+ * Renders a responsive bar chart with support for stacked or grouped layouts,
19
+ * multiple series, tooltips, and an accessible data table.
20
+ */
21
+ export declare const BarChart: ({ barRadius, chartHeight, chartWidth, className, colorPalette, data, isLoading, isThumbnail, labelStrings, layout, legendVariant, onTimePeriodChange, selectedTimePeriod, series, showAccessibleTable, showAxisLines, showGrid, showLegend, showTooltip, timePeriodOptions, tooltipContent, variant, xAxisLabel, xAxisTickInterval, yAxisDomain, yAxisFormatter, yAxisLabel, yAxisTickInterval, ...props }: BarChartProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,22 @@
1
+ import { ComponentPropsWithoutRef } from 'react';
2
+ import type { AnnotationConfig, BaseChartProps, ReferenceLineConfig } from '../shared/types';
3
+ import '../shared/chart-wrapper.css';
4
+ import './line-chart.css';
5
+ export type LineStyle = 'smooth' | 'straight';
6
+ export interface LineChartProps extends BaseChartProps, Omit<ComponentPropsWithoutRef<'div'>, 'children'> {
7
+ /** Annotation markers (e.g., "TODAY") */
8
+ annotations?: AnnotationConfig[];
9
+ /** Line curve style (default: 'smooth') */
10
+ lineStyle?: LineStyle;
11
+ /** Reference lines (e.g., contract limit) */
12
+ referenceLines?: ReferenceLineConfig[];
13
+ /** Show data points on lines (default: true) */
14
+ showDataPoints?: boolean;
15
+ }
16
+ /**
17
+ * LineChart UI component
18
+ *
19
+ * Renders a responsive line chart with support for multiple series,
20
+ * reference lines, annotations, tooltips, and an accessible data table.
21
+ */
22
+ export declare const LineChart: ({ annotations, chartHeight, chartWidth, className, colorPalette, data, isLoading, isThumbnail, labelStrings, legendVariant, lineStyle, onTimePeriodChange, referenceLines, selectedTimePeriod, series, showAccessibleTable, showAxisLines, showDataPoints, showGrid, showLegend, showTooltip, timePeriodOptions, tooltipContent, xAxisLabel, xAxisTickInterval, yAxisDomain, yAxisFormatter, yAxisLabel, yAxisTickInterval, ...props }: LineChartProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,59 @@
1
+ import { ComponentPropsWithoutRef } from 'react';
2
+ import type { ColorPalette, LegendVariant } from '../shared/types';
3
+ import '../shared/chart-wrapper.css';
4
+ import './pie-chart.css';
5
+ export type PieChartVariant = 'donut' | 'pie';
6
+ export interface PieSlice {
7
+ /** Override default token color (CSS custom property or hex). Not theme-aware — use paletteIndex instead when possible. */
8
+ color?: string;
9
+ /** Display label for legend and tooltip */
10
+ label: string;
11
+ /** Pick a specific color from the selected palette by position (1-based). Theme-aware — automatically adjusts for light/dark mode. */
12
+ paletteIndex?: number;
13
+ /** Numeric value for this slice */
14
+ value: number;
15
+ }
16
+ export interface PieChartLabelStrings {
17
+ /** Accessible description for the hidden data table */
18
+ accessibleTableDescription?: string;
19
+ /** Heading for the empty state */
20
+ emptyStateHeading?: string;
21
+ /** Message body for the empty state */
22
+ emptyStateMessage?: string;
23
+ /** Loading label for screen readers */
24
+ loadingLabel?: string;
25
+ }
26
+ export interface PieChartProps extends Omit<ComponentPropsWithoutRef<'div'>, 'children'> {
27
+ /** Height of the chart area in pixels. Default: 300; 80 when isThumbnail. */
28
+ chartHeight?: number;
29
+ /** Maximum width of the component in pixels. Default: 80 when isThumbnail. */
30
+ chartWidth?: number;
31
+ /** Color palette to use for slice colors (default: 'categorical') */
32
+ colorPalette?: ColorPalette;
33
+ /** Slice data */
34
+ data: PieSlice[];
35
+ /** Show loading skeleton */
36
+ isLoading?: boolean;
37
+ /** Thumbnail mode — hides legend and tooltip, renders at a small fixed size. Individual show* props can override. */
38
+ isThumbnail?: boolean;
39
+ /** Translatable UI strings for i18n. Keys: accessibleTableDescription, emptyStateHeading, emptyStateMessage, loadingLabel. */
40
+ labelStrings?: PieChartLabelStrings;
41
+ /** Legend display style (default: 'inline') */
42
+ legendVariant?: LegendVariant;
43
+ /** Show accessible data table (visually hidden). Defaults to true. */
44
+ showAccessibleTable?: boolean;
45
+ /** Show legend below the chart. Defaults to true; false when isThumbnail is set. */
46
+ showLegend?: boolean;
47
+ /** Show tooltip on hover. Defaults to true; false when isThumbnail is set. */
48
+ showTooltip?: boolean;
49
+ /** Custom value formatter for legend items. Receives the slice value, total, and label. Defaults to showing percentage. */
50
+ valueFormatter?: (value: number, total: number, label: string) => string;
51
+ /** Chart variant (default: 'pie') */
52
+ variant?: PieChartVariant;
53
+ }
54
+ /**
55
+ * PieChart UI component
56
+ *
57
+ * Renders a responsive pie or donut chart showing proportional data across categories.
58
+ */
59
+ export declare const PieChart: ({ chartHeight, chartWidth, className, colorPalette, data, isLoading, isThumbnail, labelStrings, legendVariant, showAccessibleTable, showLegend, showTooltip, valueFormatter, variant, ...props }: PieChartProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,57 @@
1
+ import { ComponentPropsWithoutRef } from 'react';
2
+ import type { ColorPalette } from '../shared/types';
3
+ import '../shared/chart-wrapper.css';
4
+ import './proportion-bar.css';
5
+ export interface ProportionSegment {
6
+ /** Override default token color (CSS custom property or hex). Not theme-aware — use paletteIndex instead when possible. */
7
+ color?: string;
8
+ /** Display label for legend and tooltip */
9
+ label: string;
10
+ /** Pick a specific color from the selected palette by position (1-based). Theme-aware — automatically adjusts for light/dark mode. */
11
+ paletteIndex?: number;
12
+ /** Numeric value for this segment */
13
+ value: number;
14
+ }
15
+ export interface ProportionBarLabelStrings {
16
+ /** Accessible description for the hidden data table */
17
+ accessibleTableDescription?: string;
18
+ /** Heading for the empty state */
19
+ emptyStateHeading?: string;
20
+ /** Message body for the empty state */
21
+ emptyStateMessage?: string;
22
+ /** Loading label for screen readers */
23
+ loadingLabel?: string;
24
+ }
25
+ export interface ProportionBarProps extends Omit<ComponentPropsWithoutRef<'div'>, 'children'> {
26
+ /** Height of the bar track in pixels (default: 16) */
27
+ barHeight?: number;
28
+ /** Maximum width of the component in pixels. The component is responsive and will shrink within this constraint. */
29
+ chartWidth?: number;
30
+ /** Color palette to use for segment colors (default: 'categorical') */
31
+ colorPalette?: ColorPalette;
32
+ /** Segment data — each segment has a label, numeric value, and optional color override */
33
+ data: ProportionSegment[];
34
+ /** Show loading skeleton */
35
+ isLoading?: boolean;
36
+ /** Thumbnail mode — hides legend and tooltip. Individual show* props can override. */
37
+ isThumbnail?: boolean;
38
+ /** Translatable UI strings for i18n. Keys: accessibleTableDescription, emptyStateHeading, emptyStateMessage, loadingLabel. */
39
+ labelStrings?: ProportionBarLabelStrings;
40
+ /** Alignment of the legend (default: 'left') */
41
+ legendAlignment?: 'center' | 'left';
42
+ /** Show accessible data table (visually hidden). Defaults to true. */
43
+ showAccessibleTable?: boolean;
44
+ /** Show legend below the bar. Defaults to true; false when isThumbnail is set. */
45
+ showLegend?: boolean;
46
+ /** Show tooltip on hover. Defaults to true; false when isThumbnail is set. */
47
+ showTooltip?: boolean;
48
+ /** Custom value formatter for legend items. Receives the segment value, total, and label. Defaults to showing percentage. */
49
+ valueFormatter?: (value: number, total: number, label: string) => string;
50
+ }
51
+ /**
52
+ * ProportionBar UI component
53
+ *
54
+ * Renders a single horizontal bar divided into colored segments, showing
55
+ * the composition of a total. Functions as a linearized pie chart.
56
+ */
57
+ export declare const ProportionBar: ({ barHeight, chartWidth, className, colorPalette, data, isLoading, isThumbnail, labelStrings, legendAlignment, showAccessibleTable, showLegend, showTooltip, valueFormatter, ...props }: ProportionBarProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,17 @@
1
+ import type { ChartDataPoint, SeriesConfig } from './types';
2
+ interface ChartAccessibleTableProps {
3
+ /** Chart data points */
4
+ data: ChartDataPoint[];
5
+ /** Accessible description for the table */
6
+ description: string;
7
+ /** Series definitions */
8
+ series: SeriesConfig[];
9
+ /** Optional value formatter */
10
+ valueFormatter?: (value: number) => string;
11
+ }
12
+ /**
13
+ * Renders a visually-hidden HTML table containing chart data
14
+ * for screen reader accessibility.
15
+ */
16
+ export declare const ChartAccessibleTable: ({ data, description, series, valueFormatter, }: ChartAccessibleTableProps) => import("react/jsx-runtime").JSX.Element;
17
+ export {};
@@ -0,0 +1,31 @@
1
+ import type { ChartDataPoint, SeriesConfig } from './types';
2
+ import './chart-legend.css';
3
+ export type LegendVariant = 'inline' | 'table';
4
+ interface ChartLegendProps {
5
+ /**
6
+ * Hides the legend table from assistive technology. Set this when an
7
+ * accessible data table already discloses the same data, making the
8
+ * visible legend table purely a sighted-user convenience.
9
+ */
10
+ ariaHidden?: boolean;
11
+ /** Chart data — used to calculate totals for table variant */
12
+ data?: ChartDataPoint[];
13
+ /** Series definitions */
14
+ series: SeriesConfig[];
15
+ /** Colors resolved from tokens */
16
+ seriesColors: string[];
17
+ /** Table header for the totals column */
18
+ tableHeader?: string;
19
+ /** Formatter for total values in table variant */
20
+ valueFormatter?: (value: number) => string;
21
+ /** Legend display style (default: 'inline') */
22
+ variant?: LegendVariant;
23
+ }
24
+ /**
25
+ * ChartLegend component
26
+ *
27
+ * Renders a chart legend in either inline (horizontal list) or
28
+ * table (rows with totals) format.
29
+ */
30
+ export declare const ChartLegend: ({ ariaHidden, data, series, seriesColors, tableHeader, valueFormatter, variant, }: ChartLegendProps) => import("react/jsx-runtime").JSX.Element;
31
+ export {};
@@ -0,0 +1,11 @@
1
+ import type { LegendVariant } from './types';
2
+ export interface ChartSkeletonProps {
3
+ /** Optional border radius for the skeleton bar area (e.g. 'var(--pds-border-radius-bar)'). When provided, a rectangular skeleton is clipped to this radius. */
4
+ borderRadius?: string;
5
+ height: number;
6
+ /** Alignment of the inline legend skeleton (default: 'center') */
7
+ legendAlignment?: 'center' | 'left';
8
+ legendVariant?: LegendVariant;
9
+ showLegend?: boolean;
10
+ }
11
+ export declare const ChartSkeleton: ({ borderRadius, height, legendAlignment, legendVariant, showLegend, }: ChartSkeletonProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,30 @@
1
+ import { RefObject } from 'react';
2
+ import type { ColorPalette } from './types';
3
+ /**
4
+ * Strips fill-only steps from palettes that have them, returning only standalone-safe colors.
5
+ * Bar and line charts should always use this before rendering series colors.
6
+ */
7
+ export declare const toStandaloneColors: (palette: ColorPalette, colors: string[]) => string[];
8
+ /**
9
+ * Normalizes a paletteIndex for palettes that have fill-only steps.
10
+ * Clamps fill-only step numbers (e.g. 1–2 on sequential-blue) to the first safe step,
11
+ * then adjusts for the slice offset so the number still maps correctly into the sliced array.
12
+ * Non-restricted palettes pass through unchanged.
13
+ */
14
+ export declare const clampPaletteIndex: (palette: ColorPalette, paletteIndex: number | undefined) => number | undefined;
15
+ /**
16
+ * Get color for a series by index, cycling through palette if needed.
17
+ * Priority: customColor (hex) > paletteIndex (theme-aware) > auto-assigned.
18
+ */
19
+ export declare const getSeriesColor: (index: number, palette: string[], customColor?: string, paletteIndex?: number) => string;
20
+ /**
21
+ * Resolve palette token colors from computed styles on an element.
22
+ * Falls back to hex values if tokens are not available.
23
+ */
24
+ export declare const resolveTokenColors: (element: HTMLElement | null, paletteName: ColorPalette) => string[];
25
+ /**
26
+ * Hook to resolve chart colors from design tokens at runtime.
27
+ * Falls back to hex values when tokens are not loaded (e.g., SSR).
28
+ * Re-resolves when the theme changes (via data-theme attribute).
29
+ */
30
+ export declare const useChartColors: (containerRef: RefObject<HTMLElement | null>, paletteName?: ColorPalette) => string[];
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Shared Recharts style configuration using PDS design tokens.
3
+ * Keeps all chart styling in one place rather than split between CSS and JS.
4
+ */
5
+ export declare const axisTickStyle: {
6
+ fill: string;
7
+ fontFamily: string;
8
+ fontSize: string;
9
+ };
10
+ export declare const axisLabelStyle: {
11
+ fill: string;
12
+ fontFamily: string;
13
+ fontSize: string;
14
+ fontWeight: string;
15
+ };
16
+ export declare const gridStroke = "var(--pds-color-border-default)";
17
+ /**
18
+ * Surface-color gap between touching marks (stacked bar segments). Draws as a
19
+ * stroke around each segment, but since adjacent segments share the exact
20
+ * same boundary line, the overlapping strokes read as a single thin gap
21
+ * rather than a border — see the dataviz "surface gap" spec.
22
+ */
23
+ export declare const stackedSegmentGapStroke = "var(--pds-color-surface-default)";
24
+ export declare const stackedSegmentGapWidth = 1;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Format a number with K/M/B suffixes for chart axis labels.
3
+ */
4
+ export declare const formatCompactNumber: (value: number) => string;
5
+ /**
6
+ * Format a number with locale-aware thousand separators.
7
+ */
8
+ export declare const formatLocaleNumber: (value: number) => string;
9
+ /**
10
+ * Format a number as a percentage.
11
+ */
12
+ export declare const formatPercent: (value: number) => string;
@@ -0,0 +1,128 @@
1
+ import type { ReactNode } from 'react';
2
+ export interface ChartDataPoint {
3
+ /** One or more numeric series values, keyed by series name */
4
+ [key: string]: number | string;
5
+ /** X-axis label */
6
+ label: string;
7
+ }
8
+ export type StrokeStyle = 'dashed' | 'solid';
9
+ export interface SeriesConfig {
10
+ /** Override default token color (CSS custom property or hex). Not theme-aware — use paletteIndex for theme-aware overrides. */
11
+ color?: string;
12
+ /** Key matching a property in ChartDataPoint */
13
+ dataKey: string;
14
+ /** Display label for legend/tooltip */
15
+ label: string;
16
+ /** Pick a specific color from the selected palette by position (1-based). Theme-aware — automatically adjusts for light/dark mode. */
17
+ paletteIndex?: number;
18
+ /** Line style (LineChart only) */
19
+ strokeStyle?: StrokeStyle;
20
+ }
21
+ export interface ReferenceLineConfig {
22
+ /** Color override */
23
+ color?: string;
24
+ /** Display label */
25
+ label: string;
26
+ /** Line style */
27
+ strokeStyle?: StrokeStyle;
28
+ /** Y-axis value where line appears */
29
+ value: number;
30
+ }
31
+ export interface AnnotationConfig {
32
+ /** X-axis label value to annotate */
33
+ atLabel: string;
34
+ /** Color override */
35
+ color?: string;
36
+ /** Line style */
37
+ strokeStyle?: StrokeStyle;
38
+ /** Display text */
39
+ text: string;
40
+ }
41
+ export interface TimePeriodOption {
42
+ /** Display label ("Last 30 Days") */
43
+ label: string;
44
+ /** Value identifier */
45
+ value: string;
46
+ }
47
+ export type ColorPalette = 'categorical' | 'diverging-a' | 'diverging-b' | 'sequential-blue' | 'sequential-gray' | 'single' | 'status';
48
+ export type LegendVariant = 'inline' | 'table';
49
+ export interface TooltipEntry {
50
+ /** Series bar/line color */
51
+ color: string;
52
+ /** Series data key */
53
+ dataKey: string;
54
+ /** Series display name */
55
+ name: string;
56
+ /** Data value */
57
+ value: number;
58
+ }
59
+ export interface TooltipPayload {
60
+ /** All series entries for this x-axis position */
61
+ entries: TooltipEntry[];
62
+ /** X-axis label */
63
+ label: string;
64
+ }
65
+ export type YAxisDomainItem = number | string | ((dataMax: number) => number);
66
+ export type YAxisDomain = [YAxisDomainItem, YAxisDomainItem];
67
+ export interface ChartLabelStrings {
68
+ /** Accessible description for the hidden data table. */
69
+ accessibleTableDescription?: string;
70
+ /** Heading for the empty state. */
71
+ emptyStateHeading?: string;
72
+ /** Message body for the empty state. */
73
+ emptyStateMessage?: string;
74
+ /** Table header for the totals column when legendVariant is 'table'. */
75
+ legendTableHeader?: string;
76
+ /** Loading label for screen readers. */
77
+ loadingLabel?: string;
78
+ }
79
+ export interface BaseChartProps {
80
+ /** Height of the chart area in pixels. Does not include the legend, header, or accessible table. */
81
+ chartHeight?: number;
82
+ /** Maximum width of the chart component in pixels. The chart is responsive and will shrink within this constraint. */
83
+ chartWidth?: number;
84
+ /** Color palette to use for series colors (default: 'categorical') */
85
+ colorPalette?: ColorPalette;
86
+ /** Chart data points */
87
+ data: ChartDataPoint[];
88
+ /** Show loading state */
89
+ isLoading?: boolean;
90
+ /** Thumbnail mode — hides grid, axes, legend, tooltips, and reduces chart height. Individual show* props can override. */
91
+ isThumbnail?: boolean;
92
+ /** Translatable UI strings. Provide overrides for i18n. */
93
+ labelStrings?: ChartLabelStrings;
94
+ /** Legend display style (default: 'inline') */
95
+ legendVariant?: LegendVariant;
96
+ /** Callback when time period changes */
97
+ onTimePeriodChange?: (value: string) => void;
98
+ /** Currently selected time period */
99
+ selectedTimePeriod?: string;
100
+ /** Series definitions */
101
+ series: SeriesConfig[];
102
+ /** Show accessible data table (visually hidden). Defaults to true regardless of isThumbnail. */
103
+ showAccessibleTable?: boolean;
104
+ /** Show axis baseline lines. Defaults to true; false when isThumbnail is set. */
105
+ showAxisLines?: boolean;
106
+ /** Show grid lines. Defaults to true; false when isThumbnail is set. */
107
+ showGrid?: boolean;
108
+ /** Show legend. Defaults to true; false when isThumbnail is set. */
109
+ showLegend?: boolean;
110
+ /** Show tooltip on hover. Defaults to true; false when isThumbnail is set. */
111
+ showTooltip?: boolean;
112
+ /** Time period options for built-in selector */
113
+ timePeriodOptions?: TimePeriodOption[];
114
+ /** Custom tooltip renderer. Receives normalized payload and replaces the built-in tooltip. */
115
+ tooltipContent?: (payload: TooltipPayload) => ReactNode;
116
+ /** X-axis label */
117
+ xAxisLabel?: string;
118
+ /** How often to show x-axis ticks. A number n shows every nth tick (e.g. 1 = every other). Defaults to auto. */
119
+ xAxisTickInterval?: number | 'preserveStart' | 'preserveEnd' | 'preserveStartEnd';
120
+ /** Override the Y-axis scale bounds. Accepts a tuple of [min, max] where each can be a number, 'auto', 'dataMin', 'dataMax', or a function receiving the data max. */
121
+ yAxisDomain?: YAxisDomain;
122
+ /** Custom Y-axis tick formatter */
123
+ yAxisFormatter?: (value: number) => string;
124
+ /** Y-axis label */
125
+ yAxisLabel?: string;
126
+ /** How often to show y-axis ticks. A number n shows every nth tick (e.g. 1 = every other). Defaults to auto. */
127
+ yAxisTickInterval?: number | 'preserveStart' | 'preserveEnd' | 'preserveStartEnd';
128
+ }
@@ -1,6 +1,6 @@
1
1
  import { ComponentPropsWithoutRef, ReactNode } from 'react';
2
2
  import { HeadingLevel } from '../../../libs/types/custom-types';
3
- import { VideoEmbedProps } from '../../VideoEmbed/VideoEmbed';
3
+ import { VideoEmbedProps } from '../../media/VideoEmbed/VideoEmbed';
4
4
  import './horizontal-empty-state.css';
5
5
  /**
6
6
  * Prop types for HorizontalEmptyState
@@ -19,6 +19,13 @@ export interface HorizontalEmptyStateProps extends ComponentPropsWithoutRef<'div
19
19
  * This should be a Button, ButtonLink, or two items wrapped in a `pds-button-group` div.
20
20
  */
21
21
  ctaRegion?: ReactNode;
22
+ /**
23
+ * Adds inline-start padding to the content block so its text aligns with
24
+ * the content of cards placed below it (the image/video stays flush with
25
+ * the container edge). Opt in when this empty state sits directly above a
26
+ * row of cards; omit it when the component is used on its own.
27
+ */
28
+ hasIndentedContent?: boolean;
22
29
  /**
23
30
  * heading to explain the empty state.
24
31
  */
@@ -43,14 +50,12 @@ export interface HorizontalEmptyStateProps extends ComponentPropsWithoutRef<'div
43
50
  * Default is '40%'.
44
51
  */
45
52
  imageWidth?: string;
46
- /**
47
- * Will this be rendered within a panel?
48
- * If true, the image and heading will be scaled down to fit within the panel.
49
- */
50
- isWithinPanel?: boolean;
51
53
  /**
52
54
  * Maximum width of the empty state container (CSS value, e.g., '1200px', '80rem', '90%').
53
- * Default is '1200px'.
55
+ * Default is '100%', so the component fills whatever container it's
56
+ * placed in (the dashboard's `AppLayout` already constrains page width).
57
+ * Pass a narrower value for standalone, full-page usage with no other
58
+ * width constraint in place.
54
59
  */
55
60
  maxWidth?: string;
56
61
  /**
@@ -71,4 +76,4 @@ export interface HorizontalEmptyStateProps extends ComponentPropsWithoutRef<'div
71
76
  /**
72
77
  * HorizontalEmptyState UI component
73
78
  */
74
- export declare const HorizontalEmptyState: ({ alignment, className, ctaRegion, heading, headingLevel, image, imageMarginLeft, imageWidth, isWithinPanel, maxWidth, message, video, ...props }: HorizontalEmptyStateProps) => import("react/jsx-runtime").JSX.Element;
79
+ export declare const HorizontalEmptyState: ({ alignment, className, ctaRegion, hasIndentedContent, heading, headingLevel, image, imageMarginLeft, imageWidth, maxWidth, message, video, ...props }: HorizontalEmptyStateProps) => import("react/jsx-runtime").JSX.Element;
@@ -24,10 +24,11 @@ export interface VerticalEmptyStateProps extends ComponentPropsWithoutRef<'div'>
24
24
  headingLevel?: HeadingLevel;
25
25
  /**
26
26
  * PDS illustration image to display above the heading.
27
- * Should be a link to an SVG file, either from Brandfolder or local.
27
+ * Can be a string (a link to an SVG file, either from Brandfolder or
28
+ * local) or a React node (e.g. a Spinner, for in-progress empty states).
28
29
  * See full documentation for details.
29
30
  */
30
- image?: string;
31
+ image?: string | ReactNode;
31
32
  /**
32
33
  * Height of the image (CSS value like '200px', '50%', etc.)
33
34
  */
@@ -22,7 +22,7 @@ export interface IconProps extends ComponentPropsWithoutRef<'svg'> {
22
22
  /**
23
23
  * Which size of icon to render
24
24
  */
25
- iconSize?: IconSize;
25
+ size?: IconSize;
26
26
  /**
27
27
  * Vertical align value
28
28
  */
@@ -31,4 +31,4 @@ export interface IconProps extends ComponentPropsWithoutRef<'svg'> {
31
31
  /**
32
32
  * A component used to display an icon.
33
33
  */
34
- export declare const Icon: ({ className, display, iconName, iconSize, style, verticalAlign, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
34
+ export declare const Icon: ({ className, display, iconName, size, style, verticalAlign, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
@@ -26,7 +26,7 @@
26
26
  * serialized by the generate script.
27
27
  *
28
28
  * Testing:
29
- * - Check the icon at all sizes (xs through 3xl) in Storybook
29
+ * - Check the icon at all sizes (s through 3xl) in Storybook
30
30
  * - Verify it looks balanced next to FA icons at the same size
31
31
  */
32
32
  import React from 'react';