@swisspost/design-system-components 10.0.0-next.47 → 10.0.0-next.48

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 (255) hide show
  1. package/dist/cjs/{event-from-AKK8RQrn.js → event-from-C6kpQwhw.js} +2 -2
  2. package/dist/cjs/index-CpDyH7Ww.js +4 -4
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/{package-wsZ6ig4j.js → package-CZyXYkIN.js} +1 -1
  5. package/dist/cjs/post-accordion_2.cjs.entry.js +4 -4
  6. package/dist/cjs/post-avatar.cjs.entry.js +91 -54
  7. package/dist/cjs/post-back-to-top.cjs.entry.js +1 -1
  8. package/dist/cjs/post-banner.cjs.entry.js +3 -3
  9. package/dist/cjs/post-breadcrumb-item_2.cjs.entry.js +1 -1
  10. package/dist/cjs/post-breadcrumbs.cjs.entry.js +1 -1
  11. package/dist/cjs/post-card-control.cjs.entry.js +1 -1
  12. package/dist/cjs/post-closebutton_15.cjs.entry.js +4 -5
  13. package/dist/cjs/post-collapsible_2.cjs.entry.js +2 -2
  14. package/dist/cjs/post-components.cjs.js +1 -1
  15. package/dist/cjs/post-footer.cjs.entry.js +1 -1
  16. package/dist/cjs/post-linkarea.cjs.entry.js +1 -1
  17. package/dist/cjs/post-popover.cjs.entry.js +1 -1
  18. package/dist/cjs/post-rating.cjs.entry.js +1 -1
  19. package/dist/cjs/post-tab-header.cjs.entry.js +1 -1
  20. package/dist/cjs/post-tab-panel.cjs.entry.js +1 -1
  21. package/dist/cjs/post-tabs.cjs.entry.js +2 -2
  22. package/dist/cjs/post-tooltip-trigger.cjs.entry.js +1 -1
  23. package/dist/cjs/post-tooltip.cjs.entry.js +1 -1
  24. package/dist/collection/components/post-accordion-item/post-accordion-item.js +5 -5
  25. package/dist/collection/components/post-avatar/avatar-utils.js +16 -0
  26. package/dist/collection/components/post-avatar/post-avatar.js +90 -57
  27. package/dist/collection/components/post-banner/post-banner.js +2 -2
  28. package/dist/collection/components/post-closebutton/post-closebutton.js +1 -19
  29. package/dist/collection/components/post-menu/post-menu.js +4 -1
  30. package/dist/collection/components/post-tabs/post-tabs.js +3 -3
  31. package/dist/collection/utils/event-from.js +2 -2
  32. package/dist/{esm/event-from-8U5GFtQP.js → components/event-from.js} +2 -2
  33. package/dist/components/get-root.js +15 -0
  34. package/dist/components/index.d.ts +73 -0
  35. package/dist/components/index.js +36 -2315
  36. package/dist/components/package.js +3 -0
  37. package/dist/components/post-accordion-item.js +1 -1
  38. package/dist/components/post-accordion-item2.js +113 -0
  39. package/dist/components/post-accordion.js +1 -1
  40. package/dist/components/post-accordion2.js +138 -0
  41. package/dist/components/post-avatar.js +99 -62
  42. package/dist/components/post-back-to-top.js +6 -7
  43. package/dist/components/post-banner.js +10 -11
  44. package/dist/components/post-breadcrumb-item.js +1 -1
  45. package/dist/components/post-breadcrumb-item2.js +79 -0
  46. package/dist/components/post-breadcrumbs.js +13 -14
  47. package/dist/components/post-card-control.js +8 -9
  48. package/dist/components/post-closebutton.js +5 -7
  49. package/dist/components/post-collapsible-trigger.js +1 -1
  50. package/dist/components/post-collapsible-trigger2.js +135 -0
  51. package/dist/components/post-collapsible.js +1 -1
  52. package/dist/components/post-collapsible2.js +110 -0
  53. package/dist/components/post-footer.js +10 -11
  54. package/dist/components/post-header.js +6 -7
  55. package/dist/components/post-icon.js +1 -1
  56. package/dist/components/post-icon2.js +153 -0
  57. package/dist/components/post-language-option.js +8 -9
  58. package/dist/components/post-language-switch.js +12 -13
  59. package/dist/components/post-linkarea.js +3 -4
  60. package/dist/components/post-list-item.js +3 -4
  61. package/dist/components/post-list.js +4 -5
  62. package/dist/components/post-logo.js +5 -6
  63. package/dist/components/post-mainnavigation.js +4 -5
  64. package/dist/components/post-megadropdown-trigger.js +6 -7
  65. package/dist/components/post-megadropdown.js +7 -8
  66. package/dist/components/post-menu-item.js +1 -1
  67. package/dist/components/post-menu-item2.js +30 -0
  68. package/dist/components/post-menu-trigger.js +1 -1
  69. package/dist/components/post-menu-trigger2.js +110 -0
  70. package/dist/components/post-menu.js +1 -1
  71. package/dist/components/post-menu2.js +222 -0
  72. package/dist/components/post-popover.js +6 -7
  73. package/dist/components/post-popovercontainer.js +1 -1
  74. package/dist/components/post-popovercontainer2.js +3018 -0
  75. package/dist/components/post-rating.js +8 -9
  76. package/dist/components/post-tab-header.js +6 -7
  77. package/dist/components/post-tab-panel.js +6 -7
  78. package/dist/components/post-tabs.js +7 -8
  79. package/dist/components/post-togglebutton.js +3 -4
  80. package/dist/components/post-tooltip-trigger.js +6 -7
  81. package/dist/components/post-tooltip.js +6 -7
  82. package/dist/components/react/index.d.ts +33 -0
  83. package/dist/components/react/index.js +2315 -0
  84. package/dist/components/react/p-0Ltezq5O.js +3 -0
  85. package/dist/components/{p-i0-mizzM.js → react/p-38PqL5iD.js} +1 -1
  86. package/dist/components/react/p-BLchVpF6.js +14 -0
  87. package/dist/components/react/p-C35MCWIp.js +35 -0
  88. package/dist/components/{p-336Lbkey.js → react/p-CGsAj6ij.js} +1 -1
  89. package/dist/components/react/p-CJ80BZ06.js +178 -0
  90. package/dist/{esm/index-BWC0gtGU.js → components/react/p-CV7fm1rW.js} +1 -1
  91. package/dist/components/react/p-C_2k3G1c.js +264 -0
  92. package/dist/components/{p-DP5pj8mq.js → react/p-Ce7jgYmK.js} +1 -1
  93. package/dist/components/{p-BSvy4uym.js → react/p-CiYSngKM.js} +7 -7
  94. package/dist/components/{p-Cxrx7SXz.js → react/p-Da5wbVP8.js} +1 -1
  95. package/dist/components/{p-DVGX_JCp.js → react/p-Dq9F2i7n.js} +2 -2
  96. package/dist/components/{p-DEi5TIMq.js → react/p-DzYquz3e.js} +2 -2
  97. package/dist/components/{p-pHxypsHK.js → react/p-JHuJA2Lv.js} +4 -4
  98. package/dist/components/react/p-SbIC4aZX.js +11 -0
  99. package/dist/components/{p-C0H2ohSv.js → react/p-Tg0GNTZM.js} +2 -2
  100. package/dist/components/{p-8U5GFtQP.js → react/p-kraHE1r3.js} +2 -2
  101. package/dist/components/{p-BM8mtEfS.js → react/p-q8Fvf8A0.js} +1 -1
  102. package/dist/components/react/p-r4txK0AC.js +3 -0
  103. package/dist/components/react/post-accordion-item.d.ts +11 -0
  104. package/dist/components/react/post-accordion-item.js +6 -0
  105. package/dist/components/react/post-accordion.d.ts +11 -0
  106. package/dist/components/react/post-accordion.js +6 -0
  107. package/dist/components/react/post-avatar.d.ts +11 -0
  108. package/dist/components/react/post-avatar.js +226 -0
  109. package/dist/components/react/post-back-to-top.d.ts +11 -0
  110. package/dist/components/react/post-back-to-top.js +145 -0
  111. package/dist/components/react/post-banner.d.ts +11 -0
  112. package/dist/components/react/post-banner.js +99 -0
  113. package/dist/components/react/post-breadcrumb-item.d.ts +11 -0
  114. package/dist/components/react/post-breadcrumb-item.js +6 -0
  115. package/dist/components/react/post-breadcrumbs.d.ts +11 -0
  116. package/dist/components/react/post-breadcrumbs.js +187 -0
  117. package/dist/components/react/post-card-control.d.ts +11 -0
  118. package/dist/components/react/post-card-control.js +327 -0
  119. package/dist/components/react/post-closebutton.d.ts +11 -0
  120. package/dist/components/react/post-closebutton.js +50 -0
  121. package/dist/components/react/post-collapsible-trigger.d.ts +11 -0
  122. package/dist/components/react/post-collapsible-trigger.js +6 -0
  123. package/dist/components/react/post-collapsible.d.ts +11 -0
  124. package/dist/components/react/post-collapsible.js +6 -0
  125. package/dist/components/react/post-footer.d.ts +11 -0
  126. package/dist/components/react/post-footer.js +117 -0
  127. package/dist/components/react/post-header.d.ts +11 -0
  128. package/dist/components/react/post-header.js +333 -0
  129. package/dist/components/react/post-icon.d.ts +11 -0
  130. package/dist/components/react/post-icon.js +6 -0
  131. package/dist/components/react/post-language-option.d.ts +11 -0
  132. package/dist/components/react/post-language-option.js +101 -0
  133. package/dist/components/react/post-language-switch.d.ts +11 -0
  134. package/dist/components/react/post-language-switch.js +159 -0
  135. package/dist/components/react/post-linkarea.d.ts +11 -0
  136. package/dist/components/react/post-linkarea.js +46 -0
  137. package/dist/components/react/post-list-item.d.ts +11 -0
  138. package/dist/components/react/post-list-item.js +39 -0
  139. package/dist/components/react/post-list.d.ts +11 -0
  140. package/dist/components/react/post-list.js +62 -0
  141. package/dist/components/react/post-logo.d.ts +11 -0
  142. package/dist/components/react/post-logo.js +59 -0
  143. package/dist/components/react/post-mainnavigation.d.ts +11 -0
  144. package/dist/components/react/post-mainnavigation.js +181 -0
  145. package/dist/components/react/post-megadropdown-trigger.d.ts +11 -0
  146. package/dist/components/react/post-megadropdown-trigger.js +137 -0
  147. package/dist/components/react/post-megadropdown.d.ts +11 -0
  148. package/dist/components/react/post-megadropdown.js +197 -0
  149. package/dist/components/react/post-menu-item.d.ts +11 -0
  150. package/dist/components/react/post-menu-item.js +6 -0
  151. package/dist/components/react/post-menu-trigger.d.ts +11 -0
  152. package/dist/components/react/post-menu-trigger.js +6 -0
  153. package/dist/components/react/post-menu.d.ts +11 -0
  154. package/dist/components/react/post-menu.js +6 -0
  155. package/dist/components/react/post-popover.d.ts +11 -0
  156. package/dist/components/react/post-popover.js +189 -0
  157. package/dist/components/react/post-popovercontainer.d.ts +11 -0
  158. package/dist/components/react/post-popovercontainer.js +6 -0
  159. package/dist/components/react/post-rating.d.ts +11 -0
  160. package/dist/components/react/post-rating.js +153 -0
  161. package/dist/components/react/post-tab-header.d.ts +11 -0
  162. package/dist/components/react/post-tab-header.js +53 -0
  163. package/dist/components/react/post-tab-panel.d.ts +11 -0
  164. package/dist/components/react/post-tab-panel.js +55 -0
  165. package/dist/components/react/post-tabs.d.ts +11 -0
  166. package/dist/components/react/post-tabs.js +197 -0
  167. package/dist/components/react/post-togglebutton.d.ts +11 -0
  168. package/dist/components/react/post-togglebutton.js +57 -0
  169. package/dist/components/react/post-tooltip-trigger.d.ts +11 -0
  170. package/dist/components/react/post-tooltip-trigger.js +5223 -0
  171. package/dist/components/react/post-tooltip.d.ts +11 -0
  172. package/dist/components/react/post-tooltip.js +115 -0
  173. package/dist/components/switch-variants.js +3 -0
  174. package/dist/docs.json +20 -30
  175. package/dist/esm/event-from-kraHE1r3.js +105 -0
  176. package/dist/esm/index-C8a0ddDa.js +4 -4
  177. package/dist/esm/index-VmK3ABCB.js +88 -0
  178. package/dist/esm/loader.js +1 -1
  179. package/dist/esm/package-0Ltezq5O.js +3 -0
  180. package/dist/esm/post-accordion_2.entry.js +5 -5
  181. package/dist/esm/post-avatar.entry.js +92 -55
  182. package/dist/esm/post-back-to-top.entry.js +2 -2
  183. package/dist/esm/post-banner.entry.js +4 -4
  184. package/dist/esm/post-breadcrumb-item_2.entry.js +2 -2
  185. package/dist/esm/post-breadcrumbs.entry.js +2 -2
  186. package/dist/esm/post-card-control.entry.js +2 -2
  187. package/dist/esm/post-closebutton_15.entry.js +6 -7
  188. package/dist/esm/post-collapsible_2.entry.js +3 -3
  189. package/dist/esm/post-components.js +1 -1
  190. package/dist/esm/post-footer.entry.js +2 -2
  191. package/dist/esm/post-linkarea.entry.js +1 -1
  192. package/dist/esm/post-popover.entry.js +2 -2
  193. package/dist/esm/post-rating.entry.js +2 -2
  194. package/dist/esm/post-tab-header.entry.js +2 -2
  195. package/dist/esm/post-tab-panel.entry.js +2 -2
  196. package/dist/esm/post-tabs.entry.js +2 -2
  197. package/dist/esm/post-tooltip-trigger.entry.js +2 -2
  198. package/dist/esm/post-tooltip.entry.js +2 -2
  199. package/dist/loader/cdn.js +1 -0
  200. package/dist/loader/index.cjs.js +1 -0
  201. package/{loader → dist/loader}/index.d.ts +1 -1
  202. package/dist/loader/index.es2017.js +1 -0
  203. package/{loader → dist/loader}/index.js +1 -1
  204. package/dist/post-components/p-0Ltezq5O.js +1 -0
  205. package/dist/post-components/{p-bbe02ba3.entry.js → p-16772417.entry.js} +1 -1
  206. package/dist/post-components/{p-45007aac.entry.js → p-38d3d441.entry.js} +1 -1
  207. package/dist/post-components/{p-f67b616a.entry.js → p-3c71f590.entry.js} +1 -1
  208. package/dist/post-components/{p-a2fa5ce4.entry.js → p-40f21542.entry.js} +1 -1
  209. package/dist/post-components/{p-031f7489.entry.js → p-4243cdd1.entry.js} +1 -1
  210. package/dist/post-components/p-4c18cb8c.entry.js +1 -0
  211. package/dist/post-components/{p-c1cf39cb.entry.js → p-51dc7647.entry.js} +1 -1
  212. package/dist/post-components/{p-e9802b56.entry.js → p-6777e505.entry.js} +1 -1
  213. package/dist/post-components/{p-2f698af4.entry.js → p-6add880f.entry.js} +1 -1
  214. package/dist/post-components/{p-2ca196d6.entry.js → p-8363fedb.entry.js} +1 -1
  215. package/dist/post-components/p-83998038.entry.js +1 -0
  216. package/dist/post-components/{p-d0d92071.entry.js → p-85bb1b5e.entry.js} +1 -1
  217. package/dist/post-components/{p-3adbdda7.entry.js → p-8f4d8685.entry.js} +1 -1
  218. package/dist/post-components/{p-1e6a068a.entry.js → p-95ad536d.entry.js} +1 -1
  219. package/dist/post-components/{p-9428231b.entry.js → p-9d806e89.entry.js} +1 -1
  220. package/dist/post-components/{p-BWC0gtGU.js → p-VmK3ABCB.js} +1 -1
  221. package/dist/post-components/{p-57703aee.entry.js → p-aad86320.entry.js} +1 -1
  222. package/dist/post-components/p-c3e38acf.entry.js +1 -0
  223. package/dist/post-components/{p-ab8017bb.entry.js → p-d61bb2ff.entry.js} +1 -1
  224. package/dist/post-components/p-kraHE1r3.js +1 -0
  225. package/dist/post-components/post-components.esm.js +1 -1
  226. package/dist/types/components/post-accordion-item/post-accordion-item.d.ts +3 -3
  227. package/dist/types/components/post-avatar/avatar-utils.d.ts +3 -0
  228. package/dist/types/components/post-avatar/post-avatar.d.ts +13 -10
  229. package/dist/types/components/post-closebutton/post-closebutton.d.ts +0 -6
  230. package/dist/types/components/post-menu/post-menu.d.ts +3 -0
  231. package/dist/types/components/post-tabs/post-tabs.d.ts +2 -2
  232. package/dist/types/components.d.ts +0 -19
  233. package/dist/types/utils/component-on-ready.d.ts +2 -2
  234. package/hydrate/index.js +110 -70
  235. package/hydrate/index.mjs +110 -70
  236. package/package.json +19 -9
  237. package/dist/components/p-Z01QMrov.js +0 -3
  238. package/dist/esm/package-Z01QMrov.js +0 -3
  239. package/dist/post-components/p-7b8ab026.entry.js +0 -1
  240. package/dist/post-components/p-8U5GFtQP.js +0 -1
  241. package/dist/post-components/p-Z01QMrov.js +0 -1
  242. package/dist/post-components/p-ac73ab00.entry.js +0 -1
  243. package/dist/post-components/p-e96239c4.entry.js +0 -1
  244. package/loader/cdn.js +0 -1
  245. package/loader/index.cjs.js +0 -1
  246. package/loader/index.es2017.js +0 -1
  247. /package/dist/components/{p-CJ80BZ06.js → breakpoints.js} +0 -0
  248. /package/dist/components/{p-SbIC4aZX.js → fade.js} +0 -0
  249. /package/dist/components/{p-C35MCWIp.js → get-focusable-children.js} +0 -0
  250. /package/dist/components/{p-r4txK0AC.js → heading-levels.js} +0 -0
  251. /package/dist/components/{p-BLchVpF6.js → index.browser.js} +0 -0
  252. /package/dist/components/{p-CV7fm1rW.js → index2.js} +0 -0
  253. /package/dist/components/{p-C_2k3G1c.js → long-press-event.js} +0 -0
  254. /package/dist/components/{p-CBFgkSgY.js → react/p-CBFgkSgY.js} +0 -0
  255. /package/dist/components/{p-DjIHLduJ.js → react/p-DjIHLduJ.js} +0 -0
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-CpDyH7Ww.js');
4
- var _package = require('./package-wsZ6ig4j.js');
4
+ var _package = require('./package-CZyXYkIN.js');
5
5
 
