@hashicorp/react-components 0.0.0 → 1.0.1

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 (586) 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 +18 -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/nav-panel/components/link-list/index.tsx +88 -0
  101. package/src/components/nav-panel/components/link-list/style.module.css +57 -0
  102. package/src/components/nav-panel/components/panel/column/index.tsx +9 -0
  103. package/src/components/nav-panel/components/panel/column/style.module.css +14 -0
  104. package/src/components/nav-panel/components/panel/index.tsx +4 -0
  105. package/src/components/nav-panel/components/panel/root/index.tsx +9 -0
  106. package/src/components/nav-panel/components/panel/root/style.module.css +15 -0
  107. package/src/components/nav-panel/components/promo/index.tsx +79 -0
  108. package/src/components/nav-panel/components/promo/style.module.css +92 -0
  109. package/src/components/nav-panel/index.tsx +6 -0
  110. package/src/components/nav-panel/product-panel/index.tsx +88 -0
  111. package/src/components/nav-panel/product-panel/style.module.css +100 -0
  112. package/src/components/nav-panel/standard-panel/index.tsx +44 -0
  113. package/src/components/nav-panel/standard-panel/style.module.css +11 -0
  114. package/src/components/next-steps/index.tsx +137 -0
  115. package/src/components/next-steps/style.module.css +270 -0
  116. package/src/components/next-steps/types.ts +63 -0
  117. package/src/components/product-badge/index.test.tsx +11 -0
  118. package/src/components/product-badge/index.tsx +42 -0
  119. package/src/components/product-badge/style.module.css +76 -0
  120. package/src/components/products-used/index.tsx +84 -0
  121. package/src/components/products-used/style.module.css +87 -0
  122. package/src/components/products-used/types.ts +31 -0
  123. package/src/components/related-content/index.test.tsx +74 -0
  124. package/src/components/related-content/index.tsx +56 -0
  125. package/src/components/related-content/style.module.css +89 -0
  126. package/src/components/related-content/types.ts +21 -0
  127. package/src/components/subnav/helpers/areBasePathsMatching.ts +13 -0
  128. package/src/components/subnav/helpers/traverse/index.ts +42 -0
  129. package/src/components/subnav/helpers/useHeightRef.ts +42 -0
  130. package/src/components/subnav/helpers/useNavRef.ts +30 -0
  131. package/src/components/subnav/helpers/useOverflowRef.ts +85 -0
  132. package/src/components/subnav/helpers/useStuckRef.ts +51 -0
  133. package/src/components/subnav/index.tsx +199 -0
  134. package/src/components/subnav/partials/CtaLinks/github-stars-link/formatStarCount/index.test.ts +26 -0
  135. package/src/components/subnav/partials/CtaLinks/github-stars-link/formatStarCount/index.ts +22 -0
  136. package/src/components/subnav/partials/CtaLinks/github-stars-link/index.tsx +87 -0
  137. package/src/components/subnav/partials/CtaLinks/github-stars-link/parseGithubUrl/index.test.ts +29 -0
  138. package/src/components/subnav/partials/CtaLinks/github-stars-link/parseGithubUrl/index.ts +32 -0
  139. package/src/components/subnav/partials/CtaLinks/github-stars-link/style.module.css +85 -0
  140. package/src/components/subnav/partials/CtaLinks/icons/github-logo.js +20 -0
  141. package/{packages → src/components}/subnav/partials/CtaLinks/icons/github.svg.js +5 -0
  142. package/src/components/subnav/partials/CtaLinks/icons/star.js +20 -0
  143. package/src/components/subnav/partials/CtaLinks/index.tsx +130 -0
  144. package/src/components/subnav/partials/CtaLinks/style.module.css +45 -0
  145. package/src/components/subnav/partials/DropdownTrigger/index.tsx +35 -0
  146. package/src/components/subnav/partials/DropdownTrigger/style.module.css +36 -0
  147. package/src/components/subnav/partials/MenuItemsDefault/index.tsx +151 -0
  148. package/src/components/subnav/partials/MenuItemsDefault/style.module.css +91 -0
  149. package/src/components/subnav/partials/MenuItemsOverflow/index.tsx +139 -0
  150. package/src/components/subnav/partials/MenuItemsOverflow/style.module.css +82 -0
  151. package/src/components/subnav/partials/TitleLink/index.tsx +113 -0
  152. package/src/components/subnav/partials/TitleLink/mktg-logos/all-community-product-logos_on-dark.ts +9 -0
  153. package/src/components/subnav/partials/TitleLink/mktg-logos/all-community-product-logos_on-light.ts +9 -0
  154. package/src/components/subnav/partials/TitleLink/mktg-logos/all-primary-logos_on-dark.ts +23 -0
  155. package/src/components/subnav/partials/TitleLink/mktg-logos/all-primary-logos_on-light.ts +23 -0
  156. package/src/components/subnav/partials/TitleLink/style.module.css +43 -0
  157. package/src/components/subnav/partials/nav-item-text/index.tsx +37 -0
  158. package/src/components/subnav/partials/nav-item-text/style.module.css +15 -0
  159. package/src/components/subnav/style.module.css +68 -0
  160. package/src/components/subnav/subnav-consts.ts +1 -0
  161. package/src/components/subnav/theme.module.css +50 -0
  162. package/tsconfig.json +14 -0
  163. package/vitest.config.mts +12 -0
  164. package/.circleci/config.yml +0 -8
  165. package/.github/pull_request_template.md +0 -36
  166. package/.github/workflows/publish.yml +0 -181
  167. package/__test-helpers/expect-throw.js +0 -6
  168. package/__test-helpers/extend-expect.js +0 -1
  169. package/__test-helpers/mocks/css-module-mock.js +0 -1
  170. package/__test-helpers/mocks/graphql-fragment-mock.js +0 -1
  171. package/__test-helpers/mocks/svg-mock.js +0 -1
  172. package/babel.config.js +0 -5
  173. package/jest.config.js +0 -13
  174. package/lerna.json +0 -16
  175. package/next.config.js +0 -14
  176. package/packages/accordion/LICENSE +0 -373
  177. package/packages/accordion/README.md +0 -5
  178. package/packages/accordion/index.js +0 -21
  179. package/packages/accordion/package-lock.json +0 -13
  180. package/packages/accordion/package.json +0 -20
  181. package/packages/accordion/partials/AccordionItems/fixtures/default.json +0 -12
  182. package/packages/accordion/partials/AccordionItems/icons/arrow-down.svg +0 -1
  183. package/packages/accordion/partials/AccordionItems/index.js +0 -64
  184. package/packages/accordion/partials/AccordionItems/style.css +0 -2
  185. package/packages/accordion/partials/AccordionItems/styles/content.css +0 -47
  186. package/packages/accordion/partials/AccordionItems/styles/index.css +0 -72
  187. package/packages/accordion/partials/Collapsible/index.js +0 -87
  188. package/packages/accordion/partials/Collapsible/style.css +0 -10
  189. package/packages/accordion/style.css +0 -3
  190. package/packages/accordion/styles/index.css +0 -14
  191. package/packages/alert/LICENSE +0 -373
  192. package/packages/alert/README.md +0 -9
  193. package/packages/alert/fragment.graphql +0 -8
  194. package/packages/alert/index.js +0 -44
  195. package/packages/alert/package.json +0 -22
  196. package/packages/alert/style.css +0 -138
  197. package/packages/alert-banner/LICENSE +0 -373
  198. package/packages/alert-banner/README.md +0 -3
  199. package/packages/alert-banner/close-icon.js +0 -35
  200. package/packages/alert-banner/fragment.graphql +0 -8
  201. package/packages/alert-banner/index.jsx +0 -97
  202. package/packages/alert-banner/package-lock.json +0 -18
  203. package/packages/alert-banner/package.json +0 -26
  204. package/packages/alert-banner/style.css +0 -151
  205. package/packages/button/LICENSE +0 -373
  206. package/packages/button/README.md +0 -19
  207. package/packages/button/fragment.graphql +0 -6
  208. package/packages/button/helpers/normalizeButtonTheme.js +0 -49
  209. package/packages/button/icons/arrow-right.svg.js +0 -1
  210. package/packages/button/icons/chevron-down.svg.js +0 -1
  211. package/packages/button/icons/download.svg.js +0 -1
  212. package/packages/button/icons/external-link.svg.js +0 -1
  213. package/packages/button/index.js +0 -86
  214. package/packages/button/package-lock.json +0 -18
  215. package/packages/button/package.json +0 -21
  216. package/packages/button/styles/index.css +0 -122
  217. package/packages/button/styles/variant-primary.css +0 -232
  218. package/packages/button/styles/variant-secondary.css +0 -179
  219. package/packages/button/styles/variant-tertiary-neutral.css +0 -65
  220. package/packages/button/styles/variant-tertiary.css +0 -182
  221. package/packages/call-to-action/LICENSE +0 -373
  222. package/packages/call-to-action/README.md +0 -3
  223. package/packages/call-to-action/index.js +0 -67
  224. package/packages/call-to-action/package-lock.json +0 -27
  225. package/packages/call-to-action/package.json +0 -21
  226. package/packages/call-to-action/style.css +0 -1
  227. package/packages/call-to-action/styles/_temp-spacing-tokens.css +0 -33
  228. package/packages/call-to-action/styles/common.css +0 -27
  229. package/packages/call-to-action/styles/index.css +0 -4
  230. package/packages/call-to-action/styles/variant-centered.css +0 -44
  231. package/packages/call-to-action/styles/variant-compact.css +0 -46
  232. package/packages/call-to-action/styles/variant-links.css +0 -32
  233. package/packages/callouts/LICENSE +0 -373
  234. package/packages/callouts/README.md +0 -8
  235. package/packages/callouts/index.js +0 -67
  236. package/packages/callouts/package-lock.json +0 -33
  237. package/packages/callouts/package.json +0 -20
  238. package/packages/callouts/partials/callout-item/fixtures/default.json +0 -9
  239. package/packages/callouts/partials/callout-item/index.js +0 -71
  240. package/packages/callouts/partials/callout-item/style.css +0 -76
  241. package/packages/callouts/style.css +0 -1
  242. package/packages/callouts/styles/_temp-reset.css +0 -11
  243. package/packages/callouts/styles/_temp-spacing-tokens.css +0 -41
  244. package/packages/callouts/styles/index.css +0 -124
  245. package/packages/case-study-slider/LICENSE +0 -373
  246. package/packages/case-study-slider/Logo.js +0 -6
  247. package/packages/case-study-slider/StatusBar.js +0 -14
  248. package/packages/case-study-slider/StatusBar.test.js +0 -32
  249. package/packages/case-study-slider/docs.mdx +0 -144
  250. package/packages/case-study-slider/fragment.graphql +0 -33
  251. package/packages/case-study-slider/index.js +0 -229
  252. package/packages/case-study-slider/index.test.js +0 -279
  253. package/packages/case-study-slider/package-lock.json +0 -72
  254. package/packages/case-study-slider/package.json +0 -20
  255. package/packages/case-study-slider/props.js +0 -182
  256. package/packages/case-study-slider/readme.md +0 -7
  257. package/packages/case-study-slider/style.css +0 -176
  258. package/packages/checkbox-input/LICENSE +0 -373
  259. package/packages/checkbox-input/index.js +0 -55
  260. package/packages/checkbox-input/package-lock.json +0 -13
  261. package/packages/checkbox-input/package.json +0 -20
  262. package/packages/checkbox-input/readme.md +0 -19
  263. package/packages/checkbox-input/style.css +0 -110
  264. package/packages/code-block/LICENSE +0 -373
  265. package/packages/code-block/README.md +0 -9
  266. package/packages/code-block/fragment.graphql +0 -10
  267. package/packages/code-block/img/clipboard.svg +0 -1
  268. package/packages/code-block/index.js +0 -85
  269. package/packages/code-block/languages/sentinel.js +0 -71
  270. package/packages/code-block/package-lock.json +0 -68
  271. package/packages/code-block/package.json +0 -22
  272. package/packages/code-block/style.css +0 -162
  273. package/packages/consent-manager/LICENSE +0 -373
  274. package/packages/consent-manager/banner.js +0 -39
  275. package/packages/consent-manager/cookies.js +0 -53
  276. package/packages/consent-manager/dialog.js +0 -286
  277. package/packages/consent-manager/icn_close.js +0 -19
  278. package/packages/consent-manager/index.js +0 -119
  279. package/packages/consent-manager/integrations.js +0 -92
  280. package/packages/consent-manager/load.js +0 -139
  281. package/packages/consent-manager/package-lock.json +0 -45
  282. package/packages/consent-manager/package.json +0 -24
  283. package/packages/consent-manager/style.css +0 -209
  284. package/packages/content/LICENSE +0 -373
  285. package/packages/content/README.md +0 -8
  286. package/packages/content/index.js +0 -9
  287. package/packages/content/package.json +0 -17
  288. package/packages/content/style.css +0 -322
  289. package/packages/content-cta/LICENSE +0 -373
  290. package/packages/content-cta/README.md +0 -3
  291. package/packages/content-cta/docs.mdx +0 -25
  292. package/packages/content-cta/index.js +0 -49
  293. package/packages/content-cta/index.test.js +0 -78
  294. package/packages/content-cta/package-lock.json +0 -27
  295. package/packages/content-cta/package.json +0 -20
  296. package/packages/content-cta/props.js +0 -41
  297. package/packages/content-cta/stories/docs.mdx +0 -0
  298. package/packages/content-cta/stories/examples.stories.js +0 -51
  299. package/packages/content-cta/stories/with-knobs.stories.js +0 -58
  300. package/packages/content-cta/style.css +0 -80
  301. package/packages/docs-page/LICENSE +0 -373
  302. package/packages/docs-page/README.md +0 -51
  303. package/packages/docs-page/components.js +0 -11
  304. package/packages/docs-page/docs.mdx +0 -71
  305. package/packages/docs-page/img/github-logo.svg +0 -1
  306. package/packages/docs-page/index.js +0 -75
  307. package/packages/docs-page/index.test.js +0 -18
  308. package/packages/docs-page/package-lock.json +0 -138
  309. package/packages/docs-page/package.json +0 -28
  310. package/packages/docs-page/props.js +0 -59
  311. package/packages/docs-page/server.js +0 -137
  312. package/packages/docs-page/style.css +0 -120
  313. package/packages/docs-page/temporary_jump-to-section.js +0 -64
  314. package/packages/docs-sidenav/LICENSE +0 -373
  315. package/packages/docs-sidenav/README.md +0 -7
  316. package/packages/docs-sidenav/chevron-icon.js +0 -18
  317. package/packages/docs-sidenav/img/external.svg +0 -7
  318. package/packages/docs-sidenav/index.js +0 -457
  319. package/packages/docs-sidenav/menu-icon.js +0 -14
  320. package/packages/docs-sidenav/package-lock.json +0 -26
  321. package/packages/docs-sidenav/package.json +0 -21
  322. package/packages/docs-sidenav/style.css +0 -302
  323. package/packages/enterprise-alert/LICENSE +0 -373
  324. package/packages/enterprise-alert/README.md +0 -9
  325. package/packages/enterprise-alert/index.js +0 -28
  326. package/packages/enterprise-alert/package-lock.json +0 -13
  327. package/packages/enterprise-alert/package.json +0 -23
  328. package/packages/enterprise-alert/style.css +0 -91
  329. package/packages/featured-slider/LICENSE +0 -373
  330. package/packages/featured-slider/README.md +0 -3
  331. package/packages/featured-slider/StatusBar.js +0 -14
  332. package/packages/featured-slider/docs.mdx +0 -60
  333. package/packages/featured-slider/index.js +0 -231
  334. package/packages/featured-slider/index.test.js +0 -59
  335. package/packages/featured-slider/package-lock.json +0 -66
  336. package/packages/featured-slider/package.json +0 -22
  337. package/packages/featured-slider/props.js +0 -82
  338. package/packages/featured-slider/style.css +0 -204
  339. package/packages/hashi-stack-menu/LICENSE +0 -373
  340. package/packages/hashi-stack-menu/README.md +0 -3
  341. package/packages/hashi-stack-menu/assets/icon-dropdown.svg +0 -1
  342. package/packages/hashi-stack-menu/assets/logo.svg +0 -1
  343. package/packages/hashi-stack-menu/assets/product-icons/boundary-icon-color.svg +0 -1
  344. package/packages/hashi-stack-menu/assets/product-icons/consul-icon-color.svg +0 -1
  345. package/packages/hashi-stack-menu/assets/product-icons/nomad-icon-color.svg +0 -1
  346. package/packages/hashi-stack-menu/assets/product-icons/packer-icon-color.svg +0 -1
  347. package/packages/hashi-stack-menu/assets/product-icons/terraform-icon-color.svg +0 -1
  348. package/packages/hashi-stack-menu/assets/product-icons/vagrant-icon-color.svg +0 -1
  349. package/packages/hashi-stack-menu/assets/product-icons/vault-icon-color.svg +0 -1
  350. package/packages/hashi-stack-menu/assets/product-icons/waypoint-icon-color.svg +0 -1
  351. package/packages/hashi-stack-menu/browse-panel/browse-panel.module.css +0 -33
  352. package/packages/hashi-stack-menu/browse-panel/index.jsx +0 -9
  353. package/packages/hashi-stack-menu/data/index.js +0 -125
  354. package/packages/hashi-stack-menu/hashi-stack-menu.module.css +0 -41
  355. package/packages/hashi-stack-menu/index.jsx +0 -51
  356. package/packages/hashi-stack-menu/nav-item/index.jsx +0 -100
  357. package/packages/hashi-stack-menu/nav-item/nav-item.module.css +0 -64
  358. package/packages/hashi-stack-menu/package-lock.json +0 -18
  359. package/packages/hashi-stack-menu/package.json +0 -17
  360. package/packages/hashi-stack-menu/stack-group/index.jsx +0 -16
  361. package/packages/hashi-stack-menu/stack-group/stack-group.module.css +0 -29
  362. package/packages/hashi-stack-menu/stack-item/index.jsx +0 -35
  363. package/packages/hashi-stack-menu/stack-item/stack-item.module.css +0 -58
  364. package/packages/hashi-stack-menu/stack-menu-section/index.jsx +0 -18
  365. package/packages/hashi-stack-menu/stack-menu-section/stack-menu-section.module.css +0 -26
  366. package/packages/hashi-stack-menu/use-on-click-outside-dropdown.js +0 -22
  367. package/packages/head/LICENSE +0 -373
  368. package/packages/head/README.md +0 -236
  369. package/packages/head/index.d.ts +0 -107
  370. package/packages/head/index.js +0 -66
  371. package/packages/head/package.json +0 -17
  372. package/packages/hero/LICENSE +0 -373
  373. package/packages/hero/README.md +0 -31
  374. package/packages/hero/arrow-icon.js +0 -24
  375. package/packages/hero/carousel.js +0 -153
  376. package/packages/hero/fragment.graphql +0 -55
  377. package/packages/hero/heroLeadForm.js +0 -107
  378. package/packages/hero/index.js +0 -129
  379. package/packages/hero/package-lock.json +0 -273
  380. package/packages/hero/package.json +0 -28
  381. package/packages/hero/style.css +0 -501
  382. package/packages/image/LICENSE +0 -373
  383. package/packages/image/fragment.graphql +0 -5
  384. package/packages/image/index.js +0 -81
  385. package/packages/image/package-lock.json +0 -33
  386. package/packages/image/package.json +0 -21
  387. package/packages/image/readme.md +0 -27
  388. package/packages/inline-svg/LICENSE +0 -373
  389. package/packages/inline-svg/README.md +0 -9
  390. package/packages/inline-svg/docs.mdx +0 -15
  391. package/packages/inline-svg/index.js +0 -23
  392. package/packages/inline-svg/index.test.js +0 -50
  393. package/packages/inline-svg/package.json +0 -30
  394. package/packages/inline-svg/props.js +0 -10
  395. package/packages/learn-callout/LICENSE +0 -373
  396. package/packages/learn-callout/README.md +0 -9
  397. package/packages/learn-callout/docs.mdx +0 -31
  398. package/packages/learn-callout/index.js +0 -57
  399. package/packages/learn-callout/index.test.js +0 -49
  400. package/packages/learn-callout/props.js +0 -47
  401. package/packages/learn-callout/style.css +0 -207
  402. package/packages/link-wrap/LICENSE +0 -373
  403. package/packages/link-wrap/README.md +0 -44
  404. package/packages/link-wrap/index.js +0 -40
  405. package/packages/link-wrap/package-lock.json +0 -5
  406. package/packages/link-wrap/package.json +0 -17
  407. package/packages/logo-grid/LICENSE +0 -373
  408. package/packages/logo-grid/README.md +0 -26
  409. package/packages/logo-grid/fragment.graphql +0 -17
  410. package/packages/logo-grid/index.js +0 -157
  411. package/packages/logo-grid/package-lock.json +0 -111
  412. package/packages/logo-grid/package.json +0 -21
  413. package/packages/logo-grid/style.css +0 -148
  414. package/packages/product-downloader/LICENSE +0 -373
  415. package/packages/product-downloader/README.md +0 -9
  416. package/packages/product-downloader/index.js +0 -102
  417. package/packages/product-downloader/package-lock.json +0 -103
  418. package/packages/product-downloader/package.json +0 -18
  419. package/packages/product-downloader/partials/download-cards/index.jsx +0 -125
  420. package/packages/product-downloader/partials/download-cards/style.module.css +0 -152
  421. package/packages/product-downloader/partials/dropdown/index.jsx +0 -58
  422. package/packages/product-downloader/partials/dropdown/style.module.css +0 -28
  423. package/packages/product-downloader/partials/logos/fastly.svg +0 -7
  424. package/packages/product-downloader/partials/release-information/index.jsx +0 -148
  425. package/packages/product-downloader/partials/release-information/style.module.css +0 -101
  426. package/packages/product-downloader/style.module.css +0 -100
  427. package/packages/product-downloader/utils/downloader.js +0 -136
  428. package/packages/product-features-list/LICENSE +0 -373
  429. package/packages/product-features-list/README.md +0 -3
  430. package/packages/product-features-list/index.js +0 -30
  431. package/packages/product-features-list/package-lock.json +0 -42
  432. package/packages/product-features-list/package.json +0 -20
  433. package/packages/product-features-list/style.css +0 -90
  434. package/packages/search/LICENSE +0 -373
  435. package/packages/search/README.md +0 -188
  436. package/packages/search/hits.js +0 -196
  437. package/packages/search/img/return.svg.js +0 -1
  438. package/packages/search/img/search-legend-enter.svg.js +0 -1
  439. package/packages/search/img/search-legend-escape.svg.js +0 -1
  440. package/packages/search/img/search-legend-page.svg.js +0 -1
  441. package/packages/search/img/search-x.svg.js +0 -1
  442. package/packages/search/img/search.svg.js +0 -1
  443. package/packages/search/img/slash-search-toggle.js +0 -17
  444. package/packages/search/index.js +0 -60
  445. package/packages/search/legend.js +0 -32
  446. package/packages/search/package-lock.json +0 -931
  447. package/packages/search/package.json +0 -29
  448. package/packages/search/provider.js +0 -81
  449. package/packages/search/search-box.js +0 -139
  450. package/packages/search/style.css +0 -366
  451. package/packages/search/tools.js +0 -166
  452. package/packages/section-header/LICENSE +0 -373
  453. package/packages/section-header/README.md +0 -13
  454. package/packages/section-header/fragment.graphql +0 -5
  455. package/packages/section-header/index.js +0 -42
  456. package/packages/section-header/package-lock.json +0 -18
  457. package/packages/section-header/package.json +0 -20
  458. package/packages/section-header/style.css +0 -18
  459. package/packages/select-input/LICENSE +0 -373
  460. package/packages/select-input/README.md +0 -1
  461. package/packages/select-input/img/dropdown-arrow.svg +0 -1
  462. package/packages/select-input/index.js +0 -80
  463. package/packages/select-input/package-lock.json +0 -70
  464. package/packages/select-input/package.json +0 -19
  465. package/packages/select-input/style.css +0 -88
  466. package/packages/subnav/LICENSE +0 -373
  467. package/packages/subnav/README.md +0 -85
  468. package/packages/subnav/helpers/globalThis.js +0 -9
  469. package/packages/subnav/helpers/traverse/index.js +0 -34
  470. package/packages/subnav/helpers/useNavRef.js +0 -16
  471. package/packages/subnav/helpers/useOverflowRef.js +0 -76
  472. package/packages/subnav/helpers/useStuckRef.js +0 -43
  473. package/packages/subnav/icons/boundary-logo-color.svgr.js +0 -32
  474. package/packages/subnav/icons/chevron-down.svg.js +0 -3
  475. package/packages/subnav/icons/consul-logo-color.svgr.js +0 -44
  476. package/packages/subnav/icons/hcp-logo-black-white.svgr.js +0 -29
  477. package/packages/subnav/icons/nomad-logo-color.svgr.js +0 -50
  478. package/packages/subnav/icons/packer-logo-color.svgr.js +0 -40
  479. package/packages/subnav/icons/terraform-logo-color.svgr.js +0 -44
  480. package/packages/subnav/icons/vagrant-logo-color.svgr.js +0 -38
  481. package/packages/subnav/icons/vault-logo-color.svgr.js +0 -32
  482. package/packages/subnav/icons/waypoint-logo-color.svgr.js +0 -28
  483. package/packages/subnav/index.js +0 -107
  484. package/packages/subnav/package-lock.json +0 -56
  485. package/packages/subnav/package.json +0 -25
  486. package/packages/subnav/partials/CtaLinks/github-stars-link/formatStarCount/index.js +0 -17
  487. package/packages/subnav/partials/CtaLinks/github-stars-link/index.js +0 -71
  488. package/packages/subnav/partials/CtaLinks/github-stars-link/parseGithubUrl/index.js +0 -25
  489. package/packages/subnav/partials/CtaLinks/github-stars-link/style.css +0 -78
  490. package/packages/subnav/partials/CtaLinks/icons/github-logo.js +0 -14
  491. package/packages/subnav/partials/CtaLinks/icons/star.js +0 -14
  492. package/packages/subnav/partials/CtaLinks/index.js +0 -48
  493. package/packages/subnav/partials/CtaLinks/style.css +0 -32
  494. package/packages/subnav/partials/DropdownTrigger/index.js +0 -20
  495. package/packages/subnav/partials/DropdownTrigger/style.css +0 -27
  496. package/packages/subnav/partials/MenuItemsDefault/index.js +0 -131
  497. package/packages/subnav/partials/MenuItemsDefault/style.css +0 -63
  498. package/packages/subnav/partials/MenuItemsOverflow/index.js +0 -117
  499. package/packages/subnav/partials/MenuItemsOverflow/style.css +0 -38
  500. package/packages/subnav/partials/TitleLink/index.js +0 -40
  501. package/packages/subnav/partials/TitleLink/style.css +0 -21
  502. package/packages/subnav/style.css +0 -6
  503. package/packages/subnav/styles/_temp-g-svg.css +0 -22
  504. package/packages/subnav/styles/_temp-resets.css +0 -15
  505. package/packages/subnav/styles/index.css +0 -103
  506. package/packages/tabbed-accordion/LICENSE +0 -373
  507. package/packages/tabbed-accordion/README.md +0 -3
  508. package/packages/tabbed-accordion/fixtures/base.json +0 -44
  509. package/packages/tabbed-accordion/index.js +0 -27
  510. package/packages/tabbed-accordion/package-lock.json +0 -27
  511. package/packages/tabbed-accordion/package.json +0 -19
  512. package/packages/tabbed-accordion/style/_temp-spacing-tokens.css +0 -36
  513. package/packages/tabbed-accordion/style/index.css +0 -22
  514. package/packages/tabbed-accordion/style.css +0 -1
  515. package/packages/tabs/LICENSE +0 -373
  516. package/packages/tabs/README.md +0 -31
  517. package/packages/tabs/index.js +0 -41
  518. package/packages/tabs/package-lock.json +0 -73
  519. package/packages/tabs/package.json +0 -18
  520. package/packages/tabs/partials/TabTriggers/helpers/smoothScroll.js +0 -77
  521. package/packages/tabs/partials/TabTriggers/icons/chevron-right_black.svg.js +0 -1
  522. package/packages/tabs/partials/TabTriggers/index.js +0 -143
  523. package/packages/tabs/partials/TabTriggers/partials/TabTrigger/icons/tooltip.svg.js +0 -1
  524. package/packages/tabs/partials/TabTriggers/partials/TabTrigger/index.js +0 -37
  525. package/packages/tabs/partials/TabTriggers/partials/TabTrigger/style.css +0 -75
  526. package/packages/tabs/partials/TabTriggers/style.css +0 -152
  527. package/packages/tabs/style.css +0 -67
  528. package/packages/terminal/LICENSE +0 -373
  529. package/packages/terminal/README.md +0 -9
  530. package/packages/terminal/Terminal.module.css +0 -146
  531. package/packages/terminal/index.jsx +0 -46
  532. package/packages/terminal/package.json +0 -17
  533. package/packages/text-input/LICENSE +0 -373
  534. package/packages/text-input/README.md +0 -24
  535. package/packages/text-input/index.js +0 -42
  536. package/packages/text-input/package-lock.json +0 -13
  537. package/packages/text-input/package.json +0 -19
  538. package/packages/text-input/style.css +0 -68
  539. package/packages/text-split/LICENSE +0 -373
  540. package/packages/text-split/README.md +0 -3
  541. package/packages/text-split/index.js +0 -66
  542. package/packages/text-split/package-lock.json +0 -35
  543. package/packages/text-split/package.json +0 -20
  544. package/packages/text-split/partials/button-group/index.js +0 -40
  545. package/packages/text-split/partials/button-group/style.css +0 -28
  546. package/packages/text-split/partials/checkbox-list/icons/check-circle.svg.jsx +0 -39
  547. package/packages/text-split/partials/checkbox-list/index.js +0 -28
  548. package/packages/text-split/partials/checkbox-list/style.css +0 -59
  549. package/packages/text-split/style.css +0 -1
  550. package/packages/text-split/styles/_temp-spacing-tokens.css +0 -37
  551. package/packages/text-split/styles/index.css +0 -86
  552. package/packages/text-split-with-code/LICENSE +0 -373
  553. package/packages/text-split-with-code/README.md +0 -13
  554. package/packages/text-split-with-code/index.js +0 -29
  555. package/packages/text-split-with-code/package-lock.json +0 -117
  556. package/packages/text-split-with-code/package.json +0 -21
  557. package/packages/text-split-with-code/style.css +0 -42
  558. package/packages/text-split-with-image/LICENSE +0 -373
  559. package/packages/text-split-with-image/README.md +0 -12
  560. package/packages/text-split-with-image/index.js +0 -11
  561. package/packages/text-split-with-image/package-lock.json +0 -75
  562. package/packages/text-split-with-image/package.json +0 -17
  563. package/packages/text-split-with-logo-grid/LICENSE +0 -373
  564. package/packages/text-split-with-logo-grid/README.md +0 -8
  565. package/packages/text-split-with-logo-grid/index.js +0 -63
  566. package/packages/text-split-with-logo-grid/package-lock.json +0 -90
  567. package/packages/text-split-with-logo-grid/package.json +0 -18
  568. package/packages/text-split-with-logo-grid/style.css +0 -88
  569. package/packages/toggle/LICENSE +0 -373
  570. package/packages/toggle/index.js +0 -22
  571. package/packages/toggle/package-lock.json +0 -5
  572. package/packages/toggle/package.json +0 -17
  573. package/packages/toggle/readme.md +0 -7
  574. package/packages/toggle/style.css +0 -35
  575. package/packages/vertical-text-block-list/LICENSE +0 -373
  576. package/packages/vertical-text-block-list/README.md +0 -15
  577. package/packages/vertical-text-block-list/index.js +0 -54
  578. package/packages/vertical-text-block-list/package-lock.json +0 -60
  579. package/packages/vertical-text-block-list/package.json +0 -22
  580. package/packages/vertical-text-block-list/style.css +0 -104
  581. package/pages/_app.jsx +0 -5
  582. package/pages/global.css +0 -43
  583. package/pages/index.jsx +0 -16
  584. package/prettier.config.js +0 -4
  585. package/scripts/release-check-branch.sh +0 -15
  586. 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
- )