@nldd/design-system 0.8.49 → 0.8.51

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 (245) hide show
  1. package/dist/components/actions/button/button.styles.d.ts.map +1 -1
  2. package/dist/components/actions/button/button.styles.js +1 -0
  3. package/dist/components/actions/button/button.styles.js.map +1 -1
  4. package/dist/components/actions/icon-button/icon-button.styles.d.ts.map +1 -1
  5. package/dist/components/actions/icon-button/icon-button.styles.js +1 -0
  6. package/dist/components/actions/icon-button/icon-button.styles.js.map +1 -1
  7. package/dist/components/components.js +93 -86
  8. package/dist/components/content/code-viewer/code-viewer.d.ts +37 -0
  9. package/dist/components/content/code-viewer/code-viewer.d.ts.map +1 -1
  10. package/dist/components/content/code-viewer/code-viewer.i18n.d.ts +8 -0
  11. package/dist/components/content/code-viewer/code-viewer.i18n.d.ts.map +1 -0
  12. package/dist/components/content/code-viewer/code-viewer.i18n.js +7 -0
  13. package/dist/components/content/code-viewer/code-viewer.i18n.js.map +1 -0
  14. package/dist/components/content/code-viewer/code-viewer.js +104 -1
  15. package/dist/components/content/code-viewer/code-viewer.js.map +1 -1
  16. package/dist/components/content/code-viewer/code-viewer.styles.d.ts.map +1 -1
  17. package/dist/components/content/code-viewer/code-viewer.styles.js +112 -1
  18. package/dist/components/content/code-viewer/code-viewer.styles.js.map +1 -1
  19. package/dist/components/content/code-viewer/code-viewer.template.d.ts.map +1 -1
  20. package/dist/components/content/code-viewer/code-viewer.template.js +50 -3
  21. package/dist/components/content/code-viewer/code-viewer.template.js.map +1 -1
  22. package/dist/components/content/icon/icon-aliases.d.ts.map +1 -1
  23. package/dist/components/content/icon/icon-aliases.js +17 -0
  24. package/dist/components/content/icon/icon-aliases.js.map +1 -1
  25. package/dist/components/content/icon/icon-registry.d.ts.map +1 -1
  26. package/dist/components/content/icon/icon-registry.js +12 -0
  27. package/dist/components/content/icon/icon-registry.js.map +1 -1
  28. package/dist/components/content/image/image.d.ts +151 -0
  29. package/dist/components/content/image/image.d.ts.map +1 -0
  30. package/dist/components/content/image/image.i18n.d.ts +8 -0
  31. package/dist/components/content/image/image.i18n.d.ts.map +1 -0
  32. package/dist/components/content/image/image.i18n.js +7 -0
  33. package/dist/components/content/image/image.i18n.js.map +1 -0
  34. package/dist/components/content/image/image.js +320 -0
  35. package/dist/components/content/image/image.js.map +1 -0
  36. package/dist/components/content/image/image.styles.d.ts +2 -0
  37. package/dist/components/content/image/image.styles.d.ts.map +1 -0
  38. package/dist/components/content/image/image.styles.js +402 -0
  39. package/dist/components/content/image/image.styles.js.map +1 -0
  40. package/dist/components/content/image/image.template.d.ts +3 -0
  41. package/dist/components/content/image/image.template.d.ts.map +1 -0
  42. package/dist/components/content/image/image.template.js +109 -0
  43. package/dist/components/content/image/image.template.js.map +1 -0
  44. package/dist/components/content/image/lqip-encoder-element.d.ts +39 -0
  45. package/dist/components/content/image/lqip-encoder-element.d.ts.map +1 -0
  46. package/dist/components/content/image/lqip-encoder-element.js +240 -0
  47. package/dist/components/content/image/lqip-encoder-element.js.map +1 -0
  48. package/dist/components/content/image/lqip-encoder.d.ts +59 -0
  49. package/dist/components/content/image/lqip-encoder.d.ts.map +1 -0
  50. package/dist/components/content/image/lqip-encoder.js +279 -0
  51. package/dist/components/content/image/lqip-encoder.js.map +1 -0
  52. package/dist/components/content/rich-text/rich-text.d.ts +9 -0
  53. package/dist/components/content/rich-text/rich-text.d.ts.map +1 -1
  54. package/dist/components/content/rich-text/rich-text.i18n.d.ts +5 -0
  55. package/dist/components/content/rich-text/rich-text.i18n.d.ts.map +1 -0
  56. package/dist/components/content/rich-text/rich-text.i18n.js +4 -0
  57. package/dist/components/content/rich-text/rich-text.i18n.js.map +1 -0
  58. package/dist/components/content/rich-text/rich-text.js +61 -0
  59. package/dist/components/content/rich-text/rich-text.js.map +1 -1
  60. package/dist/components/content/tooltip/tooltip.d.ts +10 -0
  61. package/dist/components/content/tooltip/tooltip.d.ts.map +1 -1
  62. package/dist/components/content/tooltip/tooltip.js +74 -2
  63. package/dist/components/content/tooltip/tooltip.js.map +1 -1
  64. package/dist/components/{index-BVOcPb8I.js → index-DYnIl3ts.js} +5435 -2205
  65. package/dist/components/index.d.ts +5 -0
  66. package/dist/components/index.d.ts.map +1 -1
  67. package/dist/components/index.js +5 -0
  68. package/dist/components/index.js.map +1 -1
  69. package/dist/components/inputs/checkbox/checkbox.styles.d.ts.map +1 -1
  70. package/dist/components/inputs/checkbox/checkbox.styles.js +1 -0
  71. package/dist/components/inputs/checkbox/checkbox.styles.js.map +1 -1
  72. package/dist/components/inputs/combo-box/combo-box.styles.d.ts.map +1 -1
  73. package/dist/components/inputs/combo-box/combo-box.styles.js +4 -1
  74. package/dist/components/inputs/combo-box/combo-box.styles.js.map +1 -1
  75. package/dist/components/inputs/dropdown/dropdown.styles.d.ts.map +1 -1
  76. package/dist/components/inputs/dropdown/dropdown.styles.js +1 -0
  77. package/dist/components/inputs/dropdown/dropdown.styles.js.map +1 -1
  78. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.styles.d.ts.map +1 -1
  79. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.styles.js +4 -1
  80. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.styles.js.map +1 -1
  81. package/dist/components/inputs/password-field/password-field.styles.d.ts.map +1 -1
  82. package/dist/components/inputs/password-field/password-field.styles.js +4 -1
  83. package/dist/components/inputs/password-field/password-field.styles.js.map +1 -1
  84. package/dist/components/inputs/radio-button/radio-button.styles.d.ts.map +1 -1
  85. package/dist/components/inputs/radio-button/radio-button.styles.js +1 -0
  86. package/dist/components/inputs/radio-button/radio-button.styles.js.map +1 -1
  87. package/dist/components/inputs/search-field/search-field.styles.d.ts.map +1 -1
  88. package/dist/components/inputs/search-field/search-field.styles.js +4 -1
  89. package/dist/components/inputs/search-field/search-field.styles.js.map +1 -1
  90. package/dist/components/inputs/segmented-control/segmented-control.styles.d.ts.map +1 -1
  91. package/dist/components/inputs/segmented-control/segmented-control.styles.js +1 -0
  92. package/dist/components/inputs/segmented-control/segmented-control.styles.js.map +1 -1
  93. package/dist/components/inputs/stepper/stepper.styles.d.ts.map +1 -1
  94. package/dist/components/inputs/stepper/stepper.styles.js +1 -0
  95. package/dist/components/inputs/stepper/stepper.styles.js.map +1 -1
  96. package/dist/components/inputs/switch/switch.styles.d.ts.map +1 -1
  97. package/dist/components/inputs/switch/switch.styles.js +1 -0
  98. package/dist/components/inputs/switch/switch.styles.js.map +1 -1
  99. package/dist/components/inputs/text-field/text-field.styles.d.ts.map +1 -1
  100. package/dist/components/inputs/text-field/text-field.styles.js +4 -1
  101. package/dist/components/inputs/text-field/text-field.styles.js.map +1 -1
  102. package/dist/components/inputs/toggle-button/toggle-button.d.ts +1 -1
  103. package/dist/components/inputs/toggle-button/toggle-button.d.ts.map +1 -1
  104. package/dist/components/inputs/toggle-button/toggle-button.js +22 -14
  105. package/dist/components/inputs/toggle-button/toggle-button.js.map +1 -1
  106. package/dist/components/inputs/toggle-button/toggle-button.styles.d.ts.map +1 -1
  107. package/dist/components/inputs/toggle-button/toggle-button.styles.js +16 -11
  108. package/dist/components/inputs/toggle-button/toggle-button.styles.js.map +1 -1
  109. package/dist/components/inputs/toggle-button/toggle-button.template.d.ts.map +1 -1
  110. package/dist/components/inputs/toggle-button/toggle-button.template.js +32 -16
  111. package/dist/components/inputs/toggle-button/toggle-button.template.js.map +1 -1
  112. package/dist/components/inputs/token/token.styles.d.ts.map +1 -1
  113. package/dist/components/inputs/token/token.styles.js +1 -0
  114. package/dist/components/inputs/token/token.styles.js.map +1 -1
  115. package/dist/components/layout/box/box.d.ts +6 -0
  116. package/dist/components/layout/box/box.d.ts.map +1 -1
  117. package/dist/components/layout/box/box.js +12 -1
  118. package/dist/components/layout/box/box.js.map +1 -1
  119. package/dist/components/layout/box/box.styles.d.ts.map +1 -1
  120. package/dist/components/layout/box/box.styles.js +40 -1
  121. package/dist/components/layout/box/box.styles.js.map +1 -1
  122. package/dist/components/layout/collection/collection.d.ts +1 -0
  123. package/dist/components/layout/collection/collection.d.ts.map +1 -1
  124. package/dist/components/layout/collection/collection.i18n.d.ts +1 -0
  125. package/dist/components/layout/collection/collection.i18n.d.ts.map +1 -1
  126. package/dist/components/layout/collection/collection.i18n.js +1 -0
  127. package/dist/components/layout/collection/collection.i18n.js.map +1 -1
  128. package/dist/components/layout/collection/collection.js +14 -0
  129. package/dist/components/layout/collection/collection.js.map +1 -1
  130. package/dist/components/layout/collection/collection.styles.d.ts.map +1 -1
  131. package/dist/components/layout/collection/collection.styles.js +27 -0
  132. package/dist/components/layout/collection/collection.styles.js.map +1 -1
  133. package/dist/components/layout/collection/collection.template.d.ts.map +1 -1
  134. package/dist/components/layout/collection/collection.template.js +12 -4
  135. package/dist/components/layout/collection/collection.template.js.map +1 -1
  136. package/dist/components/lists-and-menus/list/list.d.ts +10 -3
  137. package/dist/components/lists-and-menus/list/list.d.ts.map +1 -1
  138. package/dist/components/lists-and-menus/list/list.js +8 -3
  139. package/dist/components/lists-and-menus/list/list.js.map +1 -1
  140. package/dist/components/lists-and-menus/list/list.styles.d.ts.map +1 -1
  141. package/dist/components/lists-and-menus/list/list.styles.js +33 -6
  142. package/dist/components/lists-and-menus/list/list.styles.js.map +1 -1
  143. package/dist/components/lists-and-menus/list-item/list-item.js +1 -1
  144. package/dist/components/lists-and-menus/list-item/list-item.js.map +1 -1
  145. package/dist/components/lists-and-menus/menu/menu.styles.d.ts.map +1 -1
  146. package/dist/components/lists-and-menus/menu/menu.styles.js +1 -0
  147. package/dist/components/lists-and-menus/menu/menu.styles.js.map +1 -1
  148. package/dist/components/navigation/document-tab-bar/document-tab-bar.styles.d.ts.map +1 -1
  149. package/dist/components/navigation/document-tab-bar/document-tab-bar.styles.js +1 -0
  150. package/dist/components/navigation/document-tab-bar/document-tab-bar.styles.js.map +1 -1
  151. package/dist/components/navigation/menu-bar/menu-bar.styles.d.ts.map +1 -1
  152. package/dist/components/navigation/menu-bar/menu-bar.styles.js +1 -0
  153. package/dist/components/navigation/menu-bar/menu-bar.styles.js.map +1 -1
  154. package/dist/components/navigation/menu-bar-item/menu-bar-item.styles.d.ts.map +1 -1
  155. package/dist/components/navigation/menu-bar-item/menu-bar-item.styles.js +1 -0
  156. package/dist/components/navigation/menu-bar-item/menu-bar-item.styles.js.map +1 -1
  157. package/dist/components/navigation/pagination/pagination.styles.d.ts.map +1 -1
  158. package/dist/components/navigation/pagination/pagination.styles.js +1 -0
  159. package/dist/components/navigation/pagination/pagination.styles.js.map +1 -1
  160. package/dist/components/navigation/tab-bar/tab-bar.styles.d.ts.map +1 -1
  161. package/dist/components/navigation/tab-bar/tab-bar.styles.js +1 -0
  162. package/dist/components/navigation/tab-bar/tab-bar.styles.js.map +1 -1
  163. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.styles.d.ts.map +1 -1
  164. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.styles.js +10 -1
  165. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.styles.js.map +1 -1
  166. package/dist/components/{prism-python-C1D7CYBc.js → prism-python-C9GXiQLy.js} +1 -1
  167. package/dist/components/{prism-rust-DI5vrP6V.js → prism-rust-De_U8Otq.js} +1 -1
  168. package/dist/components/{prism-typescript-DBgOPJ4M.js → prism-typescript-BJbUDHsa.js} +1 -1
  169. package/dist/components/sample-images/butterfly-1200.jpg +0 -0
  170. package/dist/components/sample-images/butterfly-1600.jpg +0 -0
  171. package/dist/components/sample-images/butterfly-480.jpg +0 -0
  172. package/dist/components/sample-images/butterfly-960.jpg +0 -0
  173. package/dist/components/status-and-feedback/badge/badge.d.ts +2 -2
  174. package/dist/components/status-and-feedback/badge/badge.d.ts.map +1 -1
  175. package/dist/components/status-and-feedback/badge/badge.js +1 -1
  176. package/dist/components/status-and-feedback/badge/badge.js.map +1 -1
  177. package/dist/components/status-and-feedback/badge/badge.styles.d.ts.map +1 -1
  178. package/dist/components/status-and-feedback/badge/badge.styles.js +126 -1
  179. package/dist/components/status-and-feedback/badge/badge.styles.js.map +1 -1
  180. package/dist/components/status-and-feedback/banner/banner.d.ts +89 -0
  181. package/dist/components/status-and-feedback/banner/banner.d.ts.map +1 -0
  182. package/dist/components/status-and-feedback/banner/banner.i18n.d.ts +5 -0
  183. package/dist/components/status-and-feedback/banner/banner.i18n.d.ts.map +1 -0
  184. package/dist/components/status-and-feedback/banner/banner.i18n.js +4 -0
  185. package/dist/components/status-and-feedback/banner/banner.i18n.js.map +1 -0
  186. package/dist/components/status-and-feedback/banner/banner.js +206 -0
  187. package/dist/components/status-and-feedback/banner/banner.js.map +1 -0
  188. package/dist/components/status-and-feedback/banner/banner.styles.d.ts +2 -0
  189. package/dist/components/status-and-feedback/banner/banner.styles.d.ts.map +1 -0
  190. package/dist/components/status-and-feedback/banner/banner.styles.js +160 -0
  191. package/dist/components/status-and-feedback/banner/banner.styles.js.map +1 -0
  192. package/dist/components/status-and-feedback/banner/banner.template.d.ts +3 -0
  193. package/dist/components/status-and-feedback/banner/banner.template.d.ts.map +1 -0
  194. package/dist/components/status-and-feedback/banner/banner.template.js +51 -0
  195. package/dist/components/status-and-feedback/banner/banner.template.js.map +1 -0
  196. package/dist/components/status-and-feedback/progress/progress.d.ts +77 -0
  197. package/dist/components/status-and-feedback/progress/progress.d.ts.map +1 -0
  198. package/dist/components/status-and-feedback/progress/progress.i18n.d.ts +5 -0
  199. package/dist/components/status-and-feedback/progress/progress.i18n.d.ts.map +1 -0
  200. package/dist/components/status-and-feedback/progress/progress.i18n.js +4 -0
  201. package/dist/components/status-and-feedback/progress/progress.i18n.js.map +1 -0
  202. package/dist/components/status-and-feedback/progress/progress.js +137 -0
  203. package/dist/components/status-and-feedback/progress/progress.js.map +1 -0
  204. package/dist/components/status-and-feedback/progress/progress.styles.d.ts +2 -0
  205. package/dist/components/status-and-feedback/progress/progress.styles.d.ts.map +1 -0
  206. package/dist/components/status-and-feedback/progress/progress.styles.js +57 -0
  207. package/dist/components/status-and-feedback/progress/progress.styles.js.map +1 -0
  208. package/dist/components/status-and-feedback/progress/progress.template.d.ts +4 -0
  209. package/dist/components/status-and-feedback/progress/progress.template.d.ts.map +1 -0
  210. package/dist/components/status-and-feedback/progress/progress.template.js +26 -0
  211. package/dist/components/status-and-feedback/progress/progress.template.js.map +1 -0
  212. package/dist/components/status-and-feedback/progress-bar/progress-bar.d.ts +131 -0
  213. package/dist/components/status-and-feedback/progress-bar/progress-bar.d.ts.map +1 -0
  214. package/dist/components/status-and-feedback/progress-bar/progress-bar.i18n.d.ts +8 -0
  215. package/dist/components/status-and-feedback/progress-bar/progress-bar.i18n.d.ts.map +1 -0
  216. package/dist/components/status-and-feedback/progress-bar/progress-bar.i18n.js +7 -0
  217. package/dist/components/status-and-feedback/progress-bar/progress-bar.i18n.js.map +1 -0
  218. package/dist/components/status-and-feedback/progress-bar/progress-bar.js +426 -0
  219. package/dist/components/status-and-feedback/progress-bar/progress-bar.js.map +1 -0
  220. package/dist/components/status-and-feedback/progress-bar/progress-bar.styles.d.ts +3 -0
  221. package/dist/components/status-and-feedback/progress-bar/progress-bar.styles.d.ts.map +1 -0
  222. package/dist/components/status-and-feedback/progress-bar/progress-bar.styles.js +400 -0
  223. package/dist/components/status-and-feedback/progress-bar/progress-bar.styles.js.map +1 -0
  224. package/dist/components/status-and-feedback/progress-bar/progress-bar.template.d.ts +3 -0
  225. package/dist/components/status-and-feedback/progress-bar/progress-bar.template.d.ts.map +1 -0
  226. package/dist/components/status-and-feedback/progress-bar/progress-bar.template.js +60 -0
  227. package/dist/components/status-and-feedback/progress-bar/progress-bar.template.js.map +1 -0
  228. package/dist/components/status-and-feedback/progress-circle/progress-circle.d.ts +132 -0
  229. package/dist/components/status-and-feedback/progress-circle/progress-circle.d.ts.map +1 -0
  230. package/dist/components/status-and-feedback/progress-circle/progress-circle.i18n.d.ts +8 -0
  231. package/dist/components/status-and-feedback/progress-circle/progress-circle.i18n.d.ts.map +1 -0
  232. package/dist/components/status-and-feedback/progress-circle/progress-circle.i18n.js +7 -0
  233. package/dist/components/status-and-feedback/progress-circle/progress-circle.i18n.js.map +1 -0
  234. package/dist/components/status-and-feedback/progress-circle/progress-circle.js +437 -0
  235. package/dist/components/status-and-feedback/progress-circle/progress-circle.js.map +1 -0
  236. package/dist/components/status-and-feedback/progress-circle/progress-circle.styles.d.ts +3 -0
  237. package/dist/components/status-and-feedback/progress-circle/progress-circle.styles.d.ts.map +1 -0
  238. package/dist/components/status-and-feedback/progress-circle/progress-circle.styles.js +245 -0
  239. package/dist/components/status-and-feedback/progress-circle/progress-circle.styles.js.map +1 -0
  240. package/dist/components/status-and-feedback/progress-circle/progress-circle.template.d.ts +14 -0
  241. package/dist/components/status-and-feedback/progress-circle/progress-circle.template.d.ts.map +1 -0
  242. package/dist/components/status-and-feedback/progress-circle/progress-circle.template.js +115 -0
  243. package/dist/components/status-and-feedback/progress-circle/progress-circle.template.js.map +1 -0
  244. package/dist/css/settings.css +346 -18
  245. package/package.json +21 -1