6
6
  const postLinkareaCss = ":host{display:contents;cursor:pointer}";
7
7
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  var index$1 = require('./index-CpDyH7Ww.js');
4
4
  var placement = require('./placement-qEFR9hmI.js');
5
- var _package = require('./package-wsZ6ig4j.js');
5
+ var _package = require('./package-CZyXYkIN.js');
6
6
  var breakpoints = require('./breakpoints-DmZ_BQGo.js');
7
7
  var index = require('./index-DtvYdwe1.js');
8
8
 
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var index$1 = require('./index-CpDyH7Ww.js');
4
- var _package = require('./package-wsZ6ig4j.js');
4
+ var _package = require('./package-CZyXYkIN.js');
5
5
  var index = require('./index-DtvYdwe1.js');
6
6
  require('./breakpoints-DmZ_BQGo.js');
7
7
 
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-CpDyH7Ww.js');
4
- var _package = require('./package-wsZ6ig4j.js');
4
+ var _package = require('./package-CZyXYkIN.js');
5
5
  var index$1 = require('./index-DtvYdwe1.js');
6
6
  require('./breakpoints-DmZ_BQGo.js');
7
7
  var index_browser = require('./index.browser-Doj636JV.js');
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-CpDyH7Ww.js');
4
- var _package = require('./package-wsZ6ig4j.js');
4
+ var _package = require('./package-CZyXYkIN.js');
5
5
  var index_browser = require('./index.browser-Doj636JV.js');
