@swisspost/design-system-components 9.0.0-next.12 → 9.0.0-next.14

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 (452) hide show
  1. package/dist/.config/bindings.angular.js +4 -0
  2. package/dist/cjs/{attribute-observer-10f08c04.js → attribute-observer-6d8b886b.js} +4 -4
  3. package/dist/cjs/{check-one-of-f4f5d0c0.js → check-one-of-ef931478.js} +2 -1
  4. package/dist/cjs/{check-type-64af82a9.js → check-type-696d2c51.js} +4 -4
  5. package/dist/cjs/{check-url-3ffdd2fb.js → check-url-1cf6fb0d.js} +2 -1
  6. package/dist/cjs/{debounce-1151afe3.js → debounce-158fd76f.js} +2 -1
  7. package/dist/cjs/fade-72d5ef55.js +14 -0
  8. package/dist/cjs/{index-f1b08cdb.js → index-0ee3ab4a.js} +334 -152
  9. package/dist/cjs/{index-5d4e0aed.js → index-bea4ac42.js} +7 -5
  10. package/dist/cjs/index.cjs.js +30 -28
  11. package/dist/cjs/loader.cjs.js +2 -2
  12. package/dist/cjs/{package-0bd6fb0d.js → package-7d11b6ea.js} +1 -1
  13. package/dist/cjs/{post-accordion-7aadd881.js → post-accordion-29861d97.js} +15 -8
  14. package/dist/cjs/{post-accordion-item-bd033c7f.js → post-accordion-item-0da0f7aa.js} +20 -13
  15. package/dist/cjs/post-accordion-item.cjs.entry.js +7 -7
  16. package/dist/cjs/post-accordion.cjs.entry.js +4 -4
  17. package/dist/cjs/{post-avatar-5dbdf70d.js → post-avatar-01b9cd6d.js} +29 -21
  18. package/dist/cjs/post-avatar.cjs.entry.js +3 -3
  19. package/dist/cjs/post-back-to-top-9a5647f7.js +80 -0
  20. package/dist/cjs/post-back-to-top.cjs.entry.js +5 -5
  21. package/dist/cjs/post-banner-33929088.js +110 -0
  22. package/dist/cjs/post-banner.cjs.entry.js +8 -8
  23. package/dist/cjs/{post-breadcrumb-531c4f79.js → post-breadcrumb-1384018e.js} +41 -34
  24. package/dist/cjs/post-breadcrumb-item_2.cjs.entry.js +7 -7
  25. package/dist/cjs/post-breadcrumb.cjs.entry.js +5 -5
  26. package/dist/cjs/post-card-control-4c85eda3.js +314 -0
  27. package/dist/cjs/post-card-control.cjs.entry.js +4 -4
  28. package/dist/cjs/post-closebutton_15.cjs.entry.js +8 -8
  29. package/dist/cjs/{post-collapsible-trigger-02924200.js → post-collapsible-trigger-0fb2596a.js} +47 -35
  30. package/dist/cjs/post-collapsible_2.cjs.entry.js +8 -8
  31. package/dist/cjs/post-components.cjs.js +3 -3
  32. package/dist/cjs/{post-footer-96d7bd47.js → post-footer-f621a563.js} +18 -12
  33. package/dist/cjs/post-footer.cjs.entry.js +3 -3
  34. package/dist/cjs/post-linkarea-865079c1.js +32 -0
  35. package/dist/cjs/post-linkarea.cjs.entry.js +11 -0
  36. package/dist/cjs/{post-menu-item-3f73fb4d.js → post-menu-item-ab3e2e7e.js} +12 -9
  37. package/dist/cjs/{post-popover-64195ffd.js → post-popover-a2ba9226.js} +24 -10
  38. package/dist/cjs/post-popover.cjs.entry.js +4 -4
  39. package/dist/cjs/{post-rating-bd27ebfc.js → post-rating-c402c294.js} +33 -10
  40. package/dist/cjs/post-rating.cjs.entry.js +3 -3
  41. package/dist/cjs/post-tab-header-c819517d.js +36 -0
  42. package/dist/cjs/post-tab-header.cjs.entry.js +3 -3
  43. package/dist/cjs/{post-tab-panel-3eedcd19.js → post-tab-panel-3cb207f3.js} +9 -6
  44. package/dist/cjs/post-tab-panel.cjs.entry.js +3 -3
  45. package/dist/cjs/{post-tabs-ea94b243.js → post-tabs-b6fa39c3.js} +29 -18
  46. package/dist/cjs/post-tabs.cjs.entry.js +4 -4
  47. package/dist/cjs/{post-tag-1d75024b.js → post-tag-9c366519.js} +20 -9
  48. package/dist/cjs/post-tag.cjs.entry.js +3 -3
  49. package/dist/cjs/{post-togglebutton-876f7892.js → post-togglebutton-d49bec2c.js} +682 -221
  50. package/dist/cjs/{post-tooltip-e4ef3c7e.js → post-tooltip-425c01ba.js} +24 -12
  51. package/dist/cjs/post-tooltip.cjs.entry.js +8 -8
  52. package/dist/cjs/{slide-5d51abe8.js → slide-8ae17ee4.js} +4 -4
  53. package/dist/collection/animations/collapse.js +5 -5
  54. package/dist/collection/animations/fade.js +6 -2
  55. package/dist/collection/animations/slide.js +4 -4
  56. package/dist/collection/collection-manifest.json +4 -3
  57. package/dist/collection/components/post-accordion/post-accordion.js +16 -6
  58. package/dist/collection/components/post-accordion-item/post-accordion-item.js +21 -11
  59. package/dist/collection/components/post-avatar/post-avatar.js +35 -20
  60. package/dist/collection/components/post-back-to-top/post-back-to-top.css +1 -1
  61. package/dist/collection/components/post-back-to-top/post-back-to-top.js +14 -8
  62. package/dist/collection/components/post-banner/post-banner.css +1 -1
  63. package/dist/collection/components/post-banner/post-banner.js +40 -14
  64. package/dist/collection/components/post-breadcrumb/post-breadcrumb.js +41 -31
  65. package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.js +10 -6
  66. package/dist/collection/components/post-card-control/post-card-control.css +1 -1
  67. package/dist/collection/components/post-card-control/post-card-control.js +104 -43
  68. package/dist/collection/components/post-closebutton/post-closebutton.js +2 -1
  69. package/dist/collection/components/post-collapsible/post-collapsible.js +16 -6
  70. package/dist/collection/components/post-collapsible-trigger/post-collapsible-trigger.js +25 -21
  71. package/dist/collection/components/post-footer/post-footer.js +9 -5
  72. package/dist/collection/components/post-header/post-header.css +1 -1
  73. package/dist/collection/components/post-header/post-header.js +90 -15
  74. package/dist/collection/components/post-icon/post-icon.js +93 -23
  75. package/dist/collection/components/post-language-option/post-language-option.js +37 -8
  76. package/dist/collection/components/post-language-switch/post-language-switch.css +1 -1
  77. package/dist/collection/components/post-language-switch/post-language-switch.js +24 -7
  78. package/dist/collection/components/post-linkarea/post-linkarea.css +1 -0
  79. package/dist/collection/components/post-linkarea/post-linkarea.js +32 -0
  80. package/dist/collection/components/post-list/post-list.js +19 -6
  81. package/dist/collection/components/post-list-item/post-list-item.js +2 -1
  82. package/dist/collection/components/post-logo/post-logo.js +8 -4
  83. package/dist/collection/components/post-mainnavigation/post-mainnavigation.css +1 -1
  84. package/dist/collection/components/post-mainnavigation/post-mainnavigation.js +197 -17
  85. package/dist/collection/components/post-megadropdown/post-megadropdown.css +1 -1
  86. package/dist/collection/components/post-megadropdown/post-megadropdown.js +134 -64
  87. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.css +1 -1
  88. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.js +18 -11
  89. package/dist/collection/components/post-menu/post-menu.js +56 -33
  90. package/dist/collection/components/post-menu-item/post-menu-item.js +1 -1
  91. package/dist/collection/components/post-menu-trigger/post-menu-trigger.js +24 -16
  92. package/dist/collection/components/post-popover/post-popover.css +1 -1
  93. package/dist/collection/components/post-popover/post-popover.js +26 -5
  94. package/dist/collection/components/post-popovercontainer/post-popovercontainer.css +1 -1
  95. package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +55 -8
  96. package/dist/collection/components/post-rating/post-rating.js +39 -7
  97. package/dist/collection/components/post-tab-header/post-tab-header.css +1 -1
  98. package/dist/collection/components/post-tab-header/post-tab-header.js +9 -5
  99. package/dist/collection/components/post-tab-panel/post-tab-panel.js +9 -5
  100. package/dist/collection/components/post-tabs/post-tabs.css +1 -1
  101. package/dist/collection/components/post-tabs/post-tabs.js +25 -18
  102. package/dist/collection/components/post-tag/post-tag.css +1 -1
  103. package/dist/collection/components/post-tag/post-tag.js +23 -5
  104. package/dist/collection/components/post-togglebutton/post-togglebutton.js +18 -14
  105. package/dist/collection/components/post-tooltip/post-tooltip.js +26 -9
  106. package/dist/collection/index.js +1 -0
  107. package/dist/collection/utils/attribute-observer.js +4 -4
  108. package/dist/collection/utils/breakpoints.js +9 -6
  109. package/dist/collection/utils/component-on-ready.js +4 -4
  110. package/dist/collection/utils/debounce.js +2 -1
  111. package/dist/collection/utils/get-focusable-children.js +2 -2
  112. package/dist/collection/utils/property-checkers/check-one-of.js +2 -1
  113. package/dist/collection/utils/property-checkers/check-pattern.js +2 -1
  114. package/dist/collection/utils/property-checkers/check-type.js +4 -4
  115. package/dist/collection/utils/property-checkers/check-url.js +2 -1
  116. package/dist/collection/utils/property-checkers/empty-or.js +2 -1
  117. package/dist/collection/utils/sass-export.js +8 -5
  118. package/dist/components/index.js +36 -35
  119. package/dist/components/{post-collapsible-trigger2.js → p-05590ac0.js} +30 -27
  120. package/dist/components/{post-breadcrumb2.js → p-146677d1.js} +50 -43
  121. package/dist/components/p-1ee1742f.js +237 -0
  122. package/dist/components/p-2083ae2c.js +3 -0
  123. package/dist/components/{post-megadropdown-trigger2.js → p-27edc023.js} +21 -15
  124. package/dist/components/{post-tooltip2.js → p-2d9b46b4.js} +26 -14
  125. package/dist/components/p-38778a14.js +345 -0
  126. package/dist/components/p-3aba7629.js +29 -0
  127. package/dist/components/{post-togglebutton2.js → p-3cee636a.js} +20 -17
  128. package/dist/components/p-3e8554e7.js +1646 -0
  129. package/dist/components/p-424d5ea9.js +199 -0
  130. package/dist/components/p-46a6c5ec.js +168 -0
  131. package/dist/components/p-4965cfe1.js +145 -0
  132. package/{loaders/slide.js → dist/components/p-4af6dbed.js} +4 -4
  133. package/dist/components/{post-list2.js → p-536eba02.js} +19 -9
  134. package/dist/components/p-5653923a.js +44 -0
  135. package/dist/components/{post-footer2.js → p-58878996.js} +23 -17
  136. package/dist/components/{post-logo2.js → p-5f51ec58.js} +10 -7
  137. package/{loaders/post-popovercontainer2.js → dist/components/p-60cf53cc.js} +34 -11
  138. package/dist/components/p-64e3de38.js +11 -0
  139. package/dist/components/{post-accordion-item2.js → p-68ecd276.js} +26 -19
  140. package/dist/components/p-75b8b652.js +54 -0
  141. package/dist/components/{post-tab-panel2.js → p-78e1d893.js} +11 -8
  142. package/dist/components/{check-type.js → p-8562c7dc.js} +4 -4
  143. package/{loaders/post-menu-trigger2.js → dist/components/p-8b053fd5.js} +27 -20
  144. package/dist/components/{post-icon2.js → p-91031e3b.js} +85 -28
  145. package/dist/components/{post-menu2.js → p-91882483.js} +60 -65
  146. package/dist/{esm/attribute-observer-37fa950a.js → components/p-9748a355.js} +4 -4
  147. package/dist/components/{post-list-item2.js → p-9e4b1f10.js} +4 -4
  148. package/dist/components/{post-accordion2.js → p-a3a004e6.js} +17 -10
  149. package/dist/components/{post-popover2.js → p-af23f7de.js} +26 -12
  150. package/dist/components/{post-collapsible2.js → p-b018d864.js} +23 -14
  151. package/dist/components/{check-non-empty.js → p-b095519d.js} +1 -1
  152. package/dist/components/{check-one-of.js → p-bacd3e2c.js} +2 -1
  153. package/dist/components/{post-closebutton2.js → p-bf14d264.js} +6 -6
  154. package/dist/components/{post-breadcrumb-item2.js → p-c7c1d466.js} +13 -10
  155. package/dist/components/{post-tag2.js → p-cab43cee.js} +22 -11
  156. package/dist/components/{post-menu-item2.js → p-ccccf0c3.js} +4 -4
  157. package/dist/components/{post-tabs2.js → p-ce854a7d.js} +30 -19
  158. package/dist/components/{post-avatar2.js → p-d3fb70af.js} +31 -23
  159. package/dist/components/{post-language-option2.js → p-d47bb5bf.js} +32 -12
  160. package/dist/components/{debounce.js → p-e1baac59.js} +2 -1
  161. package/dist/components/{post-back-to-top2.js → p-e20366a6.js} +20 -15
  162. package/dist/components/{index2.js → p-eabb09ad.js} +9 -6
  163. package/dist/components/{post-language-switch2.js → p-f6d80d76.js} +29 -17
  164. package/dist/components/p-f7b9f90a.js +135 -0
  165. package/dist/components/{post-rating2.js → p-fc59de7c.js} +35 -12
  166. package/dist/components/post-accordion-item.js +1 -1
  167. package/dist/components/post-accordion.js +1 -1
  168. package/dist/components/post-avatar.js +1 -1
  169. package/dist/components/post-back-to-top.js +1 -1
  170. package/dist/components/post-banner.js +1 -1
  171. package/dist/components/post-breadcrumb-item.js +1 -1
  172. package/dist/components/post-breadcrumb.js +1 -1
  173. package/dist/components/post-card-control.js +1 -1
  174. package/dist/components/post-closebutton.js +1 -1
  175. package/dist/components/post-collapsible-trigger.js +1 -1
  176. package/dist/components/post-collapsible.js +1 -1
  177. package/dist/components/post-footer.js +1 -1
  178. package/dist/components/post-header.js +1 -1
  179. package/dist/components/post-icon.js +1 -1
  180. package/dist/components/post-language-option.js +1 -1
  181. package/dist/components/post-language-switch.js +1 -1
  182. package/dist/components/post-linkarea.d.ts +11 -0
  183. package/dist/components/post-linkarea.js +6 -0
  184. package/dist/components/post-list-item.js +1 -1
  185. package/dist/components/post-list.js +1 -1
  186. package/dist/components/post-logo.js +1 -1
  187. package/dist/components/post-mainnavigation.js +1 -1
  188. package/dist/components/post-megadropdown-trigger.js +1 -1
  189. package/dist/components/post-megadropdown.js +1 -1
  190. package/dist/components/post-menu-item.js +1 -1
  191. package/dist/components/post-menu-trigger.js +1 -1
  192. package/dist/components/post-menu.js +1 -1
  193. package/dist/components/post-popover.js +1 -1
  194. package/dist/components/post-popovercontainer.js +1 -1
  195. package/dist/components/post-rating.js +1 -1
  196. package/dist/components/post-tab-header.js +1 -1
  197. package/dist/components/post-tab-panel.js +1 -1
  198. package/dist/components/post-tabs.js +1 -1
  199. package/dist/components/post-tag.js +1 -1
  200. package/dist/components/post-togglebutton.js +1 -1
  201. package/dist/components/post-tooltip.js +1 -1
  202. package/dist/docs.d.ts +8 -0
  203. package/dist/docs.json +335 -156
  204. package/{loaders/attribute-observer.js → dist/esm/attribute-observer-2f203993.js} +4 -4
  205. package/{loaders/check-one-of.js → dist/esm/check-one-of-0d5858c0.js} +2 -1
  206. package/dist/esm/{check-type-8828dbe4.js → check-type-a6ccc9a3.js} +4 -4
  207. package/dist/esm/{check-url-a974431e.js → check-url-0bd876f7.js} +2 -1
  208. package/dist/esm/{debounce-abe98cc2.js → debounce-e54c7131.js} +2 -1
  209. package/dist/esm/fade-1f3cacf4.js +11 -0
  210. package/dist/esm/{index-6bfe6554.js → index-2c232bf2.js} +334 -152
  211. package/dist/esm/{index-b49c9904.js → index-d1bbbd88.js} +7 -5
  212. package/dist/esm/index.js +29 -28
  213. package/dist/esm/loader.js +3 -3
  214. package/dist/esm/package-8c98af5e.js +3 -0
  215. package/dist/esm/{post-accordion-ca48eb18.js → post-accordion-49fba403.js} +15 -8
  216. package/dist/esm/{post-accordion-item-a461f2a7.js → post-accordion-item-c516517a.js} +20 -13
  217. package/dist/esm/post-accordion-item.entry.js +7 -7
  218. package/dist/esm/post-accordion.entry.js +4 -4
  219. package/dist/esm/{post-avatar-0da1a2e8.js → post-avatar-b527ac63.js} +29 -21
  220. package/dist/esm/post-avatar.entry.js +3 -3
  221. package/dist/esm/post-back-to-top-f514c1f0.js +78 -0
  222. package/dist/esm/post-back-to-top.entry.js +5 -5
  223. package/dist/esm/post-banner-0ad7758b.js +108 -0
  224. package/dist/esm/post-banner.entry.js +8 -8
  225. package/dist/esm/{post-breadcrumb-85ffd02f.js → post-breadcrumb-57bca9dd.js} +41 -34
  226. package/dist/esm/post-breadcrumb-item_2.entry.js +7 -7
  227. package/dist/esm/post-breadcrumb.entry.js +5 -5
  228. package/dist/esm/post-card-control-ea741f60.js +312 -0
  229. package/dist/esm/post-card-control.entry.js +4 -4
  230. package/dist/esm/post-closebutton_15.entry.js +8 -8
  231. package/dist/esm/{post-collapsible-trigger-883db3bf.js → post-collapsible-trigger-31155750.js} +47 -35
  232. package/dist/esm/post-collapsible_2.entry.js +8 -8
  233. package/dist/esm/post-components.js +4 -4
  234. package/dist/esm/{post-footer-7b0eb067.js → post-footer-cdde2086.js} +18 -12
  235. package/dist/esm/post-footer.entry.js +3 -3
  236. package/dist/esm/post-linkarea-cad95623.js +30 -0
  237. package/dist/esm/post-linkarea.entry.js +3 -0
  238. package/dist/esm/{post-menu-item-37f637a3.js → post-menu-item-db732728.js} +12 -9
  239. package/dist/esm/{post-popover-c24ecd38.js → post-popover-00f427ac.js} +24 -10
  240. package/dist/esm/post-popover.entry.js +4 -4
  241. package/dist/esm/{post-rating-e1c66e5c.js → post-rating-cdcb2a1d.js} +33 -10
  242. package/dist/esm/post-rating.entry.js +3 -3
  243. package/dist/esm/post-tab-header-1d4113cb.js +34 -0
  244. package/dist/esm/post-tab-header.entry.js +3 -3
  245. package/dist/esm/{post-tab-panel-73b56a16.js → post-tab-panel-7a5c03ef.js} +9 -6
  246. package/dist/esm/post-tab-panel.entry.js +3 -3
  247. package/dist/esm/{post-tabs-02e523b8.js → post-tabs-308190c0.js} +29 -18
  248. package/dist/esm/post-tabs.entry.js +4 -4
  249. package/dist/esm/{post-tag-43aba068.js → post-tag-aebbda10.js} +20 -9
  250. package/dist/esm/post-tag.entry.js +3 -3
  251. package/dist/esm/{post-togglebutton-c2231709.js → post-togglebutton-95ba85d2.js} +682 -221
  252. package/dist/esm/{post-tooltip-8271950c.js → post-tooltip-918d3a54.js} +24 -12
  253. package/dist/esm/post-tooltip.entry.js +8 -8
  254. package/dist/{components/slide.js → esm/slide-62768431.js} +4 -4
  255. package/dist/post-components/index.esm.js +1 -1
  256. package/dist/post-components/p-037d6ef2.entry.js +1 -0
  257. package/dist/post-components/p-1e69a72f.js +1 -0
  258. package/dist/post-components/p-1fda117c.js +1 -0
  259. package/dist/post-components/p-2083ae2c.js +1 -0
  260. package/dist/post-components/p-24297444.js +1 -0
  261. package/dist/post-components/{p-e2f886ab.js → p-267f52a9.js} +3 -3
  262. package/dist/post-components/p-2e6c5b60.js +1 -0
  263. package/dist/post-components/p-3591d4e3.entry.js +1 -0
  264. package/dist/post-components/p-3dec4425.entry.js +1 -0
  265. package/dist/post-components/p-423aecd4.js +1 -0
  266. package/dist/post-components/p-43221de8.entry.js +1 -0
  267. package/dist/post-components/p-48fd00e7.entry.js +1 -0
  268. package/dist/post-components/p-4af6dbed.js +1 -0
  269. package/dist/post-components/p-4ca79b52.js +1 -0
  270. package/dist/post-components/p-4d2dee9f.entry.js +1 -0
  271. package/dist/post-components/p-4fedef65.js +1 -0
  272. package/dist/post-components/p-59109b3b.entry.js +1 -0
  273. package/dist/post-components/p-64e3de38.js +1 -0
  274. package/dist/post-components/p-675352c3.entry.js +1 -0
  275. package/dist/post-components/p-6e4527d9.entry.js +1 -0
  276. package/dist/post-components/p-726bfda2.js +1 -0
  277. package/dist/post-components/p-767c0bf3.js +1 -0
  278. package/dist/post-components/p-796968bd.entry.js +1 -0
  279. package/dist/post-components/p-7c9758fa.js +1 -0
  280. package/dist/post-components/p-8a452260.js +1 -0
  281. package/dist/post-components/p-8a50b900.js +1 -0
  282. package/dist/post-components/p-8de4f677.entry.js +1 -0
  283. package/dist/post-components/p-93632808.js +1 -0
  284. package/dist/post-components/p-9748a355.js +1 -0
  285. package/dist/post-components/p-9aca3d07.entry.js +1 -0
  286. package/dist/post-components/p-9f0c5164.js +1 -0
  287. package/dist/post-components/p-a6436e7f.js +1 -0
  288. package/dist/post-components/p-ad246c0d.js +1 -0
  289. package/dist/post-components/p-b015efcb.entry.js +1 -0
  290. package/dist/post-components/p-b0afc087.entry.js +1 -0
  291. package/dist/post-components/p-b1adc221.js +1 -0
  292. package/dist/post-components/p-b2c0d21a.js +1 -0
  293. package/dist/post-components/p-b5a566f1.js +1 -0
  294. package/dist/post-components/p-c0961047.entry.js +1 -0
  295. package/dist/post-components/p-c388b7bb.entry.js +1 -0
  296. package/dist/post-components/{p-c510d968.entry.js → p-ca41b899.entry.js} +1 -1
  297. package/dist/post-components/p-d2395ae9.entry.js +1 -0
  298. package/dist/post-components/p-d9833667.js +2 -0
  299. package/dist/post-components/p-da261c46.entry.js +1 -0
  300. package/dist/post-components/post-components.esm.js +1 -1
  301. package/dist/types/animations/collapse.d.ts +2 -2
  302. package/dist/types/animations/fade.d.ts +2 -2
  303. package/dist/types/animations/slide.d.ts +2 -2
  304. package/dist/types/components/post-header/post-header.d.ts +11 -2
  305. package/dist/types/components/post-icon/post-icon.d.ts +1 -1
  306. package/dist/types/components/post-language-switch/post-language-switch.d.ts +1 -1
  307. package/dist/types/components/post-linkarea/post-linkarea.d.ts +5 -0
  308. package/dist/types/components/post-mainnavigation/post-mainnavigation.d.ts +57 -3
  309. package/dist/types/components/post-megadropdown/post-megadropdown.d.ts +26 -12
  310. package/dist/types/components/post-popovercontainer/post-popovercontainer.d.ts +4 -0
  311. package/dist/types/components/post-tabs/post-tabs.d.ts +1 -1
  312. package/dist/types/components.d.ts +51 -25
  313. package/dist/types/home/runner/work/design-system/design-system/packages/components/.stencil/.config/bindings.angular.d.ts +2 -0
  314. package/dist/types/index.d.ts +3 -2
  315. package/dist/types/stencil-public-runtime.d.ts +6 -0
  316. package/dist/types/utils/attribute-observer.d.ts +1 -1
  317. package/dist/types/utils/component-on-ready.d.ts +1 -1
  318. package/dist/types/utils/get-focusable-children.d.ts +1 -1
  319. package/dist/types/utils/sass-export.d.ts +5 -1
  320. package/loaders/index.d.ts +2 -0
  321. package/loaders/index.js +3 -2
  322. package/loaders/{post-collapsible-trigger2.js → p-05590ac0.js} +30 -27
  323. package/loaders/{post-breadcrumb-item2.js → p-1beacb73.js} +13 -10
  324. package/loaders/p-2083ae2c.js +3 -0
  325. package/loaders/p-3aba7629.js +29 -0
  326. package/loaders/p-3e8554e7.js +1646 -0
  327. package/{dist/esm/slide-3422b8a3.js → loaders/p-4af6dbed.js} +4 -4
  328. package/loaders/{index2.js → p-56ad4838.js} +9 -6
  329. package/{dist/components/post-popovercontainer2.js → loaders/p-60cf53cc.js} +34 -11
  330. package/loaders/p-64e3de38.js +11 -0
  331. package/loaders/{post-accordion-item2.js → p-83baa315.js} +26 -19
  332. package/loaders/{check-type.js → p-8562c7dc.js} +4 -4
  333. package/{dist/components/post-menu-trigger2.js → loaders/p-8b053fd5.js} +27 -20
  334. package/loaders/{post-menu2.js → p-91882483.js} +60 -65
  335. package/{dist/components/attribute-observer.js → loaders/p-9748a355.js} +4 -4
  336. package/loaders/{post-collapsible2.js → p-9fac5d7d.js} +23 -14
  337. package/loaders/{check-non-empty.js → p-b095519d.js} +1 -1
  338. package/{dist/esm/check-one-of-6b3ef8eb.js → loaders/p-bacd3e2c.js} +2 -1
  339. package/loaders/{post-menu-item2.js → p-ccccf0c3.js} +4 -4
  340. package/loaders/{debounce.js → p-e1baac59.js} +2 -1
  341. package/loaders/{post-icon2.js → p-f7177e26.js} +85 -28
  342. package/loaders/p-f7b9f90a.js +135 -0
  343. package/loaders/post-accordion-item.js +1 -1
  344. package/loaders/post-accordion.js +17 -10
  345. package/loaders/post-avatar.js +31 -23
  346. package/loaders/post-back-to-top.js +20 -15
  347. package/loaders/post-banner.js +42 -23
  348. package/loaders/post-breadcrumb-item.js +1 -1
  349. package/loaders/post-breadcrumb.js +50 -43
  350. package/loaders/post-card-control.js +93 -51
  351. package/loaders/post-closebutton.js +6 -6
  352. package/loaders/post-collapsible-trigger.js +1 -1
  353. package/loaders/post-collapsible.js +1 -1
  354. package/loaders/post-footer.js +23 -17
  355. package/loaders/post-header.js +74 -154
  356. package/loaders/post-icon.js +1 -1
  357. package/loaders/post-language-option.js +32 -12
  358. package/loaders/post-language-switch.js +29 -17
  359. package/loaders/post-linkarea.d.ts +11 -0
  360. package/loaders/post-linkarea.js +47 -0
  361. package/loaders/post-list-item.js +4 -4
  362. package/loaders/post-list.js +19 -9
  363. package/loaders/post-logo.js +10 -7
  364. package/loaders/post-mainnavigation.js +197 -8
  365. package/loaders/post-megadropdown-trigger.js +21 -15
  366. package/loaders/post-megadropdown.js +119 -51
  367. package/loaders/post-menu-item.js +1 -1
  368. package/loaders/post-menu-trigger.js +1 -1
  369. package/loaders/post-menu.js +1 -1
  370. package/loaders/post-popover.js +26 -12
  371. package/loaders/post-popovercontainer.js +1 -1
  372. package/loaders/post-rating.js +35 -12
  373. package/loaders/post-tab-header.js +13 -10
  374. package/loaders/post-tab-panel.js +11 -8
  375. package/loaders/post-tabs.js +30 -19
  376. package/loaders/post-tag.js +22 -11
  377. package/loaders/post-togglebutton.js +20 -17
  378. package/loaders/post-tooltip.js +26 -14
  379. package/package.json +19 -16
  380. package/dist/cjs/fade-35a3633a.js +0 -10
  381. package/dist/cjs/post-back-to-top-71bc912c.js +0 -75
  382. package/dist/cjs/post-banner-d4e0c73c.js +0 -91
  383. package/dist/cjs/post-card-control-332f6f1f.js +0 -272
  384. package/dist/cjs/post-tab-header-1f057694.js +0 -33
  385. package/dist/components/fade.js +0 -7
  386. package/dist/components/package.js +0 -3
  387. package/dist/components/post-banner2.js +0 -126
  388. package/dist/components/post-card-control2.js +0 -303
  389. package/dist/components/post-header2.js +0 -279
  390. package/dist/components/post-mainnavigation2.js +0 -48
  391. package/dist/components/post-megadropdown2.js +0 -100
  392. package/dist/components/post-tab-header2.js +0 -51
  393. package/dist/esm/fade-7fd71785.js +0 -7
  394. package/dist/esm/package-f8f7bb40.js +0 -3
  395. package/dist/esm/post-back-to-top-77471a90.js +0 -73
  396. package/dist/esm/post-banner-b0af5bd3.js +0 -89
  397. package/dist/esm/post-card-control-3225eb57.js +0 -270
  398. package/dist/esm/post-tab-header-6a9b0153.js +0 -31
  399. package/dist/post-components/p-025688e5.js +0 -1
  400. package/dist/post-components/p-08b51b35.entry.js +0 -1
  401. package/dist/post-components/p-0e216cc4.js +0 -2
  402. package/dist/post-components/p-24c92608.js +0 -1
  403. package/dist/post-components/p-25a57971.js +0 -1
  404. package/dist/post-components/p-2737eaf5.js +0 -1
  405. package/dist/post-components/p-2cb4a8f1.js +0 -1
  406. package/dist/post-components/p-33b64e0c.js +0 -1
  407. package/dist/post-components/p-34d70cd5.js +0 -1
  408. package/dist/post-components/p-350f3900.entry.js +0 -1
  409. package/dist/post-components/p-35bc4554.js +0 -1
  410. package/dist/post-components/p-38b259a4.entry.js +0 -1
  411. package/dist/post-components/p-3c6cef1e.entry.js +0 -1
  412. package/dist/post-components/p-4a713cf8.js +0 -1
  413. package/dist/post-components/p-4b5e2b24.js +0 -1
  414. package/dist/post-components/p-515e0f96.js +0 -1
  415. package/dist/post-components/p-5467b223.js +0 -1
  416. package/dist/post-components/p-54e58fc2.entry.js +0 -1
  417. package/dist/post-components/p-637759d6.js +0 -1
  418. package/dist/post-components/p-6adeaa6c.js +0 -1
  419. package/dist/post-components/p-7589a19f.js +0 -1
  420. package/dist/post-components/p-7cce7342.entry.js +0 -1
  421. package/dist/post-components/p-819e19de.js +0 -1
  422. package/dist/post-components/p-82d48128.js +0 -1
  423. package/dist/post-components/p-85171893.entry.js +0 -1
  424. package/dist/post-components/p-882fdd0c.entry.js +0 -1
  425. package/dist/post-components/p-94399c69.js +0 -1
  426. package/dist/post-components/p-9a02b162.entry.js +0 -1
  427. package/dist/post-components/p-b1f5bc26.js +0 -1
  428. package/dist/post-components/p-b2f239a1.entry.js +0 -1
  429. package/dist/post-components/p-b571e5c8.js +0 -1
  430. package/dist/post-components/p-ba530822.js +0 -1
  431. package/dist/post-components/p-bae1c85f.entry.js +0 -1
  432. package/dist/post-components/p-bdabdec5.js +0 -1
  433. package/dist/post-components/p-c1225174.entry.js +0 -1
  434. package/dist/post-components/p-c372a141.entry.js +0 -1
  435. package/dist/post-components/p-c87c5d59.entry.js +0 -1
  436. package/dist/post-components/p-d04c1b7f.entry.js +0 -1
  437. package/dist/post-components/p-da300843.entry.js +0 -1
  438. package/dist/post-components/p-fec04a15.entry.js +0 -1
  439. package/loaders/fade.js +0 -7
  440. package/loaders/package.js +0 -3
  441. /package/dist/components/{heading-levels.js → p-247a1668.js} +0 -0
  442. /package/dist/components/{constants.js → p-440193f4.js} +0 -0
  443. /package/dist/components/{index.browser.js → p-5959f2bd.js} +0 -0
  444. /package/dist/components/{get-root.js → p-fc91cbc2.js} +0 -0
  445. /package/dist/post-components/{p-4a3f67ab.js → p-8562c7dc.js} +0 -0
  446. /package/dist/post-components/{p-611b3c41.js → p-bacd3e2c.js} +0 -0
  447. /package/dist/post-components/{p-b22656b1.js → p-cb9ab938.js} +0 -0
  448. /package/dist/post-components/{p-d4f93f2b.js → p-e1baac59.js} +0 -0
  449. /package/loaders/{heading-levels.js → p-247a1668.js} +0 -0
  450. /package/loaders/{constants.js → p-440193f4.js} +0 -0
  451. /package/loaders/{index.browser.js → p-5959f2bd.js} +0 -0
  452. /package/loaders/{get-root.js → p-fc91cbc2.js} +0 -0
