@hashicorp/mds-react 0.9.13 → 0.9.15

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 (903) hide show
  1. package/dist/components/accordion/index.d.ts +15 -0
  2. package/dist/components/accordion/index.d.ts.map +1 -0
  3. package/dist/components/accordion/item/button.d.ts +7 -0
  4. package/dist/components/accordion/item/button.d.ts.map +1 -0
  5. package/dist/components/accordion/item/index.d.ts +25 -0
  6. package/dist/components/accordion/item/index.d.ts.map +1 -0
  7. package/dist/components/accordion/item/index.js.map +1 -0
  8. package/dist/components/accordion/style.module.scss +110 -0
  9. package/dist/components/alert/alert.module.scss +227 -0
  10. package/dist/components/alert/icon.d.ts +10 -0
  11. package/dist/components/alert/icon.d.ts.map +1 -0
  12. package/dist/components/alert/index.d.ts +63 -0
  13. package/dist/components/alert/index.d.ts.map +1 -0
  14. package/dist/components/alert/index.js.map +1 -0
  15. package/dist/components/badge/index.d.ts +32 -0
  16. package/dist/components/badge/index.d.ts.map +1 -0
  17. package/dist/components/badge/index.js.map +1 -0
  18. package/dist/components/badge/style.module.scss +108 -0
  19. package/dist/components/badge-count/index.d.ts +16 -0
  20. package/dist/components/badge-count/index.d.ts.map +1 -0
  21. package/dist/components/badge-count/index.js.map +1 -0
  22. package/dist/components/badge-count/style.module.scss +86 -0
  23. package/dist/components/breadcrumbs/index.d.ts +8 -0
  24. package/dist/components/breadcrumbs/index.d.ts.map +1 -0
  25. package/dist/components/breadcrumbs/index.js.map +1 -0
  26. package/dist/components/breadcrumbs/item/index.d.ts +3 -0
  27. package/dist/components/breadcrumbs/item/index.d.ts.map +1 -0
  28. package/dist/components/breadcrumbs/style.module.scss +183 -0
  29. package/dist/components/breadcrumbs/truncation-button/index.d.ts +4 -0
  30. package/dist/components/breadcrumbs/truncation-button/index.d.ts.map +1 -0
  31. package/dist/components/breadcrumbs/types/index.d.ts +52 -0
  32. package/dist/components/breadcrumbs/types/index.d.ts.map +1 -0
  33. package/dist/components/button/button-primitive.d.ts +6 -0
  34. package/dist/components/button/button-primitive.d.ts.map +1 -0
  35. package/dist/components/button/button-primitive.js.map +1 -0
  36. package/dist/components/button/index.d.ts +31 -0
  37. package/dist/components/button/index.d.ts.map +1 -0
  38. package/dist/components/button/styles.module.scss +217 -0
  39. package/dist/components/card/card-thumbnail/index.d.ts +3 -0
  40. package/dist/components/card/card-thumbnail/index.d.ts.map +1 -0
  41. package/dist/components/card/index.d.ts +5 -0
  42. package/dist/components/card/index.d.ts.map +1 -0
  43. package/dist/components/card/index.js.map +1 -0
  44. package/dist/components/card/types.d.ts +54 -0
  45. package/dist/components/card/types.d.ts.map +1 -0
  46. package/dist/components/code-block/code-block.module.scss +505 -0
  47. package/dist/components/code-block/code-lines/index.d.ts +20 -0
  48. package/dist/components/code-block/code-lines/index.d.ts.map +1 -0
  49. package/dist/components/code-block/code-lines/utils/split-html-into-lines.d.ts +20 -0
  50. package/dist/components/code-block/code-lines/utils/split-html-into-lines.d.ts.map +1 -0
  51. package/dist/components/code-block/code-lines/utils/split-jsx-into-lines.d.ts +22 -0
  52. package/dist/components/code-block/code-lines/utils/split-jsx-into-lines.d.ts.map +1 -0
  53. package/dist/components/code-block/code-lines/utils/split-jsx-into-lines.js.map +1 -0
  54. package/dist/components/code-block/hidden-copy-content/index.d.ts +6 -0
  55. package/dist/components/code-block/hidden-copy-content/index.d.ts.map +1 -0
  56. package/dist/components/code-block/hidden-copy-content/index.js.map +1 -0
  57. package/dist/components/code-block/index.d.ts +56 -0
  58. package/dist/components/code-block/index.d.ts.map +1 -0
  59. package/dist/components/code-block/index.js.map +1 -0
  60. package/dist/components/code-block/utils/parse-highlighted-lines.d.ts +3 -0
  61. package/dist/components/code-block/utils/parse-highlighted-lines.d.ts.map +1 -0
  62. package/dist/components/code-block/utils/parse-highlighted-lines.js.map +1 -0
  63. package/dist/components/code-block/utils/process-snippet.d.ts +13 -0
  64. package/dist/components/code-block/utils/process-snippet.d.ts.map +1 -0
  65. package/dist/components/code-block/utils/shellwords.d.ts +15 -0
  66. package/dist/components/code-block/utils/shellwords.d.ts.map +1 -0
  67. package/dist/components/code-block/utils/shellwords.js.map +1 -0
  68. package/dist/components/combo-box-primitive/index.d.ts +69 -0
  69. package/dist/components/combo-box-primitive/index.d.ts.map +1 -0
  70. package/dist/components/combo-box-primitive/index.js.map +1 -0
  71. package/dist/components/dialog-primitive/index.d.ts +13 -0
  72. package/dist/components/dialog-primitive/index.d.ts.map +1 -0
  73. package/dist/components/dialog-primitive/index.js.map +1 -0
  74. package/dist/components/disclosure-primitive/index.d.ts +20 -0
  75. package/dist/components/disclosure-primitive/index.d.ts.map +1 -0
  76. package/dist/components/disclosure-primitive/index.js.map +1 -0
  77. package/dist/components/disclosure-primitive/use-disclosure-primitive.d.ts +12 -0
  78. package/dist/components/disclosure-primitive/use-disclosure-primitive.d.ts.map +1 -0
  79. package/dist/components/disclosure-primitive/use-disclosure-primitive.js.map +1 -0
  80. package/dist/components/dismiss-button/index.d.ts +9 -0
  81. package/dist/components/dismiss-button/index.d.ts.map +1 -0
  82. package/dist/components/dismiss-button/styles.module.scss +26 -0
  83. package/dist/components/dropdown/index.d.ts +73 -0
  84. package/dist/components/dropdown/index.d.ts.map +1 -0
  85. package/dist/components/dropdown/index.js.map +1 -0
  86. package/dist/components/dropdown/list-item/custom.d.ts +11 -0
  87. package/dist/components/dropdown/list-item/custom.d.ts.map +1 -0
  88. package/dist/components/dropdown/list-item/index.d.ts +20 -0
  89. package/dist/components/dropdown/list-item/index.d.ts.map +1 -0
  90. package/dist/components/dropdown/list-item/interactive.d.ts +30 -0
  91. package/dist/components/dropdown/list-item/interactive.d.ts.map +1 -0
  92. package/dist/components/dropdown/list-item/separator.d.ts +9 -0
  93. package/dist/components/dropdown/list-item/separator.d.ts.map +1 -0
  94. package/dist/components/dropdown/list-item/styles.module.css +218 -0
  95. package/dist/components/dropdown/list-item/title.d.ts +11 -0
  96. package/dist/components/dropdown/list-item/title.d.ts.map +1 -0
  97. package/dist/components/dropdown/list-item/title.js.map +1 -0
  98. package/dist/components/dropdown/toggle-button/index.d.ts +31 -0
  99. package/dist/components/dropdown/toggle-button/index.d.ts.map +1 -0
  100. package/dist/components/dropdown/toggle-button/index.js.map +1 -0
  101. package/dist/components/dropdown/toggle-button/styles.module.scss +54 -0
  102. package/dist/components/flight-icon/index.d.ts +45 -0
  103. package/dist/components/flight-icon/index.d.ts.map +1 -0
  104. package/dist/components/flight-icon/index.js.map +1 -0
  105. package/dist/components/form/checkbox/form-checkbox.module.css +81 -0
  106. package/dist/components/form/checkbox/index.d.ts +46 -0
  107. package/dist/components/form/checkbox/index.d.ts.map +1 -0
  108. package/dist/components/form/error/index.d.ts +17 -0
  109. package/dist/components/form/error/index.d.ts.map +1 -0
  110. package/dist/components/form/field/index.d.ts +20 -0
  111. package/dist/components/form/field/index.d.ts.map +1 -0
  112. package/dist/components/form/fieldset/index.d.ts +19 -0
  113. package/dist/components/form/fieldset/index.d.ts.map +1 -0
  114. package/dist/components/form/file-input/form-file-input.module.scss +81 -0
  115. package/dist/components/form/file-input/index.d.ts +28 -0
  116. package/dist/components/form/file-input/index.d.ts.map +1 -0
  117. package/dist/components/form/helper-text/index.d.ts +12 -0
  118. package/dist/components/form/helper-text/index.d.ts.map +1 -0
  119. package/dist/components/form/indicator/index.d.ts +10 -0
  120. package/dist/components/form/indicator/index.d.ts.map +1 -0
  121. package/dist/components/form/label/index.d.ts +15 -0
  122. package/dist/components/form/label/index.d.ts.map +1 -0
  123. package/dist/components/form/legend/index.d.ts +13 -0
  124. package/dist/components/form/legend/index.d.ts.map +1 -0
  125. package/dist/components/form/radio/form-radio.module.scss +71 -0
  126. package/dist/components/form/radio/index.d.ts +43 -0
  127. package/dist/components/form/radio/index.d.ts.map +1 -0
  128. package/dist/components/form/radio-card/description.d.ts +4 -0
  129. package/dist/components/form/radio-card/description.d.ts.map +1 -0
  130. package/dist/components/form/radio-card/form-radio-card.module.css +152 -0
  131. package/dist/components/form/radio-card/group.d.ts +12 -0
  132. package/dist/components/form/radio-card/group.d.ts.map +1 -0
  133. package/dist/components/form/radio-card/index.d.ts +49 -0
  134. package/dist/components/form/radio-card/index.d.ts.map +1 -0
  135. package/dist/components/form/radio-card/index.js.map +1 -0
  136. package/dist/components/form/radio-card/label.d.ts +4 -0
  137. package/dist/components/form/radio-card/label.d.ts.map +1 -0
  138. package/dist/components/form/select/form-select.module.css +81 -0
  139. package/dist/components/form/select/index.d.ts +23 -0
  140. package/dist/components/form/select/index.d.ts.map +1 -0
  141. package/dist/components/form/select/index.js.map +1 -0
  142. package/dist/components/form/super-select/form-super-select.module.css +149 -0
  143. package/dist/components/form/super-select/index.d.ts +56 -0
  144. package/dist/components/form/super-select/index.d.ts.map +1 -0
  145. package/dist/components/form/super-select/index.js.map +1 -0
  146. package/dist/components/form/text-input/index.d.ts +99 -0
  147. package/dist/components/form/text-input/index.d.ts.map +1 -0
  148. package/dist/components/form/text-input/index.js.map +1 -0
  149. package/dist/components/form/text-input/styles.module.css +144 -0
  150. package/dist/components/form/textarea/form-textarea.module.css +87 -0
  151. package/dist/components/form/textarea/index.d.ts +20 -0
  152. package/dist/components/form/textarea/index.d.ts.map +1 -0
  153. package/dist/components/form/textarea/index.js.map +1 -0
  154. package/dist/components/form/toggle/form-toggle.module.scss +151 -0
  155. package/dist/components/form/toggle/index.d.ts +79 -0
  156. package/dist/components/form/toggle/index.d.ts.map +1 -0
  157. package/dist/components/hds/wrappers/tooltip.d.ts +15 -0
  158. package/dist/components/hds/wrappers/tooltip.d.ts.map +1 -0
  159. package/dist/components/icon-tile/index.d.ts +22 -0
  160. package/dist/components/icon-tile/index.d.ts.map +1 -0
  161. package/dist/components/icon-tile/index.js.map +1 -0
  162. package/dist/components/icon-tile/style.module.scss +123 -0
  163. package/dist/components/index.d.ts +63 -0
  164. package/dist/components/index.d.ts.map +1 -0
  165. package/dist/components/index.js +124 -0
  166. package/dist/components/index.js.map +1 -0
  167. package/dist/components/inline-link/index.d.ts +41 -0
  168. package/dist/components/inline-link/index.d.ts.map +1 -0
  169. package/dist/components/interactive/index.d.ts +27 -0
  170. package/dist/components/interactive/index.d.ts.map +1 -0
  171. package/dist/components/interactive/index.js.map +1 -0
  172. package/dist/components/legacy-button/index.d.ts +6 -0
  173. package/dist/components/legacy-button/index.d.ts.map +1 -0
  174. package/dist/components/legacy-button/index.js.map +1 -0
  175. package/dist/components/legacy-button/types.d.ts +38 -0
  176. package/dist/components/legacy-button/types.d.ts.map +1 -0
  177. package/dist/components/legacy-button/utils.d.ts +10 -0
  178. package/dist/components/legacy-button/utils.d.ts.map +1 -0
  179. package/dist/components/legacy-button/utils.js.map +1 -0
  180. package/dist/components/menu-primitive/index.d.ts +15 -0
  181. package/dist/components/menu-primitive/index.d.ts.map +1 -0
  182. package/dist/components/menu-primitive/index.js.map +1 -0
  183. package/dist/components/menu-primitive/use-menu-primitive.d.ts +10 -0
  184. package/dist/components/menu-primitive/use-menu-primitive.d.ts.map +1 -0
  185. package/dist/components/menu-primitive/use-menu-primitive.js.map +1 -0
  186. package/dist/components/modal/index.d.ts +14 -0
  187. package/dist/components/modal/index.d.ts.map +1 -0
  188. package/dist/components/modal/index.js.map +1 -0
  189. package/dist/components/modal/use-modal.d.ts +9 -0
  190. package/dist/components/modal/use-modal.d.ts.map +1 -0
  191. package/dist/components/modal/use-modal.js.map +1 -0
  192. package/dist/components/separator/index.d.ts +11 -0
  193. package/dist/components/separator/index.d.ts.map +1 -0
  194. package/dist/components/skeleton/index.d.ts +14 -0
  195. package/dist/components/skeleton/index.d.ts.map +1 -0
  196. package/dist/components/skeleton/index.js +30 -0
  197. package/dist/components/skeleton/index.js.map +1 -0
  198. package/dist/components/skeleton/skeleton-form/index.d.ts +8 -0
  199. package/dist/components/skeleton/skeleton-form/index.d.ts.map +1 -0
  200. package/dist/components/skeleton/skeleton-form/index.js +19 -0
  201. package/dist/components/skeleton/skeleton-form/index.js.map +1 -0
  202. package/dist/components/skeleton/skeleton-form/skeleton-form.module.css +32 -0
  203. package/dist/components/skeleton/skeleton-form/skeleton-form.module.css.js +11 -0
  204. package/dist/components/skeleton/skeleton-form/skeleton-form.module.css.js.map +1 -0
  205. package/dist/components/skeleton/skeleton.module.css +87 -0
  206. package/dist/components/skeleton/skeleton.module.css.js +19 -0
  207. package/dist/components/skeleton/skeleton.module.css.js.map +1 -0
  208. package/dist/components/standalone-link/index.d.ts +24 -0
  209. package/dist/components/standalone-link/index.d.ts.map +1 -0
  210. package/dist/components/standalone-link/index.js.map +1 -0
  211. package/dist/components/standalone-link/styles.module.scss +164 -0
  212. package/dist/components/table/index.d.ts +59 -0
  213. package/dist/components/table/index.d.ts.map +1 -0
  214. package/dist/components/table/index.js.map +1 -0
  215. package/dist/components/table/td.d.ts +18 -0
  216. package/dist/components/table/td.d.ts.map +1 -0
  217. package/dist/components/table/td.js.map +1 -0
  218. package/dist/components/table/th-button-tooltip.d.ts +7 -0
  219. package/dist/components/table/th-button-tooltip.d.ts.map +1 -0
  220. package/dist/components/table/th.d.ts +35 -0
  221. package/dist/components/table/th.d.ts.map +1 -0
  222. package/dist/components/table/th.js.map +1 -0
  223. package/dist/components/table/tr.d.ts +13 -0
  224. package/dist/components/table/tr.d.ts.map +1 -0
  225. package/dist/components/table/utils.d.ts +17 -0
  226. package/dist/components/table/utils.d.ts.map +1 -0
  227. package/dist/components/table/utils.js.map +1 -0
  228. package/dist/components/tabs/index.d.ts +22 -0
  229. package/dist/components/tabs/index.d.ts.map +1 -0
  230. package/dist/components/tabs/index.js.map +1 -0
  231. package/dist/components/tabs/tab-panel.d.ts +6 -0
  232. package/dist/components/tabs/tab-panel.d.ts.map +1 -0
  233. package/dist/components/tabs/tab-panel.js.map +1 -0
  234. package/dist/components/tabs/tab.d.ts +25 -0
  235. package/dist/components/tabs/tab.d.ts.map +1 -0
  236. package/dist/components/tabs/tab.js.map +1 -0
  237. package/dist/components/tabs/tabs.module.scss +120 -0
  238. package/dist/components/tabs/use-tabs-context.d.ts +16 -0
  239. package/dist/components/tabs/use-tabs-context.d.ts.map +1 -0
  240. package/dist/components/tabs/use-tabs-context.js.map +1 -0
  241. package/dist/components/text/index.d.ts +70 -0
  242. package/dist/components/text/index.d.ts.map +1 -0
  243. package/dist/components/text/index.js.map +1 -0
  244. package/dist/components/visualizations/bar-chart/horizontal-chart/dataset-value/index.d.ts +9 -0
  245. package/dist/components/visualizations/bar-chart/horizontal-chart/dataset-value/index.d.ts.map +1 -0
  246. package/dist/components/visualizations/bar-chart/horizontal-chart/dataset-value/index.js +63 -0
  247. package/dist/components/visualizations/bar-chart/horizontal-chart/dataset-value/index.js.map +1 -0
  248. package/dist/components/visualizations/bar-chart/horizontal-chart/index.d.ts +44 -0
  249. package/dist/components/visualizations/bar-chart/horizontal-chart/index.d.ts.map +1 -0
  250. package/dist/components/visualizations/bar-chart/horizontal-chart/index.js +104 -0
  251. package/dist/components/visualizations/bar-chart/horizontal-chart/index.js.map +1 -0
  252. package/dist/components/visualizations/bar-chart/horizontal-chart/legend/index.d.ts +11 -0
  253. package/dist/components/visualizations/bar-chart/horizontal-chart/legend/index.d.ts.map +1 -0
  254. package/dist/components/visualizations/bar-chart/horizontal-chart/style.module.css +76 -0
  255. package/dist/components/visualizations/bar-chart/index.d.ts +14 -0
  256. package/dist/components/visualizations/bar-chart/index.d.ts.map +1 -0
  257. package/dist/components/visualizations/bar-chart/style.module.css +37 -0
  258. package/dist/components/visualizations/donut-chart/components/arc-tooltip/index.d.ts +4 -0
  259. package/dist/components/visualizations/donut-chart/components/arc-tooltip/index.d.ts.map +1 -0
  260. package/dist/components/visualizations/donut-chart/components/external-arc-label/index.d.ts +4 -0
  261. package/dist/components/visualizations/donut-chart/components/external-arc-label/index.d.ts.map +1 -0
  262. package/dist/components/visualizations/donut-chart/components/index.d.ts +4 -0
  263. package/dist/components/visualizations/donut-chart/components/index.d.ts.map +1 -0
  264. package/dist/components/visualizations/donut-chart/components/internal-arc-label/index.d.ts +4 -0
  265. package/dist/components/visualizations/donut-chart/components/internal-arc-label/index.d.ts.map +1 -0
  266. package/dist/components/visualizations/donut-chart/index.d.ts +11 -0
  267. package/dist/components/visualizations/donut-chart/index.d.ts.map +1 -0
  268. package/dist/components/visualizations/donut-chart/index.js +91 -0
  269. package/dist/components/visualizations/donut-chart/index.js.map +1 -0
  270. package/dist/components/visualizations/donut-chart/styles.module.css +71 -0
  271. package/dist/components/visualizations/donut-chart/types.d.ts +17 -0
  272. package/dist/components/visualizations/donut-chart/types.d.ts.map +1 -0
  273. package/dist/index.d.ts +4 -0
  274. package/dist/index.d.ts.map +1 -0
  275. package/dist/index.js +169 -0
  276. package/dist/index.js.map +1 -0
  277. package/dist/patterns/card/index.d.ts +6 -0
  278. package/dist/patterns/card/index.d.ts.map +1 -0
  279. package/dist/patterns/card/newsroom-card/index.d.ts +16 -0
  280. package/dist/patterns/card/newsroom-card/index.d.ts.map +1 -0
  281. package/dist/patterns/card/partner-card/index.d.ts +19 -0
  282. package/dist/patterns/card/partner-card/index.d.ts.map +1 -0
  283. package/dist/patterns/card/person-card/index.d.ts +16 -0
  284. package/dist/patterns/card/person-card/index.d.ts.map +1 -0
  285. package/dist/patterns/card/primitives.d.ts +38 -0
  286. package/dist/patterns/card/primitives.d.ts.map +1 -0
  287. package/dist/patterns/card/promo-card/index.d.ts +19 -0
  288. package/dist/patterns/card/promo-card/index.d.ts.map +1 -0
  289. package/dist/patterns/card/resource-card/index.d.ts +17 -0
  290. package/dist/patterns/card/resource-card/index.d.ts.map +1 -0
  291. package/dist/patterns/card/style.module.css +119 -0
  292. package/dist/patterns/card/thumbnails/index.d.ts +14 -0
  293. package/dist/patterns/card/thumbnails/index.d.ts.map +1 -0
  294. package/dist/patterns/card/types.d.ts +42 -0
  295. package/dist/patterns/card/types.d.ts.map +1 -0
  296. package/dist/patterns/card/unified-card/index.d.ts +11 -0
  297. package/dist/patterns/card/unified-card/index.d.ts.map +1 -0
  298. package/dist/patterns/card/unified-card/index.js.map +1 -0
  299. package/dist/patterns/copy-button/index.d.ts +20 -0
  300. package/dist/patterns/copy-button/index.d.ts.map +1 -0
  301. package/dist/patterns/copy-button/index.js +57 -0
  302. package/dist/patterns/copy-button/index.js.map +1 -0
  303. package/dist/patterns/index.d.ts +16 -0
  304. package/dist/patterns/index.d.ts.map +1 -0
  305. package/dist/patterns/layout/index.d.ts +70 -0
  306. package/dist/patterns/layout/index.d.ts.map +1 -0
  307. package/dist/patterns/layout/layout.module.css +66 -0
  308. package/dist/patterns/product-badge/index.d.ts +12 -0
  309. package/dist/patterns/product-badge/index.d.ts.map +1 -0
  310. package/dist/patterns/product-badge/style.module.css +3 -0
  311. package/dist/patterns/product-logo/index.d.ts +49 -0
  312. package/dist/patterns/product-logo/index.d.ts.map +1 -0
  313. package/dist/patterns/related-content/index.d.ts +7 -0
  314. package/dist/patterns/related-content/index.d.ts.map +1 -0
  315. package/dist/patterns/related-content/style.module.css +74 -0
  316. package/dist/patterns/related-content/types.d.ts +15 -0
  317. package/dist/patterns/related-content/types.d.ts.map +1 -0
  318. package/dist/style.css +1 -0
  319. package/dist/styles/mixins/button.scss +224 -0
  320. package/dist/styles/mixins/focus-ring.scss +68 -0
  321. package/dist/utils/clipboard.d.ts +17 -0
  322. package/dist/utils/clipboard.d.ts.map +1 -0
  323. package/dist/utils/clipboard.js +78 -0
  324. package/dist/utils/clipboard.js.map +1 -0
  325. package/dist/utils/get-contrast-yiq.d.ts +21 -0
  326. package/dist/utils/get-contrast-yiq.d.ts.map +1 -0
  327. package/dist/utils/get-contrast-yiq.js.map +1 -0
  328. package/dist/utils/hooks/use-media-query/index.d.ts +2 -0
  329. package/dist/utils/hooks/use-media-query/index.d.ts.map +1 -0
  330. package/dist/utils/hooks/use-media-query/index.js +16 -0
  331. package/dist/utils/hooks/use-media-query/index.js.map +1 -0
  332. package/dist/utils/hooks/use-screen-size/index.d.ts +6 -0
  333. package/dist/utils/hooks/use-screen-size/index.d.ts.map +1 -0
  334. package/dist/utils/hooks/use-screen-size/index.js +10 -0
  335. package/dist/utils/hooks/use-screen-size/index.js.map +1 -0
  336. package/dist/utils/i18n/constants/index.d.ts +15 -0
  337. package/dist/utils/i18n/constants/index.d.ts.map +1 -0
  338. package/dist/utils/i18n/constants/index.js.map +1 -0
  339. package/dist/utils/i18n/helpers/index.d.ts +6 -0
  340. package/dist/utils/i18n/helpers/index.d.ts.map +1 -0
  341. package/dist/utils/i18n/helpers/is-supported-local.d.ts +3 -0
  342. package/dist/utils/i18n/helpers/is-supported-local.d.ts.map +1 -0
  343. package/dist/utils/i18n/helpers/is-supported-local.js +8 -0
  344. package/dist/utils/i18n/helpers/is-supported-local.js.map +1 -0
  345. package/dist/utils/i18n/helpers/locale-provider.d.ts +15 -0
  346. package/dist/utils/i18n/helpers/locale-provider.d.ts.map +1 -0
  347. package/dist/utils/i18n/helpers/locale-provider.js +19 -0
  348. package/dist/utils/i18n/helpers/locale-provider.js.map +1 -0
  349. package/dist/utils/i18n/helpers/to-smart-sentence-case.d.ts +3 -0
  350. package/dist/utils/i18n/helpers/to-smart-sentence-case.d.ts.map +1 -0
  351. package/dist/utils/i18n/helpers/to-smart-sentence-case.js.map +1 -0
  352. package/dist/utils/i18n/helpers/to-smart-title-case.d.ts +3 -0
  353. package/dist/utils/i18n/helpers/to-smart-title-case.d.ts.map +1 -0
  354. package/dist/utils/i18n/helpers/to-smart-title-case.js.map +1 -0
  355. package/dist/utils/i18n/helpers/use-locale.d.ts +3 -0
  356. package/dist/utils/i18n/helpers/use-locale.d.ts.map +1 -0
  357. package/dist/utils/i18n/helpers/use-locale.js +14 -0
  358. package/dist/utils/i18n/helpers/use-locale.js.map +1 -0
  359. package/dist/utils/i18n/index.d.ts +12 -0
  360. package/dist/utils/i18n/index.d.ts.map +1 -0
  361. package/dist/utils/i18n/index.js.map +1 -0
  362. package/dist/utils/i18n/types.d.ts +3 -0
  363. package/dist/utils/i18n/types.d.ts.map +1 -0
  364. package/dist/utils/index.d.ts +6 -0
  365. package/dist/utils/index.d.ts.map +1 -0
  366. package/dist/utils/index.js +16 -0
  367. package/dist/utils/index.js.map +1 -0
  368. package/dist/utils/make-normalizer/index.d.ts +31 -0
  369. package/dist/utils/make-normalizer/index.d.ts.map +1 -0
  370. package/dist/utils/make-normalizer/index.js.map +1 -0
  371. package/dist/utils/mds-context/index.d.ts +60 -0
  372. package/dist/utils/mds-context/index.d.ts.map +1 -0
  373. package/dist/utils/mds-context/index.js.map +1 -0
  374. package/package.json +116 -75
  375. package/components/accordion/index.d.ts +0 -14
  376. package/components/accordion/item/button.d.ts +0 -6
  377. package/components/accordion/item/index.d.ts +0 -24
  378. package/components/accordion/item/index.js.map +0 -1
  379. package/components/accordion/style.module.scss +0 -110
  380. package/components/alert/alert.module.scss +0 -229
  381. package/components/alert/icon.d.ts +0 -9
  382. package/components/alert/index.d.ts +0 -62
  383. package/components/alert/index.js.map +0 -1
  384. package/components/badge/index.d.ts +0 -31
  385. package/components/badge/index.js.map +0 -1
  386. package/components/badge/style.module.scss +0 -113
  387. package/components/badge-count/index.d.ts +0 -15
  388. package/components/badge-count/index.js.map +0 -1
  389. package/components/badge-count/style.module.scss +0 -91
  390. package/components/breadcrumbs/index.d.ts +0 -7
  391. package/components/breadcrumbs/index.js.map +0 -1
  392. package/components/breadcrumbs/item/index.d.ts +0 -2
  393. package/components/breadcrumbs/style.module.scss +0 -183
  394. package/components/breadcrumbs/truncation-button/index.d.ts +0 -3
  395. package/components/breadcrumbs/types/index.d.ts +0 -51
  396. package/components/button/button-primitive.d.ts +0 -5
  397. package/components/button/button-primitive.js.map +0 -1
  398. package/components/button/index.d.ts +0 -30
  399. package/components/button/styles.module.scss +0 -221
  400. package/components/card/card-thumbnail/index.d.ts +0 -2
  401. package/components/card/index.d.ts +0 -4
  402. package/components/card/index.js.map +0 -1
  403. package/components/card/types.d.ts +0 -53
  404. package/components/code-block/code-block.module.scss +0 -511
  405. package/components/code-block/code-lines/index.d.ts +0 -12
  406. package/components/code-block/code-lines/utils/split-html-into-lines.d.ts +0 -19
  407. package/components/code-block/code-lines/utils/split-jsx-into-lines.d.ts +0 -21
  408. package/components/code-block/code-lines/utils/split-jsx-into-lines.js.map +0 -1
  409. package/components/code-block/hidden-copy-content/index.d.ts +0 -5
  410. package/components/code-block/hidden-copy-content/index.js.map +0 -1
  411. package/components/code-block/index.d.ts +0 -55
  412. package/components/code-block/index.js.map +0 -1
  413. package/components/code-block/utils/parse-highlighted-lines.d.ts +0 -2
  414. package/components/code-block/utils/parse-highlighted-lines.js.map +0 -1
  415. package/components/code-block/utils/process-snippet.d.ts +0 -12
  416. package/components/code-block/utils/shellwords.d.ts +0 -14
  417. package/components/code-block/utils/shellwords.js.map +0 -1
  418. package/components/combo-box-primitive/index.d.ts +0 -69
  419. package/components/combo-box-primitive/index.js.map +0 -1
  420. package/components/dialog-primitive/index.d.ts +0 -12
  421. package/components/dialog-primitive/index.js.map +0 -1
  422. package/components/disclosure-primitive/index.d.ts +0 -19
  423. package/components/disclosure-primitive/index.js.map +0 -1
  424. package/components/disclosure-primitive/use-disclosure-primitive.d.ts +0 -11
  425. package/components/disclosure-primitive/use-disclosure-primitive.js.map +0 -1
  426. package/components/dismiss-button/index.d.ts +0 -9
  427. package/components/dismiss-button/styles.module.scss +0 -31
  428. package/components/dropdown/index.d.ts +0 -72
  429. package/components/dropdown/index.js.map +0 -1
  430. package/components/dropdown/list-item/custom.d.ts +0 -10
  431. package/components/dropdown/list-item/index.d.ts +0 -19
  432. package/components/dropdown/list-item/interactive.d.ts +0 -29
  433. package/components/dropdown/list-item/separator.d.ts +0 -8
  434. package/components/dropdown/list-item/styles.module.css +0 -222
  435. package/components/dropdown/list-item/title.d.ts +0 -10
  436. package/components/dropdown/list-item/title.js.map +0 -1
  437. package/components/dropdown/toggle-button/index.d.ts +0 -30
  438. package/components/dropdown/toggle-button/index.js.map +0 -1
  439. package/components/dropdown/toggle-button/styles.module.scss +0 -54
  440. package/components/flight-icon/index.d.ts +0 -44
  441. package/components/flight-icon/index.js.map +0 -1
  442. package/components/form/checkbox/form-checkbox.module.css +0 -88
  443. package/components/form/checkbox/index.d.ts +0 -45
  444. package/components/form/error/index.d.ts +0 -16
  445. package/components/form/field/index.d.ts +0 -19
  446. package/components/form/fieldset/index.d.ts +0 -18
  447. package/components/form/file-input/form-file-input.module.scss +0 -81
  448. package/components/form/file-input/index.d.ts +0 -27
  449. package/components/form/helper-text/index.d.ts +0 -11
  450. package/components/form/indicator/index.d.ts +0 -9
  451. package/components/form/label/index.d.ts +0 -14
  452. package/components/form/legend/index.d.ts +0 -12
  453. package/components/form/radio/form-radio.module.scss +0 -74
  454. package/components/form/radio/index.d.ts +0 -42
  455. package/components/form/radio-card/description.d.ts +0 -3
  456. package/components/form/radio-card/form-radio-card.module.css +0 -153
  457. package/components/form/radio-card/group.d.ts +0 -11
  458. package/components/form/radio-card/index.d.ts +0 -48
  459. package/components/form/radio-card/index.js.map +0 -1
  460. package/components/form/radio-card/label.d.ts +0 -3
  461. package/components/form/select/form-select.module.css +0 -89
  462. package/components/form/select/index.d.ts +0 -22
  463. package/components/form/select/index.js.map +0 -1
  464. package/components/form/super-select/form-super-select.module.css +0 -155
  465. package/components/form/super-select/index.d.ts +0 -55
  466. package/components/form/super-select/index.js.map +0 -1
  467. package/components/form/text-input/index.d.ts +0 -98
  468. package/components/form/text-input/index.js.map +0 -1
  469. package/components/form/text-input/styles.module.css +0 -158
  470. package/components/form/textarea/form-textarea.module.css +0 -88
  471. package/components/form/textarea/index.d.ts +0 -19
  472. package/components/form/textarea/index.js.map +0 -1
  473. package/components/form/toggle/form-toggle.module.scss +0 -164
  474. package/components/form/toggle/index.d.ts +0 -78
  475. package/components/hds/wrappers/tooltip.d.ts +0 -13
  476. package/components/icon-tile/index.d.ts +0 -21
  477. package/components/icon-tile/index.js.map +0 -1
  478. package/components/icon-tile/style.module.scss +0 -138
  479. package/components/index.d.ts +0 -60
  480. package/components/index.js +0 -120
  481. package/components/index.js.map +0 -1
  482. package/components/inline-link/index.d.ts +0 -40
  483. package/components/interactive/index.d.ts +0 -26
  484. package/components/interactive/index.js.map +0 -1
  485. package/components/legacy-button/index.d.ts +0 -5
  486. package/components/legacy-button/index.js.map +0 -1
  487. package/components/legacy-button/types.d.ts +0 -37
  488. package/components/legacy-button/utils.d.ts +0 -9
  489. package/components/legacy-button/utils.js.map +0 -1
  490. package/components/menu-primitive/index.d.ts +0 -14
  491. package/components/menu-primitive/index.js.map +0 -1
  492. package/components/menu-primitive/use-menu-primitive.d.ts +0 -9
  493. package/components/menu-primitive/use-menu-primitive.js.map +0 -1
  494. package/components/modal/index.d.ts +0 -13
  495. package/components/modal/index.js.map +0 -1
  496. package/components/modal/use-modal.d.ts +0 -8
  497. package/components/modal/use-modal.js.map +0 -1
  498. package/components/separator/index.d.ts +0 -10
  499. package/components/standalone-link/index.d.ts +0 -23
  500. package/components/standalone-link/index.js.map +0 -1
  501. package/components/standalone-link/styles.module.scss +0 -166
  502. package/components/table/index.d.ts +0 -58
  503. package/components/table/index.js.map +0 -1
  504. package/components/table/td.d.ts +0 -17
  505. package/components/table/td.js.map +0 -1
  506. package/components/table/th-button-tooltip.d.ts +0 -6
  507. package/components/table/th.d.ts +0 -34
  508. package/components/table/th.js.map +0 -1
  509. package/components/table/tr.d.ts +0 -12
  510. package/components/table/utils.d.ts +0 -16
  511. package/components/table/utils.js.map +0 -1
  512. package/components/tabs/index.d.ts +0 -21
  513. package/components/tabs/index.js.map +0 -1
  514. package/components/tabs/tab-panel.d.ts +0 -5
  515. package/components/tabs/tab-panel.js.map +0 -1
  516. package/components/tabs/tab.d.ts +0 -24
  517. package/components/tabs/tab.js.map +0 -1
  518. package/components/tabs/tabs.module.scss +0 -163
  519. package/components/tabs/use-tabs-context.d.ts +0 -15
  520. package/components/tabs/use-tabs-context.js.map +0 -1
  521. package/components/text/index.d.ts +0 -69
  522. package/components/text/index.js.map +0 -1
  523. package/components/visualizations/bar-chart/horizontal-chart/dataset-value/index.d.ts +0 -8
  524. package/components/visualizations/bar-chart/horizontal-chart/dataset-value/index.js +0 -62
  525. package/components/visualizations/bar-chart/horizontal-chart/dataset-value/index.js.map +0 -1
  526. package/components/visualizations/bar-chart/horizontal-chart/index.d.ts +0 -44
  527. package/components/visualizations/bar-chart/horizontal-chart/index.js +0 -104
  528. package/components/visualizations/bar-chart/horizontal-chart/index.js.map +0 -1
  529. package/components/visualizations/bar-chart/horizontal-chart/legend/index.d.ts +0 -10
  530. package/components/visualizations/bar-chart/horizontal-chart/style.module.css +0 -76
  531. package/components/visualizations/bar-chart/index.d.ts +0 -13
  532. package/components/visualizations/bar-chart/style.module.css +0 -39
  533. package/components/visualizations/donut-chart/components/arc-tooltip/index.d.ts +0 -3
  534. package/components/visualizations/donut-chart/components/external-arc-label/index.d.ts +0 -3
  535. package/components/visualizations/donut-chart/components/index.d.ts +0 -3
  536. package/components/visualizations/donut-chart/components/internal-arc-label/index.d.ts +0 -3
  537. package/components/visualizations/donut-chart/index.d.ts +0 -10
  538. package/components/visualizations/donut-chart/index.js +0 -90
  539. package/components/visualizations/donut-chart/index.js.map +0 -1
  540. package/components/visualizations/donut-chart/styles.module.css +0 -73
  541. package/components/visualizations/donut-chart/types.d.ts +0 -16
  542. package/hooks/use-media-query/index.js +0 -16
  543. package/hooks/use-media-query/index.js.map +0 -1
  544. package/index.d.ts +0 -3
  545. package/index.js +0 -163
  546. package/index.js.map +0 -1
  547. package/patterns/card/index.d.ts +0 -5
  548. package/patterns/card/newsroom-card/index.d.ts +0 -15
  549. package/patterns/card/partner-card/index.d.ts +0 -18
  550. package/patterns/card/person-card/index.d.ts +0 -15
  551. package/patterns/card/primitives.d.ts +0 -37
  552. package/patterns/card/promo-card/index.d.ts +0 -18
  553. package/patterns/card/resource-card/index.d.ts +0 -16
  554. package/patterns/card/style.module.css +0 -121
  555. package/patterns/card/thumbnails/index.d.ts +0 -13
  556. package/patterns/card/types.d.ts +0 -41
  557. package/patterns/card/unified-card/index.d.ts +0 -10
  558. package/patterns/card/unified-card/index.js.map +0 -1
  559. package/patterns/copy-button/clipboard.d.ts +0 -16
  560. package/patterns/copy-button/clipboard.js +0 -78
  561. package/patterns/copy-button/clipboard.js.map +0 -1
  562. package/patterns/copy-button/index.d.ts +0 -19
  563. package/patterns/copy-button/index.js +0 -57
  564. package/patterns/copy-button/index.js.map +0 -1
  565. package/patterns/index.d.ts +0 -15
  566. package/patterns/layout/index.d.ts +0 -69
  567. package/patterns/layout/layout.module.css +0 -72
  568. package/patterns/product-badge/index.d.ts +0 -11
  569. package/patterns/product-badge/style.module.css +0 -3
  570. package/patterns/product-logo/index.d.ts +0 -48
  571. package/patterns/related-content/index.d.ts +0 -6
  572. package/patterns/related-content/style.module.css +0 -74
  573. package/patterns/related-content/types.d.ts +0 -14
  574. package/style.css +0 -1
  575. package/styles/mixins/button.scss +0 -279
  576. package/styles/mixins/focus-ring.scss +0 -75
  577. package/utils/get-contrast-yiq.d.ts +0 -20
  578. package/utils/get-contrast-yiq.js.map +0 -1
  579. package/utils/hooks/use-screen-size.d.ts +0 -5
  580. package/utils/hooks/use-screen-size.js +0 -10
  581. package/utils/hooks/use-screen-size.js.map +0 -1
  582. package/utils/i18n/constants/index.js.map +0 -1
  583. package/utils/i18n/helpers/index.d.ts +0 -4
  584. package/utils/i18n/helpers/index.js +0 -8
  585. package/utils/i18n/helpers/index.js.map +0 -1
  586. package/utils/i18n/helpers/locale-provider.d.ts +0 -14
  587. package/utils/i18n/helpers/locale-provider.js +0 -19
  588. package/utils/i18n/helpers/locale-provider.js.map +0 -1
  589. package/utils/i18n/helpers/to-smart-sentence-case.d.ts +0 -2
  590. package/utils/i18n/helpers/to-smart-sentence-case.js.map +0 -1
  591. package/utils/i18n/helpers/to-smart-title-case.d.ts +0 -2
  592. package/utils/i18n/helpers/to-smart-title-case.js.map +0 -1
  593. package/utils/i18n/helpers/use-locale.d.ts +0 -2
  594. package/utils/i18n/helpers/use-locale.js +0 -14
  595. package/utils/i18n/helpers/use-locale.js.map +0 -1
  596. package/utils/i18n/index.d.ts +0 -11
  597. package/utils/i18n/index.js.map +0 -1
  598. package/utils/index.d.ts +0 -4
  599. package/utils/index.js +0 -14
  600. package/utils/index.js.map +0 -1
  601. package/utils/make-normalizer/index.d.ts +0 -30
  602. package/utils/make-normalizer/index.js.map +0 -1
  603. package/utils/mds-context/index.d.ts +0 -59
  604. package/utils/mds-context/index.js.map +0 -1
  605. /package/{components → dist/components}/accordion/index.js +0 -0
  606. /package/{components → dist/components}/accordion/index.js.map +0 -0
  607. /package/{components → dist/components}/accordion/item/button.js +0 -0
  608. /package/{components → dist/components}/accordion/item/button.js.map +0 -0
  609. /package/{components → dist/components}/accordion/item/index.js +0 -0
  610. /package/{components → dist/components}/accordion/style.module.scss.js +0 -0
  611. /package/{components → dist/components}/accordion/style.module.scss.js.map +0 -0
  612. /package/{components → dist/components}/alert/alert.module.scss.js +0 -0
  613. /package/{components → dist/components}/alert/alert.module.scss.js.map +0 -0
  614. /package/{components → dist/components}/alert/icon.js +0 -0
  615. /package/{components → dist/components}/alert/icon.js.map +0 -0
  616. /package/{components → dist/components}/alert/index.js +0 -0
  617. /package/{components → dist/components}/badge/index.js +0 -0
  618. /package/{components → dist/components}/badge/style.module.scss.js +0 -0
  619. /package/{components → dist/components}/badge/style.module.scss.js.map +0 -0
  620. /package/{components → dist/components}/badge-count/index.js +0 -0
  621. /package/{components → dist/components}/badge-count/style.module.scss.js +0 -0
  622. /package/{components → dist/components}/badge-count/style.module.scss.js.map +0 -0
  623. /package/{components → dist/components}/breadcrumbs/index.js +0 -0
  624. /package/{components → dist/components}/breadcrumbs/item/index.js +0 -0
  625. /package/{components → dist/components}/breadcrumbs/item/index.js.map +0 -0
  626. /package/{components → dist/components}/breadcrumbs/style.module.scss.js +0 -0
  627. /package/{components → dist/components}/breadcrumbs/style.module.scss.js.map +0 -0
  628. /package/{components → dist/components}/breadcrumbs/truncation-button/index.js +0 -0
  629. /package/{components → dist/components}/breadcrumbs/truncation-button/index.js.map +0 -0
  630. /package/{components → dist/components}/button/button-primitive.js +0 -0
  631. /package/{components → dist/components}/button/index.js +0 -0
  632. /package/{components → dist/components}/button/index.js.map +0 -0
  633. /package/{components → dist/components}/button/styles.module.scss.js +0 -0
  634. /package/{components → dist/components}/button/styles.module.scss.js.map +0 -0
  635. /package/{components → dist/components}/card/card-thumbnail/card-thumbnail.module.css +0 -0
  636. /package/{components → dist/components}/card/card-thumbnail/card-thumbnail.module.css.js +0 -0
  637. /package/{components → dist/components}/card/card-thumbnail/card-thumbnail.module.css.js.map +0 -0
  638. /package/{components → dist/components}/card/card-thumbnail/index.js +0 -0
  639. /package/{components → dist/components}/card/card-thumbnail/index.js.map +0 -0
  640. /package/{components → dist/components}/card/index.js +0 -0
  641. /package/{components → dist/components}/card/styles.module.css +0 -0
  642. /package/{components → dist/components}/card/styles.module.css.js +0 -0
  643. /package/{components → dist/components}/card/styles.module.css.js.map +0 -0
  644. /package/{components → dist/components}/code-block/code-block.module.scss.js +0 -0
  645. /package/{components → dist/components}/code-block/code-block.module.scss.js.map +0 -0
  646. /package/{components → dist/components}/code-block/code-lines/index.js +0 -0
  647. /package/{components → dist/components}/code-block/code-lines/index.js.map +0 -0
  648. /package/{components → dist/components}/code-block/code-lines/utils/split-html-into-lines.js +0 -0
  649. /package/{components → dist/components}/code-block/code-lines/utils/split-html-into-lines.js.map +0 -0
  650. /package/{components → dist/components}/code-block/code-lines/utils/split-jsx-into-lines.js +0 -0
  651. /package/{components → dist/components}/code-block/hidden-copy-content/index.js +0 -0
  652. /package/{components → dist/components}/code-block/index.js +0 -0
  653. /package/{components → dist/components}/code-block/utils/parse-highlighted-lines.js +0 -0
  654. /package/{components → dist/components}/code-block/utils/process-snippet.js +0 -0
  655. /package/{components → dist/components}/code-block/utils/process-snippet.js.map +0 -0
  656. /package/{components → dist/components}/code-block/utils/shellwords.js +0 -0
  657. /package/{components → dist/components}/combo-box-primitive/index.js +0 -0
  658. /package/{components → dist/components}/dialog-primitive/dialog.module.scss +0 -0
  659. /package/{components → dist/components}/dialog-primitive/dialog.module.scss.js +0 -0
  660. /package/{components → dist/components}/dialog-primitive/dialog.module.scss.js.map +0 -0
  661. /package/{components → dist/components}/dialog-primitive/index.js +0 -0
  662. /package/{components → dist/components}/disclosure-primitive/index.js +0 -0
  663. /package/{components → dist/components}/disclosure-primitive/styles.module.css +0 -0
  664. /package/{components → dist/components}/disclosure-primitive/styles.module.css.js +0 -0
  665. /package/{components → dist/components}/disclosure-primitive/styles.module.css.js.map +0 -0
  666. /package/{components → dist/components}/disclosure-primitive/use-disclosure-primitive.js +0 -0
  667. /package/{components → dist/components}/dismiss-button/index.js +0 -0
  668. /package/{components → dist/components}/dismiss-button/index.js.map +0 -0
  669. /package/{components → dist/components}/dismiss-button/styles.module.scss.js +0 -0
  670. /package/{components → dist/components}/dismiss-button/styles.module.scss.js.map +0 -0
  671. /package/{components → dist/components}/dropdown/index.js +0 -0
  672. /package/{components → dist/components}/dropdown/list-item/custom.js +0 -0
  673. /package/{components → dist/components}/dropdown/list-item/custom.js.map +0 -0
  674. /package/{components → dist/components}/dropdown/list-item/index.js +0 -0
  675. /package/{components → dist/components}/dropdown/list-item/index.js.map +0 -0
  676. /package/{components → dist/components}/dropdown/list-item/interactive.js +0 -0
  677. /package/{components → dist/components}/dropdown/list-item/interactive.js.map +0 -0
  678. /package/{components → dist/components}/dropdown/list-item/separator.js +0 -0
  679. /package/{components → dist/components}/dropdown/list-item/separator.js.map +0 -0
  680. /package/{components → dist/components}/dropdown/list-item/styles.module.css.js +0 -0
  681. /package/{components → dist/components}/dropdown/list-item/styles.module.css.js.map +0 -0
  682. /package/{components → dist/components}/dropdown/list-item/title.js +0 -0
  683. /package/{components → dist/components}/dropdown/styles.module.css +0 -0
  684. /package/{components → dist/components}/dropdown/styles.module.css.js +0 -0
  685. /package/{components → dist/components}/dropdown/styles.module.css.js.map +0 -0
  686. /package/{components → dist/components}/dropdown/toggle-button/index.js +0 -0
  687. /package/{components → dist/components}/dropdown/toggle-button/styles.module.scss.js +0 -0
  688. /package/{components → dist/components}/dropdown/toggle-button/styles.module.scss.js.map +0 -0
  689. /package/{components → dist/components}/flight-icon/flight-icon.module.css +0 -0
  690. /package/{components → dist/components}/flight-icon/flight-icon.module.css.js +0 -0
  691. /package/{components → dist/components}/flight-icon/flight-icon.module.css.js.map +0 -0
  692. /package/{components → dist/components}/flight-icon/index.js +0 -0
  693. /package/{components → dist/components}/form/checkbox/form-checkbox.module.css.js +0 -0
  694. /package/{components → dist/components}/form/checkbox/form-checkbox.module.css.js.map +0 -0
  695. /package/{components → dist/components}/form/checkbox/index.js +0 -0
  696. /package/{components → dist/components}/form/checkbox/index.js.map +0 -0
  697. /package/{components → dist/components}/form/error/form-error.module.css +0 -0
  698. /package/{components → dist/components}/form/error/form-error.module.css.js +0 -0
  699. /package/{components → dist/components}/form/error/form-error.module.css.js.map +0 -0
  700. /package/{components → dist/components}/form/error/index.js +0 -0
  701. /package/{components → dist/components}/form/error/index.js.map +0 -0
  702. /package/{components → dist/components}/form/field/form-field.module.css +0 -0
  703. /package/{components → dist/components}/form/field/form-field.module.css.js +0 -0
  704. /package/{components → dist/components}/form/field/form-field.module.css.js.map +0 -0
  705. /package/{components → dist/components}/form/field/index.js +0 -0
  706. /package/{components → dist/components}/form/field/index.js.map +0 -0
  707. /package/{components → dist/components}/form/fieldset/form-fieldset.module.css +0 -0
  708. /package/{components → dist/components}/form/fieldset/form-fieldset.module.css.js +0 -0
  709. /package/{components → dist/components}/form/fieldset/form-fieldset.module.css.js.map +0 -0
  710. /package/{components → dist/components}/form/fieldset/index.js +0 -0
  711. /package/{components → dist/components}/form/fieldset/index.js.map +0 -0
  712. /package/{components → dist/components}/form/file-input/form-file-input.module.scss.js +0 -0
  713. /package/{components → dist/components}/form/file-input/form-file-input.module.scss.js.map +0 -0
  714. /package/{components → dist/components}/form/file-input/index.js +0 -0
  715. /package/{components → dist/components}/form/file-input/index.js.map +0 -0
  716. /package/{components → dist/components}/form/helper-text/form-helper-text.module.css +0 -0
  717. /package/{components → dist/components}/form/helper-text/form-helper-text.module.css.js +0 -0
  718. /package/{components → dist/components}/form/helper-text/form-helper-text.module.css.js.map +0 -0
  719. /package/{components → dist/components}/form/helper-text/index.js +0 -0
  720. /package/{components → dist/components}/form/helper-text/index.js.map +0 -0
  721. /package/{components → dist/components}/form/indicator/form-indicator.module.css +0 -0
  722. /package/{components → dist/components}/form/indicator/form-indicator.module.css.js +0 -0
  723. /package/{components → dist/components}/form/indicator/form-indicator.module.css.js.map +0 -0
  724. /package/{components → dist/components}/form/indicator/index.js +0 -0
  725. /package/{components → dist/components}/form/indicator/index.js.map +0 -0
  726. /package/{components → dist/components}/form/label/form-label.module.css +0 -0
  727. /package/{components → dist/components}/form/label/form-label.module.css.js +0 -0
  728. /package/{components → dist/components}/form/label/form-label.module.css.js.map +0 -0
  729. /package/{components → dist/components}/form/label/index.js +0 -0
  730. /package/{components → dist/components}/form/label/index.js.map +0 -0
  731. /package/{components → dist/components}/form/legend/form-legend.module.css +0 -0
  732. /package/{components → dist/components}/form/legend/form-legend.module.css.js +0 -0
  733. /package/{components → dist/components}/form/legend/form-legend.module.css.js.map +0 -0
  734. /package/{components → dist/components}/form/legend/index.js +0 -0
  735. /package/{components → dist/components}/form/legend/index.js.map +0 -0
  736. /package/{components → dist/components}/form/radio/form-radio.module.scss.js +0 -0
  737. /package/{components → dist/components}/form/radio/form-radio.module.scss.js.map +0 -0
  738. /package/{components → dist/components}/form/radio/index.js +0 -0
  739. /package/{components → dist/components}/form/radio/index.js.map +0 -0
  740. /package/{components → dist/components}/form/radio-card/RadioCardStory.css +0 -0
  741. /package/{components → dist/components}/form/radio-card/description.js +0 -0
  742. /package/{components → dist/components}/form/radio-card/description.js.map +0 -0
  743. /package/{components → dist/components}/form/radio-card/form-radio-card.module.css.js +0 -0
  744. /package/{components → dist/components}/form/radio-card/form-radio-card.module.css.js.map +0 -0
  745. /package/{components → dist/components}/form/radio-card/group.js +0 -0
  746. /package/{components → dist/components}/form/radio-card/group.js.map +0 -0
  747. /package/{components → dist/components}/form/radio-card/index.js +0 -0
  748. /package/{components → dist/components}/form/radio-card/label.js +0 -0
  749. /package/{components → dist/components}/form/radio-card/label.js.map +0 -0
  750. /package/{components → dist/components}/form/select/form-select.module.css.js +0 -0
  751. /package/{components → dist/components}/form/select/form-select.module.css.js.map +0 -0
  752. /package/{components → dist/components}/form/select/index.js +0 -0
  753. /package/{components → dist/components}/form/super-select/form-super-select.module.css.js +0 -0
  754. /package/{components → dist/components}/form/super-select/form-super-select.module.css.js.map +0 -0
  755. /package/{components → dist/components}/form/super-select/index.js +0 -0
  756. /package/{components → dist/components}/form/text-input/index.js +0 -0
  757. /package/{components → dist/components}/form/text-input/styles.module.css.js +0 -0
  758. /package/{components → dist/components}/form/text-input/styles.module.css.js.map +0 -0
  759. /package/{components → dist/components}/form/textarea/form-textarea.module.css.js +0 -0
  760. /package/{components → dist/components}/form/textarea/form-textarea.module.css.js.map +0 -0
  761. /package/{components → dist/components}/form/textarea/index.js +0 -0
  762. /package/{components → dist/components}/form/toggle/form-toggle.module.scss.js +0 -0
  763. /package/{components → dist/components}/form/toggle/form-toggle.module.scss.js.map +0 -0
  764. /package/{components → dist/components}/form/toggle/index.js +0 -0
  765. /package/{components → dist/components}/form/toggle/index.js.map +0 -0
  766. /package/{components → dist/components}/hds/wrappers/tooltip.js +0 -0
  767. /package/{components → dist/components}/hds/wrappers/tooltip.js.map +0 -0
  768. /package/{components → dist/components}/icon-tile/index.js +0 -0
  769. /package/{components → dist/components}/icon-tile/style.module.scss.js +0 -0
  770. /package/{components → dist/components}/icon-tile/style.module.scss.js.map +0 -0
  771. /package/{components → dist/components}/inline-link/index.js +0 -0
  772. /package/{components → dist/components}/inline-link/index.js.map +0 -0
  773. /package/{components → dist/components}/inline-link/inline-link.module.css +0 -0
  774. /package/{components → dist/components}/inline-link/inline-link.module.css.js +0 -0
  775. /package/{components → dist/components}/inline-link/inline-link.module.css.js.map +0 -0
  776. /package/{components → dist/components}/interactive/index.js +0 -0
  777. /package/{components → dist/components}/legacy-button/index.js +0 -0
  778. /package/{components → dist/components}/legacy-button/utils.js +0 -0
  779. /package/{components → dist/components}/menu-primitive/index.js +0 -0
  780. /package/{components → dist/components}/menu-primitive/styles.module.css +0 -0
  781. /package/{components → dist/components}/menu-primitive/styles.module.css.js +0 -0
  782. /package/{components → dist/components}/menu-primitive/styles.module.css.js.map +0 -0
  783. /package/{components → dist/components}/menu-primitive/use-menu-primitive.js +0 -0
  784. /package/{components → dist/components}/modal/index.js +0 -0
  785. /package/{components → dist/components}/modal/modal.module.css +0 -0
  786. /package/{components → dist/components}/modal/modal.module.css.js +0 -0
  787. /package/{components → dist/components}/modal/modal.module.css.js.map +0 -0
  788. /package/{components → dist/components}/modal/use-modal.js +0 -0
  789. /package/{components → dist/components}/separator/index.js +0 -0
  790. /package/{components → dist/components}/separator/index.js.map +0 -0
  791. /package/{components → dist/components}/separator/separator.module.css +0 -0
  792. /package/{components → dist/components}/separator/separator.module.css.js +0 -0
  793. /package/{components → dist/components}/separator/separator.module.css.js.map +0 -0
  794. /package/{components → dist/components}/standalone-link/index.js +0 -0
  795. /package/{components → dist/components}/standalone-link/styles.module.scss.js +0 -0
  796. /package/{components → dist/components}/standalone-link/styles.module.scss.js.map +0 -0
  797. /package/{components → dist/components}/table/index.js +0 -0
  798. /package/{components → dist/components}/table/table.module.scss +0 -0
  799. /package/{components → dist/components}/table/table.module.scss.js +0 -0
  800. /package/{components → dist/components}/table/table.module.scss.js.map +0 -0
  801. /package/{components → dist/components}/table/td.js +0 -0
  802. /package/{components → dist/components}/table/th-button-tooltip.js +0 -0
  803. /package/{components → dist/components}/table/th-button-tooltip.js.map +0 -0
  804. /package/{components → dist/components}/table/th.js +0 -0
  805. /package/{components → dist/components}/table/tr.js +0 -0
  806. /package/{components → dist/components}/table/tr.js.map +0 -0
  807. /package/{components → dist/components}/table/utils.js +0 -0
  808. /package/{components → dist/components}/tabs/index.js +0 -0
  809. /package/{components → dist/components}/tabs/tab-panel.js +0 -0
  810. /package/{components → dist/components}/tabs/tab.js +0 -0
  811. /package/{components → dist/components}/tabs/tabs.module.scss.js +0 -0
  812. /package/{components → dist/components}/tabs/tabs.module.scss.js.map +0 -0
  813. /package/{components → dist/components}/tabs/use-tabs-context.js +0 -0
  814. /package/{components → dist/components}/text/index.js +0 -0
  815. /package/{components → dist/components}/text/style.module.scss +0 -0
  816. /package/{components → dist/components}/text/style.module.scss.js +0 -0
  817. /package/{components → dist/components}/text/style.module.scss.js.map +0 -0
  818. /package/{components → dist/components}/visualizations/bar-chart/horizontal-chart/dataset-value/style.module.css +0 -0
  819. /package/{components → dist/components}/visualizations/bar-chart/horizontal-chart/dataset-value/style.module.css.js +0 -0
  820. /package/{components → dist/components}/visualizations/bar-chart/horizontal-chart/dataset-value/style.module.css.js.map +0 -0
  821. /package/{components → dist/components}/visualizations/bar-chart/horizontal-chart/legend/index.js +0 -0
  822. /package/{components → dist/components}/visualizations/bar-chart/horizontal-chart/legend/index.js.map +0 -0
  823. /package/{components → dist/components}/visualizations/bar-chart/horizontal-chart/legend/style.module.css +0 -0
  824. /package/{components → dist/components}/visualizations/bar-chart/horizontal-chart/legend/style.module.css.js +0 -0
  825. /package/{components → dist/components}/visualizations/bar-chart/horizontal-chart/legend/style.module.css.js.map +0 -0
  826. /package/{components → dist/components}/visualizations/bar-chart/horizontal-chart/style.module.css.js +0 -0
  827. /package/{components → dist/components}/visualizations/bar-chart/horizontal-chart/style.module.css.js.map +0 -0
  828. /package/{components → dist/components}/visualizations/bar-chart/index.js +0 -0
  829. /package/{components → dist/components}/visualizations/bar-chart/index.js.map +0 -0
  830. /package/{components → dist/components}/visualizations/bar-chart/style.module.css.js +0 -0
  831. /package/{components → dist/components}/visualizations/bar-chart/style.module.css.js.map +0 -0
  832. /package/{components → dist/components}/visualizations/donut-chart/components/arc-tooltip/index.js +0 -0
  833. /package/{components → dist/components}/visualizations/donut-chart/components/arc-tooltip/index.js.map +0 -0
  834. /package/{components → dist/components}/visualizations/donut-chart/components/arc-tooltip/styles.module.css +0 -0
  835. /package/{components → dist/components}/visualizations/donut-chart/components/arc-tooltip/styles.module.css.js +0 -0
  836. /package/{components → dist/components}/visualizations/donut-chart/components/arc-tooltip/styles.module.css.js.map +0 -0
  837. /package/{components → dist/components}/visualizations/donut-chart/components/external-arc-label/index.js +0 -0
  838. /package/{components → dist/components}/visualizations/donut-chart/components/external-arc-label/index.js.map +0 -0
  839. /package/{components → dist/components}/visualizations/donut-chart/components/external-arc-label/styles.module.css +0 -0
  840. /package/{components → dist/components}/visualizations/donut-chart/components/external-arc-label/styles.module.css.js +0 -0
  841. /package/{components → dist/components}/visualizations/donut-chart/components/external-arc-label/styles.module.css.js.map +0 -0
  842. /package/{components → dist/components}/visualizations/donut-chart/components/internal-arc-label/index.js +0 -0
  843. /package/{components → dist/components}/visualizations/donut-chart/components/internal-arc-label/index.js.map +0 -0
  844. /package/{components → dist/components}/visualizations/donut-chart/components/internal-arc-label/styles.module.css +0 -0
  845. /package/{components → dist/components}/visualizations/donut-chart/components/internal-arc-label/styles.module.css.js +0 -0
  846. /package/{components → dist/components}/visualizations/donut-chart/components/internal-arc-label/styles.module.css.js.map +0 -0
  847. /package/{components → dist/components}/visualizations/donut-chart/styles.module.css.js +0 -0
  848. /package/{components → dist/components}/visualizations/donut-chart/styles.module.css.js.map +0 -0
  849. /package/{patterns → dist/patterns}/card/newsroom-card/index.js +0 -0
  850. /package/{patterns → dist/patterns}/card/newsroom-card/index.js.map +0 -0
  851. /package/{patterns → dist/patterns}/card/newsroom-card/style.module.css +0 -0
  852. /package/{patterns → dist/patterns}/card/newsroom-card/style.module.css.js +0 -0
  853. /package/{patterns → dist/patterns}/card/newsroom-card/style.module.css.js.map +0 -0
  854. /package/{patterns → dist/patterns}/card/partner-card/index.js +0 -0
  855. /package/{patterns → dist/patterns}/card/partner-card/index.js.map +0 -0
  856. /package/{patterns → dist/patterns}/card/partner-card/style.module.css +0 -0
  857. /package/{patterns → dist/patterns}/card/partner-card/style.module.css.js +0 -0
  858. /package/{patterns → dist/patterns}/card/partner-card/style.module.css.js.map +0 -0
  859. /package/{patterns → dist/patterns}/card/person-card/index.js +0 -0
  860. /package/{patterns → dist/patterns}/card/person-card/index.js.map +0 -0
  861. /package/{patterns → dist/patterns}/card/person-card/style.module.css +0 -0
  862. /package/{patterns → dist/patterns}/card/person-card/style.module.css.js +0 -0
  863. /package/{patterns → dist/patterns}/card/person-card/style.module.css.js.map +0 -0
  864. /package/{patterns → dist/patterns}/card/primitives.js +0 -0
  865. /package/{patterns → dist/patterns}/card/primitives.js.map +0 -0
  866. /package/{patterns → dist/patterns}/card/promo-card/index.js +0 -0
  867. /package/{patterns → dist/patterns}/card/promo-card/index.js.map +0 -0
  868. /package/{patterns → dist/patterns}/card/resource-card/index.js +0 -0
  869. /package/{patterns → dist/patterns}/card/resource-card/index.js.map +0 -0
  870. /package/{patterns → dist/patterns}/card/style.module.css.js +0 -0
  871. /package/{patterns → dist/patterns}/card/style.module.css.js.map +0 -0
  872. /package/{patterns → dist/patterns}/card/thumbnails/index.js +0 -0
  873. /package/{patterns → dist/patterns}/card/thumbnails/index.js.map +0 -0
  874. /package/{patterns → dist/patterns}/card/unified-card/index.js +0 -0
  875. /package/{patterns → dist/patterns}/copy-button/style.module.css +0 -0
  876. /package/{patterns → dist/patterns}/copy-button/style.module.css.js +0 -0
  877. /package/{patterns → dist/patterns}/copy-button/style.module.css.js.map +0 -0
  878. /package/{patterns → dist/patterns}/index.js +0 -0
  879. /package/{patterns → dist/patterns}/index.js.map +0 -0
  880. /package/{patterns → dist/patterns}/layout/index.js +0 -0
  881. /package/{patterns → dist/patterns}/layout/index.js.map +0 -0
  882. /package/{patterns → dist/patterns}/layout/layout.module.css.js +0 -0
  883. /package/{patterns → dist/patterns}/layout/layout.module.css.js.map +0 -0
  884. /package/{patterns → dist/patterns}/product-badge/index.js +0 -0
  885. /package/{patterns → dist/patterns}/product-badge/index.js.map +0 -0
  886. /package/{patterns → dist/patterns}/product-badge/style.module.css.js +0 -0
  887. /package/{patterns → dist/patterns}/product-badge/style.module.css.js.map +0 -0
  888. /package/{patterns → dist/patterns}/product-logo/index.js +0 -0
  889. /package/{patterns → dist/patterns}/product-logo/index.js.map +0 -0
  890. /package/{patterns → dist/patterns}/product-logo/product-logo.module.css +0 -0
  891. /package/{patterns → dist/patterns}/product-logo/product-logo.module.css.js +0 -0
  892. /package/{patterns → dist/patterns}/product-logo/product-logo.module.css.js.map +0 -0
  893. /package/{patterns → dist/patterns}/related-content/index.js +0 -0
  894. /package/{patterns → dist/patterns}/related-content/index.js.map +0 -0
  895. /package/{patterns → dist/patterns}/related-content/style.module.css.js +0 -0
  896. /package/{patterns → dist/patterns}/related-content/style.module.css.js.map +0 -0
  897. /package/{utils → dist/utils}/get-contrast-yiq.js +0 -0
  898. /package/{utils → dist/utils}/i18n/constants/index.js +0 -0
  899. /package/{utils → dist/utils}/i18n/helpers/to-smart-sentence-case.js +0 -0
  900. /package/{utils → dist/utils}/i18n/helpers/to-smart-title-case.js +0 -0
  901. /package/{utils → dist/utils}/i18n/index.js +0 -0
  902. /package/{utils → dist/utils}/make-normalizer/index.js +0 -0
  903. /package/{utils → dist/utils}/mds-context/index.js +0 -0