6
6
  var index$1 = require('./index-DtvYdwe1.js');
7
7
  require('./breakpoints-DmZ_BQGo.js');
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-CpDyH7Ww.js');
4
- var _package = require('./package-wsZ6ig4j.js');
4
+ var _package = require('./package-CZyXYkIN.js');
5
5
  var fade = require('./fade-nS5zzDQS.js');
6
6
  require('./breakpoints-DmZ_BQGo.js');
7
7
 
@@ -167,7 +167,7 @@ const PostTabs = class {
167
167
  nextTab.focus();
168
168
  }
169
169
  render() {
170
- return (index.h(index.Host, { key: '467959e964a6d7f44ac3eee09f9c7d2b501af4fe', "data-version": _package.version }, index.h("div", { key: '7ce4c0428360124f6937d123a4664d6f22e1110c', class: "tabs-wrapper", part: "tabs" }, index.h("div", { key: 'c41b073b855cb12a789c8656d12b0f6e9e20ea6f', class: "tabs", role: "tablist" }, index.h("slot", { key: '37935aa4c4d1ca4e71931e9e50d91e77075d2b64', name: "tabs", onSlotchange: () => this.enableTabs() }))), index.h("div", { key: 'bb84a728572c00256e219b5dd28322cbab699932', class: "tab-content", part: "content" }, index.h("slot", { key: 'e2aa9cf6a9faa9f5ded6018def77b9b818b2b986', onSlotchange: () => this.moveMisplacedTabs() }))));
170
+ return (index.h(index.Host, { key: 'dc7228c840d65e3546e0d13e5bcaa78819b5aeb9', "data-version": _package.version }, index.h("div", { key: '377d592f7c00f3ec0c7aba2a4a8ca2b88cd37927', class: "tabs-wrapper", part: "tabs" }, index.h("div", { key: '6e79f33d6cd82d55ba9fad2f09f6163ce7e0a372', class: "tabs", role: "tablist" }, index.h("slot", { key: '65fbf3cb6525f2f2ae97eb60dad313811db4c585', name: "tabs", onSlotchange: () => this.enableTabs() }))), index.h("div", { key: '675a59a27e79bad06ea2b70c4fc7b0a6f4b020ff', class: "tab-content", part: "content" }, index.h("slot", { key: 'b559af0fa652e352673fbabb6829a62a5630e809', onSlotchange: () => this.moveMisplacedTabs() }))));
171
171
  }
