@hashicorp/mds-react 0.9.0 → 0.9.2

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 (535) hide show
  1. package/{dist/components → components}/accordion/index.d.ts +1 -1
  2. package/{dist/components → components}/accordion/item/index.d.ts +1 -1
  3. package/{dist/components → components}/alert/icon.d.ts +2 -2
  4. package/{dist/components → components}/alert/index.d.ts +6 -6
  5. package/{dist/components → components}/badge/index.d.ts +1 -1
  6. package/{dist/components → components}/badge-count/index.d.ts +1 -1
  7. package/{dist/components → components}/breadcrumbs/index.d.ts +2 -2
  8. package/{dist/components → components}/breadcrumbs/item/index.d.ts +1 -1
  9. package/{dist/components → components}/breadcrumbs/truncation-button/index.d.ts +1 -1
  10. package/{dist/components → components}/breadcrumbs/types/index.d.ts +1 -1
  11. package/{dist/components → components}/button/index.d.ts +2 -2
  12. package/{dist/components → components}/card/card-thumbnail/index.d.ts +1 -1
  13. package/components/card/index.d.ts +3 -0
  14. package/{dist/components → components}/card/types.d.ts +3 -3
  15. package/{dist/components → components}/code-block/code-lines/index.d.ts +8 -1
  16. package/{dist/components → components}/code-block/code-lines/utils/split-html-into-lines.d.ts +1 -1
  17. package/{dist/components → components}/code-block/code-lines/utils/split-jsx-into-lines.d.ts +1 -1
  18. package/components/code-block/hidden-copy-content/index.d.ts +5 -0
  19. package/{dist/components → components}/code-block/index.d.ts +1 -1
  20. package/{dist/components → components}/combo-box-primitive/index.d.ts +0 -1
  21. package/{dist/components → components}/dialog-primitive/index.d.ts +1 -1
  22. package/{dist/components → components}/disclosure-primitive/index.d.ts +2 -1
  23. package/{dist/components → components}/disclosure-primitive/use-disclosure-primitive.d.ts +2 -2
  24. package/{dist/components → components}/dismiss-button/index.d.ts +0 -1
  25. package/{dist/components → components}/dropdown/index.d.ts +6 -6
  26. package/{dist/components → components}/dropdown/list-item/custom.d.ts +1 -1
  27. package/{dist/components → components}/dropdown/list-item/index.d.ts +4 -4
  28. package/{dist/components → components}/dropdown/list-item/interactive.d.ts +1 -1
  29. package/{dist/components → components}/dropdown/list-item/separator.d.ts +1 -1
  30. package/{dist/components → components}/dropdown/list-item/title.d.ts +1 -1
  31. package/{dist/components → components}/dropdown/toggle-button/index.d.ts +2 -2
  32. package/{dist/components → components}/flight-icon/index.d.ts +2 -2
  33. package/{dist/components → components}/form/checkbox/index.d.ts +1 -1
  34. package/{dist/components → components}/form/error/index.d.ts +1 -1
  35. package/{dist/components → components}/form/field/index.d.ts +1 -1
  36. package/{dist/components → components}/form/fieldset/index.d.ts +1 -1
  37. package/{dist/components → components}/form/file-input/index.d.ts +1 -1
  38. package/{dist/components → components}/form/helper-text/index.d.ts +1 -1
  39. package/{dist/components → components}/form/label/index.d.ts +1 -1
  40. package/{dist/components → components}/form/legend/index.d.ts +1 -1
  41. package/{dist/components → components}/form/radio/index.d.ts +1 -1
  42. package/{dist/components → components}/form/radio-card/group.d.ts +1 -1
  43. package/{dist/components → components}/form/radio-card/index.d.ts +2 -2
  44. package/{dist/components → components}/form/select/index.d.ts +1 -1
  45. package/{dist/components → components}/form/super-select/index.d.ts +2 -2
  46. package/{dist/components → components}/form/text-input/index.d.ts +1 -1
  47. package/{dist/components → components}/form/textarea/index.d.ts +1 -1
  48. package/{dist/components → components}/form/toggle/index.d.ts +1 -1
  49. package/{dist/components → components}/hds/wrappers/tooltip.d.ts +4 -3
  50. package/{dist/components → components}/icon-tile/index.d.ts +1 -1
  51. package/components/index.js +77 -0
  52. package/{dist/components → components}/inline-link/index.d.ts +1 -1
  53. package/{dist/components → components}/interactive/index.d.ts +4 -3
  54. package/{dist/components → components}/legacy-button/index.d.ts +3 -3
  55. package/{dist/components → components}/legacy-button/types.d.ts +1 -1
  56. package/{dist/components → components}/legacy-button/utils.d.ts +1 -1
  57. package/{dist/components → components}/menu-primitive/index.d.ts +1 -1
  58. package/{dist/components → components}/menu-primitive/use-menu-primitive.d.ts +2 -2
  59. package/{dist/components → components}/modal/index.d.ts +1 -1
  60. package/{dist/components → components}/modal/use-modal.d.ts +2 -2
  61. package/{dist/components → components}/separator/index.d.ts +1 -1
  62. package/{dist/components → components}/standalone-link/index.d.ts +2 -2
  63. package/{dist/components → components}/table/index.d.ts +5 -5
  64. package/{dist/components → components}/table/td.d.ts +2 -2
  65. package/{dist/components → components}/table/th.d.ts +2 -2
  66. package/{dist/components → components}/table/tr.d.ts +1 -1
  67. package/{dist/components → components}/tabs/index.d.ts +3 -3
  68. package/{dist/components → components}/tabs/tab-panel.d.ts +1 -1
  69. package/{dist/components → components}/tabs/tab.d.ts +2 -2
  70. package/{dist/components → components}/tabs/use-tabs-context.d.ts +2 -2
  71. package/{dist/components → components}/text/index.d.ts +6 -6
  72. package/{dist/components → components}/visualizations/bar-chart/horizontal-chart/index.d.ts +0 -1
  73. package/{dist/components → components}/visualizations/bar-chart/index.d.ts +1 -1
  74. package/components/visualizations/donut-chart/components/arc-tooltip/index.d.ts +3 -0
  75. package/components/visualizations/donut-chart/components/external-arc-label/index.d.ts +3 -0
  76. package/components/visualizations/donut-chart/components/internal-arc-label/index.d.ts +3 -0
  77. package/{dist/components → components}/visualizations/donut-chart/index.d.ts +1 -1
  78. package/index-B9mPJh9w.js +579 -0
  79. package/index-B9mPJh9w.js.map +1 -0
  80. package/index-BHBlMMNF.js +16 -0
  81. package/index-BHBlMMNF.js.map +1 -0
  82. package/index-C4GBbW3N.js +3567 -0
  83. package/index-C4GBbW3N.js.map +1 -0
  84. package/{dist/utils/mds-context/index.js → index-DBjAbGt7.js} +19 -20
  85. package/index-DBjAbGt7.js.map +1 -0
  86. package/index-WkGIywHj.js +767 -0
  87. package/index-WkGIywHj.js.map +1 -0
  88. package/index.js +105 -0
  89. package/{dist/patterns/index.js.map → index.js.map} +1 -1
  90. package/package.json +72 -108
  91. package/{dist/patterns → patterns}/card/newsroom-card/index.d.ts +1 -1
  92. package/{dist/patterns → patterns}/card/partner-card/index.d.ts +2 -2
  93. package/{dist/patterns → patterns}/card/person-card/index.d.ts +1 -1
  94. package/{dist/patterns → patterns}/card/primitives.d.ts +5 -5
  95. package/{dist/patterns → patterns}/card/promo-card/index.d.ts +1 -1
  96. package/{dist/patterns → patterns}/card/resource-card/index.d.ts +1 -1
  97. package/{dist/patterns → patterns}/card/thumbnails/index.d.ts +1 -1
  98. package/{dist/patterns → patterns}/card/types.d.ts +6 -6
  99. package/{dist/patterns → patterns}/card/unified-card/index.d.ts +1 -1
  100. package/{dist/patterns → patterns}/copy-button/clipboard.d.ts +1 -1
  101. package/{dist/patterns → patterns}/copy-button/index.d.ts +1 -1
  102. package/patterns/index.js +25 -0
  103. package/patterns/index.js.map +1 -0
  104. package/patterns/layout/index.d.ts +69 -0
  105. package/patterns/product-logo/index.d.ts +48 -0
  106. package/{dist/patterns → patterns}/related-content/index.d.ts +1 -1
  107. package/{dist/patterns → patterns}/related-content/types.d.ts +1 -1
  108. package/style.css +1 -0
  109. package/use-screen-size-BOnkX_K-.js +9 -0
  110. package/use-screen-size-BOnkX_K-.js.map +1 -0
  111. package/utils/i18n/index.d.ts +1 -0
  112. package/utils/index.js +10 -0
  113. package/utils/index.js.map +1 -0
  114. package/{dist/utils → utils}/make-normalizer/index.d.ts +6 -6
  115. package/{dist/utils → utils}/mds-context/index.d.ts +1 -1
  116. package/dist/components/accordion/index.js +0 -9
  117. package/dist/components/accordion/index.js.map +0 -1
  118. package/dist/components/accordion/item/button.js +0 -44
  119. package/dist/components/accordion/item/button.js.map +0 -1
  120. package/dist/components/accordion/item/index.js +0 -59
  121. package/dist/components/accordion/item/index.js.map +0 -1
  122. package/dist/components/accordion/style.module.scss.js +0 -24
  123. package/dist/components/accordion/style.module.scss.js.map +0 -1
  124. package/dist/components/alert/alert.module.scss.js +0 -29
  125. package/dist/components/alert/alert.module.scss.js.map +0 -1
  126. package/dist/components/alert/icon.js +0 -34
  127. package/dist/components/alert/icon.js.map +0 -1
  128. package/dist/components/alert/index.js +0 -97
  129. package/dist/components/alert/index.js.map +0 -1
  130. package/dist/components/badge/index.js +0 -50
  131. package/dist/components/badge/index.js.map +0 -1
  132. package/dist/components/badge/style.module.scss.js +0 -22
  133. package/dist/components/badge/style.module.scss.js.map +0 -1
  134. package/dist/components/badge-count/index.js +0 -29
  135. package/dist/components/badge-count/index.js.map +0 -1
  136. package/dist/components/badge-count/style.module.scss.js +0 -15
  137. package/dist/components/badge-count/style.module.scss.js.map +0 -1
  138. package/dist/components/breadcrumbs/index.js +0 -38
  139. package/dist/components/breadcrumbs/index.js.map +0 -1
  140. package/dist/components/breadcrumbs/item/index.js +0 -32
  141. package/dist/components/breadcrumbs/item/index.js.map +0 -1
  142. package/dist/components/breadcrumbs/style.module.scss.js +0 -27
  143. package/dist/components/breadcrumbs/style.module.scss.js.map +0 -1
  144. package/dist/components/breadcrumbs/truncation-button/index.js +0 -25
  145. package/dist/components/breadcrumbs/truncation-button/index.js.map +0 -1
  146. package/dist/components/button/index.js +0 -119
  147. package/dist/components/button/index.js.map +0 -1
  148. package/dist/components/button/styles.module.scss.js +0 -32
  149. package/dist/components/button/styles.module.scss.js.map +0 -1
  150. package/dist/components/card/card-thumbnail/card-thumbnail.module.css.js +0 -8
  151. package/dist/components/card/card-thumbnail/card-thumbnail.module.css.js.map +0 -1
  152. package/dist/components/card/card-thumbnail/index.js +0 -23
  153. package/dist/components/card/card-thumbnail/index.js.map +0 -1
  154. package/dist/components/card/index.d.ts +0 -3
  155. package/dist/components/card/index.js +0 -157
  156. package/dist/components/card/index.js.map +0 -1
  157. package/dist/components/card/styles.module.css.js +0 -29
  158. package/dist/components/card/styles.module.css.js.map +0 -1
  159. package/dist/components/code-block/code-block.module.scss.js +0 -34
  160. package/dist/components/code-block/code-block.module.scss.js.map +0 -1
  161. package/dist/components/code-block/code-lines/index.js +0 -59
  162. package/dist/components/code-block/code-lines/index.js.map +0 -1
  163. package/dist/components/code-block/code-lines/utils/split-html-into-lines.js +0 -19
  164. package/dist/components/code-block/code-lines/utils/split-html-into-lines.js.map +0 -1
  165. package/dist/components/code-block/code-lines/utils/split-jsx-into-lines.js +0 -31
  166. package/dist/components/code-block/code-lines/utils/split-jsx-into-lines.js.map +0 -1
  167. package/dist/components/code-block/hidden-copy-content/index.d.ts +0 -5
  168. package/dist/components/code-block/hidden-copy-content/index.js +0 -13
  169. package/dist/components/code-block/hidden-copy-content/index.js.map +0 -1
  170. package/dist/components/code-block/index.js +0 -88
  171. package/dist/components/code-block/index.js.map +0 -1
  172. package/dist/components/code-block/utils/parse-highlighted-lines.js +0 -39
  173. package/dist/components/code-block/utils/parse-highlighted-lines.js.map +0 -1
  174. package/dist/components/code-block/utils/process-snippet.js +0 -20
  175. package/dist/components/code-block/utils/process-snippet.js.map +0 -1
  176. package/dist/components/code-block/utils/shellwords.js +0 -33
  177. package/dist/components/code-block/utils/shellwords.js.map +0 -1
  178. package/dist/components/combo-box-primitive/index.js +0 -302
  179. package/dist/components/combo-box-primitive/index.js.map +0 -1
  180. package/dist/components/dialog-primitive/dialog.module.scss.js +0 -12
  181. package/dist/components/dialog-primitive/dialog.module.scss.js.map +0 -1
  182. package/dist/components/dialog-primitive/index.js +0 -15
  183. package/dist/components/dialog-primitive/index.js.map +0 -1
  184. package/dist/components/disclosure-primitive/index.js +0 -57
  185. package/dist/components/disclosure-primitive/index.js.map +0 -1
  186. package/dist/components/disclosure-primitive/styles.module.css.js +0 -7
  187. package/dist/components/disclosure-primitive/styles.module.css.js.map +0 -1
  188. package/dist/components/disclosure-primitive/use-disclosure-primitive.js +0 -17
  189. package/dist/components/disclosure-primitive/use-disclosure-primitive.js.map +0 -1
  190. package/dist/components/dismiss-button/index.js +0 -22
  191. package/dist/components/dismiss-button/index.js.map +0 -1
  192. package/dist/components/dismiss-button/styles.module.scss.js +0 -7
  193. package/dist/components/dismiss-button/styles.module.scss.js.map +0 -1
  194. package/dist/components/dropdown/index.js +0 -79
  195. package/dist/components/dropdown/index.js.map +0 -1
  196. package/dist/components/dropdown/list-item/custom.js +0 -9
  197. package/dist/components/dropdown/list-item/custom.js.map +0 -1
  198. package/dist/components/dropdown/list-item/index.js +0 -14
  199. package/dist/components/dropdown/list-item/index.js.map +0 -1
  200. package/dist/components/dropdown/list-item/interactive.js +0 -49
  201. package/dist/components/dropdown/list-item/interactive.js.map +0 -1
  202. package/dist/components/dropdown/list-item/separator.js +0 -17
  203. package/dist/components/dropdown/list-item/separator.js.map +0 -1
  204. package/dist/components/dropdown/list-item/styles.module.css.js +0 -26
  205. package/dist/components/dropdown/list-item/styles.module.css.js.map +0 -1
  206. package/dist/components/dropdown/list-item/title.js +0 -9
  207. package/dist/components/dropdown/list-item/title.js.map +0 -1
  208. package/dist/components/dropdown/styles.module.css.js +0 -24
  209. package/dist/components/dropdown/styles.module.css.js.map +0 -1
  210. package/dist/components/dropdown/toggle-button/index.js +0 -54
  211. package/dist/components/dropdown/toggle-button/index.js.map +0 -1
  212. package/dist/components/dropdown/toggle-button/styles.module.scss.js +0 -14
  213. package/dist/components/dropdown/toggle-button/styles.module.scss.js.map +0 -1
  214. package/dist/components/flight-icon/flight-icon.module.css.js +0 -12
  215. package/dist/components/flight-icon/flight-icon.module.css.js.map +0 -1
  216. package/dist/components/flight-icon/index.js +0 -58
  217. package/dist/components/flight-icon/index.js.map +0 -1
  218. package/dist/components/form/checkbox/form-checkbox.module.css.js +0 -8
  219. package/dist/components/form/checkbox/form-checkbox.module.css.js.map +0 -1
  220. package/dist/components/form/checkbox/index.js +0 -109
  221. package/dist/components/form/checkbox/index.js.map +0 -1
  222. package/dist/components/form/error/form-error.module.css.js +0 -14
  223. package/dist/components/form/error/form-error.module.css.js.map +0 -1
  224. package/dist/components/form/error/index.js +0 -22
  225. package/dist/components/form/error/index.js.map +0 -1
  226. package/dist/components/form/field/form-field.module.css.js +0 -17
  227. package/dist/components/form/field/form-field.module.css.js.map +0 -1
  228. package/dist/components/form/field/index.js +0 -46
  229. package/dist/components/form/field/index.js.map +0 -1
  230. package/dist/components/form/fieldset/form-fieldset.module.css.js +0 -19
  231. package/dist/components/form/fieldset/form-fieldset.module.css.js.map +0 -1
  232. package/dist/components/form/fieldset/index.js +0 -65
  233. package/dist/components/form/fieldset/index.js.map +0 -1
  234. package/dist/components/form/file-input/form-file-input.module.scss.js +0 -7
  235. package/dist/components/form/file-input/form-file-input.module.scss.js.map +0 -1
  236. package/dist/components/form/file-input/index.js +0 -68
  237. package/dist/components/form/file-input/index.js.map +0 -1
  238. package/dist/components/form/helper-text/form-helper-text.module.css.js +0 -7
  239. package/dist/components/form/helper-text/form-helper-text.module.css.js.map +0 -1
  240. package/dist/components/form/helper-text/index.js +0 -22
  241. package/dist/components/form/helper-text/index.js.map +0 -1
  242. package/dist/components/form/indicator/form-indicator.module.css.js +0 -8
  243. package/dist/components/form/indicator/form-indicator.module.css.js.map +0 -1
  244. package/dist/components/form/indicator/index.js +0 -22
  245. package/dist/components/form/indicator/index.js.map +0 -1
  246. package/dist/components/form/label/form-label.module.css.js +0 -10
  247. package/dist/components/form/label/form-label.module.css.js.map +0 -1
  248. package/dist/components/form/label/index.js +0 -33
  249. package/dist/components/form/label/index.js.map +0 -1
  250. package/dist/components/form/legend/form-legend.module.css.js +0 -10
  251. package/dist/components/form/legend/form-legend.module.css.js.map +0 -1
  252. package/dist/components/form/legend/index.js +0 -19
  253. package/dist/components/form/legend/index.js.map +0 -1
  254. package/dist/components/form/radio/form-radio.module.scss.js +0 -8
  255. package/dist/components/form/radio/form-radio.module.scss.js.map +0 -1
  256. package/dist/components/form/radio/index.js +0 -100
  257. package/dist/components/form/radio/index.js.map +0 -1
  258. package/dist/components/form/radio-card/description.js +0 -10
  259. package/dist/components/form/radio-card/description.js.map +0 -1
  260. package/dist/components/form/radio-card/form-radio-card.module.css.js +0 -30
  261. package/dist/components/form/radio-card/form-radio-card.module.css.js.map +0 -1
  262. package/dist/components/form/radio-card/group.js +0 -31
  263. package/dist/components/form/radio-card/group.js.map +0 -1
  264. package/dist/components/form/radio-card/index.js +0 -67
  265. package/dist/components/form/radio-card/index.js.map +0 -1
  266. package/dist/components/form/radio-card/label.js +0 -10
  267. package/dist/components/form/radio-card/label.js.map +0 -1
  268. package/dist/components/form/select/form-select.module.css.js +0 -14
  269. package/dist/components/form/select/form-select.module.css.js.map +0 -1
  270. package/dist/components/form/select/index.js +0 -79
  271. package/dist/components/form/select/index.js.map +0 -1
  272. package/dist/components/form/super-select/form-super-select.module.css.js +0 -22
  273. package/dist/components/form/super-select/form-super-select.module.css.js.map +0 -1
  274. package/dist/components/form/super-select/index.js +0 -170
  275. package/dist/components/form/super-select/index.js.map +0 -1
  276. package/dist/components/form/text-input/index.js +0 -91
  277. package/dist/components/form/text-input/index.js.map +0 -1
  278. package/dist/components/form/text-input/styles.module.css.js +0 -15
  279. package/dist/components/form/text-input/styles.module.css.js.map +0 -1
  280. package/dist/components/form/textarea/form-textarea.module.css.js +0 -14
  281. package/dist/components/form/textarea/form-textarea.module.css.js.map +0 -1
  282. package/dist/components/form/textarea/index.js +0 -74
  283. package/dist/components/form/textarea/index.js.map +0 -1
  284. package/dist/components/form/toggle/form-toggle.module.scss.js +0 -12
  285. package/dist/components/form/toggle/form-toggle.module.scss.js.map +0 -1
  286. package/dist/components/form/toggle/index.js +0 -102
  287. package/dist/components/form/toggle/index.js.map +0 -1
  288. package/dist/components/hds/wrappers/tooltip.js +0 -51
  289. package/dist/components/hds/wrappers/tooltip.js.map +0 -1
  290. package/dist/components/icon-tile/index.js +0 -50
  291. package/dist/components/icon-tile/index.js.map +0 -1
  292. package/dist/components/icon-tile/style.module.scss.js +0 -29
  293. package/dist/components/icon-tile/style.module.scss.js.map +0 -1
  294. package/dist/components/index.js +0 -119
  295. package/dist/components/index.js.map +0 -1
  296. package/dist/components/inline-link/index.js +0 -33
  297. package/dist/components/inline-link/index.js.map +0 -1
  298. package/dist/components/inline-link/inline-link.module.css.js +0 -11
  299. package/dist/components/inline-link/inline-link.module.css.js.map +0 -1
  300. package/dist/components/interactive/index.js +0 -59
  301. package/dist/components/interactive/index.js.map +0 -1
  302. package/dist/components/legacy-button/index.js +0 -65
  303. package/dist/components/legacy-button/index.js.map +0 -1
  304. package/dist/components/legacy-button/utils.js +0 -39
  305. package/dist/components/legacy-button/utils.js.map +0 -1
  306. package/dist/components/menu-primitive/index.js +0 -68
  307. package/dist/components/menu-primitive/index.js.map +0 -1
  308. package/dist/components/menu-primitive/styles.module.css.js +0 -12
  309. package/dist/components/menu-primitive/styles.module.css.js.map +0 -1
  310. package/dist/components/menu-primitive/use-menu-primitive.js +0 -17
  311. package/dist/components/menu-primitive/use-menu-primitive.js.map +0 -1
  312. package/dist/components/modal/index.js +0 -61
  313. package/dist/components/modal/index.js.map +0 -1
  314. package/dist/components/modal/modal.module.css.js +0 -8
  315. package/dist/components/modal/modal.module.css.js.map +0 -1
  316. package/dist/components/modal/use-modal.js +0 -17
  317. package/dist/components/modal/use-modal.js.map +0 -1
  318. package/dist/components/separator/index.js +0 -15
  319. package/dist/components/separator/index.js.map +0 -1
  320. package/dist/components/separator/separator.module.css.js +0 -10
  321. package/dist/components/separator/separator.module.css.js.map +0 -1
  322. package/dist/components/standalone-link/index.js +0 -54
  323. package/dist/components/standalone-link/index.js.map +0 -1
  324. package/dist/components/standalone-link/styles.module.scss.js +0 -17
  325. package/dist/components/standalone-link/styles.module.scss.js.map +0 -1
  326. package/dist/components/table/index.js +0 -52
  327. package/dist/components/table/index.js.map +0 -1
  328. package/dist/components/table/table.module.scss.js +0 -33
  329. package/dist/components/table/table.module.scss.js.map +0 -1
  330. package/dist/components/table/td.js +0 -28
  331. package/dist/components/table/td.js.map +0 -1
  332. package/dist/components/table/th-button-tooltip.js +0 -24
  333. package/dist/components/table/th-button-tooltip.js.map +0 -1
  334. package/dist/components/table/th.js +0 -43
  335. package/dist/components/table/th.js.map +0 -1
  336. package/dist/components/table/tr.js +0 -9
  337. package/dist/components/table/tr.js.map +0 -1
  338. package/dist/components/table/utils.js +0 -28
  339. package/dist/components/table/utils.js.map +0 -1
  340. package/dist/components/tabs/index.js +0 -117
  341. package/dist/components/tabs/index.js.map +0 -1
  342. package/dist/components/tabs/tab-panel.js +0 -35
  343. package/dist/components/tabs/tab-panel.js.map +0 -1
  344. package/dist/components/tabs/tab.js +0 -70
  345. package/dist/components/tabs/tab.js.map +0 -1
  346. package/dist/components/tabs/tabs.module.scss.js +0 -22
  347. package/dist/components/tabs/tabs.module.scss.js.map +0 -1
  348. package/dist/components/tabs/use-tabs-context.js +0 -16
  349. package/dist/components/tabs/use-tabs-context.js.map +0 -1
  350. package/dist/components/text/index.js +0 -112
  351. package/dist/components/text/index.js.map +0 -1
  352. package/dist/components/text/style.module.scss.js +0 -9
  353. package/dist/components/text/style.module.scss.js.map +0 -1
  354. package/dist/components/visualizations/bar-chart/horizontal-chart/dataset-value/index.js +0 -62
  355. package/dist/components/visualizations/bar-chart/horizontal-chart/dataset-value/index.js.map +0 -1
  356. package/dist/components/visualizations/bar-chart/horizontal-chart/dataset-value/style.module.css.js +0 -20
  357. package/dist/components/visualizations/bar-chart/horizontal-chart/dataset-value/style.module.css.js.map +0 -1
  358. package/dist/components/visualizations/bar-chart/horizontal-chart/index.js +0 -104
  359. package/dist/components/visualizations/bar-chart/horizontal-chart/index.js.map +0 -1
  360. package/dist/components/visualizations/bar-chart/horizontal-chart/legend/index.js +0 -13
  361. package/dist/components/visualizations/bar-chart/horizontal-chart/legend/index.js.map +0 -1
  362. package/dist/components/visualizations/bar-chart/horizontal-chart/legend/style.module.css.js +0 -14
  363. package/dist/components/visualizations/bar-chart/horizontal-chart/legend/style.module.css.js.map +0 -1
  364. package/dist/components/visualizations/bar-chart/horizontal-chart/style.module.css.js +0 -28
  365. package/dist/components/visualizations/bar-chart/horizontal-chart/style.module.css.js.map +0 -1
  366. package/dist/components/visualizations/bar-chart/index.js +0 -37
  367. package/dist/components/visualizations/bar-chart/index.js.map +0 -1
  368. package/dist/components/visualizations/bar-chart/style.module.css.js +0 -12
  369. package/dist/components/visualizations/bar-chart/style.module.css.js.map +0 -1
  370. package/dist/components/visualizations/donut-chart/components/arc-tooltip/index.d.ts +0 -3
  371. package/dist/components/visualizations/donut-chart/components/arc-tooltip/index.js +0 -14
  372. package/dist/components/visualizations/donut-chart/components/arc-tooltip/index.js.map +0 -1
  373. package/dist/components/visualizations/donut-chart/components/arc-tooltip/styles.module.css.js +0 -10
  374. package/dist/components/visualizations/donut-chart/components/arc-tooltip/styles.module.css.js.map +0 -1
  375. package/dist/components/visualizations/donut-chart/components/external-arc-label/index.d.ts +0 -3
  376. package/dist/components/visualizations/donut-chart/components/external-arc-label/index.js +0 -58
  377. package/dist/components/visualizations/donut-chart/components/external-arc-label/index.js.map +0 -1
  378. package/dist/components/visualizations/donut-chart/components/external-arc-label/styles.module.css.js +0 -16
  379. package/dist/components/visualizations/donut-chart/components/external-arc-label/styles.module.css.js.map +0 -1
  380. package/dist/components/visualizations/donut-chart/components/internal-arc-label/index.d.ts +0 -3
  381. package/dist/components/visualizations/donut-chart/components/internal-arc-label/index.js +0 -42
  382. package/dist/components/visualizations/donut-chart/components/internal-arc-label/index.js.map +0 -1
  383. package/dist/components/visualizations/donut-chart/components/internal-arc-label/styles.module.css.js +0 -14
  384. package/dist/components/visualizations/donut-chart/components/internal-arc-label/styles.module.css.js.map +0 -1
  385. package/dist/components/visualizations/donut-chart/index.js +0 -90
  386. package/dist/components/visualizations/donut-chart/index.js.map +0 -1
  387. package/dist/components/visualizations/donut-chart/styles.module.css.js +0 -20
  388. package/dist/components/visualizations/donut-chart/styles.module.css.js.map +0 -1
  389. package/dist/hooks/use-media-query/index.js +0 -16
  390. package/dist/hooks/use-media-query/index.js.map +0 -1
  391. package/dist/index.js +0 -158
  392. package/dist/index.js.map +0 -1
  393. package/dist/patterns/card/newsroom-card/index.js +0 -26
  394. package/dist/patterns/card/newsroom-card/index.js.map +0 -1
  395. package/dist/patterns/card/newsroom-card/style.module.css.js +0 -8
  396. package/dist/patterns/card/newsroom-card/style.module.css.js.map +0 -1
  397. package/dist/patterns/card/partner-card/index.js +0 -42
  398. package/dist/patterns/card/partner-card/index.js.map +0 -1
  399. package/dist/patterns/card/partner-card/style.module.css.js +0 -12
  400. package/dist/patterns/card/partner-card/style.module.css.js.map +0 -1
  401. package/dist/patterns/card/person-card/index.js +0 -52
  402. package/dist/patterns/card/person-card/index.js.map +0 -1
  403. package/dist/patterns/card/person-card/style.module.css.js +0 -12
  404. package/dist/patterns/card/person-card/style.module.css.js.map +0 -1
  405. package/dist/patterns/card/primitives.js +0 -77
  406. package/dist/patterns/card/primitives.js.map +0 -1
  407. package/dist/patterns/card/promo-card/index.js +0 -36
  408. package/dist/patterns/card/promo-card/index.js.map +0 -1
  409. package/dist/patterns/card/resource-card/index.js +0 -26
  410. package/dist/patterns/card/resource-card/index.js.map +0 -1
  411. package/dist/patterns/card/style.module.css.js +0 -30
  412. package/dist/patterns/card/style.module.css.js.map +0 -1
  413. package/dist/patterns/card/thumbnails/index.js +0 -25
  414. package/dist/patterns/card/thumbnails/index.js.map +0 -1
  415. package/dist/patterns/card/unified-card/index.js +0 -37
  416. package/dist/patterns/card/unified-card/index.js.map +0 -1
  417. package/dist/patterns/copy-button/clipboard.js +0 -78
  418. package/dist/patterns/copy-button/clipboard.js.map +0 -1
  419. package/dist/patterns/copy-button/index.js +0 -57
  420. package/dist/patterns/copy-button/index.js.map +0 -1
  421. package/dist/patterns/copy-button/style.module.css.js +0 -13
  422. package/dist/patterns/copy-button/style.module.css.js.map +0 -1
  423. package/dist/patterns/index.js +0 -35
  424. package/dist/patterns/layout/index.d.ts +0 -69
  425. package/dist/patterns/layout/index.js +0 -47
  426. package/dist/patterns/layout/index.js.map +0 -1
  427. package/dist/patterns/layout/layout.module.css.js +0 -20
  428. package/dist/patterns/layout/layout.module.css.js.map +0 -1
  429. package/dist/patterns/product-badge/index.js +0 -22
  430. package/dist/patterns/product-badge/index.js.map +0 -1
  431. package/dist/patterns/product-badge/style.module.css.js +0 -8
  432. package/dist/patterns/product-badge/style.module.css.js.map +0 -1
  433. package/dist/patterns/product-logo/index.d.ts +0 -48
  434. package/dist/patterns/product-logo/index.js +0 -130
  435. package/dist/patterns/product-logo/index.js.map +0 -1
  436. package/dist/patterns/product-logo/product-logo.module.css.js +0 -13
  437. package/dist/patterns/product-logo/product-logo.module.css.js.map +0 -1
  438. package/dist/patterns/related-content/index.js +0 -65
  439. package/dist/patterns/related-content/index.js.map +0 -1
  440. package/dist/patterns/related-content/style.module.css.js +0 -22
  441. package/dist/patterns/related-content/style.module.css.js.map +0 -1
  442. package/dist/style.css +0 -1
  443. package/dist/utils/get-contrast-yiq.js +0 -13
  444. package/dist/utils/get-contrast-yiq.js.map +0 -1
  445. package/dist/utils/hooks/use-screen-size.js +0 -10
  446. package/dist/utils/hooks/use-screen-size.js.map +0 -1
  447. package/dist/utils/i18n/index.d.ts +0 -1
  448. package/dist/utils/i18n/index.js +0 -41
  449. package/dist/utils/i18n/index.js.map +0 -1
  450. package/dist/utils/index.js +0 -10
  451. package/dist/utils/make-normalizer/index.js +0 -34
  452. package/dist/utils/make-normalizer/index.js.map +0 -1
  453. package/dist/utils/mds-context/index.js.map +0 -1
  454. /package/{dist/components → components}/accordion/item/button.d.ts +0 -0
  455. /package/{dist/components → components}/accordion/style.module.scss +0 -0
  456. /package/{dist/components → components}/alert/alert.module.scss +0 -0
  457. /package/{dist/components → components}/badge/style.module.scss +0 -0
  458. /package/{dist/components → components}/badge-count/style.module.scss +0 -0
  459. /package/{dist/components → components}/breadcrumbs/style.module.scss +0 -0
  460. /package/{dist/components → components}/button/styles.module.scss +0 -0
  461. /package/{dist/components → components}/card/card-thumbnail/card-thumbnail.module.css +0 -0
  462. /package/{dist/components → components}/card/styles.module.css +0 -0
  463. /package/{dist/components → components}/code-block/code-block.module.scss +0 -0
  464. /package/{dist/components → components}/code-block/utils/parse-highlighted-lines.d.ts +0 -0
  465. /package/{dist/components → components}/code-block/utils/process-snippet.d.ts +0 -0
  466. /package/{dist/components → components}/code-block/utils/shellwords.d.ts +0 -0
  467. /package/{dist/components → components}/dialog-primitive/dialog.module.scss +0 -0
  468. /package/{dist/components → components}/disclosure-primitive/styles.module.css +0 -0
  469. /package/{dist/components → components}/dismiss-button/styles.module.scss +0 -0
  470. /package/{dist/components → components}/dropdown/list-item/styles.module.css +0 -0
  471. /package/{dist/components → components}/dropdown/styles.module.css +0 -0
  472. /package/{dist/components → components}/dropdown/toggle-button/styles.module.scss +0 -0
  473. /package/{dist/components → components}/flight-icon/flight-icon.module.css +0 -0
  474. /package/{dist/components → components}/form/checkbox/form-checkbox.module.css +0 -0
  475. /package/{dist/components → components}/form/error/form-error.module.css +0 -0
  476. /package/{dist/components → components}/form/field/form-field.module.css +0 -0
  477. /package/{dist/components → components}/form/fieldset/form-fieldset.module.css +0 -0
  478. /package/{dist/components → components}/form/file-input/form-file-input.module.scss +0 -0
  479. /package/{dist/components → components}/form/helper-text/form-helper-text.module.css +0 -0
  480. /package/{dist/components → components}/form/indicator/form-indicator.module.css +0 -0
  481. /package/{dist/components → components}/form/indicator/index.d.ts +0 -0
  482. /package/{dist/components → components}/form/label/form-label.module.css +0 -0
  483. /package/{dist/components → components}/form/legend/form-legend.module.css +0 -0
  484. /package/{dist/components → components}/form/radio/form-radio.module.scss +0 -0
  485. /package/{dist/components → components}/form/radio-card/description.d.ts +0 -0
  486. /package/{dist/components → components}/form/radio-card/form-radio-card.module.css +0 -0
  487. /package/{dist/components → components}/form/radio-card/label.d.ts +0 -0
  488. /package/{dist/components → components}/form/select/form-select.module.css +0 -0
  489. /package/{dist/components → components}/form/super-select/form-super-select.module.css +0 -0
  490. /package/{dist/components → components}/form/text-input/styles.module.css +0 -0
  491. /package/{dist/components → components}/form/textarea/form-textarea.module.css +0 -0
  492. /package/{dist/components → components}/form/toggle/form-toggle.module.scss +0 -0
  493. /package/{dist/components → components}/icon-tile/style.module.scss +0 -0
  494. /package/{dist/components → components}/index.d.ts +0 -0
  495. /package/{dist/utils → components}/index.js.map +0 -0
  496. /package/{dist/components → components}/inline-link/inline-link.module.css +0 -0
  497. /package/{dist/components → components}/menu-primitive/styles.module.css +0 -0
  498. /package/{dist/components → components}/modal/modal.module.css +0 -0
  499. /package/{dist/components → components}/separator/separator.module.css +0 -0
  500. /package/{dist/components → components}/standalone-link/styles.module.scss +0 -0
  501. /package/{dist/components → components}/table/table.module.scss +0 -0
  502. /package/{dist/components → components}/table/th-button-tooltip.d.ts +0 -0
  503. /package/{dist/components → components}/table/utils.d.ts +0 -0
  504. /package/{dist/components → components}/tabs/tabs.module.scss +0 -0
  505. /package/{dist/components → components}/text/style.module.scss +0 -0
  506. /package/{dist/components → components}/visualizations/bar-chart/horizontal-chart/dataset-value/index.d.ts +0 -0
  507. /package/{dist/components → components}/visualizations/bar-chart/horizontal-chart/dataset-value/style.module.css +0 -0
  508. /package/{dist/components → components}/visualizations/bar-chart/horizontal-chart/legend/index.d.ts +0 -0
  509. /package/{dist/components → components}/visualizations/bar-chart/horizontal-chart/legend/style.module.css +0 -0
  510. /package/{dist/components → components}/visualizations/bar-chart/horizontal-chart/style.module.css +0 -0
  511. /package/{dist/components → components}/visualizations/bar-chart/style.module.css +0 -0
  512. /package/{dist/components → components}/visualizations/donut-chart/components/arc-tooltip/styles.module.css +0 -0
  513. /package/{dist/components → components}/visualizations/donut-chart/components/external-arc-label/styles.module.css +0 -0
  514. /package/{dist/components → components}/visualizations/donut-chart/components/index.d.ts +0 -0
  515. /package/{dist/components → components}/visualizations/donut-chart/components/internal-arc-label/styles.module.css +0 -0
  516. /package/{dist/components → components}/visualizations/donut-chart/styles.module.css +0 -0
  517. /package/{dist/components → components}/visualizations/donut-chart/types.d.ts +0 -0
  518. /package/{dist/index.d.ts → index.d.ts} +0 -0
  519. /package/{dist/patterns → patterns}/card/index.d.ts +0 -0
  520. /package/{dist/patterns → patterns}/card/newsroom-card/style.module.css +0 -0
  521. /package/{dist/patterns → patterns}/card/partner-card/style.module.css +0 -0
  522. /package/{dist/patterns → patterns}/card/person-card/style.module.css +0 -0
  523. /package/{dist/patterns → patterns}/card/style.module.css +0 -0
  524. /package/{dist/patterns → patterns}/copy-button/style.module.css +0 -0
  525. /package/{dist/patterns → patterns}/index.d.ts +0 -0
  526. /package/{dist/patterns → patterns}/layout/layout.module.css +0 -0
  527. /package/{dist/patterns → patterns}/product-badge/index.d.ts +0 -0
  528. /package/{dist/patterns → patterns}/product-badge/style.module.css +0 -0
  529. /package/{dist/patterns → patterns}/product-logo/product-logo.module.css +0 -0
  530. /package/{dist/patterns → patterns}/related-content/style.module.css +0 -0
  531. /package/{dist/styles → styles}/mixins/button.scss +0 -0
  532. /package/{dist/styles → styles}/mixins/focus-ring.scss +0 -0
  533. /package/{dist/utils → utils}/get-contrast-yiq.d.ts +0 -0
  534. /package/{dist/utils → utils}/hooks/use-screen-size.d.ts +0 -0
  535. /package/{dist/utils → utils}/index.d.ts +0 -0
