@pantheon-systems/pds-toolkit-react 2.0.0-alpha.4 → 2.0.0-alpha.41

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 (379) hide show
  1. package/bin/pds-codemod.cjs +58 -0
  2. package/codemods/v1-to-v2/mappings.json +1602 -0
  3. package/codemods/v1-to-v2/transforms/__testfixtures__/component-renames/basic.input.tsx +33 -0
  4. package/codemods/v1-to-v2/transforms/__testfixtures__/component-renames/basic.output.tsx +33 -0
  5. package/codemods/v1-to-v2/transforms/__testfixtures__/component-renames/only.input.tsx +8 -0
  6. package/codemods/v1-to-v2/transforms/__testfixtures__/component-renames/only.output.tsx +8 -0
  7. package/codemods/v1-to-v2/transforms/__testfixtures__/css-class-removals/basic.input.tsx +31 -0
  8. package/codemods/v1-to-v2/transforms/__testfixtures__/css-class-removals/basic.output.tsx +31 -0
  9. package/codemods/v1-to-v2/transforms/__testfixtures__/css-class-renames/basic.input.tsx +31 -0
  10. package/codemods/v1-to-v2/transforms/__testfixtures__/css-class-renames/basic.output.tsx +31 -0
  11. package/codemods/v1-to-v2/transforms/__testfixtures__/icon-name-updates/basic.input.tsx +35 -0
  12. package/codemods/v1-to-v2/transforms/__testfixtures__/icon-name-updates/basic.output.tsx +35 -0
  13. package/codemods/v1-to-v2/transforms/__testfixtures__/icon-name-updates/only.input.tsx +8 -0
  14. package/codemods/v1-to-v2/transforms/__testfixtures__/icon-name-updates/only.output.tsx +8 -0
  15. package/codemods/v1-to-v2/transforms/__testfixtures__/prop-renames/basic.input.tsx +28 -0
  16. package/codemods/v1-to-v2/transforms/__testfixtures__/prop-renames/basic.output.tsx +28 -0
  17. package/codemods/v1-to-v2/transforms/__testfixtures__/prop-renames/only.input.tsx +8 -0
  18. package/codemods/v1-to-v2/transforms/__testfixtures__/prop-renames/only.output.tsx +8 -0
  19. package/codemods/v1-to-v2/transforms/__testfixtures__/prop-value-standardization/basic.input.tsx +36 -0
  20. package/codemods/v1-to-v2/transforms/__testfixtures__/prop-value-standardization/basic.output.tsx +36 -0
  21. package/codemods/v1-to-v2/transforms/__testfixtures__/prop-value-standardization/only.input.tsx +21 -0
  22. package/codemods/v1-to-v2/transforms/__testfixtures__/prop-value-standardization/only.output.tsx +21 -0
  23. package/codemods/v1-to-v2/transforms/__testfixtures__/removed-prop-values/basic.input.tsx +60 -0
  24. package/codemods/v1-to-v2/transforms/__testfixtures__/removed-prop-values/basic.output.tsx +51 -0
  25. package/codemods/v1-to-v2/transforms/__testfixtures__/removed-prop-values/only.input.tsx +8 -0
  26. package/codemods/v1-to-v2/transforms/__testfixtures__/removed-prop-values/only.output.tsx +8 -0
  27. package/codemods/v1-to-v2/transforms/__tests__/component-renames.test.js +15 -0
  28. package/codemods/v1-to-v2/transforms/__tests__/css-class-removals.test.js +6 -0
  29. package/codemods/v1-to-v2/transforms/__tests__/css-class-renames.test.js +6 -0
  30. package/codemods/v1-to-v2/transforms/__tests__/icon-name-updates.test.js +15 -0
  31. package/codemods/v1-to-v2/transforms/__tests__/prop-renames.test.js +15 -0
  32. package/codemods/v1-to-v2/transforms/__tests__/prop-value-standardization.test.js +16 -0
  33. package/codemods/v1-to-v2/transforms/__tests__/removed-prop-values.test.js +15 -0
  34. package/codemods/v1-to-v2/transforms/component-renames.js +166 -0
  35. package/codemods/v1-to-v2/transforms/css-class-removals.js +192 -0
  36. package/codemods/v1-to-v2/transforms/css-class-renames.js +114 -0
  37. package/codemods/v1-to-v2/transforms/icon-name-updates.js +124 -0
  38. package/codemods/v1-to-v2/transforms/prop-renames.js +109 -0
  39. package/codemods/v1-to-v2/transforms/prop-value-standardization.js +143 -0
  40. package/codemods/v1-to-v2/transforms/removed-prop-values.js +206 -0
  41. package/dist/components/Avatar/Avatar.d.ts +6 -2
  42. package/dist/components/Callout/Callout.d.ts +6 -2
  43. package/dist/components/CodeBlock/CodeBlock.d.ts +10 -5
  44. package/dist/components/CodeBlock/code-examples.d.ts +2 -1
  45. package/dist/components/CodeBlock/themes/index.d.ts +1 -2
  46. package/dist/components/CodeBlock/themes/{pdsDark.d.ts → pds.d.ts} +1 -1
  47. package/dist/components/ComparisonList/ComparisonList.d.ts +6 -1
  48. package/dist/components/Dropdown/Dropdown.d.ts +186 -0
  49. package/dist/components/Dropdown/DropdownSelectedIcon.d.ts +7 -0
  50. package/dist/components/FileDiff/FileDiff.d.ts +2 -2
  51. package/dist/components/IdentityBlock/IdentityBlock.d.ts +37 -0
  52. package/dist/components/PantheonLogo/PantheonLogo.d.ts +5 -4
  53. package/dist/components/Popover/Popover.d.ts +5 -1
  54. package/dist/components/SiteFooter/SiteFooter.d.ts +41 -0
  55. package/dist/components/{navigation/DashboardSearch/DashboardSearch.d.ts → SiteSearch/SiteSearch.d.ts} +6 -11
  56. package/dist/components/SortableList/SortableList.d.ts +8 -0
  57. package/dist/components/SortableList/SortableListHeader.d.ts +7 -0
  58. package/dist/components/SortableList/SortableRow.d.ts +16 -0
  59. package/dist/components/SortableList/sortable-utils.d.ts +19 -0
  60. package/dist/components/SortableList/types.d.ts +142 -0
  61. package/dist/components/SortableList/useSortableTree.d.ts +18 -0
  62. package/dist/components/{RefreshChecker/RefreshChecker.d.ts → StatusChecker/StatusChecker.d.ts} +5 -19
  63. package/dist/components/StatusIndicator/StatusIndicator.d.ts +8 -5
  64. package/dist/components/Table/Table.d.ts +247 -17
  65. package/dist/components/TableOfContents/TableOfContents.d.ts +1 -5
  66. package/dist/components/Tag/Tag.d.ts +17 -3
  67. package/dist/components/ThemeSwitcher/ThemeSwitcher.d.ts +29 -8
  68. package/dist/components/Tooltip/Tooltip.d.ts +6 -2
  69. package/dist/components/UtilityBar/UtilityBar.d.ts +26 -0
  70. package/dist/components/badges/Badge/Badge.d.ts +28 -0
  71. package/dist/components/badges/StatusBadge/StatusBadge.d.ts +2 -1
  72. package/dist/components/buttons/Button/Button.d.ts +15 -0
  73. package/dist/components/buttons/ButtonLink/ButtonLink.d.ts +1 -3
  74. package/dist/components/buttons/ClipboardButton/ClipboardButton.d.ts +5 -1
  75. package/dist/components/buttons/CloseButton/CloseButton.d.ts +4 -4
  76. package/dist/components/buttons/FilterButton/FilterButton.d.ts +82 -0
  77. package/dist/components/buttons/IconButton/IconButton.d.ts +12 -0
  78. package/dist/components/buttons/MenuButton/MenuButton.d.ts +21 -13
  79. package/dist/components/buttons/SegmentedButton/SegmentedButton.d.ts +44 -8
  80. package/dist/components/cards/ActionCard/ActionCard.d.ts +64 -0
  81. package/dist/components/cards/Card/Card.d.ts +11 -4
  82. package/dist/components/cards/{CardSelectGroup/CardSelectGroup.d.ts → CardSelect/CardSelect.d.ts} +13 -8
  83. package/dist/components/charts/BarChart/BarChart.d.ts +21 -0
  84. package/dist/components/charts/LineChart/LineChart.d.ts +22 -0
  85. package/dist/components/charts/PieChart/PieChart.d.ts +59 -0
  86. package/dist/components/charts/ProportionBar/ProportionBar.d.ts +57 -0
  87. package/dist/components/charts/shared/ChartAccessibleTable.d.ts +17 -0
  88. package/dist/components/charts/shared/ChartLegend.d.ts +25 -0
  89. package/dist/components/charts/shared/ChartSkeleton.d.ts +11 -0
  90. package/dist/components/charts/shared/chart-colors.d.ts +30 -0
  91. package/dist/components/charts/shared/chart-styles.d.ts +16 -0
  92. package/dist/components/charts/shared/formatters.d.ts +12 -0
  93. package/dist/components/charts/shared/types.d.ts +128 -0
  94. package/dist/components/empty-states/HorizontalEmptyState/HorizontalEmptyState.d.ts +1 -1
  95. package/dist/components/icons/Icon/Icon.d.ts +2 -2
  96. package/dist/components/icons/Icon/custom-icons.d.ts +1 -1
  97. package/dist/components/icons/Icon/generated-icon-data.d.ts +191 -16
  98. package/dist/components/icons/PaymentIcon/PaymentIcon.d.ts +7 -3
  99. package/dist/components/icons/PlatformIcon/PlatformIcon.d.ts +6 -6
  100. package/dist/components/inputs/Checkbox/Checkbox.d.ts +3 -3
  101. package/dist/components/inputs/Combobox/Combobox.d.ts +17 -7
  102. package/dist/components/inputs/ComboboxMultiselect/ComboboxMultiselect.d.ts +10 -5
  103. package/dist/components/inputs/Datepicker/Datepicker.d.ts +31 -8
  104. package/dist/components/inputs/FileUpload/FileUpload.d.ts +6 -1
  105. package/dist/components/inputs/RadioGroup/RadioGroup.d.ts +1 -1
  106. package/dist/components/inputs/Select/Select.d.ts +11 -2
  107. package/dist/components/inputs/Select/select-sample-data.d.ts +1 -0
  108. package/dist/components/inputs/Switch/Switch.d.ts +1 -17
  109. package/dist/components/inputs/TagsInput/TagsInput.d.ts +6 -1
  110. package/dist/components/inputs/TextInput/TextInput.d.ts +5 -1
  111. package/dist/components/inputs/Textarea/Textarea.d.ts +5 -1
  112. package/dist/components/inputs/input-utilities.d.ts +5 -4
  113. package/dist/components/{CTALink → links/CTALink}/CTALink.d.ts +1 -1
  114. package/dist/components/{LinkNewWindow → links/LinkNewWindow}/LinkNewWindow.d.ts +1 -1
  115. package/dist/components/loading-indicators/Spinner/Spinner.d.ts +5 -4
  116. package/dist/components/navigation/ButtonNav/ButtonNav.d.ts +5 -5
  117. package/dist/components/navigation/DropdownMenu/DropdownMenu.d.ts +1 -0
  118. package/dist/components/navigation/Navbar/Navbar.d.ts +9 -21
  119. package/dist/components/navigation/SideNav/SideNav.d.ts +7 -1
  120. package/dist/components/navigation/SideNavGlobal/SideNavGlobal.d.ts +5 -15
  121. package/dist/components/navigation/SideNavGlobal/SideNavGlobalItem.d.ts +15 -1
  122. package/dist/components/navigation/SiteMenu/SiteMenu.d.ts +26 -0
  123. package/dist/components/navigation/SiteMenu/SiteMenuDropdown.d.ts +23 -0
  124. package/dist/components/navigation/TreeNav/TreeNav.d.ts +48 -0
  125. package/dist/components/navigation/UserMenu/UserMenu.d.ts +20 -5
  126. package/dist/components/navigation/WorkspaceSelector/WorkspaceSelector.d.ts +2 -17
  127. package/dist/components/navigation/navigation-utilities.d.ts +12 -0
  128. package/dist/components/notifications/Banner/Banner.d.ts +6 -2
  129. package/dist/components/notifications/SectionMessage/SectionMessage.d.ts +6 -2
  130. package/dist/components/notifications/Toaster/Toast.d.ts +12 -1
  131. package/dist/components/notifications/Toaster/Toaster.d.ts +16 -7
  132. package/dist/components/notifications/Toaster/useToast.d.ts +2 -0
  133. package/dist/components/overlays/Drawer/Drawer.d.ts +58 -0
  134. package/dist/components/overlays/FullScreenOverlay/FullScreenOverlay.d.ts +45 -0
  135. package/dist/components/{Modal → overlays/Modal}/Modal.d.ts +1 -1
  136. package/dist/components/{Pagination → pagination/Pagination}/Pagination.d.ts +7 -2
  137. package/dist/components/pagination/PaginationCompact/PaginationCompact.d.ts +49 -0
  138. package/dist/components/pagination/PaginationMini/PaginationMini.d.ts +55 -0
  139. package/dist/components/panels/ExpansionPanel/ExpansionPanel.d.ts +1 -2
  140. package/dist/components/panels/ExpansionPanelGroup/ExpansionPanelGroup.d.ts +1 -2
  141. package/dist/components/panels/Panel/Panel.d.ts +4 -21
  142. package/dist/components/panels/PanelList/PanelList.d.ts +1 -1
  143. package/dist/components/progress-indicators/ProgressBar/ProgressBar.d.ts +4 -5
  144. package/dist/components/progress-indicators/ProgressRing/ProgressRing.d.ts +12 -4
  145. package/dist/components/{FlowSteps/FlowSteps.d.ts → steppers/StepList/StepList.d.ts} +7 -7
  146. package/dist/css/component-css/pds-action-card.css +1 -0
  147. package/dist/css/component-css/pds-avatar.css +1 -1
  148. package/dist/css/component-css/pds-badge.css +1 -0
  149. package/dist/css/component-css/pds-banner.css +1 -1
  150. package/dist/css/component-css/pds-bar-chart.css +1 -0
  151. package/dist/css/component-css/pds-branch-diff.css +1 -1
  152. package/dist/css/component-css/pds-breadcrumb.css +1 -1
  153. package/dist/css/component-css/pds-button-link.css +1 -1
  154. package/dist/css/component-css/pds-button-nav.css +1 -1
  155. package/dist/css/component-css/pds-button.css +44 -12
  156. package/dist/css/component-css/pds-callout.css +1 -1
  157. package/dist/css/component-css/pds-card-select.css +1 -0
  158. package/dist/css/component-css/pds-card.css +1 -1
  159. package/dist/css/component-css/pds-chart-legend.css +1 -0
  160. package/dist/css/component-css/pds-chart-wrapper.css +1 -0
  161. package/dist/css/component-css/pds-checkbox.css +1 -1
  162. package/dist/css/component-css/pds-close-button.css +1 -1
  163. package/dist/css/component-css/pds-code-block.css +1 -1
  164. package/dist/css/component-css/pds-combobox-multiselect.css +3 -2
  165. package/dist/css/component-css/pds-combobox.css +1 -1
  166. package/dist/css/component-css/pds-compact-empty-state.css +1 -1
  167. package/dist/css/component-css/pds-comparison-list.css +1 -1
  168. package/dist/css/component-css/pds-cta-link.css +1 -1
  169. package/dist/css/component-css/pds-datepicker.css +5 -3
  170. package/dist/css/component-css/pds-drawer.css +1 -0
  171. package/dist/css/component-css/pds-dropdown-menu.css +2 -2
  172. package/dist/css/component-css/pds-dropdown.css +2 -0
  173. package/dist/css/component-css/pds-expansion-panel.css +1 -1
  174. package/dist/css/component-css/pds-file-diff.css +1 -1
  175. package/dist/css/component-css/pds-file-upload.css +3 -3
  176. package/dist/css/component-css/pds-filter-button.css +1 -0
  177. package/dist/css/component-css/pds-full-screen-overlay.css +1 -0
  178. package/dist/css/component-css/pds-horizontal-empty-state.css +1 -1
  179. package/dist/css/component-css/pds-icon-button.css +6 -4
  180. package/dist/css/component-css/pds-icon.css +1 -1
  181. package/dist/css/component-css/pds-identity-block.css +1 -0
  182. package/dist/css/component-css/pds-index.css +150 -70
  183. package/dist/css/component-css/pds-inline-message.css +1 -1
  184. package/dist/css/component-css/pds-input-group.css +1 -1
  185. package/dist/css/component-css/pds-input-utilities.css +1 -1
  186. package/dist/css/component-css/pds-line-chart.css +1 -0
  187. package/dist/css/component-css/pds-link-new-window.css +1 -1
  188. package/dist/css/component-css/pds-menu-button.css +7 -1
  189. package/dist/css/component-css/pds-modal.css +1 -1
  190. package/dist/css/component-css/pds-nav-menu.css +1 -5
  191. package/dist/css/component-css/pds-navbar.css +4 -1
  192. package/dist/css/component-css/pds-pagination-compact.css +1 -0
  193. package/dist/css/component-css/pds-pagination-mini.css +3 -0
  194. package/dist/css/component-css/pds-pagination.css +1 -1
  195. package/dist/css/component-css/pds-panel-list.css +1 -1
  196. package/dist/css/component-css/pds-panel.css +1 -1
  197. package/dist/css/component-css/pds-pantheon-logo.css +1 -1
  198. package/dist/css/component-css/pds-payment-icon.css +1 -1
  199. package/dist/css/component-css/pds-pie-chart.css +1 -0
  200. package/dist/css/component-css/pds-platform-icon.css +1 -1
  201. package/dist/css/component-css/pds-popover.css +1 -1
  202. package/dist/css/component-css/pds-progress-bar.css +1 -1
  203. package/dist/css/component-css/pds-progress-ring.css +1 -1
  204. package/dist/css/component-css/pds-proportion-bar.css +1 -0
  205. package/dist/css/component-css/pds-radio-group.css +1 -1
  206. package/dist/css/component-css/pds-section-message.css +1 -1
  207. package/dist/css/component-css/pds-segmented-button.css +2 -1
  208. package/dist/css/component-css/pds-select.css +1 -1
  209. package/dist/css/component-css/pds-side-nav-global.css +2 -4
  210. package/dist/css/component-css/pds-side-nav.css +3 -1
  211. package/dist/css/component-css/pds-site-footer.css +1 -1
  212. package/dist/css/component-css/pds-site-search.css +1 -0
  213. package/dist/css/component-css/pds-skeleton.css +1 -1
  214. package/dist/css/component-css/pds-skiplink.css +1 -1
  215. package/dist/css/component-css/pds-sortable-list.css +8 -0
  216. package/dist/css/component-css/pds-spinner.css +1 -1
  217. package/dist/css/component-css/pds-split-button.css +1 -1
  218. package/dist/css/component-css/pds-sso-button.css +1 -1
  219. package/dist/css/component-css/pds-status-badge.css +1 -1
  220. package/dist/css/component-css/pds-status-checker.css +1 -0
  221. package/dist/css/component-css/pds-status-indicator.css +1 -1
  222. package/dist/css/component-css/pds-step-list.css +1 -0
  223. package/dist/css/component-css/pds-stepper.css +3 -1
  224. package/dist/css/component-css/pds-switch.css +4 -11
  225. package/dist/css/component-css/pds-tab-menu.css +2 -2
  226. package/dist/css/component-css/pds-table-of-contents.css +1 -1
  227. package/dist/css/component-css/pds-table.css +3 -1
  228. package/dist/css/component-css/pds-tabs.css +1 -1
  229. package/dist/css/component-css/pds-tag.css +1 -1
  230. package/dist/css/component-css/pds-tags-input.css +1 -1
  231. package/dist/css/component-css/pds-tally.css +1 -1
  232. package/dist/css/component-css/pds-text-input.css +1 -1
  233. package/dist/css/component-css/pds-textarea.css +1 -1
  234. package/dist/css/component-css/pds-theme-switcher.css +1 -1
  235. package/dist/css/component-css/pds-toaster.css +1 -1
  236. package/dist/css/component-css/pds-tooltip.css +1 -1
  237. package/dist/css/component-css/pds-tree-nav.css +1 -0
  238. package/dist/css/component-css/pds-user-menu.css +32 -1
  239. package/dist/css/component-css/pds-utility-bar.css +1 -0
  240. package/dist/css/component-css/pds-utility-button.css +3 -1
  241. package/dist/css/component-css/pds-vertical-empty-state.css +1 -1
  242. package/dist/css/component-css/pds-vertical-stepper.css +1 -1
  243. package/dist/css/component-css/pds-workspace-selector.css +26 -1
  244. package/dist/css/design-tokens/variables.dark.css +405 -239
  245. package/dist/css/design-tokens/variables.global.css +8 -15
  246. package/dist/css/design-tokens/variables.light.css +361 -217
  247. package/dist/css/design-tokens/variables.typography.css +3 -2
  248. package/dist/css/layout-css/pds-app-layout.css +6 -2
  249. package/dist/css/layout-css/pds-docs-layout.css +1 -1
  250. package/dist/css/layout-css/pds-index.css +6 -9
  251. package/dist/css/layout-css/pds-sidebar-layout.css +5 -0
  252. package/dist/css/layout-css/pds-stepper-layout.css +1 -1
  253. package/dist/css/pds-components.css +150 -70
  254. package/dist/css/pds-core.css +3 -2
  255. package/dist/css/pds-layouts.css +6 -9
  256. package/dist/index.css +1 -1
  257. package/dist/index.d.ts +95 -6
  258. package/dist/index.js +12112 -4520
  259. package/dist/index.js.map +1 -1
  260. package/dist/index.source.d.ts +39 -42
  261. package/dist/layouts/AppLayout/AppLayout.d.ts +68 -7
  262. package/dist/layouts/DocsLayout/DocsLayout.d.ts +9 -7
  263. package/dist/layouts/SidebarLayout/SidebarLayout.d.ts +16 -6
  264. package/dist/layouts/ThreeItemLayout/ThreeItemLayout.d.ts +3 -3
  265. package/dist/layouts/TwoItemLayout/TwoItemLayout.d.ts +3 -3
  266. package/dist/libs/components/NavAccordion/NavAccordion.d.ts +27 -0
  267. package/dist/libs/components/StatusDot/StatusDot.d.ts +15 -0
  268. package/dist/libs/components/utils.d.ts +0 -1
  269. package/dist/libs/types/custom-types.d.ts +12 -6
  270. package/dist/libs/types/layout-types.d.ts +2 -1
  271. package/dist/libs/types/navigation-types.d.ts +9 -1
  272. package/dist/svg/anglesDown.svg +3 -0
  273. package/dist/svg/anglesUp.svg +3 -0
  274. package/dist/svg/barsStaggered.svg +3 -0
  275. package/dist/svg/circleExclamationSolid.svg +3 -0
  276. package/dist/svg/circleHalfStroke.svg +3 -0
  277. package/dist/svg/circleInfoSolid.svg +3 -0
  278. package/dist/svg/circleQuestionSolid.svg +3 -0
  279. package/dist/svg/claude.svg +3 -0
  280. package/dist/svg/clock.svg +3 -0
  281. package/dist/svg/collapseToCenter.svg +3 -0
  282. package/dist/svg/compress.svg +3 -0
  283. package/dist/svg/diagramVenn.svg +3 -0
  284. package/dist/svg/floppyDisk.svg +3 -0
  285. package/dist/svg/grid.svg +2 -2
  286. package/dist/svg/grid2.svg +3 -0
  287. package/dist/svg/landmark.svg +3 -0
  288. package/dist/svg/locationCrosshairs.svg +3 -0
  289. package/dist/svg/move.svg +3 -0
  290. package/dist/svg/octagonExclamation.svg +3 -0
  291. package/dist/svg/openai.svg +3 -0
  292. package/dist/svg/pause.svg +3 -0
  293. package/dist/svg/sidebar.svg +3 -0
  294. package/dist/svg/slider.svg +3 -0
  295. package/dist/svg/squareDashed.svg +3 -0
  296. package/dist/svg/tableColumns.svg +3 -0
  297. package/dist/svg/userSolid.svg +3 -0
  298. package/dist/{layouts → utilities}/FlexContainer/FlexContainer.d.ts +6 -6
  299. package/dist/utilities/GlobalWrapper/GlobalWrapper.d.ts +21 -0
  300. package/dist/utilities/grid/Grid.d.ts +58 -0
  301. package/dist/utilities/grid/GridItem.d.ts +57 -0
  302. package/dist/utilities/hooks/useDropdown/index.d.ts +1 -0
  303. package/dist/utilities/hooks/useDropdown/useDropdown.d.ts +121 -0
  304. package/package.json +68 -41
  305. package/tailwind/README.md +220 -0
  306. package/tailwind/TESTING.md +457 -0
  307. package/tailwind/v3/preset.cjs +258 -0
  308. package/tailwind/v4/theme.css +230 -0
  309. package/dist/components/CTASlice/CTASlice.d.ts +0 -43
  310. package/dist/components/CodeBlock/themes/pdsLight.d.ts +0 -2
  311. package/dist/components/DashboardStat/DashboardStat.d.ts +0 -28
  312. package/dist/components/PullQuote/PullQuote.d.ts +0 -34
  313. package/dist/components/SiteDashboardHeading/SiteDashboardHeading.d.ts +0 -62
  314. package/dist/components/SocialLinks/SocialLinks.d.ts +0 -23
  315. package/dist/components/badges/IndicatorBadge/IndicatorBadge.d.ts +0 -27
  316. package/dist/components/cards/CardHeading/CardHeading.d.ts +0 -31
  317. package/dist/components/cards/EmptyStateCard/EmptyStateCard.d.ts +0 -36
  318. package/dist/components/cards/LinksCard/LinksCard.d.ts +0 -29
  319. package/dist/components/cards/LinksCard/links-card-sample-data.d.ts +0 -2
  320. package/dist/components/cards/NewSiteCard/NewSiteCard.d.ts +0 -61
  321. package/dist/components/cards/PaymentCard/PaymentCard.d.ts +0 -47
  322. package/dist/components/cards/PricingCard/PricingCard.d.ts +0 -90
  323. package/dist/components/cards/SiteCard/SiteCard.d.ts +0 -50
  324. package/dist/components/footer/FooterHeading/FooterHeading.d.ts +0 -22
  325. package/dist/components/footer/FooterLinks/FooterLinks.d.ts +0 -26
  326. package/dist/components/footer/SiteFooter/SiteFooter.d.ts +0 -30
  327. package/dist/components/footer/SiteFooter/footer-content.d.ts +0 -1
  328. package/dist/components/navigation/DashboardNav/DashboardNav.d.ts +0 -35
  329. package/dist/components/navigation/DashboardNav/DashboardNavItem.d.ts +0 -24
  330. package/dist/components/navigation/NavMenu/NavMenu.d.ts +0 -33
  331. package/dist/components/navigation/NavMenu/NavMenuDropdown.d.ts +0 -24
  332. package/dist/components/navigation/SideNavCompact/SideNavCompact.d.ts +0 -53
  333. package/dist/components/notifications/NotificationHubIcon/NotificationHubIcon.d.ts +0 -38
  334. package/dist/components/notifications/NotificationsPopover/NotificationsPopover.d.ts +0 -118
  335. package/dist/components/tiles/AvatarTileList/AvatarTileList.d.ts +0 -28
  336. package/dist/components/tiles/Tile/Tile.d.ts +0 -42
  337. package/dist/components/tiles/TileGrid/TileGrid.d.ts +0 -29
  338. package/dist/css/component-css/pds-avatar-tile-list.css +0 -1
  339. package/dist/css/component-css/pds-card-heading.css +0 -1
  340. package/dist/css/component-css/pds-card-select-group.css +0 -1
  341. package/dist/css/component-css/pds-cta-slice.css +0 -1
  342. package/dist/css/component-css/pds-dashboard-nav.css +0 -5
  343. package/dist/css/component-css/pds-dashboard-search.css +0 -1
  344. package/dist/css/component-css/pds-dashboard-stat.css +0 -1
  345. package/dist/css/component-css/pds-empty-state-card.css +0 -1
  346. package/dist/css/component-css/pds-flow-steps.css +0 -1
  347. package/dist/css/component-css/pds-footer-heading.css +0 -1
  348. package/dist/css/component-css/pds-footer-links.css +0 -1
  349. package/dist/css/component-css/pds-indicator-badge.css +0 -25
  350. package/dist/css/component-css/pds-links-card.css +0 -1
  351. package/dist/css/component-css/pds-new-site-card.css +0 -1
  352. package/dist/css/component-css/pds-notification-hub-icon.css +0 -1
  353. package/dist/css/component-css/pds-notifications-popover.css +0 -1
  354. package/dist/css/component-css/pds-payment-card.css +0 -1
  355. package/dist/css/component-css/pds-pricing-card-local.css +0 -1
  356. package/dist/css/component-css/pds-pricing-card.css +0 -1
  357. package/dist/css/component-css/pds-pull-quote.css +0 -1
  358. package/dist/css/component-css/pds-refresh-checker.css +0 -1
  359. package/dist/css/component-css/pds-side-nav-compact.css +0 -1
  360. package/dist/css/component-css/pds-site-card.css +0 -1
  361. package/dist/css/component-css/pds-site-dashboard-heading.css +0 -1
  362. package/dist/css/component-css/pds-social-links.css +0 -1
  363. package/dist/css/component-css/pds-tile.css +0 -1
  364. package/dist/css/component-css/pds-tiles-common.css +0 -1
  365. package/dist/css/layout-css/pds-dashboard-global.css +0 -8
  366. package/dist/css/layout-css/pds-dashboard-inner.css +0 -1
  367. package/dist/css/layout-css/pds-flex-container.css +0 -1
  368. package/dist/layouts/DashboardGlobal/DashboardGlobal.d.ts +0 -57
  369. package/dist/layouts/DashboardInner/DashboardInner.d.ts +0 -30
  370. package/dist/layouts/GlobalWrapper/GlobalWrapper.d.ts +0 -19
  371. package/dist/utilities/context-providers/ResponsiveContext/ResponsiveContext.d.ts +0 -6
  372. /package/dist/components/{Skiplink → links/Skiplink}/Skiplink.d.ts +0 -0
  373. /package/dist/components/{Picture → media/Picture}/Picture.d.ts +0 -0
  374. /package/dist/components/{VideoEmbed → media/VideoEmbed}/VideoEmbed.d.ts +0 -0
  375. /package/dist/components/{Pagination → pagination/Pagination}/usePagination.d.ts +0 -0
  376. /package/dist/components/{FlowSteps → steppers/StepList}/example-steps.d.ts +0 -0
  377. /package/dist/svg/{linkSimple.svg → link.svg} +0 -0
  378. /package/dist/svg/{linkSimpleSlash.svg → unlink.svg} +0 -0
  379. /package/dist/{layouts → utilities}/Container/Container.d.ts +0 -0