172
172
  get host() { return index.getElement(this); }
173
173
  };
@@ -3,7 +3,7 @@
3
3
  var index = require('./index-CpDyH7Ww.js');
4
4
  var breakpoints = require('./breakpoints-DmZ_BQGo.js');
5
5
  var index$1 = require('./index-DtvYdwe1.js');
6
- var _package = require('./package-wsZ6ig4j.js');
6
+ var _package = require('./package-CZyXYkIN.js');
7
7
 
8
8
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
9
9
 
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-CpDyH7Ww.js');
4
- var _package = require('./package-wsZ6ig4j.js');
4
+ var _package = require('./package-CZyXYkIN.js');
5
5
  var index$1 = require('./index-DtvYdwe1.js');
6
6
  require('./breakpoints-DmZ_BQGo.js');
7
7
  var placement = require('./placement-qEFR9hmI.js');
@@ -14,9 +14,9 @@ import { HEADING_LEVELS } from "../../types/index";
14
14
  import { checkEmptyOrOneOf, EventFrom } from "../../utils/index";
15
15
  import { nanoid } from "nanoid";
16
16
  /**
17
- * @part button - The pseudo-element, used to override styles on the components internal header `button` element.
18
- * @part body - The pseudo-element, used to override styles on the components internal `body` element.
19
- * @slot logo - Slot for the placing a logo before the header.
17
+ * @part button - The element that toggles the accordion item (header button).
18
+ * @part body - The container element that holds the accordion item's content.
19
+ * @slot logo - Slot for placing a logo in the accordion item’s header, before the content.
20
20
  * @slot header - Slot for placing custom content within the accordion item's header.
21
21
  * @slot default - Slot for placing content within the accordion item's body.
22
22
  */