@@ -0,0 +1,8 @@
1
+ export declare const nlddImageTranslations: {
2
+ /** Live-region announcement when an image fails to load mid-session.
3
+ * Combined with the alt text so SR users know which image failed.
4
+ * Decorative images (alt=" '"', aria-hidden) suppress the announcement. */
5
+ 'components.image.error-status-message': string;
6
+ };
7
+ export type NLDDImageTranslations = typeof nlddImageTranslations;
8
+ //# sourceMappingURL=image.i18n.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image.i18n.d.ts","sourceRoot":"","sources":["../../../../src/components/content/image/image.i18n.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;IACjC;;gFAE4E;;CAE5E,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export const nlddImageTranslations = {
2
+ /** Live-region announcement when an image fails to load mid-session.
3
+ * Combined with the alt text so SR users know which image failed.
4
+ * Decorative images (alt=" '"', aria-hidden) suppress the announcement. */
5
+ 'components.image.error-status-message': 'Afbeelding kon niet worden geladen',
6
+ };
7
+ //# sourceMappingURL=image.i18n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image.i18n.js","sourceRoot":"","sources":["../../../../src/components/content/image/image.i18n.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACpC;;gFAE4E;IAC5E,uCAAuC,EAAE,oCAAoC;CAC7E,CAAC"}
@@ -0,0 +1,320 @@
1
+ /**
2
+ * Nederlandse Digitale Dienst Image Component (Lit + TypeScript)
3
+ *
4
+ * Wraps a native `<img>` with design-system styling: corner radius variants,
5
+ * aspect-ratio reservation, object-fit/position control, optional caption +
6
+ * credit. Renders as `<figure>` + `<figcaption>` only when a caption or credit
7
+ * is set — otherwise just the image, no extra wrapping.
8
+ *
9
+ * Hybrid source: the `src` attribute renders an internal `<img>`. To use a
10
+ * custom `<img>` or `<picture>` (e.g. with art-direction sources), slot it
11
+ * into the default slot and we'll style and wrap it like our own image.
12
+ *
13
+ * @element nldd-image
14
+ *
15
+ * @attr {string} src - Image URL
16
+ * @attr {string} alt - Alt text. Required unless `decorative`.
17
+ * @attr {string} srcset - Responsive source set
18
+ * @attr {string} sizes - Source sizes hint
19
+ * @attr {number|'full'} width - Display width. `full` (default) fills the parent.
20
+ * A numeric value sets host `max-width` AND the `<img>` layout-hint width.
21
+ * @attr {number} height - Intrinsic height (for layout reservation)
22
+ * @attr {'lazy'|'eager'} loading - Loading strategy (default: 'lazy').
23
+ * Lazy defers fetch until the image is near the viewport — the right
24
+ * choice for below-the-fold content. Set to 'eager' on images that
25
+ * appear in the initial viewport, especially the LCP candidate (hero
26
+ * illustration, top-of-list thumbnail); leaving them lazy silently
27
+ * regresses Core Web Vitals because the LCP fetch waits for the
28
+ * intersection observer. Pair with `fetchpriority="high"` on the LCP
29
+ * image for the strongest signal.
30
+ * @attr {'async'|'sync'|'auto'} decoding - Decoding hint (default: 'async')
31
+ * @attr {'high'|'low'|'auto'} fetchpriority - Fetch priority hint
32
+ * @attr {string} aspect-ratio - Aspect ratio in CSS form (e.g. "16/9", "1/1", "4/3").
33
+ * "16:9" colon notation is also accepted for convenience.
34
+ * @attr {'cover'|'contain'|'fill'|'scale-down'|'none'} object-fit - default: 'cover'
35
+ * @attr {'center'|'top'|'bottom'|'left'|'right'} object-position - default: 'center'
36
+ * @attr {'square'|'rounded'|'circle'} shape - Corner shape (default: 'rounded')
37
+ * @attr {string} caption - Caption text shown below the image
38
+ * @attr {string} credit - Smaller credit/attribution text shown beside the caption
39
+ * @attr {boolean} decorative - Decorative image: alt is forced empty + aria-hidden
40
+ * @attr {string} lqip - Low-quality image placeholder as a CSV string
41
+ * `"base,c1,c2,c3,c4,c5,c6"` — seven 0-255 bytes, each packing an 8-bit
42
+ * Oklab triplet (2 bits L, 3 bits a, 3 bits b). The first is the base
43
+ * color shown outside the cell gradients; the other six are per-cell
44
+ * colors in row-major 3×2 order. Generate via the encoder in
45
+ * `lqip-encoder.ts` or via the "LQIP encoder tool" Storybook story.
46
+ * Extends Lean Rada's CSS-only LQIP (https://leanrada.com/notes/css-only-lqip/)
47
+ * with per-cell hue — Lean's original format encodes grayscale cells only;
48
+ * ours encodes a color per cell so multi-color subjects survive the
49
+ * placeholder.
50
+ *
51
+ * @slot - Custom `<img>` or `<picture>` (overrides the src-based default).
52
+ * The internal `error` listener is attached only to the built-in `<img>`, so
53
+ * slotted content does not trigger the error-state overlay automatically.
54
+ * Consumers slotting their own image are responsible for handling its
55
+ * error state (e.g. swapping the slot content or styling a fallback).
56
+ * @slot caption - Rich caption content (overrides the `caption` attribute)
57
+ */
58
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
59
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
60
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
61
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
62
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
63
+ };
64
+ import { LitElement } from 'lit';
65
+ import { customElement, property, state } from 'lit/decorators.js';
66
+ import { imageStyles } from './image.styles.js';
67
+ import { imageTemplate } from './image.template.js';
68
+ import { nlddImageTranslations } from './image.i18n.js';
69
+ import '../icon/icon.js';
70
+ let NLDDImage = class NLDDImage extends LitElement {
71
+ constructor() {
72
+ super(...arguments);
73
+ this.src = '';
74
+ this.alt = '';
75
+ this.srcset = '';
76
+ this.sizes = '';
77
+ /** `'full'` (fills the parent) or a numeric pixel string like `'320'`.
78
+ * Typed as `string` because `type: String` means a `width="320"`
79
+ * attribute arrives as the string `"320"`, not the number `320` — the
80
+ * `_numericWidth` getter owns all parsing. A consumer setting the
81
+ * property directly should pass a string (`el.width = '320'`). */
82
+ this.width = 'full';
83
+ this.loading = 'lazy';
84
+ this.decoding = 'async';
85
+ this.aspectRatio = '';
86
+ this.objectFit = 'cover';
87
+ this.objectPosition = 'center';
88
+ this.shape = 'rounded';
89
+ this.caption = '';
90
+ this.credit = '';
91
+ this.decorative = false;
92
+ this.lqip = '';
93
+ /** Override one or more translation keys. Unspecified keys fall back to Dutch. */
94
+ this.translations = {};
95
+ this._parsedLqipValue = null;
96
+ this._hasSlottedCaption = false;
97
+ /** Tracks whether the internal <img> has finished loading. While false and
98
+ * an LQIP value is set, the image stays hidden so the placeholder shows. */
99
+ this._imageLoaded = false;
100
+ /** Set when the internal <img> fires an error event (404, network error,
101
+ * decode failure, …). The template uses this to render a fallback UI
102
+ * with an icon + the alt text. */
103
+ this._imageErrored = false;
104
+ /** DEV-only "bad width" warning latch; see _numericWidth. */
105
+ this._warnedWidth = false;
106
+ /** DEV-only "missing alt" warning latch; see updated(). */
107
+ this._warnedAlt = false;
108
+ this._onImageLoad = () => {
109
+ this._imageLoaded = true;
110
+ this._imageErrored = false;
111
+ };
112
+ this._onImageError = () => {
113
+ this._imageErrored = true;
114
+ this._imageLoaded = false;
115
+ };
116
+ this._onCaptionSlotChange = (e) => {
117
+ this._syncSlottedCaption(e.target);
118
+ };
119
+ }
120
+ _t(key) {
121
+ return this.translations[key] ?? nlddImageTranslations[key];
122
+ }
123
+ /** Parsed LQIP: 7 numbers in [0, 255] — base + 6 cells — or null when the
124
+ * attribute is empty or malformed. Memoised against the raw lqip string,
125
+ * so successive reads return the same object reference until the
126
+ * attribute changes. */
127
+ get _parsedLqip() {
128
+ if (this._parsedLqipKey === this.lqip)
129
+ return this._parsedLqipValue;
130
+ this._parsedLqipKey = this.lqip;
131
+ if (!this.lqip) {
132
+ this._parsedLqipValue = null;
133
+ return null;
134
+ }
135
+ const parts = this.lqip.split(',').map(s => s.trim());
136
+ if (parts.length !== 7) {
137
+ this._parsedLqipValue = null;
138
+ return null;
139
+ }
140
+ const nums = parts.map(s => {
141
+ const n = Number(s);
142
+ return Number.isInteger(n) && n >= 0 && n <= 255 ? n : NaN;
143
+ });
144
+ this._parsedLqipValue = nums.some(Number.isNaN)
145
+ ? null
146
+ : { base: nums[0], cells: nums.slice(1) };
147
+ return this._parsedLqipValue;
148
+ }
149
+ /** Convert "16:9" → "16/9" so the CSS `aspect-ratio` parser accepts it.
150
+ * Already-slashed values pass through untouched. */
151
+ get _cssAspectRatio() {
152
+ if (!this.aspectRatio)
153
+ return '';
154
+ return this.aspectRatio.replace(':', '/');
155
+ }
156
+ /** Width parsed as a positive number if it isn't 'full'. Undefined when
157
+ * the host should fill its parent (no max-width and no <img width> hint).
158
+ * Empty / NaN / non-positive values fall back to undefined.
159
+ *
160
+ * Sentinel behavior: `width="0"` (and any other non-positive value)
161
+ * silently behaves as `width="full"`. A zero-width image is meaningless,
162
+ * so we treat the input as the consumer's mistake rather than a literal
163
+ * request — a DEV-mode warn flags it during development. */
164
+ get _numericWidth() {
165
+ if (this.width === 'full')
166
+ return undefined;
167
+ const n = Number(this.width);
168
+ if (Number.isFinite(n) && n > 0)
169
+ return n;
170
+ if (import.meta.env?.DEV && this.width !== null && this.width !== undefined && String(this.width) !== '' && !this._warnedWidth) {
171
+ this._warnedWidth = true;
172
+ console.warn(`<nldd-image>: width="${this.width}" is not a positive number. Falling back to "full".`);
173
+ }
174
+ return undefined;
175
+ }
176
+ get _hasCaption() {
177
+ return !!this.caption || !!this.credit || this._hasSlottedCaption;
178
+ }
179
+ willUpdate(changed) {
180
+ // Reset load/error flags when the src changes so the LQIP shows again
181
+ // for the new image until it finishes loading (or errors out anew).
182
+ // Also re-arm the alt-warning latch so swapping to a new src with a
183
+ // missing alt warns again instead of staying silent after the first hit.
184
+ if (changed.has('src')) {
185
+ this._imageLoaded = false;
186
+ this._imageErrored = false;
187
+ this._warnedAlt = false;
188
+ }
189
+ }
190
+ updated(changed) {
191
+ // Apply the numeric `width` as a custom property the stylesheet picks
192
+ // up. Setting style.maxWidth directly would override any consumer CSS
193
+ // targeting the host's max-width; routing through --_max-width lets
194
+ // the consumer's cascade win for the rare case where they need a
195
+ // different cap. 'full' clears the constraint.
196
+ if (changed.has('width')) {
197
+ const n = this._numericWidth;
198
+ if (n !== undefined) {
199
+ this.style.setProperty('--_max-width', `${n}px`);
200
+ }
201
+ else {
202
+ this.style.removeProperty('--_max-width');
203
+ }
204
+ }
205
+ // Non-decorative images without alt text are a silent a11y failure
206
+ // (WCAG H37). Warn once in dev so the issue surfaces during build /
207
+ // Storybook, but stay quiet in production. Reset the flag when the
208
+ // situation is resolved so re-introducing the bug warns again.
209
+ if (import.meta.env?.DEV) {
210
+ const inaccessible = !this.decorative && !this.alt.trim();
211
+ if (inaccessible && !this._warnedAlt) {
212
+ this._warnedAlt = true;
213
+ console.warn('<nldd-image>: Non-decorative images need a non-empty `alt`. Set `decorative` if the image conveys no information.');
214
+ }
215
+ else if (!inaccessible) {
216
+ this._warnedAlt = false;
217
+ }
218
+ }
219
+ }
220
+ firstUpdated() {
221
+ // If the image was cached or already loaded by the time the listener
222
+ // attached, the load event won't fire — sync state directly.
223
+ const img = this.shadowRoot?.querySelector('.image__img');
224
+ if (img?.complete && img.naturalWidth > 0) {
225
+ this._imageLoaded = true;
226
+ }
227
+ // Sync the slotted-caption flag from the initial assignment. Without
228
+ // this, consumer-provided `<span slot="caption">` content in the
229
+ // page's initial HTML wouldn't show up until the FIRST slotchange
230
+ // (which doesn't fire for static initial content) — producing a
231
+ // flash of no figure / caption on first paint.
232
+ const captionSlot = this.shadowRoot?.querySelector('slot[name="caption"]');
233
+ if (captionSlot)
234
+ this._syncSlottedCaption(captionSlot);
235
+ }
236
+ /** Recompute _hasSlottedCaption from a caption slot's assigned nodes.
237
+ * Takes the slot directly so both the slotchange handler and the
238
+ * firstUpdated initial-sync can call it — no synthetic Event needed. */
239
+ _syncSlottedCaption(slot) {
240
+ this._hasSlottedCaption = slot.assignedNodes({ flatten: true })
241
+ .some(node => {
242
+ if (node.nodeType === Node.TEXT_NODE) {
243
+ return (node.textContent || '').trim() !== '';
244
+ }
245
+ return true;
246
+ });
247
+ }
248
+ render() {
249
+ return imageTemplate(this);
250
+ }
251
+ };
252
+ NLDDImage.styles = imageStyles;
253
+ __decorate([
254
+ property({ type: String, reflect: true })
255
+ ], NLDDImage.prototype, "src", void 0);
256
+ __decorate([
257
+ property({ type: String })
258
+ ], NLDDImage.prototype, "alt", void 0);
259
+ __decorate([
260
+ property({ type: String })
261
+ ], NLDDImage.prototype, "srcset", void 0);
262
+ __decorate([
263
+ property({ type: String })
264
+ ], NLDDImage.prototype, "sizes", void 0);
265
+ __decorate([
266
+ property({ type: String, reflect: true })
267
+ ], NLDDImage.prototype, "width", void 0);
268
+ __decorate([
269
+ property({ type: Number, reflect: true })
270
+ ], NLDDImage.prototype, "height", void 0);
271
+ __decorate([
272
+ property({ type: String })
273
+ ], NLDDImage.prototype, "loading", void 0);
274
+ __decorate([
275
+ property({ type: String })
276
+ ], NLDDImage.prototype, "decoding", void 0);
277
+ __decorate([
278
+ property({ type: String, attribute: 'fetchpriority' })
279
+ ], NLDDImage.prototype, "fetchPriority", void 0);
280
+ __decorate([
281
+ property({ type: String, attribute: 'aspect-ratio', reflect: true })
282
+ ], NLDDImage.prototype, "aspectRatio", void 0);
283
+ __decorate([
284
+ property({ type: String, attribute: 'object-fit', reflect: true })
285
+ ], NLDDImage.prototype, "objectFit", void 0);
286
+ __decorate([
287
+ property({ type: String, attribute: 'object-position', reflect: true })
288
+ ], NLDDImage.prototype, "objectPosition", void 0);
289
+ __decorate([
290
+ property({ type: String, reflect: true })
291
+ ], NLDDImage.prototype, "shape", void 0);
292
+ __decorate([
293
+ property({ type: String })
294
+ ], NLDDImage.prototype, "caption", void 0);
295
+ __decorate([
296
+ property({ type: String })
297
+ ], NLDDImage.prototype, "credit", void 0);
298
+ __decorate([
299
+ property({ type: Boolean, reflect: true })
300
+ ], NLDDImage.prototype, "decorative", void 0);
301
+ __decorate([
302
+ property({ type: String })
303
+ ], NLDDImage.prototype, "lqip", void 0);
304
+ __decorate([
305
+ property({ type: Object })
306
+ ], NLDDImage.prototype, "translations", void 0);
307
+ __decorate([
308
+ state()
309
+ ], NLDDImage.prototype, "_hasSlottedCaption", void 0);
310
+ __decorate([
311
+ state()
312
+ ], NLDDImage.prototype, "_imageLoaded", void 0);
313
+ __decorate([
314
+ state()
315
+ ], NLDDImage.prototype, "_imageErrored", void 0);
316
+ NLDDImage = __decorate([
317
+ customElement('nldd-image')
318
+ ], NLDDImage);
319
+ export { NLDDImage };
320
+ //# sourceMappingURL=image.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image.js","sourceRoot":"","sources":["../../../../src/components/content/image/image.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const imageStyles: import("lit").CSSResult;
2
+ //# sourceMappingURL=image.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/content/image/image.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,yBA+YvB,CAAC"}