@pantheon-systems/pds-toolkit-react 1.0.0-dev.25 → 1.0.0-dev.251

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 (265) hide show
  1. package/README.md +31 -1
  2. package/_dist/components/Avatar/Avatar.d.ts +36 -0
  3. package/_dist/components/BranchDiff/BranchDiff.d.ts +43 -0
  4. package/_dist/components/CTALink/CTALink.d.ts +20 -0
  5. package/_dist/components/CTASlice/CTASlice.d.ts +43 -0
  6. package/_dist/components/Callout/Callout.d.ts +31 -0
  7. package/_dist/components/Callout/sample-callout-content.d.ts +2 -0
  8. package/_dist/components/CodeBlock/CodeBlock.d.ts +61 -0
  9. package/_dist/components/CodeBlock/code-examples.d.ts +5 -0
  10. package/_dist/components/CodeBlock/themes/index.d.ts +2 -0
  11. package/_dist/components/CodeBlock/themes/pdsDark.d.ts +2 -0
  12. package/_dist/components/CodeBlock/themes/pdsLight.d.ts +2 -0
  13. package/_dist/components/ComparisonList/ComparisonList.d.ts +42 -0
  14. package/_dist/components/DashboardStat/DashboardStat.d.ts +28 -0
  15. package/_dist/components/FileDiff/FileDiff.d.ts +35 -0
  16. package/_dist/components/FlowSteps/FlowSteps.d.ts +33 -0
  17. package/_dist/components/FlowSteps/example-steps.d.ts +15 -0
  18. package/_dist/components/LinkNewWindow/LinkNewWindow.d.ts +35 -0
  19. package/_dist/components/Modal/Modal.d.ts +44 -0
  20. package/_dist/components/Pagination/Pagination.d.ts +54 -0
  21. package/_dist/components/Pagination/usePagination.d.ts +7 -0
  22. package/_dist/components/PantheonLogo/PantheonLogo.d.ts +32 -0
  23. package/_dist/components/PantheonLogo/pantheon-logo-data.d.ts +4 -0
  24. package/_dist/components/Popover/Popover.d.ts +66 -0
  25. package/_dist/components/PullQuote/PullQuote.d.ts +34 -0
  26. package/_dist/components/RefreshChecker/RefreshChecker.d.ts +54 -0
  27. package/_dist/components/SiteDashboardHeading/SiteDashboardHeading.d.ts +28 -0
  28. package/_dist/components/Skiplink/Skiplink.d.ts +21 -0
  29. package/_dist/components/SocialLinks/SocialLinks.d.ts +23 -0
  30. package/_dist/components/StatusIndicator/StatusIndicator.d.ts +24 -0
  31. package/_dist/components/Stepper/Stepper.d.ts +49 -0
  32. package/_dist/components/Table/Table.d.ts +27 -0
  33. package/_dist/components/TableOfContents/TableOfContents.d.ts +45 -0
  34. package/_dist/components/Tabs/Tabs.d.ts +63 -0
  35. package/_dist/components/Tag/Tag.d.ts +39 -0
  36. package/_dist/components/ThemeSwitcher/ThemeSwitcher.d.ts +32 -0
  37. package/_dist/components/Tooltip/Tooltip.d.ts +51 -0
  38. package/_dist/components/VideoEmbed/VideoEmbed.d.ts +23 -0
  39. package/_dist/components/badges/IndicatorBadge/IndicatorBadge.d.ts +27 -0
  40. package/_dist/components/badges/StatusBadge/StatusBadge.d.ts +35 -0
  41. package/_dist/components/badges/Tally/Tally.d.ts +38 -0
  42. package/_dist/components/buttons/Button/Button.d.ts +66 -0
  43. package/_dist/components/buttons/ButtonLink/ButtonLink.d.ts +48 -0
  44. package/_dist/components/buttons/ClipboardButton/ClipboardButton.d.ts +31 -0
  45. package/_dist/components/buttons/CloseButton/CloseButton.d.ts +27 -0
  46. package/_dist/components/buttons/IconButton/IconButton.d.ts +50 -0
  47. package/_dist/components/buttons/MenuButton/MenuButton.d.ts +75 -0
  48. package/_dist/components/buttons/SegmentedButton/SegmentedButton.d.ts +63 -0
  49. package/_dist/components/buttons/SplitButton/SplitButton.d.ts +37 -0
  50. package/_dist/components/buttons/UtilityButton/UtilityButton.d.ts +56 -0
  51. package/_dist/components/cards/Card/Card.d.ts +29 -0
  52. package/_dist/components/cards/CardHeading/CardHeading.d.ts +32 -0
  53. package/_dist/components/cards/CardSelectGroup/CardSelectGroup.d.ts +60 -0
  54. package/_dist/components/cards/LinksCard/LinksCard.d.ts +29 -0
  55. package/_dist/components/cards/LinksCard/links-card-sample-data.d.ts +2 -0
  56. package/_dist/components/cards/NewSiteCard/NewSiteCard.d.ts +57 -0
  57. package/_dist/components/cards/PaymentCard/PaymentCard.d.ts +47 -0
  58. package/_dist/components/cards/PricingCard/PricingCard.d.ts +90 -0
  59. package/_dist/components/cards/SiteCard/SiteCard.d.ts +45 -0
  60. package/_dist/components/empty-states/CompactEmptyState/CompactEmptyState.d.ts +37 -0
  61. package/_dist/components/empty-states/HorizontalEmptyState/HorizontalEmptyState.d.ts +57 -0
  62. package/_dist/components/empty-states/VerticalEmptyState/VerticalEmptyState.d.ts +39 -0
  63. package/_dist/components/footer/FooterHeading/FooterHeading.d.ts +22 -0
  64. package/_dist/components/footer/FooterLinks/FooterLinks.d.ts +26 -0
  65. package/_dist/components/footer/SiteFooter/SiteFooter.d.ts +26 -0
  66. package/_dist/components/footer/SiteFooter/footer-content.d.ts +2 -0
  67. package/_dist/components/icons/Icon/Icon.d.ts +718 -0
  68. package/_dist/components/icons/PaymentIcon/PaymentIcon.d.ts +21 -0
  69. package/_dist/components/icons/PaymentIcon/svgData.d.ts +8 -0
  70. package/_dist/components/icons/PlatformIcon/PlatformIcon.d.ts +12 -0
  71. package/_dist/components/inputs/Checkbox/Checkbox.d.ts +96 -0
  72. package/_dist/components/inputs/CheckboxFieldset/CheckboxFieldset.d.ts +64 -0
  73. package/_dist/components/inputs/CheckboxGroup/CheckboxGroup.d.ts +80 -0
  74. package/_dist/components/inputs/Combobox/Combobox.d.ts +138 -0
  75. package/_dist/components/inputs/ComboboxMultiselect/ComboboxMultiselect.d.ts +83 -0
  76. package/_dist/components/inputs/FileUpload/FileUpload.d.ts +93 -0
  77. package/_dist/components/inputs/InputGroup/InputGroup.d.ts +19 -0
  78. package/_dist/components/inputs/RadioGroup/RadioGroup.d.ts +104 -0
  79. package/_dist/components/inputs/Select/Select.d.ts +122 -0
  80. package/_dist/components/inputs/Switch/Switch.d.ts +74 -0
  81. package/_dist/components/inputs/TextInput/TextInput.d.ts +139 -0
  82. package/_dist/components/inputs/Textarea/Textarea.d.ts +110 -0
  83. package/_dist/components/inputs/input-types.d.ts +1 -0
  84. package/_dist/components/inputs/input-utilities.d.ts +96 -0
  85. package/_dist/components/loading-indicators/Skeleton/Skeleton.d.ts +58 -0
  86. package/_dist/components/loading-indicators/Spinner/Spinner.d.ts +32 -0
  87. package/_dist/components/navigation/Breadcrumb/Breadcrumb.d.ts +23 -0
  88. package/_dist/components/navigation/ButtonNav/ButtonNav.d.ts +29 -0
  89. package/_dist/components/navigation/DashboardNav/DashboardNav.d.ts +35 -0
  90. package/_dist/components/navigation/DashboardNav/DashboardNavItem.d.ts +25 -0
  91. package/_dist/components/navigation/DashboardNav/dashboard-nav-utilities.d.ts +4 -0
  92. package/_dist/components/navigation/DashboardSearch/DashboardSearch.d.ts +70 -0
  93. package/_dist/components/navigation/DashboardSearch/SiteOptionDisplay.d.ts +39 -0
  94. package/_dist/components/navigation/DropdownMenu/DropdownMenu.d.ts +28 -0
  95. package/_dist/components/navigation/NavMenu/NavMenu.d.ts +43 -0
  96. package/_dist/components/navigation/NavMenu/NavMenuDropdown.d.ts +24 -0
  97. package/_dist/components/navigation/Navbar/Navbar.d.ts +60 -0
  98. package/_dist/components/navigation/SideNav/SideNav.d.ts +47 -0
  99. package/_dist/components/navigation/SideNavCompact/SideNavCompact.d.ts +47 -0
  100. package/_dist/components/navigation/TabMenu/TabMenu.d.ts +43 -0
  101. package/_dist/components/navigation/TabMenu/TabMenuDropdown.d.ts +33 -0
  102. package/_dist/components/navigation/UserMenu/UserMenu.d.ts +69 -0
  103. package/_dist/components/navigation/WorkspaceSelector/WorkspaceSelector.d.ts +89 -0
  104. package/_dist/components/navigation/navigation-types.d.ts +33 -0
  105. package/_dist/components/navigation/navigation-utilities.d.ts +7 -0
  106. package/_dist/components/notifications/Banner/Banner.d.ts +47 -0
  107. package/_dist/components/notifications/InlineMessage/InlineMessage.d.ts +37 -0
  108. package/_dist/components/notifications/SectionMessage/SectionMessage.d.ts +47 -0
  109. package/_dist/components/notifications/Toaster/Toast.d.ts +46 -0
  110. package/_dist/components/notifications/Toaster/Toaster.d.ts +29 -0
  111. package/_dist/components/notifications/Toaster/useToast.d.ts +14 -0
  112. package/_dist/components/panels/ExpansionPanel/ExpansionPanel.d.ts +32 -0
  113. package/_dist/components/panels/ExpansionPanelGroup/ExpansionPanelGroup.d.ts +24 -0
  114. package/_dist/components/panels/Panel/Panel.d.ts +35 -0
  115. package/_dist/components/panels/PanelList/PanelList.d.ts +28 -0
  116. package/_dist/components/panels/PanelList/PanelRow.d.ts +27 -0
  117. package/_dist/components/progress-indicators/ProgressBar/ProgressBar.d.ts +53 -0
  118. package/_dist/components/progress-indicators/ProgressRing/ProgressRing.d.ts +41 -0
  119. package/_dist/components/tiles/AvatarTileList/AvatarTileList.d.ts +28 -0
  120. package/_dist/components/tiles/Tile/Tile.d.ts +42 -0
  121. package/_dist/components/tiles/TileGrid/TileGrid.d.ts +29 -0
  122. package/_dist/css/component-css/pds-avatar-tile-list.css +1 -0
  123. package/_dist/css/component-css/pds-avatar.css +1 -0
  124. package/_dist/css/component-css/pds-banner.css +1 -0
  125. package/_dist/css/component-css/pds-branch-diff.css +1 -0
  126. package/_dist/css/component-css/pds-breadcrumb.css +1 -0
  127. package/_dist/css/component-css/pds-button-link.css +1 -0
  128. package/_dist/css/component-css/pds-button-nav.css +1 -0
  129. package/_dist/css/component-css/pds-button.css +45 -0
  130. package/_dist/css/component-css/pds-callout.css +1 -0
  131. package/_dist/css/component-css/pds-card-heading.css +1 -0
  132. package/_dist/css/component-css/pds-card-select-group.css +1 -0
  133. package/_dist/css/component-css/pds-card.css +1 -0
  134. package/_dist/css/component-css/pds-checkbox-group.css +1 -0
  135. package/_dist/css/component-css/pds-checkbox.css +1 -0
  136. package/_dist/css/component-css/pds-clipboard-button.css +0 -0
  137. package/_dist/css/component-css/pds-close-button.css +1 -0
  138. package/_dist/css/component-css/pds-code-block.css +1 -0
  139. package/_dist/css/component-css/pds-combobox-multiselect.css +2 -0
  140. package/_dist/css/component-css/pds-combobox.css +1 -0
  141. package/_dist/css/component-css/pds-compact-empty-state.css +1 -0
  142. package/_dist/css/component-css/pds-comparison-list.css +1 -0
  143. package/_dist/css/component-css/pds-cta-link.css +1 -0
  144. package/_dist/css/component-css/pds-cta-slice.css +1 -0
  145. package/_dist/css/component-css/pds-dashboard-nav.css +5 -0
  146. package/_dist/css/component-css/pds-dashboard-search.css +1 -0
  147. package/_dist/css/component-css/pds-dashboard-stat.css +1 -0
  148. package/_dist/css/component-css/pds-dropdown-menu.css +2 -0
  149. package/_dist/css/component-css/pds-expansion-panel-group.css +1 -0
  150. package/_dist/css/component-css/pds-expansion-panel.css +1 -0
  151. package/_dist/css/component-css/pds-file-diff.css +1 -0
  152. package/_dist/css/component-css/pds-file-upload.css +7 -0
  153. package/_dist/css/component-css/pds-flow-steps.css +1 -0
  154. package/_dist/css/component-css/pds-footer-heading.css +1 -0
  155. package/_dist/css/component-css/pds-footer-links.css +1 -0
  156. package/_dist/css/component-css/pds-horizontal-empty-state.css +1 -0
  157. package/_dist/css/component-css/pds-icon-button.css +13 -0
  158. package/_dist/css/component-css/pds-icon-story-only.css +1 -0
  159. package/_dist/css/component-css/pds-index.css +115 -0
  160. package/_dist/css/component-css/pds-indicator-badge.css +39 -0
  161. package/_dist/css/component-css/pds-inline-message.css +1 -0
  162. package/_dist/css/component-css/pds-input-group.css +1 -0
  163. package/_dist/css/component-css/pds-input-utilities.css +1 -0
  164. package/_dist/css/component-css/pds-link-new-window.css +1 -0
  165. package/_dist/css/component-css/pds-links-card.css +1 -0
  166. package/_dist/css/component-css/pds-menu-button.css +1 -0
  167. package/_dist/css/component-css/pds-modal.css +1 -0
  168. package/_dist/css/component-css/pds-nav-menu.css +5 -0
  169. package/_dist/css/component-css/pds-navbar.css +1 -0
  170. package/_dist/css/component-css/pds-new-site-card.css +1 -0
  171. package/_dist/css/component-css/pds-pagination.css +1 -0
  172. package/_dist/css/component-css/pds-panel-list.css +1 -0
  173. package/_dist/css/component-css/pds-panel.css +1 -0
  174. package/_dist/css/component-css/pds-pantheon-logo.css +1 -0
  175. package/_dist/css/component-css/pds-payment-card.css +1 -0
  176. package/_dist/css/component-css/pds-payment-icon.css +1 -0
  177. package/_dist/css/component-css/pds-platform-icon.css +1 -0
  178. package/_dist/css/component-css/pds-popover.css +1 -0
  179. package/_dist/css/component-css/pds-pricing-card-local.css +1 -0
  180. package/_dist/css/component-css/pds-pricing-card.css +1 -0
  181. package/_dist/css/component-css/pds-progress-bar.css +1 -0
  182. package/_dist/css/component-css/pds-progress-ring.css +1 -0
  183. package/_dist/css/component-css/pds-pull-quote.css +1 -0
  184. package/_dist/css/component-css/pds-radio-group.css +1 -0
  185. package/_dist/css/component-css/pds-refresh-checker.css +1 -0
  186. package/_dist/css/component-css/pds-section-message.css +1 -0
  187. package/_dist/css/component-css/pds-segmented-button.css +1 -0
  188. package/_dist/css/component-css/pds-select.css +1 -0
  189. package/_dist/css/component-css/pds-side-nav-compact.css +1 -0
  190. package/_dist/css/component-css/pds-side-nav.css +1 -0
  191. package/_dist/css/component-css/pds-site-card.css +1 -0
  192. package/_dist/css/component-css/pds-site-dashboard-heading.css +1 -0
  193. package/_dist/css/component-css/pds-site-footer.css +1 -0
  194. package/_dist/css/component-css/pds-skeleton.css +1 -0
  195. package/_dist/css/component-css/pds-skiplink.css +1 -0
  196. package/_dist/css/component-css/pds-social-links.css +1 -0
  197. package/_dist/css/component-css/pds-spinner.css +1 -0
  198. package/_dist/css/component-css/pds-split-button.css +2 -0
  199. package/_dist/css/component-css/pds-status-badge.css +1 -0
  200. package/_dist/css/component-css/pds-status-indicator.css +1 -0
  201. package/_dist/css/component-css/pds-stepper.css +1 -0
  202. package/_dist/css/component-css/pds-switch.css +3 -0
  203. package/_dist/css/component-css/pds-tab-menu.css +2 -0
  204. package/_dist/css/component-css/pds-table-of-contents.css +1 -0
  205. package/_dist/css/component-css/pds-table.css +1 -0
  206. package/_dist/css/component-css/pds-tabs.css +1 -0
  207. package/_dist/css/component-css/pds-tag.css +1 -0
  208. package/_dist/css/component-css/pds-tally.css +1 -0
  209. package/_dist/css/component-css/pds-text-input.css +1 -0
  210. package/_dist/css/component-css/pds-textarea.css +1 -0
  211. package/_dist/css/component-css/pds-theme-switcher.css +1 -0
  212. package/_dist/css/component-css/pds-tile.css +1 -0
  213. package/_dist/css/component-css/pds-tiles-common.css +1 -0
  214. package/_dist/css/component-css/pds-toaster.css +1 -0
  215. package/_dist/css/component-css/pds-tooltip.css +1 -0
  216. package/_dist/css/component-css/pds-user-menu-story-only.css +1 -0
  217. package/_dist/css/component-css/pds-user-menu.css +1 -0
  218. package/_dist/css/component-css/pds-utility-button.css +1 -0
  219. package/_dist/css/component-css/pds-vertical-empty-state.css +1 -0
  220. package/_dist/css/component-css/pds-video-embed.css +1 -0
  221. package/_dist/css/component-css/pds-workspace-selector.css +1 -0
  222. package/_dist/css/design-tokens/pds-design-tokens-dark-mode.css +206 -0
  223. package/_dist/css/design-tokens/pds-design-tokens-light-mode.css +315 -0
  224. package/_dist/css/design-tokens/pds-design-tokens.css +131 -0
  225. package/_dist/css/pds-components.css +102 -94
  226. package/_dist/css/pds-core.css +6 -2
  227. package/_dist/css/pds-layouts.css +8 -1
  228. package/_dist/index.css +1 -0
  229. package/_dist/index.d.ts +116 -0
  230. package/_dist/index.js +11964 -0
  231. package/_dist/index.js.map +1 -0
  232. package/_dist/layouts/Container/Container.d.ts +25 -0
  233. package/_dist/layouts/DashboardGlobal/DashboardGlobal.d.ts +57 -0
  234. package/_dist/layouts/DashboardInner/DashboardInner.d.ts +29 -0
  235. package/_dist/layouts/DocsLayout/DocsLayout.d.ts +20 -0
  236. package/_dist/layouts/FlexContainer/FlexContainer.d.ts +72 -0
  237. package/_dist/layouts/GlobalWrapper/GlobalWrapper.d.ts +19 -0
  238. package/_dist/layouts/SidebarLayout/SidebarLayout.d.ts +36 -0
  239. package/_dist/layouts/StepperLayout/StepperLayout.d.ts +20 -0
  240. package/_dist/layouts/ThreeItemLayout/ThreeItemLayout.d.ts +30 -0
  241. package/_dist/layouts/TwoItemLayout/TwoItemLayout.d.ts +34 -0
  242. package/_dist/layouts/layout-types.d.ts +2 -0
  243. package/_dist/libs/components/utility-components.d.ts +15 -0
  244. package/_dist/libs/components/utils.d.ts +5 -0
  245. package/_dist/libs/types/custom-types.d.ts +106 -0
  246. package/_dist/mocks/data/navigation-items.d.ts +388 -0
  247. package/_dist/mocks/data/pagination-items.d.ts +16 -0
  248. package/_dist/mocks/markup/dashboard-main-content.d.ts +10 -0
  249. package/_dist/mocks/markup/dashboard-navigation.d.ts +11 -0
  250. package/_dist/mocks/markup/inputs.d.ts +2 -0
  251. package/_dist/mocks/markup/modal.d.ts +2 -0
  252. package/_dist/mocks/markup/panel-row-content.d.ts +10 -0
  253. package/_dist/utilities/context-providers/ResponsiveContext/ResponsiveContext.d.ts +6 -0
  254. package/_dist/utilities/hooks/useClipboard.d.ts +6 -0
  255. package/_dist/utilities/hooks/useKeyPress.d.ts +1 -0
  256. package/_dist/utilities/hooks/useWindowWidth.d.ts +1 -0
  257. package/_dist/vars/animation.d.ts +5 -0
  258. package/_dist/vars/spacing.d.ts +36 -0
  259. package/_dist/vars/type-scale.d.ts +28 -0
  260. package/_dist/vars/z-index.d.ts +5 -0
  261. package/package.json +91 -44
  262. package/_dist/cjs/index.js +0 -98
  263. package/_dist/cjs/index.js.map +0 -1
  264. package/_dist/esm/index.js +0 -98
  265. package/_dist/esm/index.js.map +0 -1
