@hashicorp/react-components 0.0.0 → 1.0.0

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 (572) hide show
  1. package/.eslintrc.js +4 -0
  2. package/.stylelintrc.js +3 -0
  3. package/.test/setup-vitest.js +1 -0
  4. package/README.md +2 -78
  5. package/global.d.ts +6 -0
  6. package/package.json +29 -29
  7. package/postcss.config.js +21 -0
  8. package/src/components/actions/index.tsx +107 -0
  9. package/src/components/actions/style.module.css +28 -0
  10. package/src/components/actions/types.ts +73 -0
  11. package/src/components/call-to-action/index.tsx +205 -0
  12. package/src/components/call-to-action/styles/variant-centered.module.css +93 -0
  13. package/src/components/call-to-action/styles/variant-compact-grid.module.css +88 -0
  14. package/src/components/call-to-action/styles/variant-compact.module.css +91 -0
  15. package/src/components/call-to-action/styles/variant-links.module.css +85 -0
  16. package/src/components/card/README.md +11 -0
  17. package/src/components/card/card.tsx +45 -0
  18. package/src/components/card/index.test.tsx +69 -0
  19. package/src/components/card/index.tsx +14 -0
  20. package/src/components/card/newsroom-card/index.test.tsx +39 -0
  21. package/src/components/card/newsroom-card/index.tsx +37 -0
  22. package/src/components/card/newsroom-card/style.module.css +12 -0
  23. package/src/components/card/partner-card/index.test.tsx +57 -0
  24. package/src/components/card/partner-card/index.tsx +69 -0
  25. package/src/components/card/partner-card/style.module.css +24 -0
  26. package/src/components/card/person-card/index.test.tsx +71 -0
  27. package/src/components/card/person-card/index.tsx +93 -0
  28. package/src/components/card/person-card/style.module.css +33 -0
  29. package/src/components/card/primitives.tsx +176 -0
  30. package/src/components/card/promo-card/index.tsx +51 -0
  31. package/src/components/card/resource-card/index.test.tsx +48 -0
  32. package/src/components/card/resource-card/index.tsx +37 -0
  33. package/src/components/card/style.module.css +145 -0
  34. package/src/components/card/types.ts +66 -0
  35. package/src/components/card/unified-card/index.tsx +64 -0
  36. package/{packages → src/components}/consent-manager/README.md +44 -1
  37. package/src/components/consent-manager/components/banner/banner.module.css +23 -0
  38. package/src/components/consent-manager/components/banner/banner.test.tsx +31 -0
  39. package/src/components/consent-manager/components/banner/banner.tsx +73 -0
  40. package/src/components/consent-manager/components/dialog/dialog.module.css +145 -0
  41. package/src/components/consent-manager/components/dialog/dialog.test.tsx +194 -0
  42. package/src/components/consent-manager/components/dialog/dialog.tsx +339 -0
  43. package/src/components/consent-manager/img/icn_close.tsx +19 -0
  44. package/src/components/consent-manager/index.test.tsx +334 -0
  45. package/src/components/consent-manager/index.tsx +186 -0
  46. package/src/components/consent-manager/loader/README.md +29 -0
  47. package/src/components/consent-manager/loader/categories.ts +22 -0
  48. package/src/components/consent-manager/loader/index.tsx +94 -0
  49. package/src/components/consent-manager/loader/presets/enterprise.ts +12 -0
  50. package/src/components/consent-manager/loader/presets/oss.ts +10 -0
  51. package/src/components/consent-manager/loader/services.ts +45 -0
  52. package/src/components/consent-manager/scripts/custom.tsx +59 -0
  53. package/src/components/consent-manager/scripts/segment.tsx +87 -0
  54. package/src/components/consent-manager/style.module.css +9 -0
  55. package/src/components/consent-manager/types.ts +55 -0
  56. package/src/components/consent-manager/util/cookies.test.ts +75 -0
  57. package/src/components/consent-manager/util/cookies.ts +70 -0
  58. package/src/components/consent-manager/util/integrations.test.ts +115 -0
  59. package/src/components/consent-manager/util/integrations.ts +110 -0
  60. package/src/components/intro/index.tsx +82 -0
  61. package/src/components/intro/style.module.css +67 -0
  62. package/src/components/intro/types.ts +44 -0
  63. package/src/components/marketo-form/CHANGELOG.md +122 -0
  64. package/src/components/marketo-form/README.md +1 -0
  65. package/src/components/marketo-form/contexts/FormMetadata.ts +11 -0
  66. package/src/components/marketo-form/docs.mdx +197 -0
  67. package/src/components/marketo-form/fixtures/index.ts +185 -0
  68. package/src/components/marketo-form/form/index.tsx +369 -0
  69. package/src/components/marketo-form/index.test.tsx +320 -0
  70. package/src/components/marketo-form/index.ts +11 -0
  71. package/src/components/marketo-form/package.original.json +30 -0
  72. package/src/components/marketo-form/partials/error-message/index.tsx +12 -0
  73. package/src/components/marketo-form/partials/error-message/style.module.css +13 -0
  74. package/src/components/marketo-form/partials/field/index.tsx +90 -0
  75. package/src/components/marketo-form/partials/field-wrapper/index.tsx +26 -0
  76. package/src/components/marketo-form/partials/fields/checkbox-field/index.tsx +32 -0
  77. package/src/components/marketo-form/partials/fields/email-field/index.tsx +35 -0
  78. package/src/components/marketo-form/partials/fields/form-page-url-field/index.tsx +21 -0
  79. package/src/components/marketo-form/partials/fields/hidden-field/index.tsx +37 -0
  80. package/src/components/marketo-form/partials/fields/htmltext-field/index.tsx +21 -0
  81. package/src/components/marketo-form/partials/fields/htmltext-field/style.module.css +6 -0
  82. package/src/components/marketo-form/partials/fields/name-field/index.tsx +19 -0
  83. package/src/components/marketo-form/partials/fields/name-field/style.module.css +13 -0
  84. package/src/components/marketo-form/partials/fields/radio-buttons-field/index.tsx +48 -0
  85. package/src/components/marketo-form/partials/fields/select-field/index.tsx +39 -0
  86. package/src/components/marketo-form/partials/fields/select-field/style.module.css +5 -0
  87. package/src/components/marketo-form/partials/fields/telephone-field/index.tsx +30 -0
  88. package/src/components/marketo-form/partials/fields/text-field/index.tsx +30 -0
  89. package/src/components/marketo-form/partials/fields/textarea-field/index.tsx +29 -0
  90. package/src/components/marketo-form/partials/label/index.tsx +24 -0
  91. package/src/components/marketo-form/partials/label/style.module.css +12 -0
  92. package/src/components/marketo-form/partials/visibility-rule/index.tsx +84 -0
  93. package/src/components/marketo-form/props.js +66 -0
  94. package/src/components/marketo-form/server/api-routes.ts +109 -0
  95. package/src/components/marketo-form/server/client.ts +98 -0
  96. package/src/components/marketo-form/server/index.ts +8 -0
  97. package/src/components/marketo-form/types.ts +268 -0
  98. package/src/components/marketo-form/utils.test.tsx +103 -0
  99. package/src/components/marketo-form/utils.ts +445 -0
  100. package/src/components/next-steps/index.tsx +143 -0
  101. package/src/components/next-steps/style.module.css +270 -0
  102. package/src/components/next-steps/types.ts +63 -0
  103. package/src/components/product-badge/index.test.tsx +11 -0
  104. package/src/components/product-badge/index.tsx +42 -0
  105. package/src/components/product-badge/style.module.css +76 -0
  106. package/src/components/products-used/index.tsx +84 -0
  107. package/src/components/products-used/style.module.css +87 -0
  108. package/src/components/products-used/types.ts +31 -0
  109. package/src/components/related-content/index.test.tsx +74 -0
  110. package/src/components/related-content/index.tsx +56 -0
  111. package/src/components/related-content/style.module.css +89 -0
  112. package/src/components/related-content/types.ts +21 -0
  113. package/src/components/subnav/helpers/areBasePathsMatching.ts +13 -0
  114. package/src/components/subnav/helpers/traverse/index.ts +42 -0
  115. package/src/components/subnav/helpers/useHeightRef.ts +42 -0
  116. package/src/components/subnav/helpers/useNavRef.ts +30 -0
  117. package/src/components/subnav/helpers/useOverflowRef.ts +85 -0
  118. package/src/components/subnav/helpers/useStuckRef.ts +51 -0
  119. package/src/components/subnav/index.tsx +199 -0
  120. package/src/components/subnav/partials/CtaLinks/github-stars-link/formatStarCount/index.test.ts +26 -0
  121. package/src/components/subnav/partials/CtaLinks/github-stars-link/formatStarCount/index.ts +22 -0
  122. package/src/components/subnav/partials/CtaLinks/github-stars-link/index.tsx +87 -0
  123. package/src/components/subnav/partials/CtaLinks/github-stars-link/parseGithubUrl/index.test.ts +29 -0
  124. package/src/components/subnav/partials/CtaLinks/github-stars-link/parseGithubUrl/index.ts +32 -0
  125. package/src/components/subnav/partials/CtaLinks/github-stars-link/style.module.css +85 -0
  126. package/src/components/subnav/partials/CtaLinks/icons/github-logo.js +20 -0
  127. package/{packages → src/components}/subnav/partials/CtaLinks/icons/github.svg.js +5 -0
  128. package/src/components/subnav/partials/CtaLinks/icons/star.js +20 -0
  129. package/src/components/subnav/partials/CtaLinks/index.tsx +131 -0
  130. package/src/components/subnav/partials/CtaLinks/style.module.css +45 -0
  131. package/src/components/subnav/partials/DropdownTrigger/index.tsx +35 -0
  132. package/src/components/subnav/partials/DropdownTrigger/style.module.css +36 -0
  133. package/src/components/subnav/partials/MenuItemsDefault/index.tsx +151 -0
  134. package/src/components/subnav/partials/MenuItemsDefault/style.module.css +91 -0
  135. package/src/components/subnav/partials/MenuItemsOverflow/index.tsx +139 -0
  136. package/src/components/subnav/partials/MenuItemsOverflow/style.module.css +82 -0
  137. package/src/components/subnav/partials/TitleLink/index.tsx +113 -0
  138. package/src/components/subnav/partials/TitleLink/mktg-logos/all-community-product-logos_on-dark.ts +9 -0
  139. package/src/components/subnav/partials/TitleLink/mktg-logos/all-community-product-logos_on-light.ts +9 -0
  140. package/src/components/subnav/partials/TitleLink/mktg-logos/all-primary-logos_on-dark.ts +23 -0
  141. package/src/components/subnav/partials/TitleLink/mktg-logos/all-primary-logos_on-light.ts +23 -0
  142. package/src/components/subnav/partials/TitleLink/style.module.css +43 -0
  143. package/src/components/subnav/partials/nav-item-text/index.tsx +37 -0
  144. package/src/components/subnav/partials/nav-item-text/style.module.css +15 -0
  145. package/src/components/subnav/style.module.css +68 -0
  146. package/src/components/subnav/subnav-consts.ts +1 -0
  147. package/src/components/subnav/theme.module.css +50 -0
  148. package/tsconfig.json +14 -0
  149. package/vitest.config.mts +12 -0
  150. package/.circleci/config.yml +0 -8
  151. package/.github/pull_request_template.md +0 -36
  152. package/.github/workflows/publish.yml +0 -181
  153. package/__test-helpers/expect-throw.js +0 -6
  154. package/__test-helpers/extend-expect.js +0 -1
  155. package/__test-helpers/mocks/css-module-mock.js +0 -1
  156. package/__test-helpers/mocks/graphql-fragment-mock.js +0 -1
  157. package/__test-helpers/mocks/svg-mock.js +0 -1
  158. package/babel.config.js +0 -5
  159. package/jest.config.js +0 -13
  160. package/lerna.json +0 -16
  161. package/next.config.js +0 -14
  162. package/packages/accordion/LICENSE +0 -373
  163. package/packages/accordion/README.md +0 -5
  164. package/packages/accordion/index.js +0 -21
  165. package/packages/accordion/package-lock.json +0 -13
  166. package/packages/accordion/package.json +0 -20
  167. package/packages/accordion/partials/AccordionItems/fixtures/default.json +0 -12
  168. package/packages/accordion/partials/AccordionItems/icons/arrow-down.svg +0 -1
  169. package/packages/accordion/partials/AccordionItems/index.js +0 -64
  170. package/packages/accordion/partials/AccordionItems/style.css +0 -2
  171. package/packages/accordion/partials/AccordionItems/styles/content.css +0 -47
  172. package/packages/accordion/partials/AccordionItems/styles/index.css +0 -72
  173. package/packages/accordion/partials/Collapsible/index.js +0 -87
  174. package/packages/accordion/partials/Collapsible/style.css +0 -10
  175. package/packages/accordion/style.css +0 -3
  176. package/packages/accordion/styles/index.css +0 -14
  177. package/packages/alert/LICENSE +0 -373
  178. package/packages/alert/README.md +0 -9
  179. package/packages/alert/fragment.graphql +0 -8
  180. package/packages/alert/index.js +0 -44
  181. package/packages/alert/package.json +0 -22
  182. package/packages/alert/style.css +0 -138
  183. package/packages/alert-banner/LICENSE +0 -373
  184. package/packages/alert-banner/README.md +0 -3
  185. package/packages/alert-banner/close-icon.js +0 -35
  186. package/packages/alert-banner/fragment.graphql +0 -8
  187. package/packages/alert-banner/index.jsx +0 -97
  188. package/packages/alert-banner/package-lock.json +0 -18
  189. package/packages/alert-banner/package.json +0 -26
  190. package/packages/alert-banner/style.css +0 -151
  191. package/packages/button/LICENSE +0 -373
  192. package/packages/button/README.md +0 -19
  193. package/packages/button/fragment.graphql +0 -6
  194. package/packages/button/helpers/normalizeButtonTheme.js +0 -49
  195. package/packages/button/icons/arrow-right.svg.js +0 -1
  196. package/packages/button/icons/chevron-down.svg.js +0 -1
  197. package/packages/button/icons/download.svg.js +0 -1
  198. package/packages/button/icons/external-link.svg.js +0 -1
  199. package/packages/button/index.js +0 -86
  200. package/packages/button/package-lock.json +0 -18
  201. package/packages/button/package.json +0 -21
  202. package/packages/button/styles/index.css +0 -122
  203. package/packages/button/styles/variant-primary.css +0 -232
  204. package/packages/button/styles/variant-secondary.css +0 -179
  205. package/packages/button/styles/variant-tertiary-neutral.css +0 -65
  206. package/packages/button/styles/variant-tertiary.css +0 -182
  207. package/packages/call-to-action/LICENSE +0 -373
  208. package/packages/call-to-action/README.md +0 -3
  209. package/packages/call-to-action/index.js +0 -67
  210. package/packages/call-to-action/package-lock.json +0 -27
  211. package/packages/call-to-action/package.json +0 -21
  212. package/packages/call-to-action/style.css +0 -1
  213. package/packages/call-to-action/styles/_temp-spacing-tokens.css +0 -33
  214. package/packages/call-to-action/styles/common.css +0 -27
  215. package/packages/call-to-action/styles/index.css +0 -4
  216. package/packages/call-to-action/styles/variant-centered.css +0 -44
  217. package/packages/call-to-action/styles/variant-compact.css +0 -46
  218. package/packages/call-to-action/styles/variant-links.css +0 -32
  219. package/packages/callouts/LICENSE +0 -373
  220. package/packages/callouts/README.md +0 -8
  221. package/packages/callouts/index.js +0 -67
  222. package/packages/callouts/package-lock.json +0 -33
  223. package/packages/callouts/package.json +0 -20
  224. package/packages/callouts/partials/callout-item/fixtures/default.json +0 -9
  225. package/packages/callouts/partials/callout-item/index.js +0 -71
  226. package/packages/callouts/partials/callout-item/style.css +0 -76
  227. package/packages/callouts/style.css +0 -1
  228. package/packages/callouts/styles/_temp-reset.css +0 -11
  229. package/packages/callouts/styles/_temp-spacing-tokens.css +0 -41
  230. package/packages/callouts/styles/index.css +0 -124
  231. package/packages/case-study-slider/LICENSE +0 -373
  232. package/packages/case-study-slider/Logo.js +0 -6
  233. package/packages/case-study-slider/StatusBar.js +0 -14
  234. package/packages/case-study-slider/StatusBar.test.js +0 -32
  235. package/packages/case-study-slider/docs.mdx +0 -144
  236. package/packages/case-study-slider/fragment.graphql +0 -33
  237. package/packages/case-study-slider/index.js +0 -229
  238. package/packages/case-study-slider/index.test.js +0 -279
  239. package/packages/case-study-slider/package-lock.json +0 -72
  240. package/packages/case-study-slider/package.json +0 -20
  241. package/packages/case-study-slider/props.js +0 -182
  242. package/packages/case-study-slider/readme.md +0 -7
  243. package/packages/case-study-slider/style.css +0 -176
  244. package/packages/checkbox-input/LICENSE +0 -373
  245. package/packages/checkbox-input/index.js +0 -55
  246. package/packages/checkbox-input/package-lock.json +0 -13
  247. package/packages/checkbox-input/package.json +0 -20
  248. package/packages/checkbox-input/readme.md +0 -19
  249. package/packages/checkbox-input/style.css +0 -110
  250. package/packages/code-block/LICENSE +0 -373
  251. package/packages/code-block/README.md +0 -9
  252. package/packages/code-block/fragment.graphql +0 -10
  253. package/packages/code-block/img/clipboard.svg +0 -1
  254. package/packages/code-block/index.js +0 -85
  255. package/packages/code-block/languages/sentinel.js +0 -71
  256. package/packages/code-block/package-lock.json +0 -68
  257. package/packages/code-block/package.json +0 -22
  258. package/packages/code-block/style.css +0 -162
  259. package/packages/consent-manager/LICENSE +0 -373
  260. package/packages/consent-manager/banner.js +0 -39
  261. package/packages/consent-manager/cookies.js +0 -53
  262. package/packages/consent-manager/dialog.js +0 -286
  263. package/packages/consent-manager/icn_close.js +0 -19
  264. package/packages/consent-manager/index.js +0 -119
  265. package/packages/consent-manager/integrations.js +0 -92
  266. package/packages/consent-manager/load.js +0 -139
  267. package/packages/consent-manager/package-lock.json +0 -45
  268. package/packages/consent-manager/package.json +0 -24
  269. package/packages/consent-manager/style.css +0 -209
  270. package/packages/content/LICENSE +0 -373
  271. package/packages/content/README.md +0 -8
  272. package/packages/content/index.js +0 -9
  273. package/packages/content/package.json +0 -17
  274. package/packages/content/style.css +0 -322
  275. package/packages/content-cta/LICENSE +0 -373
  276. package/packages/content-cta/README.md +0 -3
  277. package/packages/content-cta/docs.mdx +0 -25
  278. package/packages/content-cta/index.js +0 -49
  279. package/packages/content-cta/index.test.js +0 -78
  280. package/packages/content-cta/package-lock.json +0 -27
  281. package/packages/content-cta/package.json +0 -20
  282. package/packages/content-cta/props.js +0 -41
  283. package/packages/content-cta/stories/docs.mdx +0 -0
  284. package/packages/content-cta/stories/examples.stories.js +0 -51
  285. package/packages/content-cta/stories/with-knobs.stories.js +0 -58
  286. package/packages/content-cta/style.css +0 -80
  287. package/packages/docs-page/LICENSE +0 -373
  288. package/packages/docs-page/README.md +0 -51
  289. package/packages/docs-page/components.js +0 -11
  290. package/packages/docs-page/docs.mdx +0 -71
  291. package/packages/docs-page/img/github-logo.svg +0 -1
  292. package/packages/docs-page/index.js +0 -75
  293. package/packages/docs-page/index.test.js +0 -18
  294. package/packages/docs-page/package-lock.json +0 -138
  295. package/packages/docs-page/package.json +0 -28
  296. package/packages/docs-page/props.js +0 -59
  297. package/packages/docs-page/server.js +0 -137
  298. package/packages/docs-page/style.css +0 -120
  299. package/packages/docs-page/temporary_jump-to-section.js +0 -64
  300. package/packages/docs-sidenav/LICENSE +0 -373
  301. package/packages/docs-sidenav/README.md +0 -7
  302. package/packages/docs-sidenav/chevron-icon.js +0 -18
  303. package/packages/docs-sidenav/img/external.svg +0 -7
  304. package/packages/docs-sidenav/index.js +0 -457
  305. package/packages/docs-sidenav/menu-icon.js +0 -14
  306. package/packages/docs-sidenav/package-lock.json +0 -26
  307. package/packages/docs-sidenav/package.json +0 -21
  308. package/packages/docs-sidenav/style.css +0 -302
  309. package/packages/enterprise-alert/LICENSE +0 -373
  310. package/packages/enterprise-alert/README.md +0 -9
  311. package/packages/enterprise-alert/index.js +0 -28
  312. package/packages/enterprise-alert/package-lock.json +0 -13
  313. package/packages/enterprise-alert/package.json +0 -23
  314. package/packages/enterprise-alert/style.css +0 -91
  315. package/packages/featured-slider/LICENSE +0 -373
  316. package/packages/featured-slider/README.md +0 -3
  317. package/packages/featured-slider/StatusBar.js +0 -14
  318. package/packages/featured-slider/docs.mdx +0 -60
  319. package/packages/featured-slider/index.js +0 -231
  320. package/packages/featured-slider/index.test.js +0 -59
  321. package/packages/featured-slider/package-lock.json +0 -66
  322. package/packages/featured-slider/package.json +0 -22
  323. package/packages/featured-slider/props.js +0 -82
  324. package/packages/featured-slider/style.css +0 -204
  325. package/packages/hashi-stack-menu/LICENSE +0 -373
  326. package/packages/hashi-stack-menu/README.md +0 -3
  327. package/packages/hashi-stack-menu/assets/icon-dropdown.svg +0 -1
  328. package/packages/hashi-stack-menu/assets/logo.svg +0 -1
  329. package/packages/hashi-stack-menu/assets/product-icons/boundary-icon-color.svg +0 -1
  330. package/packages/hashi-stack-menu/assets/product-icons/consul-icon-color.svg +0 -1
  331. package/packages/hashi-stack-menu/assets/product-icons/nomad-icon-color.svg +0 -1
  332. package/packages/hashi-stack-menu/assets/product-icons/packer-icon-color.svg +0 -1
  333. package/packages/hashi-stack-menu/assets/product-icons/terraform-icon-color.svg +0 -1
  334. package/packages/hashi-stack-menu/assets/product-icons/vagrant-icon-color.svg +0 -1
  335. package/packages/hashi-stack-menu/assets/product-icons/vault-icon-color.svg +0 -1
  336. package/packages/hashi-stack-menu/assets/product-icons/waypoint-icon-color.svg +0 -1
  337. package/packages/hashi-stack-menu/browse-panel/browse-panel.module.css +0 -33
  338. package/packages/hashi-stack-menu/browse-panel/index.jsx +0 -9
  339. package/packages/hashi-stack-menu/data/index.js +0 -125
  340. package/packages/hashi-stack-menu/hashi-stack-menu.module.css +0 -41
  341. package/packages/hashi-stack-menu/index.jsx +0 -51
  342. package/packages/hashi-stack-menu/nav-item/index.jsx +0 -100
  343. package/packages/hashi-stack-menu/nav-item/nav-item.module.css +0 -64
  344. package/packages/hashi-stack-menu/package-lock.json +0 -18
  345. package/packages/hashi-stack-menu/package.json +0 -17
  346. package/packages/hashi-stack-menu/stack-group/index.jsx +0 -16
  347. package/packages/hashi-stack-menu/stack-group/stack-group.module.css +0 -29
  348. package/packages/hashi-stack-menu/stack-item/index.jsx +0 -35
  349. package/packages/hashi-stack-menu/stack-item/stack-item.module.css +0 -58
  350. package/packages/hashi-stack-menu/stack-menu-section/index.jsx +0 -18
  351. package/packages/hashi-stack-menu/stack-menu-section/stack-menu-section.module.css +0 -26
  352. package/packages/hashi-stack-menu/use-on-click-outside-dropdown.js +0 -22
  353. package/packages/head/LICENSE +0 -373
  354. package/packages/head/README.md +0 -236
  355. package/packages/head/index.d.ts +0 -107
  356. package/packages/head/index.js +0 -66
  357. package/packages/head/package.json +0 -17
  358. package/packages/hero/LICENSE +0 -373
  359. package/packages/hero/README.md +0 -31
  360. package/packages/hero/arrow-icon.js +0 -24
  361. package/packages/hero/carousel.js +0 -153
  362. package/packages/hero/fragment.graphql +0 -55
  363. package/packages/hero/heroLeadForm.js +0 -107
  364. package/packages/hero/index.js +0 -129
  365. package/packages/hero/package-lock.json +0 -273
  366. package/packages/hero/package.json +0 -28
  367. package/packages/hero/style.css +0 -501
  368. package/packages/image/LICENSE +0 -373
  369. package/packages/image/fragment.graphql +0 -5
  370. package/packages/image/index.js +0 -81
  371. package/packages/image/package-lock.json +0 -33
  372. package/packages/image/package.json +0 -21
  373. package/packages/image/readme.md +0 -27
  374. package/packages/inline-svg/LICENSE +0 -373
  375. package/packages/inline-svg/README.md +0 -9
  376. package/packages/inline-svg/docs.mdx +0 -15
  377. package/packages/inline-svg/index.js +0 -23
  378. package/packages/inline-svg/index.test.js +0 -50
  379. package/packages/inline-svg/package.json +0 -30
  380. package/packages/inline-svg/props.js +0 -10
  381. package/packages/learn-callout/LICENSE +0 -373
  382. package/packages/learn-callout/README.md +0 -9
  383. package/packages/learn-callout/docs.mdx +0 -31
  384. package/packages/learn-callout/index.js +0 -57
  385. package/packages/learn-callout/index.test.js +0 -49
  386. package/packages/learn-callout/props.js +0 -47
  387. package/packages/learn-callout/style.css +0 -207
  388. package/packages/link-wrap/LICENSE +0 -373
  389. package/packages/link-wrap/README.md +0 -44
  390. package/packages/link-wrap/index.js +0 -40
  391. package/packages/link-wrap/package-lock.json +0 -5
  392. package/packages/link-wrap/package.json +0 -17
  393. package/packages/logo-grid/LICENSE +0 -373
  394. package/packages/logo-grid/README.md +0 -26
  395. package/packages/logo-grid/fragment.graphql +0 -17
  396. package/packages/logo-grid/index.js +0 -157
  397. package/packages/logo-grid/package-lock.json +0 -111
  398. package/packages/logo-grid/package.json +0 -21
  399. package/packages/logo-grid/style.css +0 -148
  400. package/packages/product-downloader/LICENSE +0 -373
  401. package/packages/product-downloader/README.md +0 -9
  402. package/packages/product-downloader/index.js +0 -102
  403. package/packages/product-downloader/package-lock.json +0 -103
  404. package/packages/product-downloader/package.json +0 -18
  405. package/packages/product-downloader/partials/download-cards/index.jsx +0 -125
  406. package/packages/product-downloader/partials/download-cards/style.module.css +0 -152
  407. package/packages/product-downloader/partials/dropdown/index.jsx +0 -58
  408. package/packages/product-downloader/partials/dropdown/style.module.css +0 -28
  409. package/packages/product-downloader/partials/logos/fastly.svg +0 -7
  410. package/packages/product-downloader/partials/release-information/index.jsx +0 -148
  411. package/packages/product-downloader/partials/release-information/style.module.css +0 -101
  412. package/packages/product-downloader/style.module.css +0 -100
  413. package/packages/product-downloader/utils/downloader.js +0 -136
  414. package/packages/product-features-list/LICENSE +0 -373
  415. package/packages/product-features-list/README.md +0 -3
  416. package/packages/product-features-list/index.js +0 -30
  417. package/packages/product-features-list/package-lock.json +0 -42
  418. package/packages/product-features-list/package.json +0 -20
  419. package/packages/product-features-list/style.css +0 -90
  420. package/packages/search/LICENSE +0 -373
  421. package/packages/search/README.md +0 -188
  422. package/packages/search/hits.js +0 -196
  423. package/packages/search/img/return.svg.js +0 -1
  424. package/packages/search/img/search-legend-enter.svg.js +0 -1
  425. package/packages/search/img/search-legend-escape.svg.js +0 -1
  426. package/packages/search/img/search-legend-page.svg.js +0 -1
  427. package/packages/search/img/search-x.svg.js +0 -1
  428. package/packages/search/img/search.svg.js +0 -1
  429. package/packages/search/img/slash-search-toggle.js +0 -17
  430. package/packages/search/index.js +0 -60
  431. package/packages/search/legend.js +0 -32
  432. package/packages/search/package-lock.json +0 -931
  433. package/packages/search/package.json +0 -29
  434. package/packages/search/provider.js +0 -81
  435. package/packages/search/search-box.js +0 -139
  436. package/packages/search/style.css +0 -366
  437. package/packages/search/tools.js +0 -166
  438. package/packages/section-header/LICENSE +0 -373
  439. package/packages/section-header/README.md +0 -13
  440. package/packages/section-header/fragment.graphql +0 -5
  441. package/packages/section-header/index.js +0 -42
  442. package/packages/section-header/package-lock.json +0 -18
  443. package/packages/section-header/package.json +0 -20
  444. package/packages/section-header/style.css +0 -18
  445. package/packages/select-input/LICENSE +0 -373
  446. package/packages/select-input/README.md +0 -1
  447. package/packages/select-input/img/dropdown-arrow.svg +0 -1
  448. package/packages/select-input/index.js +0 -80
  449. package/packages/select-input/package-lock.json +0 -70
  450. package/packages/select-input/package.json +0 -19
  451. package/packages/select-input/style.css +0 -88
  452. package/packages/subnav/LICENSE +0 -373
  453. package/packages/subnav/README.md +0 -85
  454. package/packages/subnav/helpers/globalThis.js +0 -9
  455. package/packages/subnav/helpers/traverse/index.js +0 -34
  456. package/packages/subnav/helpers/useNavRef.js +0 -16
  457. package/packages/subnav/helpers/useOverflowRef.js +0 -76
  458. package/packages/subnav/helpers/useStuckRef.js +0 -43
  459. package/packages/subnav/icons/boundary-logo-color.svgr.js +0 -32
  460. package/packages/subnav/icons/chevron-down.svg.js +0 -3
  461. package/packages/subnav/icons/consul-logo-color.svgr.js +0 -44
  462. package/packages/subnav/icons/hcp-logo-black-white.svgr.js +0 -29
  463. package/packages/subnav/icons/nomad-logo-color.svgr.js +0 -50
  464. package/packages/subnav/icons/packer-logo-color.svgr.js +0 -40
  465. package/packages/subnav/icons/terraform-logo-color.svgr.js +0 -44
  466. package/packages/subnav/icons/vagrant-logo-color.svgr.js +0 -38
  467. package/packages/subnav/icons/vault-logo-color.svgr.js +0 -32
  468. package/packages/subnav/icons/waypoint-logo-color.svgr.js +0 -28
  469. package/packages/subnav/index.js +0 -107
  470. package/packages/subnav/package-lock.json +0 -56
  471. package/packages/subnav/package.json +0 -25
  472. package/packages/subnav/partials/CtaLinks/github-stars-link/formatStarCount/index.js +0 -17
  473. package/packages/subnav/partials/CtaLinks/github-stars-link/index.js +0 -71
  474. package/packages/subnav/partials/CtaLinks/github-stars-link/parseGithubUrl/index.js +0 -25
  475. package/packages/subnav/partials/CtaLinks/github-stars-link/style.css +0 -78
  476. package/packages/subnav/partials/CtaLinks/icons/github-logo.js +0 -14
  477. package/packages/subnav/partials/CtaLinks/icons/star.js +0 -14
  478. package/packages/subnav/partials/CtaLinks/index.js +0 -48
  479. package/packages/subnav/partials/CtaLinks/style.css +0 -32
  480. package/packages/subnav/partials/DropdownTrigger/index.js +0 -20
  481. package/packages/subnav/partials/DropdownTrigger/style.css +0 -27
  482. package/packages/subnav/partials/MenuItemsDefault/index.js +0 -131
  483. package/packages/subnav/partials/MenuItemsDefault/style.css +0 -63
  484. package/packages/subnav/partials/MenuItemsOverflow/index.js +0 -117
  485. package/packages/subnav/partials/MenuItemsOverflow/style.css +0 -38
  486. package/packages/subnav/partials/TitleLink/index.js +0 -40
  487. package/packages/subnav/partials/TitleLink/style.css +0 -21
  488. package/packages/subnav/style.css +0 -6
  489. package/packages/subnav/styles/_temp-g-svg.css +0 -22
  490. package/packages/subnav/styles/_temp-resets.css +0 -15
  491. package/packages/subnav/styles/index.css +0 -103
  492. package/packages/tabbed-accordion/LICENSE +0 -373
  493. package/packages/tabbed-accordion/README.md +0 -3
  494. package/packages/tabbed-accordion/fixtures/base.json +0 -44
  495. package/packages/tabbed-accordion/index.js +0 -27
  496. package/packages/tabbed-accordion/package-lock.json +0 -27
  497. package/packages/tabbed-accordion/package.json +0 -19
  498. package/packages/tabbed-accordion/style/_temp-spacing-tokens.css +0 -36
  499. package/packages/tabbed-accordion/style/index.css +0 -22
  500. package/packages/tabbed-accordion/style.css +0 -1
  501. package/packages/tabs/LICENSE +0 -373
  502. package/packages/tabs/README.md +0 -31
  503. package/packages/tabs/index.js +0 -41
  504. package/packages/tabs/package-lock.json +0 -73
  505. package/packages/tabs/package.json +0 -18
  506. package/packages/tabs/partials/TabTriggers/helpers/smoothScroll.js +0 -77
  507. package/packages/tabs/partials/TabTriggers/icons/chevron-right_black.svg.js +0 -1
  508. package/packages/tabs/partials/TabTriggers/index.js +0 -143
  509. package/packages/tabs/partials/TabTriggers/partials/TabTrigger/icons/tooltip.svg.js +0 -1
  510. package/packages/tabs/partials/TabTriggers/partials/TabTrigger/index.js +0 -37
  511. package/packages/tabs/partials/TabTriggers/partials/TabTrigger/style.css +0 -75
  512. package/packages/tabs/partials/TabTriggers/style.css +0 -152
  513. package/packages/tabs/style.css +0 -67
  514. package/packages/terminal/LICENSE +0 -373
  515. package/packages/terminal/README.md +0 -9
  516. package/packages/terminal/Terminal.module.css +0 -146
  517. package/packages/terminal/index.jsx +0 -46
  518. package/packages/terminal/package.json +0 -17
  519. package/packages/text-input/LICENSE +0 -373
  520. package/packages/text-input/README.md +0 -24
  521. package/packages/text-input/index.js +0 -42
  522. package/packages/text-input/package-lock.json +0 -13
  523. package/packages/text-input/package.json +0 -19
  524. package/packages/text-input/style.css +0 -68
  525. package/packages/text-split/LICENSE +0 -373
  526. package/packages/text-split/README.md +0 -3
  527. package/packages/text-split/index.js +0 -66
  528. package/packages/text-split/package-lock.json +0 -35
  529. package/packages/text-split/package.json +0 -20
  530. package/packages/text-split/partials/button-group/index.js +0 -40
  531. package/packages/text-split/partials/button-group/style.css +0 -28
  532. package/packages/text-split/partials/checkbox-list/icons/check-circle.svg.jsx +0 -39
  533. package/packages/text-split/partials/checkbox-list/index.js +0 -28
  534. package/packages/text-split/partials/checkbox-list/style.css +0 -59
  535. package/packages/text-split/style.css +0 -1
  536. package/packages/text-split/styles/_temp-spacing-tokens.css +0 -37
  537. package/packages/text-split/styles/index.css +0 -86
  538. package/packages/text-split-with-code/LICENSE +0 -373
  539. package/packages/text-split-with-code/README.md +0 -13
  540. package/packages/text-split-with-code/index.js +0 -29
  541. package/packages/text-split-with-code/package-lock.json +0 -117
  542. package/packages/text-split-with-code/package.json +0 -21
  543. package/packages/text-split-with-code/style.css +0 -42
  544. package/packages/text-split-with-image/LICENSE +0 -373
  545. package/packages/text-split-with-image/README.md +0 -12
  546. package/packages/text-split-with-image/index.js +0 -11
  547. package/packages/text-split-with-image/package-lock.json +0 -75
  548. package/packages/text-split-with-image/package.json +0 -17
  549. package/packages/text-split-with-logo-grid/LICENSE +0 -373
  550. package/packages/text-split-with-logo-grid/README.md +0 -8
  551. package/packages/text-split-with-logo-grid/index.js +0 -63
  552. package/packages/text-split-with-logo-grid/package-lock.json +0 -90
  553. package/packages/text-split-with-logo-grid/package.json +0 -18
  554. package/packages/text-split-with-logo-grid/style.css +0 -88
  555. package/packages/toggle/LICENSE +0 -373
  556. package/packages/toggle/index.js +0 -22
  557. package/packages/toggle/package-lock.json +0 -5
  558. package/packages/toggle/package.json +0 -17
  559. package/packages/toggle/readme.md +0 -7
  560. package/packages/toggle/style.css +0 -35
  561. package/packages/vertical-text-block-list/LICENSE +0 -373
  562. package/packages/vertical-text-block-list/README.md +0 -15
  563. package/packages/vertical-text-block-list/index.js +0 -54
  564. package/packages/vertical-text-block-list/package-lock.json +0 -60
  565. package/packages/vertical-text-block-list/package.json +0 -22
  566. package/packages/vertical-text-block-list/style.css +0 -104
  567. package/pages/_app.jsx +0 -5
  568. package/pages/global.css +0 -43
  569. package/pages/index.jsx +0 -16
  570. package/prettier.config.js +0 -4
  571. package/scripts/release-check-branch.sh +0 -15
  572. package/scripts/release-check-npm-auth.sh +0 -39
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Copyright (c) HashiCorp, Inc.
3
+ * SPDX-License-Identifier: MPL-2.0
4
+ */
5
+
6
+ import classNames from 'classnames'
7
+ import React from 'react'
8
+ import s from './style.module.css'
9
+
10
+ /**
11
+ *
12
+ * A span of styled text with
13
+ * an active state that adds a thick
14
+ * bottom border.
15
+ *
16
+ */
17
+ function NavItemText({
18
+ isActive,
19
+ text,
20
+ }: {
21
+ /** If true, item will be rendered with a thick bottom border below the text. */
22
+ isActive?: boolean
23
+ /** Plain text to render within the styled <span /> */
24
+ text: string
25
+ }): React.ReactElement {
26
+ return (
27
+ <span
28
+ className={classNames(s.root, {
29
+ [s.isActive]: isActive,
30
+ })}
31
+ >
32
+ {text}
33
+ </span>
34
+ )
35
+ }
36
+
37
+ export default NavItemText
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Copyright (c) HashiCorp, Inc.
3
+ * SPDX-License-Identifier: MPL-2.0
4
+ */
5
+
6
+ /* Note: consumes from theme.module.css, as marked */
7
+
8
+ .root {
9
+ color: var(--menu-item-text-color); /* from theme.module.css */
10
+ position: relative;
11
+
12
+ &.isActive {
13
+ color: var(--menu-item-text-color-active);
14
+ }
15
+ }
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Copyright (c) HashiCorp, Inc.
3
+ * SPDX-License-Identifier: MPL-2.0
4
+ */
5
+
6
+ /* Note: consumes from theme.module.css, as marked */
7
+
8
+ .root {
9
+ position: sticky;
10
+ top: -1px;
11
+ z-index: 900;
12
+ background: var(--background-color); /* from theme.module.css */
13
+ border-top: 1px solid var(--border-color); /* from theme.module.css */
14
+ border-bottom: 1px solid transparent;
15
+ transition: border-bottom-color 0.8s;
16
+
17
+ &.isSticky {
18
+ border-bottom-color: var(--border-color); /* from theme.module.css */
19
+ }
20
+
21
+ /*
22
+ * About this selector:
23
+ * `& ~ *` finds all elements after the navigation.
24
+ * `:target` finds the active permalink on the page.
25
+ *
26
+ * About this style:
27
+ * `var(--subnav-height, 64px)` adjusts the scroll to account for the
28
+ * navigation. `0.5em` further adjusts the scroll to give the permalink
29
+ * breathing room.
30
+ *
31
+ * See: https://developer.mozilla.org/en-US/docs/Web/CSS/:target
32
+ * See: https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-margin-top
33
+ */
34
+ & ~ * :target {
35
+ scroll-margin-top: calc(var(--subnav-height, 64px) + 0.5em);
36
+ }
37
+
38
+ @media print {
39
+ display: none;
40
+ }
41
+ }
42
+
43
+ .subnavInnerRoot {
44
+ display: grid;
45
+ }
46
+
47
+ .subnavInner {
48
+ display: grid;
49
+ grid-template-columns: minmax(max-content, 1fr) min-content;
50
+ align-items: center;
51
+ justify-content: space-between;
52
+ min-height: 62px;
53
+ list-style: none;
54
+
55
+ &.hasOverflow {
56
+ display: flex;
57
+ }
58
+
59
+ &.notConstrained {
60
+ /* This padding should always match the horizontal padding of the main nav */
61
+ padding: 0 var(--hdsplus-spacing-05);
62
+ }
63
+ }
64
+
65
+ .subNavRight {
66
+ display: flex;
67
+ align-items: center;
68
+ }
@@ -0,0 +1 @@
1
+ export const THEMES = ['light', 'dark'] as const
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Copyright (c) HashiCorp, Inc.
3
+ * SPDX-License-Identifier: MPL-2.0
4
+ */
5
+
6
+ /*
7
+ Theme settings.
8
+ Consumed in nearly all CSS files in this component,
9
+ including in /partials.
10
+ */
11
+
12
+ .light {
13
+ /* main */
14
+ --background-color: var(--white);
15
+ --border-color: var(--gray-5);
16
+ --dropdown-background-color: var(--white);
17
+
18
+ /* title or logo link */
19
+ --title-text-color: var(--gray-1);
20
+
21
+ /* github-stars-link */
22
+ --gh-stars-icon-color: var(--black);
23
+ --gh-stars-scrim-color: rgba(0, 0, 0, 0.1);
24
+
25
+ /* menu items */
26
+ --menu-item-text-color: #3B3D45;
27
+ --menu-item-text-color-active: #0C0C0E;
28
+ --menu-item-heading-text-color: var(--gray-3);
29
+ --menu-item-hover-color: #F1F2F3;
30
+ }
31
+
32
+ .dark {
33
+ /* main */
34
+ --background-color: var(--black);
35
+ --border-color: var(--gray-2);
36
+ --dropdown-background-color: var(--gray-1);
37
+
38
+ /* title or logo link */
39
+ --title-text-color: var(--white);
40
+
41
+ /* github-stars-link */
42
+ --gh-stars-icon-color: var(--white);
43
+ --gh-stars-scrim-color: rgba(255, 255, 255, 0.15);
44
+
45
+ /* menu items */
46
+ --menu-item-text-color: #D5D7DB;
47
+ --menu-item-text-color-active: #EFEFF1;
48
+ --menu-item-heading-text-color: var(--gray-4);
49
+ --menu-item-hover-color: #1E222A;
50
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,14 @@
1
+ {
2
+ "extends": "../../base.tsconfig.json",
3
+ "compilerOptions": {
4
+ "baseUrl": ".",
5
+ "plugins": [
6
+ {
7
+ "name": "next"
8
+ }
9
+ ],
10
+ "types": ["vitest/globals", "@testing-library/jest-dom"]
11
+ },
12
+ "include": ["./**/*"],
13
+ "exclude": ["node_modules"]
14
+ }
@@ -0,0 +1,12 @@
1
+ import { defineConfig, configDefaults } from 'vitest/config'
2
+ import react from '@vitejs/plugin-react'
3
+
4
+ export default defineConfig({
5
+ plugins: [react()],
6
+ test: {
7
+ globals: true,
8
+ environment: 'jsdom',
9
+ exclude: [...configDefaults.exclude, 'src/__tests__/e2e'],
10
+ setupFiles: ['.test/setup-vitest.js'],
11
+ },
12
+ })
@@ -1,8 +0,0 @@
1
- version: 2.1
2
- orbs:
3
- node: circleci/node@3.0.0
4
- workflows:
5
- test:
6
- jobs:
7
- - node/test:
8
- run-command: bootstrap && npm test
@@ -1,36 +0,0 @@
1
- 🎟️ [Asana Task]()
2
- 🔍 [Preview Link](https://react-components-git-{branch-slug}.hashicorp.vercel.app)
3
-
4
- ---
5
-
6
- ## Description
7
-
8
- Describe this pull request: what is it aiming to achieve? What should someone reviewing this PR know? If this PR includes visual changes, consider including before / after screenshots, or an animated gif showing interactions.
9
-
10
- ## Release Information
11
-
12
- Please select one (**required**)
13
-
14
- - [ ] **Major** (This PR introduces a breaking (incompatible API) change)
15
- - [ ] **Minor** (This PR adds functionality but it backwards-compatible)
16
- - [ ] **Patch** (This PR adds a backwards-compatible bug fix)
17
-
18
- <details>
19
- <summary>Release Notes (<strong>required</strong>)</summary>
20
- <!-- This repo requires release notes on each PR in order to publish a package. Remove this comment and replace with release notes that will be reflected in the GitHub release notes. -->
21
- </details>
22
-
23
- ---
24
-
25
- ### PR Checklist 🚀
26
-
27
- Items in this checklist may not may not apply to your PR, but please consider each item carefully.
28
-
29
- - [ ] Add Asana and Preview links above.
30
- - [ ] Conduct thorough self-review.
31
- - [ ] Add or update tests as appropriate.
32
- - [ ] Write a useful description (above) to give reviewers appropriate context.
33
- - [ ] Add release notes to the appropriate section (above).
34
- - [ ] Conduct reasonable cross browser testing for both compatibility and responsive behavior (We have a [Cross Browser Testing](https://crossbrowsertesting.com) account for this, if you don't have access, just ask!).
35
- - [ ] Conduct reasonable accessibility review (use the [WAS](https://accessible.org/Web-Accessibility-Standards-WAS-2.pdf) as a guide or an [axe browser plugin](https://www.deque.com/axe/) until we establish more formal checks).
36
- - [ ] Identify (in the description above) and document (add Asana tasks on [this board](https://app.asana.com/0/1100423001970639/list)) any technical debt that you're aware of, but are not addressing as part of this PR.
@@ -1,181 +0,0 @@
1
- name: HashiBot Package Publisher
2
-
3
- on:
4
- pull_request:
5
- branches:
6
- - master
7
- types: [opened, synchronize, ready_for_review, edited, closed]
8
-
9
- jobs:
10
- scan_changed_packages:
11
- name: Scan changed packages
12
- runs-on: ubuntu-latest
13
- outputs:
14
- packageName: ${{ steps.parse_changed.outputs.package_name }}
15
- steps:
16
- - uses: actions/checkout@v2
17
- with:
18
- fetch-depth: 0
19
- - name: Parse changed packages
20
- id: parse_changed
21
- run: |
22
- echo "::set-output name=package_name::$( echo $(npx lerna changed --json || echo "{}") | jq -r 'if . | length == 1 then .[0].name | tostring else "N/A" end' )"
23
-
24
- add_comment:
25
- name: Add warning comment to PR author
26
- runs-on: ubuntu-latest
27
- needs: scan_changed_packages
28
- if: ${{ needs.scan_changed_packages.outputs.packageName == 'N/A' }}
29
- steps:
30
- - name: Comment on PR
31
- uses: actions/github-script@v2
32
- with:
33
- github-token: ${{ secrets.GITHUB_TOKEN }}
34
- script: |
35
- const { data: comments } = await github.issues.listComments({
36
- owner: context.payload.repository.owner.login,
37
- repo: context.payload.repository.name,
38
- issue_number: context.payload.pull_request.number,
39
- })
40
- const body = "This pull request cannot be automatically published as we've detected multiple lerna packages have been affected. Please publish manually."
41
- const dup = comments.find(c => c.body === body)
42
- if (dup) {
43
- core.warning('This comment already exists')
44
- process.exit(0)
45
- }
46
- await github.issues.createComment({
47
- owner: context.payload.repository.owner.login,
48
- repo: context.payload.repository.name,
49
- issue_number: context.payload.pull_request.number,
50
- body
51
- })
52
-
53
- log_package:
54
- name: Log package name
55
- runs-on: ubuntu-latest
56
- needs: scan_changed_packages
57
- if: ${{ needs.scan_changed_packages.outputs.packageName != 'N/A' }}
58
- steps:
59
- - name: Log package name
60
- env:
61
- PACKAGE_NAME: ${{ needs.scan_changed_packages.outputs.packageName }}
62
- run: |
63
- echo "Change detected in package: $PACKAGE_NAME"
64
-
65
- verify_description:
66
- name: Verify description
67
- runs-on: ubuntu-latest
68
- needs: scan_changed_packages
69
- outputs:
70
- version: ${{ steps.version.outputs.version }}
71
- releaseNotes: ${{ steps.release_notes.outputs.releaseNotes }}
72
- if: ${{ needs.scan_changed_packages.outputs.packageName != 'N/A' }}
73
- steps:
74
- - name: Get semver keyword
75
- id: version
76
- uses: actions/github-script@v2
77
- with:
78
- github-token: ${{ secrets.GITHUB_TOKEN }}
79
- script: |
80
- // Get contents of PR description
81
- const prBody = context.payload.pull_request.body
82
- // Parse lines of description
83
- const prBodyLines = prBody.split('\n').map(x => x.trim()).filter(Boolean)
84
- // Ensure version has been selected
85
- const selectedVersion = prBodyLines.filter(x => x.match(/^-\s\[x\].*(major|minor|patch).*$/i))
86
- if (!selectedVersion.length) return core.setFailed('Failed to find required version information! Ensure a SemVer category is selected in the pull request description.')
87
- const [version] = /(major|minor|patch)/i.exec(selectedVersion[0])
88
- if (!version) return core.setFailed('There was an error parsing the version. Please ensure an appropriate version is checked in the pull request description.')
89
- core.setOutput("version", version)
90
- - name: Get release notes
91
- id: release_notes
92
- uses: actions/github-script@v2
93
- with:
94
- github-token: ${{ secrets.GITHUB_TOKEN }}
95
- script: |
96
- // Get contents of PR description
97
- const prBody = context.payload.pull_request.body
98
- // Parse lines of description
99
- const prBodyLines = prBody.split('\n').map(x => x.trim()).filter(Boolean)
100
- // Detect Release Notes
101
- const releaseNotesStartIdx = prBodyLines.findIndex(line => line.match(/^<summary>release.*$/i))
102
- const releaseNotesEndIdx = prBodyLines.findIndex(line => line.match(/^\<\/details>\s*$/i))
103
- if (!releaseNotesStartIdx || !releaseNotesEndIdx) core.setFailed('Unable to parse release notes. Ensure release notes are included within the pull request description.')
104
- // Extract release notes
105
- const releaseNotes = Array.from({
106
- length: releaseNotesEndIdx - releaseNotesStartIdx - 1
107
- })
108
- .map((_, i) => i + releaseNotesStartIdx + 1)
109
- .map(idx => prBodyLines[idx])
110
- .join('\n')
111
- if (!releaseNotes.length || releaseNotes.startsWith('<!--')) return core.setFailed('Cannot find release notes associated with this pull request!')
112
- core.setOutput("releaseNotes", releaseNotes)
113
- # release_package:
114
- # name: Publish package
115
- # runs-on: ubuntu-latest
116
- # needs: [scan_changed_packages, verify_description]
117
- # if: ${{ needs.scan_changed_packages.outputs.packageName != 'N/A' && github.event.action == 'closed' && github.event.pull_request.merged == true }}
118
- # steps:
119
- # - uses: actions/checkout@v2
120
- # with:
121
- # fetch-depth: 0
122
- # - run: git checkout master
123
- # - name: Setup Node.js
124
- # uses: actions/setup-node@v1
125
- # with:
126
- # node-version: "12.x"
127
- # registry-url: "https://registry.npmjs.org"
128
- # - run: npm ci --ignore-scripts
129
- # env:
130
- # NODE_AUTH_TOKEN: ${{ secrets.NPM_ACCESS_TOKEN }}
131
- # - run: npm run vercel-build
132
- # - name: Configure git credentials
133
- # run: |
134
- # git config --global user.email "mktg-dev-github-bot@hashicorp.com"
135
- # git config --global user.name "HashiBot Web"
136
- # - name: Tag major version
137
- # if: ${{ needs.verify_description.outputs.version == 'Major'}}
138
- # run: |
139
- # echo 'VERSION<<EOF' >> $GITHUB_ENV
140
- # ./node_modules/.bin/lerna version major --yes | jq -Rsr 'split(" => ") | .[1] | gsub("[\\n\\t]"; "")' >> $GITHUB_ENV
141
- # echo 'EOF' >> $GITHUB_ENV
142
- # env:
143
- # NODE_AUTH_TOKEN: ${{ secrets.NPM_ACCESS_TOKEN }}
144
- # - name: Tag minor version
145
- # if: ${{ needs.verify_description.outputs.version == 'Minor'}}
146
- # run: |
147
- # echo 'VERSION<<EOF' >> $GITHUB_ENV
148
- # ./node_modules/.bin/lerna version minor --yes | jq -Rsr 'split(" => ") | .[1] | gsub("[\\n\\t]"; "")' >> $GITHUB_ENV
149
- # echo 'EOF' >> $GITHUB_ENV
150
- # env:
151
- # NODE_AUTH_TOKEN: ${{ secrets.NPM_ACCESS_TOKEN }}
152
- # - name: Tag patch version
153
- # if: ${{ needs.verify_description.outputs.version == 'Patch'}}
154
- # run: |
155
- # echo 'VERSION<<EOF' >> $GITHUB_ENV
156
- # ./node_modules/.bin/lerna version patch --yes | jq -Rsr 'split(" => ") | .[1] | gsub("[\\n\\t]"; "")' >> $GITHUB_ENV
157
- # echo 'EOF' >> $GITHUB_ENV
158
- # env:
159
- # NODE_AUTH_TOKEN: ${{ secrets.NPM_ACCESS_TOKEN }}
160
- # - name: Print version
161
- # run: echo $VERSION
162
- # - name: Create GitHub release
163
- # uses: actions/github-script@v2
164
- # with:
165
- # github-token: ${{ secrets.GITHUB_TOKEN }}
166
- # script: |
167
- # github.repos.createRelease({
168
- # owner: context.payload.repository.owner.login,
169
- # repo: context.payload.repository.name,
170
- # tag_name: `${process.env.PACKAGE_NAME}@${process.env.VERSION}`,
171
- # body: process.env.RELEASE_NOTES,
172
- # draft: false,
173
- # prerelease: false,
174
- # });
175
- # env:
176
- # PACKAGE_NAME: ${{ needs.scan_changed_packages.outputs.packageName }}
177
- # RELEASE_NOTES: ${{ needs.verify_description.outputs.releaseNotes }}
178
- # - name: Publish package
179
- # run: ./node_modules/.bin/lerna publish from-package --yes
180
- # env:
181
- # NODE_AUTH_TOKEN: ${{ secrets.NPM_ACCESS_TOKEN }}
@@ -1,6 +0,0 @@
1
- export default function expectToThrow(fn, throwResult) {
2
- jest.spyOn(console, 'error')
3
- console.error.mockImplementation(() => {})
4
- expect(fn).toThrow(throwResult)
5
- console.error.mockRestore()
6
- }
@@ -1 +0,0 @@
1
- import '@testing-library/jest-dom/extend-expect'
@@ -1 +0,0 @@
1
- module.exports = {}
@@ -1 +0,0 @@
1
- module.exports = {}
@@ -1 +0,0 @@
1
- module.exports = {}
package/babel.config.js DELETED
@@ -1,5 +0,0 @@
1
- // This is here for jest, it's not needed for nextjs as its the default
2
-
3
- module.exports = {
4
- presets: ['next/babel'],
5
- }
package/jest.config.js DELETED
@@ -1,13 +0,0 @@
1
- module.exports = {
2
- moduleNameMapper: {
3
- '\\.module.css$': '<rootDir>/__test-helpers/mocks/css-module-mock.js',
4
- '\\.graphql$': '<rootDir>/__test-helpers/mocks/graphql-fragment-mock.js',
5
- '\\.svg(?:\\?.*)*$': '<rootDir>/__test-helpers/mocks/svg-mock.js',
6
- },
7
- transformIgnorePatterns: [
8
- '/node_modules/(?!@hashicorp/react-)',
9
- '\\.pnp\\.[^\\/]+$',
10
- ],
11
- verbose: true,
12
- setupFilesAfterEnv: ['<rootDir>/__test-helpers/extend-expect.js'],
13
- }
package/lerna.json DELETED
@@ -1,16 +0,0 @@
1
- {
2
- "lerna": "3.22.1",
3
- "packages": ["packages/*"],
4
- "version": "independent",
5
- "command": {
6
- "publish": {
7
- "ignoreChanges": [
8
- "*.test.js",
9
- "props.js",
10
- "docs.mdx",
11
- "README.md",
12
- "package-lock.json"
13
- ]
14
- }
15
- }
16
- }
package/next.config.js DELETED
@@ -1,14 +0,0 @@
1
- const withHashicorp = require('@hashicorp/nextjs-scripts')
2
- const withSwingset = require('swingset')
3
-
4
- module.exports = withHashicorp({
5
- transpileModules: [
6
- 'swingset',
7
- '@hashicorp/react-.*',
8
- '@hashicorp/nextjs-scripts',
9
- ],
10
- })(
11
- withSwingset({
12
- componentsRoot: 'packages/*',
13
- })({ svgo: { plugins: [{ removeViewBox: false }] } })
14
- )