@@ -1,5 +1,5 @@
1
1
  export * from './components/Avatar/Avatar';
2
- export * from './components/badges/IndicatorBadge/IndicatorBadge';
2
+ export * from './components/badges/Badge/Badge';
3
3
  export * from './components/badges/StatusBadge/StatusBadge';
4
4
  export * from './components/badges/Tally/Tally';
5
5
  export * from './components/BranchDiff/BranchDiff';
@@ -7,6 +7,7 @@ export * from './components/buttons/Button/Button';
7
7
  export * from './components/buttons/ButtonLink/ButtonLink';
8
8
  export * from './components/buttons/ClipboardButton/ClipboardButton';
9
9
  export * from './components/buttons/CloseButton/CloseButton';
10
+ export * from './components/buttons/FilterButton/FilterButton';
10
11
  export * from './components/buttons/IconButton/IconButton';
11
12
  export * from './components/buttons/MenuButton/MenuButton';
12
13
  export * from './components/buttons/SegmentedButton/SegmentedButton';
@@ -14,31 +15,25 @@ export * from './components/buttons/SplitButton/SplitButton';
14
15
  export * from './components/buttons/SSOButton/SSOButton';
15
16
  export * from './components/buttons/UtilityButton/UtilityButton';
16
17
  export * from './components/Callout/Callout';