package/README.md CHANGED
@@ -1,7 +1,37 @@
1
1
  # pds-toolkit-react
2
2
 
3
- React Toolkit for the Pantheon Design System
3
+ ## React Toolkit for the Pantheon Design System
4
4
 
5
5
  This toolkit provides assets for use within a React project and a Storybook instance to preview the components.
6
6
 
7
7
  [Published Storybook](https://live-pds-toolkit-react.appa.pantheon.site/)
8
+
9
+ ## Toolkit philosophy and scope
10
+
11
+ The intent of this toolkit is to provide a React-based implementation of the Pantheon Design System (PDS) with a focus on semantics, accessibility, visual design, and user-interface design.
12
+
13
+ This toolkit should not contain processes or mechanisms used for data manipulation, business logic, or similar. Therefore, processes such as form handling, routing, and language translation should be handled within the application that is consuming the toolkit.
14
+
15
+ Each component will contain a documentation page within Storybook that provides usage notes, implementation instructions, and expected data structure for that particular component.
16
+
17
+ ### Content within components
18
+
19
+ Content should not live within components with a few exceptions — the Social Links component and the links in the legal section of the SiteFooter component. To maintain consistency between all of our digital properties, these links will originate from the design system.
20
+
21
+ ## Implementation instructions
22
+
23
+ The toolkit consists of a global stylesheet and React components. Both are required for the toolkit to function as intended.
24
+
25
+ The global stylesheet — `pds-core.css` — provides the base styles for the toolkit including foundations, utilities, and color variables. This stylesheet should be applied at the root of the application.
26
+
27
+ The React components are imported and used within the application as needed. Component-specific styles are imported and applied automatically when the component is used.
28
+
29
+ Components should be imported using named imports. For example:
30
+
31
+ ```js
32
+ import { Container, SidebarLayout } from '@pantheon-systems/pds-toolkit-react';
33
+ ```
34
+
35
+ ### Avoid style conflicts
36
+
37
+ This toolkit is not intended to be used in conjunction with other CSS frameworks. Doing so may result in unexpected behavior and/or visual conflicts.
@@ -0,0 +1,36 @@
1
+ import React, { ComponentPropsWithoutRef, ReactNode } from 'react';
2
+ import './avatar.css';
3
+ export interface AvatarProps extends ComponentPropsWithoutRef<'div'> {
4
+ /**
5
+ * Aria label for the avatar when used as a link. This is required if using a link.
6
+ */
7
+ ariaLabel?: string;
8
+ /**
9
+ * If true, a user icon will be displayed with the fallback gradient when an image is not provided.
10
+ */
11
+ hasUserFallback?: boolean;
12
+ /**
13
+ * Avatar image.
14
+ */
15
+ imageSrc?: string;
16
+ /**
17
+ * A link element using the router of your choice. Leave empty for no link.
18
+ */
19
+ linkContent?: ReactNode;
20
+ /**
21
+ * Avatar size.
22
+ */
23
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
24
+ /**
25
+ * Unique ID associated with the avatar. Can be workspace ID, user ID, email, etc.
26
+ */
27
+ uniqueId?: string;
28
+ /**
29
+ * Additional class names
30
+ */
31
+ className?: string;
32
+ }
33
+ /**
34
+ * Avatar UI component
35
+ */
36
+ export declare const Avatar: ({ ariaLabel, hasUserFallback, imageSrc, linkContent, size, uniqueId, className, ...props }: AvatarProps) => React.JSX.Element;
@@ -0,0 +1,43 @@
1
+ import React, { ComponentPropsWithoutRef } from 'react';
2
+ import './branch-diff.css';
3
+ /**
4
+ * Prop types for BranchDiff
5
+ */
6
+ export interface BranchDiffProps extends ComponentPropsWithoutRef<'div'> {
7
+ /**
8
+ * Is the component in the process of loading?
9
+ */
10
+ isLoading?: boolean;
11
+ /**
12
+ * Text to be displayed in tooltip while component is loading.
13
+ */
14
+ loadingText?: string;
15
+ /**
16
+ * The number of commits the current branch is ahead of its upstream branch.
17
+ */
18
+ numberAhead: number;
19
+ /**
20
+ * A description for the `numberAhead` value.
21
+ */
22
+ numberAheadDescription?: string;
23
+ /**
24
+ * The number of commits the current branch is behind its upstream branch.
25
+ */
26
+ numberBehind: number;
27
+ /**
28
+ * A description for the `numberBehind` value.
29
+ */
30
+ numberBehindDescription?: string;
31
+ /**
32
+ * Custom width in rems for the component. This will override the default.
33
+ */
34
+ componentWidth?: number;
35
+ /**
36
+ * Additional class names
37
+ */
38
+ className?: string;
39
+ }
40
+ /**
41
+ * BranchDiff UI component
42
+ */
43
+ export declare const BranchDiff: ({ isLoading, loadingText, numberAhead, numberAheadDescription, numberBehind, numberBehindDescription, componentWidth, className, ...props }: BranchDiffProps) => React.JSX.Element;
@@ -0,0 +1,20 @@
1
+ import React, { ComponentPropsWithoutRef, ReactNode } from 'react';
2
+ import './cta-link.css';
3
+ export interface CTALinkProps extends ComponentPropsWithoutRef<'div'> {
4
+ /**
5
+ * A link element using the router of your choice.
6
+ */
7
+ linkContent?: ReactNode;
8
+ /**
9
+ * Size of link
10
+ */
11
+ size?: 'sm' | 'md';
12
+ /**
13
+ * Additional class names
14
+ */
15
+ className?: string;
16
+ }
17
+ /**
18
+ * CTA Link UI component
19
+ */
20
+ export declare const CTALink: ({ linkContent, size, className, ...props }: CTALinkProps) => React.JSX.Element;
@@ -0,0 +1,43 @@
1
+ import React, { ComponentPropsWithoutRef, ReactNode } from 'react';
2
+ import { ContainerWidth, HeadingLevel } from '@libs/types/custom-types';
3
+ import './../buttons/Button/button.css';
4
+ import './cta-slice.css';
5
+ interface CTASliceProps extends ComponentPropsWithoutRef<'div'> {
6
+ /**
7
+ * Background color of slice
8
+ */
9
+ backgroundColor?: 'default' | 'secondary';
10
+ /**
11
+ * PDS container width.
12
+ */
13
+ containerWidth?: ContainerWidth;
14
+ /**
15
+ * Heading level
16
+ */
17
+ headingLevel?: HeadingLevel;
18
+ /**
19
+ * Heading text
20
+ */
21
+ headingText: string;
22
+ /**
23
+ * Further explain block
24
+ */
25
+ leadText?: string;
26
+ /**
27
+ * Primary link content
28
+ */
29
+ primaryLinkContent: ReactNode;
30
+ /**
31
+ * Optional secondary link content
32
+ */
33
+ secondaryLinkContent?: ReactNode;
34
+ /**
35
+ * Additional class names
36
+ */
37
+ className?: string;
38
+ }
39
+ /**
40
+ * CTA Slice UI component
41
+ */
42
+ export declare const CTASlice: ({ backgroundColor, containerWidth, headingLevel, headingText, leadText, primaryLinkContent, secondaryLinkContent, className, ...props }: CTASliceProps) => React.JSX.Element;
43
+ export {};
@@ -0,0 +1,31 @@
1
+ import React, { ComponentPropsWithoutRef } from 'react';
2
+ import './callout.css';
3
+ type CalloutType = 'info' | 'success' | 'warning' | 'critical' | 'discovery' | 'code' | 'earlyAccess';
4
+ type TypeLabels = Record<CalloutType, string>;
5
+ export interface CalloutProps extends ComponentPropsWithoutRef<'div'> {
6
+ /**
7
+ * Callout main content.
8
+ */
9
+ children: React.ReactNode;
10
+ /**
11
+ * Callout title.
12
+ */
13
+ title: string;
14
+ /**
15
+ * Callout type.
16
+ */
17
+ type?: CalloutType;
18
+ /**
19
+ * Callout type labels. Provide translation strings if necessary.
20
+ */
21
+ typeLabels?: TypeLabels;
22
+ /**
23
+ * Additional class names
24
+ */
25
+ className?: string;
26
+ }
27
+ /**
28
+ * Callout UI component
29
+ */
30
+ export declare const Callout: ({ children, title, type, typeLabels, className, ...props }: CalloutProps) => React.JSX.Element;
31
+ export {};
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const infoCalloutSample: React.JSX.Element;
@@ -0,0 +1,61 @@
1
+ import React, { ComponentPropsWithoutRef } from 'react';
2
+ import 'prismjs/components/prism-bash';
3
+ import 'prismjs/components/prism-diff';
4
+ import './code-block.css';
5
+ type SupportedLanguages = 'bash' | 'css' | 'diff' | 'html' | 'js' | 'json' | 'jsx' | 'ts' | 'tsx' | 'yaml';
6
+ /**
7
+ * Prop types for CodeBlock
8
+ */
9
+ export interface CodeBlockProps extends ComponentPropsWithoutRef<'div'> {
10
+ /**
11
+ * Code to display.
12
+ */
13
+ code: string;
14
+ /**
15
+ * Color type. Default is dark.
16
+ */
17
+ colorType?: 'dark' | 'light';
18
+ /**
19
+ * Copy button label. Aria-label and tooltip text for the copy button.
20
+ */
21
+ copyButtonLabel?: string;
22
+ /**
23
+ * Show copy button.
24
+ */
25
+ hasCopyButton?: boolean;
26
+ /**
27
+ * Show line numbers.
28
+ */
29
+ hasLineNumbers?: boolean;
30
+ /**
31
+ * Show prompt. A prompt and and line numbers cannot be shown at the same time.
32
+ * If both are set to true, line numbers will be shown.
33
+ */
34
+ hasPrompt?: boolean;
35
+ /**
36
+ * Language for optional syntax highlighting.
37
+ */
38
+ language?: SupportedLanguages;
39
+ /**
40
+ * Maximum height for the code block in `rem`.
41
+ */
42
+ maxHeight?: number;
43
+ /**
44
+ * Prompt symbol. Default is '$'.
45
+ */
46
+ promptSymbol?: string;
47
+ /**
48
+ * Should wrap the code block
49
+ * Default is false
50
+ */
51
+ shouldWrap?: boolean;
52
+ /**
53
+ * Additional class names
54
+ */
55
+ className?: string;
56
+ }
57
+ /**
58
+ * CodeBlock UI component
59
+ */
60
+ export declare const CodeBlock: ({ code, colorType, copyButtonLabel, hasCopyButton, hasLineNumbers, hasPrompt, language, maxHeight, promptSymbol, shouldWrap, className, ...props }: CodeBlockProps) => React.JSX.Element;
61
+ export {};
@@ -0,0 +1,5 @@
1
+ export declare const logExample = "Already have image (with digest): us-docker.pkg.dev/prod-decoupled-shared/build-tools/pantheon-build:v1.0.8-node20\nThe framework expected according to the configuration is: gatsby.\nThe framework detected from the code is: vite\nERROR: Invalid option: false\ndeprecated-tools [options]\nUsage:\n deprecated-tools -t node --min-version 18 [--max-version 20] --message-format \"Node version should be between %s and %s\" --message-data \"18 20\"\n deprecated-tools -f .nvmrc --message-format \"The file %s is deprecated\" --message-data \".nvmrc\"\n\n -t, --tool <tool> Check if a tool is deprecated\n --min-version <ver> Minimum version supported for the tool\n --max-version <ver> Max version supported for the tool\n --message-format <format> Format of the deprecation message\n --message-data <data> Array of data to use in the deprecation message\n -f, --file <file> Check if a file is deprecated\n --message-format <format> Format of the deprecation message\n --message-data <data> Array of data to use in the deprecation message\n -h, --help Display this help message\nnpm WARN deprecated rimraf@2.6.3: Rimraf versions prior to v4 are no longer supported\nnpm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported\n\n> @pantheon-systems/pds-toolkit-react@1.0.0-dev.213 prepare\n> husky install\n\nhusky - Git hooks installed";
2
+ export declare const reactExample = "export const ControlledExample = () => {\n const defaultValue = 'This is a default value';\n const [value, setValue] = useState(defaultValue);\n\n // This is a comment for this component.\n return (\n <TextInput\n id='text-input-controlled-example'\n label='Controlled Input example'\n type='text'\n hasClearButton={true}\n onClear={() => {\n setValue('');\n }}\n onChange={(event: ChangeEvent<HTMLInputElement>) => setValue(event.target.value)}\n value={value}\n />\n );\n};";
3
+ export declare const cssExample = "@design-tokens url('node_modules://@pantheon-systems/pds-design-tokens/build/json/pds-design-tokens.json') format('style-dictionary3');\n\n.pds-file-diff {\n align-items: center;\n display: flex;\n gap: 0.25rem;\n height: 1.0625rem;\n max-width: 100%;\n width: 100%;\n\n .pds-file-diff__total-changes {\n color: var(--pds-color-foreground-default-secondary);\n font-size: token('typography.size.XS' to rem);\n }\n\n .pds-file-diff__bars {\n align-items: center;\n display: flex;\n gap: 0.125rem;\n width: 100%;\n }\n\n .pds-file-diff__behind {\n position: relative;\n\n .pds-file-diff__behind-bar {\n background-color: var(--pds-color-status-critical-utility);\n border-bottom-left-radius: 6.25rem;\n border-top-left-radius: 6.25rem;\n height: 8px;\n min-width: 1px;\n right: 0px;\n transition: width 0.3s ease;\n width: 100%;\n }\n }\n\n .pds-file-diff__ahead {\n position: relative;\n\n .pds-file-diff__ahead-bar {\n background-color: var(--pds-color-status-success-utility);\n border-bottom-right-radius: 6.25rem;\n border-top-right-radius: 6.25rem;\n height: 8px;\n left: 0px;\n min-width: 1px;\n transition: width 0.3s ease;\n width: 100%;\n }\n }\n\n .pds-file-diff__tooltip {\n display: block;\n padding-inline: 0;\n }\n}\n";
4
+ export declare const diffExample = "diff --git a/influitive/index.css b/influitive/index.css\nindex 2069af6..b347ca3 100644\n--- a/influitive/index.css\n+++ b/influitive/index.css\n@@ -1,4 +1,4 @@\n #nav-container ul li.c-nav-list-item a.c-nav-item {\n font-weight: 500 !important;\n- font-family: 'Poppins', san-serif !important;\n+ font-family: 'Poppins', sans-serif !important;\n }";
5
+ export declare const twigExample = "<div class=\"pds-status-badge pds-status-badge--{{ color|default('transparent')}}{% if extra_classes %} {{ extra_classes }}{% endif %}\">\n\n {% if has_status_indicator %}\n <span class=\"pds-status-badge__status pds-status-badge__status--{{ status_type }}\">\n {% if status_type %}\n <span class=\"visually-hidden\">Status: {{ status_type }}</span>\n {% endif %}\n </span>\n {% endif %}\n\n <span class=\"pds-status-badge__label\">{{ label }}</span>\n</div>";
@@ -0,0 +1,2 @@
1
+ export * from './pdsDark';
2
+ export * from './pdsLight';
@@ -0,0 +1,2 @@
1
+ import type { PrismTheme } from 'prism-react-renderer';
2
+ export declare const pdsDark: PrismTheme;
@@ -0,0 +1,2 @@
1
+ import type { PrismTheme } from 'prism-react-renderer';
2
+ export declare const pdsLight: PrismTheme;
@@ -0,0 +1,42 @@
1
+ import React, { ComponentPropsWithoutRef, ReactNode } from 'react';
2
+ import './comparison-list.css';
3
+ interface TypeLabels {
4
+ included: string;
5
+ notIncluded: string;
6
+ addon: string;
7
+ }
8
+ export interface ListItems {
9
+ text: string;
10
+ type: 'included' | 'notIncluded' | 'addon';
11
+ }
12
+ export interface ComparisonListProps extends ComponentPropsWithoutRef<'div'> {
13
+ /**
14
+ * Icon labels
15
+ */
16
+ typeLabels?: TypeLabels;
17
+ /**
18
+ * List items
19
+ */
20
+ listItems?: ListItems[];
21
+ /**
22
+ * Text preceding the list. Optional.
23
+ */
24
+ listLabel?: string;
25
+ /**
26
+ * A link element using the router of your choice. Will be displayed below the list. Optional.
27
+ */
28
+ moreLink?: ReactNode;
29
+ /**
30
+ * Render the icon labels for screen readers.
31
+ */
32
+ renderTypeLabels?: boolean;
33
+ /**
34
+ * Additional class names
35
+ */
36
+ className?: string;
37
+ }
38
+ /**
39
+ * ComparisonList UI component
40
+ */
41
+ export declare const ComparisonList: ({ listItems, listLabel, moreLink, renderTypeLabels, typeLabels, className, ...props }: ComparisonListProps) => React.JSX.Element;
42
+ export {};
@@ -0,0 +1,28 @@
1
+ import React, { ComponentPropsWithoutRef } from 'react';
2
+ import './dashboard-stat.css';
3
+ export type DashBoardStatStatus = 'success' | 'warning' | 'launch' | 'error' | 'ready' | 'notReady';
4
+ /**
5
+ * Prop types for DashboardStat
6
+ */
7
+ export interface DashboardStatProps extends ComponentPropsWithoutRef<'div'> {
8
+ /**
9
+ * Title of the stat, displayed as the main heading of the component.
10
+ */
11
+ title?: string;
12
+ /**
13
+ * Status of the stat, which determines the icon and icon color.
14
+ */
15
+ status?: DashBoardStatStatus;
16
+ /**
17
+ * Value of the stat, displayed next to the status icon.
18
+ */
19
+ stat?: string | number;
20
+ /**
21
+ * Additional class names.
22
+ */
23
+ className?: string;
24
+ }
25
+ /**
26
+ * DashboardStat UI component
27
+ */
28
+ export declare const DashboardStat: ({ title, status, stat, className, ...props }: DashboardStatProps) => React.JSX.Element;
@@ -0,0 +1,35 @@
1
+ import React, { ComponentPropsWithoutRef } from 'react';
2
+ import './file-diff.css';
3
+ /**
4
+ * Prop types for FileDiff
5
+ */
6
+ export interface FileDiffProps extends ComponentPropsWithoutRef<'div'> {
7
+ /**
8
+ * Number of added lines (green bar).
9
+ */
10
+ additions: number;
11
+ /**
12
+ * Number of removed lines (red bar).
13
+ */
14
+ deletions: number;
15
+ /**
16
+ * Object with strings for tooltips and screen reader labels.
17
+ */
18
+ labelStrings?: {
19
+ linesChanged?: string;
20
+ additions?: string;
21
+ deletions?: string;
22
+ };
23
+ /**
24
+ * Custom width in rems for the component. This will override the default.
25
+ */
26
+ componentWidth?: number;
27
+ /**
28
+ * Additional class names
29
+ */
30
+ className?: string;
31
+ }
32
+ /**
33
+ * FileDiff UI component
34
+ */
35
+ export declare const FileDiff: ({ additions, deletions, labelStrings, className, componentWidth, ...props }: FileDiffProps) => React.JSX.Element;
@@ -0,0 +1,33 @@
1
+ import React, { ComponentPropsWithoutRef, ReactNode } from 'react';
2
+ import './flow-steps.css';
3
+ export type FlowStep = {
4
+ /**
5
+ * The header text of the step
6
+ */
7
+ header: string | ReactNode;
8
+ /**
9
+ * The content of the step
10
+ */
11
+ content?: string | ReactNode;
12
+ };
13
+ /**
14
+ * Prop types for FlowSteps
15
+ */
16
+ export interface FlowStepsProps extends ComponentPropsWithoutRef<'ol'> {
17
+ /**
18
+ * Alignment of the step content.
19
+ */
20
+ contentAlignment?: 'indented' | 'left';
21
+ /**
22
+ * The list of steps to display.
23
+ */
24
+ steps: FlowStep[];
25
+ /**
26
+ * Additional class names
27
+ */
28
+ className?: string;
29
+ }
30
+ /**
31
+ * FlowSteps UI component
32
+ */
33
+ export declare const FlowSteps: ({ contentAlignment, steps, className, ...props }: FlowStepsProps) => React.JSX.Element;
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ export declare const stepsWithoutExtraContent: {
3
+ header: string;
4
+ }[];
5
+ export declare const stepsWithCode: ({
6
+ header: string;
7
+ content: React.JSX.Element;
8
+ } | {
9
+ header: React.JSX.Element;
10
+ content: React.JSX.Element;
11
+ })[];
12
+ export declare const stepsWithText: {
13
+ header: string;
14
+ content: string;
15
+ }[];
@@ -0,0 +1,35 @@
1
+ import React, { ComponentPropsWithoutRef, ReactNode } from 'react';
2
+ import './link-new-window.css';
3
+ /**
4
+ * Prop types for LinkNewWindow
5
+ */
6
+ export interface LinkNewWindowProps extends ComponentPropsWithoutRef<'a'> {
7
+ /**
8
+ * Content for the LinkNewWindow.
9
+ */
10
+ children?: ReactNode;
11
+ /**
12
+ * Optional font size for the LinkNewWindow. If not provided, the font size will be inherited from the parent element.
13
+ */
14
+ fontSize?: 'sm' | 'md' | 'lg';
15
+ /**
16
+ * Is the link in the process of loading?
17
+ */
18
+ isLoading?: boolean;
19
+ /**
20
+ * Translation string for the "opens in a new window" message.
21
+ */
22
+ newWindowText?: string;
23
+ /**
24
+ * URL where the component should link to.
25
+ */
26
+ url: string;
27
+ /**
28
+ * Additional class names
29
+ */
30
+ className?: string;
31
+ }
32
+ /**
33
+ * LinkNewWindow UI component
34
+ */
35
+ export declare const LinkNewWindow: ({ children, fontSize, isLoading, newWindowText, url, className, ...props }: LinkNewWindowProps) => React.JSX.Element;
@@ -0,0 +1,44 @@
1
+ import React, { ComponentPropsWithoutRef, ReactNode } from 'react';
2
+ import './modal.css';
3
+ export interface ModalProps extends ComponentPropsWithoutRef<'div'> {
4
+ /**
5
+ * Aria label that describes the modal. Will default to the title if not provided.
6
+ */
7
+ ariaLabel?: string;
8
+ /**
9
+ * Main content for modal.
10
+ */
11
+ children?: ReactNode;
12
+ /**
13
+ * Text for close button aria-label attribute. Only used if hasCloseButton is true.
14
+ */
15
+ closeButtonLabel?: string;
16
+ /**
17
+ * Indicates if the built-in close button will be shown.
18
+ */
19
+ hasCloseButton?: boolean;
20
+ /**
21
+ * Is the modal open?
22
+ */
23
+ modalIsOpen?: boolean;
24
+ /**
25
+ * Function to set the modal open state.
26
+ */
27
+ setModalIsOpen?: (isOpen: boolean) => void;
28
+ /**
29
+ * The width of the modal.
30
+ */
31
+ size?: 'sm' | 'md' | 'lg' | 'xl';
32
+ /**
33
+ * Text for modal title
34
+ */
35
+ title: string;
36
+ /**
37
+ * Additional class names
38
+ */
39
+ className?: string;
40
+ }
41
+ /**
42
+ * Modal UI component
43
+ */
44
+ export declare const Modal: ({ ariaLabel, children, closeButtonLabel, hasCloseButton, modalIsOpen, setModalIsOpen, size, title, className, ...props }: ModalProps) => React.JSX.Element;
@@ -0,0 +1,54 @@
1
+ import React, { ComponentPropsWithoutRef } from 'react';
2
+ import { HeadingLevelCommon } from '@libs/types/custom-types';
3
+ import './pagination.css';
4
+ /**
5
+ * Prop types for Pagination
6
+ */
7
+ export interface PaginationProps extends ComponentPropsWithoutRef<'nav'> {
8
+ /**
9
+ * Minimum number of page buttons to buffer on either side of the current page.
10
+ * This will change the number of page buttons shown in total.
11
+ */
12
+ bufferCount?: number;
13
+ /**
14
+ * Current page number.
15
+ */
16
+ currentPage: number;
17
+ /**
18
+ * Heading level. Defaults to `h2`.
19
+ */
20
+ headingLevel?: HeadingLevelCommon;
21
+ /**
22
+ * Heading text for the pagination component. Will only be accessible to screen readers.
23
+ */
24
+ headingText?: string;
25
+ /**
26
+ * Number of items per page.
27
+ */
28
+ itemsPerPage?: number;
29
+ /**
30
+ * Label strings for previous and next buttons.
31
+ */
32
+ labelStrings?: {
33
+ previous: string;
34
+ next: string;
35
+ };
36
+ /**
37
+ * Callback to handle page change.
38
+ * Use a state hook to update the current page in a parent component.
39
+ * For example: `onPageChange={(page) => setCurrentPage(page)}`
40
+ */
41
+ onPageChange?: (page: number) => void;
42
+ /**
43
+ * Total number of items to paginate.
44
+ */
45
+ totalItemCount: number;
46
+ /**
47
+ * Additional class names.
48
+ */
49
+ className?: string;
50
+ }
51
+ /**
52
+ * Pagination UI component
53
+ */
54
+ export declare const Pagination: ({ bufferCount, currentPage, headingLevel, headingText, itemsPerPage, labelStrings, onPageChange, totalItemCount, className, ...props }: PaginationProps) => React.JSX.Element;
@@ -0,0 +1,7 @@
1
+ export declare const ELLIPSIS = "...";
2
+ export declare const usePagination: ({ bufferCount, currentPage, itemsPerPage, totalItemCount, }: {
3
+ bufferCount?: number;
4
+ currentPage: any;
5
+ itemsPerPage: any;
6
+ totalItemCount: any;
7
+ }) => (string | number)[];
@@ -0,0 +1,32 @@
1
+ import React, { ComponentPropsWithoutRef, ReactNode } from 'react';
2
+ import './pantheon-logo.css';
3
+ export type PantheonLogoDisplayType = 'full' | 'icon' | 'wordmark' | 'sub-brand' | 'sub-brand-small';
4
+ /**
5
+ * Prop types for PantheonLogo
6
+ */
7
+ export interface PantheonLogoProps extends ComponentPropsWithoutRef<'div'> {
8
+ /**
9
+ * Color type. Use 'default' unless the logo is used on an approved dark background.
10
+ */
11
+ colorType?: 'default' | 'reverse';
12
+ /**
13
+ * Display type
14
+ */
15
+ displayType?: PantheonLogoDisplayType;
16
+ /**
17
+ * A fully-formed link element using the router of your choice. The link text will be used as the aria-label. If the logo should not be a link, set to `null`.
18
+ */
19
+ linkContent?: ReactNode;
20
+ /**
21
+ * Accepts a fully-formed link or a string (if a static site name is desired). Will only render if the `display-type` is set to 'sub-brand'.
22
+ */
23
+ subBrand?: ReactNode | string;
24
+ /**
25
+ * Additional class names
26
+ */
27
+ className?: string;
28
+ }
29
+ /**
30
+ * PantheonLogo UI component
31
+ */
32
+ export declare const PantheonLogo: ({ colorType, displayType, linkContent, subBrand, className, ...props }: PantheonLogoProps) => React.JSX.Element;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ export declare const logoFull: React.JSX.Element;
3
+ export declare const logoIcon: React.JSX.Element;
4
+ export declare const logoWordmark: React.JSX.Element;