@swisspost/design-system-components 9.0.0-next.2 → 9.0.0-next.4

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 (292) hide show
  1. package/dist/cjs/{index-c15bd800.js → index-e1f32cce.js} +41 -4
  2. package/dist/cjs/index.cjs.js +29 -17
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/{package-a7150f64.js → package-3f706795.js} +1 -1
  5. package/dist/cjs/{post-accordion-62d2fd79.js → post-accordion-0391f4c5.js} +2 -2
  6. package/dist/cjs/post-accordion-item-19ce78d0.js +52 -0
  7. package/dist/cjs/post-accordion-item.cjs.entry.js +3 -3
  8. package/dist/cjs/post-accordion.cjs.entry.js +3 -3
  9. package/dist/cjs/post-alert-278229ad.js +98 -0
  10. package/dist/cjs/post-alert.cjs.entry.js +3 -3
  11. package/dist/cjs/post-avatar-ffba1d23.js +148 -0
  12. package/dist/cjs/post-avatar.cjs.entry.js +13 -0
  13. package/dist/cjs/post-breadcrumb-item-42466f8a.js +49 -0
  14. package/dist/cjs/post-breadcrumb-item.cjs.entry.js +14 -0
  15. package/dist/cjs/post-card-control-37d6a65a.js +272 -0
  16. package/dist/cjs/post-card-control.cjs.entry.js +3 -3
  17. package/dist/cjs/post-closebutton-372c1276.js +16 -0
  18. package/dist/cjs/post-closebutton.cjs.entry.js +11 -0
  19. package/dist/cjs/{post-collapsible-trigger-9dca8493.js → post-collapsible-trigger-c843f028.js} +7 -5
  20. package/dist/cjs/post-collapsible_2.cjs.entry.js +3 -3
  21. package/dist/cjs/post-components.cjs.js +2 -2
  22. package/dist/cjs/{post-icon-3934be0b.js → post-icon-ca80afce.js} +4 -4
  23. package/dist/cjs/post-icon.cjs.entry.js +3 -3
  24. package/dist/cjs/post-language-option-dab6d431.js +67 -0
  25. package/dist/cjs/post-language-option.cjs.entry.js +14 -0
  26. package/dist/cjs/post-list-f2c673ef.js +37 -0
  27. package/dist/cjs/post-list-item-1b6ce0d0.js +22 -0
  28. package/dist/cjs/post-list-item.cjs.entry.js +10 -0
  29. package/dist/cjs/post-list.cjs.entry.js +11 -0
  30. package/dist/cjs/{post-logo-c3603fc7.js → post-logo-ed8e99c0.js} +4 -4
  31. package/dist/cjs/post-logo.cjs.entry.js +3 -3
  32. package/dist/cjs/{post-popover-15f9620a.js → post-popover-4457dd58.js} +4 -4
  33. package/dist/cjs/post-popover.cjs.entry.js +3 -3
  34. package/dist/cjs/{post-popovercontainer-7d536276.js → post-popovercontainer-1e6be8ad.js} +11 -9
  35. package/dist/cjs/post-popovercontainer.cjs.entry.js +3 -3
  36. package/dist/cjs/{post-rating-db5a397a.js → post-rating-236273be.js} +3 -3
  37. package/dist/cjs/post-rating.cjs.entry.js +3 -3
  38. package/dist/cjs/post-tab-header-bce47e34.js +32 -0
  39. package/dist/cjs/post-tab-header.cjs.entry.js +3 -3
  40. package/dist/cjs/{post-tab-panel-d59cf1ec.js → post-tab-panel-e25974be.js} +3 -3
  41. package/dist/cjs/post-tab-panel.cjs.entry.js +3 -3
  42. package/dist/cjs/{post-tabs-7afae61a.js → post-tabs-dc99bddf.js} +4 -4
  43. package/dist/cjs/post-tabs.cjs.entry.js +3 -3
  44. package/dist/cjs/{post-tag-b7d0bbff.js → post-tag-a28852a8.js} +3 -3
  45. package/dist/cjs/post-tag.cjs.entry.js +3 -3
  46. package/dist/cjs/{post-tooltip-432852c7.js → post-tooltip-78e4129b.js} +3 -3
  47. package/dist/cjs/post-tooltip.cjs.entry.js +3 -3
  48. package/dist/collection/collection-manifest.json +7 -1
  49. package/dist/collection/components/post-accordion-item/post-accordion-item.css +1 -1
  50. package/dist/collection/components/post-accordion-item/post-accordion-item.js +4 -3
  51. package/dist/collection/components/post-alert/post-alert.css +2 -2
  52. package/dist/collection/components/post-alert/post-alert.js +4 -4
  53. package/dist/collection/components/post-avatar/post-avatar.css +3 -0
  54. package/dist/collection/components/post-avatar/post-avatar.js +237 -0
  55. package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.css +1 -0
  56. package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.js +83 -0
  57. package/dist/collection/components/post-card-control/post-card-control.css +1 -1
  58. package/dist/collection/components/post-card-control/post-card-control.js +2 -2
  59. package/dist/collection/components/post-closebutton/post-closebutton.js +12 -0
  60. package/dist/collection/components/post-collapsible/post-collapsible.js +5 -3
  61. package/dist/collection/components/post-icon/post-icon.js +2 -2
  62. package/dist/collection/components/post-language-option/post-language-option.css +3 -0
  63. package/dist/collection/components/post-language-option/post-language-option.js +191 -0
  64. package/dist/collection/components/post-list/post-list.css +3 -0
  65. package/dist/collection/components/post-list/post-list.js +87 -0
  66. package/dist/collection/components/post-list-item/post-list-item.css +1 -0
  67. package/dist/collection/components/post-list-item/post-list-item.js +25 -0
  68. package/dist/collection/components/post-logo/post-logo.js +2 -2
  69. package/dist/collection/components/post-popover/post-popover.css +1 -1
  70. package/dist/collection/components/post-popover/post-popover.js +1 -1
  71. package/dist/collection/components/post-popovercontainer/post-popovercontainer.css +1 -1
  72. package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +26 -6
  73. package/dist/collection/components/post-rating/post-rating.js +1 -1
  74. package/dist/collection/components/post-tab-header/post-tab-header.css +1 -1
  75. package/dist/collection/components/post-tab-header/post-tab-header.js +1 -1
  76. package/dist/collection/components/post-tab-panel/post-tab-panel.js +1 -1
  77. package/dist/collection/components/post-tabs/post-tabs.css +1 -1
  78. package/dist/collection/components/post-tabs/post-tabs.js +1 -1
  79. package/dist/collection/components/post-tag/post-tag.js +1 -1
  80. package/dist/collection/components/post-tooltip/post-tooltip.js +1 -1
  81. package/dist/collection/index.js +6 -0
  82. package/dist/components/index.js +6 -0
  83. package/dist/components/index2.js +1 -1
  84. package/dist/components/package.js +1 -1
  85. package/dist/components/post-accordion-item2.js +5 -4
  86. package/dist/components/post-alert2.js +5 -5
  87. package/dist/components/post-avatar.d.ts +11 -0
  88. package/dist/components/post-avatar.js +6 -0
  89. package/dist/components/post-avatar2.js +173 -0
  90. package/dist/components/post-breadcrumb-item.d.ts +11 -0
  91. package/dist/components/post-breadcrumb-item.js +6 -0
  92. package/dist/components/post-breadcrumb-item2.js +72 -0
  93. package/dist/components/post-card-control2.js +3 -3
  94. package/dist/components/post-closebutton.d.ts +11 -0
  95. package/dist/components/post-closebutton.js +6 -0
  96. package/dist/components/post-closebutton2.js +34 -0
  97. package/dist/components/post-collapsible2.js +6 -4
  98. package/dist/components/post-icon2.js +3 -3
  99. package/dist/components/post-language-option.d.ts +11 -0
  100. package/dist/components/post-language-option.js +6 -0
  101. package/dist/components/post-language-option2.js +92 -0
  102. package/dist/components/post-list-item.d.ts +11 -0
  103. package/dist/components/post-list-item.js +6 -0
  104. package/dist/components/post-list-item2.js +35 -0
  105. package/dist/components/post-list.d.ts +11 -0
  106. package/dist/components/post-list.js +6 -0
  107. package/dist/components/post-list2.js +53 -0
  108. package/dist/components/post-logo2.js +3 -3
  109. package/dist/components/post-popover2.js +2 -2
  110. package/dist/components/post-popovercontainer2.js +10 -7
  111. package/dist/components/post-rating2.js +1 -1
  112. package/dist/components/post-tab-header2.js +2 -2
  113. package/dist/components/post-tab-panel2.js +1 -1
  114. package/dist/components/post-tabs2.js +2 -2
  115. package/dist/components/post-tag2.js +1 -1
  116. package/dist/components/post-tooltip2.js +2 -2
  117. package/dist/docs.json +508 -1
  118. package/dist/esm/{index-f41b763f.js → index-642cd1f2.js} +1 -1
  119. package/dist/esm/{index-0b56fc28.js → index-e1b64755.js} +41 -4
  120. package/dist/esm/index.js +24 -18
  121. package/dist/esm/loader.js +3 -3
  122. package/dist/esm/package-aaf62247.js +3 -0
  123. package/dist/esm/{post-accordion-6f4d2b9a.js → post-accordion-7ef6d6bf.js} +2 -2
  124. package/dist/esm/post-accordion-item-d98c612f.js +50 -0
  125. package/dist/esm/post-accordion-item.entry.js +4 -4
  126. package/dist/esm/post-accordion.entry.js +3 -3
  127. package/dist/esm/post-alert-2aee0a88.js +96 -0
  128. package/dist/esm/post-alert.entry.js +4 -4
  129. package/dist/esm/post-avatar-f743d28e.js +146 -0
  130. package/dist/esm/post-avatar.entry.js +5 -0
  131. package/dist/esm/post-breadcrumb-item-e287afe1.js +47 -0
  132. package/dist/esm/post-breadcrumb-item.entry.js +6 -0
  133. package/dist/esm/post-card-control-685ca60d.js +270 -0
  134. package/dist/esm/post-card-control.entry.js +3 -3
  135. package/dist/esm/post-closebutton-a951a0ba.js +14 -0
  136. package/dist/esm/post-closebutton.entry.js +3 -0
  137. package/dist/esm/{post-collapsible-trigger-85c2064a.js → post-collapsible-trigger-1eca7350.js} +8 -6
  138. package/dist/esm/post-collapsible_2.entry.js +4 -4
  139. package/dist/esm/post-components.js +3 -3
  140. package/dist/esm/{post-icon-40929043.js → post-icon-29b33e6a.js} +5 -5
  141. package/dist/esm/post-icon.entry.js +4 -4
  142. package/dist/esm/post-language-option-92ce480f.js +65 -0
  143. package/dist/esm/post-language-option.entry.js +6 -0
  144. package/dist/esm/post-list-5a17eff9.js +35 -0
  145. package/dist/esm/post-list-item-12ff4b9c.js +20 -0
  146. package/dist/esm/post-list-item.entry.js +2 -0
  147. package/dist/esm/post-list.entry.js +3 -0
  148. package/dist/esm/{post-logo-c6351ba8.js → post-logo-0a072d4b.js} +5 -5
  149. package/dist/esm/post-logo.entry.js +4 -4
  150. package/dist/esm/{post-popover-58149de7.js → post-popover-a82bae79.js} +4 -4
  151. package/dist/esm/post-popover.entry.js +3 -3
  152. package/dist/esm/{post-popovercontainer-8bde9fc3.js → post-popovercontainer-409abba0.js} +11 -9
  153. package/dist/esm/post-popovercontainer.entry.js +3 -3
  154. package/dist/esm/{post-rating-d9fc0b40.js → post-rating-a6513fc9.js} +3 -3
  155. package/dist/esm/post-rating.entry.js +3 -3
  156. package/dist/esm/post-tab-header-2bf36bae.js +30 -0
  157. package/dist/esm/post-tab-header.entry.js +3 -3
  158. package/dist/esm/{post-tab-panel-926439f4.js → post-tab-panel-56ad2836.js} +3 -3
  159. package/dist/esm/post-tab-panel.entry.js +3 -3
  160. package/dist/esm/{post-tabs-13b2d9a6.js → post-tabs-895b4e96.js} +4 -4
  161. package/dist/esm/post-tabs.entry.js +3 -3
  162. package/dist/esm/{post-tag-887d5fbe.js → post-tag-ee91d6a9.js} +3 -3
  163. package/dist/esm/post-tag.entry.js +3 -3
  164. package/dist/esm/{post-tooltip-3cde6b53.js → post-tooltip-a4d93fd2.js} +4 -4
  165. package/dist/esm/post-tooltip.entry.js +4 -4
  166. package/dist/post-components/index.esm.js +1 -1
  167. package/dist/post-components/p-065de04e.entry.js +1 -0
  168. package/dist/post-components/p-0af20b10.entry.js +1 -0
  169. package/dist/post-components/p-13e6577d.js +1 -0
  170. package/dist/post-components/p-16ff4451.entry.js +1 -0
  171. package/dist/post-components/{p-0e09dc41.js → p-1a53bc7d.js} +1 -1
  172. package/dist/post-components/p-2b777f74.js +1 -0
  173. package/dist/post-components/p-2caf9469.js +1 -0
  174. package/dist/post-components/p-3a272de8.entry.js +1 -0
  175. package/dist/post-components/p-3cc61960.js +1 -0
  176. package/dist/post-components/p-3eab790d.js +2 -0
  177. package/dist/post-components/{p-82dcf8c6.js → p-47279ac4.js} +2 -2
  178. package/dist/post-components/p-49445ef1.entry.js +1 -0
  179. package/dist/post-components/p-5957a7fa.js +1 -0
  180. package/dist/post-components/p-5a8157b4.js +1 -0
  181. package/dist/post-components/p-6ecb14d1.js +1 -0
  182. package/dist/post-components/p-7986d834.js +1 -0
  183. package/dist/post-components/{p-2b10e265.js → p-7b0616c6.js} +1 -1
  184. package/dist/post-components/p-80e5d228.entry.js +1 -0
  185. package/dist/post-components/p-8618ccea.entry.js +1 -0
  186. package/dist/post-components/p-8bd32536.js +1 -0
  187. package/dist/post-components/p-8f36ccda.entry.js +1 -0
  188. package/dist/post-components/p-9753c9c7.entry.js +1 -0
  189. package/dist/post-components/p-9cd82521.js +1 -0
  190. package/dist/post-components/p-a3cc34a3.js +1 -0
  191. package/dist/post-components/p-a514b746.entry.js +1 -0
  192. package/dist/post-components/p-a9efdea5.entry.js +1 -0
  193. package/dist/post-components/p-aae80acd.entry.js +1 -0
  194. package/dist/post-components/p-b60d2ab7.entry.js +1 -0
  195. package/dist/post-components/p-b63a3fc2.entry.js +1 -0
  196. package/dist/post-components/{p-deb4131c.js → p-ba14d022.js} +1 -1
  197. package/dist/post-components/p-bc7cfb53.js +1 -0
  198. package/dist/post-components/p-be5b0cdb.entry.js +1 -0
  199. package/dist/post-components/p-c79c7d00.entry.js +1 -0
  200. package/dist/post-components/p-cd91c467.entry.js +1 -0
  201. package/dist/post-components/{p-6a28f8b9.js → p-d176f664.js} +1 -1
  202. package/dist/post-components/p-d37c6cc3.js +1 -0
  203. package/dist/post-components/p-d528afb2.entry.js +1 -0
  204. package/dist/post-components/p-d793c76b.js +1 -0
  205. package/dist/post-components/p-dd871b55.js +1 -0
  206. package/dist/post-components/p-e1925cd1.entry.js +1 -0
  207. package/dist/post-components/p-fb62c672.js +1 -0
  208. package/dist/post-components/p-fb7a5867.js +1 -0
  209. package/dist/post-components/p-fda6ce34.js +1 -0
  210. package/dist/post-components/p-fe602d19.entry.js +1 -0
  211. package/dist/post-components/p-ffb26d24.entry.js +1 -0
  212. package/dist/post-components/post-components.esm.js +1 -1
  213. package/dist/types/components/post-accordion-item/post-accordion-item.d.ts +1 -1
  214. package/dist/types/components/post-alert/post-alert.d.ts +1 -1
  215. package/dist/types/components/post-avatar/post-avatar.d.ts +51 -0
  216. package/dist/types/components/post-breadcrumb-item/post-breadcrumb-item.d.ts +15 -0
  217. package/dist/types/components/post-closebutton/post-closebutton.d.ts +7 -0
  218. package/dist/types/components/post-icon/post-icon.d.ts +1 -1
  219. package/dist/types/components/post-language-option/post-language-option.d.ts +40 -0
  220. package/dist/types/components/post-list/post-list.d.ts +24 -0
  221. package/dist/types/components/post-list-item/post-list-item.d.ts +8 -0
  222. package/dist/types/components/post-logo/post-logo.d.ts +1 -1
  223. package/dist/types/components/post-popovercontainer/post-popovercontainer.d.ts +4 -0
  224. package/dist/types/components.d.ts +197 -0
  225. package/dist/types/index.d.ts +6 -0
  226. package/loaders/index.d.ts +12 -0
  227. package/loaders/index.js +6 -0
  228. package/loaders/package.js +1 -1
  229. package/loaders/post-accordion-item.js +5 -4
  230. package/loaders/post-alert.js +5 -5
  231. package/loaders/post-avatar.d.ts +11 -0
  232. package/loaders/post-avatar.js +176 -0
  233. package/loaders/post-breadcrumb-item.d.ts +11 -0
  234. package/loaders/post-breadcrumb-item.js +75 -0
  235. package/loaders/post-card-control.js +3 -3
  236. package/loaders/post-closebutton.d.ts +11 -0
  237. package/loaders/post-closebutton.js +37 -0
  238. package/loaders/post-collapsible2.js +5 -3
  239. package/loaders/post-icon2.js +2 -2
  240. package/loaders/post-language-option.d.ts +11 -0
  241. package/loaders/post-language-option.js +95 -0
  242. package/loaders/post-list-item.d.ts +11 -0
  243. package/loaders/post-list-item.js +38 -0
  244. package/loaders/post-list.d.ts +11 -0
  245. package/loaders/post-list.js +56 -0
  246. package/loaders/post-logo.js +2 -2
  247. package/loaders/post-popover.js +2 -2
  248. package/loaders/post-popovercontainer2.js +10 -7
  249. package/loaders/post-rating.js +1 -1
  250. package/loaders/post-tab-header.js +2 -2
  251. package/loaders/post-tab-panel.js +1 -1
  252. package/loaders/post-tabs.js +2 -2
  253. package/loaders/post-tag.js +1 -1
  254. package/loaders/post-tooltip.js +1 -1
  255. package/package.json +2 -2
  256. package/dist/cjs/post-accordion-item-7b348fa5.js +0 -51
  257. package/dist/cjs/post-alert-fca3a4a3.js +0 -98
  258. package/dist/cjs/post-card-control-b4e4b4d5.js +0 -272
  259. package/dist/cjs/post-tab-header-29b8d4e1.js +0 -32
  260. package/dist/esm/package-3d758f77.js +0 -3
  261. package/dist/esm/post-accordion-item-6b5a65ad.js +0 -49
  262. package/dist/esm/post-alert-f19db551.js +0 -96
  263. package/dist/esm/post-card-control-1b5df6cb.js +0 -270
  264. package/dist/esm/post-tab-header-ae8feb19.js +0 -30
  265. package/dist/post-components/p-0b71bf5a.js +0 -1
  266. package/dist/post-components/p-19e54be9.js +0 -1
  267. package/dist/post-components/p-1e8f0f36.js +0 -1
  268. package/dist/post-components/p-22257eff.entry.js +0 -1
  269. package/dist/post-components/p-249ac168.entry.js +0 -1
  270. package/dist/post-components/p-3325086e.js +0 -1
  271. package/dist/post-components/p-3b823fee.entry.js +0 -1
  272. package/dist/post-components/p-45f4c803.entry.js +0 -1
  273. package/dist/post-components/p-47935dbb.js +0 -1
  274. package/dist/post-components/p-486fbbce.entry.js +0 -1
  275. package/dist/post-components/p-4a7fb0f3.entry.js +0 -1
  276. package/dist/post-components/p-5f231c2c.js +0 -1
  277. package/dist/post-components/p-6ed3497a.entry.js +0 -1
  278. package/dist/post-components/p-820c5c19.entry.js +0 -1
  279. package/dist/post-components/p-8aeb549f.entry.js +0 -1
  280. package/dist/post-components/p-92aeec3c.js +0 -1
  281. package/dist/post-components/p-9a99cfc7.js +0 -1
  282. package/dist/post-components/p-aa8a08dc.entry.js +0 -1
  283. package/dist/post-components/p-b99fdec3.js +0 -1
  284. package/dist/post-components/p-ba40b28a.entry.js +0 -1
  285. package/dist/post-components/p-c62de925.js +0 -1
  286. package/dist/post-components/p-d2101b8a.entry.js +0 -1
  287. package/dist/post-components/p-d2f9de94.js +0 -2
  288. package/dist/post-components/p-d7a44f45.js +0 -1
  289. package/dist/post-components/p-db4b8ea1.entry.js +0 -1
  290. package/dist/post-components/p-eedc6ae8.entry.js +0 -1
  291. package/dist/post-components/p-f217f420.js +0 -1
  292. package/dist/post-components/p-f707d163.entry.js +0 -1
