@hashicorp/mds-react 0.9.1 → 0.9.3

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 (358) hide show
  1. package/components/index.js +73 -115
  2. package/components/index.js.map +1 -1
  3. package/index-B9mPJh9w.js +579 -0
  4. package/index-B9mPJh9w.js.map +1 -0
  5. package/index-BHBlMMNF.js +16 -0
  6. package/index-BHBlMMNF.js.map +1 -0
  7. package/index-C4GBbW3N.js +3567 -0
  8. package/index-C4GBbW3N.js.map +1 -0
  9. package/{utils/mds-context/index.js → index-DBjAbGt7.js} +19 -20
  10. package/index-DBjAbGt7.js.map +1 -0
  11. package/index-WkGIywHj.js +767 -0
  12. package/index-WkGIywHj.js.map +1 -0
  13. package/index.js +100 -153
  14. package/index.js.map +1 -1
  15. package/package.json +1 -1
  16. package/patterns/index.js +22 -32
  17. package/patterns/index.js.map +1 -1
  18. package/style.css +1 -0
  19. package/styles/mixins/button.scss +1 -6
  20. package/use-screen-size-BOnkX_K-.js +9 -0
  21. package/use-screen-size-BOnkX_K-.js.map +1 -0
  22. package/utils/index.js +7 -7
  23. package/assets/style-DD7hNwDr.css +0 -1
  24. package/components/accordion/index.js +0 -9
  25. package/components/accordion/index.js.map +0 -1
  26. package/components/accordion/item/button.js +0 -44
  27. package/components/accordion/item/button.js.map +0 -1
  28. package/components/accordion/item/index.js +0 -59
  29. package/components/accordion/item/index.js.map +0 -1
  30. package/components/accordion/style.module.scss.js +0 -24
  31. package/components/accordion/style.module.scss.js.map +0 -1
  32. package/components/alert/alert.module.scss.js +0 -29
  33. package/components/alert/alert.module.scss.js.map +0 -1
  34. package/components/alert/icon.js +0 -34
  35. package/components/alert/icon.js.map +0 -1
  36. package/components/alert/index.js +0 -97
  37. package/components/alert/index.js.map +0 -1
  38. package/components/badge/index.js +0 -53
  39. package/components/badge/index.js.map +0 -1
  40. package/components/badge/style.module.scss.js +0 -22
  41. package/components/badge/style.module.scss.js.map +0 -1
  42. package/components/badge-count/index.js +0 -29
  43. package/components/badge-count/index.js.map +0 -1
  44. package/components/badge-count/style.module.scss.js +0 -15
  45. package/components/badge-count/style.module.scss.js.map +0 -1
  46. package/components/breadcrumbs/index.js +0 -38
  47. package/components/breadcrumbs/index.js.map +0 -1
  48. package/components/breadcrumbs/item/index.js +0 -32
  49. package/components/breadcrumbs/item/index.js.map +0 -1
  50. package/components/breadcrumbs/style.module.scss.js +0 -27
  51. package/components/breadcrumbs/style.module.scss.js.map +0 -1
  52. package/components/breadcrumbs/truncation-button/index.js +0 -25
  53. package/components/breadcrumbs/truncation-button/index.js.map +0 -1
  54. package/components/button/index.js +0 -119
  55. package/components/button/index.js.map +0 -1
  56. package/components/button/styles.module.scss.js +0 -32
  57. package/components/button/styles.module.scss.js.map +0 -1
  58. package/components/card/card-thumbnail/card-thumbnail.module.css.js +0 -8
  59. package/components/card/card-thumbnail/card-thumbnail.module.css.js.map +0 -1
  60. package/components/card/card-thumbnail/index.js +0 -23
  61. package/components/card/card-thumbnail/index.js.map +0 -1
  62. package/components/card/index.js +0 -157
  63. package/components/card/index.js.map +0 -1
  64. package/components/card/styles.module.css.js +0 -29
  65. package/components/card/styles.module.css.js.map +0 -1
  66. package/components/code-block/code-block.module.scss.js +0 -34
  67. package/components/code-block/code-block.module.scss.js.map +0 -1
  68. package/components/code-block/code-lines/index.js +0 -59
  69. package/components/code-block/code-lines/index.js.map +0 -1
  70. package/components/code-block/code-lines/utils/split-html-into-lines.js +0 -19
  71. package/components/code-block/code-lines/utils/split-html-into-lines.js.map +0 -1
  72. package/components/code-block/code-lines/utils/split-jsx-into-lines.js +0 -31
  73. package/components/code-block/code-lines/utils/split-jsx-into-lines.js.map +0 -1
  74. package/components/code-block/hidden-copy-content/index.js +0 -13
  75. package/components/code-block/hidden-copy-content/index.js.map +0 -1
  76. package/components/code-block/index.js +0 -88
  77. package/components/code-block/index.js.map +0 -1
  78. package/components/code-block/utils/parse-highlighted-lines.js +0 -39
  79. package/components/code-block/utils/parse-highlighted-lines.js.map +0 -1
  80. package/components/code-block/utils/process-snippet.js +0 -20
  81. package/components/code-block/utils/process-snippet.js.map +0 -1
  82. package/components/code-block/utils/shellwords.js +0 -33
  83. package/components/code-block/utils/shellwords.js.map +0 -1
  84. package/components/combo-box-primitive/index.js +0 -302
  85. package/components/combo-box-primitive/index.js.map +0 -1
  86. package/components/dialog-primitive/dialog.module.scss.js +0 -12
  87. package/components/dialog-primitive/dialog.module.scss.js.map +0 -1
  88. package/components/dialog-primitive/index.js +0 -15
  89. package/components/dialog-primitive/index.js.map +0 -1
  90. package/components/disclosure-primitive/index.js +0 -57
  91. package/components/disclosure-primitive/index.js.map +0 -1
  92. package/components/disclosure-primitive/styles.module.css.js +0 -7
  93. package/components/disclosure-primitive/styles.module.css.js.map +0 -1
  94. package/components/disclosure-primitive/use-disclosure-primitive.js +0 -17
  95. package/components/disclosure-primitive/use-disclosure-primitive.js.map +0 -1
  96. package/components/dismiss-button/index.js +0 -22
  97. package/components/dismiss-button/index.js.map +0 -1
  98. package/components/dismiss-button/styles.module.scss.js +0 -7
  99. package/components/dismiss-button/styles.module.scss.js.map +0 -1
  100. package/components/dropdown/index.js +0 -79
  101. package/components/dropdown/index.js.map +0 -1
  102. package/components/dropdown/list-item/custom.js +0 -9
  103. package/components/dropdown/list-item/custom.js.map +0 -1
  104. package/components/dropdown/list-item/index.js +0 -14
  105. package/components/dropdown/list-item/index.js.map +0 -1
  106. package/components/dropdown/list-item/interactive.js +0 -49
  107. package/components/dropdown/list-item/interactive.js.map +0 -1
  108. package/components/dropdown/list-item/separator.js +0 -17
  109. package/components/dropdown/list-item/separator.js.map +0 -1
  110. package/components/dropdown/list-item/styles.module.css.js +0 -26
  111. package/components/dropdown/list-item/styles.module.css.js.map +0 -1
  112. package/components/dropdown/list-item/title.js +0 -9
  113. package/components/dropdown/list-item/title.js.map +0 -1
  114. package/components/dropdown/styles.module.css.js +0 -24
  115. package/components/dropdown/styles.module.css.js.map +0 -1
  116. package/components/dropdown/toggle-button/index.js +0 -54
  117. package/components/dropdown/toggle-button/index.js.map +0 -1
  118. package/components/dropdown/toggle-button/styles.module.scss.js +0 -14
  119. package/components/dropdown/toggle-button/styles.module.scss.js.map +0 -1
  120. package/components/flight-icon/flight-icon.module.css.js +0 -12
  121. package/components/flight-icon/flight-icon.module.css.js.map +0 -1
  122. package/components/flight-icon/index.js +0 -58
  123. package/components/flight-icon/index.js.map +0 -1
  124. package/components/form/checkbox/form-checkbox.module.css.js +0 -8
  125. package/components/form/checkbox/form-checkbox.module.css.js.map +0 -1
  126. package/components/form/checkbox/index.js +0 -109
  127. package/components/form/checkbox/index.js.map +0 -1
  128. package/components/form/error/form-error.module.css.js +0 -14
  129. package/components/form/error/form-error.module.css.js.map +0 -1
  130. package/components/form/error/index.js +0 -22
  131. package/components/form/error/index.js.map +0 -1
  132. package/components/form/field/form-field.module.css.js +0 -17
  133. package/components/form/field/form-field.module.css.js.map +0 -1
  134. package/components/form/field/index.js +0 -46
  135. package/components/form/field/index.js.map +0 -1
  136. package/components/form/fieldset/form-fieldset.module.css.js +0 -19
  137. package/components/form/fieldset/form-fieldset.module.css.js.map +0 -1
  138. package/components/form/fieldset/index.js +0 -65
  139. package/components/form/fieldset/index.js.map +0 -1
  140. package/components/form/file-input/form-file-input.module.scss.js +0 -7
  141. package/components/form/file-input/form-file-input.module.scss.js.map +0 -1
  142. package/components/form/file-input/index.js +0 -68
  143. package/components/form/file-input/index.js.map +0 -1
  144. package/components/form/helper-text/form-helper-text.module.css.js +0 -7
  145. package/components/form/helper-text/form-helper-text.module.css.js.map +0 -1
  146. package/components/form/helper-text/index.js +0 -22
  147. package/components/form/helper-text/index.js.map +0 -1
  148. package/components/form/indicator/form-indicator.module.css.js +0 -8
  149. package/components/form/indicator/form-indicator.module.css.js.map +0 -1
  150. package/components/form/indicator/index.js +0 -23
  151. package/components/form/indicator/index.js.map +0 -1
  152. package/components/form/label/form-label.module.css.js +0 -10
  153. package/components/form/label/form-label.module.css.js.map +0 -1
  154. package/components/form/label/index.js +0 -33
  155. package/components/form/label/index.js.map +0 -1
  156. package/components/form/legend/form-legend.module.css.js +0 -10
  157. package/components/form/legend/form-legend.module.css.js.map +0 -1
  158. package/components/form/legend/index.js +0 -19
  159. package/components/form/legend/index.js.map +0 -1
  160. package/components/form/radio/form-radio.module.scss.js +0 -8
  161. package/components/form/radio/form-radio.module.scss.js.map +0 -1
  162. package/components/form/radio/index.js +0 -100
  163. package/components/form/radio/index.js.map +0 -1
  164. package/components/form/radio-card/description.js +0 -10
  165. package/components/form/radio-card/description.js.map +0 -1
  166. package/components/form/radio-card/form-radio-card.module.css.js +0 -30
  167. package/components/form/radio-card/form-radio-card.module.css.js.map +0 -1
  168. package/components/form/radio-card/group.js +0 -31
  169. package/components/form/radio-card/group.js.map +0 -1
  170. package/components/form/radio-card/index.js +0 -67
  171. package/components/form/radio-card/index.js.map +0 -1
  172. package/components/form/radio-card/label.js +0 -10
  173. package/components/form/radio-card/label.js.map +0 -1
  174. package/components/form/select/form-select.module.css.js +0 -14
  175. package/components/form/select/form-select.module.css.js.map +0 -1
  176. package/components/form/select/index.js +0 -79
  177. package/components/form/select/index.js.map +0 -1
  178. package/components/form/super-select/form-super-select.module.css.js +0 -22
  179. package/components/form/super-select/form-super-select.module.css.js.map +0 -1
  180. package/components/form/super-select/index.js +0 -170
  181. package/components/form/super-select/index.js.map +0 -1
  182. package/components/form/text-input/index.js +0 -91
  183. package/components/form/text-input/index.js.map +0 -1
  184. package/components/form/text-input/styles.module.css.js +0 -15
  185. package/components/form/text-input/styles.module.css.js.map +0 -1
  186. package/components/form/textarea/form-textarea.module.css.js +0 -14
  187. package/components/form/textarea/form-textarea.module.css.js.map +0 -1
  188. package/components/form/textarea/index.js +0 -74
  189. package/components/form/textarea/index.js.map +0 -1
  190. package/components/form/toggle/form-toggle.module.scss.js +0 -12
  191. package/components/form/toggle/form-toggle.module.scss.js.map +0 -1
  192. package/components/form/toggle/index.js +0 -102
  193. package/components/form/toggle/index.js.map +0 -1
  194. package/components/hds/wrappers/tooltip.js +0 -51
  195. package/components/hds/wrappers/tooltip.js.map +0 -1
  196. package/components/icon-tile/index.js +0 -50
  197. package/components/icon-tile/index.js.map +0 -1
  198. package/components/icon-tile/style.module.scss.js +0 -29
  199. package/components/icon-tile/style.module.scss.js.map +0 -1
  200. package/components/inline-link/index.js +0 -33
  201. package/components/inline-link/index.js.map +0 -1
  202. package/components/inline-link/inline-link.module.css.js +0 -11
  203. package/components/inline-link/inline-link.module.css.js.map +0 -1
  204. package/components/interactive/index.js +0 -59
  205. package/components/interactive/index.js.map +0 -1
  206. package/components/legacy-button/index.js +0 -65
  207. package/components/legacy-button/index.js.map +0 -1
  208. package/components/legacy-button/utils.js +0 -39
  209. package/components/legacy-button/utils.js.map +0 -1
  210. package/components/menu-primitive/index.js +0 -68
  211. package/components/menu-primitive/index.js.map +0 -1
  212. package/components/menu-primitive/styles.module.css.js +0 -12
  213. package/components/menu-primitive/styles.module.css.js.map +0 -1
  214. package/components/menu-primitive/use-menu-primitive.js +0 -17
  215. package/components/menu-primitive/use-menu-primitive.js.map +0 -1
  216. package/components/modal/index.js +0 -61
  217. package/components/modal/index.js.map +0 -1
  218. package/components/modal/modal.module.css.js +0 -8
  219. package/components/modal/modal.module.css.js.map +0 -1
  220. package/components/modal/use-modal.js +0 -17
  221. package/components/modal/use-modal.js.map +0 -1
  222. package/components/separator/index.js +0 -15
  223. package/components/separator/index.js.map +0 -1
  224. package/components/separator/separator.module.css.js +0 -10
  225. package/components/separator/separator.module.css.js.map +0 -1
  226. package/components/standalone-link/index.js +0 -54
  227. package/components/standalone-link/index.js.map +0 -1
  228. package/components/standalone-link/styles.module.scss.js +0 -17
  229. package/components/standalone-link/styles.module.scss.js.map +0 -1
  230. package/components/table/index.js +0 -52
  231. package/components/table/index.js.map +0 -1
  232. package/components/table/table.module.scss.js +0 -33
  233. package/components/table/table.module.scss.js.map +0 -1
  234. package/components/table/td.js +0 -28
  235. package/components/table/td.js.map +0 -1
  236. package/components/table/th-button-tooltip.js +0 -24
  237. package/components/table/th-button-tooltip.js.map +0 -1
  238. package/components/table/th.js +0 -43
  239. package/components/table/th.js.map +0 -1
  240. package/components/table/tr.js +0 -9
  241. package/components/table/tr.js.map +0 -1
  242. package/components/table/utils.js +0 -28
  243. package/components/table/utils.js.map +0 -1
  244. package/components/tabs/index.js +0 -117
  245. package/components/tabs/index.js.map +0 -1
  246. package/components/tabs/tab-panel.js +0 -35
  247. package/components/tabs/tab-panel.js.map +0 -1
  248. package/components/tabs/tab.js +0 -70
  249. package/components/tabs/tab.js.map +0 -1
  250. package/components/tabs/tabs.module.scss.js +0 -22
  251. package/components/tabs/tabs.module.scss.js.map +0 -1
  252. package/components/tabs/use-tabs-context.js +0 -16
  253. package/components/tabs/use-tabs-context.js.map +0 -1
  254. package/components/text/index.js +0 -112
  255. package/components/text/index.js.map +0 -1
  256. package/components/text/style.module.scss.js +0 -9
  257. package/components/text/style.module.scss.js.map +0 -1
  258. package/components/visualizations/bar-chart/horizontal-chart/dataset-value/index.js +0 -62
  259. package/components/visualizations/bar-chart/horizontal-chart/dataset-value/index.js.map +0 -1
  260. package/components/visualizations/bar-chart/horizontal-chart/dataset-value/style.module.css.js +0 -20
  261. package/components/visualizations/bar-chart/horizontal-chart/dataset-value/style.module.css.js.map +0 -1
  262. package/components/visualizations/bar-chart/horizontal-chart/index.js +0 -104
  263. package/components/visualizations/bar-chart/horizontal-chart/index.js.map +0 -1
  264. package/components/visualizations/bar-chart/horizontal-chart/legend/index.js +0 -13
  265. package/components/visualizations/bar-chart/horizontal-chart/legend/index.js.map +0 -1
  266. package/components/visualizations/bar-chart/horizontal-chart/legend/style.module.css.js +0 -14
  267. package/components/visualizations/bar-chart/horizontal-chart/legend/style.module.css.js.map +0 -1
  268. package/components/visualizations/bar-chart/horizontal-chart/style.module.css.js +0 -28
  269. package/components/visualizations/bar-chart/horizontal-chart/style.module.css.js.map +0 -1
  270. package/components/visualizations/bar-chart/index.js +0 -37
  271. package/components/visualizations/bar-chart/index.js.map +0 -1
  272. package/components/visualizations/bar-chart/style.module.css.js +0 -12
  273. package/components/visualizations/bar-chart/style.module.css.js.map +0 -1
  274. package/components/visualizations/donut-chart/components/arc-tooltip/index.js +0 -14
  275. package/components/visualizations/donut-chart/components/arc-tooltip/index.js.map +0 -1
  276. package/components/visualizations/donut-chart/components/arc-tooltip/styles.module.css.js +0 -10
  277. package/components/visualizations/donut-chart/components/arc-tooltip/styles.module.css.js.map +0 -1
  278. package/components/visualizations/donut-chart/components/external-arc-label/index.js +0 -58
  279. package/components/visualizations/donut-chart/components/external-arc-label/index.js.map +0 -1
  280. package/components/visualizations/donut-chart/components/external-arc-label/styles.module.css.js +0 -16
  281. package/components/visualizations/donut-chart/components/external-arc-label/styles.module.css.js.map +0 -1
  282. package/components/visualizations/donut-chart/components/internal-arc-label/index.js +0 -42
  283. package/components/visualizations/donut-chart/components/internal-arc-label/index.js.map +0 -1
  284. package/components/visualizations/donut-chart/components/internal-arc-label/styles.module.css.js +0 -14
  285. package/components/visualizations/donut-chart/components/internal-arc-label/styles.module.css.js.map +0 -1
  286. package/components/visualizations/donut-chart/index.js +0 -90
  287. package/components/visualizations/donut-chart/index.js.map +0 -1
  288. package/components/visualizations/donut-chart/styles.module.css.js +0 -20
  289. package/components/visualizations/donut-chart/styles.module.css.js.map +0 -1
  290. package/hooks/use-media-query/index.js +0 -16
  291. package/hooks/use-media-query/index.js.map +0 -1
  292. package/patterns/card/newsroom-card/index.js +0 -26
  293. package/patterns/card/newsroom-card/index.js.map +0 -1
  294. package/patterns/card/newsroom-card/style.module.css.js +0 -8
  295. package/patterns/card/newsroom-card/style.module.css.js.map +0 -1
  296. package/patterns/card/partner-card/index.js +0 -42
  297. package/patterns/card/partner-card/index.js.map +0 -1
  298. package/patterns/card/partner-card/style.module.css.js +0 -12
  299. package/patterns/card/partner-card/style.module.css.js.map +0 -1
  300. package/patterns/card/person-card/index.js +0 -52
  301. package/patterns/card/person-card/index.js.map +0 -1
  302. package/patterns/card/person-card/style.module.css.js +0 -12
  303. package/patterns/card/person-card/style.module.css.js.map +0 -1
  304. package/patterns/card/primitives.js +0 -77
  305. package/patterns/card/primitives.js.map +0 -1
  306. package/patterns/card/promo-card/index.js +0 -36
  307. package/patterns/card/promo-card/index.js.map +0 -1
  308. package/patterns/card/resource-card/index.js +0 -26
  309. package/patterns/card/resource-card/index.js.map +0 -1
  310. package/patterns/card/style.module.css.js +0 -30
  311. package/patterns/card/style.module.css.js.map +0 -1
  312. package/patterns/card/thumbnails/index.js +0 -25
  313. package/patterns/card/thumbnails/index.js.map +0 -1
  314. package/patterns/card/unified-card/index.js +0 -37
  315. package/patterns/card/unified-card/index.js.map +0 -1
  316. package/patterns/copy-button/clipboard.js +0 -78
  317. package/patterns/copy-button/clipboard.js.map +0 -1
  318. package/patterns/copy-button/index.js +0 -57
  319. package/patterns/copy-button/index.js.map +0 -1
  320. package/patterns/copy-button/style.module.css.js +0 -13
  321. package/patterns/copy-button/style.module.css.js.map +0 -1
  322. package/patterns/layout/index.js +0 -47
  323. package/patterns/layout/index.js.map +0 -1
  324. package/patterns/layout/layout.module.css.js +0 -20
  325. package/patterns/layout/layout.module.css.js.map +0 -1
  326. package/patterns/product-badge/index.js +0 -22
  327. package/patterns/product-badge/index.js.map +0 -1
  328. package/patterns/product-badge/style.module.css.js +0 -8
  329. package/patterns/product-badge/style.module.css.js.map +0 -1
  330. package/patterns/product-logo/index.js +0 -130
  331. package/patterns/product-logo/index.js.map +0 -1
  332. package/patterns/product-logo/product-logo.module.css.js +0 -13
  333. package/patterns/product-logo/product-logo.module.css.js.map +0 -1
  334. package/patterns/related-content/index.js +0 -65
  335. package/patterns/related-content/index.js.map +0 -1
  336. package/patterns/related-content/style.module.css.js +0 -22
  337. package/patterns/related-content/style.module.css.js.map +0 -1
  338. package/utils/get-contrast-yiq.js +0 -13
  339. package/utils/get-contrast-yiq.js.map +0 -1
  340. package/utils/hooks/use-screen-size.js +0 -10
  341. package/utils/hooks/use-screen-size.js.map +0 -1
  342. package/utils/i18n/constants/index.js +0 -98
  343. package/utils/i18n/constants/index.js.map +0 -1
  344. package/utils/i18n/helpers/locale-provider.js +0 -9
  345. package/utils/i18n/helpers/locale-provider.js.map +0 -1
  346. package/utils/i18n/helpers/to-smart-sentence-case.js +0 -12
  347. package/utils/i18n/helpers/to-smart-sentence-case.js.map +0 -1
  348. package/utils/i18n/helpers/to-smart-title-case.js +0 -10
  349. package/utils/i18n/helpers/to-smart-title-case.js.map +0 -1
  350. package/utils/i18n/helpers/use-locale.js +0 -14
  351. package/utils/i18n/helpers/use-locale.js.map +0 -1
  352. package/utils/i18n/index.js +0 -41
  353. package/utils/i18n/index.js.map +0 -1
  354. package/utils/i18n/index2.js +0 -33
  355. package/utils/i18n/index2.js.map +0 -1
  356. package/utils/make-normalizer/index.js +0 -34
  357. package/utils/make-normalizer/index.js.map +0 -1
  358. package/utils/mds-context/index.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"layout.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
