@hashicorp/mds-react 0.9.3 → 0.9.5

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 (371) hide show
  1. package/components/accordion/index.js +9 -0
  2. package/components/accordion/index.js.map +1 -0
  3. package/components/accordion/item/button.js +44 -0
  4. package/components/accordion/item/button.js.map +1 -0
  5. package/components/accordion/item/index.js +59 -0
  6. package/components/accordion/item/index.js.map +1 -0
  7. package/components/accordion/style.module.scss.js +24 -0
  8. package/components/accordion/style.module.scss.js.map +1 -0
  9. package/components/alert/alert.module.scss.js +29 -0
  10. package/components/alert/alert.module.scss.js.map +1 -0
  11. package/components/alert/icon.js +34 -0
  12. package/components/alert/icon.js.map +1 -0
  13. package/components/alert/index.js +97 -0
  14. package/components/alert/index.js.map +1 -0
  15. package/components/badge/index.js +50 -0
  16. package/components/badge/index.js.map +1 -0
  17. package/components/badge/style.module.scss +8 -6
  18. package/components/badge/style.module.scss.js +22 -0
  19. package/components/badge/style.module.scss.js.map +1 -0
  20. package/components/badge-count/index.js +29 -0
  21. package/components/badge-count/index.js.map +1 -0
  22. package/components/badge-count/style.module.scss +7 -6
  23. package/components/badge-count/style.module.scss.js +15 -0
  24. package/components/badge-count/style.module.scss.js.map +1 -0
  25. package/components/breadcrumbs/index.js +38 -0
  26. package/components/breadcrumbs/index.js.map +1 -0
  27. package/components/breadcrumbs/item/index.js +32 -0
  28. package/components/breadcrumbs/item/index.js.map +1 -0
  29. package/components/breadcrumbs/style.module.scss.js +27 -0
  30. package/components/breadcrumbs/style.module.scss.js.map +1 -0
  31. package/components/breadcrumbs/truncation-button/index.js +25 -0
  32. package/components/breadcrumbs/truncation-button/index.js.map +1 -0
  33. package/components/button/button-primitive.d.ts +5 -0
  34. package/components/button/button-primitive.js +59 -0
  35. package/components/button/button-primitive.js.map +1 -0
  36. package/components/button/index.d.ts +4 -5
  37. package/components/button/index.js +69 -0
  38. package/components/button/index.js.map +1 -0
  39. package/components/button/styles.module.scss.js +32 -0
  40. package/components/button/styles.module.scss.js.map +1 -0
  41. package/components/card/card-thumbnail/card-thumbnail.module.css.js +8 -0
  42. package/components/card/card-thumbnail/card-thumbnail.module.css.js.map +1 -0
  43. package/components/card/card-thumbnail/index.js +23 -0
  44. package/components/card/card-thumbnail/index.js.map +1 -0
  45. package/components/card/index.d.ts +2 -1
  46. package/components/card/index.js +160 -0
  47. package/components/card/index.js.map +1 -0
  48. package/components/card/styles.module.css.js +29 -0
  49. package/components/card/styles.module.css.js.map +1 -0
  50. package/components/card/types.d.ts +1 -0
  51. package/components/code-block/code-block.module.scss.js +34 -0
  52. package/components/code-block/code-block.module.scss.js.map +1 -0
  53. package/components/code-block/code-lines/index.js +59 -0
  54. package/components/code-block/code-lines/index.js.map +1 -0
  55. package/components/code-block/code-lines/utils/split-html-into-lines.js +19 -0
  56. package/components/code-block/code-lines/utils/split-html-into-lines.js.map +1 -0
  57. package/components/code-block/code-lines/utils/split-jsx-into-lines.js +31 -0
  58. package/components/code-block/code-lines/utils/split-jsx-into-lines.js.map +1 -0
  59. package/components/code-block/hidden-copy-content/index.js +13 -0
  60. package/components/code-block/hidden-copy-content/index.js.map +1 -0
  61. package/components/code-block/index.js +88 -0
  62. package/components/code-block/index.js.map +1 -0
  63. package/components/code-block/utils/parse-highlighted-lines.js +39 -0
  64. package/components/code-block/utils/parse-highlighted-lines.js.map +1 -0
  65. package/components/code-block/utils/process-snippet.js +20 -0
  66. package/components/code-block/utils/process-snippet.js.map +1 -0
  67. package/components/code-block/utils/shellwords.js +33 -0
  68. package/components/code-block/utils/shellwords.js.map +1 -0
  69. package/components/combo-box-primitive/index.js +302 -0
  70. package/components/combo-box-primitive/index.js.map +1 -0
  71. package/components/dialog-primitive/dialog.module.scss.js +12 -0
  72. package/components/dialog-primitive/dialog.module.scss.js.map +1 -0
  73. package/components/dialog-primitive/index.js +15 -0
  74. package/components/dialog-primitive/index.js.map +1 -0
  75. package/components/disclosure-primitive/index.js +57 -0
  76. package/components/disclosure-primitive/index.js.map +1 -0
  77. package/components/disclosure-primitive/styles.module.css.js +7 -0
  78. package/components/disclosure-primitive/styles.module.css.js.map +1 -0
  79. package/components/disclosure-primitive/use-disclosure-primitive.js +17 -0
  80. package/components/disclosure-primitive/use-disclosure-primitive.js.map +1 -0
  81. package/components/dismiss-button/index.js +22 -0
  82. package/components/dismiss-button/index.js.map +1 -0
  83. package/components/dismiss-button/styles.module.scss.js +7 -0
  84. package/components/dismiss-button/styles.module.scss.js.map +1 -0
  85. package/components/dropdown/index.js +79 -0
  86. package/components/dropdown/index.js.map +1 -0
  87. package/components/dropdown/list-item/custom.js +9 -0
  88. package/components/dropdown/list-item/custom.js.map +1 -0
  89. package/components/dropdown/list-item/index.js +14 -0
  90. package/components/dropdown/list-item/index.js.map +1 -0
  91. package/components/dropdown/list-item/interactive.js +49 -0
  92. package/components/dropdown/list-item/interactive.js.map +1 -0
  93. package/components/dropdown/list-item/separator.js +17 -0
  94. package/components/dropdown/list-item/separator.js.map +1 -0
  95. package/components/dropdown/list-item/styles.module.css.js +26 -0
  96. package/components/dropdown/list-item/styles.module.css.js.map +1 -0
  97. package/components/dropdown/list-item/title.js +9 -0
  98. package/components/dropdown/list-item/title.js.map +1 -0
  99. package/components/dropdown/styles.module.css.js +24 -0
  100. package/components/dropdown/styles.module.css.js.map +1 -0
  101. package/components/dropdown/toggle-button/index.js +54 -0
  102. package/components/dropdown/toggle-button/index.js.map +1 -0
  103. package/components/dropdown/toggle-button/styles.module.scss.js +14 -0
  104. package/components/dropdown/toggle-button/styles.module.scss.js.map +1 -0
  105. package/components/flight-icon/flight-icon.module.css.js +12 -0
  106. package/components/flight-icon/flight-icon.module.css.js.map +1 -0
  107. package/components/flight-icon/index.js +58 -0
  108. package/components/flight-icon/index.js.map +1 -0
  109. package/components/form/checkbox/form-checkbox.module.css.js +8 -0
  110. package/components/form/checkbox/form-checkbox.module.css.js.map +1 -0
  111. package/components/form/checkbox/index.js +109 -0
  112. package/components/form/checkbox/index.js.map +1 -0
  113. package/components/form/error/form-error.module.css.js +14 -0
  114. package/components/form/error/form-error.module.css.js.map +1 -0
  115. package/components/form/error/index.js +22 -0
  116. package/components/form/error/index.js.map +1 -0
  117. package/components/form/field/form-field.module.css.js +17 -0
  118. package/components/form/field/form-field.module.css.js.map +1 -0
  119. package/components/form/field/index.js +46 -0
  120. package/components/form/field/index.js.map +1 -0
  121. package/components/form/fieldset/form-fieldset.module.css.js +19 -0
  122. package/components/form/fieldset/form-fieldset.module.css.js.map +1 -0
  123. package/components/form/fieldset/index.d.ts +1 -2
  124. package/components/form/fieldset/index.js +65 -0
  125. package/components/form/fieldset/index.js.map +1 -0
  126. package/components/form/file-input/form-file-input.module.scss +2 -2
  127. package/components/form/file-input/form-file-input.module.scss.js +7 -0
  128. package/components/form/file-input/form-file-input.module.scss.js.map +1 -0
  129. package/components/form/file-input/index.js +68 -0
  130. package/components/form/file-input/index.js.map +1 -0
  131. package/components/form/helper-text/form-helper-text.module.css.js +7 -0
  132. package/components/form/helper-text/form-helper-text.module.css.js.map +1 -0
  133. package/components/form/helper-text/index.js +22 -0
  134. package/components/form/helper-text/index.js.map +1 -0
  135. package/components/form/indicator/form-indicator.module.css.js +8 -0
  136. package/components/form/indicator/form-indicator.module.css.js.map +1 -0
  137. package/components/form/indicator/index.js +23 -0
  138. package/components/form/indicator/index.js.map +1 -0
  139. package/components/form/label/form-label.module.css.js +10 -0
  140. package/components/form/label/form-label.module.css.js.map +1 -0
  141. package/components/form/label/index.js +33 -0
  142. package/components/form/label/index.js.map +1 -0
  143. package/components/form/legend/form-legend.module.css.js +10 -0
  144. package/components/form/legend/form-legend.module.css.js.map +1 -0
  145. package/components/form/legend/index.js +19 -0
  146. package/components/form/legend/index.js.map +1 -0
  147. package/components/form/radio/form-radio.module.scss.js +8 -0
  148. package/components/form/radio/form-radio.module.scss.js.map +1 -0
  149. package/components/form/radio/index.d.ts +3 -5
  150. package/components/form/radio/index.js +100 -0
  151. package/components/form/radio/index.js.map +1 -0
  152. package/components/form/radio-card/RadioCardStory.css +21 -0
  153. package/components/form/radio-card/description.js +10 -0
  154. package/components/form/radio-card/description.js.map +1 -0
  155. package/components/form/radio-card/form-radio-card.module.css.js +30 -0
  156. package/components/form/radio-card/form-radio-card.module.css.js.map +1 -0
  157. package/components/form/radio-card/group.js +31 -0
  158. package/components/form/radio-card/group.js.map +1 -0
  159. package/components/form/radio-card/index.js +67 -0
  160. package/components/form/radio-card/index.js.map +1 -0
  161. package/components/form/radio-card/label.js +10 -0
  162. package/components/form/radio-card/label.js.map +1 -0
  163. package/components/form/select/form-select.module.css.js +14 -0
  164. package/components/form/select/form-select.module.css.js.map +1 -0
  165. package/components/form/select/index.js +79 -0
  166. package/components/form/select/index.js.map +1 -0
  167. package/components/form/super-select/form-super-select.module.css.js +22 -0
  168. package/components/form/super-select/form-super-select.module.css.js.map +1 -0
  169. package/components/form/super-select/index.js +170 -0
  170. package/components/form/super-select/index.js.map +1 -0
  171. package/components/form/text-input/index.js +91 -0
  172. package/components/form/text-input/index.js.map +1 -0
  173. package/components/form/text-input/styles.module.css.js +15 -0
  174. package/components/form/text-input/styles.module.css.js.map +1 -0
  175. package/components/form/textarea/form-textarea.module.css.js +14 -0
  176. package/components/form/textarea/form-textarea.module.css.js.map +1 -0
  177. package/components/form/textarea/index.js +74 -0
  178. package/components/form/textarea/index.js.map +1 -0
  179. package/components/form/toggle/form-toggle.module.scss.js +12 -0
  180. package/components/form/toggle/form-toggle.module.scss.js.map +1 -0
  181. package/components/form/toggle/index.js +102 -0
  182. package/components/form/toggle/index.js.map +1 -0
  183. package/components/hds/wrappers/tooltip.js +51 -0
  184. package/components/hds/wrappers/tooltip.js.map +1 -0
  185. package/components/icon-tile/index.js +50 -0
  186. package/components/icon-tile/index.js.map +1 -0
  187. package/components/icon-tile/style.module.scss +12 -10
  188. package/components/icon-tile/style.module.scss.js +29 -0
  189. package/components/icon-tile/style.module.scss.js.map +1 -0
  190. package/components/index.d.ts +1 -1
  191. package/components/index.js +116 -73
  192. package/components/index.js.map +1 -1
  193. package/components/inline-link/index.js +34 -0
  194. package/components/inline-link/index.js.map +1 -0
  195. package/components/inline-link/inline-link.module.css.js +11 -0
  196. package/components/inline-link/inline-link.module.css.js.map +1 -0
  197. package/components/interactive/index.js +59 -0
  198. package/components/interactive/index.js.map +1 -0
  199. package/components/legacy-button/index.js +65 -0
  200. package/components/legacy-button/index.js.map +1 -0
  201. package/components/legacy-button/utils.js +39 -0
  202. package/components/legacy-button/utils.js.map +1 -0
  203. package/components/menu-primitive/index.js +68 -0
  204. package/components/menu-primitive/index.js.map +1 -0
  205. package/components/menu-primitive/styles.module.css.js +12 -0
  206. package/components/menu-primitive/styles.module.css.js.map +1 -0
  207. package/components/menu-primitive/use-menu-primitive.js +17 -0
  208. package/components/menu-primitive/use-menu-primitive.js.map +1 -0
  209. package/components/modal/index.js +61 -0
  210. package/components/modal/index.js.map +1 -0
  211. package/components/modal/modal.module.css +5 -0
  212. package/components/modal/modal.module.css.js +8 -0
  213. package/components/modal/modal.module.css.js.map +1 -0
  214. package/components/modal/use-modal.js +17 -0
  215. package/components/modal/use-modal.js.map +1 -0
  216. package/components/separator/index.js +15 -0
  217. package/components/separator/index.js.map +1 -0
  218. package/components/separator/separator.module.css.js +10 -0
  219. package/components/separator/separator.module.css.js.map +1 -0
  220. package/components/standalone-link/index.js +54 -0
  221. package/components/standalone-link/index.js.map +1 -0
  222. package/components/standalone-link/styles.module.scss.js +17 -0
  223. package/components/standalone-link/styles.module.scss.js.map +1 -0
  224. package/components/table/index.js +52 -0
  225. package/components/table/index.js.map +1 -0
  226. package/components/table/table.module.scss.js +33 -0
  227. package/components/table/table.module.scss.js.map +1 -0
  228. package/components/table/td.js +28 -0
  229. package/components/table/td.js.map +1 -0
  230. package/components/table/th-button-tooltip.js +24 -0
  231. package/components/table/th-button-tooltip.js.map +1 -0
  232. package/components/table/th.js +43 -0
  233. package/components/table/th.js.map +1 -0
  234. package/components/table/tr.js +9 -0
  235. package/components/table/tr.js.map +1 -0
  236. package/components/table/utils.js +28 -0
  237. package/components/table/utils.js.map +1 -0
  238. package/components/tabs/index.js +115 -0
  239. package/components/tabs/index.js.map +1 -0
  240. package/components/tabs/tab-panel.js +35 -0
  241. package/components/tabs/tab-panel.js.map +1 -0
  242. package/components/tabs/tab.js +70 -0
  243. package/components/tabs/tab.js.map +1 -0
  244. package/components/tabs/tabs.module.scss.js +22 -0
  245. package/components/tabs/tabs.module.scss.js.map +1 -0
  246. package/components/tabs/use-tabs-context.js +16 -0
  247. package/components/tabs/use-tabs-context.js.map +1 -0
  248. package/components/text/index.js +112 -0
  249. package/components/text/index.js.map +1 -0
  250. package/components/text/style.module.scss.js +9 -0
  251. package/components/text/style.module.scss.js.map +1 -0
  252. package/components/visualizations/bar-chart/horizontal-chart/dataset-value/index.js +62 -0
  253. package/components/visualizations/bar-chart/horizontal-chart/dataset-value/index.js.map +1 -0
  254. package/components/visualizations/bar-chart/horizontal-chart/dataset-value/style.module.css.js +20 -0
  255. package/components/visualizations/bar-chart/horizontal-chart/dataset-value/style.module.css.js.map +1 -0
  256. package/components/visualizations/bar-chart/horizontal-chart/index.js +104 -0
  257. package/components/visualizations/bar-chart/horizontal-chart/index.js.map +1 -0
  258. package/components/visualizations/bar-chart/horizontal-chart/legend/index.js +13 -0
  259. package/components/visualizations/bar-chart/horizontal-chart/legend/index.js.map +1 -0
  260. package/components/visualizations/bar-chart/horizontal-chart/legend/style.module.css.js +14 -0
  261. package/components/visualizations/bar-chart/horizontal-chart/legend/style.module.css.js.map +1 -0
  262. package/components/visualizations/bar-chart/horizontal-chart/style.module.css.js +28 -0
  263. package/components/visualizations/bar-chart/horizontal-chart/style.module.css.js.map +1 -0
  264. package/components/visualizations/bar-chart/index.js +37 -0
  265. package/components/visualizations/bar-chart/index.js.map +1 -0
  266. package/components/visualizations/bar-chart/style.module.css.js +12 -0
  267. package/components/visualizations/bar-chart/style.module.css.js.map +1 -0
  268. package/components/visualizations/donut-chart/components/arc-tooltip/index.js +14 -0
  269. package/components/visualizations/donut-chart/components/arc-tooltip/index.js.map +1 -0
  270. package/components/visualizations/donut-chart/components/arc-tooltip/styles.module.css.js +10 -0
  271. package/components/visualizations/donut-chart/components/arc-tooltip/styles.module.css.js.map +1 -0
  272. package/components/visualizations/donut-chart/components/external-arc-label/index.js +58 -0
  273. package/components/visualizations/donut-chart/components/external-arc-label/index.js.map +1 -0
  274. package/components/visualizations/donut-chart/components/external-arc-label/styles.module.css.js +16 -0
  275. package/components/visualizations/donut-chart/components/external-arc-label/styles.module.css.js.map +1 -0
  276. package/components/visualizations/donut-chart/components/internal-arc-label/index.js +42 -0
  277. package/components/visualizations/donut-chart/components/internal-arc-label/index.js.map +1 -0
  278. package/components/visualizations/donut-chart/components/internal-arc-label/styles.module.css.js +14 -0
  279. package/components/visualizations/donut-chart/components/internal-arc-label/styles.module.css.js.map +1 -0
  280. package/components/visualizations/donut-chart/index.js +90 -0
  281. package/components/visualizations/donut-chart/index.js.map +1 -0
  282. package/components/visualizations/donut-chart/styles.module.css.js +20 -0
  283. package/components/visualizations/donut-chart/styles.module.css.js.map +1 -0
  284. package/hooks/use-media-query/index.js +16 -0
  285. package/hooks/use-media-query/index.js.map +1 -0
  286. package/index.js +155 -101
  287. package/index.js.map +1 -1
  288. package/package.json +1 -1
  289. package/patterns/card/newsroom-card/index.js +26 -0
  290. package/patterns/card/newsroom-card/index.js.map +1 -0
  291. package/patterns/card/newsroom-card/style.module.css.js +8 -0
  292. package/patterns/card/newsroom-card/style.module.css.js.map +1 -0
  293. package/patterns/card/partner-card/index.js +42 -0
  294. package/patterns/card/partner-card/index.js.map +1 -0
  295. package/patterns/card/partner-card/style.module.css.js +12 -0
  296. package/patterns/card/partner-card/style.module.css.js.map +1 -0
  297. package/patterns/card/person-card/index.js +54 -0
  298. package/patterns/card/person-card/index.js.map +1 -0
  299. package/patterns/card/person-card/style.module.css.js +12 -0
  300. package/patterns/card/person-card/style.module.css.js.map +1 -0
  301. package/patterns/card/primitives.js +77 -0
  302. package/patterns/card/primitives.js.map +1 -0
  303. package/patterns/card/promo-card/index.js +36 -0
  304. package/patterns/card/promo-card/index.js.map +1 -0
  305. package/patterns/card/resource-card/index.js +26 -0
  306. package/patterns/card/resource-card/index.js.map +1 -0
  307. package/patterns/card/style.module.css.js +30 -0
  308. package/patterns/card/style.module.css.js.map +1 -0
  309. package/patterns/card/thumbnails/index.js +25 -0
  310. package/patterns/card/thumbnails/index.js.map +1 -0
  311. package/patterns/card/unified-card/index.js +37 -0
  312. package/patterns/card/unified-card/index.js.map +1 -0
  313. package/patterns/copy-button/clipboard.js +78 -0
  314. package/patterns/copy-button/clipboard.js.map +1 -0
  315. package/patterns/copy-button/index.js +57 -0
  316. package/patterns/copy-button/index.js.map +1 -0
  317. package/patterns/copy-button/style.module.css.js +13 -0
  318. package/patterns/copy-button/style.module.css.js.map +1 -0
  319. package/patterns/index.js +32 -22
  320. package/patterns/index.js.map +1 -1
  321. package/patterns/layout/index.js +47 -0
  322. package/patterns/layout/index.js.map +1 -0
  323. package/patterns/layout/layout.module.css.js +20 -0
  324. package/patterns/layout/layout.module.css.js.map +1 -0
  325. package/patterns/product-badge/index.js +22 -0
  326. package/patterns/product-badge/index.js.map +1 -0
  327. package/patterns/product-badge/style.module.css.js +8 -0
  328. package/patterns/product-badge/style.module.css.js.map +1 -0
  329. package/patterns/product-logo/index.js +130 -0
  330. package/patterns/product-logo/index.js.map +1 -0
  331. package/patterns/product-logo/product-logo.module.css.js +13 -0
  332. package/patterns/product-logo/product-logo.module.css.js.map +1 -0
  333. package/patterns/related-content/index.js +65 -0
  334. package/patterns/related-content/index.js.map +1 -0
  335. package/patterns/related-content/style.module.css.js +22 -0
  336. package/patterns/related-content/style.module.css.js.map +1 -0
  337. package/style.css +1 -1
  338. package/utils/get-contrast-yiq.js +13 -0
  339. package/utils/get-contrast-yiq.js.map +1 -0
  340. package/utils/hooks/use-screen-size.js +10 -0
  341. package/utils/hooks/use-screen-size.js.map +1 -0
  342. package/utils/i18n/constants/index.js +98 -0
  343. package/utils/i18n/constants/index.js.map +1 -0
  344. package/utils/i18n/helpers/locale-provider.js +9 -0
  345. package/utils/i18n/helpers/locale-provider.js.map +1 -0
  346. package/utils/i18n/helpers/to-smart-sentence-case.js +12 -0
  347. package/utils/i18n/helpers/to-smart-sentence-case.js.map +1 -0
  348. package/utils/i18n/helpers/to-smart-title-case.js +10 -0
  349. package/utils/i18n/helpers/to-smart-title-case.js.map +1 -0
  350. package/utils/i18n/helpers/use-locale.js +14 -0
  351. package/utils/i18n/helpers/use-locale.js.map +1 -0
  352. package/utils/i18n/index.js +41 -0
  353. package/utils/i18n/index.js.map +1 -0
  354. package/utils/i18n/index2.js +33 -0
  355. package/utils/i18n/index2.js.map +1 -0
  356. package/utils/index.js +7 -7
  357. package/utils/make-normalizer/index.js +34 -0
  358. package/utils/make-normalizer/index.js.map +1 -0
  359. package/{index-DBjAbGt7.js → utils/mds-context/index.js} +20 -19
  360. package/utils/mds-context/index.js.map +1 -0
  361. package/index-B9mPJh9w.js +0 -579
  362. package/index-B9mPJh9w.js.map +0 -1
  363. package/index-BHBlMMNF.js +0 -16
  364. package/index-BHBlMMNF.js.map +0 -1
  365. package/index-C4GBbW3N.js +0 -3567
  366. package/index-C4GBbW3N.js.map +0 -1
  367. package/index-DBjAbGt7.js.map +0 -1
  368. package/index-WkGIywHj.js +0 -767
  369. package/index-WkGIywHj.js.map +0 -1
  370. package/use-screen-size-BOnkX_K-.js +0 -9
  371. package/use-screen-size-BOnkX_K-.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-DBjAbGt7.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","forwardRef","href","children","rest","ref","LinkCtx","MDSProvider","imageComponent","linkComponent","useMDSImage","useContext","useMDSLink"],"mappings":";;AA2DA,MAAMA,IAA6B,CAACC,MAAU;AAC7C,QAAM;AAAA,IACL,KAAAC;AAAA,IACA,KAAAC;AAAA,IACA,WAAAC;AAAA,IACA,OAAAC;AAAA,IACA,SAAAC;AAAA,IACA,UAAAC;AAAA,IACA,eAAAC;AAAA,IACA,WAAAC;AAAA,IACA,gBAAAC;AAAA;AAAA,EAAA,IAEGT;AAEJ,SAAI,UAAUA,KAASA,EAAM,OAE3B,gBAAAU;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,KAAAT;AAAA,MACA,KAAAC;AAAA,MACA,WAAAC;AAAA,MACA,SAAAE;AAAA,MACA,UAAAC;AAAA,MACA,eAAAC;AAAA,MACA,OAAO;AAAA,QACN,UAAU;AAAA,QACV,OAAO;AAAA,QACP,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,WAAYC,KAA4C;AAAA,QACxD,gBAAAC;AAAA,QACA,GAAGL;AAAA,MAAA;AAAA,IACJ;AAAA,EAAA,IAMF,gBAAAM;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,KAAAT;AAAA,MACA,KAAAC;AAAA,MACA,OAAOF,EAAM;AAAA,MACb,QAAQA,EAAM;AAAA,MACd,WAAAG;AAAA,MACA,SAAAE;AAAA,MACA,UAAAC;AAAA,MACA,eAAAC;AAAA,MACA,OAAO;AAAA,QACN,WAAAC;AAAA,QACA,gBAAAC;AAAA,QACA,GAAGL;AAAA,MAAA;AAAA,IACJ;AAAA,EAAA;AAGH,GAEMO,IAAWC,EAA8Bb,CAAU,GA8BnDc,IAA6BC;AAAA,EAClC,CAAC,EAAE,MAAAC,GAAM,UAAAC,GAAU,GAAGC,EAAA,GAAQC,MAC7B,gBAAAR;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,KAAAQ;AAAA,MACA,MAAM,OAAOH,KAAS,WAAWA,IAAOA,EAAK,SAAA;AAAA,MAC5C,GAAGE;AAAA,MAEH,UAAAD;AAAA,IAAA;AAAA,EAAA;AAGJ;AAEAH,EAAY,cAAc;AAE1B,MAAMM,IAAUP,EAA6BC,CAAW;AAIjD,SAASO,EAAY;AAAA,EAC3B,UAAAJ;AAAA,EACA,gBAAAK;AAAA,EACA,eAAAC;AACD,GAIG;AACF,SACC,gBAAAZ,EAACC,EAAS,UAAT,EAAkB,OAAOU,KAAkBtB,GAC3C,UAAA,gBAAAW,EAACS,EAAQ,UAAR,EAAiB,OAAOG,KAAiBT,GACxC,UAAAG,GACF,GACD;AAEF;AAEO,SAASO,IAAc;AAC7B,SAAOC,EAAWb,CAAQ;AAC3B;AAEO,SAASc,IAAa;AAC5B,SAAOD,EAAWL,CAAO;AAC1B;"}