@@ -0,0 +1,148 @@
1
+ 'use strict';
2
+
3
+ const index = require('./index-e1f32cce.js');
4
+ const _package = require('./package-3f706795.js');
5
+ const checkNonEmpty = require('./check-non-empty-eeaa8f77.js');
6
+
7
+ const postAvatarCss = "/*!\n * Copyright 2021 by Swiss Post, Information Technology\n */:host{--post-avatar-bg:var(--post-scheme-color-interactive-primary-enabled-bg2);--post-avatar-fg:var(--post-scheme-color-interactive-primary-enabled-fg3);display:inline-flex;position:relative;width:var(--post-device-sizing-interactive-icon-size3);height:var(--post-device-sizing-interactive-icon-size3);background-color:var(--post-scheme-color-interactive-primary-enabled-stroke3);border:var(--post-device-border-width-default) solid var(--post-scheme-color-interactive-primary-enabled-stroke3);border-radius:var(--post-device-border-radius-round);font-size:var(--post-device-font-size-8);vertical-align:top;line-height:1}:host::after{display:block;content:\"\";position:absolute;inset:0;z-index:1;border-radius:inherit}*,*::before,*::after{box-sizing:border-box}slot,img,::slotted(img){display:block;width:100%;height:100%}img,::slotted(img){border-radius:var(--post-device-border-radius-round)}::slotted(:not(img)){display:none !important}.initials{display:flex;justify-content:center;align-items:center;position:relative;z-index:2;width:100%;height:100%;background-color:var(--post-avatar-bg);border-radius:var(--post-device-border-radius-round);color:var(--post-avatar-fg);text-transform:uppercase}.initials span{width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.initials span:not(caption){position:absolute !important}";
8
+ const PostAvatarStyle0 = postAvatarCss;
9
+
10
+ // https://docs.gravatar.com/api/avatars/images/
11
+ const GRAVATAR_DEFAULT = '404';
12
+ const GRAVATAR_RATING = 'g';
13
+ const GRAVATAR_SIZE = 80;
14
+ const GRAVATAR_BASE_URL = `https://www.gravatar.com/avatar/{email}?s=${GRAVATAR_SIZE}&d=${GRAVATAR_DEFAULT}&r=${GRAVATAR_RATING}`;
15
+ var AvatarType;
16
+ (function (AvatarType) {
17
+ AvatarType["Slotted"] = "slotted";
18
+ AvatarType["Image"] = "image";
19
+ AvatarType["Initials"] = "initials";
20
+ AvatarType[AvatarType["Null"] = null] = "Null";
21
+ })(AvatarType || (AvatarType = {}));
22
+ const PostAvatar = class {
23
+ constructor(hostRef) {
24
+ index.registerInstance(this, hostRef);
25
+ this.firstname = undefined;
26
+ this.lastname = undefined;
27
+ this.userid = undefined;
28
+ this.email = undefined;
29
+ this.slottedImage = undefined;
30
+ this.avatarType = null;
31
+ this.imageUrl = '';
32
+ this.imageAlt = '';
33
+ this.initials = '';
34
+ }
35
+ validateFirstname() {
36
+ checkNonEmpty.checkNonEmpty(this.firstname, 'The `firstname` property of the `post-avatar` is required!');
37
+ }
38
+ async getAvatar() {
39
+ if (this.slottedImage !== null) {
40
+ this.avatarType = AvatarType.Slotted;
41
+ }
42
+ else {
43
+ let imageLoaded = false;
44
+ if (!imageLoaded && this.userid)
45
+ imageLoaded = await this.getImageByProp(this.userid, this.fetchImageByUserId.bind(this));
46
+ if (!imageLoaded && this.email)
47
+ imageLoaded = await this.getImageByProp(this.email, this.fetchImageByEmail.bind(this));
48
+ if (!imageLoaded)
49
+ this.getAvatarByInitials();
50
+ }
51
+ }
52
+ async getImageByProp(prop, fetchImage) {
53
+ var _a;
54
+ if (!prop)
55
+ return false;
56
+ const imageResponse = (_a = (await this.getStorageItem(prop))) !== null && _a !== void 0 ? _a : { ok: false, url: '' };
57
+ if (!imageResponse.ok) {
58
+ try {
59
+ const r = await fetchImage();
60
+ imageResponse.ok = r.ok;
61
+ imageResponse.url = r.url;
62
+ this.imageUrl = imageResponse.url;
63
+ this.imageAlt = `${this.firstname} ${this.lastname} avatar`;
64
+ this.avatarType = AvatarType.Image;
65
+ this.setStorageItem(this.userid, JSON.stringify(imageResponse));
66
+ }
67
+ catch (error) {
68
+ this.removeStorageItem(prop);
69
+ console.info(`Loading avatar by type "${AvatarType.Image}" failed.`);
70
+ }
71
+ }
72
+ return imageResponse.ok;
73
+ }
74
+ async fetchImageByUserId() {
75
+ return await fetch(PostAvatar.INTERNAL_USERID_IMAGE_SRC.replace('{userid}', encodeURIComponent(this.userid)));
76
+ }
77
+ async fetchImageByEmail() {
78
+ const email = await this.cryptify(this.email);
79
+ const imageUrl = GRAVATAR_BASE_URL.replace('{email}', email);
80
+ return await fetch(imageUrl);
81
+ }
82
+ getAvatarByInitials() {
83
+ this.initials = this.getInitials();
84
+ this.avatarType = AvatarType.Initials;
85
+ }
86
+ getNames() {
87
+ return [this.firstname, this.lastname].filter(n => n);
88
+ }
89
+ getInitials() {
90
+ return this.getNames()
91
+ .map(n => n.charAt(0))
92
+ .join('')
93
+ .trim();
94
+ }
95
+ async getStorageItem(keyToken) {
96
+ var _a;
97
+ const key = await this.cryptify(keyToken);
98
+ const value = (_a = window === null || window === void 0 ? void 0 : window.sessionStorage) === null || _a === void 0 ? void 0 : _a.getItem(key);
99
+ return value ? JSON.parse(value) : null;
100
+ }
101
+ async setStorageItem(keyToken, value) {
102
+ var _a;
103
+ const key = await this.cryptify(keyToken);
104
+ (_a = window === null || window === void 0 ? void 0 : window.sessionStorage) === null || _a === void 0 ? void 0 : _a.setItem(key, value);
105
+ }
106
+ async removeStorageItem(keyToken) {
107
+ var _a;
108
+ const key = await this.cryptify(keyToken);
109
+ (_a = window === null || window === void 0 ? void 0 : window.sessionStorage) === null || _a === void 0 ? void 0 : _a.removeItem(key);
110
+ }
111
+ async cryptify(key) {
112
+ return await crypto.subtle.digest('SHA-256', new TextEncoder().encode(key)).then(buffer => {
113
+ return Array.from(new Uint8Array(buffer))
114
+ .map(bytes => bytes.toString(16).padStart(2, '0'))
115
+ .join('');
116
+ });
117
+ }
118
+ onSlotDefaultChange() {
119
+ this.slottedImage = this.host.querySelector('img');
120
+ this.getAvatar();
121
+ }
122
+ componentWillRender() {
123
+ this.slottedImage = this.host.querySelector('img');
124
+ this.getAvatar();
125
+ }
126
+ componentDidLoad() {
127
+ this.validateFirstname();
128
+ }
129
+ render() {
130
+ const initials = this.getNames().reduce((acc, n, i) => {
131
+ if (i > 0)
132
+ acc.push(index.h("span", null, " "));
133
+ acc.push(n.charAt(0));
134
+ acc.push(index.h("span", null, n.slice(1)));
135
+ // eslint-disable-next-line @stencil-community/render-returns-host
136
+ return acc;
137
+ }, []);
138
+ return (index.h(index.Host, { "data-version": _package.version }, index.h("slot", { onSlotchange: this.onSlotDefaultChange.bind(this) }, this.avatarType === 'image' && index.h("img", { src: this.imageUrl, alt: this.imageAlt }), this.avatarType === 'initials' && index.h("div", { class: "initials" }, initials))));
139
+ }
140
+ get host() { return index.getElement(this); }
141
+ static get watchers() { return {
142
+ "firstname": ["validateFirstname"]
143
+ }; }
144
+ };
145
+ PostAvatar.INTERNAL_USERID_IMAGE_SRC = 'https://web.post.ch/UserProfileImage/{userid}.png';
146
+ PostAvatar.style = PostAvatarStyle0;
147
+
148
+ exports.PostAvatar = PostAvatar;
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const postAvatar = require('./post-avatar-ffba1d23.js');
6
+ require('./index-e1f32cce.js');
7
+ require('./package-3f706795.js');
8
+ require('./check-non-empty-eeaa8f77.js');
9
+ require('./constants-238701d3.js');
10
+
11
+
12
+
13
+ exports.post_avatar = postAvatar.PostAvatar;
@@ -0,0 +1,49 @@
1
+ 'use strict';
2
+
3
+ const index = require('./index-e1f32cce.js');
4
+ const _package = require('./package-3f706795.js');
5
+ const index$1 = require('./index-01f30442.js');
6
+
7
+ const postBreadcrumbItemCss = ":host{display:inline-block}:host{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}:host: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){:host:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){:host: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){:host:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.breadcrumb-item{display:inline-flex;align-items:center;justify-content:center;padding-block:var(--post-device-spacing-padding-block-7);gap:var(--post-device-spacing-gap-inline-5);color:var(--post-scheme-color-interactive-primary-enabled-fg1);text-decoration:var(--post-core-text-decoration-none)}.breadcrumb-item post-icon{height:var(--post-core-dimension-24);width:var(--post-core-dimension-24)}.breadcrumb-item:hover{color:var(--post-scheme-color-interactive-primary-hover-fg1);text-decoration:var(--post-core-text-decoration-underline)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.breadcrumb-item,.breadcrumb-item:focus,.breadcrumb-item:hover{color:LinkText !important}.breadcrumb-item:visited{color:VisitedText !important}}";
8
+ const PostBreadcrumbItemStyle0 = postBreadcrumbItemCss;
9
+
10
+ const PostBreadcrumbItem = class {
11
+ constructor(hostRef) {
12
+ index.registerInstance(this, hostRef);
13
+ this.url = undefined;
14
+ }
15
+ validateUrl() {
16
+ try {
17
+ this.validUrl = this.constructUrl(this.url);
18
+ }
19
+ catch (error) {
20
+ this.validUrl = undefined;
21
+ }
22
+ }
23
+ // Helper to construct a valid URL string or return undefined
24
+ constructUrl(value) {
25
+ const hasBaseURL = /^https?:\/\//.test(String(this.url));
26
+ if (typeof value === 'string') {
27
+ const urlString = hasBaseURL
28
+ ? value
29
+ : `${window.location.origin}${value}`;
30
+ index$1.checkEmptyOrUrl(urlString, 'The "url" property of the post-breadcrumb-item is invalid');
31
+ return urlString;
32
+ }
33
+ return undefined;
34
+ }
35
+ connectedCallback() {
36
+ this.validateUrl();
37
+ }
38
+ render() {
39
+ const BreadcrumbTag = this.validUrl ? 'a' : 'span';
40
+ return (index.h(index.Host, { key: '186e843c0679eebaa10e3c4b100460be4759e1c7', "data-version": _package.version }, index.h(BreadcrumbTag, Object.assign({ key: '3fd5173cd3b9222a9541781e78d760988e854886', class: "breadcrumb-item" }, (this.validUrl ? { href: this.validUrl } : {})), index.h("post-icon", { key: '7df175644667e7f26582ea74ae27fdaf873f6f9d', name: "2111", class: "breadcrumb-item-icon" }), index.h("slot", { key: 'd59da7c93a49374440d5e84e904515466fc86eac' }))));
41
+ }
42
+ get host() { return index.getElement(this); }
43
+ static get watchers() { return {
44
+ "url": ["validateUrl"]
45
+ }; }
46
+ };
47
+ PostBreadcrumbItem.style = PostBreadcrumbItemStyle0;
48
+
49
+ exports.PostBreadcrumbItem = PostBreadcrumbItem;
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const postBreadcrumbItem = require('./post-breadcrumb-item-42466f8a.js');
6
+ require('./index-e1f32cce.js');
7
+ require('./package-3f706795.js');
8
+ require('./index-01f30442.js');
9
+ require('./constants-238701d3.js');
10
+ require('./check-one-of-f4f5d0c0.js');
11
+
12
+
13
+
14
+ exports.post_breadcrumb_item = postBreadcrumbItem.PostBreadcrumbItem;
@@ -0,0 +1,272 @@
1
+ 'use strict';
2
+
3
+ const index = require('./index-e1f32cce.js');
4
+ const checkOneOf = require('./check-one-of-f4f5d0c0.js');
5
+ const checkNonEmpty = require('./check-non-empty-eeaa8f77.js');
6
+ const _package = require('./package-3f706795.js');
7
+
8
+ const postCardControlCss = "/*!\n * Copyright 2021 by Swiss Post, Information Technology\n */.form-check{display:flex;flex-wrap:wrap;row-gap:.75rem;margin-bottom:1rem}.form-check{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:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;border-radius:4px}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-check:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.form-check:is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;border-radius:4px}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-check:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.form-check-inline{display:inline-flex}.form-check-inline:not(:last-of-type){margin-right:1.5rem}.form-check-input,.form-check-label{color:rgba(var(--post-contrast-color-rgb), 0.8);transition:color 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,.form-check-label{transition:none}}.form-check-input:hover:not([disabled]),.form-check-input:hover:not([disabled])~.form-check-input-label,.form-check-label:hover:not([disabled]),.form-check-input:hover:not([disabled])~.form-check-label-label,.form-check-label:hover:not([disabled])~.form-check-input-label,.form-check-label:hover:not([disabled])~.form-check-label-label{color:var(--post-contrast-color)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-check-input:hover:not([disabled]),.form-check-input:hover:not([disabled])~.form-check-input-label,.form-check-label:hover:not([disabled]),.form-check-input:hover:not([disabled])~.form-check-label-label,.form-check-label:hover:not([disabled])~.form-check-input-label,.form-check-label:hover:not([disabled])~.form-check-label-label{border-color:Highlight}}.form-check-input{display:inline-flex;flex:0 auto;appearance:none;background:rgba(0,0,0,0);height:1.375rem;width:1.375rem;border:2px solid currentColor;margin-top:1px;outline:none}.form-check-input:not([disabled]),.form-check-input:not([disabled])~.form-check-label{cursor:pointer}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-check-input{border-color:FieldText}}.form-check-input::after{content:\"\";display:block;flex:1}.form-check-input[type=checkbox]:checked::after{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m12.667 23.6-7.2-7.067 1.067-1.067 6.133 6.267L25.467 8.8l1.067 1.067z'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m12.667 23.6-7.2-7.067 1.067-1.067 6.133 6.267L25.467 8.8l1.067 1.067z'/%3E%3C/svg%3E\");background-color:currentColor;color:currentColor;forced-color-adjust:preserve-parent-color}.form-check-input[type=checkbox]:indeterminate::after{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m5.333 16.01 20-.021.001 1.333-20 .021z'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m5.333 16.01 20-.021.001 1.333-20 .021z'/%3E%3C/svg%3E\");background-color:currentColor;color:currentColor;forced-color-adjust:preserve-parent-color}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-check-input[type=checkbox]:checked,.form-check-input[type=checkbox]:indeterminate{background-color:SelectedItem !important;color:SelectedItemText !important}}.form-check-input[type=radio]{border-radius:50%}.form-check-input[type=radio]:checked::after{border:.25rem solid rgba(0,0,0,0);background-color:currentColor;border-radius:inherit;background-clip:padding-box}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-check-input[type=radio]:checked::after{background-color:SelectedItem;border-color:Canvas}}.form-check-input[type=radio][disabled]{padding:2px;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='hsl(0, 0%, 40%)' stroke-width='4px ' stroke-dasharray='4 2' /%3e%3c/svg%3e\")}:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=error]) .form-check-input[type=radio][disabled]{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='rgba(255, 255, 255, 0.8)' stroke-width='4px ' stroke-dasharray='4 2' /%3e%3c/svg%3e\")}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-check-input[type=radio][disabled]{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\") !important}}.form-check-input[disabled]{border:0;background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%' height='100%' fill='none' stroke='hsl(0, 0%, 40%)' 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\")}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-check-input[disabled][type=checkbox],.form-check-input[disabled][type=radio]{border-color:GrayText !important}}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-check-input[disabled][type=checkbox]:checked,.form-check-input[disabled][type=checkbox]:indeterminate{background-color:Field !important;color:GrayText !important}}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-check-input[disabled][type=radio]:checked::after{background-color:GrayText}}:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=error]) .form-check-input[disabled]{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%' height='100%' fill='none' stroke='rgba(255, 255, 255, 0.8)' 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\")}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-check-input[disabled]{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\") !important}}.form-check-sm .form-check-input[disabled][type=checkbox]{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%' height='100%' fill='none' stroke='hsl(0, 0%, 40%)' stroke-width='4px ' stroke-dasharray='2 1.5 4 1.5 4 1.5 2 3.5 4 1.5 4 1.5 2 3.5 4 1.5 4 1.5 2 3.5 4 1.5 4 1.5 4' pathLength='66' /%3e%3c/svg%3e\")}:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=error]) .form-check-sm .form-check-input[disabled][type=checkbox]{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%' height='100%' fill='none' stroke='rgba(255, 255, 255, 0.8)' stroke-width='4px ' stroke-dasharray='2 1.5 4 1.5 4 1.5 2 3.5 4 1.5 4 1.5 2 3.5 4 1.5 4 1.5 2 3.5 4 1.5 4 1.5 4' pathLength='66' /%3e%3c/svg%3e\")}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-check-sm .form-check-input[disabled][type=checkbox]{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 2 3.5 4 1.5 4 1.5 2 3.5 4 1.5 4 1.5 2 3.5 4 1.5 4 1.5 4' pathLength='66' /%3e%3c/svg%3e\") !important}}.form-check-input[disabled],.form-check-input[disabled]~.form-check-label{text-decoration:line-through;color:rgba(0,0,0,.6)}:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=error]) .form-check-input[disabled],:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=error]) .form-check-input[disabled]~.form-check-label{color:rgba(255,255,255,.8)}.form-check-sm .form-check-input{height:1rem;width:1rem}.form-check-sm .form-check-input[type=radio]:checked::after{border-width:2px}.form-check-label{flex:1}:not(.form-switch,.radio-button-card,.checkbox-button-card)>.form-check-label{padding-inline-start:.5rem}.form-check-sm .form-check-label{font-size:.75rem}.form-switch .form-check-input{height:2rem;width:4rem;border:0;border-radius:4rem;background-image:linear-gradient(to right, rgba(var(--post-contrast-color-rgb), 0.3) 50%, var(--post-success) 50%);background-size:8rem;background-position-x:0;transition:background-color 250ms cubic-bezier(0.4, 0, 0.2, 1),background-position 250ms cubic-bezier(0.4, 0, 0.2, 1)}.form-switch .form-check-input::after{max-width:2rem;background-color:#fff;border:2px solid #666;border-radius:50%;transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1)}.form-switch .form-check-input:checked{background-position-x:4rem}.form-switch .form-check-input:checked::after{-webkit-mask-image:none;mask-image:none;background-color:#fff;border-color:#000;transform:translateX(2rem)}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-switch .form-check-input{transition:none;border:2px solid CanvasText}.form-switch .form-check-input:checked{background-color:SelectedItem !important}.form-switch .form-check-input::after,.form-switch .form-check-input:checked::after{max-width:calc(2rem - 4px);border-color:Canvas;background-color:CanvasText}}.form-switch .form-check-input[disabled]{background:#ccc}.form-switch .form-check-input[disabled]::after{border-color:#999}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-switch .form-check-input[disabled]::after{border-color:Field}.form-switch .form-check-input[disabled]:checked{background-color:GrayText !important}}.form-switch:hover>.form-check-input:not([disabled]){background-color:rgba(var(--post-contrast-color-rgb), 0.1)}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-switch:hover>.form-check-input:not([disabled]){border-color:Highlight}}.form-switch .form-check-label{padding-top:.25rem}.form-switch .form-check-label.order-first{flex:0 auto;padding-inline-end:1rem}.form-switch .form-check-label:not(.order-first){padding-inline-start:1rem}: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, .alert-warning, post-alert[type=warning], .alert-info, post-alert[type=info], .alert-gray, post-alert[type=gray], .bg-dark, .bg-black, .bg-primary, .bg-secondary, .bg-success, .bg-error, .alert-primary, post-alert[type=primary], .alert-success, post-alert[type=success], .alert-danger, post-alert[type=danger], .alert-notification, post-alert[type=notification], .alert-error, post-alert[type=error];display:flex;width:100%}:host-context(fieldset):host(:not(:last-child)) .card-control{margin-bottom:1rem}.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;gap:0 .5rem;margin:0;padding:1rem;background-color:var(--post-card-control-bg);border:2px 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:.25rem 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}.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:.25rem 0;padding:0;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:2rem;height:2rem;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:2px;outline:2px 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;text-decoration:line-through;cursor:default}.card-control.is-disabled .card-control--input{border:0 none;padding:2px;background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%' height='100%' fill='none' stroke='hsl(0, 0%, 40%)' 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='hsl(0, 0%, 40%)' stroke-width='4px ' stroke-dasharray='4 2' /%3e%3c/svg%3e\")}@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:2px solid Field;outline-offset:-4px}.card-control .card-control--input{outline:2px 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:2px;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:2px;border-radius:1px;background-color:SelectedItem}.card-control.is-checked>*{position:relative}.card-control.is-checked .card-control--input{outline:2px solid Field}}:host-context(:is(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=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,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=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,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=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,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=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,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=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,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=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,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=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,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=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,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=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,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=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,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=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,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=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,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=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,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=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,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=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:1rem}: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\"],[data-context*=\".alert-primary\"],[data-context*=\"post-alert[type=primary]\"],[data-context*=\".alert-success\"],[data-context*=\"post-alert[type=success]\"],[data-context*=\".alert-danger\"],[data-context*=\"post-alert[type=danger]\"],[data-context*=\".alert-notification\"],[data-context*=\"post-alert[type=notification]\"],[data-context*=\".alert-error\"],[data-context*=\"post-alert[type=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\"],[data-context*=\".alert-primary\"],[data-context*=\"post-alert[type=primary]\"],[data-context*=\".alert-success\"],[data-context*=\"post-alert[type=success]\"],[data-context*=\".alert-danger\"],[data-context*=\"post-alert[type=danger]\"],[data-context*=\".alert-notification\"],[data-context*=\"post-alert[type=notification]\"],[data-context*=\".alert-error\"],[data-context*=\"post-alert[type=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\"],[data-context*=\".alert-primary\"],[data-context*=\"post-alert[type=primary]\"],[data-context*=\".alert-success\"],[data-context*=\"post-alert[type=success]\"],[data-context*=\".alert-danger\"],[data-context*=\"post-alert[type=danger]\"],[data-context*=\".alert-notification\"],[data-context*=\"post-alert[type=notification]\"],[data-context*=\".alert-error\"],[data-context*=\"post-alert[type=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\"],[data-context*=\".alert-primary\"],[data-context*=\"post-alert[type=primary]\"],[data-context*=\".alert-success\"],[data-context*=\"post-alert[type=success]\"],[data-context*=\".alert-danger\"],[data-context*=\"post-alert[type=danger]\"],[data-context*=\".alert-notification\"],[data-context*=\"post-alert[type=notification]\"],[data-context*=\".alert-error\"],[data-context*=\"post-alert[type=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\"],[data-context*=\".alert-primary\"],[data-context*=\"post-alert[type=primary]\"],[data-context*=\".alert-success\"],[data-context*=\"post-alert[type=success]\"],[data-context*=\".alert-danger\"],[data-context*=\"post-alert[type=danger]\"],[data-context*=\".alert-notification\"],[data-context*=\"post-alert[type=notification]\"],[data-context*=\".alert-error\"],[data-context*=\"post-alert[type=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\"],[data-context*=\".alert-primary\"],[data-context*=\"post-alert[type=primary]\"],[data-context*=\".alert-success\"],[data-context*=\"post-alert[type=success]\"],[data-context*=\".alert-danger\"],[data-context*=\"post-alert[type=danger]\"],[data-context*=\".alert-notification\"],[data-context*=\"post-alert[type=notification]\"],[data-context*=\".alert-error\"],[data-context*=\"post-alert[type=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\"],[data-context*=\".alert-primary\"],[data-context*=\"post-alert[type=primary]\"],[data-context*=\".alert-success\"],[data-context*=\"post-alert[type=success]\"],[data-context*=\".alert-danger\"],[data-context*=\"post-alert[type=danger]\"],[data-context*=\".alert-notification\"],[data-context*=\"post-alert[type=notification]\"],[data-context*=\".alert-error\"],[data-context*=\"post-alert[type=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\"],[data-context*=\".alert-primary\"],[data-context*=\"post-alert[type=primary]\"],[data-context*=\".alert-success\"],[data-context*=\"post-alert[type=success]\"],[data-context*=\".alert-danger\"],[data-context*=\"post-alert[type=danger]\"],[data-context*=\".alert-notification\"],[data-context*=\"post-alert[type=notification]\"],[data-context*=\".alert-error\"],[data-context*=\"post-alert[type=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\"],[data-context*=\".alert-primary\"],[data-context*=\"post-alert[type=primary]\"],[data-context*=\".alert-success\"],[data-context*=\"post-alert[type=success]\"],[data-context*=\".alert-danger\"],[data-context*=\"post-alert[type=danger]\"],[data-context*=\".alert-notification\"],[data-context*=\"post-alert[type=notification]\"],[data-context*=\".alert-error\"],[data-context*=\"post-alert[type=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\"],[data-context*=\".alert-primary\"],[data-context*=\"post-alert[type=primary]\"],[data-context*=\".alert-success\"],[data-context*=\"post-alert[type=success]\"],[data-context*=\".alert-danger\"],[data-context*=\"post-alert[type=danger]\"],[data-context*=\".alert-notification\"],[data-context*=\"post-alert[type=notification]\"],[data-context*=\".alert-error\"],[data-context*=\"post-alert[type=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\"],[data-context*=\".alert-primary\"],[data-context*=\"post-alert[type=primary]\"],[data-context*=\".alert-success\"],[data-context*=\"post-alert[type=success]\"],[data-context*=\".alert-danger\"],[data-context*=\"post-alert[type=danger]\"],[data-context*=\".alert-notification\"],[data-context*=\"post-alert[type=notification]\"],[data-context*=\".alert-error\"],[data-context*=\"post-alert[type=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\"],[data-context*=\".alert-primary\"],[data-context*=\"post-alert[type=primary]\"],[data-context*=\".alert-success\"],[data-context*=\"post-alert[type=success]\"],[data-context*=\".alert-danger\"],[data-context*=\"post-alert[type=danger]\"],[data-context*=\".alert-notification\"],[data-context*=\"post-alert[type=notification]\"],[data-context*=\".alert-error\"],[data-context*=\"post-alert[type=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\"],[data-context*=\".alert-primary\"],[data-context*=\"post-alert[type=primary]\"],[data-context*=\".alert-success\"],[data-context*=\"post-alert[type=success]\"],[data-context*=\".alert-danger\"],[data-context*=\"post-alert[type=danger]\"],[data-context*=\".alert-notification\"],[data-context*=\"post-alert[type=notification]\"],[data-context*=\".alert-error\"],[data-context*=\"post-alert[type=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\"],[data-context*=\".alert-primary\"],[data-context*=\"post-alert[type=primary]\"],[data-context*=\".alert-success\"],[data-context*=\"post-alert[type=success]\"],[data-context*=\".alert-danger\"],[data-context*=\"post-alert[type=danger]\"],[data-context*=\".alert-notification\"],[data-context*=\"post-alert[type=notification]\"],[data-context*=\".alert-error\"],[data-context*=\"post-alert[type=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\"],[data-context*=\".alert-primary\"],[data-context*=\"post-alert[type=primary]\"],[data-context*=\".alert-success\"],[data-context*=\"post-alert[type=success]\"],[data-context*=\".alert-danger\"],[data-context*=\"post-alert[type=danger]\"],[data-context*=\".alert-notification\"],[data-context*=\"post-alert[type=notification]\"],[data-context*=\".alert-error\"],[data-context*=\"post-alert[type=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
+ /**
14
+ * A public method to reset the controls `checked` and `validity` state.
15
+ * The validity state is set to `null`, so it's neither valid nor invalid.
16
+ */
17
+ async reset() {
18
+ this.validity = null;
19
+ this.controlSetChecked(this.initialChecked);
20
+ }
21
+ /**
22
+ * A hidden public method to reset the group controls `checked` state to `false`.
23
+ */
24
+ async groupReset() {
25
+ if (this.disabled)
26
+ this.control.checked = this.checked = false;
27
+ this.controlSetChecked(false);
28
+ }
29
+ validateControlLabel(label = this.label) {
30
+ checkNonEmpty.checkNonEmpty(label, 'The "post-card-control" element requires its "label" property to be set.');
31
+ }
32
+ validateControlType(type = this.type) {
33
+ checkOneOf.checkOneOf(type, ['checkbox', 'radio'], 'The "post-card-control" element requires its "type" prop to be one of either "checkbox" or "radio".');
34
+ }
35
+ updateControlChecked(checked = this.checked) {
36
+ this.controlSetChecked(checked);
37
+ }
38
+ updateControlDisabled() {
39
+ this.controlSetChecked(this.checked);
40
+ }
41
+ constructor(hostRef) {
42
+ index.registerInstance(this, hostRef);
43
+ this.postInput = index.createEvent(this, "postInput", 7);
44
+ this.postChange = index.createEvent(this, "postChange", 7);
45
+ if (hostRef.$hostElement$["s-ei"]) {
46
+ this.internals = hostRef.$hostElement$["s-ei"];
47
+ }
48
+ else {
49
+ this.internals = hostRef.$hostElement$.attachInternals();
50
+ hostRef.$hostElement$["s-ei"] = this.internals;
51
+ }
52
+ this.EVENT_MAP = {
53
+ input: 'postInput',
54
+ change: 'postChange',
55
+ };
56
+ this.KEYCODES = {
57
+ SPACE: 'Space',
58
+ LEFT: 'ArrowLeft',
59
+ UP: 'ArrowUp',
60
+ RIGHT: 'ArrowRight',
61
+ DOWN: 'ArrowDown',
62
+ };
63
+ this.group = {
64
+ hosts: [],
65
+ members: [],
66
+ first: null,
67
+ last: null,
68
+ checked: null,
69
+ focused: null,
70
+ };
71
+ this.controlId = `PostCardControl_${cardControlIds++}`;
72
+ this.focused = false;
73
+ this.label = undefined;
74
+ this.description = null;
75
+ this.type = undefined;
76
+ this.name = null;
77
+ this.value = null;
78
+ this.checked = false;
79
+ this.disabled = false;
80
+ this.validity = null;
81
+ this.icon = null;
82
+ this.cardClickHandler = this.cardClickHandler.bind(this);
83
+ this.controlClickHandler = this.controlClickHandler.bind(this);
84
+ this.controlChangeHandler = this.controlChangeHandler.bind(this);
85
+ this.controlFocusHandler = this.controlFocusHandler.bind(this);
86
+ this.controlKeyDownHandler = this.controlKeyDownHandler.bind(this);
87
+ }
88
+ cardClickHandler(e) {
89
+ e.stopPropagation();
90
+ // if this was not the clicked element anyway, trigger click on control to change it
91
+ if (e.target !== this.control)
92
+ this.control.click();
93
+ }
94
+ controlClickHandler(e) {
95
+ e.stopPropagation();
96
+ // if control is disabled do nothing
97
+ // else control value will fire a change event, which is handled in the controlChangeHandler method
98
+ if (this.disabled)
99
+ e.preventDefault();
100
+ }
101
+ controlChangeHandler(e) {
102
+ e.stopPropagation();
103
+ this.groupCollectMembers();
104
+ this.controlSetChecked(this.control.checked, e);
105
+ this.groupSetChecked(this.control, e);
106
+ }
107
+ controlFocusHandler() {
108
+ this.focused = this.host === document.activeElement;
109
+ }
110
+ // https://googlechromelabs.github.io/howto-components/howto-radio-group/
111
+ controlKeyDownHandler(e) {
112
+ if (this.type === 'radio') {
113
+ e.stopPropagation();
114
+ if (Object.values(this.KEYCODES).includes(e.code))
115
+ e.preventDefault();
116
+ this.groupCollectMembers();
117
+ switch (e.code) {
118
+ case this.KEYCODES.UP:
119
+ case this.KEYCODES.LEFT:
120
+ this.groupSetChecked(this.groupGetPrev(), e);
121
+ break;
122
+ case this.KEYCODES.DOWN:
123
+ case this.KEYCODES.RIGHT:
124
+ this.groupSetChecked(this.groupGetNext(), e);
125
+ break;
126
+ case this.KEYCODES.SPACE:
127
+ this.groupSetChecked(this.control, e);
128
+ break;
129
+ }
130
+ }
131
+ }
132
+ controlSetChecked(checked, e) {
133
+ if (!this.control)
134
+ return;
135
+ if (this.disabled) {
136
+ this.internals.setFormValue(null);
137
+ }
138
+ else {
139
+ this.control.checked = this.checked = checked;
140
+ this.internals.setFormValue(this.checked ? this.control.value : null);
141
+ if (e) {
142
+ const isCheckbox = this.type === 'checkbox';
143
+ const isRadioAndChecked = this.type === 'radio' && this.checked;
144
+ // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox
145
+ // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/radio
146
+ // if an event parameter is given and a native control would fire an event, emit the corresponding event to the light dom
147
+ if (isCheckbox || isRadioAndChecked)
148
+ this[this.EVENT_MAP[e.type]].emit({ state: this.checked, value: this.value });
149
+ }
150
+ }
151
+ }
152
+ groupCollectMembers() {
153
+ var _a, _b;
154
+ if (this.type === 'radio' && this.name) {
155
+ this.group.hosts = Array.from(document.querySelectorAll(`post-card-control[type="radio"][name="${this.name}"]`));
156
+ this.group.members = this.group.hosts
157
+ .map(m => m.shadowRoot.querySelector('input[type="radio"]'))
158
+ .filter(m => m !== null);
159
+ if (this.group.members.length > 1) {
160
+ this.group.first = this.group.members[0];
161
+ this.group.last = this.group.members[this.group.members.length - 1];
162
+ this.group.checked = (_a = this.group.members.find(m => m.checked)) !== null && _a !== void 0 ? _a : null;
163
+ this.group.focused =
164
+ (_b = this.group.members.find(m => m.getRootNode().host === document.activeElement)) !== null && _b !== void 0 ? _b : this.group.first;
165
+ const focusableMember = this.group.checked || this.group.focused || this.group.first;
166
+ this.group.members.forEach(m => {
167
+ m.tabIndex = m === focusableMember ? 0 : -1;
168
+ });
169
+ }
170
+ }
171
+ }
172
+ groupGetPrev() {
173
+ var _a;
174
+ const focusedIndex = this.group.members.findIndex(m => m.id === this.group.focused.id);
175
+ return (_a = this.group.members.find((_m, i) => i === focusedIndex - 1)) !== null && _a !== void 0 ? _a : this.group.last;
176
+ }
177
+ groupGetNext() {
178
+ var _a;
179
+ const focusedIndex = this.group.members.findIndex(m => m.id === this.group.focused.id);
180
+ return (_a = this.group.members.find((_m, i) => i === focusedIndex + 1)) !== null && _a !== void 0 ? _a : this.group.first;
181
+ }
182
+ groupSetChecked(newChecked, e) {
183
+ if (this.group.members.length > 1) {
184
+ const isKeyboardEvent = e.type === 'keydown';
185
+ const newIsAriaDisabled = newChecked.hasAttribute('aria-disabled');
186
+ const newIndex = this.group.members.findIndex(m => m === newChecked);
187
+ if (isKeyboardEvent)
188
+ newChecked.focus();
189
+ // if new is disabled, do not reset/set anything
190
+ if (!newIsAriaDisabled) {
191
+ // reset all group members but the newChecked
192
+ this.group.hosts
193
+ .filter((_h, i) => i !== newIndex)
194
+ .forEach(h => {
195
+ h.groupReset();
196
+ });
197
+ // if method was called by keyboard event, select newChecked
198
+ // else this has already been done by clicking on the newChecked element already
199
+ if (isKeyboardEvent)
200
+ newChecked.click();
201
+ }
202
+ }
203
+ }
204
+ // remove as soon as all browser support :host-context()
205
+ // https://caniuse.com/?search=%3Ahost-context()
206
+ setHostContext() {
207
+ let bgContext;
208
+ const possibleBgContexts = window
209
+ .getComputedStyle(this.host)
210
+ .getPropertyValue('--post-card-control-bg-context')
211
+ .split(', ');
212
+ let formContext;
213
+ const possibleFromContexts = ['fieldset'];
214
+ let element = this.host;
215
+ while (element && (!bgContext || !formContext)) {
216
+ bgContext = bgContext !== null && bgContext !== void 0 ? bgContext : possibleBgContexts.find(selector => element.matches(selector));
217
+ formContext = formContext !== null && formContext !== void 0 ? formContext : possibleFromContexts.find(selector => element.matches(selector));
218
+ element = element.parentElement;
219
+ }
220
+ const hostContext = [bgContext, formContext].filter(context => !!context).join(' ');
221
+ this.host.setAttribute('data-context', hostContext);
222
+ }
223
+ connectedCallback() {
224
+ this.initialChecked = this.checked;
225
+ }
226
+ componentWillRender() {
227
+ this.hasIcon = Boolean(this.host.querySelector('[slot="icon"]') || this.icon);
228
+ }
229
+ render() {
230
+ return (index.h(index.Host, { key: '4e96104d2943b1f25d15197856492a0c16ec8de1', "data-version": _package.version, onClick: this.cardClickHandler }, index.h("div", { key: 'b32952648adb9e658735620d38158b0144d5d346', class: {
231
+ 'card-control': true,
232
+ 'is-checked': this.checked,
233
+ 'is-disabled': this.disabled,
234
+ 'is-focused': this.focused,
235
+ 'is-valid': this.validity !== null && this.validity !== 'false',
236
+ 'is-invalid': this.validity === 'false',
237
+ } }, index.h("input", { key: '0bb8a3715e514f784042ff2e4ad0fdd6372265b1', ref: el => (this.control = el), id: this.controlId, class: "card-control--input form-check-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: 'f30f9bb23b2f850b0584a6cf40c9a72363e937f0', id: `${this.controlId}_label`, htmlFor: this.controlId, class: "card-control--label form-check-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: 'c759f3283261bca1dc25ae58e12c2c41545fad8c', id: `${this.controlId}_content`, class: "card-control--content" }, index.h("slot", { key: '7fc6a41a4f230e9c893a251cb80b562e0f2b0c81' })))));
238
+ }
239
+ componentDidRender() {
240
+ this.setHostContext();
241
+ this.groupCollectMembers();
242
+ }
243
+ componentDidLoad() {
244
+ this.validateControlLabel();
245
+ this.validateControlType();
246
+ }
247
+ // https://stenciljs.com/docs/form-associated
248
+ /* eslint-disable @stencil-community/own-methods-must-be-private */
249
+ formAssociatedCallback() {
250
+ this.controlSetChecked(this.checked);
251
+ }
252
+ formDisabledCallback(disabled) {
253
+ this.disabled = disabled;
254
+ }
255
+ formStateRestoreCallback(checked) {
256
+ this.controlSetChecked(checked);
257
+ }
258
+ formResetCallback() {
259
+ this.reset();
260
+ }
261
+ static get formAssociated() { return true; }
262
+ get host() { return index.getElement(this); }
263
+ static get watchers() { return {
264
+ "label": ["validateControlLabel"],
265
+ "type": ["validateControlType"],
266
+ "checked": ["updateControlChecked"],
267
+ "disabled": ["updateControlDisabled"]
268
+ }; }
269
+ };
270
+ PostCardControl.style = PostCardControlStyle0;
271
+
272
+ 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-b4e4b4d5.js');
6
- require('./index-c15bd800.js');
5
+ const postCardControl = require('./post-card-control-37d6a65a.js');
6
+ require('./index-e1f32cce.js');
7
7
  require('./check-one-of-f4f5d0c0.js');
