@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
@@ -0,0 +1,189 @@
1
+ import { p as proxyCustomElement, H, h, a as Host } from './index.js';
2
+ import { d as defineCustomElement$2, a as PLACEMENT_TYPES } from './p-Ce7jgYmK.js';
3
+ import { v as version } from './p-0Ltezq5O.js';
4
+ import { I as IS_BROWSER } from './p-CJ80BZ06.js';
5
+ import { d as checkEmptyOrOneOf, c as checkRequiredAndType } from './p-CV7fm1rW.js';
6
+
7
+ function getAttributeObserver(attribute, handler) {
8
+ /**
9
+ * Handle attribute changes and childList changes from the observer
10
+ * @param {MutationRecord[]} mutationList
11
+ */
12
+ function observerHandler(mutationList) {
13
+ mutationList.forEach(mutation => {
14
+ if (mutation.type === 'attributes' && mutation.attributeName === attribute) {
15
+ handler(mutation.target);
16
+ }
17
+ if (mutation.type === 'childList') {
18
+ mutation.addedNodes.forEach(node => {
19
+ if (node.nodeType === Node.ELEMENT_NODE &&
20
+ node.hasAttribute(attribute)) {
21
+ handler(node);
22
+ }
23
+ });
24
+ }
25
+ });
26
+ }
27
+ // Initialize a mutation observer for patching accessibility features
28
+ return IS_BROWSER ? new MutationObserver(observerHandler) : null;
29
+ }
30
+
31
+ const postPopoverCss = "@keyframes popIn{from{transform:scale(0.9);opacity:0;transition-property:transform,opacity,overlay,display;transition-behavior:allow-discrete;transition-duration:var(--post-transition-duration, 0.35s);transition-timing-function:linear(0, 0.007, 0.029 2.2%, 0.118 4.7%, 0.625 14.4%, 0.826 19%, 0.902, 0.962, 1.008 26.1%, 1.041 28.7%, 1.064 32.1%, 1.07 36%, 1.061 40.5%, 1.015 53.4%, 0.999 61.6%, 0.995 71.2%, 1)}to{opacity:1;transform:scale(1)}}.btn-close{padding:0;overflow:visible;border:0;background:none;color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);font:inherit;-webkit-user-select:none;user-select:none;appearance:button;border-radius:var(--post-device-border-radius-round);color:#000;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;cursor:pointer}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn-close{background-color:ButtonFace !important}.btn-close:hover{background-color:Highlight !important}}.btn-close{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}.btn-close: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){.btn-close:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.btn-close: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){.btn-close:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.btn-close::before{mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m16.267 16.667 6.667-6.533-.933-1.067-6.667 6.667-6.667-6.667-.933 1.067 6.667 6.533-6.667 6.667 1.067.933 6.533-6.667 6.667 6.667.933-1.067z'/%3E%3C/svg%3E\");background-color:currentColor;color:currentColor;forced-color-adjust:preserve-parent-color;content:\"\";display:block;height:var(--post-core-dimension-24);width:var(--post-core-dimension-24)}.btn-close:focus,.btn-close:not(:disabled):hover,.pretend-hover.btn-close{color:#000}.btn-close:disabled{color:#999}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn-close{color:CanvasText;forced-color-adjust:none}.btn-close:focus,.btn-close:not(:disabled):hover,.pretend-hover.btn-close{color:Highlight}}.btn-close-white{color:#e6e6e6}.btn-close-white:focus,.btn-close-white:not(:disabled):hover,.btn-close-white.pretend-hover{color:#fff}.btn-close-white:disabled{color:#999}*{box-sizing:border-box}:host{display:block}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}.popover-container{color:var(--post-current-fg);background-color:var(--post-current-bg);display:flex;align-items:self-start;padding:.5em;min-width:160px;max-width:min(var(--post-popover-max-width, 280px),100vw)}.popover-content{padding:.5em;flex-grow:1}.btn-close{color:var(--post-current-fg)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn-close:hover{color:HighlightText !important}}";
32
+
33
+ /**
34
+ * @slot default - Slot for placing content inside the popover.
35
+ */
36
+ let popoverInstances = 0;
37
+ const popoverTargetAttribute = 'data-popover-target';
38
+ const globalToggleHandler = (e) => {
39
+ let currentElement = e.target;
40
+ // Traverse up the DOM tree to find if any parent has the popover target attribute
41
+ while (currentElement && !currentElement.getAttribute(popoverTargetAttribute)) {
42
+ if (currentElement === document.body || !currentElement.parentElement)
43
+ break;
44
+ currentElement = currentElement.parentElement;
45
+ }
46
+ const popoverTarget = currentElement?.getAttribute(popoverTargetAttribute);
47
+ if (!popoverTarget || ('key' in e && e.key !== 'Enter'))
48
+ return;
49
+ const popover = document.getElementById(popoverTarget);
50
+ popover?.toggle(currentElement);
51
+ };
52
+ const PostPopover$1 = /*@__PURE__*/ proxyCustomElement(class PostPopover extends H {
53
+ validatePlacement() {
54
+ checkEmptyOrOneOf(this, 'placement', PLACEMENT_TYPES);
55
+ }
56
+ validateCloseButtonCaption() {
57
+ checkRequiredAndType(this, 'closeButtonCaption', 'string');
58
+ }
59
+ constructor() {
60
+ super();
61
+ this.__registerHost();
62
+ this.__attachShadow();
63
+ // Initialize a mutation observer for patching accessibility features
64
+ this.triggerObserver = IS_BROWSER
65
+ ? getAttributeObserver(popoverTargetAttribute, this.patchAccessibilityFeatures)
66
+ : null;
67
+ /**
68
+ * Defines the position of the popover relative to its trigger.
69
+ * Popovers are automatically flipped to the opposite side if there is not enough available space and are shifted towards the viewport if they would overlap edge boundaries.
70
+ * For supported values and behavior details, see the [Floating UI placement documentation](https://floating-ui.com/docs/computePosition#placement).
71
+ */
72
+ this.placement = 'top';
73
+ /**
74
+ * Show a little indicator arrow
75
+ */
76
+ // eslint-disable-next-line @stencil-community/ban-default-true
77
+ this.arrow = true;
78
+ this.localBeforeToggleHandler = this.beforeToggleHandler.bind(this);
79
+ }
80
+ connectedCallback() {
81
+ // Set up accessibility patcher and event listeners for the first component
82
+ if (popoverInstances === 0) {
83
+ window.addEventListener('pointerup', globalToggleHandler);
84
+ window.addEventListener('keydown', globalToggleHandler);
85
+ this.triggerObserver?.observe(document.body, {
86
+ subtree: true,
87
+ childList: true,
88
+ attributeFilter: [popoverTargetAttribute],
89
+ });
90
+ }
91
+ popoverInstances++;
92
+ this.triggers.forEach(trigger => trigger.setAttribute('aria-expanded', 'false'));
93
+ }
94
+ componentDidLoad() {
95
+ this.validatePlacement();
96
+ this.validateCloseButtonCaption();
97
+ this.popoverRef.addEventListener('beforetoggle', this.localBeforeToggleHandler);
98
+ }
99
+ disconnectedCallback() {
100
+ popoverInstances--;
101
+ // Remove listeners and observer after the last popover has been destructed
102
+ if (popoverInstances === 0) {
103
+ window.removeEventListener('click', globalToggleHandler);
104
+ window.removeEventListener('keydown', globalToggleHandler);
105
+ this.triggerObserver?.disconnect();
106
+ }
107
+ this.popoverRef.removeEventListener('beforetoggle', this.localBeforeToggleHandler);
108
+ this.triggers.forEach(trigger => trigger.removeAttribute('aria-expanded'));
109
+ }
110
+ /**
111
+ * Programmatically display the popover
112
+ * @param target An element with [data-popover-target="id"] where the popover should be shown
113
+ */
114
+ async show(target) {
115
+ this.popoverRef.show(target);
116
+ console.log(this.popoverRef);
117
+ target.setAttribute('aria-expanded', 'true');
118
+ }
119
+ /**
120
+ * Programmatically hide this popover
121
+ */
122
+ async hide() {
123
+ this.popoverRef.hide();
124
+ this.triggers.forEach(trigger => trigger.setAttribute('aria-expanded', 'false'));
125
+ }
126
+ /**
127
+ * Toggle popover display
128
+ * @param target An element with [data-popover-target="id"] where the popover should be anchored to
129
+ * @param force Pass true to always show or false to always hide
130
+ */
131
+ async toggle(target, force) {
132
+ const newState = await this.popoverRef.toggle(target, force);
133
+ this.triggers.forEach(trigger => trigger.setAttribute('aria-expanded', 'false'));
134
+ target.setAttribute('aria-expanded', `${newState}`);
135
+ }
136
+ get triggers() {
137
+ return document.querySelectorAll(`[${popoverTargetAttribute}="${this.host.id}"]`);
138
+ }
139
+ beforeToggleHandler() {
140
+ this.triggers.forEach(trigger => trigger.setAttribute('aria-expanded', 'false'));
141
+ }
142
+ patchAccessibilityFeatures(trigger) {
143
+ const force = trigger.hasAttribute(popoverTargetAttribute);
144
+ trigger.setAttribute('aria-expanded', force ? 'false' : null);
145
+ }
146
+ render() {
147
+ return (h(Host, { key: 'fe756429b10af594a621b5769f129ee82b1aa6eb', "data-version": version }, h("post-popovercontainer", { key: '437b8c75fc878b3edb916887cfab3933ed08c7b2', arrow: this.arrow, placement: this.placement, ref: e => (this.popoverRef = e) }, h("div", { key: '082e00cb11a042cad036252743261395874b0a86', class: "popover-container" }, h("div", { key: 'be2e39304472bf351a524dc4f6eeb3ec9da8fc58', class: "popover-content" }, h("slot", { key: 'e1cd722828d3b136ad96553d81334b31de3289f9' })), h("button", { key: 'b6fa750860d95bf223da9224d6fa8531e577b3a5', class: "btn-close", onClick: () => this.hide() }, h("span", { key: 'dd3fb8e0e0e15c58df5b1aacfe5d4a6b90ec3843', class: "visually-hidden" }, this.closeButtonCaption))))));
148
+ }
149
+ get host() { return this; }
150
+ static get watchers() { return {
151
+ "placement": ["validatePlacement"],
152
+ "closeButtonCaption": ["validateCloseButtonCaption"]
153
+ }; }
154
+ static get style() { return postPopoverCss; }
155
+ }, [1, "post-popover", {
156
+ "placement": [1],
157
+ "closeButtonCaption": [1, "close-button-caption"],
158
+ "arrow": [4],
159
+ "show": [64],
160
+ "hide": [64],
161
+ "toggle": [64]
162
+ }, undefined, {
163
+ "placement": ["validatePlacement"],
164
+ "closeButtonCaption": ["validateCloseButtonCaption"]
165
+ }]);
166
+ function defineCustomElement$1() {
167
+ if (typeof customElements === "undefined") {
168
+ return;
169
+ }
170
+ const components = ["post-popover", "post-popovercontainer"];
171
+ components.forEach(tagName => { switch (tagName) {
172
+ case "post-popover":
173
+ if (!customElements.get(tagName)) {
174
+ customElements.define(tagName, PostPopover$1);
175
+ }
176
+ break;
177
+ case "post-popovercontainer":
178
+ if (!customElements.get(tagName)) {
179
+ defineCustomElement$2();
180
+ }
181
+ break;
182
+ } });
183
+ }
184
+ defineCustomElement$1();
185
+
186
+ const PostPopover = PostPopover$1;
187
+ const defineCustomElement = defineCustomElement$1;
188
+
189
+ export { PostPopover, defineCustomElement };
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../../types/components";
2
+
3
+ interface PostPopovercontainer extends Components.PostPopovercontainer, HTMLElement {}
4
+ export const PostPopovercontainer: {
5
+ prototype: PostPopovercontainer;
6
+ new (): PostPopovercontainer;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,6 @@
1
+ import { P as PostPopovercontainer$1, d as defineCustomElement$1 } from './p-Ce7jgYmK.js';
2
+
3
+ const PostPopovercontainer = PostPopovercontainer$1;
4
+ const defineCustomElement = defineCustomElement$1;
5
+
6
+ export { PostPopovercontainer, defineCustomElement };
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../../types/components";
2
+
3
+ interface PostRating extends Components.PostRating, HTMLElement {}
4
+ export const PostRating: {
5
+ prototype: PostRating;
6
+ new (): PostRating;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,153 @@
1
+ import { p as proxyCustomElement, H, c as createEvent, h, a as Host } from './index.js';
2
+ import { v as version } from './p-0Ltezq5O.js';
3
+ import { c as checkRequiredAndType } from './p-CV7fm1rW.js';
4
+ import './p-CJ80BZ06.js';
5
+ import { d as defineCustomElement$2 } from './p-Da5wbVP8.js';
6
+
7
+ const postRatingCss = "@keyframes popIn{from{transform:scale(0.9);opacity:0;transition-property:transform,opacity,overlay,display;transition-behavior:allow-discrete;transition-duration:var(--post-transition-duration, 0.35s);transition-timing-function:linear(0, 0.007, 0.029 2.2%, 0.118 4.7%, 0.625 14.4%, 0.826 19%, 0.902, 0.962, 1.008 26.1%, 1.041 28.7%, 1.064 32.1%, 1.07 36%, 1.061 40.5%, 1.015 53.4%, 0.999 61.6%, 0.995 71.2%, 1)}to{opacity:1;transform:scale(1)}}:host{display:inline-block}.rating{display:flex;flex-wrap:wrap;overflow:hidden;margin:0 calc(var(--post-core-dimension-4)*-1);border-radius:4px}.rating .star{--post-rating-star-stroke:hsl(0, 0%, 40%);--post-rating-star-fill:#fff;position:relative;width:2rem;height:2rem;cursor:pointer}.rating .star .stroke,.rating .star .fill{display:block;width:100%;height:100%;transition:all ease 100ms}.rating .star .stroke{position:absolute;inset:auto;z-index:1;color:var(--post-rating-star-stroke)}.rating .star .fill{margin:1px;width:calc(100% - 2px);height:calc(100% - 2px);color:var(--post-rating-star-fill)}.rating .star.before-hover{--post-rating-star-stroke:hsl(0, 0%, 40%);--post-rating-star-fill:#fc0}.rating .star.active{--post-rating-star-stroke:hsl(0, 0%, 20%);--post-rating-star-fill:#fc0}.rating .star.hover{--post-rating-star-stroke:hsl(0, 0%, 40%);--post-rating-star-fill:#fc0}.rating .star.after-active{--post-rating-star-stroke:hsl(0, 0%, 40%);--post-rating-star-fill:hsl(0, 0%, 80%)}.rating :focus{outline:none}.rating:focus-visible{outline-offset:var(--post-core-dimension-2);outline:var(--post-core-dimension-2) solid #1976c8}.rating[aria-readonly=true] .star,.rating[aria-disabled=true] .star{cursor:default}.rating[aria-disabled=true] .star{--post-rating-star-stroke:hsl(0, 0%, 60%);--post-rating-star-fill:#fff}.rating[aria-disabled=true] .star.active{cursor:default;--post-rating-star-stroke:hsl(0, 0%, 60%);--post-rating-star-fill:hsl(0, 0%, 90%)}";
8
+
9
+ const PostRating$1 = /*@__PURE__*/ proxyCustomElement(class PostRating extends H {
10
+ validateLabel() {
11
+ checkRequiredAndType(this, 'label', 'string');
12
+ }
13
+ validateStars() {
14
+ checkRequiredAndType(this, 'stars', 'number');
15
+ }
16
+ validateCurrentRating() {
17
+ checkRequiredAndType(this, 'currentRating', 'number');
18
+ }
19
+ componentWillLoad() {
20
+ this.validateLabel();
21
+ this.validateStars();
22
+ this.validateCurrentRating();
23
+ }
24
+ constructor() {
25
+ super();
26
+ this.__registerHost();
27
+ this.__attachShadow();
28
+ this.postInput = createEvent(this, "postInput");
29
+ this.postChange = createEvent(this, "postChange");
30
+ this.hasChanged = false;
31
+ /**
32
+ * Defines a hidden label for the component.
33
+ */
34
+ this.label = 'Rating';
35
+ /**
36
+ * Defines the total amount of stars rendered in the component.
37
+ */
38
+ this.stars = 5;
39
+ /**
40
+ * Defines the rating that the component should show.
41
+ */
42
+ this.currentRating = 0;
43
+ /**
44
+ * Defines if the component is readonly or not.
45
+ * This usually should be used together with the `currentRating` property.
46
+ */
47
+ this.readonly = false;
48
+ this.keydownHandler = this.keydownHandler.bind(this);
49
+ this.blurHandler = this.blurHandler.bind(this);
50
+ this.hoverHandler = this.hoverHandler.bind(this);
51
+ }
52
+ update(value) {
53
+ if (this.readonly || value < 0 || value > this.stars)
54
+ return;
55
+ this.currentRating = this.currentRating !== value ? value : 0; // If a star is clicked the second time, the rating gets set to 0.
56
+ this.postInput.emit({ value: this.currentRating });
57
+ this.hasChanged = true;
58
+ }
59
+ keydownHandler(e) {
60
+ switch (e.key) {
61
+ case 'ArrowDown':
62
+ case 'ArrowLeft':
63
+ e.preventDefault();
64
+ this.update(this.currentRating - 1);
65
+ break;
66
+ case 'ArrowUp':
67
+ case 'ArrowRight':
68
+ e.preventDefault();
69
+ this.update(this.currentRating + 1);
70
+ break;
71
+ case 'Home':
72
+ e.preventDefault();
73
+ this.update(0);
74
+ break;
75
+ case 'End':
76
+ e.preventDefault();
77
+ this.update(this.stars);
78
+ break;
79
+ case 'Enter':
80
+ case ' ':
81
+ this.blurHandler();
82
+ break;
83
+ default:
84
+ return;
85
+ }
86
+ }
87
+ blurHandler() {
88
+ if (this.hasChanged) {
89
+ this.postChange.emit({ value: this.currentRating });
90
+ this.hasChanged = false;
91
+ }
92
+ }
93
+ hoverHandler(index, e) {
94
+ if (this.readonly)
95
+ return;
96
+ if (e.type === 'mouseenter') {
97
+ this.hoveredIndex = index;
98
+ }
99
+ else if (e.type === 'mouseleave') {
100
+ this.hoveredIndex = undefined;
101
+ }
102
+ }
103
+ render() {
104
+ return (h(Host, { key: '588c5d3c4600faa939cab4b673e27d08182323da', "data-version": version }, h("div", { key: '8fced4724505cdc2f3fb3160cf276ed1280b5431', role: "slider", class: "rating", tabindex: "0", "aria-label": this.label, "aria-valuemin": "0", "aria-valuemax": this.stars, "aria-valuenow": this.currentRating, "aria-valuetext": `${this.currentRating} out of ${this.stars}`, "aria-readonly": this.readonly ? 'true' : 'false', onKeyDown: this.keydownHandler, onBlur: this.blurHandler }, Array.from({ length: this.stars }).map((v, i) => (h("div", { key: `star-${v}`, "aria-hidden": "true", class: {
105
+ 'star': true,
106
+ 'before-hover': i < this.hoveredIndex,
107
+ 'active': i < Math.round(this.currentRating),
108
+ 'hover': i === this.hoveredIndex,
109
+ 'after-active': i > this.hoveredIndex && i < this.currentRating,
110
+ }, onClick: () => this.update(i + 1), onMouseEnter: e => this.hoverHandler(i, e), onMouseLeave: e => this.hoverHandler(i, e) }, h("post-icon", { name: "2062", class: "stroke" }), h("post-icon", { name: "2574", class: "fill" })))))));
111
+ }
112
+ get host() { return this; }
113
+ static get watchers() { return {
114
+ "label": ["validateLabel"],
115
+ "stars": ["validateStars"],
116
+ "currentRating": ["validateCurrentRating"]
117
+ }; }
118
+ static get style() { return postRatingCss; }
119
+ }, [1, "post-rating", {
120
+ "label": [1],
121
+ "stars": [2],
122
+ "currentRating": [1026, "current-rating"],
123
+ "readonly": [4],
124
+ "hoveredIndex": [32]
125
+ }, undefined, {
126
+ "label": ["validateLabel"],
127
+ "stars": ["validateStars"],
128
+ "currentRating": ["validateCurrentRating"]
129
+ }]);
130
+ function defineCustomElement$1() {
131
+ if (typeof customElements === "undefined") {
132
+ return;
133
+ }
134
+ const components = ["post-rating", "post-icon"];
135
+ components.forEach(tagName => { switch (tagName) {
136
+ case "post-rating":
137
+ if (!customElements.get(tagName)) {
138
+ customElements.define(tagName, PostRating$1);
139
+ }
140
+ break;
141
+ case "post-icon":
142
+ if (!customElements.get(tagName)) {
143
+ defineCustomElement$2();
144
+ }
145
+ break;
146
+ } });
147
+ }
148
+ defineCustomElement$1();
149
+
150
+ const PostRating = PostRating$1;
151
+ const defineCustomElement = defineCustomElement$1;
152
+
153
+ export { PostRating, defineCustomElement };
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../../types/components";
2
+
3
+ interface PostTabHeader extends Components.PostTabHeader, HTMLElement {}
4
+ export const PostTabHeader: {
5
+ prototype: PostTabHeader;
6
+ new (): PostTabHeader;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,53 @@
1
+ import { p as proxyCustomElement, H, h, a as Host } from './index.js';
2
+ import { v as version } from './p-0Ltezq5O.js';
3
+ import { c as checkRequiredAndType } from './p-CV7fm1rW.js';
4
+ import './p-CJ80BZ06.js';
5
+ import { n as nanoid } from './p-BLchVpF6.js';
6
+
7
+ const postTabHeaderCss = ".tab-title[role=tab]{display:inline-block;cursor:pointer;position:relative;box-sizing:border-box;padding:1rem;transition:background-color 100ms;border-right:1px solid rgba(0,0,0,0);border-left:1px solid rgba(0,0,0,0);outline-color:currentColor;opacity:.7;color:#000;text-decoration:none;background-color:rgba(0,0,0,0)}.tab-title[role=tab]:focus{background-color:unset;color:#000}.tab-title[role=tab]:hover{opacity:1;background-color:rgba(0,0,0,.6);color:#fff}.tab-title[role=tab]:focus-visible{outline:rgba(0,0,0,0);opacity:1;background-color:rgba(0,0,0,.6);color:#fff;box-shadow:none}.tab-title[role=tab]:focus-visible::after{content:\"\";display:block;position:absolute;top:2px;right:1px;bottom:0;left:1px;box-shadow:0 0 0 1px #fff,0 0 0 2px #333}.tab-title[role=tab].active{z-index:1;border-right-color:#ccc;border-left-color:#ccc;opacity:1;background-color:#fff;color:#000;font-weight:700}.tab-title[role=tab].active::before{content:\"\";display:block;position:absolute;top:0;right:-1px;left:-1px;height:var(--post-core-dimension-4);background-color:#fc0}:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error) .tab-title[role=tab]:hover{background-color:rgba(255,255,255,.2)}:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error) .tab-title[role=tab]:focus-visible{background-color:rgba(255,255,255,.2)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.tab-title[role=tab]{opacity:1;border-left-color:Canvas;border-right-color:Canvas;color:LinkText}.tab-title[role=tab]:hover,.tab-title[role=tab]:focus,.tab-title[role=tab]:focus-within,.tab-title[role=tab]:focus-visible{outline:var(--post-core-dimension-2) solid Highlight;outline-offset:calc(var(--post-core-dimension-4)*-1)}.tab-title[role=tab].active{border-left-color:ButtonText;border-right-color:ButtonText;color:Highlight}.tab-title[role=tab].active::before{background-color:Highlight}}@keyframes popIn{from{transform:scale(0.9);opacity:0;transition-property:transform,opacity,overlay,display;transition-behavior:allow-discrete;transition-duration:var(--post-transition-duration, 0.35s);transition-timing-function:linear(0, 0.007, 0.029 2.2%, 0.118 4.7%, 0.625 14.4%, 0.826 19%, 0.902, 0.962, 1.008 26.1%, 1.041 28.7%, 1.064 32.1%, 1.07 36%, 1.061 40.5%, 1.015 53.4%, 0.999 61.6%, 0.995 71.2%, 1)}to{opacity:1;transform:scale(1)}}:host{display:block}.tab-title{padding:0;overflow:visible;border:0;background:none;color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);font:inherit;-webkit-user-select:none;user-select:none;appearance:button}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.tab-title{background-color:ButtonFace !important}.tab-title:hover{background-color:Highlight !important}}";
8
+
9
+ const PostTabHeader$1 = /*@__PURE__*/ proxyCustomElement(class PostTabHeader extends H {
10
+ constructor() {
11
+ super();
12
+ this.__registerHost();
13
+ this.__attachShadow();
14
+ }
15
+ validateFor() {
16
+ checkRequiredAndType(this, 'panel', 'string');
17
+ }
18
+ componentWillLoad() {
19
+ this.tabId = `tab-${this.host.id || nanoid(6)}`;
20
+ }
21
+ render() {
22
+ return (h(Host, { key: 'd5f6cd0ceb819b475ec49f8ea66e6b4b25f04f8e', id: this.tabId, role: "tab", "data-version": version, "aria-selected": "false", tabindex: "-1", class: "tab-title", slot: "tabs" }, h("slot", { key: '8a87fef31572674981dab80e56e6b20163b448ae' })));
23
+ }
24
+ get host() { return this; }
25
+ static get watchers() { return {
26
+ "panel": ["validateFor"]
27
+ }; }
28
+ static get style() { return postTabHeaderCss; }
29
+ }, [1, "post-tab-header", {
30
+ "panel": [513],
31
+ "tabId": [32]
32
+ }, undefined, {
33
+ "panel": ["validateFor"]
34
+ }]);
35
+ function defineCustomElement$1() {
36
+ if (typeof customElements === "undefined") {
37
+ return;
38
+ }
39
+ const components = ["post-tab-header"];
40
+ components.forEach(tagName => { switch (tagName) {
41
+ case "post-tab-header":
42
+ if (!customElements.get(tagName)) {
43
+ customElements.define(tagName, PostTabHeader$1);
44
+ }
45
+ break;
46
+ } });
47
+ }
48
+ defineCustomElement$1();
49
+
50
+ const PostTabHeader = PostTabHeader$1;
51
+ const defineCustomElement = defineCustomElement$1;
52
+
53
+ export { PostTabHeader, defineCustomElement };
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../../types/components";
2
+
3
+ interface PostTabPanel extends Components.PostTabPanel, HTMLElement {}
4
+ export const PostTabPanel: {
5
+ prototype: PostTabPanel;
6
+ new (): PostTabPanel;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,55 @@
1
+ import { p as proxyCustomElement, H, h, a as Host } from './index.js';
2
+ import { v as version } from './p-0Ltezq5O.js';
3
+ import { n as nanoid } from './p-BLchVpF6.js';
4
+ import { c as checkRequiredAndType } from './p-CV7fm1rW.js';
5
+ import './p-CJ80BZ06.js';
6
+
7
+ const postTabPanelCss = ":host{display:none}";
8
+
9
+ const PostTabPanel$1 = /*@__PURE__*/ proxyCustomElement(class PostTabPanel extends H {
10
+ constructor() {
11
+ super();
12
+ this.__registerHost();
13
+ this.__attachShadow();
14
+ }
15
+ validateName() {
16
+ checkRequiredAndType(this, 'name', 'string');
17
+ }
18
+ componentWillLoad() {
19
+ this.validateName();
20
+ // get the id set on the host element or use a random id by default
21
+ this.panelId = `panel-${this.host.id || nanoid(6)}`;
22
+ }
23
+ render() {
24
+ return (h(Host, { key: '609dd2b8bf26e58e92a1dbc827e4479ac416d95b', "data-version": version, id: this.panelId, role: "tabpanel" }, h("slot", { key: '121538878e0298f1f16f6e20eeb15d5da8a5ba9c' })));
25
+ }
26
+ get host() { return this; }
27
+ static get watchers() { return {
28
+ "name": ["validateName"]
29
+ }; }
30
+ static get style() { return postTabPanelCss; }
31
+ }, [1, "post-tab-panel", {
32
+ "name": [513],
33
+ "panelId": [32]
34
+ }, undefined, {
35
+ "name": ["validateName"]
36
+ }]);
37
+ function defineCustomElement$1() {
38
+ if (typeof customElements === "undefined") {
39
+ return;
40
+ }
41
+ const components = ["post-tab-panel"];
42
+ components.forEach(tagName => { switch (tagName) {
43
+ case "post-tab-panel":
44
+ if (!customElements.get(tagName)) {
45
+ customElements.define(tagName, PostTabPanel$1);
46
+ }
47
+ break;
48
+ } });
49
+ }
50
+ defineCustomElement$1();
51
+
52
+ const PostTabPanel = PostTabPanel$1;
53
+ const defineCustomElement = defineCustomElement$1;
54
+
55
+ export { PostTabPanel, defineCustomElement };
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../../types/components";
2
+
3
+ interface PostTabs extends Components.PostTabs, HTMLElement {}
4
+ export const PostTabs: {
5
+ prototype: PostTabs;
6
+ new (): PostTabs;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;