@@ -0,0 +1,314 @@
1
+ 'use strict';
2
+
3
+ const index = require('./index-0ee3ab4a.js');
4
+ const checkOneOf = require('./check-one-of-ef931478.js');
5
+ const checkNonEmpty = require('./check-non-empty-eeaa8f77.js');
6
+ const _package = require('./package-7d11b6ea.js');
7
+
8
+ const postCardControlCss = "/*!\n * Copyright 2021 by Swiss Post, Information Technology\n */.form-check{display:flex;flex-wrap:wrap;align-items:flex-start;width:fit-content;border-radius:var(--post-device-border-radius-focus)}.form-check-inline{display:inline-flex;vertical-align:top}fieldset>.form-check-inline:not(:last-of-type){margin-right:var(--post-core-dimension-24)}.form-check:has(>input:not(:only-child)){outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}.form-check:has(>input:not(:only-child)):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-check:has(>input:not(:only-child)):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.form-check:has(>input:not(:only-child)):is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-check:has(>input:not(:only-child)):is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.form-check:has(>input:not(:only-child))>input{outline:none !important}.form-check:has(input[type=checkbox]):not(.form-switch){padding-block:var(--post-device-spacing-padding-block-19)}fieldset>.form-check:has(input[type=checkbox]):not(.form-switch):not(:last-of-type){margin-bottom:var(--post-device-spacing-gap-4)}.form-check:has(input[type=checkbox]):not(.form-switch)>input[type=checkbox]~label{padding-block:var(--post-device-spacing-padding-block-20);padding-inline-start:var(--post-device-spacing-gap-inline-12);color:var(--post-scheme-color-interactive-primary-enabled-fg1)}.form-check:has(input[type=checkbox]):not(.form-switch)>input[type=checkbox]:not([disabled])~label{cursor:pointer}.form-check:has(input[type=checkbox]):not(.form-switch)>input[type=checkbox]:not([disabled]):hover~label{color:var(--post-scheme-color-interactive-primary-hover-fg1)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-check:has(input[type=checkbox]):not(.form-switch)>input[type=checkbox]:not([disabled]):hover~label{color:Highlight}}.form-check:has(input[type=checkbox]):not(.form-switch)>input[type=checkbox][disabled]~label{color:var(--post-scheme-color-interactive-primary-disabled-fg4)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-check:has(input[type=checkbox]):not(.form-switch)>input[type=checkbox][disabled]~label{color:GrayText}}.form-check.form-switch>input[type=checkbox]~label{color:var(--post-scheme-color-interactive-primary-enabled-fg1)}.form-check.form-switch>input[type=checkbox]:not([disabled])~label{cursor:pointer}.form-check.form-switch>input[type=checkbox]:not([disabled]):hover~label{color:var(--post-scheme-color-interactive-primary-enabled-fg1)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-check.form-switch>input[type=checkbox]:not([disabled]):hover~label{color:Highlight}}.form-check.form-switch>input[type=checkbox][disabled]~label{color:var(--post-scheme-color-interactive-primary-disabled-fg1)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-check.form-switch>input[type=checkbox][disabled]~label{color:GrayText}}.form-check:has(input[type=radio]){padding-block:var(--post-device-spacing-padding-block-19)}fieldset>.form-check:has(input[type=radio]):not(:last-of-type){margin-bottom:var(--post-device-spacing-gap-4)}.form-check:has(input[type=radio])>input[type=radio]~label{padding-block:var(--post-device-spacing-padding-block-20);padding-inline-start:var(--post-device-spacing-gap-inline-12);color:var(--post-scheme-color-interactive-primary-enabled-fg1)}.form-check:has(input[type=radio])>input[type=radio]:not([disabled])~label{cursor:pointer}.form-check:has(input[type=radio])>input[type=radio]:not([disabled]):hover~label{color:var(--post-scheme-color-interactive-primary-hover-fg1)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-check:has(input[type=radio])>input[type=radio]:not([disabled]):hover~label{color:Highlight}}.form-check:has(input[type=radio])>input[type=radio][disabled]~label{color:var(--post-scheme-color-interactive-primary-disabled-fg4)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-check:has(input[type=radio])>input[type=radio][disabled]~label{color:GrayText}}.form-check>label{transition:color 250ms cubic-bezier(0.4, 0, 0.2, 1);flex:1}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-check>label{transition:none}}:where(.form-check>input[type=checkbox]){outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}:where(.form-check>input[type=checkbox]):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:where(.form-check>input[type=checkbox]):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){:where(.form-check>input[type=checkbox]):is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:where(.form-check>input[type=checkbox]):is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.form-check:not(.form-switch):has(input[type=checkbox])>input{appearance:none;flex:none;display:inline-flex;margin:var(--post-device-spacing-padding-1);margin-block:calc(var(--post-device-spacing-padding-1) + var(--post-device-spacing-padding-block-18));width:var(--post-device-sizing-interactive-icon-size);height:var(--post-device-sizing-interactive-icon-size);background-color:var(--post-scheme-color-interactive-primary-enabled-bg3);border:var(--post-device-border-width-default) var(--post-core-border-style-solid) var(--post-scheme-color-interactive-primary-enabled-stroke);border-radius:var(--post-core-dimension-2);color:var(--post-scheme-color-interactive-primary-enabled-fg1);vertical-align:top;transition:background-color 250ms cubic-bezier(0.4, 0, 0.2, 1),border-color 250ms cubic-bezier(0.4, 0, 0.2, 1),color 250ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-check:not(.form-switch):has(input[type=checkbox])>input{background-color:Field;border-color:FieldText;color:FieldText;transition:none}}.form-check:not(.form-switch):has(input[type=checkbox])>input:not([disabled]){cursor:pointer}.form-check:not(.form-switch):has(input[type=checkbox])>input::after{display:block;content:\"\";width:100%;height:100%;mask-size:var(--post-device-sizing-interactive-icon-size);mask-repeat:no-repeat;mask-position:center}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-check:not(.form-switch):has(input[type=checkbox])>input:checked,.form-check:not(.form-switch):has(input[type=checkbox])>input:indeterminate{background-color:SelectedItem}}.form-check:not(.form-switch):has(input[type=checkbox])>input:checked::after,.form-check:not(.form-switch):has(input[type=checkbox])>input:indeterminate::after{background-color:currentColor}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-check:not(.form-switch):has(input[type=checkbox])>input:checked::after,.form-check:not(.form-switch):has(input[type=checkbox])>input:indeterminate::after{background-color:SelectedItemText}}.form-check:not(.form-switch):has(input[type=checkbox])>input:not([disabled]):hover{background-color:var(--post-scheme-color-interactive-primary-hover-bg3);border-color:var(--post-scheme-color-interactive-primary-hover-stroke);color:var(--post-scheme-color-interactive-primary-hover-fg1)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-check:not(.form-switch):has(input[type=checkbox])>input:not([disabled]):hover{background-color:Field;border-color:Highlight}.form-check:not(.form-switch):has(input[type=checkbox])>input:not([disabled]):hover:checked::after,.form-check:not(.form-switch):has(input[type=checkbox])>input:not([disabled]):hover:indeterminate::after{background-color:Highlight}}.form-check:not(.form-switch):has(input[type=checkbox])>input:checked::after{mask-image:url(\"data:image/svg+xml,<svg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'><path d='M7.51712 12.1332L4.30712 8.69325C4.02712 8.39325 4.03712 7.91325 4.34712 7.63325C4.64712 7.35325 5.12712 7.36325 5.40712 7.67325L7.31712 9.72325L10.7171 4.57325C10.9471 4.22325 11.4071 4.13325 11.7571 4.36325C12.1071 4.59325 12.1971 5.05325 11.9671 5.40325L7.51712 12.1332Z'/></svg>\")}.form-check:not(.form-switch):has(input[type=checkbox])>input:indeterminate::after{mask-image:url(\"data:image/svg+xml,<svg width='16' height='16' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'><path d='M11.21 8.5H4.75C4.34 8.5 4 8.16 4 7.75C4 7.34 4.34 7 4.75 7H11.21C11.62 7 11.96 7.34 11.96 7.75C11.96 8.16 11.62 8.5 11.21 8.5Z'/></svg>\")}.form-check:not(.form-switch):has(input[type=checkbox])>input[disabled]{background-color:var(--post-scheme-color-interactive-primary-disabled-bg6);border:var(--post-device-border-width-default) var(--post-core-border-style-dash) var(--post-scheme-color-interactive-primary-disabled-stroke4);color:var(--post-scheme-color-interactive-primary-disabled-fg4)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-check:not(.form-switch):has(input[type=checkbox])>input[disabled]{background-color:Field;border-color:GrayText}.form-check:not(.form-switch):has(input[type=checkbox])>input[disabled]:checked::after,.form-check:not(.form-switch):has(input[type=checkbox])>input[disabled]:indeterminate::after{background-color:GrayText}}:where(.form-check>input[type=radio]){outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}:where(.form-check>input[type=radio]):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:where(.form-check>input[type=radio]):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){:where(.form-check>input[type=radio]):is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:where(.form-check>input[type=radio]):is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.form-check>input[type=radio]{appearance:none;flex:none;display:inline-flex;justify-content:center;align-items:center;margin-block:calc(var(--post-device-spacing-padding-1) + var(--post-device-spacing-padding-block-18));margin-inline:var(--post-device-spacing-padding-1);width:var(--post-device-sizing-interactive-icon-size);height:var(--post-device-sizing-interactive-icon-size);background-color:var(--post-scheme-color-interactive-primary-enabled-bg3);border:var(--post-device-border-width-default) var(--post-core-border-style-solid) var(--post-scheme-color-interactive-primary-enabled-stroke);border-radius:var(--post-device-border-radius-round);color:var(--post-scheme-color-interactive-primary-enabled-fg1);vertical-align:top;transition:background-color 250ms cubic-bezier(0.4, 0, 0.2, 1),border-color 250ms cubic-bezier(0.4, 0, 0.2, 1),color 250ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-check>input[type=radio]{background-color:Field;border-color:FieldText;color:FieldText;transition:none}}.form-check>input[type=radio]:not([disabled]){cursor:pointer}.form-check>input[type=radio]::after{display:block;content:\"\";width:var(--post-device-sizing-icon-3);height:var(--post-device-sizing-icon-3);border-radius:inherit}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-check>input[type=radio]:checked{background-color:SelectedItem}.form-check>input[type=radio]:checked::after{background-color:SelectedItemText !important}}.form-check>input[type=radio]:checked::after{background-color:var(--post-scheme-color-interactive-primary-enabled-fg1)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-check>input[type=radio]:checked::after{background-color:FieldText}}.form-check>input[type=radio]:not([disabled]):hover{background-color:var(--post-scheme-color-interactive-primary-hover-bg3);border-color:var(--post-scheme-color-interactive-primary-hover-stroke);color:var(--post-scheme-color-interactive-primary-hover-fg1)}.form-check>input[type=radio]:not([disabled]):hover:checked::after{background-color:var(--post-scheme-color-interactive-primary-hover-fg1)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-check>input[type=radio]:not([disabled]):hover{background-color:Field;border-color:Highlight}.form-check>input[type=radio]:not([disabled]):hover:checked::after{background-color:Highlight !important}}.form-check>input[type=radio][disabled]{background-color:var(--post-scheme-color-interactive-primary-disabled-bg6);border:var(--post-device-border-width-default) var(--post-core-border-style-dash) var(--post-scheme-color-interactive-primary-disabled-stroke4);color:var(--post-scheme-color-interactive-primary-disabled-fg4)}.form-check>input[type=radio][disabled]:checked::after{background-color:var(--post-scheme-color-interactive-primary-disabled-fg4)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-check>input[type=radio][disabled]{background-color:Field;border-color:GrayText}.form-check>input[type=radio][disabled]:checked::after{background-color:GrayText}}:host{--post-card-control-bg-context:.bg-yellow, .bg-white, .bg-light, .bg-gray, .bg-warning, .bg-info, .bg-success-background, .bg-warning-background, .bg-error-background, .bg-dark, .bg-black, .bg-primary, .bg-secondary, .bg-success, .bg-error;display:flex;width:100%}:host-context(fieldset):host(:not(:last-child)) .card-control{margin-bottom:var(--post-core-dimension-16)}.card-control{--post-card-control-border-color:hsl(0, 0%, 40%);--post-card-control-bg:#fff;--post-card-control-color:hsl(0, 0%, 20%);--post-card-control-input-border-color:hsl(0, 0%, 20%);--post-card-control-input-bg:#fff;flex-basis:100%;display:grid;grid-template:\"input label icon\" \"input content content\"/min-content auto min-content;align-items:center;gap:0 var(--post-core-dimension-8);margin:0;padding:var(--post-core-dimension-12);background-color:var(--post-card-control-bg);border:var(--post-core-dimension-2) solid var(--post-card-control-border-color);border-radius:4px;color:var(--post-card-control-color) !important;cursor:pointer}.card-control .card-control--input{grid-area:input;margin:var(--post-core-dimension-4) 0;background-color:var(--post-card-control-input-bg) !important;border-color:var(--post-card-control-input-border-color) !important;color:var(--post-card-control-input-border-color) !important;cursor:inherit;transition:none;outline:none !important}.card-control .card-control--input:hover:not([disabled]),.card-control .card-control--input:hover:not([disabled])~label.form-check-label{color:#000;background-color:rgba(0,0,0,0)}.card-control .card-control--input:focus,.card-control .card-control--input:focus-visible{box-shadow:none}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.card-control .card-control--input::after{forced-color-adjust:none;border-color:rgba(0,0,0,0)}}.card-control .card-control--label{grid-area:label;margin:var(--post-core-dimension-4) 0;padding:0 !important;color:inherit !important;pointer-events:none;transition:none}.card-control .card-control--label:not(:has(+.card-control--icon)){grid-area:1/label/1/icon}.card-control .card-control--description{grid-area:label;font-size:.75rem}.card-control .card-control--content{grid-area:content}.card-control .card-control--icon{grid-area:icon;width:var(--post-core-dimension-32);height:var(--post-core-dimension-32);pointer-events:none}.card-control .card-control--icon>slot>*{width:100%;height:100%}.card-control:not(.is-disabled).is-checked{--post-card-control-border-color:#000;--post-card-control-bg:#fc0}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.card-control:not(.is-disabled).is-checked{--post-card-control-border-color:FieldText;--post-card-control-bg:SelectedItem;--post-card-control-color:SelectedItemText;--post-card-control-input-border-color:SelectedItemText;--post-card-control-input-bg:SelectedItem}.card-control:not(.is-disabled).is-checked .card-control--input::after{background-color:var(--post-card-control-color) !important}}.card-control:not(.is-disabled).is-invalid{--post-card-control-border-color:#a51728;--post-card-control-color:#a51728;--post-card-control-input-border-color:#a51728}.card-control:not(.is-disabled):hover{--post-card-control-border-color:hsl(0, 0%, 20%);--post-card-control-bg:hsl(0, 0%, 40%);--post-card-control-color:#fff;--post-card-control-input-border-color:#000}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.card-control:not(.is-disabled):hover{--post-card-control-border-color:Highlight;--post-card-control-bg:Field;--post-card-control-color:FieldText;--post-card-control-input-border-color:Highlight;--post-card-control-input-bg:Field}.card-control:not(.is-disabled):hover .card-control--input::after{color:FieldText}}.card-control.is-focused:where(:has(.card-control--input:focus-visible)){outline-offset:var(--post-core-dimension-2);outline:var(--post-core-dimension-2) solid #1976c8}.card-control.is-disabled{--post-card-control-border-color:hsl(0, 0%, 40%);--post-card-control-bg:transparent;--post-card-control-color:hsl(0, 0%, 40%);--post-card-control-input-border-color:hsl(0, 0%, 40%);--post-card-control-input-bg:transparent;border-style:dashed;cursor:default}.card-control.is-disabled .card-control--input{padding:2px;border-style:dashed}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.card-control{--post-card-control-border-color:FieldText;--post-card-control-bg:Field;--post-card-control-color:FieldText;--post-card-control-input-border-color:FieldText;--post-card-control-input-bg:Field;outline:var(--post-core-dimension-2) solid Field;outline-offset:calc(var(--post-core-dimension-2)*-2)}.card-control .card-control--input{outline:var(--post-core-dimension-2) solid Field}.card-control .card-control--input[type]{background-color:Field !important}.card-control .card-control--input::after{border-color:Field !important}.card-control .card-control--label,.card-control .card-control--content{background-color:var(--post-card-control-bg) !important}.card-control:not(.is-disabled).is-checked{--post-card-control-border-color:FieldText;--post-card-control-bg:SelectedItem;--post-card-control-color:SelectedItemText;--post-card-control-input-border-color:FieldText}.card-control:not(.is-disabled).is-checked .card-control--input::after{background-color:FieldText !important}.card-control:not(.is-disabled):hover{--post-card-control-border-color:Highlight;--post-card-control-bg:Field;--post-card-control-color:FieldText;--post-card-control-input-border-color:Highlight}.card-control.is-disabled{--post-card-control-border-color:GrayText;--post-card-control-bg:Field;--post-card-control-color:FieldText;--post-card-control-input-border-color:GrayText;--post-card-control-input-bg:Field}.card-control.is-disabled .card-control--input{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%' height='100%' fill='none' stroke='GrayText' stroke-width='4px ' stroke-dasharray='2 1.5 4 1.5 4 1.5 4 1.5 2 3.5 4 1.5 4 1.5 4 1.5 2 3.5 4 1.5 4 1.5 4 1.5 2 3.5 4 1.5 4 1.5 4' pathLength='88' /%3e%3c/svg%3e\")}.card-control.is-disabled .card-control--input[type=radio]{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%' height='100%' rx='100' ry='100' fill='none' stroke='GrayText' stroke-width='4px ' stroke-dasharray='4 2' /%3e%3c/svg%3e\")}.card-control.is-disabled.is-checked{--post-card-control-bg:SelectedItem;--post-card-control-color:SelectedItemText;position:relative;background-color:Field}.card-control.is-disabled.is-checked::before{display:block;content:\"\";position:absolute;inset:var(--post-core-dimension-2);background-color:SelectedItem;z-index:1}.card-control.is-disabled.is-checked>*{position:relative;z-index:2}.card-control.is-disabled.is-checked .card-control--input::after{background-color:FieldText !important}}@media (forced-colors: active)and (forced-colors: active),(forced-colors: active)and (-ms-high-contrast: active),(forced-colors: active)and (-ms-high-contrast: white-on-black),(-ms-high-contrast: active)and (forced-colors: active),(-ms-high-contrast: active)and (-ms-high-contrast: active),(-ms-high-contrast: active)and (-ms-high-contrast: white-on-black),(-ms-high-contrast: white-on-black)and (forced-colors: active),(-ms-high-contrast: white-on-black)and (-ms-high-contrast: active),(-ms-high-contrast: white-on-black)and (-ms-high-contrast: white-on-black){.card-control{--post-card-control-border-color:GrayText;--post-card-control-color:GrayText;--post-card-control-input-border-color:GrayText}.card-control.is-checked{--post-card-control-input-bg:field;position:relative}.card-control.is-checked::before{display:block;content:\"\";position:absolute;inset:var(--post-core-dimension-2);border-radius:calc(var(--post-core-dimension-2)*.5);background-color:SelectedItem}.card-control.is-checked>*{position:relative}.card-control.is-checked .card-control--input{outline:var(--post-core-dimension-2) solid Field}}:host-context(:is(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error)) .card-control{--post-card-control-border-color:#fff;--post-card-control-bg:transparent;--post-card-control-color:#fff;--post-card-control-input-border-color:#fff;--post-card-control-input-bg:transparent}:host-context(:is(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error)) .card-control:not(.is-disabled).is-checked{--post-card-control-border-color:#fc0;--post-card-control-bg:#fc0;--post-card-control-color:hsl(0, 0%, 20%);--post-card-control-input-border-color:hsl(0, 0%, 20%);--post-card-control-input-bg:#fff}:host-context(:is(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error)) .card-control:not(.is-disabled).is-invalid{--post-card-control-border-color:#a51728;--post-card-control-bg:#ffdade;--post-card-control-color:#a51728;--post-card-control-input-border-color:#a51728;--post-card-control-input-bg:#fff}:host-context(:is(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error)) .card-control:not(.is-disabled).is-invalid:where(.is-checked){--post-card-control-bg:#fc0}:host-context(:is(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error)) .card-control:not(.is-disabled):hover{--post-card-control-border-color:#000;--post-card-control-bg:hsl(0, 0%, 80%);--post-card-control-color:#000;--post-card-control-input-border-color:#000;--post-card-control-input-bg:#fff}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host-context(:is(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error)) .card-control:not(.is-disabled):hover{--post-card-control-border-color:Highlight;--post-card-control-bg:Field;--post-card-control-color:FieldText;--post-card-control-input-border-color:Highlight;--post-card-control-input-bg:Field}}:host-context(:is(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error)) .card-control.is-focused:where(:has(.card-control--input:focus-visible)){outline-color:#fff}:host-context(:is(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error)) .card-control.is-disabled{--post-card-control-border-color:post.$white-alpha-80;--post-card-control-bg:transparent;--post-card-control-color:post.$white-alpha-80;--post-card-control-input-border-color:post.$white-alpha-80;--post-card-control-input-bg:transparent}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host-context(:is(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error)) .card-control.is-disabled{--post-card-control-border-color:GrayText;--post-card-control-color:GrayText;--post-card-control-input-border-color:GrayText}:host-context(:is(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error)) .card-control.is-disabled.is-checked{--post-card-control-input-bg:Field}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host-context(:is(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error)) .card-control{--post-card-control-border-color:FieldText;--post-card-control-bg:Field;--post-card-control-color:FieldText;--post-card-control-input-border-color:FieldText;--post-card-control-input-bg:Field}:host-context(:is(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error)) .card-control:not(.is-disabled).is-checked{--post-card-control-border-color:FieldText;--post-card-control-bg:SelectedItem;--post-card-control-color:SelectedItemText;--post-card-control-input-border-color:FieldText}:host-context(:is(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error)) .card-control:not(.is-disabled):hover{--post-card-control-border-color:Highlight;--post-card-control-bg:Field;--post-card-control-color:FieldText;--post-card-control-input-border-color:Highlight}:host-context(:is(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error)) .card-control.is-disabled{--post-card-control-border-color:GrayText;--post-card-control-bg:Field;--post-card-control-color:FieldText;--post-card-control-input-border-color:GrayText;--post-card-control-input-bg:Field}:host-context(:is(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error)) .card-control.is-disabled.is-checked{--post-card-control-bg:SelectedItem;--post-card-control-color:SelectedItemText}}:host(:not([data-context])){display:none}:host([data-context*=fieldset]:not(:last-child)) .card-control{margin-bottom:var(--post-core-dimension-16)}:host(:is([data-context*=\".bg-dark\"],[data-context*=\".bg-black\"],[data-context*=\".bg-primary\"],[data-context*=\".bg-secondary\"],[data-context*=\".bg-success\"],[data-context*=\".bg-error\"])) .card-control{--post-card-control-border-color:#fff;--post-card-control-bg:transparent;--post-card-control-color:#fff;--post-card-control-input-border-color:#fff;--post-card-control-input-bg:transparent}:host(:is([data-context*=\".bg-dark\"],[data-context*=\".bg-black\"],[data-context*=\".bg-primary\"],[data-context*=\".bg-secondary\"],[data-context*=\".bg-success\"],[data-context*=\".bg-error\"])) .card-control:not(.is-disabled).is-checked{--post-card-control-border-color:#fc0;--post-card-control-bg:#fc0;--post-card-control-color:hsl(0, 0%, 20%);--post-card-control-input-border-color:hsl(0, 0%, 20%);--post-card-control-input-bg:#fff}:host(:is([data-context*=\".bg-dark\"],[data-context*=\".bg-black\"],[data-context*=\".bg-primary\"],[data-context*=\".bg-secondary\"],[data-context*=\".bg-success\"],[data-context*=\".bg-error\"])) .card-control:not(.is-disabled).is-invalid{--post-card-control-border-color:#a51728;--post-card-control-bg:#ffdade;--post-card-control-color:#a51728;--post-card-control-input-border-color:#a51728;--post-card-control-input-bg:#fff}:host(:is([data-context*=\".bg-dark\"],[data-context*=\".bg-black\"],[data-context*=\".bg-primary\"],[data-context*=\".bg-secondary\"],[data-context*=\".bg-success\"],[data-context*=\".bg-error\"])) .card-control:not(.is-disabled).is-invalid:where(.is-checked){--post-card-control-bg:#fc0}:host(:is([data-context*=\".bg-dark\"],[data-context*=\".bg-black\"],[data-context*=\".bg-primary\"],[data-context*=\".bg-secondary\"],[data-context*=\".bg-success\"],[data-context*=\".bg-error\"])) .card-control:not(.is-disabled):hover{--post-card-control-border-color:#000;--post-card-control-bg:hsl(0, 0%, 80%);--post-card-control-color:#000;--post-card-control-input-border-color:#000;--post-card-control-input-bg:#fff}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host(:is([data-context*=\".bg-dark\"],[data-context*=\".bg-black\"],[data-context*=\".bg-primary\"],[data-context*=\".bg-secondary\"],[data-context*=\".bg-success\"],[data-context*=\".bg-error\"])) .card-control:not(.is-disabled):hover{--post-card-control-border-color:Highlight;--post-card-control-bg:Field;--post-card-control-color:FieldText;--post-card-control-input-border-color:Highlight;--post-card-control-input-bg:Field}}:host(:is([data-context*=\".bg-dark\"],[data-context*=\".bg-black\"],[data-context*=\".bg-primary\"],[data-context*=\".bg-secondary\"],[data-context*=\".bg-success\"],[data-context*=\".bg-error\"])) .card-control.is-focused:where(:has(.card-control--input:focus-visible)){outline-color:#fff}:host(:is([data-context*=\".bg-dark\"],[data-context*=\".bg-black\"],[data-context*=\".bg-primary\"],[data-context*=\".bg-secondary\"],[data-context*=\".bg-success\"],[data-context*=\".bg-error\"])) .card-control.is-disabled{--post-card-control-border-color:post.$white-alpha-80;--post-card-control-bg:transparent;--post-card-control-color:post.$white-alpha-80;--post-card-control-input-border-color:post.$white-alpha-80;--post-card-control-input-bg:transparent}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host(:is([data-context*=\".bg-dark\"],[data-context*=\".bg-black\"],[data-context*=\".bg-primary\"],[data-context*=\".bg-secondary\"],[data-context*=\".bg-success\"],[data-context*=\".bg-error\"])) .card-control.is-disabled{--post-card-control-border-color:GrayText;--post-card-control-color:GrayText;--post-card-control-input-border-color:GrayText}:host(:is([data-context*=\".bg-dark\"],[data-context*=\".bg-black\"],[data-context*=\".bg-primary\"],[data-context*=\".bg-secondary\"],[data-context*=\".bg-success\"],[data-context*=\".bg-error\"])) .card-control.is-disabled.is-checked{--post-card-control-input-bg:Field}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host(:is([data-context*=\".bg-dark\"],[data-context*=\".bg-black\"],[data-context*=\".bg-primary\"],[data-context*=\".bg-secondary\"],[data-context*=\".bg-success\"],[data-context*=\".bg-error\"])) .card-control{--post-card-control-border-color:FieldText;--post-card-control-bg:Field;--post-card-control-color:FieldText;--post-card-control-input-border-color:FieldText;--post-card-control-input-bg:Field}:host(:is([data-context*=\".bg-dark\"],[data-context*=\".bg-black\"],[data-context*=\".bg-primary\"],[data-context*=\".bg-secondary\"],[data-context*=\".bg-success\"],[data-context*=\".bg-error\"])) .card-control:not(.is-disabled).is-checked{--post-card-control-border-color:FieldText;--post-card-control-bg:SelectedItem;--post-card-control-color:SelectedItemText;--post-card-control-input-border-color:FieldText}:host(:is([data-context*=\".bg-dark\"],[data-context*=\".bg-black\"],[data-context*=\".bg-primary\"],[data-context*=\".bg-secondary\"],[data-context*=\".bg-success\"],[data-context*=\".bg-error\"])) .card-control:not(.is-disabled):hover{--post-card-control-border-color:Highlight;--post-card-control-bg:Field;--post-card-control-color:FieldText;--post-card-control-input-border-color:Highlight}:host(:is([data-context*=\".bg-dark\"],[data-context*=\".bg-black\"],[data-context*=\".bg-primary\"],[data-context*=\".bg-secondary\"],[data-context*=\".bg-success\"],[data-context*=\".bg-error\"])) .card-control.is-disabled{--post-card-control-border-color:GrayText;--post-card-control-bg:Field;--post-card-control-color:FieldText;--post-card-control-input-border-color:GrayText;--post-card-control-input-bg:Field}:host(:is([data-context*=\".bg-dark\"],[data-context*=\".bg-black\"],[data-context*=\".bg-primary\"],[data-context*=\".bg-secondary\"],[data-context*=\".bg-success\"],[data-context*=\".bg-error\"])) .card-control.is-disabled.is-checked{--post-card-control-bg:SelectedItem;--post-card-control-color:SelectedItemText}}";
9
+ const PostCardControlStyle0 = postCardControlCss;
10
+
11
+ let cardControlIds = 0;
12
+ const PostCardControl = class {
13
+ EVENT_MAP = {
14
+ input: 'postInput',
15
+ change: 'postChange',
16
+ };
17
+ KEYCODES = {
18
+ SPACE: 'Space',
19
+ LEFT: 'ArrowLeft',
20
+ UP: 'ArrowUp',
21
+ RIGHT: 'ArrowRight',
22
+ DOWN: 'ArrowDown',
23
+ };
24
+ group = {
25
+ hosts: [],
26
+ members: [],
27
+ first: null,
28
+ last: null,
29
+ checked: null,
30
+ focused: null,
31
+ };
32
+ control;
33
+ controlId = `PostCardControl_${cardControlIds++}`;
34
+ initialChecked;
35
+ hasIcon;
36
+ get host() { return index.getElement(this); }
37
+ focused = false;
38
+ internals;
39
+ /**
40
+ * Defines the text in the control-label.
41
+ */
42
+ label;
43
+ /**
44
+ * Defines the description in the control-label.
45
+ */
46
+ description = null;
47
+ /**
48
+ * Defines the `type` attribute of the control.
49
+ */
50
+ type;
51
+ /**
52
+ * Defines the `name` attribute of the control.
53
+ * <span className="banner banner-sm banner-info">This is a required property, when the control should participate in a native `form`. If not specified, a native `form` will never contain this controls value.</span>
54
+ * <span className="banner banner-sm banner-info">This is a required property, when the control is used with type `radio`.</span>
55
+ */
56
+ name = null;
57
+ /**
58
+ * Defines the `value` attribute of the control. <span className="banner banner-sm banner-info">This is a required property, when the control is used with type `radio`.</span>
59
+ */
60
+ value = null;
61
+ /**
62
+ * Defines the `checked` attribute of the control. If `true`, the control is selected at its value will be included in the forms' data.
63
+ */
64
+ checked = false;
65
+ /**
66
+ * Defines the `disabled` attribute of the control. If `true`, the user can not interact with the control and the controls value will not be included in the forms' data.
67
+ */
68
+ disabled = false;
69
+ /**
70
+ * Defines the validation `validity` of the control.
71
+ * To reset validity to an undefined state, simply remove the attribute from the control.
72
+ */
73
+ validity = null;
74
+ /**
75
+ * Defines the icon `name` inside the card.
76
+ * <span className="banner banner-sm banner-info">If not set the icon will not show up.</span>
77
+ */
78
+ icon = null;
79
+ /**
80
+ * An event emitted whenever the components checked state is toggled.
81
+ * The event payload (emitted under `event.detail.state`) is a boolean: `true` if the component is checked, `false` if it is unchecked.
82
+ */
83
+ postInput;
84
+ /**
85
+ * An event emitted whenever the components checked state is toggled.
86
+ * The event payload (emitted under `event.detail.state`) is a boolean: `true` if the component is checked, `false` if it is unchecked.
87
+ * <span className="banner banner-sm banner-info">If the component is used with type `radio`, it will only emit this event, when the checked state is changing to `true`.</span>
88
+ */
89
+ postChange;
90
+ /**
91
+ * A public method to reset the controls `checked` and `validity` state.
92
+ * The validity state is set to `null`, so it's neither valid nor invalid.
93
+ */
94
+ async reset() {
95
+ this.validity = null;
96
+ this.controlSetChecked(this.initialChecked);
97
+ }
98
+ /**
99
+ * A hidden public method to reset the group controls `checked` state to `false`.
100
+ */
101
+ async groupReset() {
102
+ if (this.disabled)
103
+ this.control.checked = this.checked = false;
104
+ this.controlSetChecked(false);
105
+ }
106
+ validateControlLabel(label = this.label) {
107
+ checkNonEmpty.checkNonEmpty(label, 'The "post-card-control" element requires its "label" property to be set.');
108
+ }
109
+ validateControlType(type = this.type) {
110
+ checkOneOf.checkOneOf(type, ['checkbox', 'radio'], 'The "post-card-control" element requires its "type" prop to be one of either "checkbox" or "radio".');
111
+ }
112
+ updateControlChecked(checked = this.checked) {
113
+ this.controlSetChecked(checked);
114
+ }
115
+ updateControlDisabled() {
116
+ this.controlSetChecked(this.checked);
117
+ }
118
+ constructor(hostRef) {
119
+ index.registerInstance(this, hostRef);
120
+ this.postInput = index.createEvent(this, "postInput", 7);
121
+ this.postChange = index.createEvent(this, "postChange", 7);
122
+ if (hostRef.$hostElement$["s-ei"]) {
123
+ this.internals = hostRef.$hostElement$["s-ei"];
124
+ }
125
+ else {
126
+ this.internals = hostRef.$hostElement$.attachInternals();
127
+ hostRef.$hostElement$["s-ei"] = this.internals;
128
+ }
129
+ this.cardClickHandler = this.cardClickHandler.bind(this);
130
+ this.controlClickHandler = this.controlClickHandler.bind(this);
131
+ this.controlChangeHandler = this.controlChangeHandler.bind(this);
132
+ this.controlFocusHandler = this.controlFocusHandler.bind(this);
133
+ this.controlKeyDownHandler = this.controlKeyDownHandler.bind(this);
134
+ }
135
+ cardClickHandler(e) {
136
+ e.stopPropagation();
137
+ // if this was not the clicked element anyway, trigger click on control to change it
138
+ if (e.target !== this.control)
139
+ this.control.click();
140
+ }
141
+ controlClickHandler(e) {
142
+ e.stopPropagation();
143
+ // if control is disabled do nothing
144
+ // else control value will fire a change event, which is handled in the controlChangeHandler method
145
+ if (this.disabled)
146
+ e.preventDefault();
147
+ }
148
+ controlChangeHandler(e) {
149
+ e.stopPropagation();
150
+ this.groupCollectMembers();
151
+ this.controlSetChecked(this.control.checked, e);
152
+ this.groupSetChecked(this.control, e);
153
+ }
154
+ controlFocusHandler() {
155
+ this.focused = this.host === document.activeElement;
156
+ }
157
+ // https://googlechromelabs.github.io/howto-components/howto-radio-group/
158
+ controlKeyDownHandler(e) {
159
+ if (this.type === 'radio') {
160
+ e.stopPropagation();
161
+ if (Object.values(this.KEYCODES).includes(e.code))
162
+ e.preventDefault();
163
+ this.groupCollectMembers();
164
+ switch (e.code) {
165
+ case this.KEYCODES.UP:
166
+ case this.KEYCODES.LEFT:
167
+ this.groupSetChecked(this.groupGetPrev(), e);
168
+ break;
169
+ case this.KEYCODES.DOWN:
170
+ case this.KEYCODES.RIGHT:
171
+ this.groupSetChecked(this.groupGetNext(), e);
172
+ break;
173
+ case this.KEYCODES.SPACE:
174
+ this.groupSetChecked(this.control, e);
175
+ break;
176
+ }
177
+ }
178
+ }
179
+ controlSetChecked(checked, e) {
180
+ if (!this.control)
181
+ return;
182
+ if (this.disabled) {
183
+ this.internals.setFormValue(null);
184
+ }
185
+ else {
186
+ this.control.checked = this.checked = checked;
187
+ this.internals.setFormValue(this.checked ? this.control.value : null);
188
+ if (e) {
189
+ const isCheckbox = this.type === 'checkbox';
190
+ const isRadioAndChecked = this.type === 'radio' && this.checked;
191
+ // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox
192
+ // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/radio
193
+ // if an event parameter is given and a native control would fire an event, emit the corresponding event to the light dom
194
+ if (isCheckbox || isRadioAndChecked)
195
+ this[this.EVENT_MAP[e.type]].emit({ state: this.checked, value: this.value });
196
+ }
197
+ }
198
+ }
199
+ groupCollectMembers() {
200
+ if (this.type === 'radio' && this.name) {
201
+ this.group.hosts = Array.from(document.querySelectorAll(`post-card-control[type="radio"][name="${this.name}"]`));
202
+ this.group.members = this.group.hosts
203
+ .map(m => m.shadowRoot.querySelector('input[type="radio"]'))
204
+ .filter(m => m !== null);
205
+ if (this.group.members.length > 1) {
206
+ this.group.first = this.group.members[0];
207
+ this.group.last = this.group.members[this.group.members.length - 1];
208
+ this.group.checked = this.group.members.find(m => m.checked) ?? null;
209
+ this.group.focused =
210
+ this.group.members.find(m => m.getRootNode().host === document.activeElement) ??
211
+ this.group.first;
212
+ const focusableMember = this.group.checked || this.group.focused || this.group.first;
213
+ this.group.members.forEach(m => {
214
+ m.tabIndex = m === focusableMember ? 0 : -1;
215
+ });
216
+ }
217
+ }
218
+ }
219
+ groupGetPrev() {
220
+ const focusedIndex = this.group.members.findIndex(m => m.id === this.group.focused.id);
221
+ return this.group.members.find((_m, i) => i === focusedIndex - 1) ?? this.group.last;
222
+ }
223
+ groupGetNext() {
224
+ const focusedIndex = this.group.members.findIndex(m => m.id === this.group.focused.id);
225
+ return this.group.members.find((_m, i) => i === focusedIndex + 1) ?? this.group.first;
226
+ }
227
+ groupSetChecked(newChecked, e) {
228
+ if (this.group.members.length > 1) {
229
+ const isKeyboardEvent = e.type === 'keydown';
230
+ const newIsAriaDisabled = newChecked.hasAttribute('aria-disabled');
231
+ const newIndex = this.group.members.findIndex(m => m === newChecked);
232
+ if (isKeyboardEvent)
233
+ newChecked.focus();
234
+ // if new is disabled, do not reset/set anything
235
+ if (!newIsAriaDisabled) {
236
+ // reset all group members but the newChecked
237
+ this.group.hosts
238
+ .filter((_h, i) => i !== newIndex)
239
+ .forEach(h => {
240
+ h.groupReset();
241
+ });
242
+ // if method was called by keyboard event, select newChecked
243
+ // else this has already been done by clicking on the newChecked element already
244
+ if (isKeyboardEvent)
245
+ newChecked.click();
246
+ }
247
+ }
248
+ }
249
+ // remove as soon as all browser support :host-context()
250
+ // https://caniuse.com/?search=%3Ahost-context()
251
+ setHostContext() {
252
+ let bgContext;
253
+ const possibleBgContexts = window
254
+ .getComputedStyle(this.host)
255
+ .getPropertyValue('--post-card-control-bg-context')
256
+ .split(', ');
257
+ let formContext;
258
+ const possibleFromContexts = ['fieldset'];
259
+ let element = this.host;
260
+ while (element && (!bgContext || !formContext)) {
261
+ bgContext = bgContext ?? possibleBgContexts.find(selector => element.matches(selector));
262
+ formContext = formContext ?? possibleFromContexts.find(selector => element.matches(selector));
263
+ element = element.parentElement;
264
+ }
265
+ const hostContext = [bgContext, formContext].filter(context => !!context).join(' ');
266
+ this.host.setAttribute('data-context', hostContext);
267
+ }
268
+ connectedCallback() {
269
+ this.initialChecked = this.checked;
270
+ }
271
+ componentWillRender() {
272
+ this.hasIcon = Boolean(this.host.querySelector('[slot="icon"]') || this.icon);
273
+ }
274
+ render() {
275
+ return (index.h(index.Host, { key: 'a62b814d2579038654a8fef11c6d136e03381320', "data-version": _package.version, onClick: this.cardClickHandler }, index.h("div", { key: '34e5f1092cd886bd5dc69542728a3c406e11cd51', class: {
276
+ 'card-control': true,
277
+ 'is-checked': this.checked,
278
+ 'is-disabled': this.disabled,
279
+ 'is-focused': this.focused,
280
+ 'is-valid': this.validity !== null && this.validity !== 'false',
281
+ 'is-invalid': this.validity === 'false',
282
+ } }, index.h("input", { key: 'ca21d9eba6b998b26615ae7d92f105b6fe0c2f9f', ref: el => (this.control = el), id: this.controlId, class: "card-control--input", type: this.type, name: this.name, value: this.value, checked: this.checked, "aria-describedby": `${this.controlId}_content`, "aria-disabled": this.disabled, "aria-invalid": this.validity === 'false', onClick: this.controlClickHandler, onInput: this.controlChangeHandler, onChange: this.controlChangeHandler, onFocus: this.controlFocusHandler, onBlur: this.controlFocusHandler, onKeyDown: this.controlKeyDownHandler }), index.h("label", { key: 'f9b336f63f5f83143bdf2b3b8b2d85a57723b036', id: `${this.controlId}_label`, htmlFor: this.controlId, class: "card-control--label" }, this.label, this.description ? (index.h("div", { class: "card-control--description" }, this.description)) : null), this.hasIcon ? (index.h("div", { class: "card-control--icon" }, index.h("slot", { name: "icon" }, this.icon ? index.h("post-icon", { name: this.icon }) : null))) : null, index.h("div", { key: '813f81b01385aa7721d35c7edbd1494fc178dc4d', id: `${this.controlId}_content`, class: "card-control--content" }, index.h("slot", { key: '95658d0b41b293a8fafbef79b3f2c6fa50c95534' })))));
283
+ }
284
+ componentDidRender() {
285
+ this.setHostContext();
286
+ this.groupCollectMembers();
287
+ }
288
+ componentDidLoad() {
289
+ this.validateControlLabel();
290
+ this.validateControlType();
291
+ }
292
+ formAssociatedCallback() {
293
+ this.controlSetChecked(this.checked);
294
+ }
295
+ formDisabledCallback(disabled) {
296
+ this.disabled = disabled;
297
+ }
298
+ formStateRestoreCallback(checked) {
299
+ this.controlSetChecked(checked);
300
+ }
301
+ formResetCallback() {
302
+ this.reset();
303
+ }
304
+ static get formAssociated() { return true; }
305
+ static get watchers() { return {
306
+ "label": ["validateControlLabel"],
307
+ "type": ["validateControlType"],
308
+ "checked": ["updateControlChecked"],
309
+ "disabled": ["updateControlDisabled"]
310
+ }; }
311
+ };
312
+ PostCardControl.style = PostCardControlStyle0;
313
+
314
+ exports.PostCardControl = PostCardControl;
@@ -2,12 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const postCardControl = require('./post-card-control-332f6f1f.js');
6
- require('./index-f1b08cdb.js');
7
- require('./check-one-of-f4f5d0c0.js');
5
+ const postCardControl = require('./post-card-control-4c85eda3.js');
6
+ require('./index-0ee3ab4a.js');
7
+ require('./check-one-of-ef931478.js');
8
8
  require('./check-non-empty-eeaa8f77.js');