18
+ export * from './components/cards/ActionCard/ActionCard';
17
19
  export * from './components/cards/Card/Card';
18
- export * from './components/cards/CardHeading/CardHeading';
19
- export * from './components/cards/CardSelectGroup/CardSelectGroup';
20
- export * from './components/cards/EmptyStateCard/EmptyStateCard';
21
- export * from './components/cards/LinksCard/LinksCard';
22
- export * from './components/cards/NewSiteCard/NewSiteCard';
23
- export * from './components/cards/PaymentCard/PaymentCard';
24
- export * from './components/cards/PricingCard/PricingCard';
25
- export * from './components/cards/SiteCard/SiteCard';
20
+ export * from './components/cards/CardSelect/CardSelect';
21
+ export * from './components/charts/BarChart/BarChart';
22
+ export * from './components/charts/LineChart/LineChart';
23
+ export * from './components/charts/PieChart/PieChart';
24
+ export * from './components/charts/ProportionBar/ProportionBar';
25
+ export * from './components/charts/shared/types';
26
26
  export * from './components/CodeBlock/CodeBlock';
27
27
  export * from './components/ComparisonList/ComparisonList';
28
- export * from './components/CTALink/CTALink';
29
- export * from './components/CTASlice/CTASlice';
30
- export * from './components/DashboardStat/DashboardStat';
28
+ export * from './components/Dropdown/Dropdown';
31
29
  export * from './components/empty-states/CompactEmptyState/CompactEmptyState';
