@swisspost/design-system-components 1.5.1 → 1.6.0

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 (294) hide show
  1. package/dist/cjs/check-non-empty-ae713942.js +13 -0
  2. package/dist/cjs/check-non-empty-ae713942.js.map +1 -0
  3. package/dist/cjs/{check-one-of-4c2e8b2e.js → check-one-of-27ad3154.js} +1 -1
  4. package/dist/cjs/check-one-of-27ad3154.js.map +1 -0
  5. package/dist/cjs/constants-238701d3.js +7 -0
  6. package/dist/cjs/constants-238701d3.js.map +1 -0
  7. package/dist/cjs/fade-35a3633a.js +12 -0
  8. package/dist/cjs/fade-35a3633a.js.map +1 -0
  9. package/dist/cjs/index-b38a23e0.js +41 -0
  10. package/dist/cjs/index-b38a23e0.js.map +1 -0
  11. package/dist/cjs/{index-12cc37c9.js → index-b619e205.js} +245 -41
  12. package/dist/cjs/index-b619e205.js.map +1 -0
  13. package/dist/cjs/index.cjs.js +26 -0
  14. package/dist/cjs/index.cjs.js.map +1 -1
  15. package/dist/cjs/loader.cjs.js +3 -12
  16. package/dist/cjs/loader.cjs.js.map +1 -1
  17. package/dist/cjs/package-7c4db872.js +7 -0
  18. package/dist/cjs/package-7c4db872.js.map +1 -0
  19. package/dist/cjs/post-accordion.cjs.entry.js +89 -0
  20. package/dist/cjs/post-accordion.cjs.entry.js.map +1 -0
  21. package/dist/cjs/post-alert-c037e6a3.js +101 -0
  22. package/dist/{post-components/p-7240ae7b.entry.js.map → cjs/post-alert-c037e6a3.js.map} +1 -1
  23. package/dist/cjs/post-alert.cjs.entry.js +9 -96
  24. package/dist/cjs/post-alert.cjs.entry.js.map +1 -1
  25. package/dist/cjs/post-collapsible-7c9d23a2.js +93 -0
  26. package/dist/cjs/post-collapsible-7c9d23a2.js.map +1 -0
  27. package/dist/cjs/post-collapsible.cjs.entry.js +7 -119
  28. package/dist/cjs/post-collapsible.cjs.entry.js.map +1 -1
  29. package/dist/cjs/post-components.cjs.js +3 -6
  30. package/dist/cjs/post-components.cjs.js.map +1 -1
  31. package/dist/cjs/post-icon-f418f76a.js +105 -0
  32. package/dist/cjs/post-icon-f418f76a.js.map +1 -0
  33. package/dist/cjs/post-icon.cjs.entry.js +8 -100
  34. package/dist/cjs/post-icon.cjs.entry.js.map +1 -1
  35. package/dist/cjs/post-tab-header-e08c2a42.js +33 -0
  36. package/dist/cjs/post-tab-header-e08c2a42.js.map +1 -0
  37. package/dist/cjs/post-tab-header.cjs.entry.js +6 -26
  38. package/dist/cjs/post-tab-header.cjs.entry.js.map +1 -1
  39. package/dist/cjs/post-tab-panel-721f7f32.js +27 -0
  40. package/dist/cjs/post-tab-panel-721f7f32.js.map +1 -0
  41. package/dist/cjs/post-tab-panel.cjs.entry.js +4 -20
  42. package/dist/cjs/post-tab-panel.cjs.entry.js.map +1 -1
  43. package/dist/cjs/post-tabs-4bcc867b.js +153 -0
  44. package/dist/cjs/post-tabs-4bcc867b.js.map +1 -0
  45. package/dist/cjs/post-tabs.cjs.entry.js +5 -146
  46. package/dist/cjs/post-tabs.cjs.entry.js.map +1 -1
  47. package/dist/cjs/post-tooltip-261c5cda.js +5095 -0
  48. package/dist/cjs/post-tooltip-261c5cda.js.map +1 -0
  49. package/dist/cjs/post-tooltip.cjs.entry.js +5 -5088
  50. package/dist/cjs/post-tooltip.cjs.entry.js.map +1 -1
  51. package/dist/collection/animations/collapse.js +13 -0
  52. package/dist/collection/animations/collapse.js.map +1 -0
  53. package/dist/collection/animations/fade.js +4 -4
  54. package/dist/collection/animations/fade.js.map +1 -1
  55. package/dist/collection/collection-manifest.json +10 -9
  56. package/dist/collection/components/post-accordion/post-accordion.css +1 -0
  57. package/dist/collection/components/post-accordion/post-accordion.js +178 -0
  58. package/dist/collection/components/post-accordion/post-accordion.js.map +1 -0
  59. package/dist/collection/components/post-alert/post-alert.css +1 -1
  60. package/dist/collection/components/post-alert/post-alert.js +9 -7
  61. package/dist/collection/components/post-alert/post-alert.js.map +1 -1
  62. package/dist/collection/components/post-collapsible/heading-levels.js +2 -0
  63. package/dist/collection/components/post-collapsible/heading-levels.js.map +1 -0
  64. package/dist/collection/components/post-collapsible/post-collapsible.css +1 -29
  65. package/dist/collection/components/post-collapsible/post-collapsible.js +65 -63
  66. package/dist/collection/components/post-collapsible/post-collapsible.js.map +1 -1
  67. package/dist/collection/components/post-icon/post-icon.js +5 -4
  68. package/dist/collection/components/post-icon/post-icon.js.map +1 -1
  69. package/dist/collection/components/post-tab-header/post-tab-header.css +1 -1
  70. package/dist/collection/components/post-tab-header/post-tab-header.js +5 -4
  71. package/dist/collection/components/post-tab-header/post-tab-header.js.map +1 -1
  72. package/dist/collection/components/post-tab-panel/post-tab-panel.js +2 -2
  73. package/dist/collection/components/post-tabs/post-tabs.js +11 -7
  74. package/dist/collection/components/post-tabs/post-tabs.js.map +1 -1
  75. package/dist/collection/components/post-tooltip/post-tooltip.js +22 -15
  76. package/dist/collection/components/post-tooltip/post-tooltip.js.map +1 -1
  77. package/dist/collection/index.js +8 -1
  78. package/dist/collection/index.js.map +1 -1
  79. package/dist/collection/utils/index.js +1 -3
  80. package/dist/collection/utils/index.js.map +1 -1
  81. package/dist/collection/utils/is-motion-reduced.js +4 -0
  82. package/dist/collection/utils/is-motion-reduced.js.map +1 -0
  83. package/dist/collection/utils/property-checkers/check-non-empty.js +1 -1
  84. package/dist/collection/utils/property-checkers/empty-or.js +1 -1
  85. package/dist/collection/utils/property-checkers/index.js +4 -4
  86. package/dist/components/check-non-empty.js +2 -2
  87. package/dist/components/check-non-empty.js.map +1 -1
  88. package/dist/components/check-one-of.js.map +1 -1
  89. package/dist/components/constants.js +5 -0
  90. package/dist/components/constants.js.map +1 -0
  91. package/dist/components/fade.js +4 -4
  92. package/dist/components/fade.js.map +1 -1
  93. package/dist/components/index.d.ts +6 -0
  94. package/dist/components/index.js +8 -1
  95. package/dist/components/index.js.map +1 -1
  96. package/dist/components/index2.js +36 -0
  97. package/dist/components/index2.js.map +1 -0
  98. package/dist/components/package.js +1 -1
  99. package/dist/components/post-accordion.d.ts +11 -0
  100. package/dist/components/post-accordion.js +108 -0
  101. package/dist/components/post-accordion.js.map +1 -0
  102. package/dist/components/post-alert.js +1 -128
  103. package/dist/components/post-alert.js.map +1 -1
  104. package/dist/components/post-alert2.js +138 -0
  105. package/dist/components/post-alert2.js.map +1 -0
  106. package/dist/components/post-collapsible.js +1 -146
  107. package/dist/components/post-collapsible.js.map +1 -1
  108. package/dist/components/post-collapsible2.js +117 -0
  109. package/dist/components/post-collapsible2.js.map +1 -0
  110. package/dist/components/post-icon2.js +11 -21
  111. package/dist/components/post-icon2.js.map +1 -1
  112. package/dist/components/post-tab-header.js +1 -45
  113. package/dist/components/post-tab-header.js.map +1 -1
  114. package/dist/components/post-tab-header2.js +51 -0
  115. package/dist/components/post-tab-header2.js.map +1 -0
  116. package/dist/components/post-tab-panel.js +1 -39
  117. package/dist/components/post-tab-panel.js.map +1 -1
  118. package/dist/components/post-tab-panel2.js +43 -0
  119. package/dist/components/post-tab-panel2.js.map +1 -0
  120. package/dist/components/post-tabs.js +1 -165
  121. package/dist/components/post-tabs.js.map +1 -1
  122. package/dist/components/post-tabs2.js +169 -0
  123. package/dist/components/post-tabs2.js.map +1 -0
  124. package/dist/components/post-tooltip.js +1 -5111
  125. package/dist/components/post-tooltip.js.map +1 -1
  126. package/dist/components/post-tooltip2.js +5117 -0
  127. package/dist/components/post-tooltip2.js.map +1 -0
  128. package/dist/docs.d.ts +334 -235
  129. package/dist/docs.json +458 -14
  130. package/dist/esm/check-non-empty-09c39561.js +11 -0
  131. package/dist/esm/check-non-empty-09c39561.js.map +1 -0
  132. package/dist/esm/{check-one-of-ded5e15e.js → check-one-of-74750af9.js} +1 -1
  133. package/dist/esm/check-one-of-74750af9.js.map +1 -0
  134. package/dist/esm/constants-8d548297.js +5 -0
  135. package/dist/esm/constants-8d548297.js.map +1 -0
  136. package/dist/esm/fade-7fd71785.js +9 -0
  137. package/dist/esm/fade-7fd71785.js.map +1 -0
  138. package/dist/esm/index-35921354.js +36 -0
  139. package/dist/esm/index-35921354.js.map +1 -0
  140. package/dist/esm/{index-5611074b.js → index-4eff5fc5.js} +245 -41
  141. package/dist/esm/index-4eff5fc5.js.map +1 -0
  142. package/dist/esm/index.js +14 -1
  143. package/dist/esm/index.js.map +1 -1
  144. package/dist/esm/loader.js +4 -13
  145. package/dist/esm/loader.js.map +1 -1
  146. package/dist/esm/package-3bbdb32c.js +5 -0
  147. package/dist/esm/package-3bbdb32c.js.map +1 -0
  148. package/dist/esm/post-accordion.entry.js +85 -0
  149. package/dist/esm/post-accordion.entry.js.map +1 -0
  150. package/dist/{post-components/p-7240ae7b.entry.js → esm/post-alert-5dd43c8b.js} +99 -2
  151. package/dist/esm/post-alert-5dd43c8b.js.map +1 -0
  152. package/dist/esm/post-alert.entry.js +8 -99
  153. package/dist/esm/post-alert.entry.js.map +1 -1
  154. package/dist/esm/post-collapsible-26dc2340.js +91 -0
  155. package/dist/esm/post-collapsible-26dc2340.js.map +1 -0
  156. package/dist/esm/post-collapsible.entry.js +6 -122
  157. package/dist/esm/post-collapsible.entry.js.map +1 -1
  158. package/dist/esm/post-components.js +4 -7
  159. package/dist/esm/post-components.js.map +1 -1
  160. package/dist/esm/post-icon-fb0eb8aa.js +103 -0
  161. package/dist/esm/post-icon-fb0eb8aa.js.map +1 -0
  162. package/dist/esm/post-icon.entry.js +7 -103
  163. package/dist/esm/post-icon.entry.js.map +1 -1
  164. package/dist/esm/post-tab-header-deebc551.js +31 -0
  165. package/dist/esm/post-tab-header-deebc551.js.map +1 -0
  166. package/dist/esm/post-tab-header.entry.js +5 -29
  167. package/dist/esm/post-tab-header.entry.js.map +1 -1
  168. package/dist/esm/post-tab-panel-4b820f71.js +25 -0
  169. package/dist/esm/post-tab-panel-4b820f71.js.map +1 -0
  170. package/dist/esm/post-tab-panel.entry.js +3 -23
  171. package/dist/esm/post-tab-panel.entry.js.map +1 -1
  172. package/dist/esm/post-tabs-2d8d6a33.js +151 -0
  173. package/dist/esm/post-tabs-2d8d6a33.js.map +1 -0
  174. package/dist/esm/post-tabs.entry.js +4 -149
  175. package/dist/esm/post-tabs.entry.js.map +1 -1
  176. package/dist/esm/post-tooltip-811309c5.js +5093 -0
  177. package/dist/esm/post-tooltip-811309c5.js.map +1 -0
  178. package/dist/esm/post-tooltip.entry.js +4 -5091
  179. package/dist/esm/post-tooltip.entry.js.map +1 -1
  180. package/dist/post-components/index.esm.js +1 -1
  181. package/dist/post-components/{p-8c386036.entry.js → p-01e8dfe6.js} +3 -3
  182. package/dist/post-components/p-01e8dfe6.js.map +1 -0
  183. package/dist/post-components/p-0a49c1a3.entry.js +2 -0
  184. package/dist/post-components/{p-bcc705f1.js → p-1339f8cd.js} +1 -1
  185. package/dist/post-components/p-1339f8cd.js.map +1 -0
  186. package/dist/post-components/{p-123bb6fb.entry.js → p-1a8a8ef2.js} +2 -2
  187. package/dist/post-components/p-1a8a8ef2.js.map +1 -0
  188. package/dist/post-components/p-27092ac3.entry.js +2 -0
  189. package/dist/post-components/p-27092ac3.entry.js.map +1 -0
  190. package/dist/post-components/{p-e5306504.js → p-2737eaf5.js} +1 -1
  191. package/dist/post-components/p-2737eaf5.js.map +1 -0
  192. package/dist/post-components/p-332eef46.js +2 -0
  193. package/dist/post-components/p-332eef46.js.map +1 -0
  194. package/dist/post-components/p-440193f4.js +2 -0
  195. package/dist/post-components/p-440193f4.js.map +1 -0
  196. package/dist/post-components/p-541142fd.js +2 -0
  197. package/dist/post-components/p-541142fd.js.map +1 -0
  198. package/dist/post-components/{p-0d37fe44.entry.js → p-574acdb0.js} +2 -2
  199. package/dist/post-components/p-574acdb0.js.map +1 -0
  200. package/dist/post-components/p-66460e3f.entry.js +2 -0
  201. package/dist/post-components/p-66460e3f.entry.js.map +1 -0
  202. package/dist/post-components/p-810ee105.entry.js +2 -0
  203. package/dist/post-components/p-810ee105.entry.js.map +1 -0
  204. package/dist/post-components/p-939df031.entry.js +2 -0
  205. package/dist/post-components/p-939df031.entry.js.map +1 -0
  206. package/dist/post-components/p-94b3f291.entry.js +2 -0
  207. package/dist/post-components/p-94b3f291.entry.js.map +1 -0
  208. package/dist/post-components/p-97000cb6.js +2 -0
  209. package/dist/post-components/p-97000cb6.js.map +1 -0
  210. package/dist/post-components/p-a7649277.js +3 -0
  211. package/dist/post-components/p-a7649277.js.map +1 -0
  212. package/dist/post-components/p-abd149b3.entry.js +2 -0
  213. package/dist/post-components/p-abd149b3.entry.js.map +1 -0
  214. package/dist/post-components/p-b531475e.js +2 -0
  215. package/dist/post-components/p-b531475e.js.map +1 -0
  216. package/dist/post-components/p-c6b73d6e.js +2 -0
  217. package/dist/post-components/p-c6b73d6e.js.map +1 -0
  218. package/dist/post-components/p-d4fb9f16.js +2 -0
  219. package/dist/post-components/p-d4fb9f16.js.map +1 -0
  220. package/dist/post-components/p-dfe29f7f.js +2 -0
  221. package/dist/post-components/p-dfe29f7f.js.map +1 -0
  222. package/dist/post-components/p-e9dc9039.entry.js +2 -0
  223. package/dist/post-components/p-e9dc9039.entry.js.map +1 -0
  224. package/dist/post-components/post-components.esm.js +1 -1
  225. package/dist/post-components/post-components.esm.js.map +1 -1
  226. package/dist/types/animations/collapse.d.ts +2 -0
  227. package/dist/types/components/post-accordion/post-accordion.d.ts +28 -0
  228. package/dist/types/components/post-alert/post-alert.d.ts +1 -1
  229. package/dist/types/components/post-collapsible/heading-levels.d.ts +2 -0
  230. package/dist/types/components/post-collapsible/post-collapsible.d.ts +16 -12
  231. package/dist/types/components.d.ts +79 -3
  232. package/dist/types/index.d.ts +7 -0
  233. package/dist/types/stencil-public-runtime.d.ts +38 -5
  234. package/dist/types/utils/index.d.ts +1 -3
  235. package/dist/types/utils/is-motion-reduced.d.ts +1 -0
  236. package/loader/index.d.ts +1 -1
  237. package/package.json +8 -8
  238. package/dist/cjs/check-non-empty-35b4d0b5.js +0 -14
  239. package/dist/cjs/check-non-empty-35b4d0b5.js.map +0 -1
  240. package/dist/cjs/check-one-of-4c2e8b2e.js.map +0 -1
  241. package/dist/cjs/check-type-508a21a5.js +0 -18
  242. package/dist/cjs/check-type-508a21a5.js.map +0 -1
  243. package/dist/cjs/fade-8c6d4fa7.js +0 -12
  244. package/dist/cjs/fade-8c6d4fa7.js.map +0 -1
  245. package/dist/cjs/index-12cc37c9.js.map +0 -1
  246. package/dist/cjs/index-f8f6f146.js +0 -28
  247. package/dist/cjs/index-f8f6f146.js.map +0 -1
  248. package/dist/cjs/package-112e1698.js +0 -7
  249. package/dist/cjs/package-112e1698.js.map +0 -1
  250. package/dist/collection/utils/get-element-height.js +0 -12
  251. package/dist/collection/utils/get-element-height.js.map +0 -1
  252. package/dist/collection/utils/on-transition-end.js +0 -15
  253. package/dist/collection/utils/on-transition-end.js.map +0 -1
  254. package/dist/collection/utils/should-reduce-motion.js +0 -4
  255. package/dist/collection/utils/should-reduce-motion.js.map +0 -1
  256. package/dist/components/check-type.js +0 -16
  257. package/dist/components/check-type.js.map +0 -1
  258. package/dist/esm/check-non-empty-554bdf88.js +0 -11
  259. package/dist/esm/check-non-empty-554bdf88.js.map +0 -1
  260. package/dist/esm/check-one-of-ded5e15e.js.map +0 -1
  261. package/dist/esm/check-type-18ebb4e7.js +0 -16
  262. package/dist/esm/check-type-18ebb4e7.js.map +0 -1
  263. package/dist/esm/fade-671f1489.js +0 -9
  264. package/dist/esm/fade-671f1489.js.map +0 -1
  265. package/dist/esm/index-5611074b.js.map +0 -1
  266. package/dist/esm/index-7f723686.js +0 -24
  267. package/dist/esm/index-7f723686.js.map +0 -1
  268. package/dist/esm/package-331628f1.js +0 -5
  269. package/dist/esm/package-331628f1.js.map +0 -1
  270. package/dist/esm/polyfills/css-shim.js +0 -1
  271. package/dist/post-components/p-0d37fe44.entry.js.map +0 -1
  272. package/dist/post-components/p-123bb6fb.entry.js.map +0 -1
  273. package/dist/post-components/p-15fc087f.js +0 -2
  274. package/dist/post-components/p-15fc087f.js.map +0 -1
  275. package/dist/post-components/p-65a9d1c2.entry.js +0 -2
  276. package/dist/post-components/p-65a9d1c2.entry.js.map +0 -1
  277. package/dist/post-components/p-75a7b352.js +0 -2
  278. package/dist/post-components/p-75a7b352.js.map +0 -1
  279. package/dist/post-components/p-8c386036.entry.js.map +0 -1
  280. package/dist/post-components/p-97a064da.entry.js +0 -2
  281. package/dist/post-components/p-97a064da.entry.js.map +0 -1
  282. package/dist/post-components/p-bcc705f1.js.map +0 -1
  283. package/dist/post-components/p-c8efe0ae.js +0 -2
  284. package/dist/post-components/p-c8efe0ae.js.map +0 -1
  285. package/dist/post-components/p-ccae1c68.entry.js +0 -2
  286. package/dist/post-components/p-ccae1c68.entry.js.map +0 -1
  287. package/dist/post-components/p-d94db268.js +0 -3
  288. package/dist/post-components/p-d94db268.js.map +0 -1
  289. package/dist/post-components/p-e5306504.js.map +0 -1
  290. package/dist/post-components/p-eb3ff4dc.js +0 -2
  291. package/dist/types/utils/get-element-height.d.ts +0 -3
  292. package/dist/types/utils/on-transition-end.d.ts +0 -1
  293. package/dist/types/utils/should-reduce-motion.d.ts +0 -1
  294. /package/dist/post-components/{p-eb3ff4dc.js.map → p-0a49c1a3.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ALERT_TYPES","postAlertCss","PostAlert","crypto","randomUUID","this","dismiss","validateDismissible","isDismissible","dismissible","checkType","setTimeout","validateDismissLabel","dismissLabel","checkNonEmpty","validateFixed","isFixed","fixed","validateIcon","icon","checkEmptyOrPattern","validateType","type","checkEmptyOrOneOf","join","connectedCallback","componentWillRender","hasHeading","host","querySelectorAll","length","hasActions","classes","_a","dismissal","fadeOut","finished","remove","dismissed","emit","render","defaultAlertContent","h","key","alertId","class","name","actionAlertContent","Host","version","role","onClick","onDismissButtonClick"],"sources":["src/components/post-alert/alert-types.ts","src/components/post-alert/post-alert.scss?tag=post-alert&encapsulation=shadow","src/components/post-alert/post-alert.tsx"],"sourcesContent":["export const ALERT_TYPES = ['primary', 'success', 'danger', 'warning', 'info', 'gray'] as const;\n\nexport type AlertType = typeof ALERT_TYPES[number];\n","@use '@swisspost/design-system-styles/components/alert';\n@use '@swisspost/design-system-styles/components/close';\n@use '@swisspost/design-system-styles/core' as post;\n\n:host {\n display: block;\n\n ::slotted(*) {\n margin: 0 !important;\n }\n}\n\n.visually-hidden {\n @include post.visually-hidden();\n}\n\n@for $i from 1 through 6 {\n .alert-heading > ::slotted(h#{$i}) {\n font-size: inherit !important;\n font-weight: inherit !important;\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch } from '@stencil/core';\nimport { version } from '../../../package.json';\nimport { fadeOut } from '../../animations';\nimport { checkEmptyOrOneOf, checkEmptyOrPattern, checkNonEmpty, checkType } from '../../utils';\nimport { ALERT_TYPES, AlertType } from './alert-types';\n\n@Component({\n tag: 'post-alert',\n styleUrl: 'post-alert.scss',\n shadow: true,\n})\nexport class PostAlert {\n @Element() host: HTMLPostAlertElement;\n\n @State() alertId = crypto.randomUUID();\n @State() classes: string;\n @State() hasActions: boolean;\n @State() hasHeading: boolean;\n @State() onDismissButtonClick = () => this.dismiss();\n\n /**\n * If `true`, a close button (×) is displayed and the alert can be dismissed by the user.\n */\n @Prop() readonly dismissible: boolean = false;\n\n @Watch('dismissible')\n validateDismissible(isDismissible = this.dismissible) {\n checkType(isDismissible, 'boolean', 'The post-alert \"dismissible\" prop should be a boolean.');\n setTimeout(() => this.validateDismissLabel());\n }\n\n /**\n * The label to use for the close button of a dismissible alert.\n */\n @Prop() readonly dismissLabel: string;\n\n @Watch('dismissLabel')\n validateDismissLabel(dismissLabel = this.dismissLabel) {\n if (this.dismissible) {\n checkNonEmpty(dismissLabel, 'Dismissible post-alert\\'s require a \"dismiss-label\" prop.');\n }\n }\n\n /**\n * If `true`, the alert is positioned at the bottom of the window, from edge to edge.\n */\n @Prop() readonly fixed: boolean = false;\n\n @Watch('fixed')\n validateFixed(isFixed = this.fixed) {\n checkType(isFixed, 'boolean', 'The post-alert \"fixed\" prop should be a boolean.');\n }\n\n /**\n * The icon to display in the alert. By default, the icon depends on the alert type.\n *\n * If `none`, no icon is displayed.\n */\n @Prop() readonly icon: string;\n\n @Watch('icon')\n validateIcon(icon = this.icon) {\n checkEmptyOrPattern(icon, /\\d{4}|none/, 'The post-alert \"icon\" prop should be a 4-digits string.');\n }\n\n /**\n * The type of the alert.\n */\n @Prop() readonly type: AlertType = 'primary';\n\n @Watch('type')\n validateType(type = this.type) {\n checkEmptyOrOneOf(type, ALERT_TYPES, `The post-alert requires a type form: ${ALERT_TYPES.join(', ')}`);\n }\n\n /**\n * An event emitted when the alert element is dismissed, after the transition.\n * It has no payload and only relevant for dismissible alerts.\n */\n @Event() dismissed: EventEmitter<void>;\n\n connectedCallback() {\n this.validateDismissible();\n this.validateFixed();\n this.validateIcon();\n this.validateType();\n }\n\n componentWillRender() {\n this.hasHeading = this.host.querySelectorAll('[slot=heading]').length > 0;\n this.hasActions = this.host.querySelectorAll('[slot=actions]').length > 0;\n\n this.classes = `alert alert-${this.type ?? 'primary'}`;\n if (this.dismissible) this.classes += ' alert-dismissible';\n if (this.hasActions) this.classes += ' alert-action';\n if (this.fixed) this.classes += ' alert-fixed-bottom';\n if (this.icon === 'none') this.classes += ' no-icon';\n }\n\n /**\n * Triggers alert dismissal programmatically (same as clicking on the close button (×)).\n */\n @Method()\n async dismiss() {\n const dismissal = fadeOut(this.host);\n\n await dismissal.finished;\n\n this.host.remove();\n this.dismissed.emit();\n }\n\n render() {\n const defaultAlertContent = [\n this.hasHeading && (\n <div key={`${this.alertId}-heading`} class=\"alert-heading\">\n <slot name=\"heading\"/>\n </div>\n ),\n <slot key={`${this.alertId}-message`}/>\n ];\n\n const actionAlertContent = [\n <div key={`${this.alertId}-content`} class=\"alert-content\">\n {defaultAlertContent}\n </div>,\n <div key={`${this.alertId}-buttons`} class=\"alert-buttons\">\n <slot name=\"actions\"/>\n </div>,\n ];\n\n return (\n <Host data-version={version}>\n <div role=\"alert\" class={this.classes}>\n {this.dismissible && (\n <button class=\"btn-close\" onClick={this.onDismissButtonClick}>\n <span class=\"visually-hidden\">{this.dismissLabel}</span>\n </button>\n )}\n\n {this.icon && this.icon !== 'none' && (\n <post-icon key={`${this.alertId}-icon`} name={this.icon} />\n )}\n\n {this.hasActions\n ? actionAlertContent\n : defaultAlertContent\n }\n </div>\n </Host>\n );\n }\n\n}\n"],"mappings":"8NAAO,MAAMA,EAAc,CAAC,UAAW,UAAW,SAAU,UAAW,OAAQ,QCA/E,MAAMC,EAAe,4/lB,MCWRC,EAAS,M,2EAGDC,OAAOC,a,qGAIM,IAAMC,KAAKC,U,iBAKH,M,uCAuBN,M,8BAsBC,S,CA1CnC,mBAAAC,CAAoBC,EAAgBH,KAAKI,aACvCC,EAAUF,EAAe,UAAW,0DACpCG,YAAW,IAAMN,KAAKO,wB,CASxB,oBAAAA,CAAqBC,EAAeR,KAAKQ,cACvC,GAAIR,KAAKI,YAAa,CACpBK,EAAcD,EAAc,4D,EAUhC,aAAAE,CAAcC,EAAUX,KAAKY,OAC3BP,EAAUM,EAAS,UAAW,mD,CAWhC,YAAAE,CAAaC,EAAOd,KAAKc,MACvBC,EAAoBD,EAAM,aAAc,0D,CAS1C,YAAAE,CAAaC,EAAOjB,KAAKiB,MACvBC,EAAkBD,EAAMtB,EAAa,wCAAwCA,EAAYwB,KAAK,Q,CAShG,iBAAAC,GACEpB,KAAKE,sBACLF,KAAKU,gBACLV,KAAKa,eACLb,KAAKgB,c,CAGP,mBAAAK,G,MACErB,KAAKsB,WAAatB,KAAKuB,KAAKC,iBAAiB,kBAAkBC,OAAS,EACxEzB,KAAK0B,WAAa1B,KAAKuB,KAAKC,iBAAiB,kBAAkBC,OAAS,EAExEzB,KAAK2B,QAAU,gBAAeC,EAAA5B,KAAKiB,QAAI,MAAAW,SAAA,EAAAA,EAAI,YAC3C,GAAI5B,KAAKI,YAAaJ,KAAK2B,SAAW,qBACtC,GAAI3B,KAAK0B,WAAY1B,KAAK2B,SAAW,gBACrC,GAAI3B,KAAKY,MAAOZ,KAAK2B,SAAW,sBAChC,GAAI3B,KAAKc,OAAS,OAAQd,KAAK2B,SAAW,U,CAO5C,aAAM1B,GACJ,MAAM4B,EAAYC,EAAQ9B,KAAKuB,YAEzBM,EAAUE,SAEhB/B,KAAKuB,KAAKS,SACVhC,KAAKiC,UAAUC,M,CAGjB,MAAAC,GACE,MAAMC,EAAsB,CAC1BpC,KAAKsB,YACHe,EAAA,OAAKC,IAAK,GAAGtC,KAAKuC,kBAAmBC,MAAM,iBACzCH,EAAA,QAAMI,KAAK,aAGfJ,EAAA,QAAMC,IAAK,GAAGtC,KAAKuC,qBAGrB,MAAMG,EAAqB,CACzBL,EAAA,OAAKC,IAAK,GAAGtC,KAAKuC,kBAAmBC,MAAM,iBACxCJ,GAEHC,EAAA,OAAKC,IAAK,GAAGtC,KAAKuC,kBAAmBC,MAAM,iBACzCH,EAAA,QAAMI,KAAK,cAIf,OACEJ,EAACM,EAAI,gBAAeC,GAClBP,EAAA,OAAKQ,KAAK,QAAQL,MAAOxC,KAAK2B,SAC3B3B,KAAKI,aACJiC,EAAA,UAAQG,MAAM,YAAYM,QAAS9C,KAAK+C,sBACtCV,EAAA,QAAMG,MAAM,mBAAmBxC,KAAKQ,eAIvCR,KAAKc,MAAQd,KAAKc,OAAS,QAC1BuB,EAAA,aAAWC,IAAK,GAAGtC,KAAKuC,eAAgBE,KAAMzC,KAAKc,OAGpDd,KAAK0B,WACFgB,EACAN,G"}
@@ -0,0 +1,2 @@
1
+ import{r as s,h as t,H as n,g as o}from"./p-a7649277.js";import{v as a}from"./p-541142fd.js";const e=":host{display:none}";const r=class{constructor(t){s(this,t);this.panelId=undefined;this.name=undefined}componentWillLoad(){this.panelId=`panel-${this.host.id||crypto.randomUUID()}`}render(){return t(n,{"data-version":a},t("div",{class:"tab-pane",id:this.panelId,role:"tabpanel"},t("slot",null)))}get host(){return o(this)}};r.style=e;export{r as P};
2
+ //# sourceMappingURL=p-d4fb9f16.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["postTabPanelCss","PostTabPanel","componentWillLoad","this","panelId","host","id","crypto","randomUUID","render","h","Host","version","class","role"],"sources":["src/components/post-tab-panel/post-tab-panel.scss?tag=post-tab-panel&encapsulation=shadow","src/components/post-tab-panel/post-tab-panel.tsx"],"sourcesContent":[":host {\n display: none;\n}\n","import { Component, Element, h, Host, Prop, State } from '@stencil/core';\nimport { version } from '../../../package.json';\n\n@Component({\n tag: 'post-tab-panel',\n styleUrl: 'post-tab-panel.scss',\n shadow: true,\n})\nexport class PostTabPanel {\n @Element() host: HTMLPostTabPanelElement;\n\n @State() panelId: string;\n\n /**\n * The name of the panel, used to associate it with a tab header.\n */\n @Prop() readonly name: string;\n\n componentWillLoad() {\n // get the id set on the host element or use a random id by default\n this.panelId = `panel-${this.host.id || crypto.randomUUID()}`;\n }\n\n render() {\n return (\n <Host data-version={version}>\n <div\n class=\"tab-pane\"\n id={this.panelId}\n role=\"tabpanel\"\n >\n <slot/>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"6FAAA,MAAMA,EAAkB,sB,MCQXC,EAAY,M,oEAUvB,iBAAAC,GAEEC,KAAKC,QAAU,SAASD,KAAKE,KAAKC,IAAMC,OAAOC,c,CAGjD,MAAAC,GACE,OACEC,EAACC,EAAI,gBAAeC,GAClBF,EAAA,OACEG,MAAM,WACNP,GAAIH,KAAKC,QACTU,KAAK,YAELJ,EAAA,c"}
@@ -0,0 +1,2 @@
1
+ import{E as r}from"./p-440193f4.js";import{c as o}from"./p-1339f8cd.js";function t(o){return(...t)=>{const n=t[0];if(!r.some((r=>r===n)))o(...t)}}function n(r,o,t){if(typeof r!=="string"||!o.test(r))throw new Error(t)}function s(r,o,t){const n=o==="array";const s=Array.isArray(r);if(n||s){if(s!==n)throw new Error(t)}else{if(typeof r!==o)throw new Error(t)}}const f=t(o);const c=t(n);const i=t(s);export{c as a,f as b,s as c,i as d};
2
+ //# sourceMappingURL=p-dfe29f7f.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["emptyOr","check","args","value","EMPTY_VALUES","some","v","checkPattern","pattern","errorMessage","test","Error","checkType","type","error","typeIsArray","valueIsArray","Array","isArray","checkEmptyOrOneOf","checkOneOf","checkEmptyOrPattern","checkEmptyOrType"],"sources":["src/utils/property-checkers/empty-or.ts","src/utils/property-checkers/check-pattern.ts","src/utils/property-checkers/check-type.ts","src/utils/property-checkers/index.ts"],"sourcesContent":["import { EMPTY_VALUES } from './constants';\n\nexport function emptyOr<T extends unknown[]>(check: (...args: T) => void) {\n return (...args: T) => {\n const value = args[0];\n if (!EMPTY_VALUES.some(v => v === value)) check(...args);\n };\n}\n","export function checkPattern(value: unknown, pattern: RegExp, errorMessage: string) {\n if (typeof value !== 'string' || !pattern.test(value)) throw new Error(errorMessage);\n}\n","export type PropertyType =\n | 'boolean'\n | 'number'\n | 'string'\n | 'array'\n | 'object'\n | 'function';\n\nexport function checkType(value: unknown, type: PropertyType, error: string) {\n const typeIsArray = type === 'array';\n const valueIsArray = Array.isArray(value);\n\n if (typeIsArray || valueIsArray) {\n if (valueIsArray !== typeIsArray) throw new Error(error);\n } else {\n if (typeof value !== type) throw new Error(error);\n }\n}\n","import { emptyOr } from './empty-or';\nimport { checkOneOf } from './check-one-of';\nimport { checkPattern } from './check-pattern';\nimport { checkType } from './check-type';\n\nexport const checkEmptyOrOneOf = emptyOr(checkOneOf);\nexport const checkEmptyOrPattern = emptyOr(checkPattern);\nexport const checkEmptyOrType = emptyOr(checkType);\n\nexport * from './check-non-empty';\nexport * from './check-one-of';\nexport * from './check-pattern';\nexport * from './check-type';\n"],"mappings":"iFAEgBA,EAA6BC,GAC3C,MAAO,IAAIC,KACT,MAAMC,EAAQD,EAAK,GACnB,IAAKE,EAAaC,MAAKC,GAAKA,IAAMH,IAAQF,KAASC,EAAK,CAE5D,C,SCPgBK,EAAaJ,EAAgBK,EAAiBC,GAC5D,UAAWN,IAAU,WAAaK,EAAQE,KAAKP,GAAQ,MAAM,IAAIQ,MAAMF,EACzE,C,SCMgBG,EAAUT,EAAgBU,EAAoBC,GAC5D,MAAMC,EAAcF,IAAS,QAC7B,MAAMG,EAAeC,MAAMC,QAAQf,GAEnC,GAAIY,GAAeC,EAAc,CAC/B,GAAIA,IAAiBD,EAAa,MAAM,IAAIJ,MAAMG,E,KAC7C,CACL,UAAWX,IAAUU,EAAM,MAAM,IAAIF,MAAMG,E,CAE/C,C,MCZaK,EAAoBnB,EAAQoB,G,MAC5BC,EAAsBrB,EAAQO,G,MAC9Be,EAAmBtB,EAAQY,U"}
@@ -0,0 +1,2 @@
1
+ import{r as s,h as t,H as i,g as o}from"./p-a7649277.js";import{v as a}from"./p-541142fd.js";const e=":host{display:block}";const r=class{constructor(t){s(this,t);this.expandedCollapsibles=new Set;this.multiple=false}componentWillLoad(){this.registerCollapsibles()}async toggle(s){const t=this.collapsibles.find((t=>t.id===s));if(!t)throw new Error(`No post-collapsible found with id #${s}.`);await t.toggle()}collapseChangeHandler(s){const t=s.target;const i=this.expandedCollapsibles.has(t);if(i){this.expandedCollapsibles.delete(t)}else{this.expandedCollapsibles.add(t)}if(this.multiple||i)return;Array.from(this.expandedCollapsibles.values()).filter((s=>s!==t)).forEach((s=>{void s.toggle(false)}))}async expandAll(){if(this.multiple){await Promise.all(this.collapsibles.map((s=>s.toggle(true))))}else if(!this.expandedCollapsibles.size){await this.collapsibles[0].toggle(true)}}async collapseAll(){await Promise.all(this.collapsibles.map((s=>s.toggle(false))))}registerCollapsibles(){this.collapsibles=Array.from(this.host.querySelectorAll("post-collapsible"));this.collapsibles.filter((s=>!s.collapsed||this.expandedCollapsibles.has(s))).forEach(((s,t)=>{if(!this.multiple&&t!==0){s.setAttribute("collapsed","");return}this.expandedCollapsibles.add(s)}))}render(){return t(i,{"data-version":a},t("div",{class:"accordion"},t("slot",{onSlotchange:()=>this.registerCollapsibles()})))}get host(){return o(this)}};r.style=e;export{r as post_accordion};
2
+ //# sourceMappingURL=p-e9dc9039.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["postAccordionCss","PostAccordion","this","expandedCollapsibles","Set","componentWillLoad","registerCollapsibles","toggle","id","collapsibleToToggle","collapsibles","find","collapsible","Error","collapseChangeHandler","event","toggledCollapsible","target","isClosing","has","delete","add","multiple","Array","from","values","filter","forEach","expandAll","Promise","all","map","size","collapseAll","host","querySelectorAll","collapsed","index","setAttribute","render","h","Host","version","class","onSlotchange"],"sources":["src/components/post-accordion/post-accordion.scss?tag=post-accordion&encapsulation=shadow","src/components/post-accordion/post-accordion.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, Element, h, Host, Listen, Method, Prop } from '@stencil/core';\nimport { version } from '../../../package.json';\n\n@Component({\n tag: 'post-accordion',\n styleUrl: 'post-accordion.scss',\n shadow: true,\n})\nexport class PostAccordion {\n private collapsibles: HTMLPostCollapsibleElement[];\n private expandedCollapsibles = new Set<HTMLPostCollapsibleElement>();\n\n @Element() host: HTMLPostAccordionElement;\n\n /**\n * If `true`, multiple `post-collapsible` can be open at the same time.\n */\n @Prop() readonly multiple: boolean = false;\n\n componentWillLoad() {\n this.registerCollapsibles();\n }\n\n /**\n * Toggles the `post-collapsible` children with the given id.\n */\n @Method()\n async toggle(id: string) {\n const collapsibleToToggle = this.collapsibles\n .find(collapsible => collapsible.id === id);\n\n if (!collapsibleToToggle) throw new Error(`No post-collapsible found with id #${id}.`);\n\n await collapsibleToToggle.toggle();\n }\n\n @Listen('collapseChange')\n collapseChangeHandler(event: CustomEvent) {\n const toggledCollapsible = event.target as HTMLPostCollapsibleElement;\n const isClosing = this.expandedCollapsibles.has(toggledCollapsible);\n\n if (isClosing) {\n this.expandedCollapsibles.delete(toggledCollapsible);\n } else {\n this.expandedCollapsibles.add(toggledCollapsible);\n }\n\n if (this.multiple || isClosing) return;\n\n // close other open collapsible elements to have only one opened at a time\n Array.from(this.expandedCollapsibles.values())\n .filter(collapsible => collapsible !== toggledCollapsible)\n .forEach(collapsible => {\n void collapsible.toggle(false);\n });\n }\n\n /**\n * Expands all `post-collapsible` children.\n *\n * If `close-others` is `true` and all items are closed, it will open the first one.\n * Otherwise, it will keep the opened one.\n */\n @Method()\n async expandAll() {\n if (this.multiple) {\n await Promise.all(\n this.collapsibles.map(collapsible => collapsible.toggle(true))\n );\n } else if (!this.expandedCollapsibles.size) {\n await this.collapsibles[0].toggle(true);\n }\n }\n\n /**\n * Collapses all `post-collapsible` children.\n */\n @Method()\n async collapseAll() {\n await Promise.all(\n this.collapsibles.map(collapsible => collapsible.toggle(false))\n );\n }\n\n private registerCollapsibles() {\n this.collapsibles = Array.from(\n this.host.querySelectorAll('post-collapsible')\n );\n\n this.collapsibles\n .filter(collapsible => {\n return !collapsible.collapsed || this.expandedCollapsibles.has(collapsible);\n }).forEach((collapsible, index) => {\n if (!this.multiple && index !== 0) {\n collapsible.setAttribute('collapsed', '');\n return;\n }\n\n this.expandedCollapsibles.add(collapsible);\n });\n }\n\n render() {\n return (\n <Host data-version={version}>\n <div class=\"accordion\">\n <slot onSlotchange={() => this.registerCollapsibles()}/>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"6FAAA,MAAMA,EAAmB,uB,MCQZC,EAAa,M,yBAEhBC,KAAAC,qBAAuB,IAAIC,I,cAOE,K,CAErC,iBAAAC,GACEH,KAAKI,sB,CAOP,YAAMC,CAAOC,GACX,MAAMC,EAAsBP,KAAKQ,aAC9BC,MAAKC,GAAeA,EAAYJ,KAAOA,IAE1C,IAAKC,EAAqB,MAAM,IAAII,MAAM,sCAAsCL,YAE1EC,EAAoBF,Q,CAI5B,qBAAAO,CAAsBC,GACpB,MAAMC,EAAqBD,EAAME,OACjC,MAAMC,EAAYhB,KAAKC,qBAAqBgB,IAAIH,GAEhD,GAAIE,EAAW,CACbhB,KAAKC,qBAAqBiB,OAAOJ,E,KAC5B,CACLd,KAAKC,qBAAqBkB,IAAIL,E,CAGhC,GAAId,KAAKoB,UAAYJ,EAAW,OAGhCK,MAAMC,KAAKtB,KAAKC,qBAAqBsB,UAClCC,QAAOd,GAAeA,IAAgBI,IACtCW,SAAQf,SACFA,EAAYL,OAAO,MAAM,G,CAWpC,eAAMqB,GACJ,GAAI1B,KAAKoB,SAAU,OACXO,QAAQC,IACZ5B,KAAKQ,aAAaqB,KAAInB,GAAeA,EAAYL,OAAO,Q,MAErD,IAAKL,KAAKC,qBAAqB6B,KAAM,OACpC9B,KAAKQ,aAAa,GAAGH,OAAO,K,EAQtC,iBAAM0B,SACEJ,QAAQC,IACZ5B,KAAKQ,aAAaqB,KAAInB,GAAeA,EAAYL,OAAO,S,CAIpD,oBAAAD,GACNJ,KAAKQ,aAAea,MAAMC,KACxBtB,KAAKgC,KAAKC,iBAAiB,qBAG7BjC,KAAKQ,aACFgB,QAAOd,IACEA,EAAYwB,WAAalC,KAAKC,qBAAqBgB,IAAIP,KAC9De,SAAQ,CAACf,EAAayB,KACvB,IAAKnC,KAAKoB,UAAYe,IAAU,EAAG,CACjCzB,EAAY0B,aAAa,YAAa,IACtC,M,CAGFpC,KAAKC,qBAAqBkB,IAAIT,EAAY,G,CAIhD,MAAA2B,GACE,OACEC,EAACC,EAAI,gBAAeC,GAClBF,EAAA,OAAKG,MAAM,aACTH,EAAA,QAAMI,aAAc,IAAM1C,KAAKI,0B"}
@@ -1,2 +1,2 @@
1
- import{p as e,b as a}from"./p-d94db268.js";export{s as setNonce}from"./p-d94db268.js";const o=()=>{const s=import.meta.url;const a={};if(s!==""){a.resourcesUrl=new URL(".",s).href}return e(a)};o().then((s=>a([["p-7240ae7b",[[1,"post-alert",{dismissible:[4],dismissLabel:[1,"dismiss-label"],fixed:[4],icon:[1],type:[1],alertId:[32],classes:[32],hasActions:[32],hasHeading:[32],onDismissButtonClick:[32],dismiss:[64]}]]],["p-97a064da",[[1,"post-collapsible",{collapsed:[4],headingLevel:[2,"heading-level"],collapseClasses:[32],collapseHeight:[32],collapsibleId:[32],hasHeader:[32],headingTag:[32],isOpen:[32],onAccordionButtonClick:[32],toggle:[64]}]]],["p-0d37fe44",[[1,"post-tab-header",{panel:[1],tabId:[32]}]]],["p-65a9d1c2",[[1,"post-tab-panel",{name:[1],panelId:[32]}]]],["p-123bb6fb",[[1,"post-tabs",{activePanel:[1,"active-panel"],show:[64]}]]],["p-8c386036",[[1,"post-tooltip",{backgroundColor:[1,"background-color"],placement:[1],tooltipClasses:[32],show:[64],hide:[64],toggle:[64]}]]],["p-ccae1c68",[[1,"post-icon",{animation:[1],base:[1],flipH:[4,"flip-h"],flipV:[4,"flip-v"],name:[1],rotate:[2],scale:[2],svgStyles:[32],svgOutput:[32]}]]]],s)));
1
+ import{p as a,b as e}from"./p-a7649277.js";export{s as setNonce}from"./p-a7649277.js";const l=()=>{const e=import.meta.url;const l={};if(e!==""){l.resourcesUrl=new URL(".",e).href}return a(l)};l().then((a=>e([["p-0a49c1a3",[[1,"post-alert",{dismissible:[4],dismissLabel:[1,"dismiss-label"],fixed:[4],icon:[1],type:[1],alertId:[32],classes:[32],hasActions:[32],hasHeading:[32],onDismissButtonClick:[32],dismiss:[64]},null,{dismissible:["validateDismissible"],dismissLabel:["validateDismissLabel"],fixed:["validateFixed"],icon:["validateIcon"],type:["validateType"]}]]],["p-e9dc9039",[[1,"post-accordion",{multiple:[4],toggle:[64],expandAll:[64],collapseAll:[64]},[[0,"collapseChange","collapseChangeHandler"]]]]],["p-66460e3f",[[1,"post-collapsible",{collapsed:[4],headingLevel:[2,"heading-level"],id:[32],isOpen:[32],hasHeader:[32],headingTag:[32],toggle:[64]},null,{collapsed:["validateCollapsed"],headingLevel:["validateHeadingLevel"]}]]],["p-94b3f291",[[1,"post-tab-header",{panel:[1],tabId:[32]},null,{panel:["validateFor"]}]]],["p-27092ac3",[[1,"post-tab-panel",{name:[1],panelId:[32]}]]],["p-abd149b3",[[1,"post-tabs",{activePanel:[1,"active-panel"],show:[64]}]]],["p-810ee105",[[1,"post-tooltip",{backgroundColor:[1,"background-color"],placement:[1],tooltipClasses:[32],show:[64],hide:[64],toggle:[64]},null,{backgroundColor:["validateBackgroundColor"]}]]],["p-939df031",[[1,"post-icon",{animation:[1],base:[1],flipH:[4,"flip-h"],flipV:[4,"flip-v"],name:[1],rotate:[2],scale:[2],svgStyles:[32],svgOutput:[32]},null,{animation:["validateAnimation"],base:["validateBase"],flipH:["validateFlipH"],flipV:["validateFlipV"],name:["validateName"],rotate:["validateRotate"],scale:["validateScale"]}]]]],a)));
2
2
  //# sourceMappingURL=post-components.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["patchBrowser","importMeta","url","opts","resourcesUrl","URL","href","promiseResolve","then","options","bootstrapLazy","dismissible","dismissLabel","fixed","icon","type","alertId","classes","hasActions","hasHeading","onDismissButtonClick","dismiss","collapsed","headingLevel","collapseClasses","collapseHeight","collapsibleId","hasHeader","headingTag","isOpen","onAccordionButtonClick","toggle","panel","tabId","name","panelId","activePanel","show","backgroundColor","placement","tooltipClasses","hide","animation","base","flipH","flipV","rotate","scale","svgStyles","svgOutput"],"sources":["../../node_modules/.pnpm/@stencil+core@3.4.2/node_modules/@stencil/core/internal/client/patch-browser.js","@lazy-browser-entrypoint?app-data=conditional"],"sourcesContent":["/*\n Stencil Client Patch Browser v3.4.2 | MIT Licensed | https://stenciljs.com\n */\nimport { BUILD, NAMESPACE } from '@stencil/core/internal/app-data';\nimport { consoleDevInfo, plt, win, doc, promiseResolve, H } from '@stencil/core';\n/**\n * Helper method for querying a `meta` tag that contains a nonce value\n * out of a DOM's head.\n *\n * @param doc The DOM containing the `head` to query against\n * @returns The content of the meta tag representing the nonce value, or `undefined` if no tag\n * exists or the tag has no content.\n */\nfunction queryNonceMetaTagContent(doc) {\n var _a, _b, _c;\n return (_c = (_b = (_a = doc.head) === null || _a === void 0 ? void 0 : _a.querySelector('meta[name=\"csp-nonce\"]')) === null || _b === void 0 ? void 0 : _b.getAttribute('content')) !== null && _c !== void 0 ? _c : undefined;\n}\n// TODO(STENCIL-661): Remove code related to the dynamic import shim\nconst getDynamicImportFunction = (namespace) => `__sc_import_${namespace.replace(/\\s|-/g, '_')}`;\nconst patchBrowser = () => {\n // NOTE!! This fn cannot use async/await!\n if (BUILD.isDev && !BUILD.isTesting) {\n consoleDevInfo('Running in development mode.');\n }\n // TODO(STENCIL-659): Remove code implementing the CSS variable shim\n if (BUILD.cssVarShim) {\n // shim css vars\n // TODO(STENCIL-659): Remove code implementing the CSS variable shim\n plt.$cssShim$ = win.__cssshim;\n }\n if (BUILD.cloneNodeFix) {\n // opted-in to polyfill cloneNode() for slot polyfilled components\n patchCloneNodeFix(H.prototype);\n }\n if (BUILD.profile && !performance.mark) {\n // not all browsers support performance.mark/measure (Safari 10)\n // because the mark/measure APIs are designed to write entries to a buffer in the browser that does not exist,\n // simply stub the implementations out.\n // TODO(STENCIL-323): Remove this patch when support for older browsers is removed (breaking)\n // @ts-ignore\n performance.mark = performance.measure = () => {\n /*noop*/\n };\n performance.getEntriesByName = () => [];\n }\n // @ts-ignore\n const scriptElm = \n // TODO(STENCIL-661): Remove code related to the dynamic import shim\n // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.\n BUILD.scriptDataOpts || BUILD.safari10 || BUILD.dynamicImportShim\n ? Array.from(doc.querySelectorAll('script')).find((s) => new RegExp(`\\/${NAMESPACE}(\\\\.esm)?\\\\.js($|\\\\?|#)`).test(s.src) ||\n s.getAttribute('data-stencil-namespace') === NAMESPACE)\n : null;\n const importMeta = import.meta.url;\n const opts = BUILD.scriptDataOpts ? (scriptElm || {})['data-opts'] || {} : {};\n // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.\n if (BUILD.safari10 && 'onbeforeload' in scriptElm && !history.scrollRestoration /* IS_ESM_BUILD */) {\n // Safari < v11 support: This IF is true if it's Safari below v11.\n // This fn cannot use async/await since Safari didn't support it until v11,\n // however, Safari 10 did support modules. Safari 10 also didn't support \"nomodule\",\n // so both the ESM file and nomodule file would get downloaded. Only Safari\n // has 'onbeforeload' in the script, and \"history.scrollRestoration\" was added\n // to Safari in v11. Return a noop then() so the async/await ESM code doesn't continue.\n // IS_ESM_BUILD is replaced at build time so this check doesn't happen in systemjs builds.\n return {\n then() {\n /* promise noop */\n },\n };\n }\n // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.\n if (!BUILD.safari10 && importMeta !== '') {\n opts.resourcesUrl = new URL('.', importMeta).href;\n // TODO(STENCIL-661): Remove code related to the dynamic import shim\n // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.\n }\n else if (BUILD.dynamicImportShim || BUILD.safari10) {\n opts.resourcesUrl = new URL('.', new URL(scriptElm.getAttribute('data-resources-url') || scriptElm.src, win.location.href)).href;\n // TODO(STENCIL-661): Remove code related to the dynamic import shim\n if (BUILD.dynamicImportShim) {\n patchDynamicImport(opts.resourcesUrl, scriptElm);\n }\n // TODO(STENCIL-661): Remove code related to the dynamic import shim\n if (BUILD.dynamicImportShim && !win.customElements) {\n // module support, but no custom elements support (Old Edge)\n // @ts-ignore\n return import(/* webpackChunkName: \"polyfills-dom\" */ './dom.js').then(() => opts);\n }\n }\n return promiseResolve(opts);\n};\n// TODO(STENCIL-661): Remove code related to the dynamic import shim\nconst patchDynamicImport = (base, orgScriptElm) => {\n const importFunctionName = getDynamicImportFunction(NAMESPACE);\n try {\n // test if this browser supports dynamic imports\n // There is a caching issue in V8, that breaks using import() in Function\n // By generating a random string, we can workaround it\n // Check https://bugs.chromium.org/p/chromium/issues/detail?id=990810 for more info\n win[importFunctionName] = new Function('w', `return import(w);//${Math.random()}`);\n }\n catch (e) {\n // this shim is specifically for browsers that do support \"esm\" imports\n // however, they do NOT support \"dynamic\" imports\n // basically this code is for old Edge, v18 and below\n const moduleMap = new Map();\n win[importFunctionName] = (src) => {\n var _a;\n const url = new URL(src, base).href;\n let mod = moduleMap.get(url);\n if (!mod) {\n const script = doc.createElement('script');\n script.type = 'module';\n script.crossOrigin = orgScriptElm.crossOrigin;\n script.src = URL.createObjectURL(new Blob([`import * as m from '${url}'; window.${importFunctionName}.m = m;`], {\n type: 'application/javascript',\n }));\n // Apply CSP nonce to the script tag if it exists\n const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);\n if (nonce != null) {\n script.setAttribute('nonce', nonce);\n }\n mod = new Promise((resolve) => {\n script.onload = () => {\n resolve(win[importFunctionName].m);\n script.remove();\n };\n });\n moduleMap.set(url, mod);\n doc.head.appendChild(script);\n }\n return mod;\n };\n }\n};\nconst patchCloneNodeFix = (HTMLElementPrototype) => {\n const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;\n HTMLElementPrototype.cloneNode = function (deep) {\n if (this.nodeName === 'TEMPLATE') {\n return nativeCloneNodeFn.call(this, deep);\n }\n const clonedNode = nativeCloneNodeFn.call(this, false);\n const srcChildNodes = this.childNodes;\n if (deep) {\n for (let i = 0; i < srcChildNodes.length; i++) {\n // Node.ATTRIBUTE_NODE === 2, and checking because IE11\n if (srcChildNodes[i].nodeType !== 2) {\n clonedNode.appendChild(srcChildNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nexport { patchBrowser };\n","export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { patchBrowser } from '@stencil/core/internal/client/patch-browser';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\npatchBrowser().then(options => {\n globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n});\n"],"mappings":"sFAmBA,MAAMA,EAAe,KAkCjB,MAAMC,cAAyBC,IAC/B,MAAMC,EAAqE,GAiB3E,GAAuBF,IAAe,GAAI,CACtCE,EAAKC,aAAe,IAAIC,IAAI,IAAKJ,GAAYK,IAGrD,CAcI,OAAOC,EAAeJ,EAAK,ECrF/BH,IAAeQ,MAAKC,GAEXC,EAAc,gCAA8B,CAAAC,YAAS,IAAAC,aAAA,oBAAAC,MAAA,IAAAC,KAAA,IAAAC,KAAA,IAAAC,QAAA,KAAAC,QAAA,KAAAC,WAAA,KAAAC,WAAA,KAAAC,qBAAA,KAAAC,QAAA,+CAAAC,UAAA,IAAAC,aAAA,oBAAAC,gBAAA,KAAAC,eAAA,KAAAC,cAAA,KAAAC,UAAA,KAAAC,WAAA,KAAAC,OAAA,KAAAC,uBAAA,KAAAC,OAAA,8CAAAC,MAAA,IAAAC,MAAA,6CAAAC,KAAA,IAAAC,QAAA,wCAAAC,YAAA,mBAAAC,KAAA,2CAAAC,gBAAA,uBAAAC,UAAA,IAAAC,eAAA,KAAAH,KAAA,KAAAI,KAAA,KAAAV,OAAA,wCAAAW,UAAA,IAAAC,KAAA,IAAAC,MAAA,aAAAC,MAAA,aAAAX,KAAA,IAAAY,OAAA,IAAAC,MAAA,IAAAC,UAAA,KAAAC,UAAA,UAAAxC"}
1
+ {"version":3,"names":["patchBrowser","importMeta","url","opts","resourcesUrl","URL","href","promiseResolve","then","options","bootstrapLazy","dismissible","dismissLabel","fixed","icon","type","alertId","classes","hasActions","hasHeading","onDismissButtonClick","dismiss","multiple","toggle","expandAll","collapseAll","collapsed","headingLevel","id","isOpen","hasHeader","headingTag","panel","tabId","name","panelId","activePanel","show","backgroundColor","placement","tooltipClasses","hide","animation","base","flipH","flipV","rotate","scale","svgStyles","svgOutput"],"sources":["../../node_modules/.pnpm/@stencil+core@4.6.0/node_modules/@stencil/core/internal/client/patch-browser.js","@lazy-browser-entrypoint?app-data=conditional"],"sourcesContent":["/*\n Stencil Client Patch Browser v4.6.0 | MIT Licensed | https://stenciljs.com\n */\nimport { BUILD, NAMESPACE } from '@stencil/core/internal/app-data';\nimport { consoleDevInfo, doc, promiseResolve, H } from '@stencil/core';\nconst patchBrowser = () => {\n // NOTE!! This fn cannot use async/await!\n if (BUILD.isDev && !BUILD.isTesting) {\n consoleDevInfo('Running in development mode.');\n }\n if (BUILD.cloneNodeFix) {\n // opted-in to polyfill cloneNode() for slot polyfilled components\n patchCloneNodeFix(H.prototype);\n }\n const scriptElm = BUILD.scriptDataOpts\n ? Array.from(doc.querySelectorAll('script')).find((s) => new RegExp(`\\/${NAMESPACE}(\\\\.esm)?\\\\.js($|\\\\?|#)`).test(s.src) ||\n s.getAttribute('data-stencil-namespace') === NAMESPACE)\n : null;\n const importMeta = import.meta.url;\n const opts = BUILD.scriptDataOpts ? (scriptElm || {})['data-opts'] || {} : {};\n if (importMeta !== '') {\n opts.resourcesUrl = new URL('.', importMeta).href;\n }\n return promiseResolve(opts);\n};\nconst patchCloneNodeFix = (HTMLElementPrototype) => {\n const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;\n HTMLElementPrototype.cloneNode = function (deep) {\n if (this.nodeName === 'TEMPLATE') {\n return nativeCloneNodeFn.call(this, deep);\n }\n const clonedNode = nativeCloneNodeFn.call(this, false);\n const srcChildNodes = this.childNodes;\n if (deep) {\n for (let i = 0; i < srcChildNodes.length; i++) {\n // Node.ATTRIBUTE_NODE === 2, and checking because IE11\n if (srcChildNodes[i].nodeType !== 2) {\n clonedNode.appendChild(srcChildNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nexport { patchBrowser };\n","export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { patchBrowser } from '@stencil/core/internal/client/patch-browser';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\npatchBrowser().then(options => {\n globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n});\n"],"mappings":"sFAKA,MAAMA,EAAe,KAajB,MAAMC,cAAyBC,IAC/B,MAAMC,EAAqE,GAC3E,GAAIF,IAAe,GAAI,CACnBE,EAAKC,aAAe,IAAIC,IAAI,IAAKJ,GAAYK,IACrD,CACI,OAAOC,EAAeJ,EAAK,ECnB/BH,IAAeQ,MAAKC,GAEXC,EAAc,gCAA8B,CAAAC,YAAS,IAAAC,aAAA,oBAAAC,MAAA,IAAAC,KAAA,IAAAC,KAAA,IAAAC,QAAA,KAAAC,QAAA,KAAAC,WAAA,KAAAC,WAAA,KAAAC,qBAAA,KAAAC,QAAA,YAAAV,YAAA,wBAAAC,aAAA,yBAAAC,MAAA,kBAAAC,KAAA,iBAAAC,KAAA,yDAAAO,SAAA,IAAAC,OAAA,KAAAC,UAAA,KAAAC,YAAA,8FAAAC,UAAA,IAAAC,aAAA,oBAAAC,GAAA,KAAAC,OAAA,KAAAC,UAAA,KAAAC,WAAA,KAAAR,OAAA,YAAAG,UAAA,sBAAAC,aAAA,kEAAAK,MAAA,IAAAC,MAAA,YAAAD,MAAA,wDAAAE,KAAA,IAAAC,QAAA,wCAAAC,YAAA,mBAAAC,KAAA,2CAAAC,gBAAA,uBAAAC,UAAA,IAAAC,eAAA,KAAAH,KAAA,KAAAI,KAAA,KAAAlB,OAAA,YAAAe,gBAAA,+DAAAI,UAAA,IAAAC,KAAA,IAAAC,MAAA,aAAAC,MAAA,aAAAX,KAAA,IAAAY,OAAA,IAAAC,MAAA,IAAAC,UAAA,KAAAC,UAAA,YAAAP,UAAA,sBAAAC,KAAA,iBAAAC,MAAA,kBAAAC,MAAA,kBAAAX,KAAA,iBAAAY,OAAA,mBAAAC,MAAA,uBAAAtC"}
@@ -0,0 +1,2 @@
1
+ export declare const collapse: (el: HTMLElement) => Animation;
2
+ export declare const expand: (el: HTMLElement) => Animation;
@@ -0,0 +1,28 @@
1
+ export declare class PostAccordion {
2
+ private collapsibles;
3
+ private expandedCollapsibles;
4
+ host: HTMLPostAccordionElement;
5
+ /**
6
+ * If `true`, multiple `post-collapsible` can be open at the same time.
7
+ */
8
+ readonly multiple: boolean;
9
+ componentWillLoad(): void;
10
+ /**
11
+ * Toggles the `post-collapsible` children with the given id.
12
+ */
13
+ toggle(id: string): Promise<void>;
14
+ collapseChangeHandler(event: CustomEvent): void;
15
+ /**
16
+ * Expands all `post-collapsible` children.
17
+ *
18
+ * If `close-others` is `true` and all items are closed, it will open the first one.
19
+ * Otherwise, it will keep the opened one.
20
+ */
21
+ expandAll(): Promise<void>;
22
+ /**
23
+ * Collapses all `post-collapsible` children.
24
+ */
25
+ collapseAll(): Promise<void>;
26
+ private registerCollapsibles;
27
+ render(): any;
28
+ }
@@ -33,7 +33,7 @@ export declare class PostAlert {
33
33
  * The type of the alert.
34
34
  */
35
35
  readonly type: AlertType;
36
- validateType(type?: "info" | "success" | "primary" | "danger" | "warning" | "gray"): void;
36
+ validateType(type?: "primary" | "success" | "danger" | "warning" | "info" | "gray"): void;
37
37
  /**
38
38
  * An event emitted when the alert element is dismissed, after the transition.
39
39
  * It has no payload and only relevant for dismissible alerts.
@@ -0,0 +1,2 @@
1
+ export declare const HEADING_LEVELS: readonly [1, 2, 3, 4, 5, 6];
2
+ export type HeadingLevel = typeof HEADING_LEVELS[number];
@@ -1,14 +1,13 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ import { HeadingLevel } from './heading-levels';
1
3
  export declare class PostCollapsible {
2
- private collapsibleElement;
3
4
  private isLoaded;
5
+ private collapsible;
4
6
  host: HTMLPostCollapsibleElement;
5
- collapseClasses: string;
6
- collapseHeight: string | null;
7
- collapsibleId: string;
8
- hasHeader: boolean;
9
- headingTag: string | undefined;
7
+ id: string;
10
8
  isOpen: boolean;
11
- onAccordionButtonClick: () => Promise<boolean>;
9
+ hasHeader: boolean;
10
+ headingTag: string;
12
11
  /**
13
12
  * If `true`, the element is initially collapsed otherwise it is displayed.
14
13
  */
@@ -17,15 +16,20 @@ export declare class PostCollapsible {
17
16
  /**
18
17
  * Defines the hierarchical level of the collapsible header within the headings structure.
19
18
  */
20
- readonly headingLevel?: number;
21
- validateHeadingLevel(newValue?: number): void;
22
- componentWillLoad(): void;
19
+ readonly headingLevel?: HeadingLevel;
20
+ validateHeadingLevel(newValue?: 6 | 1 | 2 | 3 | 4 | 5): void;
21
+ /**
22
+ * An event emitted when the collapse element is shown or hidden, before the transition. It has no payload.
23
+ */
24
+ collapseChange: EventEmitter<void>;
25
+ connectedCallback(): void;
26
+ componentWillRender(): void;
23
27
  componentDidLoad(): void;
24
28
  /**
25
29
  * Triggers the collapse programmatically.
30
+ *
31
+ * If there is a collapsing transition running already, it will be reversed.
26
32
  */
27
33
  toggle(open?: boolean): Promise<boolean>;
28
- private startTransition;
29
- private getCollapseClasses;
30
34
  render(): any;
31
35
  }
@@ -6,12 +6,32 @@
6
6
  */
7
7
  import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
8
  import { AlertType } from "./components/post-alert/alert-types";
9
+ import { HeadingLevel } from "./components/post-collapsible/heading-levels";
9
10
  import { BackgroundColor } from "./components/post-tooltip/types";
10
11
  import { Placement } from "@floating-ui/dom";
11
12
  export { AlertType } from "./components/post-alert/alert-types";
13
+ export { HeadingLevel } from "./components/post-collapsible/heading-levels";
12
14
  export { BackgroundColor } from "./components/post-tooltip/types";
13
15
  export { Placement } from "@floating-ui/dom";
14
16
  export namespace Components {
17
+ interface PostAccordion {
18
+ /**
19
+ * Collapses all `post-collapsible` children.
20
+ */
21
+ "collapseAll": () => Promise<void>;
22
+ /**
23
+ * Expands all `post-collapsible` children. If `close-others` is `true` and all items are closed, it will open the first one. Otherwise, it will keep the opened one.
24
+ */
25
+ "expandAll": () => Promise<void>;
26
+ /**
27
+ * If `true`, multiple `post-collapsible` can be open at the same time.
28
+ */
29
+ "multiple": boolean;
30
+ /**
31
+ * Toggles the `post-collapsible` children with the given id.
32
+ */
33
+ "toggle": (id: string) => Promise<void>;
34
+ }
15
35
  interface PostAlert {
16
36
  /**
17
37
  * Triggers alert dismissal programmatically (same as clicking on the close button (×)).
@@ -46,9 +66,9 @@ export namespace Components {
46
66
  /**
47
67
  * Defines the hierarchical level of the collapsible header within the headings structure.
48
68
  */
49
- "headingLevel"?: number;
69
+ "headingLevel"?: HeadingLevel;
50
70
  /**
51
- * Triggers the collapse programmatically.
71
+ * Triggers the collapse programmatically. If there is a collapsing transition running already, it will be reversed.
52
72
  */
53
73
  "toggle": (open?: boolean) => Promise<boolean>;
54
74
  }
@@ -137,18 +157,50 @@ export interface PostAlertCustomEvent<T> extends CustomEvent<T> {
137
157
  detail: T;
138
158
  target: HTMLPostAlertElement;
139
159
  }
160
+ export interface PostCollapsibleCustomEvent<T> extends CustomEvent<T> {
161
+ detail: T;
162
+ target: HTMLPostCollapsibleElement;
163
+ }
140
164
  export interface PostTabsCustomEvent<T> extends CustomEvent<T> {
141
165
  detail: T;
142
166
  target: HTMLPostTabsElement;
143
167
  }
144
168
  declare global {
169
+ interface HTMLPostAccordionElement extends Components.PostAccordion, HTMLStencilElement {
170
+ }
171
+ var HTMLPostAccordionElement: {
172
+ prototype: HTMLPostAccordionElement;
173
+ new (): HTMLPostAccordionElement;
174
+ };
175
+ interface HTMLPostAlertElementEventMap {
176
+ "dismissed": void;
177
+ }
145
178
  interface HTMLPostAlertElement extends Components.PostAlert, HTMLStencilElement {
179
+ addEventListener<K extends keyof HTMLPostAlertElementEventMap>(type: K, listener: (this: HTMLPostAlertElement, ev: PostAlertCustomEvent<HTMLPostAlertElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
180
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
181
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
182
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
183
+ removeEventListener<K extends keyof HTMLPostAlertElementEventMap>(type: K, listener: (this: HTMLPostAlertElement, ev: PostAlertCustomEvent<HTMLPostAlertElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
184
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
185
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
186
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
146
187
  }
147
188
  var HTMLPostAlertElement: {
148
189
  prototype: HTMLPostAlertElement;
149
190
  new (): HTMLPostAlertElement;
150
191
  };
192
+ interface HTMLPostCollapsibleElementEventMap {
193
+ "collapseChange": void;
194
+ }
151
195
  interface HTMLPostCollapsibleElement extends Components.PostCollapsible, HTMLStencilElement {
196
+ addEventListener<K extends keyof HTMLPostCollapsibleElementEventMap>(type: K, listener: (this: HTMLPostCollapsibleElement, ev: PostCollapsibleCustomEvent<HTMLPostCollapsibleElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
197
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
198
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
199
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
200
+ removeEventListener<K extends keyof HTMLPostCollapsibleElementEventMap>(type: K, listener: (this: HTMLPostCollapsibleElement, ev: PostCollapsibleCustomEvent<HTMLPostCollapsibleElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
201
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
202
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
203
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
152
204
  }
153
205
  var HTMLPostCollapsibleElement: {
154
206
  prototype: HTMLPostCollapsibleElement;
@@ -175,7 +227,18 @@ declare global {
175
227
  prototype: HTMLPostTabPanelElement;
176
228
  new (): HTMLPostTabPanelElement;
177
229
  };
230
+ interface HTMLPostTabsElementEventMap {
231
+ "tabChange": HTMLPostTabPanelElement['name'];
232
+ }
178
233
  interface HTMLPostTabsElement extends Components.PostTabs, HTMLStencilElement {
234
+ addEventListener<K extends keyof HTMLPostTabsElementEventMap>(type: K, listener: (this: HTMLPostTabsElement, ev: PostTabsCustomEvent<HTMLPostTabsElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
235
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
236
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
237
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
238
+ removeEventListener<K extends keyof HTMLPostTabsElementEventMap>(type: K, listener: (this: HTMLPostTabsElement, ev: PostTabsCustomEvent<HTMLPostTabsElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
239
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
240
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
241
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
179
242
  }
180
243
  var HTMLPostTabsElement: {
181
244
  prototype: HTMLPostTabsElement;
@@ -188,6 +251,7 @@ declare global {
188
251
  new (): HTMLPostTooltipElement;
189
252
  };
190
253
  interface HTMLElementTagNameMap {
254
+ "post-accordion": HTMLPostAccordionElement;
191
255
  "post-alert": HTMLPostAlertElement;
192
256
  "post-collapsible": HTMLPostCollapsibleElement;
193
257
  "post-icon": HTMLPostIconElement;
@@ -198,6 +262,12 @@ declare global {
198
262
  }
199
263
  }
200
264
  declare namespace LocalJSX {
265
+ interface PostAccordion {
266
+ /**
267
+ * If `true`, multiple `post-collapsible` can be open at the same time.
268
+ */
269
+ "multiple"?: boolean;
270
+ }
201
271
  interface PostAlert {
202
272
  /**
203
273
  * The label to use for the close button of a dismissible alert.
@@ -232,7 +302,11 @@ declare namespace LocalJSX {
232
302
  /**
233
303
  * Defines the hierarchical level of the collapsible header within the headings structure.
234
304
  */
235
- "headingLevel"?: number;
305
+ "headingLevel"?: HeadingLevel;
306
+ /**
307
+ * An event emitted when the collapse element is shown or hidden, before the transition. It has no payload.
308
+ */
309
+ "onCollapseChange"?: (event: PostCollapsibleCustomEvent<void>) => void;
236
310
  }
237
311
  /**
238
312
  * @class PostIcon - representing a stencil component
@@ -300,6 +374,7 @@ declare namespace LocalJSX {
300
374
  "placement"?: Placement;
301
375
  }
302
376
  interface IntrinsicElements {
377
+ "post-accordion": PostAccordion;
303
378
  "post-alert": PostAlert;
304
379
  "post-collapsible": PostCollapsible;
305
380
  "post-icon": PostIcon;
@@ -313,6 +388,7 @@ export { LocalJSX as JSX };
313
388
  declare module "@stencil/core" {
314
389
  export namespace JSX {
315
390
  interface IntrinsicElements {
391
+ "post-accordion": LocalJSX.PostAccordion & JSXBase.HTMLAttributes<HTMLPostAccordionElement>;
316
392
  "post-alert": LocalJSX.PostAlert & JSXBase.HTMLAttributes<HTMLPostAlertElement>;
317
393
  "post-collapsible": LocalJSX.PostCollapsible & JSXBase.HTMLAttributes<HTMLPostCollapsibleElement>;
318
394
  /**
@@ -1 +1,8 @@
1
1
  export { Components, JSX } from './components';
2
+ export { PostAlert } from './components/post-alert/post-alert';
3
+ export { PostCollapsible } from './components/post-collapsible/post-collapsible';
4
+ export { PostIcon } from './components/post-icon/post-icon';
5
+ export { PostTabs } from './components/post-tabs/post-tabs';
6
+ export { PostTabHeader } from './components/post-tab-header/post-tab-header';
7
+ export { PostTabPanel } from './components/post-tab-panel/post-tab-panel';
8
+ export { PostTooltip } from './components/post-tooltip/post-tooltip';
@@ -3,6 +3,16 @@ export interface ComponentDecorator {
3
3
  (opts?: ComponentOptions): ClassDecorator;
4
4
  }
5
5
  export interface ComponentOptions {
6
+ /**
7
+ * When set to `true` this component will be form-associated. See
8
+ * https://stenciljs.com/docs/next/form-associated documentation on how to
9
+ * build form-associated Stencil components that integrate into forms like
10
+ * native browser elements such as `<input>` and `<textarea>`.
11
+ *
12
+ * The {@link AttachInternals} decorator allows for access to the
13
+ * `ElementInternals` object to modify the associated form.
14
+ */
15
+ formAssociated?: boolean;
6
16
  /**
7
17
  * Tag name of the web component. Ideally, the tag name must be globally unique,
8
18
  * so it's recommended to choose an unique prefix for all your components within the same collection.
@@ -62,7 +72,7 @@ export interface PropOptions {
62
72
  /**
63
73
  * The name of the associated DOM attribute.
64
74
  * Stencil uses different heuristics to determine the default name of the attribute,
65
- * but using this property, you can override the default behaviour.
75
+ * but using this property, you can override the default behavior.
66
76
  */
67
77
  attribute?: string | null;
68
78
  /**
@@ -107,6 +117,9 @@ export interface EventOptions {
107
117
  */
108
118
  composed?: boolean;
109
119
  }
120
+ export interface AttachInternalsDecorator {
121
+ (): PropertyDecorator;
122
+ }
110
123
  export interface ListenDecorator {
111
124
  (eventName: string, opts?: ListenOptions): CustomMethodDecorator<any>;
112
125
  }
@@ -128,7 +141,7 @@ export interface ListenOptions {
128
141
  * By default, Stencil uses several heuristics to determine if
129
142
  * it must attach a `passive` event listener or not.
130
143
  *
131
- * Using the `passive` option can be used to change the default behaviour.
144
+ * Using the `passive` option can be used to change the default behavior.
132
145
  * Please see https://developers.google.com/web/updates/2016/06/passive-event-listeners for further information.
133
146
  */
134
147
  passive?: boolean;
@@ -175,6 +188,12 @@ export declare const Element: ElementDecorator;
175
188
  * https://stenciljs.com/docs/events
176
189
  */
177
190
  export declare const Event: EventDecorator;
191
+ /**
192
+ * If the `formAssociated` option is set in options passed to the
193
+ * `@Component()` decorator then this decorator may be used to get access to the
194
+ * `ElementInternals` instance associated with the component.
195
+ */
196
+ export declare const AttachInternals: AttachInternalsDecorator;
178
197
  /**
179
198
  * The `Listen()` decorator is for listening DOM events, including the ones
180
199
  * dispatched from `@Events()`.
@@ -432,7 +451,7 @@ export interface QueueApi {
432
451
  /**
433
452
  * Host
434
453
  */
435
- interface HostAttributes {
454
+ export interface HostAttributes {
436
455
  class?: string | {
437
456
  [className: string]: boolean;
438
457
  };
@@ -471,7 +490,7 @@ export interface FunctionalUtilities {
471
490
  /**
472
491
  * Utility for reading the children of a functional component at runtime.
473
492
  * Since the Stencil runtime uses a different interface for children it is
474
- * not recommendeded to read the children directly, and is preferable to use
493
+ * not recommended to read the children directly, and is preferable to use
475
494
  * this utility to, for instance, perform a side effect for each child.
476
495
  */
477
496
  forEach: (children: VNode[], cb: (vnode: ChildNode, index: number, array: ChildNode[]) => void) => void;
@@ -872,6 +891,8 @@ export declare namespace JSXBase {
872
891
  }
873
892
  interface ImgHTMLAttributes<T> extends HTMLAttributes<T> {
874
893
  alt?: string;
894
+ crossOrigin?: string;
895
+ crossorigin?: string;
875
896
  decoding?: 'async' | 'auto' | 'sync';
876
897
  importance?: 'low' | 'auto' | 'high';
877
898
  height?: number | string;
@@ -930,6 +951,8 @@ export declare namespace JSXBase {
930
951
  minlength?: number | string;
931
952
  multiple?: boolean;
932
953
  name?: string;
954
+ onSelect?: (event: Event) => void;
955
+ onselect?: (event: Event) => void;
933
956
  pattern?: string;
934
957
  placeholder?: string;
935
958
  readOnly?: boolean;
@@ -1111,11 +1134,13 @@ export declare namespace JSXBase {
1111
1134
  autocomplete?: string;
1112
1135
  }
1113
1136
  interface SourceHTMLAttributes<T> extends HTMLAttributes<T> {
1137
+ height?: number;
1114
1138
  media?: string;
1115
1139
  sizes?: string;
1116
1140
  src?: string;
1117
1141
  srcSet?: string;
1118
1142
  type?: string;
1143
+ width?: number;
1119
1144
  }
1120
1145
  interface StyleHTMLAttributes<T> extends HTMLAttributes<T> {
1121
1146
  media?: string;
@@ -1143,6 +1168,8 @@ export declare namespace JSXBase {
1143
1168
  minLength?: number;
1144
1169
  minlength?: number | string;
1145
1170
  name?: string;
1171
+ onSelect?: (event: Event) => void;
1172
+ onselect?: (event: Event) => void;
1146
1173
  placeholder?: string;
1147
1174
  readOnly?: boolean;
1148
1175
  readonly?: boolean | string;
@@ -1289,7 +1316,7 @@ export declare namespace JSXBase {
1289
1316
  clipPathUnits?: number | string;
1290
1317
  'clip-rule'?: number | string;
1291
1318
  'color-interpolation'?: number | string;
1292
- 'color-interpolation-filters'?: 'auto' | 's-rGB' | 'linear-rGB' | 'inherit';
1319
+ 'color-interpolation-filters'?: 'auto' | 'sRGB' | 'linearRGB';
1293
1320
  'color-profile'?: number | string;
1294
1321
  'color-rendering'?: number | string;
1295
1322
  contentScriptType?: number | string;
@@ -1619,8 +1646,14 @@ export declare namespace JSXBase {
1619
1646
  onAnimationEndCapture?: (event: AnimationEvent) => void;
1620
1647
  onAnimationIteration?: (event: AnimationEvent) => void;
1621
1648
  onAnimationIterationCapture?: (event: AnimationEvent) => void;
1649
+ onTransitionCancel?: (event: TransitionEvent) => void;
1650
+ onTransitionCancelCapture?: (event: TransitionEvent) => void;
1622
1651
  onTransitionEnd?: (event: TransitionEvent) => void;
1623
1652
  onTransitionEndCapture?: (event: TransitionEvent) => void;
1653
+ onTransitionRun?: (event: TransitionEvent) => void;
1654
+ onTransitionRunCapture?: (event: TransitionEvent) => void;
1655
+ onTransitionStart?: (event: TransitionEvent) => void;
1656
+ onTransitionStartCapture?: (event: TransitionEvent) => void;
1624
1657
  }
1625
1658
  }
1626
1659
  export interface JSXAttributes<T = Element> {
@@ -1,4 +1,2 @@
1
- export * from './get-element-height';
2
- export * from './on-transition-end';
3
1
  export * from './property-checkers';
4
- export * from './should-reduce-motion';
2
+ export * from './is-motion-reduced';
@@ -0,0 +1 @@
1
+ export declare function isMotionReduced(): boolean;
package/loader/index.d.ts CHANGED
@@ -8,7 +8,7 @@ export interface CustomElementsDefineOptions {
8
8
  ael?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
9
9
  rel?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
10
10
  }
11
- export declare function defineCustomElements(win?: Window, opts?: CustomElementsDefineOptions): Promise<void>;
11
+ export declare function defineCustomElements(win?: Window, opts?: CustomElementsDefineOptions): void;
12
12
  export declare function applyPolyfills(): Promise<void>;
13
13
 
14
14
  /**
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@swisspost/design-system-components",
3
- "version": "1.5.1",
3
+ "version": "1.6.0",
4
4
  "description": "A collection of web components built with Stencil JS for the Swiss Post Design System.",
5
5
  "license": "Apache-2.0",
6
- "main": "loader/index.cjs.js",
7
- "module": "loader/index.js",
8
- "es2017": "loader/index.2017.js",
6
+ "main": "dist/index.cjs.js",
7
+ "module": "dist/index.js",
8
+ "es2017": "dist/esm/index.js",
9
9
  "types": "dist/types/components.d.ts",
10
10
  "collection": "dist/collection/collection-manifest.json",
11
11
  "collection:main": "dist/collection/index.js",
@@ -26,8 +26,8 @@
26
26
  "dependencies": {
27
27
  "@floating-ui/dom": "1.5.1",
28
28
  "@oddbird/popover-polyfill": "0.2.2",
29
- "@stencil/core": "3.4.2",
30
- "@swisspost/design-system-styles": "6.4.2",
29
+ "@stencil/core": "4.6.0",
30
+ "@swisspost/design-system-styles": "6.4.3",
31
31
  "ally.js": "1.4.1",
32
32
  "long-press-event": "2.4.6"
33
33
  },
@@ -36,7 +36,7 @@
36
36
  "@percy/cypress": "3.1.2",
37
37
  "@stencil-community/eslint-plugin": "0.5.0",
38
38
  "@stencil/react-output-target": "0.5.3",
39
- "@stencil/sass": "3.0.5",
39
+ "@stencil/sass": "3.0.7",
40
40
  "@types/jest": "27.5.2",
41
41
  "@typescript-eslint/eslint-plugin": "5.62.0",
42
42
  "@typescript-eslint/parser": "5.62.0",
@@ -53,7 +53,7 @@
53
53
  "typescript": "4.9.5"
54
54
  },
55
55
  "scripts": {
56
- "dev": "stencil build --serve --watch --docs-readme",
56
+ "dev": "stencil build --serve --port 9200 --watch --docs-readme",
57
57
  "start": "stencil build --watch --docs-readme",
58
58
  "build": "stencil build --docs-readme",
59
59
  "clean": "rimraf www dist loader",
@@ -1,14 +0,0 @@
1
- 'use strict';
2
-
3
- const EMPTY_VALUES = [undefined, null, ''];
4
-
5
- function checkNonEmpty(value, error) {
6
- if (EMPTY_VALUES.some(v => v === value)) {
7
- throw new Error(error);
8
- }
9
- }
10
-
11
- exports.EMPTY_VALUES = EMPTY_VALUES;
12
- exports.checkNonEmpty = checkNonEmpty;
13
-
14
- //# sourceMappingURL=check-non-empty-35b4d0b5.js.map
@@ -1 +0,0 @@
1
- {"file":"check-non-empty-35b4d0b5.js","mappings":";;MAAa,YAAY,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE;;SCEhC,aAAa,CAAC,KAAc,EAAE,KAAa;EACzD,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE;IACvC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;GACxB;AACH;;;;;","names":[],"sources":["./src/utils/property-checkers/constants.ts","./src/utils/property-checkers/check-non-empty.ts"],"sourcesContent":["export const EMPTY_VALUES = [undefined, null, ''];\n","import { EMPTY_VALUES } from './constants';\n\nexport function checkNonEmpty(value: unknown, error: string) {\n if (EMPTY_VALUES.some(v => v === value)) {\n throw new Error(error);\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"check-one-of-4c2e8b2e.js","mappings":";;SAAgB,UAAU,CAAI,KAAQ,EAAE,cAA4B,EAAE,KAAa;EACjF,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC;IAAE,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;AAC9D;;;;","names":[],"sources":["./src/utils/property-checkers/check-one-of.ts"],"sourcesContent":["export function checkOneOf<T>(value: T, possibleValues: readonly T[], error: string) {\n if (!possibleValues.includes(value)) throw new Error(error);\n}\n"],"version":3}