9
9
  require('./constants-238701d3.js');
10
- require('./package-0bd6fb0d.js');
10
+ require('./package-7d11b6ea.js');
11
11
 
12
12
 
13
13
 
@@ -2,15 +2,15 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const postTogglebutton = require('./post-togglebutton-876f7892.js');
6
- require('./index-f1b08cdb.js');
7
- require('./package-0bd6fb0d.js');
8
- require('./slide-5d51abe8.js');
9
- require('./index-5d4e0aed.js');
5
+ const postTogglebutton = require('./post-togglebutton-d49bec2c.js');
6
+ require('./index-0ee3ab4a.js');
7
+ require('./package-7d11b6ea.js');
8
+ require('./slide-8ae17ee4.js');
9
+ require('./index-bea4ac42.js');
10
10
  require('./constants-238701d3.js');
11
- require('./check-one-of-f4f5d0c0.js');
12
- require('./check-type-64af82a9.js');
13
- require('./check-url-3ffdd2fb.js');
11
+ require('./check-one-of-ef931478.js');
12
+ require('./check-type-696d2c51.js');
13
+ require('./check-url-1cf6fb0d.js');
14
14
  require('./check-non-empty-eeaa8f77.js');
15
15
  require('./index.browser-2f65f583.js');
16
16
  require('./get-root-7a3498ef.js');
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- const index = require('./index-f1b08cdb.js');
4
- const _package = require('./package-0bd6fb0d.js');
5
- const index$1 = require('./index-5d4e0aed.js');
6
- const checkType = require('./check-type-64af82a9.js');
3
+ const index = require('./index-0ee3ab4a.js');
4
+ const _package = require('./package-7d11b6ea.js');
5
+ const index$1 = require('./index-bea4ac42.js');
6
+ const checkType = require('./check-type-696d2c51.js');
7
7
  const checkNonEmpty = require('./check-non-empty-eeaa8f77.js');