32
30
  export * from './components/empty-states/HorizontalEmptyState/HorizontalEmptyState';
33
31
  export * from './components/empty-states/VerticalEmptyState/VerticalEmptyState';
34
32
  export * from './components/FileDiff/FileDiff';
35
- export * from './components/FlowSteps/FlowSteps';
36
- export * from './components/footer/FooterHeading/FooterHeading';
37
- export * from './components/footer/FooterLinks/FooterLinks';
38
- export * from './components/footer/SiteFooter/SiteFooter';
39
33
  export * from './components/icons/Icon/Icon';
40
34
  export * from './components/icons/PaymentIcon/PaymentIcon';
41
35
  export * from './components/icons/PlatformIcon/PlatformIcon';
36
+ export * from './components/IdentityBlock/IdentityBlock';
42
37
  export * from './components/inputs/Checkbox/Checkbox';
43
38
  export * from './components/inputs/CheckboxFieldset/CheckboxFieldset';
44
39
  export * from './components/inputs/CheckboxGroup/CheckboxGroup';
@@ -53,50 +48,55 @@ export * from './components/inputs/Switch/Switch';
53
48
  export * from './components/inputs/TagsInput/TagsInput';
54
49
  export * from './components/inputs/Textarea/Textarea';
55
50
  export * from './components/inputs/TextInput/TextInput';
56
- export * from './components/LinkNewWindow/LinkNewWindow';
51
+ export * from './components/links/CTALink/CTALink';
52
+ export * from './components/links/LinkNewWindow/LinkNewWindow';
53
+ export * from './components/links/Skiplink/Skiplink';
57
54
  export * from './components/loading-indicators/Skeleton/Skeleton';
58
55
  export * from './components/loading-indicators/Spinner/Spinner';
59
- export * from './components/Modal/Modal';
56
+ export * from './components/media/Picture/Picture';
57
+ export * from './components/media/VideoEmbed/VideoEmbed';
60
58
  export * from './components/navigation/Breadcrumb/Breadcrumb';
61
59
  export * from './components/navigation/ButtonNav/ButtonNav';