8
8
  require('./check-non-empty-eeaa8f77.js');
9
9
  require('./constants-238701d3.js');
10
- require('./package-a7150f64.js');
10
+ require('./package-3f706795.js');
11
11
 
12
12
 
13
13
 
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ const index = require('./index-e1f32cce.js');
4
+ const _package = require('./package-3f706795.js');
5
+
6
+ const PostClosebutton = class {
7
+ constructor(hostRef) {
8
+ index.registerInstance(this, hostRef);
9
+ }
10
+ render() {
11
+ return (index.h(index.Host, { key: 'b7e24245bf8319049c57737d754f566abf70b2ff', "data-version": _package.version }, index.h("button", { key: 'ab26b009632b4050d45eafc4dcab0e8ede55f943', class: "btn btn-icon-close" }, index.h("post-icon", { key: 'fa8da29f6f0795c3f0128c008e2fd8caee272fe5', "aria-hidden": "true", name: "2043" }), index.h("span", { key: 'f55941d6449a08911a2432213cf2f4c2b3f961aa', class: "visually-hidden" }, index.h("slot", { key: '172454f7bbb2fa54f245137c49d4bde0527a1308' })))));
12
+ }
13
+ get host() { return index.getElement(this); }
14
+ };
15
+
16
+ exports.PostClosebutton = PostClosebutton;
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const postClosebutton = require('./post-closebutton-372c1276.js');
6
+ require('./index-e1f32cce.js');
7
+ require('./package-3f706795.js');
8
+
9
+
10
+
11
+ exports.post_closebutton = postClosebutton.PostClosebutton;