@@ -1,22 +0,0 @@
1
- import { jsx as c } from "react/jsx-runtime";
2
- import { Badge as d } from "../../components/badge/index.js";
3
- import s from "./style.module.css.js";
4
- const e = ({ productName: o, hasDot: a }) => {
5
- const r = o.replace("hashicorp", "HashiCorp"), t = r === "HashiCorp cloud platform" ? "hashicorp" : o;
6
- return /* @__PURE__ */ c(
7
- d,
8
- {
9
- className: s.badge,
10
- text: r,
11
- ...a && {
12
- icon: "dot",
13
- iconColor: `var(--mds-color-${t}-brand)`
14
- }
15
- }
16
- );
17
- };
18
- e.displayName = "ProductBadge";
19
- export {
20
- e as ProductBadge
21
- };
22
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/patterns/product-badge/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"],"names":["ProductBadge","productName","hasDot","finalProductName","productBrand","jsx","Badge"],"mappings":";;;AAmBA,MAAMA,IAAe,CAAC,EAAE,aAAAC,GAAa,QAAAC,QAAgC;AACpE,QAAMC,IAAmBF,EAAY,QAAQ,aAAa,WAAW,GAE/DG,IACLD,MAAqB,6BAA6B,cAAcF;AAEjE,SACC,gBAAAI;AAAA,IAACC;AAAA,IAAA;AAAA,MACA,WAAW,EAAE;AAAA,MACb,MAAMH;AAAA,MACL,GAAID,KAAU;AAAA,QACd,MAAM;AAAA,QACN,WAAW,mBAAmBE,CAAY;AAAA,MAAA;AAAA,IAC3C;AAAA,EAAA;AAGH;AAEAJ,EAAa,cAAc;"}
@@ -1,8 +0,0 @@
1
- const a = "badge__w7lpk", e = {
2
- badge: a
3
- };
4
- export {
5
- a as badge,
6
- e as default
7
- };
8
- //# sourceMappingURL=style.module.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"style.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -1,130 +0,0 @@
1
- import { jsxs as s, jsx as c } from "react/jsx-runtime";
2
- import p from "classnames";
3
- import { makeNormalizerSet as u, makeNormalizer as t } from "../../utils/make-normalizer/index.js";
4
- import { FlightIcon as v } from "../../components/flight-icon/index.js";
5
- import { Text as i } from "../../components/text/index.js";
6
- import o from "./product-logo.module.css.js";
7
- function h(a) {
8
- return a.charAt(0).toUpperCase() + a.slice(1);
9
- }
10
- const m = "small", d = "primary", O = "hcp", C = [
11
- "vault-radar",
12
- "vault-secrets",
13
- "vault-dedicated"
14
- ], P = ["small", "medium", "large"], f = ["primary", "strong"], D = [
15
- "hcp",
16
- "hashicorp",
17
- "boundary",
18
- "consul",
19
- "nomad",
20
- "packer",
21
- "terraform",
22
- "vault",
23
- "vault-dedicated",
24
- "vault-enterprise",
25
- "vault-radar",
26
- "vault-secrets",
27
- "vagrant",
28
- "waypoint"
29
- ], N = u({
30
- size: t(P, {
31
- fallback: m
32
- }),
33
- color: t(f, {
34
- fallback: d
35
- }),
36
- product: t(D, {
37
- fallback: O
38
- })
39
- }), _ = ({
40
- size: a = m,
41
- color: l = d,
42
- product: r
43
- }) => {
44
- const e = n[r]?.name ?? h(r);
45
- return /* @__PURE__ */ s("div", { className: p(o["product-logo"], o[a]), children: [
46
- /* @__PURE__ */ c(
47
- v,
48
- {
49
- size: a === "small" ? 16 : 24,
50
- name: n[r]?.icon ?? `${r}-color`,
51
- color: n[r]?.color
52
- }
53
- ),
54
- C.includes(r) ? /* @__PURE__ */ s("div", { children: [
55
- /* @__PURE__ */ s(
56
- i.DisplayExpressive,
57
- {
58
- className: o[a],
59
- color: l,
60
- weight: "semibold",
61
- children: [
62
- e.split(" ").slice(0, 2).join(" "),
63
- " "
64
- ]
65
- }
66
- ),
67
- /* @__PURE__ */ c(
68
- i.DisplayExpressive,
69
- {
70
- className: o[a],
71
- color: l,
72
- weight: "regular",
73
- children: e.split(" ").slice(2)[0]
74
- }
75
- )
76
- ] }) : (
77
- // Default to unmodified display of the product name
78
- /* @__PURE__ */ c(
79
- i.DisplayExpressive,
80
- {
81
- className: o[a],
82
- color: l,
83
- weight: "semibold",
84
- children: e
85
- }
86
- )
87
- )
88
- ] });
89
- };
90
- _.displayName = "ProductLogo";
91
- const n = {
92
- hcp: {
93
- icon: "hashicorp-square",
94
- color: "var(--mds-color-hcp-brand)",
95
- name: "HashiCorp Cloud Platform"
96
- },
97
- hashicorp: {
98
- icon: "hashicorp",
99
- color: "var(--mds-color-hashicorp-brand)",
100
- name: "HashiCorp"
101
- },
102
- "vault-radar": {
103
- icon: "vault-square",
104
- color: "var(--mds-color-vault-radar-brand)",
105
- name: "HCP Vault Radar"
106
- },
107
- "vault-secrets": {
108
- icon: "vault-square",
109
- color: "var(--mds-color-vault-secrets-brand)",
110
- name: "HCP Vault Secrets"
111
- },
112
- "vault-dedicated": {
113
- icon: "vault-fill",
114
- color: "var(--mds-color-vault-secrets-brand)",
115
- name: "HCP Vault Dedicated"
116
- },
117
- "vault-enterprise": {
118
- icon: "vault-fill",
119
- color: "var(--mds-color-vault-secrets-brand)",
120
- name: "Vault Enterprise"
121
- }
122
- };
123
- export {
124
- f as PRODUCT_LOGO_COLORS,
125
- D as PRODUCT_LOGO_PRODUCTS,
126
- P as PRODUCT_LOGO_SIZES,
127
- _ as ProductLogo,
128
- N as normalizeProductLogoProps
129
- };
130
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/patterns/product-logo/index.tsx"],"sourcesContent":["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"],"names":["capitalize","value","DEFAULT_SIZE","DEFAULT_COLOR","DEFAULT_PRODUCT","HCP_PRODUCT_EXCEPTIONS","PRODUCT_LOGO_SIZES","PRODUCT_LOGO_COLORS","PRODUCT_LOGO_PRODUCTS","normalizeProductLogoProps","makeNormalizerSet","makeNormalizer","ProductLogo","size","color","product","productName","PRODUCT_LOGO_MAP","jsxs","classNames","s","jsx","FlightIcon","Text"],"mappings":";;;;;;AAMA,SAASA,EAAWC,GAAe;AAClC,SAAOA,EAAM,OAAO,CAAC,EAAE,gBAAgBA,EAAM,MAAM,CAAC;AACrD;AAEA,MAAMC,IAAe,SACfC,IAAgB,WAChBC,IAAkB,OAElBC,IAAyB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AACD,GAEaC,IAAqB,CAAC,SAAS,UAAU,OAAO,GAChDC,IAAsB,CAAC,WAAW,QAAQ,GAC1CC,IAAwB;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAMaC,IAA4BC,EAAkB;AAAA,EAC1D,MAAMC,EAAeL,GAAoB;AAAA,IACxC,UAAUJ;AAAA,EAAA,CACV;AAAA,EACD,OAAOS,EAAeJ,GAAqB;AAAA,IAC1C,UAAUJ;AAAA,EAAA,CACV;AAAA,EACD,SAASQ,EAAeH,GAAuB;AAAA,IAC9C,UAAUJ;AAAA,EAAA,CACV;AACF,CAAC,GAQYQ,IAAc,CAAC;AAAA,EAC3B,MAAAC,IAAOX;AAAA,EACP,OAAAY,IAAQX;AAAA,EACR,SAAAY;AACD,MAAwB;AACvB,QAAMC,IAAcC,EAAiBF,CAAO,GAAG,QAAQf,EAAWe,CAAO;AAEzE,SACC,gBAAAG,EAAC,OAAA,EAAI,WAAWC,EAAWC,EAAE,cAAc,GAAGA,EAAEP,CAAI,CAAC,GACpD,UAAA;AAAA,IAAA,gBAAAQ;AAAA,MAACC;AAAA,MAAA;AAAA,QACA,MAAMT,MAAS,UAAU,KAAK;AAAA,QAC9B,MAAMI,EAAiBF,CAAO,GAAG,QAAQ,GAAGA,CAAO;AAAA,QACnD,OAAOE,EAAiBF,CAAO,GAAG;AAAA,MAAA;AAAA,IAAA;AAAA,IAElCV,EAAuB,SAASU,CAAO,sBACtC,OAAA,EAEA,UAAA;AAAA,MAAA,gBAAAG;AAAA,QAACK,EAAK;AAAA,QAAL;AAAA,UACA,WAAWH,EAAEP,CAAI;AAAA,UACjB,OAAAC;AAAA,UACA,QAAO;AAAA,UAEN,UAAA;AAAA,YAAAE,EAAY,MAAM,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG;AAAA,YAAG;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,MAGhD,gBAAAK;AAAA,QAACE,EAAK;AAAA,QAAL;AAAA,UACA,WAAWH,EAAEP,CAAI;AAAA,UACjB,OAAAC;AAAA,UACA,QAAO;AAAA,UAEN,YAAY,MAAM,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC;AAAA,QAAA;AAAA,MAAA;AAAA,IACnC,GACD;AAAA;AAAA,MAGA,gBAAAO;AAAA,QAACE,EAAK;AAAA,QAAL;AAAA,UACA,WAAWH,EAAEP,CAAI;AAAA,UACjB,OAAAC;AAAA,UACA,QAAO;AAAA,UAEN,UAAAE;AAAA,QAAA;AAAA,MAAA;AAAA;AAAA,EACF,GAEF;AAEF;AAEAJ,EAAY,cAAc;AAE1B,MAAMK,IAGF;AAAA,EACH,KAAK;AAAA,IACJ,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,EAAA;AAAA,EAEP,WAAW;AAAA,IACV,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,EAAA;AAAA,EAEP,eAAe;AAAA,IACd,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,EAAA;AAAA,EAEP,iBAAiB;AAAA,IAChB,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,EAAA;AAAA,EAEP,mBAAmB;AAAA,IAClB,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,EAAA;AAAA,EAEP,oBAAoB;AAAA,IACnB,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,EAAA;AAER;"}
@@ -1,13 +0,0 @@
1
- const o = "small__Y58kj", l = "medium__2A1Tv", m = "large__ho0Xp", a = {
2
- "product-logo": "product-logo__moaPv",
3
- small: o,
4
- medium: l,
5
- large: m
6
- };
7
- export {
8
- a as default,
9
- m as large,
10
- l as medium,
11
- o as small
12
- };
13
- //# sourceMappingURL=product-logo.module.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"product-logo.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1,65 +0,0 @@
1
- "use client";
2
- import { jsx as t, jsxs as n } from "react/jsx-runtime";
3
- import { Card as h } from "../../components/card/index.js";
4
- import p from "classnames";
5
- import { useMDSLink as f } from "../../utils/mds-context/index.js";
6
- import i from "./style.module.css.js";
7
- import { Text as l } from "../../components/text/index.js";
8
- const u = ({
9
- appearance: a = "transparent",
10
- headline: o,
11
- description: s,
12
- cards: m,
13
- cta: r
14
- }) => {
15
- const d = f();
16
- return /* @__PURE__ */ t(
17
- "div",
18
- {
19
- className: p(i.root, i[a], {
20
- "mds-dark-mode": a === "dark"
21
- }),
22
- children: /* @__PURE__ */ n("div", { className: i.wrapper, children: [
23
- /* @__PURE__ */ n("div", { className: i.textStack, children: [
24
- /* @__PURE__ */ t(
25
- l.DisplayExpressive,
26
- {
27
- tag: "h2",
28
- color: "primary",
29
- className: i.headline,
30
- size: "400",
31
- children: o
32
- }
33
- ),
34
- s ? /* @__PURE__ */ t(l.Body, { size: "300", color: "faint", tag: "p", children: s }) : null
35
- ] }),
36
- /* @__PURE__ */ t("div", { className: i.cards, "data-testid": "wpl-cards-container", children: m.map((e, c) => /* @__PURE__ */ t(
37
- h,
38
- {
39
- href: e.link,
40
- content: {
41
- ...e.thumbnail && {
42
- thumbnail: {
43
- alt: e.thumbnail.alt,
44
- src: e.thumbnail.src,
45
- aspectRatio: "16/9"
46
- }
47
- },
48
- eyebrow: e.meta,
49
- heading: e.heading,
50
- description: e.description,
51
- showArrow: !0
52
- }
53
- },
54
- c
55
- )) }),
56
- r ? /* @__PURE__ */ t("div", { className: i.cta, "data-testid": "wpl-cta-container", children: /* @__PURE__ */ t(d, { href: r.href, children: r.text }) }) : null
57
- ] })
58
- }
59
- );
60
- };
61
- u.displayName = "RelatedContent";
62
- export {
63
- u as RelatedContent
64
- };
65
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/patterns/related-content/index.tsx"],"sourcesContent":["'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":["RelatedContent","appearance","headline","description","cards","cta","jsx","classNames","s","jsxs","Text","card","i","Card","Link"],"mappings":";;;;;;;AASwB,MACvBA,IAAa,CAAA;AAAA,EACb,YAAAC,IAAA;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,OAAAC;AAAA,EACD,KAAAC;AACC,MAAA;AAEA,cACC;AAAA,SAAC,gBAAAC;AAAA,IAAA;AAAA,IAAA;AAAA,MAC6C,WAC3CC,EAAkBC,EAAA,MAAAA,EAAAP,CAAe,GAAA;AAAA,QAClC,iBAAAA,MAAA;AAAA,MAED,CAAA;AAAA,MACC,UAAC,gBAAAQ,EAAA,OAAI,EAAA,WAAaD,EAAA,SACjB,UAAA;AAAA,QAAA,gBAAAC,EAAA,OAAA,EAAA,WAAAD,EAAA,WAAA,UAAA;AAAA,UAAM,gBAAAF;AAAA,YAALI,EAAA;AAAA,YAAA;AAAA,cAEA,KAAA;AAAA,cACA,OAAA;AAAA,cACA,WAAKF,EAAA;AAAA,cAEJ;cAAA,UAAAN;AAAA,YACF;AAAA,UACC;AAAA,cAKF,gBAAAI,EAAAI,EAAA,MAAA,EAAA,MAAA,OAAA,OAAA,SAAA,KAAA,KAAA,UAAAP,EAAA,CAAA,IAAA;AAAA,QAAA,EAAA,CAAA;AAAA,QAGG,gBAAAG,EAAA,OAAA,EAAA,WAAAE,EAAA,OAAA,eAAA,uBAAA,UAAAJ,EAAA,IAAA,CAAAO,GAAAC,MAAA,gBAAAN;AAAA,UAAAO;AAAA,UAAA;AAAA,YAGA,QAAS;AAAA,YAAA;cACc,kBACV;AAAA,gBAAA;kBAEV,KAAKF,EAAK,UAAU;AAAA,kBACpB,iBAAa;AAAA,kBAAA,aAAA;AAAA,gBAEf;AAAA,cACA;AAAA,cACA,SAASA,EAAK;AAAA,cACd,SAAAA,EAAa;AAAA,cACb,aAAWA,EAAA;AAAA,cAAA,WAAA;AAAA,YACZ;AAAA,UAdK;AAAA,UAgBNC;AAAA,QAGD;QAIGP,IACL,gBAAAC,EAAA,OAAA,EAAA,WAAAE,EAAA,KAAA,eAAA,qBAAA,UAAA,gBAAAF,EAAAQ,GAAA,EAAA,MAAAT,EAAA,MAAA,UAAAA,EAAA,KAAA,CAAA,EAAA,CAAA,IAAA;AAAA,MAAA,EAAA,CAAA;AAAA,IACD;AAAA,EAEF;AAEA;;"}
@@ -1,22 +0,0 @@
1
- const t = "root__wY2Kw", a = "transparent__oS97K", r = "wrapper__z6E7B g-grid g-grid-container", c = "textStack__T-LcO", n = "headline__Msi9v", o = "cards__RaaoR", e = "cta__bp4JK", s = "dark__ccH93", _ = {
2
- root: t,
3
- transparent: a,
4
- wrapper: r,
5
- textStack: c,
6
- headline: n,
7
- cards: o,
8
- cta: e,
9
- dark: s
10
- };
11
- export {
12
- o as cards,
13
- e as cta,
14
- s as dark,
15
- _ as default,
16
- n as headline,
17
- t as root,
18
- c as textStack,
19
- a as transparent,
20
- r as wrapper
21
- };
22
- //# sourceMappingURL=style.module.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"style.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -1,13 +0,0 @@
1
- const r = (t) => (t.r * 299 + t.g * 587 + t.b * 114) / 1e3 >= 192 ? "dark" : "light", n = (t) => {
2
- const e = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);
3
- return e ? {
4
- r: parseInt(e[1], 16),
5
- g: parseInt(e[2], 16),
6
- b: parseInt(e[3], 16)
7
- } : { r: 0, g: 0, b: 0 };
8
- };
9
- export {
10
- r as getContrastYIQ,
11
- n as hexToRgb
12
- };
13
- //# sourceMappingURL=get-contrast-yiq.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-contrast-yiq.js","sources":["../../src/utils/get-contrast-yiq.ts"],"sourcesContent":["/**\n * Calculates the contrast of an RGB color and determines whether to use dark or light text.\n * @param rgb - An object containing the red (r), green (g), and blue (b) components of the color.\n * @returns A string indicating whether to use 'dark' or 'light'.\n */\nexport const getContrastYIQ = (rgb: {\n\tr: number\n\tg: number\n\tb: number\n}): string => {\n\t// Calculate the YIQ value using the RGB components\n\tconst yiq = (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000\n\t// If YIQ is greater than or equal to 192, use 'dark', otherwise use 'light'\n\treturn yiq >= 192 ? 'dark' : 'light'\n}\n\n/**\n * Converts a HEX color string to an RGB object.\n * @param hex - The HEX color string (e.g., \"#ffffff\").\n * @returns An object containing the red (r), green (g), and blue (b) components, and black if the HEX string is invalid.\n */\nexport const hexToRgb = (hex: string): { r: number; g: number; b: number } => {\n\t// Extract the RGB components from the HEX string using a regular expression\n\tconst result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex)\n\t// If the HEX string is valid, parse the components and return the RGB object\n\treturn result\n\t\t? {\n\t\t\t\tr: parseInt(result[1], 16),\n\t\t\t\tg: parseInt(result[2], 16),\n\t\t\t\tb: parseInt(result[3], 16),\n\t\t }\n\t\t: { r: 0, g: 0, b: 0 } // Return black if the HEX string is invalid\n}\n"],"names":["getContrastYIQ","rgb","hexToRgb","hex","result"],"mappings":"AAKO,MAAMA,IAAiB,CAACC,OAMjBA,EAAI,IAAI,MAAMA,EAAI,IAAI,MAAMA,EAAI,IAAI,OAAO,OAE1C,MAAM,SAAS,SAQjBC,IAAW,CAACC,MAAqD;AAE7E,QAAMC,IAAS,4CAA4C,KAAKD,CAAG;AAEnE,SAAOC,IACJ;AAAA,IACA,GAAG,SAASA,EAAO,CAAC,GAAG,EAAE;AAAA,IACzB,GAAG,SAASA,EAAO,CAAC,GAAG,EAAE;AAAA,IACzB,GAAG,SAASA,EAAO,CAAC,GAAG,EAAE;AAAA,EAAA,IAEzB,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EAAA;AACrB;"}
@@ -1,10 +0,0 @@
1
- "use client";
2
- import { useMediaQuery as e } from "../../hooks/use-media-query/index.js";
3
- const t = () => e("(max-width: 768px)"), m = () => e("(min-width: 768px) and (max-width: 1119px)"), s = () => e("(min-width: 768px)"), d = () => e("(min-width: 1120px)");
4
- export {
5
- d as useLarge,
6
- m as useMedium,
7
- s as useMediumUp,
8
- t as useSmall
9
- };
10
- //# sourceMappingURL=use-screen-size.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-screen-size.js","sources":["../../../src/utils/hooks/use-screen-size.ts"],"sourcesContent":["'use client'\n\nimport { useMediaQuery } from '@web/hooks/use-media-query'\n\n// ref: https://github.com/hashicorp/web/blob/main/packages/mds-tokens/src/custom-media.css\nconst useSmall = () => useMediaQuery('(max-width: 768px)')\nconst useMedium = () =>\n\tuseMediaQuery('(min-width: 768px) and (max-width: 1119px)')\nconst useMediumUp = () => useMediaQuery('(min-width: 768px)')\nconst useLarge = () => useMediaQuery('(min-width: 1120px)')\n\nexport { useSmall, useMedium, useMediumUp, useLarge }\n"],"names":["useSmall","useMediaQuery","useMedium","useMediumUp"],"mappings":";;AAMA,MAAMA,IAAA,MAAYC,EACjB,oBAAc,GACTC,IAAA,MAAcD,EAAM,4CAAkC,GACtDE,IAAW,MAAMF,EAAc,oBAAqB;"}
@@ -1,98 +0,0 @@
1
- const e = "en", n = {
2
- en: /* @__PURE__ */ new Set([
3
- "a",
4
- "an",
5
- "and",
6
- "as",
7
- "at",
8
- "but",
9
- "by",
10
- "for",
11
- "in",
12
- "nor",
13
- "of",
14
- "on",
15
- "or",
16
- "so",
17
- "the",
18
- "to",
19
- "up",
20
- "yet"
21
- ]),
22
- de: /* @__PURE__ */ new Set(),
23
- // Capitalization rules in German don't suppress small words.
24
- es: /* @__PURE__ */ new Set([
25
- "el",
26
- "la",
27
- "los",
28
- "las",
29
- "un",
30
- "una",
31
- "unos",
32
- "unas",
33
- "y",
34
- "o",
35
- "pero",
36
- "de",
37
- "del",
38
- "al",
39
- "en",
40
- "por",
41
- "para",
42
- "con"
43
- ]),
44
- fr: /* @__PURE__ */ new Set([
45
- "le",
46
- "la",
47
- "les",
48
- "un",
49
- "une",
50
- "et",
51
- "de",
52
- "du",
53
- "des",
54
- "en",
55
- "à",
56
- "au",
57
- "aux",
58
- "pour",
59
- "avec"
60
- ]),
61
- ja: /* @__PURE__ */ new Set(),
62
- // Japanese doesn't use title casing; characters are not case-sensitive
63
- ko: /* @__PURE__ */ new Set(),
64
- // Korean doesn't use casing
65
- pt: /* @__PURE__ */ new Set([
66
- "o",
67
- "a",
68
- "os",
69
- "as",
70
- "um",
71
- "uma",
72
- "uns",
73
- "umas",
74
- "e",
75
- "ou",
76
- "mas",
77
- "de",
78
- "do",
79
- "da",
80
- "dos",
81
- "das",
82
- "em",
83
- "no",
84
- "na",
85
- "nos",
86
- "nas",
87
- "por",
88
- "para",
89
- "com"
90
- ]),
91
- id: /* @__PURE__ */ new Set()
92
- // ! TODO Determine Indonesian's small word rules, and apply them here
93
- };
94
- export {
95
- e as DEFAULT_LOCALE,
96
- n as smallWordsByLocale
97
- };
98
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../utils/i18n/constants/index.ts"],"sourcesContent":["import type { SupportedLocale } from '../types'\n\nexport const DEFAULT_LOCALE = 'en'\n\nexport const LOCALE_LANGUAGE_MAP = {\n\ten: 'English',\n\tfr: 'Français',\n\tde: 'Deutsch',\n\tja: '日本語',\n\tko: '한국어',\n\tpt: 'Português',\n\tes: 'Español',\n\tid: 'Bahasa Indonesia',\n}\n\nexport const SUPPORTED_LOCALES = Object.keys(\n\tLOCALE_LANGUAGE_MAP\n) as SupportedLocale[]\n\nexport const smallWordsByLocale: Record<SupportedLocale, Set<string>> = {\n\ten: new Set([\n\t\t'a',\n\t\t'an',\n\t\t'and',\n\t\t'as',\n\t\t'at',\n\t\t'but',\n\t\t'by',\n\t\t'for',\n\t\t'in',\n\t\t'nor',\n\t\t'of',\n\t\t'on',\n\t\t'or',\n\t\t'so',\n\t\t'the',\n\t\t'to',\n\t\t'up',\n\t\t'yet',\n\t]),\n\tde: new Set(), // Capitalization rules in German don't suppress small words.\n\tes: new Set([\n\t\t'el',\n\t\t'la',\n\t\t'los',\n\t\t'las',\n\t\t'un',\n\t\t'una',\n\t\t'unos',\n\t\t'unas',\n\t\t'y',\n\t\t'o',\n\t\t'pero',\n\t\t'de',\n\t\t'del',\n\t\t'al',\n\t\t'en',\n\t\t'por',\n\t\t'para',\n\t\t'con',\n\t]),\n\tfr: new Set([\n\t\t'le',\n\t\t'la',\n\t\t'les',\n\t\t'un',\n\t\t'une',\n\t\t'et',\n\t\t'de',\n\t\t'du',\n\t\t'des',\n\t\t'en',\n\t\t'à',\n\t\t'au',\n\t\t'aux',\n\t\t'pour',\n\t\t'avec',\n\t]),\n\tja: new Set(), // Japanese doesn't use title casing; characters are not case-sensitive\n\tko: new Set(), // Korean doesn't use casing\n\tpt: new Set([\n\t\t'o',\n\t\t'a',\n\t\t'os',\n\t\t'as',\n\t\t'um',\n\t\t'uma',\n\t\t'uns',\n\t\t'umas',\n\t\t'e',\n\t\t'ou',\n\t\t'mas',\n\t\t'de',\n\t\t'do',\n\t\t'da',\n\t\t'dos',\n\t\t'das',\n\t\t'em',\n\t\t'no',\n\t\t'na',\n\t\t'nos',\n\t\t'nas',\n\t\t'por',\n\t\t'para',\n\t\t'com',\n\t]),\n\tid: new Set(), // ! TODO Determine Indonesian's small word rules, and apply them here\n}\n"],"names":["DEFAULT_LOCALE","smallWordsByLocale"],"mappings":"AAEO,MAAMA,IAAiB,MAiBjBC,IAA2D;AAAA,EACvE,wBAAQ,IAAI;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACA;AAAA,EACD,wBAAQ,IAAA;AAAA;AAAA,EACR,wBAAQ,IAAI;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACA;AAAA,EACD,wBAAQ,IAAI;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACA;AAAA,EACD,wBAAQ,IAAA;AAAA;AAAA,EACR,wBAAQ,IAAA;AAAA;AAAA,EACR,wBAAQ,IAAI;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACA;AAAA,EACD,wBAAQ,IAAA;AAAA;AACT;"}
@@ -1,9 +0,0 @@
1
- "use client";
2
- import { createContext as t } from "react";
3
- const o = t(
4
- void 0
5
- );
6
- export {
7
- o as LocaleContext
8
- };
9
- //# sourceMappingURL=locale-provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"locale-provider.js","sources":["../../../../../utils/i18n/helpers/locale-provider.tsx"],"sourcesContent":["'use client'\n\nimport { createContext, type PropsWithChildren } from 'react'\nimport type { SupportedLocale } from '../types'\nimport { isSupportedLocale } from './is-supported-locale'\nimport { DEFAULT_LOCALE } from '../constants'\n\nfunction resolveLocale(input: string): SupportedLocale {\n\treturn isSupportedLocale(input) ? input : DEFAULT_LOCALE\n}\n\ntype LocaleContextValue = {\n\tlocale: SupportedLocale\n}\n\ninterface LocaleProviderProps extends PropsWithChildren {\n\t/**\n\t * Supported locales can be found in `SUPPORTED_LOCALES`.\n\t */\n\tlocale: string\n}\n\nexport const LocaleContext = createContext<LocaleContextValue | undefined>(\n\tundefined\n)\n\nexport const LocaleProvider = ({ locale, children }: LocaleProviderProps) => {\n\tconst resolvedLocale = resolveLocale(locale)\n\n\treturn (\n\t\t<LocaleContext.Provider value={{ locale: resolvedLocale }}>\n\t\t\t{children}\n\t\t</LocaleContext.Provider>\n\t)\n}\n"],"names":["LocaleContext","createContext"],"mappings":";;AAsB6B,MAC5BA,IAAAC;AAAA,EACD;;"}
@@ -1,12 +0,0 @@
1
- function o(t, r) {
2
- if (r === "ja" || r === "ko")
3
- return t;
4
- const e = t.match(/^(\s*[\p{P}\p{Zs}]*)?(\p{L})(.*)$/u);
5
- if (!e) return t;
6
- const [, n, s, a] = e;
7
- return (n ?? "") + s.toLocaleUpperCase(r) + a.toLocaleLowerCase(r);
8
- }
9
- export {
10
- o as toSmartSentenceCase
11
- };
12
- //# sourceMappingURL=to-smart-sentence-case.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"to-smart-sentence-case.js","sources":["../../../../../utils/i18n/helpers/to-smart-sentence-case.ts"],"sourcesContent":["import type { SupportedLocale } from '../types'\n\nexport function toSmartSentenceCase(\n\ttext: string,\n\tlocale: SupportedLocale\n): string {\n\t// Skip transformation for non-cased languages\n\tif (locale === 'ja' || locale === 'ko') {\n\t\treturn text\n\t}\n\n\tconst match = text.match(/^(\\s*[\\p{P}\\p{Zs}]*)?(\\p{L})(.*)$/u)\n\n\tif (!match) return text // fallback if no match\n\n\tconst [, leading, firstChar, rest] = match\n\n\treturn (\n\t\t(leading ?? '') +\n\t\tfirstChar.toLocaleUpperCase(locale) +\n\t\trest.toLocaleLowerCase(locale)\n\t)\n}\n"],"names":["toSmartSentenceCase","text","locale","match","leading","firstChar","rest"],"mappings":"AAEO,SAASA,EACfC,GACAC,GACS;AAET,MAAIA,MAAW,QAAQA,MAAW;AACjC,WAAOD;AAGR,QAAME,IAAQF,EAAK,MAAM,oCAAoC;AAE7D,MAAI,CAACE,EAAO,QAAOF;AAEnB,QAAM,GAAGG,GAASC,GAAWC,CAAI,IAAIH;AAErC,UACEC,KAAW,MACZC,EAAU,kBAAkBH,CAAM,IAClCI,EAAK,kBAAkBJ,CAAM;AAE/B;"}
@@ -1,10 +0,0 @@
1
- import { smallWordsByLocale as i } from "../constants/index.js";
2
- function c(o, t) {
3
- const s = i[t], e = o.toLocaleLowerCase(t).split(/([\s\-:,.]+)/);
4
- let a = !0;
5
- return e.map((r) => /^[\s\-:,.]+$/.test(r) ? (/[:.!?]\s*$/.test(r) && (a = !0), r) : r.charAt(0).toLocaleUpperCase && (a || !s.has(r)) ? (a = !1, r.charAt(0).toLocaleUpperCase(t) + r.slice(1)) : r).join("");
6
- }
7
- export {
8
- c as toSmartTitleCase
9
- };
10
- //# sourceMappingURL=to-smart-title-case.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"to-smart-title-case.js","sources":["../../../../../utils/i18n/helpers/to-smart-title-case.ts"],"sourcesContent":["import { smallWordsByLocale } from '../constants'\nimport { type SupportedLocale } from '../types'\n\nexport function toSmartTitleCase(\n\ttext: string,\n\tlocale: SupportedLocale\n): string {\n\tconst smallWords = smallWordsByLocale[locale]\n\tconst segments = text.toLocaleLowerCase(locale).split(/([\\s\\-:,.]+)/)\n\n\tlet capitalizeNext = true\n\n\treturn segments\n\t\t.map((segment) => {\n\t\t\tif (/^[\\s\\-:,.]+$/.test(segment)) {\n\t\t\t\t// If punctuation ends a sentence-like clause, capitalize the next word\n\t\t\t\tif (/[:.!?]\\s*$/.test(segment)) {\n\t\t\t\t\tcapitalizeNext = true\n\t\t\t\t}\n\t\t\t\treturn segment\n\t\t\t}\n\n\t\t\t// For non-cased languages (ja, ko), return as-is\n\t\t\tif (!segment.charAt(0).toLocaleUpperCase) return segment\n\n\t\t\tif (capitalizeNext || !smallWords.has(segment)) {\n\t\t\t\tcapitalizeNext = false\n\t\t\t\treturn segment.charAt(0).toLocaleUpperCase(locale) + segment.slice(1)\n\t\t\t} else {\n\t\t\t\treturn segment\n\t\t\t}\n\t\t})\n\t\t.join('')\n}\n"],"names":["toSmartTitleCase","text","locale","smallWords","smallWordsByLocale","segments","capitalizeNext","segment"],"mappings":";AAGO,SAASA,EACfC,GACAC,GACS;AACT,QAAMC,IAAaC,EAAmBF,CAAM,GACtCG,IAAWJ,EAAK,kBAAkBC,CAAM,EAAE,MAAM,cAAc;AAEpE,MAAII,IAAiB;AAErB,SAAOD,EACL,IAAI,CAACE,MACD,eAAe,KAAKA,CAAO,KAE1B,aAAa,KAAKA,CAAO,MAC5BD,IAAiB,KAEXC,KAIHA,EAAQ,OAAO,CAAC,EAAE,sBAEnBD,KAAkB,CAACH,EAAW,IAAII,CAAO,MAC5CD,IAAiB,IACVC,EAAQ,OAAO,CAAC,EAAE,kBAAkBL,CAAM,IAAIK,EAAQ,MAAM,CAAC,KAJpBA,CAQjD,EACA,KAAK,EAAE;AACV;"}
@@ -1,14 +0,0 @@
1
- import { useContext as n } from "react";
2
- import { DEFAULT_LOCALE as e } from "../constants/index.js";
3
- import { LocaleContext as r } from "./locale-provider.js";
4
- let t = !1;
5
- function i() {
6
- const o = n(r)?.locale;
7
- return !o && typeof window < "u" && !t && (t = !0, console.warn(
8
- `[@web/utils] No <LocaleProvider> found. Defaulting to "${e}".`
9
- )), o || e;
10
- }
11
- export {
12
- i as useLocale
13
- };
14
- //# sourceMappingURL=use-locale.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-locale.js","sources":["../../../../../utils/i18n/helpers/use-locale.ts"],"sourcesContent":["import { useContext } from 'react'\nimport { DEFAULT_LOCALE } from '../constants'\nimport { LocaleContext } from './locale-provider'\nimport type { SupportedLocale } from '../types'\n\nlet hasWarned = false\n\nexport function useLocale(): SupportedLocale {\n\tconst locale = useContext(LocaleContext)?.locale\n\n\tif (!locale && typeof window !== 'undefined' && !hasWarned) {\n\t\thasWarned = true\n\t\tconsole.warn(\n\t\t\t`[@web/utils] No <LocaleProvider> found. Defaulting to \"${DEFAULT_LOCALE}\".`\n\t\t)\n\t}\n\n\treturn locale || DEFAULT_LOCALE\n}\n"],"names":["hasWarned","useLocale","locale","useContext","LocaleContext","DEFAULT_LOCALE"],"mappings":";;;AAKA,IAAIA,IAAY;AAET,SAASC,IAA6B;AAC5C,QAAMC,IAASC,EAAWC,CAAa,GAAG;AAE1C,SAAI,CAACF,KAAU,OAAO,SAAW,OAAe,CAACF,MAChDA,IAAY,IACZ,QAAQ;AAAA,IACP,0DAA0DK,CAAc;AAAA,EAAA,IAInEH,KAAUG;AAClB;"}
@@ -1,41 +0,0 @@
1
- import { createLocalize as o } from "./index2.js";
2
- const r = o({
3
- de: {
4
- optional: "optional",
5
- // "optional" is the same in German
6
- required: "erforderlich"
7
- },
8
- en: {
9
- optional: "optional",
10
- required: "required"
11
- },
12
- es: {
13
- optional: "opcional",
14
- required: "obligatorio"
15
- },
16
- fr: {
17
- optional: "facultatif",
18
- required: "obligatoire"
19
- },
20
- id: {
21
- // ! TODO Translate text to Indonesian
22
- optional: "optional",
23
- required: "required"
24
- },
25
- ja: {
26
- optional: "任意",
27
- required: "必須"
28
- },
29
- ko: {
30
- optional: "선택 사항",
31
- required: "필수"
32
- },
33
- pt: {
34
- optional: "opcional",
35
- required: "obrigatório"
36
- }
37
- });
38
- export {
39
- r as localize
40
- };
41
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/utils/i18n/index.ts"],"sourcesContent":["import { createLocalize } from '@web/utils/i18n'\n\nexport const localize = createLocalize({\n\tde: {\n\t\toptional: 'optional', // \"optional\" is the same in German\n\t\trequired: 'erforderlich',\n\t},\n\ten: {\n\t\toptional: 'optional',\n\t\trequired: 'required',\n\t},\n\tes: {\n\t\toptional: 'opcional',\n\t\trequired: 'obligatorio',\n\t},\n\tfr: {\n\t\toptional: 'facultatif',\n\t\trequired: 'obligatoire',\n\t},\n\tid: {\n\t\t// ! TODO Translate text to Indonesian\n\t\toptional: 'optional',\n\t\trequired: 'required',\n\t},\n\tja: {\n\t\toptional: '任意',\n\t\trequired: '必須',\n\t},\n\tko: {\n\t\toptional: '선택 사항',\n\t\trequired: '필수',\n\t},\n\tpt: {\n\t\toptional: 'opcional',\n\t\trequired: 'obrigatório',\n\t},\n})\n"],"names":["localize","createLocalize"],"mappings":";AAEO,MAAMA,IAAWC,EAAe;AAAA,EACtC,IAAI;AAAA,IACH,UAAU;AAAA;AAAA,IACV,UAAU;AAAA,EAAA;AAAA,EAEX,IAAI;AAAA,IACH,UAAU;AAAA,IACV,UAAU;AAAA,EAAA;AAAA,EAEX,IAAI;AAAA,IACH,UAAU;AAAA,IACV,UAAU;AAAA,EAAA;AAAA,EAEX,IAAI;AAAA,IACH,UAAU;AAAA,IACV,UAAU;AAAA,EAAA;AAAA,EAEX,IAAI;AAAA;AAAA,IAEH,UAAU;AAAA,IACV,UAAU;AAAA,EAAA;AAAA,EAEX,IAAI;AAAA,IACH,UAAU;AAAA,IACV,UAAU;AAAA,EAAA;AAAA,EAEX,IAAI;AAAA,IACH,UAAU;AAAA,IACV,UAAU;AAAA,EAAA;AAAA,EAEX,IAAI;AAAA,IACH,UAAU;AAAA,IACV,UAAU;AAAA,EAAA;AAEZ,CAAC;"}
@@ -1,33 +0,0 @@
1
- import "./helpers/locale-provider.js";
2
- import { toSmartSentenceCase as p } from "./helpers/to-smart-sentence-case.js";
3
- import { toSmartTitleCase as f } from "./helpers/to-smart-title-case.js";
4
- import "react";
5
- function i(o, u) {
6
- return u.split(".").reduce((t, r) => {
7
- if (typeof t == "object" && t !== null && r in t)
8
- return t[r];
9
- }, o);
10
- }
11
- function w(o, u = "en") {
12
- return function(r, n, s) {
13
- const e = i(o[n], r) ?? i(o[u], r);
14
- if (typeof e != "string") return "";
15
- switch (s) {
16
- case "title":
17
- return f(e, n);
18
- case "sentence":
19
- return p(e, n);
20
- case "upper":
21
- return e.toLocaleUpperCase(n);
22
- case "lower":
23
- return e.toLocaleLowerCase(n);
24
- case "none":
25
- default:
26
- return e;
27
- }
28
- };
29
- }
30
- export {
31
- w as createLocalize
32
- };
33
- //# sourceMappingURL=index2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index2.js","sources":["../../../../utils/i18n/index.ts"],"sourcesContent":["import { toSmartSentenceCase, toSmartTitleCase } from './helpers'\nimport type { SupportedLocale } from './types'\n\ntype Capitalization = 'none' | 'lower' | 'sentence' | 'title' | 'upper'\n\ntype DotPrefix<T extends string, U extends string> = `${T}.${U}`\n\ntype NestedKeyOf<ObjectType extends object> = {\n\t[K in keyof ObjectType & string]: ObjectType[K] extends object\n\t\t? DotPrefix<K, NestedKeyOf<ObjectType[K]>>\n\t\t: K\n}[keyof ObjectType & string]\n\nfunction getByDotPath<T extends object, P extends string>(\n\tobj: T,\n\tpath: P\n): unknown {\n\treturn path.split('.').reduce((acc: unknown, part) => {\n\t\tif (typeof acc === 'object' && acc !== null && part in acc) {\n\t\t\treturn (acc as Record<string, unknown>)[part]\n\t\t}\n\t\treturn undefined\n\t}, obj)\n}\n\nexport function createLocalize<Messages extends Record<string, unknown>>(\n\tlocalizations: Record<SupportedLocale, Messages>,\n\tfallbackLocale: SupportedLocale = 'en'\n) {\n\ttype Key = NestedKeyOf<Messages>\n\n\treturn function translate(\n\t\tkey: Key,\n\t\tlocale: SupportedLocale,\n\t\tcapitalization?: Capitalization\n\t): string {\n\t\tconst word =\n\t\t\tgetByDotPath(localizations[locale], key) ??\n\t\t\tgetByDotPath(localizations[fallbackLocale], key)\n\n\t\tif (typeof word !== 'string') return ''\n\n\t\tswitch (capitalization) {\n\t\t\tcase 'title':\n\t\t\t\treturn toSmartTitleCase(word, locale)\n\t\t\tcase 'sentence':\n\t\t\t\treturn toSmartSentenceCase(word, locale)\n\t\t\tcase 'upper':\n\t\t\t\treturn word.toLocaleUpperCase(locale)\n\t\t\tcase 'lower':\n\t\t\t\treturn word.toLocaleLowerCase(locale)\n\t\t\tcase 'none':\n\t\t\tdefault:\n\t\t\t\treturn word\n\t\t}\n\t}\n}\n"],"names":["getByDotPath","obj","path","acc","part","createLocalize","localizations","fallbackLocale","key","locale","capitalization","word","toSmartTitleCase","toSmartSentenceCase"],"mappings":";;;;AAaA,SAASA,EACRC,GACAC,GACU;AACV,SAAOA,EAAK,MAAM,GAAG,EAAE,OAAO,CAACC,GAAcC,MAAS;AACrD,QAAI,OAAOD,KAAQ,YAAYA,MAAQ,QAAQC,KAAQD;AACtD,aAAQA,EAAgCC,CAAI;AAAA,EAG9C,GAAGH,CAAG;AACP;AAEO,SAASI,EACfC,GACAC,IAAkC,MACjC;AAGD,SAAO,SACNC,GACAC,GACAC,GACS;AACT,UAAMC,IACLX,EAAaM,EAAcG,CAAM,GAAGD,CAAG,KACvCR,EAAaM,EAAcC,CAAc,GAAGC,CAAG;AAEhD,QAAI,OAAOG,KAAS,SAAU,QAAO;AAErC,YAAQD,GAAA;AAAA,MACP,KAAK;AACJ,eAAOE,EAAiBD,GAAMF,CAAM;AAAA,MACrC,KAAK;AACJ,eAAOI,EAAoBF,GAAMF,CAAM;AAAA,MACxC,KAAK;AACJ,eAAOE,EAAK,kBAAkBF,CAAM;AAAA,MACrC,KAAK;AACJ,eAAOE,EAAK,kBAAkBF,CAAM;AAAA,MACrC,KAAK;AAAA,MACL;AACC,eAAOE;AAAA,IAAA;AAAA,EAEV;AACD;"}