@@ -0,0 +1,579 @@
1
+ import { jsx as t, jsxs as d, Fragment as q } from "react/jsx-runtime";
2
+ import { forwardRef as J, memo as X } from "react";
3
+ import { c as w, T as u, C as R, h as Z } from "./index-WkGIywHj.js";
4
+ import { IconGithub16 as Q } from "@hashicorp/flight-icons/svg-react/github-16";
5
+ import { IconTwitter16 as W } from "@hashicorp/flight-icons/svg-react/twitter-16";
6
+ import { IconLinkedin16 as aa } from "@hashicorp/flight-icons/svg-react/linkedin-16";
7
+ import { IconLink16 as ta } from "@hashicorp/flight-icons/svg-react/link-16";
8
+ import { IconMail16 as na } from "@hashicorp/flight-icons/svg-react/mail-16";
9
+ import { a as P, u as ea } from "./index-DBjAbGt7.js";
10
+ import { IconArrowRight24 as oa } from "@hashicorp/flight-icons/svg-react/arrow-right-24";
11
+ import y from "classnames";
12
+ const ra = "badge__w7lpk", sa = {
13
+ badge: ra
14
+ }, E = ({ productName: a, hasDot: e }) => {
15
+ const n = a.replace("hashicorp", "HashiCorp"), o = n === "HashiCorp cloud platform" ? "hashicorp" : a;
16
+ return /* @__PURE__ */ t(
17
+ w,
18
+ {
19
+ className: sa.badge,
20
+ text: n,
21
+ ...e && {
22
+ icon: "dot",
23
+ iconColor: `var(--mds-color-${o}-brand)`
24
+ }
25
+ }
26
+ );
27
+ };
28
+ E.displayName = "ProductBadge";
29
+ const ia = "card__zxzJV", la = "cta__mJ6Xp", ca = "thumbnail__10HM7", da = "image__zuf44", ma = "personThumbnail__ALced thumbnail__10HM7", pa = "logoThumbnail__OyvYI thumbnail__10HM7", ua = "meta__IBDgS", ha = "metaSeparator__40Llq", ga = "content__m6Hih", _a = "heading__uNTzq", ba = "description__c-x42", Na = "productBadges__bdjlp", m = {
30
+ card: ia,
31
+ cta: la,
32
+ thumbnail: ca,
33
+ image: da,
34
+ personThumbnail: ma,
35
+ logoThumbnail: pa,
36
+ meta: ua,
37
+ metaSeparator: ha,
38
+ content: ga,
39
+ heading: _a,
40
+ description: ba,
41
+ productBadges: Na
42
+ }, I = ({ src: a, alt: e }) => {
43
+ const n = P();
44
+ return /* @__PURE__ */ t("div", { className: m.thumbnail, "data-testid": "wpl-card-thumbnail", children: /* @__PURE__ */ t("div", { className: m.image, children: /* @__PURE__ */ t(n, { src: a, alt: e, width: 800, height: 450 }) }) });
45
+ };
46
+ I.displayName = "Thumbnail";
47
+ const S = ({ src: a, alt: e }) => {
48
+ const n = P();
49
+ return /* @__PURE__ */ t("div", { className: m.personThumbnail, "data-testid": "wpl-card-thumbnail", children: /* @__PURE__ */ t("div", { className: m.image, children: /* @__PURE__ */ t(n, { src: a, alt: e, width: 800, height: 450 }) }) });
50
+ };
51
+ S.displayName = "PersonThumbnail";
52
+ const U = ({ src: a, alt: e }) => {
53
+ const n = P();
54
+ return /* @__PURE__ */ t("div", { className: m.logoThumbnail, "data-testid": "wpl-card-logo-thumbnail", children: /* @__PURE__ */ t("div", { className: m.image, children: /* @__PURE__ */ t(n, { src: a, alt: e, width: 800, height: 450 }) }) });
55
+ };
56
+ U.displayName = "LogoThumbnail";
57
+ const x = J((a, e) => {
58
+ const {
59
+ withArrow: n = !0,
60
+ link: o,
61
+ clickHandler: r,
62
+ isExternal: s,
63
+ children: i,
64
+ className: c,
65
+ "aria-label": p
66
+ } = a;
67
+ return /* @__PURE__ */ d(
68
+ R,
69
+ {
70
+ className: y(m.card, c),
71
+ href: o,
72
+ onClickCapture: r,
73
+ isExternal: s,
74
+ ref: e,
75
+ "aria-label": p,
76
+ children: [
77
+ i,
78
+ /* @__PURE__ */ t("div", { className: m.cta, children: n ? /* @__PURE__ */ t(oa, {}) : null })
79
+ ]
80
+ }
81
+ );
82
+ });
83
+ x.displayName = "CardPrimitives.Root";
84
+ const H = ({ items: a }) => /* @__PURE__ */ t("div", { className: m.meta, "data-testid": "wpl-card-meta", children: /* @__PURE__ */ t(u.Label, { children: a.map((e, n) => {
85
+ const o = n === a.length - 1;
86
+ return /* @__PURE__ */ d(q, { children: [
87
+ e,
88
+ o ? null : /* @__PURE__ */ t("span", { className: m.metaSeparator, "aria-hidden": !0, children: "|" })
89
+ ] });
90
+ }) }) });
91
+ H.displayName = "Meta";
92
+ const B = ({ children: a }) => /* @__PURE__ */ t("div", { className: m.content, "data-testid": "wpl-card-content", children: a });
93
+ B.displayName = "Content";
94
+ const M = ({ as: a = "h2", children: e }) => /* @__PURE__ */ t(u.DisplayExpressive, { tag: a, size: "200", className: m.heading, children: e });
95
+ M.displayName = "Heading";
96
+ const $ = ({ badges: a, children: e }) => /* @__PURE__ */ d("div", { className: m.productBadges, "data-testid": "wpl-card-badges", children: [
97
+ a.map((n, o) => /* @__PURE__ */ t(
98
+ E,
99
+ {
100
+ productName: n,
101
+ hasDot: !0
102
+ },
103
+ `product-badge-${o}`
104
+ )),
105
+ e
106
+ ] });
107
+ $.displayName = "ProductBadges";
108
+ const z = ({ children: a }) => /* @__PURE__ */ t(u.Body, { tag: "p", size: "200", className: m.description, children: a });
109
+ z.displayName = "Description";
110
+ const l = {
111
+ Root: x,
112
+ Thumbnail: I,
113
+ PersonThumbnail: S,
114
+ LogoThumbnail: U,
115
+ Meta: H,
116
+ Content: B,
117
+ Heading: M,
118
+ Description: z,
119
+ ProductBadges: $
120
+ }, L = ({
121
+ heading: a,
122
+ meta: e,
123
+ link: n,
124
+ productBadges: o,
125
+ badges: r,
126
+ thumbnail: s,
127
+ withArrow: i = !1,
128
+ isExternal: c = !1,
129
+ className: p,
130
+ "aria-label": N
131
+ }) => /* @__PURE__ */ d(
132
+ l.Root,
133
+ {
134
+ link: n,
135
+ withArrow: i,
136
+ isExternal: c,
137
+ className: p,
138
+ "aria-label": N || a,
139
+ children: [
140
+ s ? /* @__PURE__ */ t(l.Thumbnail, { ...s }) : null,
141
+ /* @__PURE__ */ d(l.Content, { children: [
142
+ e && e.length > 0 ? /* @__PURE__ */ t(l.Meta, { items: e }) : null,
143
+ /* @__PURE__ */ t(l.Heading, { children: a }),
144
+ o && o?.length > 0 ? /* @__PURE__ */ t(l.ProductBadges, { badges: o, children: r && r.length > 0 ? r.map((h, g) => Array.isArray(h) ? /* @__PURE__ */ t(w, { icon: h[0], text: h[1] }, g) : /* @__PURE__ */ t(w, { text: h }, g)) : null }) : null
145
+ ] })
146
+ ]
147
+ }
148
+ );
149
+ L.displayName = "UnifiedCard";
150
+ const Ca = "newsroomCard__5Rb0H", fa = {
151
+ newsroomCard: Ca
152
+ }, va = ({
153
+ heading: a,
154
+ date: e,
155
+ category: n,
156
+ link: o,
157
+ thumbnail: r,
158
+ withArrow: s = !1
159
+ }) => /* @__PURE__ */ t(
160
+ L,
161
+ {
162
+ heading: a,
163
+ meta: [e, n],
164
+ link: o,
165
+ thumbnail: r,
166
+ withArrow: s,
167
+ className: fa.newsroomCard
168
+ }
169
+ );
170
+ va.displayName = "NewsroomCard";
171
+ const wa = "location__OjUu5", Pa = "thumbnailContainer__ATYhC", ya = "thumbnailIcon__Sx-P-", D = {
172
+ location: wa,
173
+ thumbnailContainer: Pa,
174
+ thumbnailIcon: ya
175
+ }, Ta = /* @__PURE__ */ new Map([
176
+ // null signals that we don't want to render any icon
177
+ ["hashicorp.com", null],
178
+ [
179
+ "twitter.com",
180
+ /* @__PURE__ */ t(W, { "data-testid": "wpl-personcard-twitter-icon" })
181
+ ],
182
+ ["github.com", /* @__PURE__ */ t(Q, { "data-testid": "wpl-personcard-github-icon" })],
183
+ [
184
+ "linkedin.com",
185
+ /* @__PURE__ */ t(aa, { "data-testid": "wpl-personcard-linkedin-icon" })
186
+ ],
187
+ ["mailto:", /* @__PURE__ */ t(na, { "data-testid": "wpl-personcard-mail-icon" })]
188
+ ]), ka = X(function({ url: e }) {
189
+ const { protocol: n, host: o } = new URL(e), r = Ta.get(n === "mailto:" ? "mailto:" : o);
190
+ return r === null ? null : /* @__PURE__ */ t("div", { className: D.thumbnailIcon, children: r ?? /* @__PURE__ */ t(ta, { "data-testid": "wpl-personcard-link-icon" }) });
191
+ }), Da = ({
192
+ link: a,
193
+ thumbnail: e,
194
+ name: n,
195
+ location: o,
196
+ bio: r,
197
+ productBadges: s
198
+ }) => /* @__PURE__ */ d(l.Root, { link: a, withArrow: !1, "aria-label": n, children: [
199
+ /* @__PURE__ */ d("div", { className: D.thumbnailContainer, children: [
200
+ /* @__PURE__ */ t(l.PersonThumbnail, { ...e }),
201
+ /* @__PURE__ */ t(ka, { url: a })
202
+ ] }),
203
+ /* @__PURE__ */ d(l.Content, { children: [
204
+ /* @__PURE__ */ d("div", { children: [
205
+ /* @__PURE__ */ t(l.Heading, { children: n }),
206
+ o ? /* @__PURE__ */ t(u.Body, { tag: "p", size: "200", className: D.location, children: o }) : null
207
+ ] }),
208
+ r ? /* @__PURE__ */ t(l.Description, { children: r }) : null,
209
+ s && s?.length > 0 ? /* @__PURE__ */ t(l.ProductBadges, { badges: s }) : null
210
+ ] })
211
+ ] });
212
+ Da.displayName = "PersonCard";
213
+ const La = ({
214
+ heading: a,
215
+ date: e,
216
+ category: n,
217
+ link: o,
218
+ productBadges: r,
219
+ thumbnail: s,
220
+ isExternal: i
221
+ }) => /* @__PURE__ */ t(
222
+ L,
223
+ {
224
+ link: o,
225
+ meta: e ? [e, n] : [n],
226
+ productBadges: r,
227
+ thumbnail: s,
228
+ isExternal: i,
229
+ heading: a
230
+ }
231
+ );
232
+ La.displayName = "ResourceCard";
233
+ const Oa = ({
234
+ heading: a,
235
+ description: e,
236
+ eyebrow: n,
237
+ link: o,
238
+ clickHandler: r,
239
+ thumbnail: s,
240
+ withArrow: i = !1,
241
+ isExternal: c = !1,
242
+ className: p
243
+ }) => /* @__PURE__ */ d(
244
+ l.Root,
245
+ {
246
+ link: o,
247
+ withArrow: i,
248
+ isExternal: c,
249
+ className: p,
250
+ clickHandler: r,
251
+ "aria-label": a,
252
+ children: [
253
+ s ? /* @__PURE__ */ t(l.Thumbnail, { ...s }) : null,
254
+ /* @__PURE__ */ d(l.Content, { children: [
255
+ n ? /* @__PURE__ */ t(l.Meta, { items: [n] }) : null,
256
+ /* @__PURE__ */ t(l.Heading, { children: a }),
257
+ e ? /* @__PURE__ */ t(l.Description, { children: e }) : null
258
+ ] })
259
+ ]
260
+ }
261
+ );
262
+ Oa.displayName = "PromoCard";
263
+ const Aa = "description__-1CDK", Ra = "logoContainer__9VUWm", Ea = "logo__E1-po", T = {
264
+ description: Aa,
265
+ logoContainer: Ra,
266
+ logo: Ea
267
+ }, Ia = ({
268
+ heading: a,
269
+ description: e,
270
+ meta: n,
271
+ link: o,
272
+ productBadges: r,
273
+ competencyBadges: s,
274
+ logo: i,
275
+ className: c
276
+ }) => {
277
+ const p = P(), N = r && r.length > 0, h = s && s.length > 0;
278
+ return /* @__PURE__ */ d(
279
+ l.Root,
280
+ {
281
+ link: o,
282
+ withArrow: !1,
283
+ isExternal: !1,
284
+ className: c,
285
+ "aria-label": a,
286
+ children: [
287
+ /* @__PURE__ */ t("div", { className: T.logoContainer, children: /* @__PURE__ */ t(p, { ...i, alt: i.alt, className: T.logo }) }),
288
+ /* @__PURE__ */ d(l.Content, { children: [
289
+ /* @__PURE__ */ t(l.Meta, { items: n }),
290
+ /* @__PURE__ */ t(u.Body, { tag: "p", size: "200", className: T.description, children: e }),
291
+ N || h ? /* @__PURE__ */ t(l.ProductBadges, { badges: r || [], children: h && s.map((g, f) => /* @__PURE__ */ t(w, { text: g, icon: "dot" }, f)) }) : null
292
+ ] })
293
+ ]
294
+ }
295
+ );
296
+ };
297
+ Ia.displayName = "PartnerCard";
298
+ function b(a, e) {
299
+ const n = a, o = e.aliases ?? Object.fromEntries(n.map((i) => [i, i])), r = e.transform ?? ((i) => i.trim().toLowerCase()), s = (i, c) => {
300
+ const p = { ...o, ...c?.aliases ?? {} }, N = c?.fallback ?? e.fallback, h = c?.transform ?? r;
301
+ if (typeof i != "string") return N;
302
+ const g = h(i), f = p[g] ?? g;
303
+ return n.includes(f) ? f : N;
304
+ };
305
+ return s.with = (i) => (c, p) => s(c, { ...i, ...p ?? {} }), s;
306
+ }
307
+ function O(a) {
308
+ const e = (n, o) => {
309
+ const r = {};
310
+ for (const s in a) {
311
+ if (!Object.prototype.hasOwnProperty.call(a, s)) continue;
312
+ const i = s, c = a[i], p = o?.all ? c.with(o.all) : c;
313
+ r[i] = p(n?.[i], o?.each?.[i]);
314
+ }
315
+ return r;
316
+ };
317
+ return e.with = (n) => {
318
+ const o = {};
319
+ for (const r in a) {
320
+ if (!Object.prototype.hasOwnProperty.call(a, r)) continue;
321
+ const s = r;
322
+ o[s] = a[s].with(n);
323
+ }
324
+ return O(o);
325
+ }, e;
326
+ }
327
+ const Sa = "layout__bSrhA", Ua = "faint__Z2ywD", xa = "transparent__9mJjZ", v = {
328
+ layout: Sa,
329
+ faint: Ua,
330
+ transparent: xa,
331
+ "padding-top-none": "padding-top-none__9PeMj",
332
+ "padding-top-small": "padding-top-small__bSFSb",
333
+ "padding-top-medium": "padding-top-medium__GrQm5",
334
+ "padding-top-large": "padding-top-large__mDeeb",
335
+ "padding-bottom-none": "padding-bottom-none__G-i6w",
336
+ "padding-bottom-small": "padding-bottom-small__LraeK",
337
+ "padding-bottom-medium": "padding-bottom-medium__PswfC",
338
+ "padding-bottom-large": "padding-bottom-large__0VyXJ"
339
+ }, j = "light", G = "primary", F = "medium", K = "medium", Ha = ["light", "dark"], Ba = ["primary", "faint", "transparent"], A = ["none", "small", "medium", "large"], _t = O({
340
+ appearance: b(Ha, {
341
+ fallback: j
342
+ }),
343
+ background: b(Ba, {
344
+ fallback: G
345
+ }),
346
+ paddingTop: b(A, {
347
+ fallback: F
348
+ }),
349
+ paddingBottom: b(A, {
350
+ fallback: K
351
+ })
352
+ }), Ma = ({
353
+ className: a,
354
+ children: e,
355
+ appearance: n = j,
356
+ background: o = G,
357
+ paddingBottom: r = F,
358
+ paddingTop: s = K
359
+ }) => /* @__PURE__ */ t(
360
+ "div",
361
+ {
362
+ className: y([
363
+ v.layout,
364
+ { "mds-dark-mode": n === "dark" },
365
+ v[o],
366
+ v[`padding-top-${s}`],
367
+ v[`padding-bottom-${r}`],
368
+ a
369
+ ]),
370
+ children: e
371
+ }
372
+ );
373
+ Ma.displayName = "Layout";
374
+ const $a = "small__Y58kj", za = "medium__2A1Tv", ja = "large__ho0Xp", C = {
375
+ "product-logo": "product-logo__moaPv",
376
+ small: $a,
377
+ medium: za,
378
+ large: ja
379
+ };
380
+ function Ga(a) {
381
+ return a.charAt(0).toUpperCase() + a.slice(1);
382
+ }
383
+ const V = "small", Y = "primary", Fa = "hcp", Ka = [
384
+ "vault-radar",
385
+ "vault-secrets",
386
+ "vault-dedicated"
387
+ ], Va = ["small", "medium", "large"], Ya = ["primary", "strong"], qa = [
388
+ "hcp",
389
+ "hashicorp",
390
+ "boundary",
391
+ "consul",
392
+ "nomad",
393
+ "packer",
394
+ "terraform",
395
+ "vault",
396
+ "vault-dedicated",
397
+ "vault-enterprise",
398
+ "vault-radar",
399
+ "vault-secrets",
400
+ "vagrant",
401
+ "waypoint"
402
+ ], bt = O({
403
+ size: b(Va, {
404
+ fallback: V
405
+ }),
406
+ color: b(Ya, {
407
+ fallback: Y
408
+ }),
409
+ product: b(qa, {
410
+ fallback: Fa
411
+ })
412
+ }), Ja = ({
413
+ size: a = V,
414
+ color: e = Y,
415
+ product: n
416
+ }) => {
417
+ const o = k[n]?.name ?? Ga(n);
418
+ return /* @__PURE__ */ d("div", { className: y(C["product-logo"], C[a]), children: [
419
+ /* @__PURE__ */ t(
420
+ Z,
421
+ {
422
+ size: a === "small" ? 16 : 24,
423
+ name: k[n]?.icon ?? `${n}-color`,
424
+ color: k[n]?.color
425
+ }
426
+ ),
427
+ Ka.includes(n) ? /* @__PURE__ */ d("div", { children: [
428
+ /* @__PURE__ */ d(
429
+ u.DisplayExpressive,
430
+ {
431
+ className: C[a],
432
+ color: e,
433
+ weight: "semibold",
434
+ children: [
435
+ o.split(" ").slice(0, 2).join(" "),
436
+ " "
437
+ ]
438
+ }
439
+ ),
440
+ /* @__PURE__ */ t(
441
+ u.DisplayExpressive,
442
+ {
443
+ className: C[a],
444
+ color: e,
445
+ weight: "regular",
446
+ children: o.split(" ").slice(2)[0]
447
+ }
448
+ )
449
+ ] }) : (
450
+ // Default to unmodified display of the product name
451
+ /* @__PURE__ */ t(
452
+ u.DisplayExpressive,
453
+ {
454
+ className: C[a],
455
+ color: e,
456
+ weight: "semibold",
457
+ children: o
458
+ }
459
+ )
460
+ )
461
+ ] });
462
+ };
463
+ Ja.displayName = "ProductLogo";
464
+ const k = {
465
+ hcp: {
466
+ icon: "hashicorp-square",
467
+ color: "var(--mds-color-hcp-brand)",
468
+ name: "HashiCorp Cloud Platform"
469
+ },
470
+ hashicorp: {
471
+ icon: "hashicorp",
472
+ color: "var(--mds-color-hashicorp-brand)",
473
+ name: "HashiCorp"
474
+ },
475
+ "vault-radar": {
476
+ icon: "vault-square",
477
+ color: "var(--mds-color-vault-radar-brand)",
478
+ name: "HCP Vault Radar"
479
+ },
480
+ "vault-secrets": {
481
+ icon: "vault-square",
482
+ color: "var(--mds-color-vault-secrets-brand)",
483
+ name: "HCP Vault Secrets"
484
+ },
485
+ "vault-dedicated": {
486
+ icon: "vault-fill",
487
+ color: "var(--mds-color-vault-secrets-brand)",
488
+ name: "HCP Vault Dedicated"
489
+ },
490
+ "vault-enterprise": {
491
+ icon: "vault-fill",
492
+ color: "var(--mds-color-vault-secrets-brand)",
493
+ name: "Vault Enterprise"
494
+ }
495
+ }, Xa = "root__wY2Kw", Za = "transparent__oS97K", Qa = "wrapper__z6E7B g-grid g-grid-container", Wa = "textStack__T-LcO", at = "headline__Msi9v", tt = "cards__RaaoR", nt = "cta__bp4JK", et = "dark__ccH93", _ = {
496
+ root: Xa,
497
+ transparent: Za,
498
+ wrapper: Qa,
499
+ textStack: Wa,
500
+ headline: at,
501
+ cards: tt,
502
+ cta: nt,
503
+ dark: et
504
+ }, ot = ({
505
+ appearance: a = "transparent",
506
+ headline: e,
507
+ description: n,
508
+ cards: o,
509
+ cta: r
510
+ }) => {
511
+ const s = ea();
512
+ return /* @__PURE__ */ t(
513
+ "div",
514
+ {
515
+ className: y(_.root, _[a], {
516
+ "mds-dark-mode": a === "dark"
517
+ }),
518
+ children: /* @__PURE__ */ d("div", { className: _.wrapper, children: [
519
+ /* @__PURE__ */ d("div", { className: _.textStack, children: [
520
+ /* @__PURE__ */ t(
521
+ u.DisplayExpressive,
522
+ {
523
+ tag: "h2",
524
+ color: "primary",
525
+ className: _.headline,
526
+ size: "400",
527
+ children: e
528
+ }
529
+ ),
530
+ n ? /* @__PURE__ */ t(u.Body, { size: "300", color: "faint", tag: "p", children: n }) : null
531
+ ] }),
532
+ /* @__PURE__ */ t("div", { className: _.cards, "data-testid": "wpl-cards-container", children: o.map((i, c) => /* @__PURE__ */ t(
533
+ R,
534
+ {
535
+ href: i.link,
536
+ content: {
537
+ ...i.thumbnail && {
538
+ thumbnail: {
539
+ alt: i.thumbnail.alt,
540
+ src: i.thumbnail.src,
541
+ aspectRatio: "16/9"
542
+ }
543
+ },
544
+ eyebrow: i.meta,
545
+ heading: i.heading,
546
+ description: i.description,
547
+ showArrow: !0
548
+ }
549
+ },
550
+ c
551
+ )) }),
552
+ r ? /* @__PURE__ */ t("div", { className: _.cta, "data-testid": "wpl-cta-container", children: /* @__PURE__ */ t(s, { href: r.href, children: r.text }) }) : null
553
+ ] })
554
+ }
555
+ );
556
+ };
557
+ ot.displayName = "RelatedContent";
558
+ export {
559
+ l as C,
560
+ Ma as L,
561
+ va as N,
562
+ Da as P,
563
+ La as R,
564
+ L as U,
565
+ Oa as a,
566
+ Ia as b,
567
+ Ha as c,
568
+ Ba as d,
569
+ A as e,
570
+ E as f,
571
+ Ja as g,
572
+ Ya as h,
573
+ qa as i,
574
+ Va as j,
575
+ bt as k,
576
+ ot as l,
577
+ _t as n
578
+ };
579
+ //# sourceMappingURL=index-B9mPJh9w.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-B9mPJh9w.js","sources":["../src/patterns/product-badge/index.tsx","../src/patterns/card/thumbnails/index.tsx","../src/patterns/card/primitives.tsx","../src/patterns/card/unified-card/index.tsx","../src/patterns/card/newsroom-card/index.tsx","../src/patterns/card/person-card/index.tsx","../src/patterns/card/resource-card/index.tsx","../src/patterns/card/promo-card/index.tsx","../src/patterns/card/partner-card/index.tsx","../src/utils/make-normalizer/index.tsx","../src/patterns/layout/index.tsx","../src/patterns/product-logo/index.tsx","../src/patterns/related-content/index.tsx"],"sourcesContent":["import { Badge } from '../../components/badge'\nimport s from './style.module.css'\n\ntype Products =\n\t| 'hashicorp'\n\t| 'boundary'\n\t| 'consul'\n\t| 'nomad'\n\t| 'packer'\n\t| 'terraform'\n\t| 'vault'\n\t| 'vagrant'\n\t| 'waypoint'\n\ninterface ProductBadgeProps {\n\tproductName: Products\n\thasDot?: boolean\n}\n\nconst ProductBadge = ({ productName, hasDot }: ProductBadgeProps) => {\n\tconst finalProductName = productName.replace('hashicorp', 'HashiCorp')\n\n\tconst productBrand =\n\t\tfinalProductName === 'HashiCorp cloud platform' ? 'hashicorp' : productName\n\n\treturn (\n\t\t<Badge\n\t\t\tclassName={s.badge}\n\t\t\ttext={finalProductName}\n\t\t\t{...(hasDot && {\n\t\t\t\ticon: 'dot',\n\t\t\t\ticonColor: `var(--mds-color-${productBrand}-brand)`,\n\t\t\t})}\n\t\t/>\n\t)\n}\n\nProductBadge.displayName = 'ProductBadge'\n\nexport type { ProductBadgeProps }\nexport { ProductBadge }\n","'use client'\n\nimport type { ThumbnailProps } from '../types'\nimport { useMDSImage } from '../../../utils/mds-context'\nimport s from '../style.module.css'\n\nexport const Thumbnail = ({ src, alt }: ThumbnailProps) => {\n\tconst Image = useMDSImage()\n\n\treturn (\n\t\t<div className={s.thumbnail} data-testid=\"wpl-card-thumbnail\">\n\t\t\t<div className={s.image}>\n\t\t\t\t<Image src={src} alt={alt} width={800} height={450} />\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nThumbnail.displayName = 'Thumbnail'\n\nexport const PersonThumbnail = ({ src, alt }: ThumbnailProps) => {\n\tconst Image = useMDSImage()\n\n\treturn (\n\t\t<div className={s.personThumbnail} data-testid=\"wpl-card-thumbnail\">\n\t\t\t<div className={s.image}>\n\t\t\t\t<Image src={src} alt={alt} width={800} height={450} />\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nPersonThumbnail.displayName = 'PersonThumbnail'\n\nexport const LogoThumbnail = ({ src, alt }: ThumbnailProps) => {\n\tconst Image = useMDSImage()\n\n\treturn (\n\t\t<div className={s.logoThumbnail} data-testid=\"wpl-card-logo-thumbnail\">\n\t\t\t<div className={s.image}>\n\t\t\t\t<Image src={src} alt={alt} width={800} height={450} />\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nLogoThumbnail.displayName = 'LogoThumbnail'\n","import { forwardRef } from 'react'\nimport { Card as MDSCard } from '../../components/card'\nimport { Text } from '../../components/text'\nimport { IconArrowRight24 } from '@hashicorp/flight-icons/svg-react/arrow-right-24'\nimport { ProductBadge } from '../product-badge'\nimport { Thumbnail, PersonThumbnail, LogoThumbnail } from './thumbnails'\nimport type {\n\tCardPrimitiveProps,\n\tMetaProps,\n\tContentProps,\n\tHeadingProps,\n\tProductBadgesProps,\n\tDescriptionProps,\n} from './types'\nimport s from './style.module.css'\nimport classNames from 'classnames'\n\nconst Root = forwardRef<HTMLDivElement, CardPrimitiveProps>((props, ref) => {\n\tconst {\n\t\twithArrow = true,\n\t\tlink,\n\t\tclickHandler,\n\t\tisExternal,\n\t\tchildren,\n\t\tclassName,\n\t\t'aria-label': ariaLabel,\n\t} = props\n\n\treturn (\n\t\t<MDSCard\n\t\t\tclassName={classNames(s.card, className)}\n\t\t\thref={link}\n\t\t\tonClickCapture={clickHandler}\n\t\t\tisExternal={isExternal}\n\t\t\tref={ref}\n\t\t\taria-label={ariaLabel}\n\t\t>\n\t\t\t{children}\n\t\t\t<div className={s.cta}>{withArrow ? <IconArrowRight24 /> : null}</div>\n\t\t</MDSCard>\n\t)\n})\n\nRoot.displayName = 'CardPrimitives.Root'\n\nconst Meta = ({ items }: MetaProps) => {\n\treturn (\n\t\t<div className={s.meta} data-testid=\"wpl-card-meta\">\n\t\t\t<Text.Label>\n\t\t\t\t{items.map((item, stableIdx) => {\n\t\t\t\t\tconst isLastItem = stableIdx === items.length - 1\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{item}\n\t\t\t\t\t\t\t{!isLastItem ? (\n\t\t\t\t\t\t\t\t<span className={s.metaSeparator} aria-hidden={true}>\n\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t</>\n\t\t\t\t\t)\n\t\t\t\t})}\n\t\t\t</Text.Label>\n\t\t</div>\n\t)\n}\n\nMeta.displayName = 'Meta'\n\nconst Content = ({ children }: ContentProps) => {\n\treturn (\n\t\t<div className={s.content} data-testid=\"wpl-card-content\">\n\t\t\t{children}\n\t\t</div>\n\t)\n}\n\nContent.displayName = 'Content'\n\nconst Heading = ({ as = 'h2', children }: HeadingProps) => {\n\treturn (\n\t\t<Text.DisplayExpressive tag={as} size=\"200\" className={s.heading}>\n\t\t\t{children}\n\t\t</Text.DisplayExpressive>\n\t)\n}\n\nHeading.displayName = 'Heading'\n\nconst ProductBadges = ({ badges, children }: ProductBadgesProps) => {\n\treturn (\n\t\t<div className={s.productBadges} data-testid=\"wpl-card-badges\">\n\t\t\t{badges.map((badge, stableIdx) => {\n\t\t\t\treturn (\n\t\t\t\t\t<ProductBadge\n\t\t\t\t\t\t// eslint-disable-next-line react/no-array-index-key\n\t\t\t\t\t\tkey={`product-badge-${stableIdx}`}\n\t\t\t\t\t\tproductName={badge}\n\t\t\t\t\t\thasDot={true}\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\t})}\n\t\t\t{children}\n\t\t</div>\n\t)\n}\n\nProductBadges.displayName = 'ProductBadges'\n\nconst Description = ({ children }: DescriptionProps) => {\n\treturn (\n\t\t<Text.Body tag=\"p\" size=\"200\" className={s.description}>\n\t\t\t{children}\n\t\t</Text.Body>\n\t)\n}\n\nDescription.displayName = 'Description'\n\nconst CardPrimitives = {\n\tRoot,\n\tThumbnail,\n\tPersonThumbnail,\n\tLogoThumbnail,\n\tMeta,\n\tContent,\n\tHeading,\n\tDescription,\n\tProductBadges,\n}\n\nexport { CardPrimitives }\n","import { Badge } from '../../../components/badge'\nimport { CardPrimitives } from '../primitives'\nimport type { CardPatternProps } from '../types'\n\ninterface UnifiedCardProps extends CardPatternProps {\n\tbadges?: (string | string[])[]\n}\n\nconst UnifiedCard = ({\n\theading,\n\tmeta,\n\tlink,\n\tproductBadges,\n\tbadges,\n\tthumbnail,\n\twithArrow = false,\n\tisExternal = false,\n\tclassName,\n\t'aria-label': ariaLabel,\n}: UnifiedCardProps) => {\n\treturn (\n\t\t<CardPrimitives.Root\n\t\t\tlink={link}\n\t\t\twithArrow={withArrow}\n\t\t\tisExternal={isExternal}\n\t\t\tclassName={className}\n\t\t\taria-label={ariaLabel || heading}\n\t\t>\n\t\t\t{thumbnail ? <CardPrimitives.Thumbnail {...thumbnail} /> : null}\n\t\t\t<CardPrimitives.Content>\n\t\t\t\t{meta && meta.length > 0 ? <CardPrimitives.Meta items={meta} /> : null}\n\t\t\t\t<CardPrimitives.Heading>{heading}</CardPrimitives.Heading>\n\t\t\t\t{productBadges && productBadges?.length > 0 ? (\n\t\t\t\t\t<CardPrimitives.ProductBadges badges={productBadges}>\n\t\t\t\t\t\t{badges && badges.length > 0\n\t\t\t\t\t\t\t? badges.map((badge, stableIdx) => {\n\t\t\t\t\t\t\t\t\tif (Array.isArray(badge)) {\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<Badge key={stableIdx} icon={badge[0]} text={badge[1]} />\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\treturn <Badge key={stableIdx} text={badge} />\n\t\t\t\t\t\t\t })\n\t\t\t\t\t\t\t: null}\n\t\t\t\t\t</CardPrimitives.ProductBadges>\n\t\t\t\t) : null}\n\t\t\t</CardPrimitives.Content>\n\t\t</CardPrimitives.Root>\n\t)\n}\n\nUnifiedCard.displayName = 'UnifiedCard'\n\nexport type { UnifiedCardProps }\nexport { UnifiedCard }\n","import type { ThumbnailProps } from '../types'\nimport { UnifiedCard } from '../unified-card'\nimport s from './style.module.css'\n\ninterface NewsroomCardProps {\n\theading: string\n\tdate: string\n\tcategory: string\n\tlink: string\n\tthumbnail?: ThumbnailProps\n\twithArrow?: boolean\n}\n\nconst NewsroomCard = ({\n\theading,\n\tdate,\n\tcategory,\n\tlink,\n\tthumbnail,\n\twithArrow = false,\n}: NewsroomCardProps) => {\n\treturn (\n\t\t<UnifiedCard\n\t\t\theading={heading}\n\t\t\tmeta={[date, category]}\n\t\t\tlink={link}\n\t\t\tthumbnail={thumbnail}\n\t\t\twithArrow={withArrow}\n\t\t\tclassName={s.newsroomCard}\n\t\t/>\n\t)\n}\n\nNewsroomCard.displayName = 'NewsroomCard'\n\nexport type { NewsroomCardProps }\nexport { NewsroomCard }\n","import { memo, type ReactNode } from 'react'\nimport { Text } from '../../../components/text'\nimport { IconGithub16 } from '@hashicorp/flight-icons/svg-react/github-16'\nimport { IconTwitter16 } from '@hashicorp/flight-icons/svg-react/twitter-16'\nimport { IconLinkedin16 } from '@hashicorp/flight-icons/svg-react/linkedin-16'\nimport { IconLink16 } from '@hashicorp/flight-icons/svg-react/link-16'\nimport { IconMail16 } from '@hashicorp/flight-icons/svg-react/mail-16'\nimport type { ProductBadgesProps, ThumbnailProps } from '../types'\nimport { CardPrimitives } from '../primitives'\nimport s from './style.module.css'\n\ninterface PersonCardProps {\n\tthumbnail: ThumbnailProps\n\tlink: string\n\tname: string\n\tlocation?: string\n\tbio?: string\n\tproductBadges?: ProductBadgesProps['badges']\n}\n\n// Map of hostnames to icons.\n/* eslint-disable react/jsx-key */\nconst iconMap = new Map<string, ReactNode>([\n\t// null signals that we don't want to render any icon\n\t['hashicorp.com', null],\n\t[\n\t\t'twitter.com',\n\t\t<IconTwitter16 data-testid={'wpl-personcard-twitter-icon'} />,\n\t],\n\t['github.com', <IconGithub16 data-testid={'wpl-personcard-github-icon'} />],\n\t[\n\t\t'linkedin.com',\n\t\t<IconLinkedin16 data-testid={'wpl-personcard-linkedin-icon'} />,\n\t],\n\t['mailto:', <IconMail16 data-testid={'wpl-personcard-mail-icon'} />],\n])\n/* eslint-enable react/jsx-key */\n\nconst Icon = memo(function Icon({ url }: { url: string }) {\n\tconst { protocol, host } = new URL(url)\n\tconst icon = iconMap.get(protocol === 'mailto:' ? 'mailto:' : host)\n\n\t// If the icon value is null, don't render an icon\n\tif (icon === null) {\n\t\treturn null\n\t}\n\n\t// Render the icon or the default icon if the icon value is undefined\n\treturn (\n\t\t<div className={s.thumbnailIcon}>\n\t\t\t{icon ?? <IconLink16 data-testid={'wpl-personcard-link-icon'} />}\n\t\t</div>\n\t)\n})\n\nconst PersonCard = ({\n\tlink,\n\tthumbnail,\n\tname,\n\tlocation,\n\tbio,\n\tproductBadges,\n}: PersonCardProps) => {\n\treturn (\n\t\t<CardPrimitives.Root link={link} withArrow={false} aria-label={name}>\n\t\t\t<div className={s.thumbnailContainer}>\n\t\t\t\t<CardPrimitives.PersonThumbnail {...thumbnail} />\n\t\t\t\t<Icon url={link} />\n\t\t\t</div>\n\t\t\t<CardPrimitives.Content>\n\t\t\t\t<div>\n\t\t\t\t\t<CardPrimitives.Heading>{name}</CardPrimitives.Heading>\n\t\t\t\t\t{location ? (\n\t\t\t\t\t\t<Text.Body tag=\"p\" size=\"200\" className={s.location}>\n\t\t\t\t\t\t\t{location}\n\t\t\t\t\t\t</Text.Body>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t\t{bio ? (\n\t\t\t\t\t<CardPrimitives.Description>{bio}</CardPrimitives.Description>\n\t\t\t\t) : null}\n\t\t\t\t{productBadges && productBadges?.length > 0 ? (\n\t\t\t\t\t<CardPrimitives.ProductBadges badges={productBadges} />\n\t\t\t\t) : null}\n\t\t\t</CardPrimitives.Content>\n\t\t</CardPrimitives.Root>\n\t)\n}\n\nPersonCard.displayName = 'PersonCard'\n\nexport type { PersonCardProps }\nexport { PersonCard }\n","import type { CardPatternProps, ThumbnailProps } from '../types'\nimport { UnifiedCard } from '../unified-card'\n\ninterface ResourceCardProps {\n\theading: string\n\tdate?: string\n\tcategory: string\n\tlink: string\n\tproductBadges?: CardPatternProps['productBadges']\n\tthumbnail: ThumbnailProps\n\tisExternal?: CardPatternProps['isExternal']\n}\n\nconst ResourceCard = ({\n\theading,\n\tdate,\n\tcategory,\n\tlink,\n\tproductBadges,\n\tthumbnail,\n\tisExternal,\n}: ResourceCardProps) => {\n\tconst meta: string[] = date ? [date, category] : [category]\n\n\treturn (\n\t\t<UnifiedCard\n\t\t\tlink={link}\n\t\t\tmeta={meta}\n\t\t\tproductBadges={productBadges}\n\t\t\tthumbnail={thumbnail}\n\t\t\tisExternal={isExternal}\n\t\t\theading={heading}\n\t\t/>\n\t)\n}\n\nResourceCard.displayName = 'ResourceCard'\n\nexport type { ResourceCardProps }\nexport { ResourceCard }\n","import { CardPrimitives } from '../primitives'\nimport type { ThumbnailProps } from '../types'\n\ninterface PromoCardProps {\n\theading: string\n\tdescription?: string\n\teyebrow?: string\n\tlink: string\n\tclickHandler?: () => void\n\tthumbnail?: ThumbnailProps\n\twithArrow?: boolean\n\tisExternal?: boolean\n\tclassName?: string\n}\n\nconst PromoCard = ({\n\theading,\n\tdescription,\n\teyebrow,\n\tlink,\n\tclickHandler,\n\tthumbnail,\n\twithArrow = false,\n\tisExternal = false,\n\tclassName,\n}: PromoCardProps) => {\n\treturn (\n\t\t<CardPrimitives.Root\n\t\t\tlink={link}\n\t\t\twithArrow={withArrow}\n\t\t\tisExternal={isExternal}\n\t\t\tclassName={className}\n\t\t\tclickHandler={clickHandler}\n\t\t\taria-label={heading}\n\t\t>\n\t\t\t{thumbnail ? <CardPrimitives.Thumbnail {...thumbnail} /> : null}\n\t\t\t<CardPrimitives.Content>\n\t\t\t\t{eyebrow ? <CardPrimitives.Meta items={[eyebrow]} /> : null}\n\t\t\t\t<CardPrimitives.Heading>{heading}</CardPrimitives.Heading>\n\t\t\t\t{description ? (\n\t\t\t\t\t<CardPrimitives.Description>{description}</CardPrimitives.Description>\n\t\t\t\t) : null}\n\t\t\t</CardPrimitives.Content>\n\t\t</CardPrimitives.Root>\n\t)\n}\n\nPromoCard.displayName = 'PromoCard'\n\nexport type { PromoCardProps }\nexport { PromoCard }\n","'use client'\n\nimport type { MDSImageProps } from '../../../utils/mds-context'\nimport { useMDSImage } from '../../../utils/mds-context'\nimport { Badge } from '../../../components/badge'\nimport { Text } from '../../../components/text'\nimport { CardPrimitives } from '../primitives'\nimport type { CardPatternProps } from '../types'\nimport s from './style.module.css'\n\ninterface PartnerCardProps {\n\theading: string\n\tdescription: string\n\tmeta: string[]\n\tlink: string\n\tproductBadges?: CardPatternProps['productBadges']\n\tcompetencyBadges?: string[]\n\tlogo: MDSImageProps\n\tclassName?: string\n}\n\nconst PartnerCard = ({\n\theading,\n\tdescription,\n\tmeta,\n\tlink,\n\tproductBadges,\n\tcompetencyBadges,\n\tlogo,\n\tclassName,\n}: PartnerCardProps) => {\n\tconst Image = useMDSImage()\n\n\tconst hasProductBadges = productBadges && productBadges.length > 0\n\tconst hasCompetencyBadges = competencyBadges && competencyBadges.length > 0\n\n\treturn (\n\t\t<CardPrimitives.Root\n\t\t\tlink={link}\n\t\t\twithArrow={false}\n\t\t\tisExternal={false}\n\t\t\tclassName={className}\n\t\t\taria-label={heading}\n\t\t>\n\t\t\t<div className={s.logoContainer}>\n\t\t\t\t<Image {...logo} alt={logo.alt} className={s.logo} />\n\t\t\t</div>\n\t\t\t<CardPrimitives.Content>\n\t\t\t\t<CardPrimitives.Meta items={meta} />\n\t\t\t\t<Text.Body tag=\"p\" size=\"200\" className={s.description}>\n\t\t\t\t\t{description}\n\t\t\t\t</Text.Body>\n\t\t\t\t{hasProductBadges || hasCompetencyBadges ? (\n\t\t\t\t\t<CardPrimitives.ProductBadges badges={productBadges || []}>\n\t\t\t\t\t\t{hasCompetencyBadges &&\n\t\t\t\t\t\t\tcompetencyBadges.map((competencyBadge, stableIdx) => (\n\t\t\t\t\t\t\t\t<Badge key={stableIdx} text={competencyBadge} icon=\"dot\" />\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t</CardPrimitives.ProductBadges>\n\t\t\t\t) : null}\n\t\t\t</CardPrimitives.Content>\n\t\t</CardPrimitives.Root>\n\t)\n}\n\nPartnerCard.displayName = 'PartnerCard'\n\nexport type { PartnerCardProps }\nexport { PartnerCard }\n","export type NormalizerOpts<TOut extends string> = {\n\taliases?: Record<string, TOut>\n\tfallback?: TOut\n\ttransform?: (raw: string) => string\n}\n\nexport type Normalizer<TOut extends string> = {\n\t(input: unknown, opts?: NormalizerOpts<TOut>): TOut\n\twith(bound: NormalizerOpts<TOut>): Normalizer<TOut>\n}\n\nexport function makeNormalizer<\n\tTAllowed extends readonly string[],\n\tTOut extends TAllowed[number]\n>(\n\tallowed: TAllowed,\n\tdefaults: {\n\t\tfallback: TOut\n\t\taliases?: Record<string, TOut>\n\t\ttransform?: (raw: string) => string\n\t}\n): Normalizer<TOut> {\n\tconst list = allowed as readonly string[]\n\n\tconst defaultAliases: Record<string, TOut> =\n\t\tdefaults.aliases ??\n\t\t(Object.fromEntries(list.map((v) => [v, v])) as Record<string, TOut>)\n\n\tconst defaultTransform =\n\t\tdefaults.transform ?? ((s: string) => s.trim().toLowerCase())\n\n\tconst core = ((input: unknown, opts?: NormalizerOpts<TOut>): TOut => {\n\t\tconst aliases = { ...defaultAliases, ...(opts?.aliases ?? {}) }\n\t\tconst fallback = opts?.fallback ?? defaults.fallback\n\t\tconst transform = opts?.transform ?? defaultTransform\n\n\t\tif (typeof input !== 'string') return fallback\n\n\t\tconst s = transform(input)\n\t\tconst candidate = (aliases[s] ?? s) as string\n\t\treturn list.includes(candidate) ? (candidate as TOut) : fallback\n\t}) as Normalizer<TOut>\n\n\tcore.with = (bound: NormalizerOpts<TOut>) =>\n\t\t((input: unknown, opts?: NormalizerOpts<TOut>) =>\n\t\t\tcore(input, { ...bound, ...(opts ?? {}) })) as Normalizer<TOut>\n\n\treturn core\n}\n\n/**\n * Group helper: normalize a whole props object in one call.\n * - `all.transform` applies to every normalizer in the set (safe cross-type).\n * - `each[key]` lets you override per-key opts (aliases/fallback/transform).\n */\nexport function makeNormalizerSet<TOuts extends Record<string, string>>(map: {\n\t[K in keyof TOuts]: Normalizer<TOuts[K]>\n}) {\n\ttype In = { [K in keyof TOuts]?: unknown | null }\n\ttype Out = { [K in keyof TOuts]: TOuts[K] }\n\ttype All = Pick<NormalizerOpts<string>, 'transform'> // safe cross-prop\n\ttype Each = { [K in keyof TOuts]?: NormalizerOpts<TOuts[K]> }\n\ttype Call = (input: In, opts?: { all?: All; each?: Each }) => Out\n\n\tconst call = ((input: In, opts?: { all?: All; each?: Each }) => {\n\t\tconst out = {} as Out\n\t\tfor (const k in map) {\n\t\t\tif (!Object.prototype.hasOwnProperty.call(map, k)) continue\n\t\t\tconst key = k as keyof TOuts\n\t\t\tconst n = map[key]\n\t\t\tconst base = opts?.all ? n.with(opts.all as any) : n\n\t\t\tout[key] = base(input?.[key], opts?.each?.[key]) as TOuts[typeof key]\n\t\t}\n\t\treturn out\n\t}) as Call & { with(all: All): Call }\n\n\tcall.with = (all: All) => {\n\t\tconst bound = {} as { [K in keyof TOuts]: Normalizer<TOuts[K]> }\n\t\tfor (const k in map) {\n\t\t\tif (!Object.prototype.hasOwnProperty.call(map, k)) continue\n\t\t\tconst key = k as keyof TOuts\n\t\t\tbound[key] = map[key].with(all as any)\n\t\t}\n\t\treturn makeNormalizerSet(bound)\n\t}\n\n\treturn call\n}\n","import type { PropsWithChildren } from 'react'\nimport { makeNormalizer, makeNormalizerSet } from '../../utils/make-normalizer'\nimport classNames from 'classnames'\nimport s from './layout.module.css'\n\nconst DEFAULT_APPEARANCE = 'light'\nconst DEFAULT_BACKGROUND = 'primary'\nconst DEFAULT_PADDING_TOP = 'medium'\nconst DEFAULT_PADDING_BOTTOM = 'medium'\n\nexport const LAYOUT_APPEARANCES = ['light', 'dark'] as const\nexport const LAYOUT_BACKGROUNDS = ['primary', 'faint', 'transparent'] as const\nexport const LAYOUT_PADDING = ['none', 'small', 'medium', 'large'] as const\n\nexport type LayoutAppearance = (typeof LAYOUT_APPEARANCES)[number]\nexport type LayoutBackground = (typeof LAYOUT_BACKGROUNDS)[number]\nexport type LayoutPadding = (typeof LAYOUT_PADDING)[number]\n\nexport const normalizeLayoutProps = makeNormalizerSet({\n\tappearance: makeNormalizer(LAYOUT_APPEARANCES, {\n\t\tfallback: DEFAULT_APPEARANCE,\n\t}),\n\tbackground: makeNormalizer(LAYOUT_BACKGROUNDS, {\n\t\tfallback: DEFAULT_BACKGROUND,\n\t}),\n\tpaddingTop: makeNormalizer(LAYOUT_PADDING, {\n\t\tfallback: DEFAULT_PADDING_TOP,\n\t}),\n\tpaddingBottom: makeNormalizer(LAYOUT_PADDING, {\n\t\tfallback: DEFAULT_PADDING_BOTTOM,\n\t}),\n})\n\nexport interface LayoutProps extends PropsWithChildren {\n\tclassName?: string\n\t/**\n\t * The appearance of the layout\n\t */\n\tappearance?: LayoutAppearance\n\t/**\n\t * The color token used for the background. The color value changes based on `appearance`\n\t */\n\tbackground?: LayoutBackground\n\t/**\n\t * The space between the layout component's content and its top border\n\t */\n\tpaddingTop?: LayoutPadding\n\t/**\n\t * The space between the layout component's content and its bottom border\n\t */\n\tpaddingBottom?: LayoutPadding\n}\n\nexport const Layout = ({\n\tclassName,\n\tchildren,\n\tappearance = DEFAULT_APPEARANCE,\n\tbackground = DEFAULT_BACKGROUND,\n\tpaddingBottom = DEFAULT_PADDING_TOP,\n\tpaddingTop = DEFAULT_PADDING_BOTTOM,\n}: LayoutProps) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames([\n\t\t\t\ts.layout,\n\t\t\t\t{ ['mds-dark-mode']: appearance === 'dark' },\n\t\t\t\ts[background],\n\t\t\t\ts[`padding-top-${paddingTop}`],\n\t\t\t\ts[`padding-bottom-${paddingBottom}`],\n\t\t\t\tclassName,\n\t\t\t])}\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t)\n}\n\nLayout.displayName = 'Layout'\n","import classNames from 'classnames'\nimport { makeNormalizer, makeNormalizerSet } from '../../utils/make-normalizer'\nimport { FlightIcon } from '../../components/flight-icon'\nimport { Text } from '../../components/text'\nimport s from './product-logo.module.css'\n\nfunction capitalize(value: string) {\n\treturn value.charAt(0).toUpperCase() + value.slice(1)\n}\n\nconst DEFAULT_SIZE = 'small'\nconst DEFAULT_COLOR = 'primary'\nconst DEFAULT_PRODUCT = 'hcp'\n\nconst HCP_PRODUCT_EXCEPTIONS = [\n\t'vault-radar',\n\t'vault-secrets',\n\t'vault-dedicated',\n]\n\nexport const PRODUCT_LOGO_SIZES = ['small', 'medium', 'large'] as const\nexport const PRODUCT_LOGO_COLORS = ['primary', 'strong'] as const\nexport const PRODUCT_LOGO_PRODUCTS = [\n\t'hcp',\n\t'hashicorp',\n\t'boundary',\n\t'consul',\n\t'nomad',\n\t'packer',\n\t'terraform',\n\t'vault',\n\t'vault-dedicated',\n\t'vault-enterprise',\n\t'vault-radar',\n\t'vault-secrets',\n\t'vagrant',\n\t'waypoint',\n] as const\n\nexport type ProductLogoSize = (typeof PRODUCT_LOGO_SIZES)[number]\nexport type ProductLogoColor = (typeof PRODUCT_LOGO_COLORS)[number]\nexport type ProductLogoProduct = (typeof PRODUCT_LOGO_PRODUCTS)[number]\n\nexport const normalizeProductLogoProps = makeNormalizerSet({\n\tsize: makeNormalizer(PRODUCT_LOGO_SIZES, {\n\t\tfallback: DEFAULT_SIZE,\n\t}),\n\tcolor: makeNormalizer(PRODUCT_LOGO_COLORS, {\n\t\tfallback: DEFAULT_COLOR,\n\t}),\n\tproduct: makeNormalizer(PRODUCT_LOGO_PRODUCTS, {\n\t\tfallback: DEFAULT_PRODUCT,\n\t}),\n})\n\nexport interface ProductLogoProps {\n\tsize?: ProductLogoSize\n\tcolor?: ProductLogoColor\n\tproduct: ProductLogoProduct\n}\n\nexport const ProductLogo = ({\n\tsize = DEFAULT_SIZE,\n\tcolor = DEFAULT_COLOR,\n\tproduct,\n}: ProductLogoProps) => {\n\tconst productName = PRODUCT_LOGO_MAP[product]?.name ?? capitalize(product)\n\n\treturn (\n\t\t<div className={classNames(s['product-logo'], s[size])}>\n\t\t\t<FlightIcon\n\t\t\t\tsize={size === 'small' ? 16 : 24}\n\t\t\t\tname={PRODUCT_LOGO_MAP[product]?.icon ?? `${product}-color`}\n\t\t\t\tcolor={PRODUCT_LOGO_MAP[product]?.color}\n\t\t\t/>\n\t\t\t{HCP_PRODUCT_EXCEPTIONS.includes(product) ? (\n\t\t\t\t<div>\n\t\t\t\t\t{/* Always bold \"HCP [Product]\"... */}\n\t\t\t\t\t<Text.DisplayExpressive\n\t\t\t\t\t\tclassName={s[size]}\n\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{productName.split(' ').slice(0, 2).join(' ')}{' '}\n\t\t\t\t\t</Text.DisplayExpressive>\n\t\t\t\t\t{/* ...But display the sub-product in regular weight */}\n\t\t\t\t\t<Text.DisplayExpressive\n\t\t\t\t\t\tclassName={s[size]}\n\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\tweight=\"regular\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{productName.split(' ').slice(2)[0]}\n\t\t\t\t\t</Text.DisplayExpressive>\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\t// Default to unmodified display of the product name\n\t\t\t\t<Text.DisplayExpressive\n\t\t\t\t\tclassName={s[size]}\n\t\t\t\t\tcolor={color}\n\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t>\n\t\t\t\t\t{productName}\n\t\t\t\t</Text.DisplayExpressive>\n\t\t\t)}\n\t\t</div>\n\t)\n}\n\nProductLogo.displayName = 'ProductLogo'\n\nconst PRODUCT_LOGO_MAP: Record<\n\tstring,\n\t{ icon: string; name: string; color: string }\n> = {\n\thcp: {\n\t\ticon: 'hashicorp-square',\n\t\tcolor: 'var(--mds-color-hcp-brand)',\n\t\tname: 'HashiCorp Cloud Platform',\n\t},\n\thashicorp: {\n\t\ticon: 'hashicorp',\n\t\tcolor: 'var(--mds-color-hashicorp-brand)',\n\t\tname: 'HashiCorp',\n\t},\n\t'vault-radar': {\n\t\ticon: 'vault-square',\n\t\tcolor: 'var(--mds-color-vault-radar-brand)',\n\t\tname: 'HCP Vault Radar',\n\t},\n\t'vault-secrets': {\n\t\ticon: 'vault-square',\n\t\tcolor: 'var(--mds-color-vault-secrets-brand)',\n\t\tname: 'HCP Vault Secrets',\n\t},\n\t'vault-dedicated': {\n\t\ticon: 'vault-fill',\n\t\tcolor: 'var(--mds-color-vault-secrets-brand)',\n\t\tname: 'HCP Vault Dedicated',\n\t},\n\t'vault-enterprise': {\n\t\ticon: 'vault-fill',\n\t\tcolor: 'var(--mds-color-vault-secrets-brand)',\n\t\tname: 'Vault Enterprise',\n\t},\n}\n","'use client'\n\nimport { Card } from '../../components/card'\nimport classNames from 'classnames'\nimport type { RelatedContentProps } from './types'\nimport { useMDSLink } from '../../utils/mds-context'\nimport s from './style.module.css'\nimport { Text } from '../../components'\n\nconst RelatedContent = ({\n\tappearance = 'transparent',\n\theadline,\n\tdescription,\n\tcards,\n\tcta,\n}: RelatedContentProps) => {\n\tconst Link = useMDSLink()\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(s.root, s[appearance], {\n\t\t\t\t['mds-dark-mode']: appearance === 'dark',\n\t\t\t})}\n\t\t>\n\t\t\t<div className={s.wrapper}>\n\t\t\t\t<div className={s.textStack}>\n\t\t\t\t\t<Text.DisplayExpressive\n\t\t\t\t\t\ttag=\"h2\"\n\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\tclassName={s.headline}\n\t\t\t\t\t\tsize=\"400\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{headline}\n\t\t\t\t\t</Text.DisplayExpressive>\n\t\t\t\t\t{description ? (\n\t\t\t\t\t\t<Text.Body size=\"300\" color=\"faint\" tag=\"p\">\n\t\t\t\t\t\t\t{description}\n\t\t\t\t\t\t</Text.Body>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t\t<div className={s.cards} data-testid=\"wpl-cards-container\">\n\t\t\t\t\t{cards.map((card, i) => (\n\t\t\t\t\t\t<Card\n\t\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\t\thref={card.link}\n\t\t\t\t\t\t\tcontent={{\n\t\t\t\t\t\t\t\t...(card.thumbnail && {\n\t\t\t\t\t\t\t\t\tthumbnail: {\n\t\t\t\t\t\t\t\t\t\talt: card.thumbnail.alt,\n\t\t\t\t\t\t\t\t\t\tsrc: card.thumbnail.src,\n\t\t\t\t\t\t\t\t\t\taspectRatio: '16/9',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\teyebrow: card.meta,\n\t\t\t\t\t\t\t\theading: card.heading,\n\t\t\t\t\t\t\t\tdescription: card.description,\n\t\t\t\t\t\t\t\tshowArrow: true,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\n\t\t\t\t{cta ? (\n\t\t\t\t\t<div className={s.cta} data-testid=\"wpl-cta-container\">\n\t\t\t\t\t\t<Link href={cta.href}>{cta.text}</Link>\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nRelatedContent.displayName = 'RelatedContent'\n\nexport { RelatedContent }\n"],"names":["ProductBadge","productName","hasDot","finalProductName","productBrand","jsx","Badge","s","Thumbnail","src","alt","Image","useMDSImage","PersonThumbnail","LogoThumbnail","Root","forwardRef","props","ref","withArrow","link","clickHandler","isExternal","children","className","ariaLabel","jsxs","MDSCard","classNames","IconArrowRight24","Meta","items","Text","item","stableIdx","isLastItem","Fragment","Content","Heading","as","ProductBadges","badges","badge","Description","CardPrimitives","UnifiedCard","heading","meta","productBadges","thumbnail","NewsroomCard","date","category","iconMap","IconTwitter16","IconGithub16","IconLinkedin16","IconMail16","Icon","memo","url","protocol","host","icon","IconLink16","PersonCard","name","location","bio","ResourceCard","PromoCard","description","eyebrow","PartnerCard","competencyBadges","logo","hasProductBadges","hasCompetencyBadges","competencyBadge","makeNormalizer","allowed","defaults","list","defaultAliases","v","defaultTransform","core","input","opts","aliases","fallback","transform","candidate","bound","makeNormalizerSet","map","call","out","k","key","n","base","all","DEFAULT_APPEARANCE","DEFAULT_BACKGROUND","DEFAULT_PADDING_TOP","DEFAULT_PADDING_BOTTOM","LAYOUT_APPEARANCES","LAYOUT_BACKGROUNDS","LAYOUT_PADDING","normalizeLayoutProps","Layout","appearance","background","paddingBottom","paddingTop","capitalize","value","DEFAULT_SIZE","DEFAULT_COLOR","DEFAULT_PRODUCT","HCP_PRODUCT_EXCEPTIONS","PRODUCT_LOGO_SIZES","PRODUCT_LOGO_COLORS","PRODUCT_LOGO_PRODUCTS","normalizeProductLogoProps","ProductLogo","size","color","product","PRODUCT_LOGO_MAP","FlightIcon","RelatedContent","headline","cards","cta","Link","useMDSLink","card","i","Card"],"mappings":"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"}