62
- export * from './components/navigation/DashboardNav/DashboardNav';
63
- export * from './components/navigation/DashboardNav/DashboardNavItem';
64
- export * from './components/navigation/DashboardSearch/DashboardSearch';
65
60
  export * from './components/navigation/DropdownMenu/DropdownMenu';
66
61
  export * from './components/navigation/Navbar/Navbar';
67
- export * from './components/navigation/NavMenu/NavMenu';
68
62
  export * from './components/navigation/SideNav/SideNav';
69
- export * from './components/navigation/SideNavCompact/SideNavCompact';
70
63
  export * from './components/navigation/SideNavGlobal/SideNavGlobal';
71
64
  export * from './components/navigation/SideNavGlobal/SideNavGlobalItem';
65
+ export * from './components/navigation/SiteMenu/SiteMenu';
72
66
  export * from './components/navigation/TabMenu/TabMenu';
67
+ export * from './components/navigation/TreeNav/TreeNav';
73
68
  export * from './components/navigation/UserMenu/UserMenu';
74
69
  export * from './components/navigation/WorkspaceSelector/WorkspaceSelector';
75
70
  export * from './components/notifications/Banner/Banner';
76
71
  export * from './components/notifications/InlineMessage/InlineMessage';
77
- export * from './components/notifications/NotificationHubIcon/NotificationHubIcon';
78
- export * from './components/notifications/NotificationsPopover/NotificationsPopover';
79
72
  export * from './components/notifications/SectionMessage/SectionMessage';
80
73
  export * from './components/notifications/Toaster/Toast';
81
74
  export * from './components/notifications/Toaster/Toaster';
82
75
  export * from './components/notifications/Toaster/useToast';
83
- export * from './components/Pagination/Pagination';
76
+ export * from './components/overlays/Drawer/Drawer';
77
+ export * from './components/overlays/FullScreenOverlay/FullScreenOverlay';
78
+ export * from './components/overlays/Modal/Modal';
79
+ export * from './components/pagination/Pagination/Pagination';
80
+ export * from './components/pagination/PaginationCompact/PaginationCompact';
81
+ export * from './components/pagination/PaginationMini/PaginationMini';
84
82
  export * from './components/panels/ExpansionPanel/ExpansionPanel';
85
83
  export * from './components/panels/ExpansionPanelGroup/ExpansionPanelGroup';
86
84
  export * from './components/panels/Panel/Panel';
87
85
  export * from './components/panels/PanelList/PanelList';
88
86
  export * from './components/panels/PanelList/PanelRow';
89
87
  export * from './components/PantheonLogo/PantheonLogo';
90
- export * from './components/Picture/Picture';
91
88
  export * from './components/Popover/Popover';
92
89
  export * from './components/progress-indicators/ProgressBar/ProgressBar';
93
90
  export * from './components/progress-indicators/ProgressRing/ProgressRing';
94
- export * from './components/PullQuote/PullQuote';
95
- export * from './components/RefreshChecker/RefreshChecker';
96
- export * from './components/SiteDashboardHeading/SiteDashboardHeading';
97
- export * from './components/Skiplink/Skiplink';
98
- export * from './components/SocialLinks/SocialLinks';
91
+ export * from './components/SiteFooter/SiteFooter';
92
+ export * from './components/SiteSearch/SiteSearch';
93
+ export * from './components/SortableList/SortableList';
94
+ export * from './components/SortableList/SortableListHeader';
95
+ export * from './components/SortableList/SortableRow';
96
+ export * from './components/SortableList/types';
97
+ export * from './components/StatusChecker/StatusChecker';
99
98
  export * from './components/StatusIndicator/StatusIndicator';
99
+ export * from './components/steppers/StepList/StepList';
100
100
  export * from './components/steppers/Stepper/Stepper';
101
101
  export * from './components/steppers/VerticalStepper/VerticalStepper';
102
102
  export * from './components/Table/Table';
@@ -104,30 +104,27 @@ export * from './components/TableOfContents/TableOfContents';
104
104
  export * from './components/Tabs/Tabs';
105
105
  export * from './components/Tag/Tag';
106
106
  export * from './components/ThemeSwitcher/ThemeSwitcher';
107
- export * from './components/tiles/AvatarTileList/AvatarTileList';
108
- export * from './components/tiles/Tile/Tile';
109
- export * from './components/tiles/TileGrid/TileGrid';
110
107
  export * from './components/Tooltip/Tooltip';
111
- export * from './components/VideoEmbed/VideoEmbed';
108
+ export * from './components/UtilityBar/UtilityBar';
112
109
  export * from './libs/components/SiteOptionDisplay/SiteOptionDisplay';
113
110
  export * from './layouts/AppLayout/AppLayout';
114
- export * from './layouts/Container/Container';
115
- export * from './layouts/DashboardGlobal/DashboardGlobal';
116
- export * from './layouts/DashboardInner/DashboardInner';
117
111
  export * from './layouts/DocsLayout/DocsLayout';
118
- export * from './layouts/FlexContainer/FlexContainer';
119
- export * from './layouts/GlobalWrapper/GlobalWrapper';
120
112
  export * from './layouts/SidebarLayout/SidebarLayout';
121
113
  export * from './layouts/StepperLayout/StepperLayout';
122
114
  export * from './layouts/ThreeItemLayout/ThreeItemLayout';
123
115
  export * from './layouts/TwoItemLayout/TwoItemLayout';
116
+ export * from './utilities/Container/Container';
117
+ export * from './utilities/FlexContainer/FlexContainer';
118
+ export * from './utilities/GlobalWrapper/GlobalWrapper';
124
119
  export * from './libs/types/custom-types';
125
120
  export * from './libs/types/input-types';
126
121
  export * from './libs/types/layout-types';
127
122
  export * from './libs/types/navigation-types';
128
- export * from './utilities/context-providers/ResponsiveContext/ResponsiveContext';
123
+ export * from './utilities/grid/Grid';
124
+ export * from './utilities/grid/GridItem';
129
125
  export * from './utilities/hooks/useBreakpoint/useBreakpoint';
130
126
  export * from './utilities/hooks/useClipboard/useClipboard';
127
+ export * from './utilities/hooks/useDropdown';
131
128
  export * from './utilities/hooks/useKeyPress/useKeyPress';
132
129
  export * from './utilities/hooks/useMediaQuery/useMediaQuery';
133
130
  export * from './utilities/hooks/useWindowWidth/useWindowWidth';
@@ -1,12 +1,21 @@
1
1
  import { ComponentPropsWithoutRef, ReactNode } from 'react';
2
- import { ContainerWidth } from '../../libs/types/custom-types';
2
+ import { DrawerProps } from '../../components/overlays/Drawer/Drawer';
3
3
  import './app-layout.css';
4
4
  /**
5
5
  * Prop types for AppLayout
6
6
  */