@@ -55,10 +55,10 @@ export class PostAccordionItem {
55
55
  render() {
56
56
  const headingLevel = this.host.closest('post-accordion')?.getAttribute('heading-level');
57
57
  const HeadingTag = `h${headingLevel ?? this.headingLevel ?? 2}`;
58
- return (h(Host, { key: 'd7176f314fa0f907bd5b69555a2f25561f3875cf', id: this.id, "data-version": version }, h("div", { key: '978c451798e5bafe38ef57be29818f02ccf49dab', part: "accordion-item", class: "accordion-item" }, h("post-collapsible-trigger", { key: '615da8a2ad5fb3c3fd1e5e0c2c8ee9a260a34263', for: `${this.id}--collapse` }, h(HeadingTag, { key: '9c270ded36f1e1b1b466ba8c4ca529ab26368d5c', class: "accordion-header", id: `${this.id}--header` }, h("button", { key: 'ddf278d1ccf6d78932ae4c6a9617d5852fb73064', type: "button", class: `accordion-button${this.collapsed ? ' collapsed' : ''}`, part: "button" }, h("span", { key: '3989145bdbe0a313c6ed10220d2089c89688d613', class: {
58
+ return (h(Host, { key: 'b98847d19894430b6f65130aebf8673a45afd1e6', id: this.id, "data-version": version }, h("div", { key: 'f26f9d3a4a1f59db23b4698b321e28e112c3eed0', part: "accordion-item", class: "accordion-item" }, h("post-collapsible-trigger", { key: '14bdacce04d67a03655f600feeaeec065e0fc198', for: `${this.id}--collapse` }, h(HeadingTag, { key: '7a07a70d172306ce37f8bd0143b21ed7ec0cab8a', class: "accordion-header", id: `${this.id}--header` }, h("button", { key: '5ad0698a62df5c4b2c0a77ff622090b20f348e9c', type: "button", class: `accordion-button${this.collapsed ? ' collapsed' : ''}`, part: "button" }, h("span", { key: '6e5fcb0c9efa8a57e05fd162c72b9c170a8210c6', class: {
59
59
  'logo-container': true,
60
60
  'has-image': !!this.slottedLogo,
61
- } }, h("slot", { key: 'dd053bf73234db3bac772bf730003b4f2cc030cb', name: "logo", onSlotchange: this.onSlotLogoChange.bind(this) })), h("slot", { key: '9ac06513d55828a9d7a3552aa66c9946fde7c793', name: "header" }), h("post-icon", { key: 'fb46c528581e1a149706fd9e124857cc288747f8', name: "2051" })))), h("post-collapsible", { key: '996887d6a0098a37dbac8d5edb950900f57d15f7', id: `${this.id}--collapse`, collapsed: this.collapsed, ref: el => (this.collapsible = el) }, h("div", { key: '21fa64a007cf0da4e0c0cf56f5862641d016517a', class: "accordion-body", part: "body" }, h("slot", { key: '2a9f7731183e35c37523e079d437612dbda1a01b' }))))));
61
+ } }, h("slot", { key: '41a1409f723bf52de893324ce45d4e7f31eb8908', name: "logo", onSlotchange: this.onSlotLogoChange.bind(this) })), h("slot", { key: '7186adfe4a4fe67f4dbaeb7569820d0d06c18428', name: "header" }), h("post-icon", { key: 'fbfcbdc9947a8c7cf80d861aba3a77be0dff91d1', name: "2051" })))), h("post-collapsible", { key: '5de19aab5eb0134b7c3e7f43e5c2da0cb8413908', id: `${this.id}--collapse`, collapsed: this.collapsed, ref: el => (this.collapsible = el) }, h("div", { key: '5112ba8604ea177af4d88033f682c2a4cc6c4ffd', class: "accordion-body", part: "body" }, h("slot", { key: 'd70ab76842fced3f7dec812471685071e377bc61' }))))));
62
62
  }
63
63
  static get is() { return "post-accordion-item"; }
64
64
  static get encapsulation() { return "shadow"; }
@@ -0,0 +1,16 @@
1
+ // https://docs.gravatar.com/api/avatars/images/
2
+ const GRAVATAR_DEFAULT = '404';
3
+ const GRAVATAR_RATING = 'g';
4
+ const GRAVATAR_SIZE = 80;
5
+ export function getGravatarUrl(email) {
6
+ const hash = cryptify(email.trim().toLowerCase());
7
+ return `https://www.gravatar.com/avatar/${hash}?s=${GRAVATAR_SIZE}&d=${GRAVATAR_DEFAULT}&r=${GRAVATAR_RATING}`;
8
+ }
9
+ export async function cryptify(key) {
10
+ return await crypto.subtle.digest('SHA-256', new TextEncoder().encode(key)).then(buffer => {
11
+ return Array.from(new Uint8Array(buffer))
12
+ .map(bytes => bytes.toString(16).padStart(2, '0'))
13
+ .join('');
14
+ });
15
+ }
16
+ export const GRAVATAR_BASE_URL = `https://www.gravatar.com/avatar/{email}?s=${GRAVATAR_SIZE}&d=${GRAVATAR_DEFAULT}&r=${GRAVATAR_RATING}`;
@@ -1,11 +1,7 @@
1
1
  import { h, Host } from "@stencil/core";
2
2
  import { version } from "../../../../package";
3
3
  import { checkRequiredAndType, checkEmptyOrPattern, checkEmptyOrType } from "../../utils/index";
4
- // https://docs.gravatar.com/api/avatars/images/
5
- const GRAVATAR_DEFAULT = '404';
6
- const GRAVATAR_RATING = 'g';
7
- const GRAVATAR_SIZE = 80;
8
- const GRAVATAR_BASE_URL = `https://www.gravatar.com/avatar/{email}?s=${GRAVATAR_SIZE}&d=${GRAVATAR_DEFAULT}&r=${GRAVATAR_RATING}`;
4
+ import { GRAVATAR_BASE_URL } from "./avatar-utils";
9
5
  const emailPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
10
6
  var AvatarType;
11
7
  (function (AvatarType) {
@@ -23,6 +19,8 @@ export class PostAvatar {
23
19
  this.imageUrl = '';
24
20
  this.imageAlt = '';
25
21
  this.initials = '';
22
+ // To handle email or userid updates and reset the storage item
23
+ this.storageKey = '';
26
24
  }
27
25
  validateFirstname() {
28
26
  checkRequiredAndType(this, 'firstname', 'string');
@@ -30,47 +28,67 @@ export class PostAvatar {
30
28
  validateLastname() {
31
29
  checkEmptyOrType(this, 'lastname', 'string');
32
30
  }
33
- validateUserid() {
31
+ updateUserid() {
32
+ this.validateUserId();
33
+ this.getAvatarImage();
34
+ }
35
+ updateEmail() {
36
+ this.validateEmail();
37
+ this.getAvatarImage();
38
+ }
39
+ validateUserId() {
34
40
  checkEmptyOrType(this, 'userid', 'string');
35
41
  }
36
42
  validateEmail() {
37
43
  if (this.email)
38
44
  checkEmptyOrPattern(this, 'email', emailPattern);
39
45
  }
40
- async getAvatar() {
41
- if (this.slottedImage !== null) {
42
- this.avatarType = AvatarType.Slotted;
43
- }
44
- else {
45
- let imageLoaded = false;
46
- if (!imageLoaded && this.userid)
46
+ async getAvatarImage() {
47
+ let imageLoaded = false;
48
+ this.slottedImage = this.host.querySelector('img');
49
+ const imageUrl = this.slottedImage?.getAttribute('src');
50
+ if (!imageUrl) {
51
+ if (this.userid) {
47
52
  imageLoaded = await this.getImageByProp(this.userid, this.fetchImageByUserId.bind(this));
48
- if (!imageLoaded && this.email)
53
+ }
54
+ if (!imageLoaded && this.email?.match(emailPattern)) {
49
55
  imageLoaded = await this.getImageByProp(this.email, this.fetchImageByEmail.bind(this));
50
- if (!imageLoaded)
51
- this.getAvatarByInitials();
56
+ }
57
+ if (!imageLoaded) {
58
+ this.getAvatarInitials();
59
+ }
60
+ }
61
+ else {
62
+ const slottedImageLoaded = await this.getImageByProp(imageUrl, this.fetchSlottedImage.bind(this));
63
+ if (!slottedImageLoaded) {
64
+ this.slottedImage.style.display = 'none';
65
+ this.getAvatarInitials();
66
+ }
67
+ else {
68
+ this.slottedImage.style.display = 'block';
69
+ }
52
70
  }
53
71
  }
54
72
  async getImageByProp(prop, fetchImage) {
55
73
  if (!prop)
56
74
  return false;
57
- const imageResponse = (await this.getStorageItem(prop)) ?? { ok: false, url: '' };
58
- if (!imageResponse.ok) {
59
- try {
60
- const r = await fetchImage();
61
- imageResponse.ok = r.ok;
62
- imageResponse.url = r.url;
63
- this.imageUrl = imageResponse.url;
64
- this.imageAlt = `${this.firstname} ${this.lastname} avatar`;
65
- this.avatarType = AvatarType.Image;
66
- this.setStorageItem(this.userid, JSON.stringify(imageResponse));
67
- }
68
- catch (error) {
69
- this.removeStorageItem(prop);
70
- console.info(`Loading avatar by type "${AvatarType.Image}" failed.`);
71
- }
75
+ let imageResponse;
76
+ try {
77
+ imageResponse = await fetchImage(prop);
78
+ }
79
+ catch (error) {
80
+ console.info('Loading avatar image failed.', error);
81
+ return false;
82
+ }
83
+ if (!imageResponse?.ok) {
84
+ return false;
85
+ }
86
+ else {
87
+ this.imageUrl = imageResponse.url;
88
+ this.imageAlt = `${this.firstname} ${this.lastname} avatar`;
89
+ this.avatarType = AvatarType.Image;
90
+ return true;
72
91
  }
73
- return imageResponse.ok;
74
92
  }
75
93
  async fetchImageByUserId() {
76
94
  return await fetch(PostAvatar.INTERNAL_USERID_IMAGE_SRC.replace('{userid}', encodeURIComponent(this.userid)));
@@ -80,7 +98,10 @@ export class PostAvatar {
80
98
  const imageUrl = GRAVATAR_BASE_URL.replace('{email}', email);
81
99
  return await fetch(imageUrl);
82
100
  }
83
- getAvatarByInitials() {
101
+ async fetchSlottedImage(imageUrl) {
102
+ return await fetch(imageUrl, { method: 'HEAD' });
103
+ }
104
+ getAvatarInitials() {
84
105
  this.initials = this.getInitials();
85
106
  this.avatarType = AvatarType.Initials;
86
107
  }
@@ -93,19 +114,6 @@ export class PostAvatar {
93
114
  .join('')
94
115
  .trim();
95
116
  }
96
- async getStorageItem(keyToken) {
97
- const key = await this.cryptify(keyToken);
98
- const value = window?.sessionStorage?.getItem(key);
99
- return value ? JSON.parse(value) : null;
100
- }
101
- async setStorageItem(keyToken, value) {
102
- const key = await this.cryptify(keyToken);
103
- window?.sessionStorage?.setItem(key, value);
104
- }
105
- async removeStorageItem(keyToken) {
106
- const key = await this.cryptify(keyToken);
107
- window?.sessionStorage?.removeItem(key);
108
- }
109
117
  async cryptify(key) {
110
118
  return await crypto.subtle.digest('SHA-256', new TextEncoder().encode(key)).then(buffer => {
111
119
  return Array.from(new Uint8Array(buffer))
@@ -113,18 +121,42 @@ export class PostAvatar {
113
121
  .join('');
114
122
  });
115
123
  }
116
- onSlotDefaultChange() {
117
- this.slottedImage = this.host.querySelector('img');
118
- this.getAvatar();
124
+ slotChanged() {
125
+ const slot = this.host.shadowRoot.querySelector('slot');
126
+ const assignedNodes = slot?.assignedNodes({ flatten: true }) || [];
127
+ assignedNodes.forEach(node => {
128
+ if (node.nodeType === Node.ELEMENT_NODE) {
129
+ const el = node;
130
+ if (el.tagName === 'IMG') {
131
+ this.observeImageSrcChanges(el);
132
+ }
133
+ }
134
+ });
135
+ this.getAvatarImage();
119
136
  }
120
- componentWillRender() {
121
- this.slottedImage = this.host.querySelector('img');
122
- this.getAvatar();
137
+ // Observe the Slotted image src attribute and update the image
138
+ observeImageSrcChanges(img) {
139
+ if (this.slottedImageObserver) {
140
+ this.slottedImageObserver.disconnect();
141
+ }
142
+ this.slottedImageObserver = new MutationObserver(mutations => {
143
+ mutations.forEach(mutation => {
144
+ if (mutation.type === 'attributes' && mutation.attributeName === 'src') {
145
+ this.getAvatarImage();
146
+ }
147
+ });
148
+ });
149
+ this.slottedImageObserver.observe(img, { attributes: true, attributeFilter: ['src'] });
150
+ }
151
+ connectedCallback() {
152
+ //This provides a fallback by showing the initials while the image is still loading or delayed.
153
+ this.getAvatarInitials();
154
+ this.getAvatarImage();
123
155
  }
124
156
  componentDidLoad() {
125
157
  this.validateFirstname();
126
158
  this.validateLastname();
127
- this.validateUserid();
159
+ this.validateUserId();
128
160
  this.validateEmail();
129
161
  }
130
162
  render() {
@@ -136,7 +168,7 @@ export class PostAvatar {
136
168
  // eslint-disable-next-line @stencil-community/render-returns-host
137
169
  return acc;
138
170
  }, []);
139
- return (h(Host, { "data-version": version }, h("slot", { onSlotchange: this.onSlotDefaultChange.bind(this) }, this.avatarType === 'image' && h("img", { src: this.imageUrl, alt: this.imageAlt }), this.avatarType === 'initials' && h("div", { class: "initials" }, initials))));
171
+ return (h(Host, { "data-version": version }, h("span", { class: this.avatarType === 'slotted' ? '' : 'd-none' }, h("slot", { onSlotchange: this.slotChanged.bind(this) })), this.avatarType === 'image' && h("img", { src: this.imageUrl, alt: this.imageAlt }), this.avatarType === 'initials' && h("div", { class: "initials" }, initials)));
140
172
  }
141
173
  static get is() { return "post-avatar"; }
142
174
  static get encapsulation() { return "shadow"; }
@@ -236,7 +268,8 @@ export class PostAvatar {
236
268
  "avatarType": {},
237
269
  "imageUrl": {},
238
270
  "imageAlt": {},
239
- "initials": {}
271
+ "initials": {},
272
+ "storageKey": {}
240
273
  };
241
274
  }
242
275
  static get elementRef() { return "host"; }
@@ -249,10 +282,10 @@ export class PostAvatar {
249
282
  "methodName": "validateLastname"
250
283
  }, {
251
284
  "propName": "userid",
252
- "methodName": "validateUserid"
285
+ "methodName": "updateUserid"
253
286
  }, {
254
287
  "propName": "email",
255
- "methodName": "validateEmail"
288
+ "methodName": "updateEmail"
256
289
  }];
257
290
  }
258
291
  }
@@ -57,7 +57,7 @@ export class PostBanner {
57
57
  this.hasActions = this.host.querySelectorAll('[slot="actions"]').length > 0;
58
58
  }
59
59
  render() {
60
- return (h(Host, { key: 'fc9507a57b443c485cf9496be4e04f66c04d7eaf', "data-version": version, role: "alert" }, h("slot", { key: '1f59c2d63144990f148a37046d70b2155280abd6', name: "close-button" }), h("slot", { key: '65d0e3c723cb474498d40d26f7f369b7d3abb41e', name: "heading" }), h("slot", { key: '03ff96159a3066a64a7a474d9e6a5450937f8c84' }), this.hasActions && (h("div", { key: '641ad34505cd5141133e5ef788f7e38ab0f977c8', class: "actions" }, h("slot", { key: '242f388c40d71f37a25f2af3fe3eb622a9ab2796', name: "actions" })))));
60
+ return (h(Host, { key: 'e15185f83fd0da3aa39b2b5272e4326ecd77ee9d', "data-version": version, role: "alert" }, h("slot", { key: '328dd1643a38643593ef79b5416b6f4b49e4eeef', name: "close-button" }), h("slot", { key: '37ba09740a254eb559e5035dc2611849c1d01993', name: "heading" }), h("slot", { key: '705fe8a24b3d31cce0637bea745128393aeee121' }), this.hasActions && (h("div", { key: '296f89787a5f497fc835d88931b0784ab9c7ace9', class: "actions" }, h("slot", { key: '7a3c6c574ef61890ebd8d038d491b56e65a22129', name: "actions" })))));
61
61
  }
62
62
  static get is() { return "post-banner"; }
63
63
  static get encapsulation() { return "shadow"; }
@@ -154,7 +154,7 @@ export class PostBanner {
154
154
  }
155
155
  static get listeners() {
156
156
  return [{
157
- "name": "postClick",
157
+ "name": "click",
158
158
  "method": "onCloseButtonClick",
159
159
  "target": undefined,
160
160
  "capture": false,
@@ -13,7 +13,7 @@ export class PostClosebutton {
13
13
  }
14
14
  }
15
15
  render() {
16
- return (h(Host, { key: '639599ff890ccf96684035e80449a99dcad7de85', "data-version": version }, h("button", { key: '0cc95e3c46a6d91ec3d31fff498b4c0b784de272', class: "btn btn-icon-close", type: "button", onClick: () => this.postClick.emit() }, h("post-icon", { key: 'e30566a7734bb6a64a03f8983da015e7e7ec8c90', "aria-hidden": "true", name: "closex" }), h("span", { key: '549ef38de408b6af78605f5e2f6f5c9aa291c04b', class: "visually-hidden" }, h("slot", { key: '0325e4b54cfa8cfea9ddf243c1c25730d9a4b88f', onSlotchange: () => this.checkHiddenLabel() })))));
16
+ return (h(Host, { key: 'a8db3ecbefea609234c4c8c29dbf085637592c2c', "data-version": version }, h("button", { key: '58cef7f32f6ec89d46a1ea57b5497089a96aebf3', class: "btn btn-icon-close", type: "button" }, h("post-icon", { key: '023a67437b69bb9966d08b027cc5f10d68baac40', "aria-hidden": "true", name: "closex" }), h("span", { key: 'b1a21810b6179ddd8d66b426a3149966c1972f59', class: "visually-hidden" }, h("slot", { key: '2a2417bedbcb57c75993722d3267342c7df7381d', onSlotchange: () => this.checkHiddenLabel() })))));
17
17
  }
18
18
  static get is() { return "post-closebutton"; }
19
19
  static get encapsulation() { return "shadow"; }
@@ -27,23 +27,5 @@ export class PostClosebutton {
27
27
  "$": ["post-closebutton.css"]
28
28
  };
29
29
  }
30
- static get events() {
31
- return [{
32
- "method": "postClick",
33
- "name": "postClick",
34
- "bubbles": true,
35
- "cancelable": true,
36
- "composed": true,
37
- "docs": {
38
- "tags": [],
39
- "text": "An event emitted when the close button is clicked.\nIt has no payload."
40
- },
41
- "complexType": {
42
- "original": "void",
43
- "resolved": "void",
44
- "references": {}
45
- }
46
- }];
47
- }
48
30
  static get elementRef() { return "host"; }
49
31
  }
@@ -13,6 +13,9 @@ import { PLACEMENT_TYPES } from "../../types/index";
13
13
  import { version } from "../../../../package";
14
14
  import { getFocusableChildren } from "../../utils/get-focusable-children";
15
15
  import { getRoot, checkEmptyOrOneOf, EventFrom } from "../../utils/index";
16
+ /**
17
+ * @part menu - The container element that holds the list of menu items.
18
+ */
16
19
  export class PostMenu {
17
20
  constructor() {
18
21
  this.lastFocusedElement = null;
@@ -173,7 +176,7 @@ export class PostMenu {
173
176
  .flatMap(el => Array.from(getFocusableChildren(el))));
174
177
  }
175
178
  render() {
176
- return (h(Host, { key: 'bca8873f7f98b03d3e6952bce4990d1c435bd5ec', "data-version": version, role: "menu" }, h("post-popovercontainer", { key: '805c1e528c4af6e35b7881395b2f9de9e430f8c8', placement: this.placement, ref: e => (this.popoverRef = e) }, h("div", { key: 'f534119e208f2bb387f39824736aee766f550fa8', part: "menu" }, h("slot", { key: 'ec9ae42dab9aebd93aafdbebd15d8c39736c84df' })))));
179
+ return (h(Host, { key: 'ee365a30646247563fccd55556f7667cb1591d02', "data-version": version, role: "menu" }, h("post-popovercontainer", { key: 'c649841d408d3f35dfed959cdc6b041163ff80d3', placement: this.placement, ref: e => (this.popoverRef = e) }, h("div", { key: '9f4f145b80c716d27dc51f4bcb0d269b2b2678a8', part: "menu" }, h("slot", { key: '72b53c8f154a4a91541799a789e8618a8d1a9c2c' })))));
177
180
  }
178
181
  static get is() { return "post-menu"; }
179
182
  static get encapsulation() { return "shadow"; }
@@ -5,8 +5,8 @@ import { componentOnReady } from "../../utils/index";
5
5
  /**
6
6
  * @slot tabs - Slot for placing tab headers. Each tab header should be a <post-tab-header> element.
7
7
  * @slot default - Slot for placing tab panels. Each tab panel should be a <post-tab-panel> element.
8
- * @part tabs - Add custom styles for the tab header container.
9
- * @part content - Add custom styles for the tab panel container.
8
+ * @part tabs - The container element that holds the set of tabs.
9
+ * @part content - The container element that displays the content of the currently active tab.
10
10
  */
11
11
  export class PostTabs {
12
12
  constructor() {
@@ -145,7 +145,7 @@ export class PostTabs {
145
145
  nextTab.focus();
146
146
  }
147
147
  render() {
148
- return (h(Host, { key: '467959e964a6d7f44ac3eee09f9c7d2b501af4fe', "data-version": version }, h("div", { key: '7ce4c0428360124f6937d123a4664d6f22e1110c', class: "tabs-wrapper", part: "tabs" }, h("div", { key: 'c41b073b855cb12a789c8656d12b0f6e9e20ea6f', class: "tabs", role: "tablist" }, h("slot", { key: '37935aa4c4d1ca4e71931e9e50d91e77075d2b64', name: "tabs", onSlotchange: () => this.enableTabs() }))), h("div", { key: 'bb84a728572c00256e219b5dd28322cbab699932', class: "tab-content", part: "content" }, h("slot", { key: 'e2aa9cf6a9faa9f5ded6018def77b9b818b2b986', onSlotchange: () => this.moveMisplacedTabs() }))));
148
+ return (h(Host, { key: 'dc7228c840d65e3546e0d13e5bcaa78819b5aeb9', "data-version": version }, h("div", { key: '377d592f7c00f3ec0c7aba2a4a8ca2b88cd37927', class: "tabs-wrapper", part: "tabs" }, h("div", { key: '6e79f33d6cd82d55ba9fad2f09f6163ce7e0a372', class: "tabs", role: "tablist" }, h("slot", { key: '65fbf3cb6525f2f2ae97eb60dad313811db4c585', name: "tabs", onSlotchange: () => this.enableTabs() }))), h("div", { key: '675a59a27e79bad06ea2b70c4fc7b0a6f4b020ff', class: "tab-content", part: "content" }, h("slot", { key: 'b559af0fa652e352673fbabb6829a62a5630e809', onSlotchange: () => this.moveMisplacedTabs() }))));
149
149
  }
150
150
  static get is() { return "post-tabs"; }
151
151
  static get encapsulation() { return "shadow"; }
@@ -7,7 +7,7 @@
7
7
  * @returns true if the event should be processed, false otherwise
8
8
  */
9
9
  function shouldProcessEvent(event, tag, host, ignoreNestedComponents) {
10
- if (!(event instanceof CustomEvent && event.target instanceof HTMLElement))
10
+ if (!(event instanceof Event && event.target instanceof HTMLElement))
11
11
  return false;
12
12
  const eventTarget = event.target;
13
13
  if (eventTarget.localName !== tag)
@@ -38,7 +38,7 @@ export function EventFrom(tag, option = { ignoreNestedComponents: true }) {
38
38
  };
39
39
  }
40
40
  else {
41
- // Creates a hidden storage property for the original method using a
41
+ // Creates a hidden storage property for the original method using a
42
42
  // modified key format (__[property]_original) to avoid naming conflicts
43
43
  const privateKey = `__${propertyKey}_original`;
44
44
  // Create hidden storage for original method
@@ -7,7 +7,7 @@
7
7
  * @returns true if the event should be processed, false otherwise
8
8
  */
9
9
  function shouldProcessEvent(event, tag, host, ignoreNestedComponents) {
10
- if (!(event instanceof CustomEvent && event.target instanceof HTMLElement))
10
+ if (!(event instanceof Event && event.target instanceof HTMLElement))
11
11
  return false;
12
12
  const eventTarget = event.target;
13
13
  if (eventTarget.localName !== tag)
@@ -38,7 +38,7 @@ function EventFrom(tag, option = { ignoreNestedComponents: true }) {
38
38
  };
39
39
  }
40
40
  else {
41
- // Creates a hidden storage property for the original method using a
41
+ // Creates a hidden storage property for the original method using a
42
42
  // modified key format (__[property]_original) to avoid naming conflicts
43
43
  const privateKey = `__${propertyKey}_original`;
44
44
  // Create hidden storage for original method
@@ -0,0 +1,15 @@
1
+ import { I as IS_BROWSER } from './breakpoints.js';
2
+
3
+ /**
4
+ * getRootNode() can only be used after the element has been attached to the document!
5
+ * So use it for example in the componentDidLoad lifecycle hook.
6
+ */
7
+ function getRoot(element) {
8
+ const root = IS_BROWSER ? element.getRootNode() : element;
9
+ if (root instanceof Document || root instanceof ShadowRoot) {
10
+ return root;
11
+ }
12
+ throw new Error('Attempting to access root node before the element is attached to the document or shadow tree.');
13
+ }
14
+
15
+ export { getRoot as g };
@@ -1,3 +1,75 @@
1
+ /* PostComponents custom elements */
2
+ export { PostAccordion as PostAccordion } from '../types/components/post-accordion/post-accordion';
3
+ export { defineCustomElement as defineCustomElementPostAccordion } from './post-accordion';
4
+ export { PostAccordionItem as PostAccordionItem } from '../types/components/post-accordion-item/post-accordion-item';
5
+ export { defineCustomElement as defineCustomElementPostAccordionItem } from './post-accordion-item';
6
+ export { PostAvatar as PostAvatar } from '../types/components/post-avatar/post-avatar';
7
+ export { defineCustomElement as defineCustomElementPostAvatar } from './post-avatar';
8
+ export { PostBackToTop as PostBackToTop } from '../types/components/post-back-to-top/post-back-to-top';
9
+ export { defineCustomElement as defineCustomElementPostBackToTop } from './post-back-to-top';
10
+ export { PostBanner as PostBanner } from '../types/components/post-banner/post-banner';
11
+ export { defineCustomElement as defineCustomElementPostBanner } from './post-banner';
12
+ export { PostBreadcrumbItem as PostBreadcrumbItem } from '../types/components/post-breadcrumb-item/post-breadcrumb-item';
13
+ export { defineCustomElement as defineCustomElementPostBreadcrumbItem } from './post-breadcrumb-item';
14
+ export { PostBreadcrumbs as PostBreadcrumbs } from '../types/components/post-breadcrumbs/post-breadcrumbs';
15
+ export { defineCustomElement as defineCustomElementPostBreadcrumbs } from './post-breadcrumbs';
16
+ export { PostCardControl as PostCardControl } from '../types/components/post-card-control/post-card-control';
17
+ export { defineCustomElement as defineCustomElementPostCardControl } from './post-card-control';
18
+ export { PostClosebutton as PostClosebutton } from '../types/components/post-closebutton/post-closebutton';
19
+ export { defineCustomElement as defineCustomElementPostClosebutton } from './post-closebutton';
20
+ export { PostCollapsible as PostCollapsible } from '../types/components/post-collapsible/post-collapsible';
21
+ export { defineCustomElement as defineCustomElementPostCollapsible } from './post-collapsible';
22
+ export { PostCollapsibleTrigger as PostCollapsibleTrigger } from '../types/components/post-collapsible-trigger/post-collapsible-trigger';
23
+ export { defineCustomElement as defineCustomElementPostCollapsibleTrigger } from './post-collapsible-trigger';
24
+ export { PostFooter as PostFooter } from '../types/components/post-footer/post-footer';
25
+ export { defineCustomElement as defineCustomElementPostFooter } from './post-footer';
26
+ export { PostHeader as PostHeader } from '../types/components/post-header/post-header';
27
+ export { defineCustomElement as defineCustomElementPostHeader } from './post-header';
28
+ export { PostIcon as PostIcon } from '../types/components/post-icon/post-icon';
29
+ export { defineCustomElement as defineCustomElementPostIcon } from './post-icon';
30
+ export { PostLanguageOption as PostLanguageOption } from '../types/components/post-language-option/post-language-option';
31
+ export { defineCustomElement as defineCustomElementPostLanguageOption } from './post-language-option';
32
+ export { PostLanguageSwitch as PostLanguageSwitch } from '../types/components/post-language-switch/post-language-switch';
33
+ export { defineCustomElement as defineCustomElementPostLanguageSwitch } from './post-language-switch';
34
+ export { PostLinkarea as PostLinkarea } from '../types/components/post-linkarea/post-linkarea';
35
+ export { defineCustomElement as defineCustomElementPostLinkarea } from './post-linkarea';
36
+ export { PostList as PostList } from '../types/components/post-list/post-list';
37
+ export { defineCustomElement as defineCustomElementPostList } from './post-list';
38
+ export { PostListItem as PostListItem } from '../types/components/post-list-item/post-list-item';
39
+ export { defineCustomElement as defineCustomElementPostListItem } from './post-list-item';
40
+ export { PostLogo as PostLogo } from '../types/components/post-logo/post-logo';
41
+ export { defineCustomElement as defineCustomElementPostLogo } from './post-logo';
42
+ export { PostMainnavigation as PostMainnavigation } from '../types/components/post-mainnavigation/post-mainnavigation';
43
+ export { defineCustomElement as defineCustomElementPostMainnavigation } from './post-mainnavigation';
44
+ export { PostMegadropdown as PostMegadropdown } from '../types/components/post-megadropdown/post-megadropdown';
45
+ export { defineCustomElement as defineCustomElementPostMegadropdown } from './post-megadropdown';
46
+ export { PostMegadropdownTrigger as PostMegadropdownTrigger } from '../types/components/post-megadropdown-trigger/post-megadropdown-trigger';
47
+ export { defineCustomElement as defineCustomElementPostMegadropdownTrigger } from './post-megadropdown-trigger';
48
+ export { PostMenu as PostMenu } from '../types/components/post-menu/post-menu';
49
+ export { defineCustomElement as defineCustomElementPostMenu } from './post-menu';
50
+ export { PostMenuItem as PostMenuItem } from '../types/components/post-menu-item/post-menu-item';
51
+ export { defineCustomElement as defineCustomElementPostMenuItem } from './post-menu-item';
52
+ export { PostMenuTrigger as PostMenuTrigger } from '../types/components/post-menu-trigger/post-menu-trigger';
53
+ export { defineCustomElement as defineCustomElementPostMenuTrigger } from './post-menu-trigger';
54
+ export { PostPopover as PostPopover } from '../types/components/post-popover/post-popover';
55
+ export { defineCustomElement as defineCustomElementPostPopover } from './post-popover';
56
+ export { PostPopovercontainer as PostPopovercontainer } from '../types/components/post-popovercontainer/post-popovercontainer';
57
+ export { defineCustomElement as defineCustomElementPostPopovercontainer } from './post-popovercontainer';
58
+ export { PostRating as PostRating } from '../types/components/post-rating/post-rating';
59
+ export { defineCustomElement as defineCustomElementPostRating } from './post-rating';
60
+ export { PostTabHeader as PostTabHeader } from '../types/components/post-tab-header/post-tab-header';
61
+ export { defineCustomElement as defineCustomElementPostTabHeader } from './post-tab-header';
62
+ export { PostTabPanel as PostTabPanel } from '../types/components/post-tab-panel/post-tab-panel';
63
+ export { defineCustomElement as defineCustomElementPostTabPanel } from './post-tab-panel';
64
+ export { PostTabs as PostTabs } from '../types/components/post-tabs/post-tabs';
65
+ export { defineCustomElement as defineCustomElementPostTabs } from './post-tabs';
66
+ export { PostTogglebutton as PostTogglebutton } from '../types/components/post-togglebutton/post-togglebutton';
67
+ export { defineCustomElement as defineCustomElementPostTogglebutton } from './post-togglebutton';
68
+ export { PostTooltip as PostTooltip } from '../types/components/post-tooltip/post-tooltip';
69
+ export { defineCustomElement as defineCustomElementPostTooltip } from './post-tooltip';
70
+ export { PostTooltipTrigger as PostTooltipTrigger } from '../types/components/post-tooltip-trigger/post-tooltip-trigger';
71
+ export { defineCustomElement as defineCustomElementPostTooltipTrigger } from './post-tooltip-trigger';
72
+
1
73
  /**
2
74
  * Get the base path to where the assets can be found. Use "setAssetPath(path)"
3
75
  * if the path needs to be customized.
@@ -31,3 +103,4 @@ export interface SetPlatformOptions {
31
103
  rel?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
32
104
  }
33
105
  export declare const setPlatformOptions: (opts: SetPlatformOptions) => void;
106
+ export * from '../types';