8
- const debounce = require('./debounce-1151afe3.js');
8
+ const debounce = require('./debounce-158fd76f.js');
9
9
  const getRoot = require('./get-root-7a3498ef.js');
10
10
 
11
11
  function isMotionReduced() {
@@ -20,15 +20,15 @@ const animationOptions = {
20
20
  easing: collapseEasing,
21
21
  fill: 'forwards',
22
22
  };
23
- const collapse = (el) => {
23
+ function collapse(el) {
24
24
  const expandedKeyframe = { height: window.getComputedStyle(el).height };
25
25
  return el.animate([expandedKeyframe, collapsedKeyframe], animationOptions);
26
- };
27
- const expand = (el) => {
26
+ }
27
+ function expand(el) {
28
28
  const expandedKeyframe = { height: `${el.scrollHeight}px`, offset: 1 };
29
- const finalKeyframe = { height: 'auto' };
29
+ const finalKeyframe = { height: 'auto', overflow: 'visible' };
30
30
  return el.animate([collapsedKeyframe, expandedKeyframe, finalKeyframe], animationOptions);
31
- };
31
+ }
32
32
 
33
33
  const postCollapsibleCss = ":host{display:block;position:relative;overflow:hidden}";
34
34
  const PostCollapsibleStyle0 = postCollapsibleCss;
@@ -37,14 +37,24 @@ const PostCollapsible = class {
37
37
  constructor(hostRef) {
38
38
  index.registerInstance(this, hostRef);
39
39
  this.postToggle = index.createEvent(this, "postToggle", 7);
40
- this.isLoaded = false;
41
- this.isOpen = true;
42
- this.collapsed = false;
43
40
  }
41
+ isLoaded = false;
42
+ isOpen = true;
43
+ get host() { return index.getElement(this); }
44
+ /**
45
+ * If `true`, the element is collapsed otherwise it is displayed.
46
+ */
47
+ collapsed = false;
44
48
  collapsedChange() {
45
49
  index$1.checkEmptyOrType(this.collapsed, 'boolean', 'The `collapsed` property of the `post-collapsible` must be a boolean.');
46
50
  void this.toggle(!this.collapsed);
47
51
  }
52
+ /**
53
+ * An event emitted when the collapse element is shown or hidden, before the transition.
54
+ *
55
+ * The event payload is a boolean: `true` if the collapsible was opened, `false` if it was closed.
56
+ */
57
+ postToggle;
48
58
  componentDidLoad() {
49
59
  this.collapsedChange();
50
60
  this.isLoaded = true;
@@ -79,9 +89,8 @@ const PostCollapsible = class {
79
89
  triggers.forEach(trigger => trigger.update());
80
90
  }
81
91
  render() {
82
- return (index.h(index.Host, { key: 'fd2402bcf9dee7753da3d9dc78e48e7410a774c2', "data-version": _package.version, tabindex: this.collapsed ? -1 : undefined }, index.h("slot", { key: '7119a56492d6ed3fea4c5be8a34d8af60f18fe0a' })));
92
+ return (index.h(index.Host, { key: '3ba9983562f5fabec602f23d8698bacb3ff0dbdc', "data-version": _package.version, tabindex: this.collapsed ? -1 : undefined }, index.h("slot", { key: '010369b851198dab8eed76a2ab26627d480c97d4' })));
83
93
  }
84
- get host() { return index.getElement(this); }
85
94
  static get watchers() { return {
86
95
  "collapsed": ["collapsedChange"]
87
96
  }; }
@@ -91,24 +100,15 @@ PostCollapsible.style = PostCollapsibleStyle0;
91
100
  const PostCollapsibleTrigger = class {
92
101
  constructor(hostRef) {
93
102
  index.registerInstance(this, hostRef);
94
- this.observer = new MutationObserver(() => this.setTrigger());
95
- this.debouncedUpdate = debounce.debounce(() => {
96
- var _a;
97
- if (!this.trigger)
98
- return;
99
- // add the provided id to the aria-controls list
100
- const ariaControls = this.trigger.getAttribute('aria-controls');
101
- if (!(ariaControls === null || ariaControls === void 0 ? void 0 : ariaControls.includes(this.for))) {
102
- const newAriaControls = ariaControls ? `${ariaControls} ${this.for}` : this.for;
103
- this.trigger.setAttribute('aria-controls', newAriaControls);
104
- }
105
- // set the aria-expanded to `false` if the controlled collapsible is collapsed or undefined, set it to `true` otherwise
106
- const isCollapsed = (_a = this.collapsible) === null || _a === void 0 ? void 0 : _a.collapsed;
107
- const newAriaExpanded = isCollapsed !== undefined ? !isCollapsed : undefined;
108
- this.trigger.setAttribute('aria-expanded', `${newAriaExpanded}`);
109
- });
110
- this.for = undefined;
111
103
  }
104
+ trigger;
105
+ observer = new MutationObserver(() => this.setTrigger());
106
+ root;
107
+ get host() { return index.getElement(this); }
108
+ /**
109
+ * Link the trigger to a post-collapsible with this id
110
+ */
111
+ for;
112
112
  /**
113
113
  * Set the "aria-controls" and "aria-expanded" attributes on the trigger to match the state of the controlled post-collapsible
114
114
  */
@@ -156,12 +156,25 @@ const PostCollapsibleTrigger = class {
156
156
  async update() {
157
157
  this.debouncedUpdate();
158
158
  }
159
+ debouncedUpdate = debounce.debounce(() => {
160
+ if (!this.trigger)
161
+ return;
162
+ // add the provided id to the aria-controls list
163
+ const ariaControls = this.trigger.getAttribute('aria-controls');
164
+ if (!ariaControls?.includes(this.for)) {
165
+ const newAriaControls = ariaControls ? `${ariaControls} ${this.for}` : this.for;
166
+ this.trigger.setAttribute('aria-controls', newAriaControls);
167
+ }
168
+ // set the aria-expanded to `false` if the controlled collapsible is collapsed or undefined, set it to `true` otherwise
169
+ const isCollapsed = this.collapsible?.collapsed;
170
+ const newAriaExpanded = isCollapsed !== undefined ? !isCollapsed : undefined;
171
+ this.trigger.setAttribute('aria-expanded', `${newAriaExpanded}`);
172
+ });
159
173
  /**
160
174
  * Toggle the post-collapsible controlled by the trigger
161
175
  */
162
176
  async toggleCollapsible() {
163
- var _a;
164
- await ((_a = this.collapsible) === null || _a === void 0 ? void 0 : _a.toggle());
177
+ await this.collapsible?.toggle();
165
178
  }
166
179
  /**
167
180
  * Retrieve the post-collapsible controlled by the trigger
@@ -184,7 +197,6 @@ const PostCollapsibleTrigger = class {
184
197
  this.trigger.addEventListener('click', () => this.toggleCollapsible());
185
198
  this.setAriaAttributes();
186
199
  }
187
- get host() { return index.getElement(this); }
188
200
  static get watchers() { return {
189
201
  "for": ["setAriaAttributes"]
190
202
  }; }
@@ -2,16 +2,16 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const postCollapsibleTrigger = require('./post-collapsible-trigger-02924200.js');
6
- require('./index-f1b08cdb.js');
7
- require('./package-0bd6fb0d.js');
8
- require('./index-5d4e0aed.js');
5
+ const postCollapsibleTrigger = require('./post-collapsible-trigger-0fb2596a.js');
6
+ require('./index-0ee3ab4a.js');
7
+ require('./package-7d11b6ea.js');
8
+ require('./index-bea4ac42.js');
9
9
  require('./constants-238701d3.js');
10
- require('./check-one-of-f4f5d0c0.js');
11
- require('./check-type-64af82a9.js');
12
- require('./check-url-3ffdd2fb.js');
10
+ require('./check-one-of-ef931478.js');
11
+ require('./check-type-696d2c51.js');
12
+ require('./check-url-1cf6fb0d.js');
13
13
  require('./check-non-empty-eeaa8f77.js');
14
- require('./debounce-1151afe3.js');
14
+ require('./debounce-158fd76f.js');
15
15
  require('./get-root-7a3498ef.js');
16
16
 
17
17