@@ -0,0 +1,78 @@
1
+ const a = (e) => {
2
+ let o;
3
+ if (e)
4
+ if (typeof e == "string")
5
+ o = e;
6
+ else if (
7
+ // context: https://github.com/hashicorp/design-system/pull/1564
8
+ typeof e == "number" || typeof e == "bigint"
9
+ )
10
+ o = e.toString();
11
+ else
12
+ throw new Error(
13
+ `\`hds-clipboard\` modifier - \`text\` argument must be a string - provided: ${typeof e}`
14
+ );
15
+ return o;
16
+ }, d = (e) => {
17
+ let o;
18
+ if (typeof e == "string") {
19
+ if (o = document.querySelector(e), !o) {
20
+ console.error(
21
+ "`hds-clipboard` modifier - `target` selector provided does not point to an existing DOM node, check your selector string",
22
+ o
23
+ );
24
+ return;
25
+ }
26
+ } else if (e instanceof Node && e.nodeType === Node.ELEMENT_NODE)
27
+ o = e;
28
+ else
29
+ throw e instanceof NodeList ? new Error(
30
+ "`hds-clipboard` modifier - `target` argument must be a string or a DOM node - provided: a list of DOM nodes"
31
+ ) : new Error(
32
+ `\`hds-clipboard\` modifier - \`target\` argument must be a string or a DOM node - provided: ${typeof e}`
33
+ );
34
+ return o;
35
+ }, l = (e) => {
36
+ let o;
37
+ return e instanceof Node && e.nodeType === Node.ELEMENT_NODE && (e instanceof HTMLInputElement || // targetElement.nodeName === 'INPUT' ||
38
+ e instanceof HTMLTextAreaElement || // targetElement.nodeName === 'TEXTAREA' ||
39
+ e instanceof HTMLSelectElement ? o = e.value : o = e.innerText), o;
40
+ }, f = async (e) => {
41
+ if (e)
42
+ try {
43
+ return await navigator.clipboard.writeText(e), !0;
44
+ } catch {
45
+ return console.warn(
46
+ "copy action failed, please check your browser‘s permissions",
47
+ {
48
+ id: "hds-clipboard.write-text-to-clipboard.catch-error"
49
+ }
50
+ ), !1;
51
+ }
52
+ else
53
+ return !1;
54
+ }, p = async (e, o, r) => {
55
+ let t;
56
+ if (r)
57
+ t = r();
58
+ else if (e)
59
+ t = a(e);
60
+ else if (o) {
61
+ const n = d(o);
62
+ t = l(n);
63
+ } else
64
+ throw new Error(
65
+ "`hds-clipboard` modifier - either a `getTextFn`, `text`, or a `target` argument is required"
66
+ );
67
+ return await f(t);
68
+ }, T = (e) => {
69
+ const { text: o, target: r, getTextFn: t, onSuccess: i, onError: n } = e;
70
+ return { onClick: async (c) => {
71
+ const s = c.currentTarget;
72
+ await p(o, r, t) ? typeof i == "function" && i({ trigger: s, text: o, target: r }) : typeof n == "function" && n({ trigger: s, text: o, target: r });
73
+ } };
74
+ };
75
+ export {
76
+ T as onClipboardClickHandler
77
+ };
78
+ //# sourceMappingURL=clipboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clipboard.js","sources":["../../src/utils/clipboard.ts"],"sourcesContent":["import type { MouseEvent } from 'react'\n\nconst getTextToCopy = (text: string | number | bigint) => {\n\tlet textToCopy: string\n\n\tif (text) {\n\t\tif (typeof text === 'string') {\n\t\t\ttextToCopy = text\n\t\t} else if (\n\t\t\t// context: https://github.com/hashicorp/design-system/pull/1564\n\t\t\ttypeof text === 'number' ||\n\t\t\ttypeof text === 'bigint'\n\t\t) {\n\t\t\ttextToCopy = text.toString()\n\t\t} else {\n\t\t\tthrow new Error(\n\t\t\t\t`\\`hds-clipboard\\` modifier - \\`text\\` argument must be a string - provided: ${typeof text}`,\n\t\t\t)\n\t\t}\n\t}\n\treturn textToCopy!\n}\n\nconst getTargetElement = (target: string | Element) => {\n\tlet targetElement: Element | null\n\tif (typeof target === 'string') {\n\t\ttargetElement = document.querySelector(target)\n\n\t\tif (!targetElement) {\n\t\t\tconsole.error(\n\t\t\t\t'`hds-clipboard` modifier - `target` selector provided does not point to an existing DOM node, check your selector string',\n\t\t\t\ttargetElement,\n\t\t\t)\n\t\t\treturn\n\t\t}\n\t} else if (target instanceof Node && target.nodeType === Node.ELEMENT_NODE) {\n\t\ttargetElement = target\n\t} else {\n\t\tif (target instanceof NodeList) {\n\t\t\tthrow new Error(\n\t\t\t\t'`hds-clipboard` modifier - `target` argument must be a string or a DOM node - provided: a list of DOM nodes',\n\t\t\t)\n\t\t} else {\n\t\t\tthrow new Error(\n\t\t\t\t`\\`hds-clipboard\\` modifier - \\`target\\` argument must be a string or a DOM node - provided: ${typeof target}`,\n\t\t\t)\n\t\t}\n\t}\n\treturn targetElement\n}\n\nconst getTextToCopyFromTargetElement = (targetElement: Element | undefined) => {\n\tlet textToCopy: string | undefined\n\tif (\n\t\ttargetElement instanceof Node &&\n\t\ttargetElement.nodeType === Node.ELEMENT_NODE\n\t) {\n\t\tif (\n\t\t\ttargetElement instanceof HTMLInputElement || // targetElement.nodeName === 'INPUT' ||\n\t\t\ttargetElement instanceof HTMLTextAreaElement || // targetElement.nodeName === 'TEXTAREA' ||\n\t\t\ttargetElement instanceof HTMLSelectElement // targetElement.nodeName === 'SELECT'\n\t\t) {\n\t\t\ttextToCopy = targetElement.value\n\t\t} else {\n\t\t\t// simplest approach\n\t\t\ttextToCopy = (targetElement as HTMLElement).innerText\n\n\t\t\t// approach based on text selection (left for backup just in case)\n\t\t\t// var selection = window.getSelection();\n\t\t\t// var range = document.createRange();\n\t\t\t// selection.removeAllRanges();\n\t\t\t// range.selectNodeContents(targetElement);\n\t\t\t// selection.addRange(range);\n\t\t\t// textToCopy = selection.toString();\n\t\t\t// selection.removeAllRanges();\n\t\t}\n\t}\n\treturn textToCopy\n}\n\nconst writeTextToClipboard = async (textToCopy: string | undefined) => {\n\t// finally copy the text to the clipboard using the Clipboard API\n\t// https://developer.mozilla.org/en-US/docs/Web/API/Clipboard_API\n\tif (textToCopy) {\n\t\ttry {\n\t\t\t// notice: the \"clipboard-write\" permission is granted automatically to pages when they are in the active tab\n\t\t\t// https://developer.mozilla.org/en-US/docs/Web/API/Clipboard/write\n\t\t\tawait navigator.clipboard.writeText(textToCopy)\n\t\t\t// DEBUG uncomment this for easy debugging\n\t\t\t// console.log('success', textToCopy);\n\t\t\treturn true\n\t\t} catch (error) {\n\t\t\t// clipboard write failed\n\t\t\t// this probably never happens (see comment above) or happens only for very old browsers that don't for which `navigator.clipboard` is undefined\n\t\t\tconsole.warn(\n\t\t\t\t'copy action failed, please check your browser‘s permissions',\n\t\t\t\t{\n\t\t\t\t\tid: 'hds-clipboard.write-text-to-clipboard.catch-error',\n\t\t\t\t},\n\t\t\t)\n\t\t\treturn false\n\t\t}\n\t} else {\n\t\treturn false\n\t}\n}\n\nconst copyToClipboard = async (\n\ttext: string | number | bigint | undefined,\n\ttarget: string | Element | undefined,\n\tgetTextFn: (() => string) | undefined,\n) => {\n\tlet textToCopy: string | undefined\n\n\tif (getTextFn) {\n\t\ttextToCopy = getTextFn()\n\t} else if (text) {\n\t\ttextToCopy = getTextToCopy(text)\n\t} else if (target) {\n\t\tconst targetElement = getTargetElement(target)\n\t\ttextToCopy = getTextToCopyFromTargetElement(targetElement)\n\t} else {\n\t\tthrow new Error(\n\t\t\t'`hds-clipboard` modifier - either a `getTextFn`, `text`, or a `target` argument is required',\n\t\t)\n\t}\n\tconst success = await writeTextToClipboard(textToCopy)\n\treturn success\n}\n\ntype ClipboardHandlerArgs = {\n\ttrigger: Element\n\ttext: string | number | bigint | undefined\n\ttarget: string | Element | undefined\n}\n\nconst onClipboardClickHandler = (named: {\n\ttext: string | number | bigint | undefined\n\ttarget: string | Element | undefined\n\tgetTextFn: (() => string) | undefined\n\tonSuccess: (args: ClipboardHandlerArgs) => void\n\tonError: (args: ClipboardHandlerArgs) => void\n}) => {\n\tconst { text, target, getTextFn, onSuccess, onError } = named\n\n\tconst onClick = async (event: MouseEvent<HTMLButtonElement>) => {\n\t\tconst trigger = event.currentTarget\n\t\tconst success = await copyToClipboard(text, target, getTextFn)\n\n\t\t// fire the `onSuccess/onError` callbacks (if provided)\n\t\tif (success) {\n\t\t\tif (typeof onSuccess === 'function') {\n\t\t\t\tonSuccess({ trigger, text, target })\n\t\t\t}\n\t\t} else {\n\t\t\tif (typeof onError === 'function') {\n\t\t\t\tonError({ trigger, text, target })\n\t\t\t}\n\t\t}\n\t}\n\n\treturn { onClick }\n}\n\nexport { onClipboardClickHandler, type ClipboardHandlerArgs }\n"],"names":["getTextToCopy","text","textToCopy","getTargetElement","target","targetElement","getTextToCopyFromTargetElement","writeTextToClipboard","copyToClipboard","getTextFn","onClipboardClickHandler","named","onSuccess","onError","event","trigger"],"mappings":"AAEA,MAAMA,IAAgB,CAACC,MAAmC;AACzD,MAAIC;AAEJ,MAAID;AACH,QAAI,OAAOA,KAAS;AACnB,MAAAC,IAAaD;AAAA;AAAA;AAAA,MAGb,OAAOA,KAAS,YAChB,OAAOA,KAAS;AAAA;AAEhB,MAAAC,IAAaD,EAAK,SAAA;AAAA;AAElB,YAAM,IAAI;AAAA,QACT,+EAA+E,OAAOA,CAAI;AAAA,MAAA;AAI7F,SAAOC;AACR,GAEMC,IAAmB,CAACC,MAA6B;AACtD,MAAIC;AACJ,MAAI,OAAOD,KAAW;AAGrB,QAFAC,IAAgB,SAAS,cAAcD,CAAM,GAEzC,CAACC,GAAe;AACnB,cAAQ;AAAA,QACP;AAAA,QACAA;AAAA,MAAA;AAED;AAAA,IACD;AAAA,aACUD,aAAkB,QAAQA,EAAO,aAAa,KAAK;AAC7D,IAAAC,IAAgBD;AAAA;AAEhB,UAAIA,aAAkB,WACf,IAAI;AAAA,MACT;AAAA,IAAA,IAGK,IAAI;AAAA,MACT,+FAA+F,OAAOA,CAAM;AAAA,IAAA;AAI/G,SAAOC;AACR,GAEMC,IAAiC,CAACD,MAAuC;AAC9E,MAAIH;AACJ,SACCG,aAAyB,QACzBA,EAAc,aAAa,KAAK,iBAG/BA,aAAyB;AAAA,EACzBA,aAAyB;AAAA,EACzBA,aAAyB,oBAEzBH,IAAaG,EAAc,QAG3BH,IAAcG,EAA8B,YAYvCH;AACR,GAEMK,IAAuB,OAAOL,MAAmC;AAGtE,MAAIA;AACH,QAAI;AAGH,mBAAM,UAAU,UAAU,UAAUA,CAAU,GAGvC;AAAA,IACR,QAAgB;AAGf,qBAAQ;AAAA,QACP;AAAA,QACA;AAAA,UACC,IAAI;AAAA,QAAA;AAAA,MACL,GAEM;AAAA,IACR;AAAA;AAEA,WAAO;AAET,GAEMM,IAAkB,OACvBP,GACAG,GACAK,MACI;AACJ,MAAIP;AAEJ,MAAIO;AACH,IAAAP,IAAaO,EAAA;AAAA,WACHR;AACV,IAAAC,IAAaF,EAAcC,CAAI;AAAA,WACrBG,GAAQ;AAClB,UAAMC,IAAgBF,EAAiBC,CAAM;AAC7C,IAAAF,IAAaI,EAA+BD,CAAa;AAAA,EAC1D;AACC,UAAM,IAAI;AAAA,MACT;AAAA,IAAA;AAIF,SADgB,MAAME,EAAqBL,CAAU;AAEtD,GAQMQ,IAA0B,CAACC,MAM3B;AACL,QAAM,EAAE,MAAAV,GAAM,QAAAG,GAAQ,WAAAK,GAAW,WAAAG,GAAW,SAAAC,MAAYF;AAkBxD,SAAO,EAAE,SAhBO,OAAOG,MAAyC;AAC/D,UAAMC,IAAUD,EAAM;AAItB,IAHgB,MAAMN,EAAgBP,GAAMG,GAAQK,CAAS,IAIxD,OAAOG,KAAc,cACxBA,EAAU,EAAE,SAAAG,GAAS,MAAAd,GAAM,QAAAG,EAAA,CAAQ,IAGhC,OAAOS,KAAY,cACtBA,EAAQ,EAAE,SAAAE,GAAS,MAAAd,GAAM,QAAAG,EAAA,CAAQ;AAAA,EAGpC,EAES;AACV;"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Calculates the contrast of an RGB color and determines whether to use dark or light text.
3
+ * @param rgb - An object containing the red (r), green (g), and blue (b) components of the color.
4
+ * @returns A string indicating whether to use 'dark' or 'light'.
5
+ */
6
+ export declare const getContrastYIQ: (rgb: {
7
+ r: number;
8
+ g: number;
9
+ b: number;
10
+ }) => string;
11
+ /**
12
+ * Converts a HEX color string to an RGB object.
13
+ * @param hex - The HEX color string (e.g., "#ffffff").
14
+ * @returns An object containing the red (r), green (g), and blue (b) components, and black if the HEX string is invalid.
15
+ */
16
+ export declare const hexToRgb: (hex: string) => {
17
+ r: number;
18
+ g: number;
19
+ b: number;
20
+ };
21
+ //# sourceMappingURL=get-contrast-yiq.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-contrast-yiq.d.ts","sourceRoot":"","sources":["../../src/utils/get-contrast-yiq.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,KAAK;IACnC,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACT,KAAG,MAKH,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM,KAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAWvE,CAAA"}
@@ -0,0 +1 @@
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\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;"}
@@ -0,0 +1,2 @@
1
+ export declare const useMediaQuery: (query: string) => boolean;
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/hooks/use-media-query/index.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,YAkB1C,CAAA"}
@@ -0,0 +1,16 @@
1
+ import { useState as r, useEffect as i } from "react";
2
+ const o = (s) => {
3
+ const [t, a] = r(!1);
4
+ return i(() => {
5
+ const e = window.matchMedia(s);
6
+ e.matches !== t && a(e.matches);
7
+ const n = (c) => {
8
+ a(c.matches);
9
+ };
10
+ return e.addEventListener("change", n), () => e.removeEventListener("change", n);
11
+ }, [t, s]), t;
12
+ };
13
+ export {
14
+ o as useMediaQuery
15
+ };
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/utils/hooks/use-media-query/index.ts"],"sourcesContent":["import { useEffect, useState } from 'react'\n\nexport const useMediaQuery = (query: string) => {\n\tconst [matches, setMatches] = useState(false)\n\n\tuseEffect(() => {\n\t\tconst media = window.matchMedia(query)\n\t\tif (media.matches !== matches) {\n\t\t\tsetMatches(media.matches)\n\t\t}\n\n\t\tconst listener = (event: MediaQueryListEvent) => {\n\t\t\tsetMatches(event.matches)\n\t\t}\n\n\t\tmedia.addEventListener('change', listener)\n\t\treturn () => media.removeEventListener('change', listener)\n\t}, [matches, query])\n\n\treturn matches\n}\n"],"names":["useMediaQuery","query","matches","setMatches","useState","useEffect","media","listener","event"],"mappings":";AAEO,MAAMA,IAAgB,CAACC,MAAkB;AAC/C,QAAM,CAACC,GAASC,CAAU,IAAIC,EAAS,EAAK;AAE5C,SAAAC,EAAU,MAAM;AACf,UAAMC,IAAQ,OAAO,WAAWL,CAAK;AACrC,IAAIK,EAAM,YAAYJ,KACrBC,EAAWG,EAAM,OAAO;AAGzB,UAAMC,IAAW,CAACC,MAA+B;AAChD,MAAAL,EAAWK,EAAM,OAAO;AAAA,IACzB;AAEA,WAAAF,EAAM,iBAAiB,UAAUC,CAAQ,GAClC,MAAMD,EAAM,oBAAoB,UAAUC,CAAQ;AAAA,EAC1D,GAAG,CAACL,GAASD,CAAK,CAAC,GAEZC;AACR;"}
@@ -0,0 +1,6 @@
1
+ declare const useSmall: () => boolean;
2
+ declare const useMedium: () => boolean;
3
+ declare const useMediumUp: () => boolean;
4
+ declare const useLarge: () => boolean;
5
+ export { useSmall, useMedium, useMediumUp, useLarge };
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/hooks/use-screen-size/index.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,QAAQ,eAA4C,CAAA;AAC1D,QAAA,MAAM,SAAS,eAC6C,CAAA;AAC5D,QAAA,MAAM,WAAW,eAA4C,CAAA;AAC7D,QAAA,MAAM,QAAQ,eAA6C,CAAA;AAE3D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAA"}
@@ -0,0 +1,10 @@
1
+ "use client";
2
+ import { useMediaQuery as e } from "../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=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/utils/hooks/use-screen-size/index.ts"],"sourcesContent":["'use client'\n\nimport { useMediaQuery } from '../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;"}
@@ -0,0 +1,15 @@
1
+ import type { SupportedLocale } from '../types';
2
+ export declare const DEFAULT_LOCALE = "en";
3
+ export declare const LOCALE_LANGUAGE_MAP: {
4
+ en: string;
5
+ fr: string;
6
+ de: string;
7
+ ja: string;
8
+ ko: string;
9
+ pt: string;
10
+ es: string;
11
+ id: string;
12
+ };
13
+ export declare const SUPPORTED_LOCALES: SupportedLocale[];
14
+ export declare const smallWordsByLocale: Record<SupportedLocale, Set<string>>;
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/i18n/constants/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE/C,eAAO,MAAM,cAAc,OAAO,CAAA;AAElC,eAAO,MAAM,mBAAmB;;;;;;;;;CAS/B,CAAA;AAED,eAAO,MAAM,iBAAiB,EAEzB,eAAe,EAAE,CAAA;AAEtB,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAwFnE,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/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","LOCALE_LANGUAGE_MAP","SUPPORTED_LOCALES","smallWordsByLocale"],"mappings":"AAEO,MAAMA,IAAiB,MAEjBC,IAAsB;AAAA,EAClC,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACL,GAEaC,IAAoB,OAAO;AAAA,EACvCD;AACD,GAEaE,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;"}
@@ -0,0 +1,6 @@
1
+ export { LocaleProvider } from './locale-provider';
2
+ export { toSmartSentenceCase } from './to-smart-sentence-case';
3
+ export { toSmartTitleCase } from './to-smart-title-case';
4
+ export { useLocale } from './use-locale';
5
+ export { isSupportedLocale } from './is-supported-local';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/i18n/helpers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { SupportedLocale } from '../types';
2
+ export declare function isSupportedLocale(locale: string): locale is SupportedLocale;
3
+ //# sourceMappingURL=is-supported-local.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-supported-local.d.ts","sourceRoot":"","sources":["../../../../src/utils/i18n/helpers/is-supported-local.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE/C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,eAAe,CAE3E"}
@@ -0,0 +1,8 @@
1
+ import { SUPPORTED_LOCALES as r } from "../constants/index.js";
2
+ function t(o) {
3
+ return r.includes(o);
4
+ }
5
+ export {
6
+ t as isSupportedLocale
7
+ };
8
+ //# sourceMappingURL=is-supported-local.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-supported-local.js","sources":["../../../../src/utils/i18n/helpers/is-supported-local.ts"],"sourcesContent":["import { SUPPORTED_LOCALES } from '../constants'\nimport type { SupportedLocale } from '../types'\n\nexport function isSupportedLocale(locale: string): locale is SupportedLocale {\n\treturn SUPPORTED_LOCALES.includes(locale as SupportedLocale)\n}\n"],"names":["isSupportedLocale","locale","SUPPORTED_LOCALES"],"mappings":";AAGO,SAASA,EAAkBC,GAA2C;AAC5E,SAAOC,EAAkB,SAASD,CAAyB;AAC5D;"}
@@ -0,0 +1,15 @@
1
+ import { type PropsWithChildren } from 'react';
2
+ import type { SupportedLocale } from '../types';
3
+ type LocaleContextValue = {
4
+ locale: SupportedLocale;
5
+ };
6
+ interface LocaleProviderProps extends PropsWithChildren {
7
+ /**
8
+ * Supported locales can be found in `SUPPORTED_LOCALES`.
9
+ */
10
+ locale: string;
11
+ }
12
+ export declare const LocaleContext: import("react").Context<LocaleContextValue | undefined>;
13
+ export declare const LocaleProvider: ({ locale, children }: LocaleProviderProps) => import("react/jsx-runtime").JSX.Element;
14
+ export {};
15
+ //# sourceMappingURL=locale-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locale-provider.d.ts","sourceRoot":"","sources":["../../../../src/utils/i18n/helpers/locale-provider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAQ/C,KAAK,kBAAkB,GAAG;IACzB,MAAM,EAAE,eAAe,CAAA;CACvB,CAAA;AAED,UAAU,mBAAoB,SAAQ,iBAAiB;IACtD;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;CACd;AAED,eAAO,MAAM,aAAa,yDAEzB,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,sBAAsB,mBAAmB,4CAQvE,CAAA"}
@@ -0,0 +1,19 @@
1
+ "use client";
2
+ import { jsx as t } from "react/jsx-runtime";
3
+ import { createContext as c } from "react";
4
+ import { DEFAULT_LOCALE as l } from "../constants/index.js";
5
+ import { isSupportedLocale as i } from "./is-supported-local.js";
6
+ function n(o) {
7
+ return i(o) ? o : l;
8
+ }
9
+ const a = c(
10
+ void 0
11
+ ), v = ({ locale: o, children: e }) => {
12
+ const r = n(o);
13
+ return /* @__PURE__ */ t(a.Provider, { value: { locale: r }, children: e });
14
+ };
15
+ export {
16
+ a as LocaleContext,
17
+ v as LocaleProvider
18
+ };
19
+ //# sourceMappingURL=locale-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locale-provider.js","sources":["../../../../src/utils/i18n/helpers/locale-provider.tsx"],"sourcesContent":["'use client'\n\nimport { createContext, type PropsWithChildren } from 'react'\nimport type { SupportedLocale } from '../types'\nimport { DEFAULT_LOCALE } from '../constants'\nimport { isSupportedLocale } from '../helpers'\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":["resolveLocale","isSupportedLocale","input","DEFAULT_LOCALE","LocaleContext","createContext","locale","children","jsx","resolvedLocale"],"mappings":";;;;;AAQC,SAAOA,KAAkB;AAC1B,SAAAC,EAAAC,CAAA,IAAAA,IAAAC;AAaO;AAAsB,MAC5BC,IAAAC;AAAA,EACD;AAEO,OACA,CAAA,EAAiB,QAAAC,GAAA,UAAAC,QAAoB;AAE3C,YACCP,GAAe;AAIjB,SAAA,gBAAAQ,EAAAJ,EAAA,UAAA,EAAA,OAAA,EAAA,QAAAK,EAAA,GAAA,UAAAF,EAAA,CAAA;;"}
@@ -0,0 +1,3 @@
1
+ import type { SupportedLocale } from '../types';
2
+ export declare function toSmartSentenceCase(text: string, locale: SupportedLocale): string;
3
+ //# sourceMappingURL=to-smart-sentence-case.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"to-smart-sentence-case.d.ts","sourceRoot":"","sources":["../../../../src/utils/i18n/helpers/to-smart-sentence-case.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE/C,wBAAgB,mBAAmB,CAClC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,eAAe,GACrB,MAAM,CAiBR"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"to-smart-sentence-case.js","sources":["../../../../src/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;"}
@@ -0,0 +1,3 @@
1
+ import type { SupportedLocale } from '../types';
2
+ export declare function toSmartTitleCase(text: string, locale: SupportedLocale): string;
3
+ //# sourceMappingURL=to-smart-title-case.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"to-smart-title-case.d.ts","sourceRoot":"","sources":["../../../../src/utils/i18n/helpers/to-smart-title-case.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE/C,wBAAgB,gBAAgB,CAC/B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,eAAe,GACrB,MAAM,CA2BR"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"to-smart-title-case.js","sources":["../../../../src/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;"}
@@ -0,0 +1,3 @@
1
+ import type { SupportedLocale } from '../types';
2
+ export declare function useLocale(): SupportedLocale;
3
+ //# sourceMappingURL=use-locale.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-locale.d.ts","sourceRoot":"","sources":["../../../../src/utils/i18n/helpers/use-locale.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAK/C,wBAAgB,SAAS,IAAI,eAAe,CAW3C"}
@@ -0,0 +1,14 @@
1
+ import { useContext as r } from "react";
2
+ import { LocaleContext as n } from "./locale-provider.js";
3
+ import { DEFAULT_LOCALE as e } from "../constants/index.js";
4
+ let t = !1;
5
+ function f() {
6
+ const o = r(n)?.locale;
7
+ return !o && typeof window < "u" && !t && (t = !0, console.warn(
8
+ `[@hashicorp/mds-react] No <LocaleProvider> found. Defaulting to "${e}".`
9
+ )), o || e;
10
+ }
11
+ export {
12
+ f as useLocale
13
+ };
14
+ //# sourceMappingURL=use-locale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-locale.js","sources":["../../../../src/utils/i18n/helpers/use-locale.ts"],"sourcesContent":["import { useContext } from 'react'\nimport { LocaleContext } from './locale-provider'\nimport type { SupportedLocale } from '../types'\nimport { DEFAULT_LOCALE } from '../constants'\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`[@hashicorp/mds-react] 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,oEAAoEK,CAAc;AAAA,EAAA,IAI7EH,KAAUG;AAClB;"}
@@ -0,0 +1,12 @@
1
+ import type { SupportedLocale } from './types';
2
+ type Capitalization = 'none' | 'lower' | 'sentence' | 'title' | 'upper';
3
+ type DotPrefix<T extends string, U extends string> = `${T}.${U}`;
4
+ type NestedKeyOf<ObjectType extends object> = {
5
+ [K in keyof ObjectType & string]: ObjectType[K] extends object ? DotPrefix<K, NestedKeyOf<ObjectType[K]>> : K;
6
+ }[keyof ObjectType & string];
7
+ export declare const localize: (key: NestedKeyOf<{
8
+ optional: string;
9
+ required: string;
10
+ }>, locale: SupportedLocale, capitalization?: Capitalization) => string;
11
+ export {};
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/i18n/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAG9C,KAAK,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,CAAA;AAEvE,KAAK,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,CAAA;AAEhE,KAAK,WAAW,CAAC,UAAU,SAAS,MAAM,IAAI;KAC5C,CAAC,IAAI,MAAM,UAAU,GAAG,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,MAAM,GAC3D,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GACxC,CAAC;CACJ,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,CAAA;AA+C5B,eAAO,MAAM,QAAQ;;;YAzBX,eAAe,mBACN,cAAc,KAC7B,MAyDF,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/utils/i18n/index.ts"],"sourcesContent":["import type { SupportedLocale } from './types'\nimport { toSmartSentenceCase, toSmartTitleCase } from './helpers'\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\nfunction 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\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":["getByDotPath","obj","path","acc","part","createLocalize","localizations","fallbackLocale","key","locale","capitalization","word","toSmartTitleCase","toSmartSentenceCase","localize"],"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;AAEA,SAASI,EACRC,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;AAEO,MAAMG,IAAWT,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;"}
@@ -0,0 +1,3 @@
1
+ import { LOCALE_LANGUAGE_MAP } from './constants';
2
+ export type SupportedLocale = keyof typeof LOCALE_LANGUAGE_MAP;
3
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/i18n/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjD,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,mBAAmB,CAAA"}
@@ -0,0 +1,6 @@
1
+ export { useLarge, useMedium, useMediumUp, useSmall, } from './hooks/use-screen-size';
2
+ export { MDSProvider } from './mds-context';
3
+ export type { MDSLinkProps, MDSImageProps } from './mds-context';
4
+ export { LocaleProvider, useLocale } from './i18n/helpers';
5
+ export { onClipboardClickHandler, type ClipboardHandlerArgs } from './clipboard';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,QAAQ,EACR,SAAS,EACT,WAAW,EACX,QAAQ,GACR,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAChE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1D,OAAO,EAAE,uBAAuB,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAA"}
@@ -0,0 +1,16 @@
1
+ import { useLarge as o, useMedium as m, useMediumUp as l, useSmall as p } from "./hooks/use-screen-size/index.js";
2
+ import { MDSProvider as a } from "./mds-context/index.js";
3
+ import { onClipboardClickHandler as i } from "./clipboard.js";
4
+ import { LocaleProvider as s } from "./i18n/helpers/locale-provider.js";
5
+ import { useLocale as x } from "./i18n/helpers/use-locale.js";
6
+ export {
7
+ s as LocaleProvider,
8
+ a as MDSProvider,
9
+ i as onClipboardClickHandler,
10
+ o as useLarge,
11
+ x as useLocale,
12
+ m as useMedium,
13
+ l as useMediumUp,
14
+ p as useSmall
15
+ };
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
@@ -0,0 +1,31 @@
1
+ export type NormalizerOpts<TOut extends string> = {
2
+ aliases?: Record<string, TOut>;
3
+ fallback?: TOut;
4
+ transform?: (raw: string) => string;
5
+ };
6
+ export type Normalizer<TOut extends string> = {
7
+ (input: unknown, opts?: NormalizerOpts<TOut>): TOut;
8
+ with(bound: NormalizerOpts<TOut>): Normalizer<TOut>;
9
+ };
10
+ export declare function makeNormalizer<TAllowed extends readonly string[], TOut extends TAllowed[number]>(allowed: TAllowed, defaults: {
11
+ fallback: TOut;
12
+ aliases?: Record<string, TOut>;
13
+ transform?: (raw: string) => string;
14
+ }): Normalizer<TOut>;
15
+ /**
16
+ * Group helper: normalize a whole props object in one call.
17
+ * - `all.transform` applies to every normalizer in the set (safe cross-type).
18
+ * - `each[key]` lets you override per-key opts (aliases/fallback/transform).
19
+ */
20
+ export declare function makeNormalizerSet<TOuts extends Record<string, string>>(map: {
21
+ [K in keyof TOuts]: Normalizer<TOuts[K]>;
22
+ }): ((input: { [K in keyof TOuts]?: unknown; }, opts?: {
23
+ all?: Pick<NormalizerOpts<string>, "transform">;
24
+ each?: { [K_1 in keyof TOuts]?: NormalizerOpts<TOuts[K_1]> | undefined; };
25
+ }) => { [K_2 in keyof TOuts]: TOuts[K_2]; }) & {
26
+ with(all: Pick<NormalizerOpts<string>, "transform">): (input: { [K in keyof TOuts]?: unknown; }, opts?: {
27
+ all?: Pick<NormalizerOpts<string>, "transform">;
28
+ each?: { [K_1 in keyof TOuts]?: NormalizerOpts<TOuts[K_1]> | undefined; };
29
+ }) => { [K_2 in keyof TOuts]: TOuts[K_2]; };
30
+ };
31
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/make-normalizer/index.tsx"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,CAAC,IAAI,SAAS,MAAM,IAAI;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAC9B,QAAQ,CAAC,EAAE,IAAI,CAAA;IACf,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;CACnC,CAAA;AAED,MAAM,MAAM,UAAU,CAAC,IAAI,SAAS,MAAM,IAAI;IAC7C,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACnD,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;CACnD,CAAA;AAED,wBAAgB,cAAc,CAC7B,QAAQ,SAAS,SAAS,MAAM,EAAE,EAClC,IAAI,SAAS,QAAQ,CAAC,MAAM,CAAC,EAE7B,OAAO,EAAE,QAAQ,EACjB,QAAQ,EAAE;IACT,QAAQ,EAAE,IAAI,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAC9B,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;CACnC,GACC,UAAU,CAAC,IAAI,CAAC,CA2BlB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE;KAC3E,CAAC,IAAI,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CACxC,eACa,CAAC,sCAIiB;IAAE,GAAG,CAAC,4CAAM;IAAC,IAAI,CAAC,qEAAM;CAAE;qEAJ5C,CAAC,sCAIiB;QAAE,GAAG,CAAC,4CAAM;QAAC,IAAI,CAAC,qEAAM;KAAE;EAyBzD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/utils/make-normalizer/index.tsx"],"sourcesContent":["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"],"names":["makeNormalizer","allowed","defaults","list","defaultAliases","v","defaultTransform","s","core","input","opts","aliases","fallback","transform","candidate","bound","makeNormalizerSet","map","call","out","k","key","n","base","all"],"mappings":"AAWO,SAASA,EAIfC,GACAC,GAKmB;AACnB,QAAMC,IAAOF,GAEPG,IACLF,EAAS,WACR,OAAO,YAAYC,EAAK,IAAI,CAACE,MAAM,CAACA,GAAGA,CAAC,CAAC,CAAC,GAEtCC,IACLJ,EAAS,cAAc,CAACK,MAAcA,EAAE,OAAO,gBAE1CC,IAAQ,CAACC,GAAgBC,MAAsC;AACpE,UAAMC,IAAU,EAAE,GAAGP,GAAgB,GAAIM,GAAM,WAAW,GAAC,GACrDE,IAAWF,GAAM,YAAYR,EAAS,UACtCW,IAAYH,GAAM,aAAaJ;AAErC,QAAI,OAAOG,KAAU,SAAU,QAAOG;AAEtC,UAAML,IAAIM,EAAUJ,CAAK,GACnBK,IAAaH,EAAQJ,CAAC,KAAKA;AACjC,WAAOJ,EAAK,SAASW,CAAS,IAAKA,IAAqBF;AAAA,EACzD;AAEA,SAAAJ,EAAK,OAAO,CAACO,MACX,CAACN,GAAgBC,MACjBF,EAAKC,GAAO,EAAE,GAAGM,GAAO,GAAIL,KAAQ,CAAA,GAAK,GAEpCF;AACR;AAOO,SAASQ,EAAwDC,GAErE;AAOF,QAAMC,IAAQ,CAACT,GAAWC,MAAsC;AAC/D,UAAMS,IAAM,CAAA;AACZ,eAAWC,KAAKH,GAAK;AACpB,UAAI,CAAC,OAAO,UAAU,eAAe,KAAKA,GAAKG,CAAC,EAAG;AACnD,YAAMC,IAAMD,GACNE,IAAIL,EAAII,CAAG,GACXE,IAAOb,GAAM,MAAMY,EAAE,KAAKZ,EAAK,GAAU,IAAIY;AACnD,MAAAH,EAAIE,CAAG,IAAIE,EAAKd,IAAQY,CAAG,GAAGX,GAAM,OAAOW,CAAG,CAAC;AAAA,IAChD;AACA,WAAOF;AAAA,EACR;AAEA,SAAAD,EAAK,OAAO,CAACM,MAAa;AACzB,UAAMT,IAAQ,CAAA;AACd,eAAWK,KAAKH,GAAK;AACpB,UAAI,CAAC,OAAO,UAAU,eAAe,KAAKA,GAAKG,CAAC,EAAG;AACnD,YAAMC,IAAMD;AACZ,MAAAL,EAAMM,CAAG,IAAIJ,EAAII,CAAG,EAAE,KAAKG,CAAU;AAAA,IACtC;AACA,WAAOR,EAAkBD,CAAK;AAAA,EAC/B,GAEOG;AACR;"}
@@ -0,0 +1,60 @@
1
+ import { type CSSProperties, type ImgHTMLAttributes, type ComponentType } from 'react';
2
+ type FillLayout = {
3
+ fill: true;
4
+ /** Strongly recommended when using fill */
5
+ sizes?: string;
6
+ };
7
+ type FixedLayout = {
8
+ width: number;
9
+ height: number;
10
+ fill?: false;
11
+ };
12
+ /** Next/Image extras we want to allow on adapters (all optional here) */
13
+ type NextImageExtras = {
14
+ priority?: boolean;
15
+ placeholder?: 'blur' | 'empty';
16
+ blurDataURL?: string;
17
+ quality?: number;
18
+ unoptimized?: boolean;
19
+ onLoadingComplete?: (img: HTMLImageElement) => void;
20
+ };
21
+ export type MDSImageProps = ({
22
+ alt: string;
23
+ /** DS-neutral; Next adapter may also accept StaticImageData at runtime */
24
+ src: string;
25
+ className?: string;
26
+ style?: CSSProperties;
27
+ loading?: 'eager' | 'lazy';
28
+ decoding?: 'sync' | 'async' | 'auto';
29
+ fetchPriority?: 'high' | 'low' | 'auto';
30
+ objectFit?: string;
31
+ objectPosition?: string;
32
+ } & (FillLayout | FixedLayout)) & Omit<ImgHTMLAttributes<HTMLImageElement>, 'src' | 'alt' | 'width' | 'height' | 'loading' | 'decoding'> & NextImageExtras;
33
+ type ImageComponent = ComponentType<MDSImageProps>;
34
+ /**
35
+ * Start from all standard <a> props, then refine:
36
+ * - force a typed href
37
+ * - keep children required
38
+ * - keep Next-specific props optional so the default <a> can ignore them
39
+ */
40
+ export type MDSLinkProps = Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'href'> & {
41
+ href: string | URL;
42
+ target?: React.HTMLAttributeAnchorTarget;
43
+ onClick?: React.MouseEventHandler<HTMLAnchorElement>;
44
+ } & {
45
+ prefetch?: boolean;
46
+ replace?: boolean;
47
+ scroll?: boolean;
48
+ shallow?: boolean;
49
+ locale?: string | false;
50
+ };
51
+ type LinkComponent = React.ForwardRefExoticComponent<MDSLinkProps & React.RefAttributes<HTMLAnchorElement>>;
52
+ export declare function MDSProvider({ children, imageComponent, linkComponent, }: {
53
+ children: React.ReactNode;
54
+ imageComponent?: ImageComponent;
55
+ linkComponent?: LinkComponent;
56
+ }): import("react/jsx-runtime").JSX.Element;
57
+ export declare function useMDSImage(): ImageComponent;
58
+ export declare function useMDSLink(): LinkComponent;
59
+ export {};
60
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/mds-context/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAIN,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,MAAM,OAAO,CAAA;AAId,KAAK,UAAU,GAAG;IACjB,IAAI,EAAE,IAAI,CAAA;IACV,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,KAAK,WAAW,GAAG;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,KAAK,CAAA;CACZ,CAAA;AAED,yEAAyE;AACzE,KAAK,eAAe,GAAG;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,IAAI,CAAA;CACnD,CAAA;AAED,MAAM,MAAM,aAAa,GAExB,CAAC;IACA,GAAG,EAAE,MAAM,CAAA;IACX,0EAA0E;IAC1E,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;IACpC,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAA;IACvC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;CACvB,GAAG,CAAC,UAAU,GAAG,WAAW,CAAC,CAAC,GAE9B,IAAI,CACH,iBAAiB,CAAC,gBAAgB,CAAC,EACnC,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAC3D,GAED,eAAe,CAAA;AAEjB,KAAK,cAAc,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA;AA6DlD;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,CAC9B,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAC7C,MAAM,CACN,GAAG;IACH,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;IAClB,MAAM,CAAC,EAAE,KAAK,CAAC,yBAAyB,CAAA;IACxC,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAA;CACpD,GAAG;IAEH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;CACvB,CAAA;AAED,KAAK,aAAa,GAAG,KAAK,CAAC,yBAAyB,CACnD,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,CACrD,CAAA;AAoBD,wBAAgB,WAAW,CAAC,EAC3B,QAAQ,EACR,cAAc,EACd,aAAa,GACb,EAAE;IACF,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,aAAa,CAAC,EAAE,aAAa,CAAA;CAC7B,2CAQA;AAED,wBAAgB,WAAW,mBAE1B;AAED,wBAAgB,UAAU,kBAEzB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/utils/mds-context/index.tsx"],"sourcesContent":["'use client'\n\nimport {\n\tcreateContext,\n\tuseContext,\n\tforwardRef,\n\ttype CSSProperties,\n\ttype ImgHTMLAttributes,\n\ttype ComponentType,\n} from 'react'\n\n/* ----------------------------- Image ----------------------------- */\n\ntype FillLayout = {\n\tfill: true\n\t/** Strongly recommended when using fill */\n\tsizes?: string\n}\n\ntype FixedLayout = {\n\twidth: number\n\theight: number\n\tfill?: false\n}\n\n/** Next/Image extras we want to allow on adapters (all optional here) */\ntype NextImageExtras = {\n\tpriority?: boolean\n\tplaceholder?: 'blur' | 'empty'\n\tblurDataURL?: string\n\tquality?: number\n\tunoptimized?: boolean\n\tonLoadingComplete?: (img: HTMLImageElement) => void\n}\n\nexport type MDSImageProps =\n\t// Core, DS-neutral props\n\t({\n\t\talt: string\n\t\t/** DS-neutral; Next adapter may also accept StaticImageData at runtime */\n\t\tsrc: string\n\t\tclassName?: string\n\t\tstyle?: CSSProperties\n\t\tloading?: 'eager' | 'lazy'\n\t\tdecoding?: 'sync' | 'async' | 'auto'\n\t\tfetchPriority?: 'high' | 'low' | 'auto'\n\t\tobjectFit?: string\n\t\tobjectPosition?: string\n\t} & (FillLayout | FixedLayout)) &\n\t\t// Allow common <img> props without clobbering the ones we define\n\t\tOmit<\n\t\t\tImgHTMLAttributes<HTMLImageElement>,\n\t\t\t'src' | 'alt' | 'width' | 'height' | 'loading' | 'decoding'\n\t\t> &\n\t\t// Make Next extras available (adapters can use them; default img ignores)\n\t\tNextImageExtras\n\ntype ImageComponent = ComponentType<MDSImageProps>\n\nconst DefaultImg: ImageComponent = (props) => {\n\tconst {\n\t\talt,\n\t\tsrc,\n\t\tclassName,\n\t\tstyle,\n\t\tloading,\n\t\tdecoding,\n\t\tfetchPriority,\n\t\tobjectFit,\n\t\tobjectPosition,\n\t\t// Next extras are accepted but ignored by the default renderer\n\t} = props\n\n\tif ('fill' in props && props.fill) {\n\t\treturn (\n\t\t\t<img\n\t\t\t\talt={alt}\n\t\t\t\tsrc={src}\n\t\t\t\tclassName={className}\n\t\t\t\tloading={loading}\n\t\t\t\tdecoding={decoding}\n\t\t\t\tfetchPriority={fetchPriority}\n\t\t\t\tstyle={{\n\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\tinset: 0,\n\t\t\t\t\twidth: '100%',\n\t\t\t\t\theight: '100%',\n\t\t\t\t\tobjectFit: (objectFit as CSSProperties['objectFit']) ?? 'cover',\n\t\t\t\t\tobjectPosition,\n\t\t\t\t\t...style,\n\t\t\t\t}}\n\t\t\t/>\n\t\t)\n\t}\n\n\treturn (\n\t\t<img\n\t\t\talt={alt}\n\t\t\tsrc={src}\n\t\t\twidth={props.width}\n\t\t\theight={props.height}\n\t\t\tclassName={className}\n\t\t\tloading={loading}\n\t\t\tdecoding={decoding}\n\t\t\tfetchPriority={fetchPriority}\n\t\t\tstyle={{\n\t\t\t\tobjectFit: objectFit as CSSProperties['objectFit'],\n\t\t\t\tobjectPosition,\n\t\t\t\t...style,\n\t\t\t}}\n\t\t/>\n\t)\n}\n\nconst ImageCtx = createContext<ImageComponent>(DefaultImg)\n\n/* ------------------------------ Link ----------------------------- */\n\n/**\n * Start from all standard <a> props, then refine:\n * - force a typed href\n * - keep children required\n * - keep Next-specific props optional so the default <a> can ignore them\n */\nexport type MDSLinkProps = Omit<\n\tReact.AnchorHTMLAttributes<HTMLAnchorElement>,\n\t'href'\n> & {\n\thref: string | URL\n\ttarget?: React.HTMLAttributeAnchorTarget\n\tonClick?: React.MouseEventHandler<HTMLAnchorElement>\n} & {\n\t// Next.js extras (optional; default <a> ignores them)\n\tprefetch?: boolean\n\treplace?: boolean\n\tscroll?: boolean\n\tshallow?: boolean\n\tlocale?: string | false\n}\n\ntype LinkComponent = React.ForwardRefExoticComponent<\n\tMDSLinkProps & React.RefAttributes<HTMLAnchorElement>\n>\n\nconst DefaultLink: LinkComponent = forwardRef<HTMLAnchorElement, MDSLinkProps>(\n\t({ href, children, ...rest }, ref) => (\n\t\t<a\n\t\t\tref={ref}\n\t\t\thref={typeof href === 'string' ? href : href.toString()}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</a>\n\t),\n)\n\nDefaultLink.displayName = 'DefaultLink'\n\nconst LinkCtx = createContext<LinkComponent>(DefaultLink)\n\n/* ----------------------- Provider + hooks ------------------------ */\n\nexport function MDSProvider({\n\tchildren,\n\timageComponent,\n\tlinkComponent,\n}: {\n\tchildren: React.ReactNode\n\timageComponent?: ImageComponent\n\tlinkComponent?: LinkComponent\n}) {\n\treturn (\n\t\t<ImageCtx.Provider value={imageComponent ?? DefaultImg}>\n\t\t\t<LinkCtx.Provider value={linkComponent ?? DefaultLink}>\n\t\t\t\t{children}\n\t\t\t</LinkCtx.Provider>\n\t\t</ImageCtx.Provider>\n\t)\n}\n\nexport function useMDSImage() {\n\treturn useContext(ImageCtx)\n}\n\nexport function useMDSLink() {\n\treturn useContext(LinkCtx)\n}\n"],"names":["DefaultImg","props","alt","src","className","style","loading","decoding","fetchPriority","objectFit","objectPosition","jsx","ImageCtx","createContext","DefaultLink","href","children","rest","ref","LinkCtx","MDSProvider","imageComponent","linkComponent","useMDSImage","useContext","useMDSLink"],"mappings":";;;AA4DC,MAAAA,IAAM,CAAAC,MAAA;AAAA,QACL;AAAA,IACA,KAAAC;AAAA,IACA,KAAAC;AAAA,IACA,WAAAC;AAAA,IACA,OAAAC;AAAA,IACA,SAAAC;AAAA,IACA,UAAAC;AAAA,IACA,eAAAC;AAAA,IACA,WAAAC;AAAA,IAAA,gBAAAC;AAAA;AAAA,EAID,IAAIT;AACH,0BACC,OAAC,gBAAAU;AAAA,IAAA;AAAA,IAAA;AAAA,MAEA,KAAAT;AAAA,MACA,KAAAC;AAAA,MACA,WAAAC;AAAA,MACA,SAAAE;AAAA,MACA,UAAAC;AAAA,MACA,eAAAC;AAAA,MAAO,OACN;AAAA,QACA,UAAO;AAAA,QACP,OAAO;AAAA,QACP;QACA,QAAA;AAAA,QACA,WAAAC,KAAA;AAAA,QACA,gBAAAC;AAAA,QAAG,GAAAL;AAAA,MACJ;AAAA,IACD;AAAA,EAEF,IAGE,gBAAAM;AAAA,IAAA;AAAA,IAAA;AAAA,MAEA,KAAAT;AAAA,MACA,KAAAC;AAAA,MACA,SAAQ;AAAA,MACR,QAAAF,EAAA;AAAA,MACA,WAAAG;AAAA,MACA,SAAAE;AAAA,MACA,UAAAC;AAAA,MACA,eAAAC;AAAA,MAAO,OACN;AAAA,QACA,WAAAC;AAAA,QACA,gBAAAC;AAAA,QAAG,GAAAL;AAAA,MACJ;AAAA,IACD;AAAA,EAEF;AAEA,GA8BMO,IAAAC,EAA6Bb,CAAA,GAC/Bc;EACF,CAAA,EAAC,MAAAC,GAAA,UAAAC,GAAA,GAAAC,EAAA,GAAAC,MAAA,gBAAAP;AAAA,IAAA;AAAA,IAAA;AAAA,MAEA,KAAAO;AAAA,MACC,MAAG,OAAAH,KAAA,WAAAA,IAAAA,EAAA,SAAA;AAAA,MAEH,GAAAE;AAAA,MAAA,UAAAD;AAAA,IAAA;AAAA,EAGJ;AAEA;AAEAF,EAAM,cAAU;AAIT,MAAAK,MAAqBL,CAAA;AAAA,SAC3BM,EAAA;AAAA,EACA,UAAAJ;AAAA,EACA,gBAAAK;AAAA,EACD,eAAAC;AAKC,GAAA;AAOD,SAAA,gBAAAX,EAAAC,EAAA,UAAA,EAAA,OAAAS,KAAArB,GAAA,UAAA,gBAAAW,EAAAQ,EAAA,UAAA,EAAA,OAAAG,KAAAR,GAAA,UAAAE,EAAA,CAAA,EAAA,CAAA;AAEO;AACN,SAAOO,IAAW;AACnB,SAAAC,EAAAZ,CAAA;AAEO;AACN,SAAOa,IAAW;AACnB,SAAAD,EAAAL,CAAA;;"}