7
- interface AppLayoutProps extends ComponentPropsWithoutRef<'div'> {
7
+ export interface AppLayoutProps extends ComponentPropsWithoutRef<'div'> {
8
8
  /**
9
- * Children to render in the layout.
9
+ * Children to render in the layout, assigned to named slots:
10
+ * - `header` — full-width region above the sidebar and main content (e.g. a Navbar).
11
+ * - `footer` — region below the main content, aligned with it (e.g. a SiteFooter);
12
+ * the sidebar spans the full height alongside the main + footer column.
13
+ * - `identity` — top of the sidebar (e.g. a workspace/account block).
14
+ * - `content-top` — sidebar content above the navigation.
15
+ * - `navigation` — the sidebar's primary navigation (e.g. SideNavGlobal).
16
+ * - `content-bottom` — sidebar content pinned to the bottom.
17
+ * - `sidebar` — legacy single-slot sidebar body (pre-V2).
18
+ * - unslotted children render as the main content.
10
19
  */
11
20
  children: ReactNode;
12
21
  /**
@@ -14,39 +23,87 @@ interface AppLayoutProps extends ComponentPropsWithoutRef<'div'> {
14
23
  */
15
24
  className?: string;
16
25
  /**
17
- * PDS container width.
26
+ * Content for the left-side Drawer (e.g., workspace switcher).
27
+ * Only rendered when `hasDrawerToggle` is true.
18
28
  */
19
- containerWidth?: ContainerWidth;
29
+ drawerContent?: ReactNode;
30
+ /**
31
+ * Pass-through props for the Drawer component.
32
+ */
33
+ drawerProps?: Partial<DrawerProps>;
34
+ /**
35
+ * Show a toggle button in the sidebar header that opens a Drawer overlay.
36
+ */
37
+ hasDrawerToggle?: boolean;
20
38
  /**
21
39
  * Is the sidebar able to be collapsed and expanded by the user?
22
40
  * If false or not provided, the sidebar will always be expanded.
23
41
  */
24
42
  hasSidebarToggle?: boolean;
43
+ /**
44
+ * Controlled open state for the drawer.
45
+ */
46
+ isDrawerOpen?: boolean;
25
47
  /**
26
48
  * Is the sidebar collapsed?
27
49
  * This is only relevant if `hasSidebarToggle` is true.
28
50
  */
29
51
  isSidebarCollapsed?: boolean;
52
+ /**
53
+ * Enable keyboard shortcuts to toggle the sidebar.
54
+ * `[` collapses, `]` expands. Only active when `hasSidebarToggle` is true.
55
+ */
56
+ keyboardShortcuts?: boolean;
30
57
  /**
31
58
  * Labels for translatable strings.
32
59
  */
33
60
  labels?: {
34
61
  collapseSidebar: string;
62
+ drawerToggle: string;
35
63
  expandSidebar: string;
36
64
  };
65
+ /**
66
+ * Background color for the main content area. Use a PDS CSS custom property
67
+ * (e.g. 'var(--pds-color-surface-default-secondary)') so dark mode works automatically.
68
+ */
69
+ mainBackground?: string;
37
70
  /**
38
71
  * Element type for the main content area.
39
72
  */
40
73
  mainContentElement?: 'div' | 'main';
74
+ /**
75
+ * Maximum width of the main content (and the footer content, which stays
76
+ * aligned with it). The content is centered within the region once it grows
77
+ * past this width, while the region itself — background, border, padding —
78
+ * remains full-bleed.
79
+ *
80
+ * A number is treated as pixels; a string is used as-is (e.g. '90rem').
81
+ * Pass `null` to remove the cap so content fills the full region width.
82
+ * Defaults to `1600` (the recommended value).
83
+ */
84
+ mainContentMaxWidth?: number | string | null;
41
85
  /**
42
86
  * Additional props for the main content element.
43
87
  */
44
88
  mainContentProps?: ComponentPropsWithoutRef<'div'> | ComponentPropsWithoutRef<'main'>;
89
+ /**
90
+ * Callback when the drawer toggle button is clicked.
91
+ */
92
+ onDrawerToggle?: () => void;
45
93
  /**
46
94
  * Callback function to handle sidebar toggle.
47
95
  * If not provided, the sidebar will use an internal function to manage collapsed state.
48
96
  */
49
97
  onSidebarToggle?: () => void;
98
+ /**
99
+ * When true, the sidebar stays fixed and only the main content area scrolls.
100
+ */
101
+ scrollableContent?: boolean;
102
+ /**
103
+ * Background color for the sidebar. Use a PDS CSS custom property
104
+ * (e.g. 'var(--pds-color-surface-default)') so dark mode works automatically.
105
+ */
106
+ sidebarBackground?: string;
50
107
  /**
51
108
  * Width of the sidebar when collapsed in rems. This should not need to be modified.
52
109
  */
@@ -56,6 +113,11 @@ interface AppLayoutProps extends ComponentPropsWithoutRef<'div'> {
56
113
  * This is also the width of the sidebar when it is not collapsable (hasSidebarToggle is false).
57
114
  */
58
115
  sidebarExpandedWidth?: string;
116
+ /**
117
+ * Maximum width of the sidebar when expanded in rems.
118
+ * Prevents the sidebar from growing too wide on large screens.
119
+ */
120
+ sidebarExpandedWidthMax?: number;
59
121
  /**
60
122
  * Minimum width of the sidebar when expanded in rems.
61
123
  * This is also the min-width of the sidebar when it is not collapsable (hasSidebarToggle is false).
@@ -69,5 +131,4 @@ interface AppLayoutProps extends ComponentPropsWithoutRef<'div'> {
69
131
  /**
70
132
  * AppLayout UI component
71
133
  */
72
- export declare const AppLayout: ({ children, className, containerWidth, hasSidebarToggle, isSidebarCollapsed, labels, mainContentElement, mainContentProps, onSidebarToggle, sidebarCollapsedWidth, sidebarExpandedWidth, sidebarExpandedWidthMin, sidebarProps, ...props }: AppLayoutProps) => import("react/jsx-runtime").JSX.Element;
73
- export {};
134
+ export declare const AppLayout: ({ children, className, drawerContent, drawerProps, hasDrawerToggle, hasSidebarToggle, isDrawerOpen, isSidebarCollapsed, keyboardShortcuts, labels, mainBackground, mainContentElement, mainContentMaxWidth, mainContentProps, onDrawerToggle, onSidebarToggle, scrollableContent, sidebarBackground, sidebarCollapsedWidth, sidebarExpandedWidth, sidebarExpandedWidthMax, sidebarExpandedWidthMin, sidebarProps, ...props }: AppLayoutProps) => import("react/jsx-runtime").JSX.Element;
@@ -13,18 +13,20 @@ interface DocsLayoutProps extends ComponentPropsWithoutRef<'div'> {
13
13
  */
14
14
  className?: string;
15
15
  /**
16
- * Minimum width of the sidebar when expanded in rems.
17
- * This is also the min-width of the sidebar when it is not collapsable (hasSidebarToggle is false).
16
+ * Width of the sidebar as a percentage.
18
17
  */
19
- sidebarMinWidth?: number;
18
+ sidebarWidth?: string;
20
19
  /**
21
- * Width of the sidebar when expanded as a percentage.
22
- * This is also the width of the sidebar when it is not collapsable (hasSidebarToggle is false).
20
+ * Maximum width of the sidebar in rems. Prevents the sidebar from growing too wide on large screens.
23
21
  */
24
- sidebarWidth?: string;
22
+ sidebarWidthMax?: number;
23
+ /**
24
+ * Minimum width of the sidebar in rems. Ensures the sidebar remains usable on medium-sized screens.
25
+ */
26
+ sidebarWidthMin?: number;
25
27
  }
26
28
  /**
27
29
  * DocsLayout UI component
28
30
  */
29
- export declare const DocsLayout: ({ children, className, sidebarMinWidth, sidebarWidth, ...props }: DocsLayoutProps) => import("react/jsx-runtime").JSX.Element;
31
+ export declare const DocsLayout: ({ children, className, sidebarWidth, sidebarWidthMax, sidebarWidthMin, style, ...props }: DocsLayoutProps) => import("react/jsx-runtime").JSX.Element;
30
32
  export {};
@@ -1,5 +1,6 @@
1
1
  import { ComponentPropsWithoutRef, ReactNode } from 'react';
2
- import { GridGapOptions } from '../../libs/types/layout-types';
2
+ import { GapScale } from '../../libs/types/layout-types';
3
+ import './sidebar-layout.css';
3
4
  /**
4
5
  * Prop types for SidebarLayout
5
6
  */
@@ -14,9 +15,10 @@ interface SidebarLayoutProps extends ComponentPropsWithoutRef<'div'> {
14
15
  */
15
16
  className?: string;
16
17
  /**
17
- * Gap between grid items
18
+ * Gap between the main content and sidebar, from the numbered spacing scale.
19
+ * Defaults to `xl`.
18
20
  */
19
- gridGap?: GridGapOptions;
21
+ gridGap?: GapScale;
20
22
  /**
21
23
  * Sidebar location.
22
24
  */
@@ -26,12 +28,20 @@ interface SidebarLayoutProps extends ComponentPropsWithoutRef<'div'> {
26
28
  */
27
29
  sidebarMobileLocation?: 'before' | 'after';
28
30
  /**
29
- * Sidebar width.
31
+ * Width of the sidebar as a percentage (e.g. `'33%'`).
30
32
  */
31
- sidebarWidth?: 'narrow' | 'standard' | 'wide';
33
+ sidebarWidth?: string;
34
+ /**
35
+ * Maximum width of the sidebar in rems. Prevents the sidebar from growing too wide on large screens.
36
+ */
37
+ sidebarWidthMax?: number;
38
+ /**
39
+ * Minimum width of the sidebar in rems. Ensures the sidebar remains usable on medium-sized screens.
40
+ */
41
+ sidebarWidthMin?: number;
32
42
  }
33
43
  /**
34
44
  * SidebarLayout UI component
35
45
  */
36
- export declare const SidebarLayout: ({ children, className, gridGap, sidebarLocation, sidebarMobileLocation, sidebarWidth, ...props }: SidebarLayoutProps) => import("react/jsx-runtime").JSX.Element;
46
+ export declare const SidebarLayout: ({ children, className, gridGap, sidebarLocation, sidebarMobileLocation, sidebarWidth, sidebarWidthMax, sidebarWidthMin, ...props }: SidebarLayoutProps) => import("react/jsx-runtime").JSX.Element;
37
47
  export {};
@@ -1,5 +1,5 @@
1
1
  import { ComponentPropsWithoutRef, ReactNode } from 'react';
2
- import { GridGapOptions, VerticalAlignOptions } from '../../libs/types/layout-types';
2
+ import { GapScale, VerticalAlignOptions } from '../../libs/types/layout-types';
3
3
  import '../../utilities/grid/grid.css';
4
4
  import './three-item-layout.css';
5
5
  /**
@@ -15,9 +15,9 @@ interface TwoItemLayoutProps extends ComponentPropsWithoutRef<'div'> {
15
15
  */
16
16
  className?: string;
17
17
  /**
18
- * Width of gap between items.
18
+ * Gap between items, from the numbered spacing scale. Defaults to `xl`.
19
19
  */
20
- gridGap?: GridGapOptions;
20
+ gridGap?: GapScale;
21
21
  /**
22
22
  * Vertical alignment of items.
23
23
  */
@@ -1,5 +1,5 @@
1
1
  import { ComponentPropsWithoutRef, ReactNode } from 'react';
2
- import { GridGapOptions, VerticalAlignOptions } from '../../libs/types/layout-types';
2
+ import { GapScale, VerticalAlignOptions } from '../../libs/types/layout-types';
3
3
  import '../../utilities/grid/grid.css';
4
4
  import './two-item-layout.css';
5
5
  /**
@@ -15,9 +15,9 @@ interface TwoItemLayoutProps extends ComponentPropsWithoutRef<'div'> {
15
15
  */
16
16
  className?: string;
17
17
  /**
18
- * Width of gap between items.
18
+ * Gap between items, from the numbered spacing scale. Defaults to `xl`.
19
19
  */
20
- gridGap?: GridGapOptions;
20
+ gridGap?: GapScale;
21
21
  /**
22
22
  * Layout variant for column widths.
23
23
  */
@@ -0,0 +1,27 @@
1
+ import { ReactNode } from 'react';
2
+ import './nav-accordion.css';
3
+ interface NavAccordionProps {
4
+ /**
5
+ * Expandable content shown when open.
6
+ */
7
+ children: ReactNode;
8
+ /**
9
+ * Additional class names.
10
+ */
11
+ className?: string;
12
+ /**
13
+ * Disables the toggle button.
14
+ */
15
+ disabled?: boolean;
16
+ /**
17
+ * Content of the toggle button — any ReactNode.
18
+ */
19
+ label: ReactNode;
20
+ }
21
+ /**
22
+ * Internal accordion component for the mobile navbar panel.
23
+ * Renders a toggle button with a rotating chevron and expandable content.
24
+ * Used by MenuButton, UserMenu, and WorkspaceSelector.
25
+ */
26
+ export declare const NavAccordion: ({ children, className, disabled, label, }: NavAccordionProps) => import("react/jsx-runtime").JSX.Element;
27
+ export {};
@@ -0,0 +1,15 @@
1
+ import { ComponentPropsWithoutRef } from 'react';
2
+ import { StatusType } from '../../types/custom-types';
3
+ import './status-dot.css';
4
+ export type StatusDotType = StatusType | 'neutral';
5
+ export interface StatusDotProps extends ComponentPropsWithoutRef<'span'> {
6
+ /**
7
+ * Additional class names
8
+ */
9
+ className?: string;
10
+ /**
11
+ * Status type — determines the dot color
12
+ */
13
+ status: StatusDotType;
14
+ }
15
+ export declare const StatusDot: ({ className, status, ...props }: StatusDotProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,3 @@
1
- export function createRandomID(): string;
2
1
  export function getDescendants(node: any, collect: any): any;
3
2
  export function initiateSlots(children: any): {
4
3
  __unslotted: any[];
@@ -1,11 +1,11 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { PDSIcon } from '../../components/icons/Icon/Icon';
3
- export type BadgeColor = 'success' | 'critical' | 'info' | 'warning' | 'neutral' | 'brand' | 'silver' | 'gold' | 'platinum' | 'diamond';
4
3
  export type ButtonDisplayType = 'label-only' | 'icon-start' | 'icon-end';
5
- export type ButtonSize = 'xs' | 's' | 'm' | 'l' | 'xl';
4
+ export type ButtonSize = 'xs' | 's' | 'm' | 'l';
6
5
  export type ButtonType = 'button' | 'submit' | 'reset';
7
- export type ButtonVariant = 'primary' | 'secondary' | 'subtle' | 'brand' | 'accent' | 'reverse' | 'reverse-secondary' | 'critical' | 'critical-secondary' | 'navbar' | 'inline';
6
+ export type ButtonVariant = 'primary' | 'secondary' | 'subtle' | 'brand' | 'highlight' | 'reverse' | 'reverse-secondary' | 'critical' | 'critical-secondary' | 'link';
8
7
  export type ContainerWidth = 'narrow' | 'standard' | 'wide' | 'x-wide' | 'full';
8
+ export type DataContext = 'product' | 'marketing';
9
9
  export type Display = 'block' | 'inline' | 'inline-block' | 'flex' | 'inline-flex' | 'grid' | 'inline-grid' | 'flow-root' | 'none' | 'contents' | 'table' | 'table-row' | 'table-cell' | 'table-caption' | 'table-column' | 'table-column-group' | 'table-footer-group' | 'table-header-group' | 'table-row-group' | 'list-item' | 'inherit' | 'initial' | 'revert' | 'unset';
10
10
  export type StatusType = 'info' | 'success' | 'warning' | 'critical' | 'discovery';
11
11
  export type StatusTypeExtended = StatusType | 'neutral' | 'working';
@@ -28,7 +28,7 @@ export type HeadingItemType = {
28
28
  };
29
29
  export type HeadingLevel = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'span';
30
30
  export type HeadingLevelCommon = Exclude<HeadingLevel, 'h1' | 'h5' | 'h6'>;
31
- export type IconSize = 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | '3xl';
31
+ export type IconSize = 's' | 'm' | 'l' | 'xl' | '2xl' | '3xl';
32
32
  export type LinkItemType = {
33
33
  /**
34
34
  * Screen reader label for critical items. Only used when isCritical is true.
@@ -46,6 +46,10 @@ export type LinkItemType = {
46
46
  * Optional icon for this item. Choose from available icons in the Icon component.
47
47
  */
48
48
  iconName?: PDSIcon;
49
+ /**
50
+ * Size of the icon. Defaults to 's'.
51
+ */
52
+ iconSize?: IconSize;
49
53
  /**
50
54
  * Is this a critical action item?
51
55
  */
@@ -85,6 +89,10 @@ export type MenuItemType = {
85
89
  * Optional icon for this item. Choose from available icons in the Icon component.
86
90
  */
87
91
  iconName?: PDSIcon;
92
+ /**
93
+ * Size of the icon. Defaults to 's'.
94
+ */
95
+ iconSize?: IconSize;
88
96
  /**
89
97
  * Optional ID value for this item.
90
98
  */
@@ -135,8 +143,6 @@ export declare const isSeparatorItemType: (item: MenuItem) => item is SeparatorI
135
143
  export declare const isHeadingItemType: (item: MenuItem) => item is HeadingItemType;
136
144
  export declare const isLinkItemType: (item: MenuItem) => item is LinkItemType;
137
145
  export declare const isNodeItemType: (item: MenuItem) => item is NodeItemType;
138
- export type SitePlanLevel = 'sandbox' | 'basic' | 'performance-small' | 'performance-medium' | 'performance-large' | 'performance-xl' | 'performance-2xl' | 'elite' | 'pro' | 'business' | 'flagship-performance';
139
- export declare const SitePlanLevelLabel: Record<SitePlanLevel, string>;
140
146
  export type SiteStatus = 'active' | 'frozen' | 'restricted';
141
147
  export type SiteType = 'drupal' | 'wordpress' | 'gatsby' | 'nextjs';
142
148
  export declare const SiteTypeLabel: Record<SiteType, string>;
@@ -1,2 +1,3 @@
1
- export type GridGapOptions = 'wide' | 'standard' | 'narrow';
1
+ export type GapScale = 'none' | 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' | '6xl';
2
+ export type PaddingScale = 'none' | 'condensed' | 'standard' | 'spacious';
2
3
  export type VerticalAlignOptions = 'start' | 'center' | 'end';
@@ -4,6 +4,10 @@ export type NavigationItem = {
4
4
  * A boolean indicating whether the item is the active item.
5
5
  */
6
6
  isActive?: boolean | null;
7
+ /**
8
+ * Renders a visual separator instead of a navigation item. When true, all other fields are ignored.
9
+ */
10
+ isSeparator?: boolean;
7
11
  /**
8
12
  * Link content — a fully-formed link element using the router of your choice. If a string is provided instead, the item will be rendered as a link that navigates to the first child item.
9
13
  */
@@ -18,6 +22,10 @@ export type FlattenedNavigationItem = {
18
22
  * A boolean indicating whether the item is the active item.
19
23
  */
20
24
  isActive?: boolean | null;
25
+ /**
26
+ * Renders a visual separator instead of a navigation item.
27
+ */
28
+ isSeparator?: boolean;
21
29
  /**
22
30
  * Nesting level of the item.
23
31
  */
@@ -31,7 +39,7 @@ export interface NavMenuItem {
31
39
  id?: string;
32
40
  isActive?: boolean | null;
33
41
  isSeparator?: boolean;
34
- label: string;
42
+ label?: string;
35
43
  linkContent?: ReactElement;
36
44
  links?: NavMenuItem[];
37
45
  }
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512" fill="currentColor" aria-hidden="true" focusable="false" role="img">
2
+ <path d="M369.5 113l-160 160c-9.4 9.4-24.6 9.4-33.9 0L15.5 113c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l143 143 143-143c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zm0 192l-160 160c-9.4 9.4-24.6 9.4-33.9 0L15.5 305c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l143 143 143-143c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512" fill="currentColor" aria-hidden="true" focusable="false" role="img">
2
+ <path d="M209.5 47c-9.4-9.4-24.6-9.4-33.9 0L15.5 207c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l143-143 143 143c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L209.5 47zm160 352l-160-160c-9.4-9.4-24.6-9.4-33.9 0L15.5 399c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l143-143 143 143c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9z"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="currentColor" aria-hidden="true" focusable="false" role="img">
2
+ <path d="M0 88C0 74.7 10.7 64 24 64l400 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L24 112C10.7 112 0 101.3 0 88zM64 256c0-13.3 10.7-24 24-24l400 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L88 280c-13.3 0-24-10.7-24-24zM448 424c0 13.3-10.7 24-24 24L24 448c-13.3 0-24-10.7-24-24s10.7-24 24-24l400 0c13.3 0 24 10.7 24 24z"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="currentColor" aria-hidden="true" focusable="false" role="img">
2
+ <path d="M256 512a256 256 0 1 1 0-512 256 256 0 1 1 0 512zm0-192a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-192c-18.2 0-32.7 15.5-31.4 33.7l7.4 104c.9 12.6 11.4 22.3 23.9 22.3 12.6 0 23-9.7 23.9-22.3l7.4-104c1.3-18.2-13.1-33.7-31.4-33.7z"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="currentColor" aria-hidden="true" focusable="false" role="img">
2
+ <path d="M280 462.6l0-413.3C383.6 61.3 464 149.2 464 256S383.6 450.7 280 462.6zm-48 0C128.4 450.7 48 362.8 48 256S128.4 61.3 232 49.4l0 413.3zM256 512a256 256 0 1 0 0-512 256 256 0 1 0 0 512z"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="currentColor" aria-hidden="true" focusable="false" role="img">
2
+ <path d="M256 512a256 256 0 1 0 0-512 256 256 0 1 0 0 512zM224 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-8 64l48 0c13.3 0 24 10.7 24 24l0 88 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l24 0 0-64-24 0c-13.3 0-24-10.7-24-24s10.7-24 24-24z"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="currentColor" aria-hidden="true" focusable="false" role="img">
2
+ <path d="M256 512a256 256 0 1 0 0-512 256 256 0 1 0 0 512zm0-336c-17.7 0-32 14.3-32 32 0 13.3-10.7 24-24 24s-24-10.7-24-24c0-44.2 35.8-80 80-80s80 35.8 80 80c0 47.2-36 67.2-56 74.5l0 3.8c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-8.1c0-20.5 14.8-35.2 30.1-40.2 6.4-2.1 13.2-5.5 18.2-10.3 4.3-4.2 7.7-10 7.7-19.6 0-17.7-14.3-32-32-32zM224 368a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40" fill="currentColor" aria-hidden="true" focusable="false" role="img">
2
+ <path d="M7.84666 26.5833L15.7246 22.1684L15.8576 21.7855L15.7246 21.5745H15.3413L14.027 21.4964L9.52865 21.3714L5.62488 21.2073L1.84627 21.0041L0.891844 20.8009L0 19.6288L0.0938787 19.0428L0.891844 18.5036L2.04185 18.6052C3.52044 18.7068 5.6327 18.8474 8.37864 19.0428L11.1324 19.2069L15.2161 19.6288H15.8654L15.9593 19.3632L15.7403 19.1991L15.5682 19.035L11.6331 16.3704L7.37727 13.5573L5.14766 11.9398L3.94289 11.1194L3.33268 10.3536L3.06669 8.67357L4.16194 7.47021L5.6327 7.57179L6.00821 7.67337L7.49462 8.82203L10.6787 11.2835L14.8328 14.3387L15.443 14.8466L15.6855 14.6747L15.7168 14.5497L15.443 14.0965L13.1821 10.0176L10.7725 5.86833L9.70076 4.14925L9.41913 3.1178C9.31743 2.69584 9.24702 2.33639 9.24702 1.90662L10.4909 0.218792L11.1793 0L12.8379 0.218792L13.5341 0.828287L14.5668 3.18812L16.241 6.89979L18.8383 11.9476L19.5971 13.4479L20.0039 14.8388L20.1526 15.2608H20.4185V15.0186L20.6298 12.1743L21.0209 8.68138L21.4043 4.18832L21.5373 2.92245L22.1631 1.40652L23.407 0.586052L24.3771 1.04708L25.175 2.19574L25.0655 2.93807L24.5883 6.02461L23.6573 10.8615L23.0471 14.1043H23.3992L23.806 13.698L25.4489 11.5257L28.2026 8.0797L29.4152 6.71225L30.8312 5.20414L31.7387 4.48525H33.4598L34.7272 6.36843L34.1561 8.31412L32.3802 10.5567L30.9094 12.4634L28.7972 15.2999L27.4829 17.5659L27.6081 17.7457L27.921 17.7144L32.6853 16.6986L35.2591 16.2375L38.3337 15.714L39.7262 16.3626L39.8748 17.0189L39.3272 18.363L36.0415 19.1756L32.1924 19.9414L26.458 21.2932L26.3876 21.3479L26.4659 21.4495L29.0475 21.6917L30.1506 21.7542H32.8574L37.8956 22.1293L39.2099 22.9967L40 24.0594L39.867 24.872L37.8408 25.9035C36.6282 25.6144 33.585 24.8955 28.719 23.739L26.5285 23.192H26.2233V23.3717L28.0462 25.1534L31.3867 28.1696L35.5721 32.0609L35.7833 33.0221L35.2435 33.78L34.6724 33.7019L30.9955 30.9357L29.5795 29.6933L26.3642 26.9896H26.1529V27.271L26.8961 28.3571L30.8077 34.2332L31.0111 36.0305L30.7295 36.6165L29.7125 36.9682L28.6016 36.765L26.3094 33.5534L23.9468 29.9355L22.0379 26.6927L21.8032 26.8256L20.6767 38.9217L20.1526 39.539L18.94 40L17.9229 39.2342L17.3831 37.9918L17.9229 35.5304L18.5723 32.3188L19.0964 29.7636L19.5736 26.5911L19.8553 25.5362L19.8396 25.4659L19.6049 25.4972L17.211 28.7791L13.5732 33.6941L10.6943 36.7728L10.0059 37.0463L8.80892 36.429L8.91844 35.3272L9.58342 34.3426L13.5654 29.2792L15.9671 26.1379L17.5161 24.3251L17.5083 24.0594H17.4144L6.82965 30.9201L4.94426 31.1623L4.13065 30.4044L4.23235 29.1619L4.61569 28.7556L7.79973 26.5677L7.7919 26.5755V26.5833H7.84666Z"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="currentColor" aria-hidden="true" focusable="false" role="img">
2
+ <path d="M464 256a208 208 0 1 1 -416 0 208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0 256 256 0 1 0 -512 0zM232 120l0 136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2 280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24z"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="currentColor" aria-hidden="true" focusable="false" role="img">
2
+ <path d="M502.6 54.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L336 130.7 336 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 128c0 17.7 14.3 32 32 32l128 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-50.7 0 121.4-121.4zM80 272c-17.7 0-32 14.3-32 32s14.3 32 32 32l50.7 0-121.4 121.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L176 381.3 176 432c0 17.7 14.3 32 32 32s32-14.3 32-32l0-128c0-17.7-14.3-32-32-32L80 272z"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" fill="currentColor" aria-hidden="true" focusable="false" role="img">
2
+ <path d="M160 56c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 88-88 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l112 0c13.3 0 24-10.7 24-24l0-112zM24 320c-13.3 0-24 10.7-24 24s10.7 24 24 24l88 0 0 88c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-13.3-10.7-24-24-24L24 320zM336 56c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24l112 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-88 0 0-88zM312 320c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-88 88 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-112 0z"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512" fill="currentColor" aria-hidden="true" focusable="false" role="img">
2
+ <path d="M224 432c-97.2 0-176-78.8-176-176S126.8 80 224 80c15.9 0 31.4 2.1 46 6.1-47.8 41.1-78 102-78 169.9s30.3 128.8 78 169.9c-14.7 4-30.1 6.1-46 6.1zm17.1-156l157.8 0c-1.6 13.9-4.8 27.3-9.4 40l-139 0c-4.6-12.7-7.8-26.1-9.4-40zM320 403.5c-19.2-12.5-35.8-28.7-48.9-47.5l97.7 0c-13 18.8-29.6 35-48.9 47.5zM271.1 156c13-18.8 29.6-35 48.9-47.5 19.2 12.5 35.8 28.7 48.9 47.5l-97.7 0zm-20.7 40l139 0c4.6 12.7 7.8 26.1 9.4 40l-157.8 0c1.6-13.9 4.8-27.3 9.4-40zM224 480c34.4 0 66.9-7.7 96-21.6 29.1 13.8 61.6 21.6 96 21.6 123.7 0 224-100.3 224-224S539.7 32 416 32C381.6 32 349.1 39.7 320 53.6 290.9 39.7 258.4 32 224 32 100.3 32 0 132.3 0 256S100.3 480 224 480zM416 80c97.2 0 176 78.8 176 176S513.2 432 416 432c-15.9 0-31.4-2.1-46-6.1 47.8-41.1 78-102 78-169.9S417.7 127.2 370 86.1c14.7-4 30.1-6.1 46-6.1z"/>
3
+ </svg>