@swisspost/design-system-components 10.0.0-next.71 → 10.0.0-next.75

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 (439) hide show
  1. package/dist/cjs/create-validator-decorator-Bimhl6Ib.js +223 -0
  2. package/dist/cjs/{index-CCteMCnR.js → index-CyeY2muT.js} +54 -5
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/one-of-BVQP1dR3.js +27 -0
  5. package/dist/cjs/{package-CscM89A7.js → package-JSyXVavg.js} +1 -1
  6. package/dist/cjs/pattern-BDKu8-v6.js +27 -0
  7. package/dist/cjs/post-accordion_2.cjs.entry.js +15 -21
  8. package/dist/cjs/post-autocomplete.cjs.entry.js +26 -13
  9. package/dist/cjs/post-avatar.cjs.entry.js +30 -33
  10. package/dist/cjs/post-back-to-top.cjs.entry.js +20 -11
  11. package/dist/cjs/post-banner.cjs.entry.js +9 -14
  12. package/dist/cjs/post-breadcrumb-item.cjs.entry.js +34 -24
  13. package/dist/cjs/post-breadcrumbs.cjs.entry.js +35 -38
  14. package/dist/cjs/post-closebutton_14.cjs.entry.js +284 -300
  15. package/dist/cjs/post-collapsible_2.cjs.entry.js +56 -39
  16. package/dist/cjs/post-components.cjs.js +2 -2
  17. package/dist/cjs/post-date-picker.cjs.entry.js +142 -140
  18. package/dist/cjs/post-footer.cjs.entry.js +24 -17
  19. package/dist/cjs/post-linkarea.cjs.entry.js +3 -3
  20. package/dist/cjs/post-listbox-option.cjs.entry.js +4 -4
  21. package/dist/cjs/post-listbox.cjs.entry.js +3 -5
  22. package/dist/cjs/post-login-widget.cjs.entry.js +29 -30
  23. package/dist/cjs/post-number-input.cjs.entry.js +5 -5
  24. package/dist/cjs/post-pagination.cjs.entry.js +60 -85
  25. package/dist/cjs/post-popover-trigger.cjs.entry.js +21 -18
  26. package/dist/cjs/post-popover.cjs.entry.js +24 -22
  27. package/dist/cjs/post-progressbar.cjs.entry.js +147 -0
  28. package/dist/cjs/post-rating.cjs.entry.js +33 -34
  29. package/dist/cjs/post-side-navigation-trigger.cjs.entry.js +109 -0
  30. package/dist/cjs/post-side-navigation.cjs.entry.js +129 -0
  31. package/dist/cjs/post-stepper-item.cjs.entry.js +4 -4
  32. package/dist/cjs/post-stepper.cjs.entry.js +50 -37
  33. package/dist/cjs/post-tab-item.cjs.entry.js +20 -12
  34. package/dist/cjs/post-tab-panel.cjs.entry.js +20 -13
  35. package/dist/cjs/post-tabs.cjs.entry.js +21 -7
  36. package/dist/cjs/post-tooltip-trigger.cjs.entry.js +21 -12
  37. package/dist/cjs/post-tooltip.cjs.entry.js +19 -16
  38. package/dist/cjs/required-BsZuSJAl.js +44 -0
  39. package/dist/cjs/type-DXpEWY0w.js +30 -0
  40. package/dist/cjs/url-D-EbWRlF.js +34 -0
  41. package/dist/collection/collection-manifest.json +3 -0
  42. package/dist/collection/components/post-accordion/post-accordion.js +11 -8
  43. package/dist/collection/components/post-accordion-item/post-accordion-item.js +4 -17
  44. package/dist/collection/components/post-autocomplete/post-autocomplete.js +23 -13
  45. package/dist/collection/components/post-avatar/post-avatar.js +27 -33
  46. package/dist/collection/components/post-back-to-top/post-back-to-top.js +17 -10
  47. package/dist/collection/components/post-banner/post-banner.css +2 -2
  48. package/dist/collection/components/post-banner/post-banner.js +7 -14
  49. package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.css +1 -1
  50. package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.js +27 -22
  51. package/dist/collection/components/post-breadcrumbs/post-breadcrumbs.css +1 -1
  52. package/dist/collection/components/post-breadcrumbs/post-breadcrumbs.js +30 -37
  53. package/dist/collection/components/post-closebutton/post-closebutton.css +1 -1
  54. package/dist/collection/components/post-closebutton/post-closebutton.js +45 -37
  55. package/dist/collection/components/post-closebutton/types.js +1 -1
  56. package/dist/collection/components/post-collapsible/post-collapsible.js +26 -16
  57. package/dist/collection/components/post-collapsible-trigger/post-collapsible-trigger.js +34 -30
  58. package/dist/collection/components/post-date-picker/post-date-picker.css +1 -1
  59. package/dist/collection/components/post-date-picker/post-date-picker.js +64 -96
  60. package/dist/collection/components/post-footer/post-footer.js +17 -13
  61. package/dist/collection/components/post-header/post-header.css +1 -1
  62. package/dist/collection/components/post-header/post-header.js +25 -30
  63. package/dist/collection/components/post-icon/post-icon.js +34 -47
  64. package/dist/collection/components/post-language-menu/post-language-menu.css +1 -1
  65. package/dist/collection/components/post-language-menu/post-language-menu.js +15 -20
  66. package/dist/collection/components/post-language-menu-item/post-language-menu-item.css +1 -1
  67. package/dist/collection/components/post-language-menu-item/post-language-menu-item.js +28 -39
  68. package/dist/collection/components/post-linkarea/post-linkarea.js +2 -2
  69. package/dist/collection/components/post-listbox/post-listbox.js +3 -5
  70. package/dist/collection/components/post-listbox-option/post-listbox-option.js +3 -3
  71. package/dist/collection/components/post-login-widget/post-login-widget.css +1 -1
  72. package/dist/collection/components/post-login-widget/post-login-widget.js +25 -29
  73. package/dist/collection/components/post-logo/post-logo.js +16 -13
  74. package/dist/collection/components/post-mainnavigation/post-mainnavigation.js +17 -13
  75. package/dist/collection/components/post-megadropdown/post-megadropdown.css +1 -1
  76. package/dist/collection/components/post-megadropdown/post-megadropdown.js +24 -23
  77. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.css +1 -1
  78. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.js +7 -15
  79. package/dist/collection/components/post-menu/post-menu.css +1 -1
  80. package/dist/collection/components/post-menu/post-menu.js +10 -23
  81. package/dist/collection/components/post-menu-item/post-menu-item.css +1 -1
  82. package/dist/collection/components/post-menu-trigger/post-menu-trigger.js +17 -13
  83. package/dist/collection/components/post-number-input/post-number-input.css +1 -1
  84. package/dist/collection/components/post-number-input/post-number-input.js +5 -5
  85. package/dist/collection/components/post-pagination/post-pagination.css +1 -1
  86. package/dist/collection/components/post-pagination/post-pagination.js +58 -87
  87. package/dist/collection/components/post-popover/post-popover.js +20 -22
  88. package/dist/collection/components/post-popover-trigger/post-popover-trigger.js +16 -14
  89. package/dist/collection/components/post-popovercontainer/post-popovercontainer.css +1 -1
  90. package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +29 -33
  91. package/dist/collection/components/post-progressbar/post-progressbar.css +1 -0
  92. package/dist/collection/components/post-progressbar/post-progressbar.js +136 -0
  93. package/dist/collection/components/post-rating/post-rating.js +25 -29
  94. package/dist/collection/components/post-side-navigation/post-side-navigation.css +1 -0
  95. package/dist/collection/components/post-side-navigation/post-side-navigation.js +231 -0
  96. package/dist/collection/components/post-side-navigation-trigger/post-side-navigation-trigger.css +1 -0
  97. package/dist/collection/components/post-side-navigation-trigger/post-side-navigation-trigger.js +154 -0
  98. package/dist/collection/components/post-stepper/post-stepper.js +46 -36
  99. package/dist/collection/components/post-stepper-item/post-stepper-item.css +1 -1
  100. package/dist/collection/components/post-stepper-item/post-stepper-item.js +2 -2
  101. package/dist/collection/components/post-tab-item/post-tab-item.js +17 -12
  102. package/dist/collection/components/post-tab-panel/post-tab-panel.js +17 -13
  103. package/dist/collection/components/post-tabs/post-tabs.js +20 -7
  104. package/dist/collection/components/post-togglebutton/post-togglebutton.js +5 -3
  105. package/dist/collection/components/post-tooltip/post-tooltip.js +17 -16
  106. package/dist/collection/components/post-tooltip-trigger/post-tooltip-trigger.js +17 -12
  107. package/dist/collection/utils/index.js +3 -4
  108. package/dist/collection/utils/is-value-empty.js +1 -1
  109. package/dist/collection/utils/property-decorators/bound.js +75 -0
  110. package/dist/collection/utils/property-decorators/create-validator-decorator.js +24 -0
  111. package/dist/collection/utils/property-decorators/index.js +1 -1
  112. package/dist/collection/utils/property-decorators/required.js +19 -3
  113. package/dist/component-names.json +3 -0
  114. package/dist/components/breakpoints.js +1 -1
  115. package/dist/components/index.d.ts +6 -0
  116. package/dist/components/index.js +1 -1
  117. package/dist/components/one-of.js +1 -0
  118. package/dist/components/package.js +1 -1
  119. package/dist/components/pattern.js +1 -0
  120. package/dist/components/post-accordion-item2.js +1 -1
  121. package/dist/components/post-accordion2.js +1 -1
  122. package/dist/components/post-autocomplete.js +1 -1
  123. package/dist/components/post-avatar2.js +1 -1
  124. package/dist/components/post-back-to-top.js +1 -1
  125. package/dist/components/post-banner.js +1 -1
  126. package/dist/components/post-breadcrumb-item.js +1 -1
  127. package/dist/components/post-breadcrumbs.js +1 -1
  128. package/dist/components/post-closebutton2.js +1 -1
  129. package/dist/components/post-collapsible-trigger2.js +1 -1
  130. package/dist/components/post-collapsible2.js +1 -1
  131. package/dist/components/post-date-picker.js +1 -1
  132. package/dist/components/post-footer.js +1 -1
  133. package/dist/components/post-header.js +1 -1
  134. package/dist/components/post-icon2.js +1 -1
  135. package/dist/components/post-language-menu-item.js +1 -1
  136. package/dist/components/post-language-menu.js +1 -1
  137. package/dist/components/post-linkarea.js +1 -1
  138. package/dist/components/post-listbox-option.js +1 -1
  139. package/dist/components/post-listbox.js +1 -1
  140. package/dist/components/post-login-widget.js +1 -1
  141. package/dist/components/post-logo.js +1 -1
  142. package/dist/components/post-mainnavigation.js +1 -1
  143. package/dist/components/post-megadropdown-trigger.js +1 -1
  144. package/dist/components/post-megadropdown.js +1 -1
  145. package/dist/components/post-menu-item2.js +1 -1
  146. package/dist/components/post-menu-trigger2.js +1 -1
  147. package/dist/components/post-menu2.js +1 -1
  148. package/dist/components/post-number-input.js +1 -1
  149. package/dist/components/post-pagination.js +1 -1
  150. package/dist/components/post-popover-trigger.js +1 -1
  151. package/dist/components/post-popover.js +1 -1
  152. package/dist/components/post-popovercontainer2.js +1 -1
  153. package/dist/components/post-progressbar.d.ts +11 -0
  154. package/dist/components/post-progressbar.js +1 -0
  155. package/dist/components/post-rating.js +1 -1
  156. package/dist/components/post-side-navigation-trigger.d.ts +11 -0
  157. package/dist/components/post-side-navigation-trigger.js +1 -0
  158. package/dist/components/post-side-navigation.d.ts +11 -0
  159. package/dist/components/post-side-navigation.js +1 -0
  160. package/dist/components/post-stepper-item.js +1 -1
  161. package/dist/components/post-stepper.js +1 -1
  162. package/dist/components/post-tab-item.js +1 -1
  163. package/dist/components/post-tab-panel.js +1 -1
  164. package/dist/components/post-tabs.js +1 -1
  165. package/dist/components/post-togglebutton2.js +1 -1
  166. package/dist/components/post-tooltip-trigger.js +1 -1
  167. package/dist/components/post-tooltip.js +1 -1
  168. package/dist/components/react/index.js +1 -1
  169. package/dist/components/react/p-4wtxqxXu.js +1 -0
  170. package/dist/components/react/p-B3ZJPCU0.js +1 -0
  171. package/dist/components/react/p-BUAS73l8.js +1 -0
  172. package/dist/components/react/p-BUSQG9af.js +1 -0
  173. package/dist/components/react/p-BXqGI600.js +1 -0
  174. package/dist/components/react/p-B_WnO-QF.js +1 -0
  175. package/dist/components/react/p-BaB8wJvk.js +1 -0
  176. package/dist/components/react/p-Bji_4dfL.js +1 -0
  177. package/dist/components/react/p-C7aYEQh5.js +1 -0
  178. package/dist/components/react/p-CX2E_IXB.js +1 -0
  179. package/dist/components/react/p-CbU3QFNG.js +1 -0
  180. package/dist/components/react/p-CdhbouMD.js +1 -0
  181. package/dist/components/react/p-Ci08Eesw.js +1 -0
  182. package/dist/components/react/{p-BC0-M_SK.js → p-DNddZV_h.js} +1 -1
  183. package/dist/components/react/p-DTg2SXJj.js +1 -0
  184. package/dist/components/react/p-DU4XzTGt.js +1 -0
  185. package/dist/components/react/p-DWlDkwjY.js +1 -0
  186. package/dist/components/react/p-wqJxIo5L.js +1 -0
  187. package/dist/components/react/p-ztiqEfbC.js +1 -0
  188. package/dist/components/react/post-accordion-item.js +1 -1
  189. package/dist/components/react/post-accordion.js +1 -1
  190. package/dist/components/react/post-autocomplete.js +1 -1
  191. package/dist/components/react/post-avatar.js +1 -1
  192. package/dist/components/react/post-back-to-top.js +1 -1
  193. package/dist/components/react/post-banner.js +1 -1
  194. package/dist/components/react/post-breadcrumb-item.js +1 -1
  195. package/dist/components/react/post-breadcrumbs.js +1 -1
  196. package/dist/components/react/post-closebutton.js +1 -1
  197. package/dist/components/react/post-collapsible-trigger.js +1 -1
  198. package/dist/components/react/post-collapsible.js +1 -1
  199. package/dist/components/react/post-date-picker.js +1 -1
  200. package/dist/components/react/post-footer.js +1 -1
  201. package/dist/components/react/post-header.js +1 -1
  202. package/dist/components/react/post-icon.js +1 -1
  203. package/dist/components/react/post-language-menu-item.js +1 -1
  204. package/dist/components/react/post-language-menu.js +1 -1
  205. package/dist/components/react/post-linkarea.js +1 -1
  206. package/dist/components/react/post-listbox-option.js +1 -1
  207. package/dist/components/react/post-listbox.js +1 -1
  208. package/dist/components/react/post-login-widget.js +1 -1
  209. package/dist/components/react/post-logo.js +1 -1
  210. package/dist/components/react/post-mainnavigation.js +1 -1
  211. package/dist/components/react/post-megadropdown-trigger.js +1 -1
  212. package/dist/components/react/post-megadropdown.js +1 -1
  213. package/dist/components/react/post-menu-item.js +1 -1
  214. package/dist/components/react/post-menu-trigger.js +1 -1
  215. package/dist/components/react/post-menu.js +1 -1
  216. package/dist/components/react/post-number-input.js +1 -1
  217. package/dist/components/react/post-pagination.js +1 -1
  218. package/dist/components/react/post-popover-trigger.js +1 -1
  219. package/dist/components/react/post-popover.js +1 -1
  220. package/dist/components/react/post-popovercontainer.js +1 -1
  221. package/dist/components/react/post-progressbar.d.ts +11 -0
  222. package/dist/components/react/post-progressbar.js +1 -0
  223. package/dist/components/react/post-rating.js +1 -1
  224. package/dist/components/react/post-side-navigation-trigger.d.ts +11 -0
  225. package/dist/components/react/post-side-navigation-trigger.js +1 -0
  226. package/dist/components/react/post-side-navigation.d.ts +11 -0
  227. package/dist/components/react/post-side-navigation.js +1 -0
  228. package/dist/components/react/post-stepper-item.js +1 -1
  229. package/dist/components/react/post-stepper.js +1 -1
  230. package/dist/components/react/post-tab-item.js +1 -1
  231. package/dist/components/react/post-tab-panel.js +1 -1
  232. package/dist/components/react/post-tabs.js +1 -1
  233. package/dist/components/react/post-togglebutton.js +1 -1
  234. package/dist/components/react/post-tooltip-trigger.js +1 -1
  235. package/dist/components/react/post-tooltip.js +1 -1
  236. package/dist/components/required.js +1 -0
  237. package/dist/components/type.js +1 -0
  238. package/dist/components/url.js +1 -0
  239. package/dist/docs.json +344 -14
  240. package/dist/esm/create-validator-decorator-BNkS_yAb.js +218 -0
  241. package/dist/esm/{index-DmBWUef5.js → index-BGeKgZqi.js} +54 -5
  242. package/dist/esm/loader.js +3 -3
  243. package/dist/esm/one-of-4BD_5pKR.js +25 -0
  244. package/dist/esm/package-CdhbouMD.js +3 -0
  245. package/dist/esm/pattern-D7tnGo1u.js +25 -0
  246. package/dist/esm/post-accordion_2.entry.js +15 -21
  247. package/dist/esm/post-autocomplete.entry.js +26 -13
  248. package/dist/esm/post-avatar.entry.js +30 -33
  249. package/dist/esm/post-back-to-top.entry.js +20 -11
  250. package/dist/esm/post-banner.entry.js +9 -14
  251. package/dist/esm/post-breadcrumb-item.entry.js +34 -24
  252. package/dist/esm/post-breadcrumbs.entry.js +35 -38
  253. package/dist/esm/post-closebutton_14.entry.js +284 -300
  254. package/dist/esm/post-collapsible_2.entry.js +56 -39
  255. package/dist/esm/post-components.js +3 -3
  256. package/dist/esm/post-date-picker.entry.js +142 -140
  257. package/dist/esm/post-footer.entry.js +20 -13
  258. package/dist/esm/post-linkarea.entry.js +3 -3
  259. package/dist/esm/post-listbox-option.entry.js +4 -4
  260. package/dist/esm/post-listbox.entry.js +3 -5
  261. package/dist/esm/post-login-widget.entry.js +29 -30
  262. package/dist/esm/post-number-input.entry.js +5 -5
  263. package/dist/esm/post-pagination.entry.js +60 -85
  264. package/dist/esm/post-popover-trigger.entry.js +19 -16
  265. package/dist/esm/post-popover.entry.js +24 -22
  266. package/dist/esm/post-progressbar.entry.js +145 -0
  267. package/dist/esm/post-rating.entry.js +28 -29
  268. package/dist/esm/post-side-navigation-trigger.entry.js +107 -0
  269. package/dist/esm/post-side-navigation.entry.js +127 -0
  270. package/dist/esm/post-stepper-item.entry.js +4 -4
  271. package/dist/esm/post-stepper.entry.js +50 -37
  272. package/dist/esm/post-tab-item.entry.js +20 -12
  273. package/dist/esm/post-tab-panel.entry.js +20 -13
  274. package/dist/esm/post-tabs.entry.js +21 -7
  275. package/dist/esm/post-tooltip-trigger.entry.js +21 -12
  276. package/dist/esm/post-tooltip.entry.js +19 -16
  277. package/dist/esm/required-DhBxDSbP.js +42 -0
  278. package/dist/esm/type-icZlikjf.js +28 -0
  279. package/dist/esm/url-B_2x2YCy.js +32 -0
  280. package/dist/post-components/p-001f58d8.entry.js +1 -0
  281. package/dist/post-components/p-0a08ae23.entry.js +1 -0
  282. package/dist/post-components/p-12c8b073.entry.js +1 -0
  283. package/dist/post-components/{p-bab0f27f.entry.js → p-15fa7e60.entry.js} +1 -1
  284. package/dist/post-components/p-1839276a.entry.js +1 -0
  285. package/dist/post-components/p-28eeb5d8.entry.js +1 -0
  286. package/dist/post-components/p-3e83aa1f.entry.js +1 -0
  287. package/dist/post-components/p-41b5dbfc.entry.js +1 -0
  288. package/dist/post-components/p-5d20cbcb.entry.js +1 -0
  289. package/dist/post-components/p-6a1c4897.entry.js +1 -0
  290. package/dist/post-components/p-6cbb2e7f.entry.js +1 -0
  291. package/dist/post-components/p-6d14f78a.entry.js +1 -0
  292. package/dist/post-components/p-6e8b6249.entry.js +1 -0
  293. package/dist/post-components/p-71918d59.entry.js +1 -0
  294. package/dist/post-components/p-7ee4b829.entry.js +1 -0
  295. package/dist/post-components/p-8139b0cc.entry.js +1 -0
  296. package/dist/post-components/p-84c8d952.entry.js +1 -0
  297. package/dist/post-components/p-87ebb213.entry.js +1 -0
  298. package/dist/post-components/{p-4b445a35.entry.js → p-89da6378.entry.js} +1 -1
  299. package/dist/post-components/p-8SvFxSp6.js +1 -0
  300. package/dist/post-components/p-8caaa149.entry.js +1 -0
  301. package/dist/post-components/p-923439d1.entry.js +1 -0
  302. package/dist/post-components/p-97c1f070.entry.js +1 -0
  303. package/dist/post-components/p-9e240299.entry.js +1 -0
  304. package/dist/post-components/p-9ec32e7b.entry.js +1 -0
  305. package/dist/post-components/p-BGeKgZqi.js +2 -0
  306. package/dist/post-components/p-CIbyqT6u.js +1 -0
  307. package/dist/post-components/p-CdhbouMD.js +1 -0
  308. package/dist/post-components/p-D2ex14Ye.js +1 -0
  309. package/dist/post-components/p-DH5JdN6V.js +1 -0
  310. package/dist/post-components/p-DiBqDD4N.js +1 -0
  311. package/dist/post-components/p-I6rSjhbA.js +1 -0
  312. package/dist/post-components/p-aff9dd5e.entry.js +1 -0
  313. package/dist/post-components/p-c905a97c.entry.js +1 -0
  314. package/dist/post-components/p-e54a6be0.entry.js +1 -0
  315. package/dist/post-components/p-eca119d2.entry.js +1 -0
  316. package/dist/post-components/p-f9529d40.entry.js +1 -0
  317. package/dist/post-components/p-fac58cbd.entry.js +1 -0
  318. package/dist/post-components/post-components.css +2 -2
  319. package/dist/post-components/post-components.esm.js +1 -1
  320. package/dist/types/components/post-accordion/post-accordion.d.ts +1 -1
  321. package/dist/types/components/post-accordion-item/post-accordion-item.d.ts +0 -2
  322. package/dist/types/components/post-autocomplete/post-autocomplete.d.ts +0 -1
  323. package/dist/types/components/post-avatar/post-avatar.d.ts +0 -5
  324. package/dist/types/components/post-back-to-top/post-back-to-top.d.ts +0 -1
  325. package/dist/types/components/post-banner/post-banner.d.ts +0 -1
  326. package/dist/types/components/post-breadcrumb-item/post-breadcrumb-item.d.ts +0 -3
  327. package/dist/types/components/post-breadcrumbs/post-breadcrumbs.d.ts +0 -4
  328. package/dist/types/components/post-closebutton/post-closebutton.d.ts +5 -5
  329. package/dist/types/components/post-closebutton/types.d.ts +1 -1
  330. package/dist/types/components/post-collapsible/post-collapsible.d.ts +1 -2
  331. package/dist/types/components/post-collapsible-trigger/post-collapsible-trigger.d.ts +3 -6
  332. package/dist/types/components/post-date-picker/post-date-picker.d.ts +0 -12
  333. package/dist/types/components/post-footer/post-footer.d.ts +0 -1
  334. package/dist/types/components/post-header/post-header.d.ts +1 -3
  335. package/dist/types/components/post-icon/post-icon.d.ts +0 -6
  336. package/dist/types/components/post-language-menu/post-language-menu.d.ts +1 -3
  337. package/dist/types/components/post-language-menu-item/post-language-menu-item.d.ts +0 -5
  338. package/dist/types/components/post-login-widget/post-login-widget.d.ts +0 -4
  339. package/dist/types/components/post-logo/post-logo.d.ts +0 -1
  340. package/dist/types/components/post-mainnavigation/post-mainnavigation.d.ts +0 -1
  341. package/dist/types/components/post-megadropdown/post-megadropdown.d.ts +1 -3
  342. package/dist/types/components/post-megadropdown-trigger/post-megadropdown-trigger.d.ts +0 -2
  343. package/dist/types/components/post-menu/post-menu.d.ts +1 -4
  344. package/dist/types/components/post-menu-trigger/post-menu-trigger.d.ts +0 -1
  345. package/dist/types/components/post-pagination/post-pagination.d.ts +0 -17
  346. package/dist/types/components/post-popover/post-popover.d.ts +1 -4
  347. package/dist/types/components/post-popover-trigger/post-popover-trigger.d.ts +0 -1
  348. package/dist/types/components/post-popovercontainer/post-popovercontainer.d.ts +0 -3
  349. package/dist/types/components/post-progressbar/post-progressbar.d.ts +23 -0
  350. package/dist/types/components/post-rating/post-rating.d.ts +0 -4
  351. package/dist/types/components/post-side-navigation/post-side-navigation.d.ts +56 -0
  352. package/dist/types/components/post-side-navigation-trigger/post-side-navigation-trigger.d.ts +33 -0
  353. package/dist/types/components/post-stepper/post-stepper.d.ts +1 -4
  354. package/dist/types/components/post-tab-item/post-tab-item.d.ts +0 -1
  355. package/dist/types/components/post-tab-panel/post-tab-panel.d.ts +0 -1
  356. package/dist/types/components/post-tooltip/post-tooltip.d.ts +0 -2
  357. package/dist/types/components/post-tooltip-trigger/post-tooltip-trigger.d.ts +0 -1
  358. package/dist/types/components.d.ts +142 -5
  359. package/dist/types/home/runner/work/design-system/design-system/packages/components/.stencil/vrt/helpers/header-variants.config.d.ts +1 -0
  360. package/dist/types/utils/index.d.ts +3 -4
  361. package/dist/types/utils/property-decorators/bound.d.ts +36 -0
  362. package/dist/types/utils/property-decorators/create-validator-decorator.d.ts +5 -0
  363. package/dist/types/utils/property-decorators/index.d.ts +1 -1
  364. package/dist/types/utils/property-decorators/required.d.ts +10 -1
  365. package/dist/vrt/helpers/header-test-config.js +3 -2
  366. package/dist/vrt/helpers/header-variants.config.js +29 -2
  367. package/hydrate/index.js +1640 -980
  368. package/hydrate/index.mjs +1640 -980
  369. package/package.json +4 -4
  370. package/dist/cjs/index-qCzRmwgB.js +0 -114
  371. package/dist/collection/utils/property-checkers/check-array-of.js +0 -8
  372. package/dist/collection/utils/property-checkers/check-date.js +0 -13
  373. package/dist/collection/utils/property-checkers/check-iso-date.js +0 -9
  374. package/dist/collection/utils/property-checkers/check-one-of.js +0 -8
  375. package/dist/collection/utils/property-checkers/check-pattern.js +0 -8
  376. package/dist/collection/utils/property-checkers/check-type.js +0 -15
  377. package/dist/collection/utils/property-checkers/check-url.js +0 -15
  378. package/dist/collection/utils/property-checkers/constants.js +0 -1
  379. package/dist/collection/utils/property-checkers/empty-or.js +0 -9
  380. package/dist/collection/utils/property-checkers/index.js +0 -20
  381. package/dist/collection/utils/property-checkers/required-and.js +0 -14
  382. package/dist/components/heading-levels.js +0 -1
  383. package/dist/components/index2.js +0 -1
  384. package/dist/components/react/p-BQ3HlJPr.js +0 -1
  385. package/dist/components/react/p-C7s9oglQ.js +0 -1
  386. package/dist/components/react/p-CTgZ8DGr.js +0 -1
  387. package/dist/components/react/p-CVtlwDsT.js +0 -1
  388. package/dist/components/react/p-CaLwTf3T.js +0 -1
  389. package/dist/components/react/p-ClJyTIVM.js +0 -1
  390. package/dist/components/react/p-DGr-hfLq.js +0 -1
  391. package/dist/components/react/p-DJxdj9pa.js +0 -1
  392. package/dist/components/react/p-DKDEtjQe.js +0 -1
  393. package/dist/components/react/p-DPKR_4uI.js +0 -1
  394. package/dist/components/react/p-DcEDGaFs.js +0 -1
  395. package/dist/components/react/p-DipfA69b.js +0 -1
  396. package/dist/components/react/p-DwZxAC2u.js +0 -1
  397. package/dist/components/react/p-r4txK0AC.js +0 -1
  398. package/dist/components/react/p-x3kxyWSZ.js +0 -1
  399. package/dist/esm/index-D9bU2pIE.js +0 -104
  400. package/dist/esm/package-x3kxyWSZ.js +0 -3
  401. package/dist/post-components/p-08a0e8e9.entry.js +0 -1
  402. package/dist/post-components/p-1583817b.entry.js +0 -1
  403. package/dist/post-components/p-203d9abd.entry.js +0 -1
  404. package/dist/post-components/p-2c68af27.entry.js +0 -1
  405. package/dist/post-components/p-39143e19.entry.js +0 -1
  406. package/dist/post-components/p-46dd9e7e.entry.js +0 -1
  407. package/dist/post-components/p-53a8cce5.entry.js +0 -1
  408. package/dist/post-components/p-72bff1fc.entry.js +0 -1
  409. package/dist/post-components/p-75045028.entry.js +0 -1
  410. package/dist/post-components/p-768b4516.entry.js +0 -1
  411. package/dist/post-components/p-7e072450.entry.js +0 -1
  412. package/dist/post-components/p-83cb6424.entry.js +0 -1
  413. package/dist/post-components/p-94f4da57.entry.js +0 -1
  414. package/dist/post-components/p-9dace750.entry.js +0 -1
  415. package/dist/post-components/p-9ea7e46f.entry.js +0 -1
  416. package/dist/post-components/p-D9bU2pIE.js +0 -1
  417. package/dist/post-components/p-DmBWUef5.js +0 -2
  418. package/dist/post-components/p-a0ac814c.entry.js +0 -1
  419. package/dist/post-components/p-a0d12ca8.entry.js +0 -1
  420. package/dist/post-components/p-cb039d66.entry.js +0 -1
  421. package/dist/post-components/p-e8cda4e1.entry.js +0 -1
  422. package/dist/post-components/p-e8e50d5c.entry.js +0 -1
  423. package/dist/post-components/p-eb64ec1d.entry.js +0 -1
  424. package/dist/post-components/p-f0746a9e.entry.js +0 -1
  425. package/dist/post-components/p-f5e33714.entry.js +0 -1
  426. package/dist/post-components/p-f93ce33d.entry.js +0 -1
  427. package/dist/post-components/p-fd0446b2.entry.js +0 -1
  428. package/dist/post-components/p-x3kxyWSZ.js +0 -1
  429. package/dist/types/utils/property-checkers/check-array-of.d.ts +0 -4
  430. package/dist/types/utils/property-checkers/check-date.d.ts +0 -3
  431. package/dist/types/utils/property-checkers/check-iso-date.d.ts +0 -3
  432. package/dist/types/utils/property-checkers/check-one-of.d.ts +0 -3
  433. package/dist/types/utils/property-checkers/check-pattern.d.ts +0 -3
  434. package/dist/types/utils/property-checkers/check-type.d.ts +0 -4
  435. package/dist/types/utils/property-checkers/check-url.d.ts +0 -3
  436. package/dist/types/utils/property-checkers/constants.d.ts +0 -1
  437. package/dist/types/utils/property-checkers/empty-or.d.ts +0 -3
  438. package/dist/types/utils/property-checkers/index.d.ts +0 -34
  439. package/dist/types/utils/property-checkers/required-and.d.ts +0 -3
@@ -1,10 +1,23 @@
1
- import { r as registerInstance, h, H as Host, a as getElement } from './index-DmBWUef5.js';
2
- import { v as version } from './package-x3kxyWSZ.js';
3
- import { c as checkRequiredAndType, e as checkRequiredAndPattern } from './index-D9bU2pIE.js';
1
+ import { r as registerInstance, h, H as Host, a as getElement } from './index-BGeKgZqi.js';
4
2
  import './breakpoints-BQ3HlJPr.js';
3
+ import { v as version } from './package-CdhbouMD.js';
4
+ import { R as Required } from './required-DhBxDSbP.js';
5
+ import { T as Type } from './type-icZlikjf.js';
6
+ import { P as Pattern } from './pattern-D7tnGo1u.js';
7
+ import './create-validator-decorator-BNkS_yAb.js';
5
8
 
6
9
  const postStepperCss = () => `ol{margin-block:0;padding-inline-start:0;list-style:none;counter-reset:step-index;display:grid;position:relative;overflow:hidden;grid-template-columns:20px;grid-auto-columns:minmax(0, 1fr);padding-inline-end:20px}@media screen and (max-width: 779.98px){ol{display:flex;padding-inline-end:0}}.active-step{font-size:var(--post-device-font-size-7);font-weight:var(--post-device-font-weight-bold);color:var(--post-scheme-color-interactive-primary-enabled-fg1)}.active-step .active-step-label:has(+span:empty){visibility:hidden}@media screen and (min-width: 780px){.active-step{display:none}}`;
7
10
 
11
+ var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
12
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
13
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
14
+ r = Reflect.decorate(decorators, target, key, desc);
15
+ else
16
+ for (var i = decorators.length - 1; i >= 0; i--)
17
+ if (d = decorators[i])
18
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
19
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
20
+ };
8
21
  const PostStepper = class {
9
22
  constructor(hostRef) {
10
23
  registerInstance(this, hostRef);
@@ -13,18 +26,7 @@ const PostStepper = class {
13
26
  */
14
27
  this.currentIndex = -1;
15
28
  }
16
- validateTextCurrentStep() {
17
- checkRequiredAndType(this, 'textCurrentStep', 'string');
18
- }
19
- validateTextCompletedStep() {
20
- checkRequiredAndType(this, 'textCompletedStep', 'string');
21
- }
22
- validateTextStepNumber() {
23
- checkRequiredAndPattern(this, 'textStepNumber', /\{number\}/);
24
- this.updateActiveStepNumber();
25
- }
26
29
  validateCurrentIndex() {
27
- checkRequiredAndType(this, 'currentIndex', 'number');
28
30
  if (this.stepItems) {
29
31
  this.updateSteps();
30
32
  this.checkIndexes();
@@ -35,15 +37,20 @@ const PostStepper = class {
35
37
  this.selectedIndex = this.currentIndex;
36
38
  }
37
39
  else {
38
- checkRequiredAndType(this, 'selectedIndex', 'number');
39
40
  this.checkIndexes();
40
41
  }
41
42
  this.updateSteps();
42
43
  }
44
+ updateActiveStepNumber() {
45
+ if (this.textStepNumber) {
46
+ const labelTemplate = this.textStepNumber;
47
+ this.mobileActiveStepLabel = labelTemplate.replaceAll('{number}', `${this.selectedIndex + 1}`);
48
+ if (this.stepItems) {
49
+ this.updateMobileActiveStepVisibility();
50
+ }
51
+ }
52
+ }
43
53
  componentDidLoad() {
44
- this.validateTextCompletedStep();
45
- this.validateTextCurrentStep();
46
- this.validateTextStepNumber();
47
54
  // Wait for slotchange
48
55
  setTimeout(() => {
49
56
  this.validateCurrentIndex();
@@ -55,15 +62,6 @@ const PostStepper = class {
55
62
  console.error('The selected-index cannot be higher than the current-index, as only the current and completed steps can be selected.');
56
63
  }
57
64
  }
58
- updateActiveStepNumber() {
59
- if (this.textStepNumber) {
60
- const labelTemplate = this.textStepNumber;
61
- this.mobileActiveStepLabel = labelTemplate.replaceAll('{number}', `${this.selectedIndex + 1}`);
62
- if (this.stepItems) {
63
- this.updateMobileActiveStepVisibility();
64
- }
65
- }
66
- }
67
65
  updateSteps() {
68
66
  this.stepItems = this.host.querySelectorAll('post-stepper-item');
69
67
  if (!this.stepItems || this.stepItems.length < 3) {
@@ -72,6 +70,8 @@ const PostStepper = class {
72
70
  }
73
71
  this.updateActiveStepNumber();
74
72
  this.stepItems.forEach((el, i) => {
73
+ // Set CSS custom property for step number (iOS compatible fix)
74
+ el.style.setProperty('--step-number', `"${i + 1}"`);
75
75
  if (this.selectedIndex === i) {
76
76
  this.mobileActiveStepName = el.innerHTML;
77
77
  }
@@ -112,27 +112,40 @@ const PostStepper = class {
112
112
  }
113
113
  }
114
114
  render() {
115
- return (h(Host, { key: 'eb916a1b9169dc3a461e6307bce1d548d3e49890', "data-version": version }, h("ol", { key: '4e9460bdae8f3ab56789a60e925a3229cb0140ec' }, h("slot", { key: '6da9d8e162d901fdb5cb5edeaf7e394948cca663', onSlotchange: () => this.updateSteps() })), h("div", { key: '546c1da3029799c97fcd5d6146933ee1dd7f7ade', class: "active-step", "aria-hidden": "true" }, h("span", { key: '581c306bd6d7b840c7f74d96199e0197b550e9e0', class: "active-step-label" }, this.mobileActiveStepLabel), h("span", { key: 'c794108854a153e4005b8a3bb4a609fb6441f966', innerHTML: this.mobileActiveStepName }))));
115
+ return (h(Host, { key: 'd69c88e820900e398a025e420ace286bfc87d8ef', "data-version": version }, h("ol", { key: '7b23a87d5ac22ff3ce15455ff9922bfeb2d1f5de' }, h("slot", { key: '96068f61893d3a6340218995b128ba4c0db6ab3f', onSlotchange: () => this.updateSteps() })), h("div", { key: 'd52b5e4627d99a29ddb822a2feeaaff1df60c3f5', class: "active-step", "aria-hidden": "true" }, h("span", { key: '518bfebb848e6ab364cbad03f18921572f9a46b4', class: "active-step-label" }, this.mobileActiveStepLabel), h("span", { key: '64aa32c57d550ac9951e9093e911fdf1802b7131', innerHTML: this.mobileActiveStepName }))));
116
116
  }
117
117
  get host() { return getElement(this); }
118
118
  static get watchers() { return {
119
- "textCurrentStep": [{
120
- "validateTextCurrentStep": 0
121
- }],
122
- "textCompletedStep": [{
123
- "validateTextCompletedStep": 0
124
- }],
125
- "textStepNumber": [{
126
- "validateTextStepNumber": 0
127
- }],
128
119
  "currentIndex": [{
129
120
  "validateCurrentIndex": 0
130
121
  }],
131
122
  "selectedIndex": [{
132
123
  "validateSelectedIndex": 0
124
+ }],
125
+ "textStepNumber": [{
126
+ "updateActiveStepNumber": 0
133
127
  }]
134
128
  }; }
135
129
  };
130
+ __decorate([
131
+ Required(),
132
+ Type('string')
133
+ ], PostStepper.prototype, "textCurrentStep", void 0);
134
+ __decorate([
135
+ Required(),
136
+ Type('string')
137
+ ], PostStepper.prototype, "textCompletedStep", void 0);
138
+ __decorate([
139
+ Required(),
140
+ Pattern(/\{number\}/)
141
+ ], PostStepper.prototype, "textStepNumber", void 0);
142
+ __decorate([
143
+ Required(),
144
+ Type('number')
145
+ ], PostStepper.prototype, "currentIndex", void 0);
146
+ __decorate([
147
+ Type('number')
148
+ ], PostStepper.prototype, "selectedIndex", void 0);
136
149
  PostStepper.style = postStepperCss();
137
150
 
138
151
  export { PostStepper as post_stepper };
@@ -1,20 +1,29 @@
1
- import { r as registerInstance, h, H as Host, a as getElement } from './index-DmBWUef5.js';
2
- import { v as version } from './package-x3kxyWSZ.js';
3
- import { c as checkRequiredAndType } from './index-D9bU2pIE.js';
1
+ import { r as registerInstance, h, H as Host, a as getElement } from './index-BGeKgZqi.js';
4
2
  import './breakpoints-BQ3HlJPr.js';
5
3
  import { n as nanoid } from './nanoid-8LXe8Zt_.js';
4
+ import { v as version } from './package-CdhbouMD.js';
5
+ import { R as Required } from './required-DhBxDSbP.js';
6
+ import { T as Type } from './type-icZlikjf.js';
7
+ import './create-validator-decorator-BNkS_yAb.js';
6
8
 
7
9
  const postTabItemCss = () => `.tab-title,.nav-item a{display:inline-block;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);opacity:.7;color:#000;text-decoration:none;background-color:rgba(0,0,0,0);cursor:pointer}.tab-title:hover,.nav-item a:hover{opacity:1;background-color:rgba(0,0,0,.6);color:#fff}.tab-title:focus-visible,.nav-item a:focus-visible{outline:rgba(0,0,0,0);opacity:1;background-color:rgba(0,0,0,.6);color:#fff;box-shadow:none}.tab-title:focus-visible::after,.nav-item a: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}:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error) .tab-title:hover,:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error) .tab-title:focus-visible,:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error) .nav-item a:hover,:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error) .nav-item a: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,.nav-item a{opacity:1;border-left-color:Canvas;border-right-color:Canvas;color:LinkText}.tab-title:hover,.tab-title:focus,.tab-title:focus-within,.tab-title:focus-visible,.nav-item a:hover,.nav-item a:focus,.nav-item a:focus-within,.nav-item a:focus-visible{outline:var(--post-core-dimension-2) solid Highlight;outline-offset:calc(var(--post-core-dimension-4)*-1)}}.nav-item{display:inline-block;position:relative;box-sizing:border-box;cursor:default}.nav-item:focus,.nav-item:focus-visible{outline:none;box-shadow:none}.nav-item:focus::after,.nav-item:focus-visible::after{display:none}.nav-item a{color:inherit;text-decoration:none;display:block;width:100%;height:100%;box-sizing:border-box;position:relative;outline:none;cursor:pointer;border-radius:0}.nav-item a:focus{outline:none}.nav-item a:active{opacity:1;background-color:rgba(0,0,0,.6);color:#fff}.nav-item a:focus-visible{outline:none !important}:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error) .nav-item a:hover{background-color:rgba(255,255,255,.2)}:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error) .nav-item a:focus-visible{background-color:rgba(255,255,255,.2)}.tab-title.active,.nav-item.active a{z-index:1;border-right-color:#ccc;border-left-color:#ccc;opacity:1;background-color:#fff;color:#000;font-weight:700}.tab-title.active::before,.nav-item.active a::before{content:"";display:block;position:absolute;top:0;right:-1px;left:-1px;height:var(--post-core-dimension-4);background-color:#fc0}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.tab-title.active,.nav-item.active a{border-left-color:ButtonText;border-right-color:ButtonText;color:Highlight}.tab-title.active::before,.nav-item.active a::before{background-color:Highlight}}: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
10
 
11
+ var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
12
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
13
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
14
+ r = Reflect.decorate(decorators, target, key, desc);
15
+ else
16
+ for (var i = decorators.length - 1; i >= 0; i--)
17
+ if (d = decorators[i])
18
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
19
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
20
+ };
9
21
  const PostTabItem = class {
10
22
  constructor(hostRef) {
11
23
  registerInstance(this, hostRef);
12
24
  this.mutationObserver = new MutationObserver(this.checkNavigationMode.bind(this));
13
25
  this.isNavigationMode = false;
14
26
  }
15
- validateName() {
16
- checkRequiredAndType(this, 'name', 'string');
17
- }
18
27
  connectedCallback() {
19
28
  this.mutationObserver.observe(this.host, {
20
29
  childList: true,
@@ -35,15 +44,14 @@ const PostTabItem = class {
35
44
  this.isNavigationMode = hasAnchor;
36
45
  }
37
46
  render() {
38
- return (h(Host, { key: '9b37b37c161a3a67d30443c5115cc08b90322e34', id: this.tabId, role: !this.isNavigationMode ? 'tab' : undefined, "data-version": version, "data-navigation-mode": this.isNavigationMode.toString(), "aria-selected": !this.isNavigationMode ? 'false' : undefined, tabindex: !this.isNavigationMode ? '-1' : undefined, class: !this.isNavigationMode ? 'tab-title' : 'nav-item' }, h("slot", { key: '63472a86d5d0dfa8e6d1b39677244781205f0c70' })));
47
+ return (h(Host, { key: '3aae4df220dccea50f3f67aa288a2353a0850194', id: this.tabId, role: !this.isNavigationMode ? 'tab' : undefined, "data-version": version, "data-navigation-mode": this.isNavigationMode.toString(), "aria-selected": !this.isNavigationMode ? 'false' : undefined, tabindex: !this.isNavigationMode ? '-1' : undefined, class: !this.isNavigationMode ? 'tab-title' : 'nav-item' }, h("slot", { key: '9a06827e8ff71f9c0b5f286f9aa0ff27bb04a7b9' })));
39
48
  }
40
49
  get host() { return getElement(this); }
41
- static get watchers() { return {
42
- "name": [{
43
- "validateName": 0
44
- }]
45
- }; }
46
50
  };
51
+ __decorate([
52
+ Required(),
53
+ Type('string')
54
+ ], PostTabItem.prototype, "name", void 0);
47
55
  PostTabItem.style = postTabItemCss();
48
56
 
49
57
  export { PostTabItem as post_tab_item };
@@ -1,33 +1,40 @@
1
- import { r as registerInstance, h, H as Host, a as getElement } from './index-DmBWUef5.js';
2
- import { v as version } from './package-x3kxyWSZ.js';
3
- import { c as checkRequiredAndType } from './index-D9bU2pIE.js';
1
+ import { r as registerInstance, h, H as Host, a as getElement } from './index-BGeKgZqi.js';
4
2
  import './breakpoints-BQ3HlJPr.js';
5
3
  import { n as nanoid } from './nanoid-8LXe8Zt_.js';
4
+ import { v as version } from './package-CdhbouMD.js';
5
+ import { R as Required } from './required-DhBxDSbP.js';
6
+ import { T as Type } from './type-icZlikjf.js';
7
+ import './create-validator-decorator-BNkS_yAb.js';
6
8
 
7
9
  const postTabPanelCss = () => `:host{display:none}`;
8
10
 
11
+ var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
12
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
13
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
14
+ r = Reflect.decorate(decorators, target, key, desc);
15
+ else
16
+ for (var i = decorators.length - 1; i >= 0; i--)
17
+ if (d = decorators[i])
18
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
19
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
20
+ };
9
21
  const PostTabPanel = class {
10
22
  constructor(hostRef) {
11
23
  registerInstance(this, hostRef);
12
24
  }
13
- validateFor() {
14
- checkRequiredAndType(this, 'for', 'string');
15
- }
16
25
  componentWillLoad() {
17
- this.validateFor();
18
26
  // get the id set on the host element or use a random id by default
19
27
  this.panelId = `panel-${this.host.id || nanoid(6)}`;
20
28
  }
21
29
  render() {
22
- return (h(Host, { key: 'f6e981cdce4b09ddc60c4fd2cf56af26db9ea7ee', "data-version": version, id: this.panelId, role: "tabpanel", slot: "panels" }, h("slot", { key: '79f2c065cb364b1c15717f349e57e832e06ef054' })));
30
+ return (h(Host, { key: '6573a11b62a533bc20c02df9026b2a77d786ca8d', "data-version": version, id: this.panelId, role: "tabpanel", slot: "panels" }, h("slot", { key: '527e055a7e8777dc684a1ce179fa05397e3dc3fa' })));
23
31
  }
24
32
  get host() { return getElement(this); }
25
- static get watchers() { return {
26
- "for": [{
27
- "validateFor": 0
28
- }]
29
- }; }
30
33
  };
34
+ __decorate([
35
+ Required(),
36
+ Type('string')
37
+ ], PostTabPanel.prototype, "for", void 0);
31
38
  PostTabPanel.style = postTabPanelCss();
32
39
 
33
40
  export { PostTabPanel as post_tab_panel };
@@ -1,13 +1,24 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-DmBWUef5.js';
2
- import { v as version } from './package-x3kxyWSZ.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-BGeKgZqi.js';
3
2
  import { f as fade } from './fade-DsgPYmAa.js';
4
- import { c as checkRequiredAndType } from './index-D9bU2pIE.js';
5
3
  import './breakpoints-BQ3HlJPr.js';
6
4
  import { c as componentOnReady } from './component-on-ready-lpWRZjJp.js';
5
+ import { v as version } from './package-CdhbouMD.js';
6
+ import { T as Type } from './type-icZlikjf.js';
7
7
  import './utils-CoDiS_Ik.js';
8
+ import './create-validator-decorator-BNkS_yAb.js';
8
9
 
9
10
  const postTabsCss = () => `.tabs-wrapper{position:relative;padding-top:1rem;border:0;background-color:rgba(0,0,0,.02)}.tabs-wrapper::after{content:"";position:absolute;bottom:0;width:100%;height:1px;background-color:#ccc}.tabs-wrapper .tabs{background-color:rgba(0,0,0,0) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.tabs-wrapper::after{background-color:ButtonBorder}}.tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;white-space:nowrap;margin-block:0;padding-inline-start:0;list-style:none}.tabs::after{content:"";display:block;flex:1 0 auto;width:1rem}.tab-content{padding-top:1rem}:host{display:block}:host([full-width=true]) .tabs-wrapper{margin-inline:calc(-1*var(--post-container-offset))}:host([full-width=true]) .tabs-wrapper .tabs{padding-inline:var(--post-container-offset)}`;
10
11
 
12
+ var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
13
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
14
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
15
+ r = Reflect.decorate(decorators, target, key, desc);
16
+ else
17
+ for (var i = decorators.length - 1; i >= 0; i--)
18
+ if (d = decorators[i])
19
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
20
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
21
+ };
11
22
  const PostTabs = class {
12
23
  constructor(hostRef) {
13
24
  registerInstance(this, hostRef);
@@ -28,8 +39,8 @@ const PostTabs = class {
28
39
  return Array.from(this.host.querySelectorAll('post-tab-panel')).filter(panel => panel.closest('post-tabs') === this.host);
29
40
  }
30
41
  validateLabel() {
31
- if (this.isNavigationMode) {
32
- checkRequiredAndType(this, 'label', 'string');
42
+ if (this.isNavigationMode && !this.label) {
43
+ console.error(`[${this.host.localName}] Property "label" is required in navigation mode. Received: ${JSON.stringify(this.label)}.`, this.host);
33
44
  }
34
45
  }
35
46
  componentWillRender() {
@@ -293,10 +304,10 @@ const PostTabs = class {
293
304
  }
294
305
  render() {
295
306
  const TabsContainer = this.isNavigationMode ? 'nav' : 'div';
296
- return (h(Host, { key: 'edb1e06b1b1cdd23db32e42ff77dbc64a44905f0', "data-version": version }, h("div", { key: 'd86eb9bb592aff23c38c92b12dfd72623d67f194', class: "tabs-wrapper", part: "post-tabs" }, h(TabsContainer, { key: '6646284be80e647c96065b3c791f34c4b64627f3', class: "tabs", role: this.isNavigationMode ? undefined : 'tablist', "aria-label": this.isNavigationMode ? this.label : undefined }, h("slot", { key: 'c71ddf4391144b7cb71671e8f564e723c408e723', onSlotchange: () => {
307
+ return (h(Host, { key: 'b3e12dd13b78c6533ce53518686b14e685b8871f', "data-version": version }, h("div", { key: '8e54f84852dc786de9cabbe9628083e858b068ee', class: "tabs-wrapper", part: "post-tabs" }, h(TabsContainer, { key: '029b0a4afae2af2e6d899740a78efd56ed87736e', class: "tabs", role: this.isNavigationMode ? undefined : 'tablist', "aria-label": this.isNavigationMode ? this.label : undefined }, h("slot", { key: 'c5c1bfac69bbe3b0ce33fc9069dd87c15013e9df', onSlotchange: () => {
297
308
  this.moveMisplacedTabs();
298
309
  this.enableTabs();
299
- } }))), !this.isNavigationMode && (h("div", { key: '625d5b7d8ab2e8cfacce0c2ac6fa94d6f6fc2953', class: "tab-content", part: "post-tabs-content" }, h("slot", { key: '1ddaf37e585d3e9fbb9722e09829956e28dc7fd6', name: "panels", onSlotchange: () => this.moveMisplacedPanels() })))));
310
+ } }))), !this.isNavigationMode && (h("div", { key: 'c9fdccc7b840b1f6d9d2eb3c7f99daeb7cbd658c', class: "tab-content", part: "post-tabs-content" }, h("slot", { key: '708abcc8ead9142976b7165d0626a3e51a219c14', name: "panels", onSlotchange: () => this.moveMisplacedPanels() })))));
300
311
  }
301
312
  get host() { return getElement(this); }
302
313
  static get watchers() { return {
@@ -305,6 +316,9 @@ const PostTabs = class {
305
316
  }]
306
317
  }; }
307
318
  };
319
+ __decorate([
320
+ Type('string')
321
+ ], PostTabs.prototype, "label", void 0);
308
322
  PostTabs.style = postTabsCss();
309
323
 
310
324
  export { PostTabs as post_tabs };
@@ -1,9 +1,22 @@
1
- import { r as registerInstance, h, H as Host, a as getElement } from './index-DmBWUef5.js';
2
- import { b as checkEmptyOrType } from './index-D9bU2pIE.js';
3
- import { v as version } from './package-x3kxyWSZ.js';
1
+ import { r as registerInstance, h, H as Host, a as getElement } from './index-BGeKgZqi.js';
2
+ import './breakpoints-BQ3HlJPr.js';
3
+ import { v as version } from './package-CdhbouMD.js';
4
+ import { R as Required } from './required-DhBxDSbP.js';
5
+ import { T as Type } from './type-icZlikjf.js';
6
+ import './create-validator-decorator-BNkS_yAb.js';
4
7
 
5
8
  const postTooltipTriggerCss = () => `post-tooltip-trigger{vertical-align:top}:host{cursor:pointer}`;
6
9
 
10
+ var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
11
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
12
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
13
+ r = Reflect.decorate(decorators, target, key, desc);
14
+ else
15
+ for (var i = decorators.length - 1; i >= 0; i--)
16
+ if (d = decorators[i])
17
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
18
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
19
+ };
7
20
  const TRIGGER_EVENTS = ['pointerenter', 'pointerleave', 'focusin', 'focusout', 'long-press'];
8
21
  let isFocusable;
9
22
  const PostTooltipTrigger = class {
@@ -24,9 +37,6 @@ const PostTooltipTrigger = class {
24
37
  this.boundTriggerHandler = this.handleTriggerEvent.bind(this);
25
38
  this.boundTooltipHandler = this.handleTooltipEvent.bind(this);
26
39
  }
27
- validateControlFor() {
28
- checkEmptyOrType(this, 'for', 'string');
29
- }
30
40
  get tooltip() {
31
41
  const ref = document.getElementById(this.for);
32
42
  return ref?.localName === 'post-tooltip' ? ref : null;
@@ -174,15 +184,14 @@ const PostTooltipTrigger = class {
174
184
  this.tooltip?.hide();
175
185
  }
176
186
  render() {
177
- return (h(Host, { key: '33feebd0dace3160a539e4dc809b0b31e7d7d40b', "data-version": version }, h("slot", { key: '8994560a784d203ad40face20a60ac5bc631507f', onSlotchange: () => this.handleSlotChange() })));
187
+ return (h(Host, { key: '9972655e65d8d435984e364f1413d9830c6564ba', "data-version": version }, h("slot", { key: '6e0365125b13790b69e89c68238d4895eb3619ac', onSlotchange: () => this.handleSlotChange() })));
178
188
  }
179
189
  get host() { return getElement(this); }
180
- static get watchers() { return {
181
- "for": [{
182
- "validateControlFor": 0
183
- }]
184
- }; }
185
190
  };
191
+ __decorate([
192
+ Required(),
193
+ Type('string')
194
+ ], PostTooltipTrigger.prototype, "for", void 0);
186
195
  PostTooltipTrigger.style = postTooltipTriggerCss();
187
196
 
188
197
  export { PostTooltipTrigger as post_tooltip_trigger };
@@ -1,11 +1,22 @@
1
- import { r as registerInstance, h, H as Host, a as getElement } from './index-DmBWUef5.js';
2
- import { v as version } from './package-x3kxyWSZ.js';
3
- import { d as checkEmptyOrOneOf } from './index-D9bU2pIE.js';
4
- import './breakpoints-BQ3HlJPr.js';
1
+ import { r as registerInstance, h, H as Host, a as getElement } from './index-BGeKgZqi.js';
5
2
  import { P as PLACEMENT_TYPES } from './placement-DRiVosES.js';
3
+ import './breakpoints-BQ3HlJPr.js';
4
+ import { v as version } from './package-CdhbouMD.js';
5
+ import { O as OneOf } from './one-of-4BD_5pKR.js';
6
+ import './create-validator-decorator-BNkS_yAb.js';
6
7
 
7
8
  const postTooltipCss = () => `:host{display:none}:host([open]){display:contents}post-popovercontainer[arrow]::after{position:absolute;content:"";inset:-13px;z-index:-1}post-popovercontainer{--post-current-bg:var(--post-scheme-color-surface-accent-bg);--post-current-fg:var(--post-scheme-color-surface-accent-fg);--post-popovercontainer-arrow-border-width:var(--post-device-border-width-alternative1);--post-popovercontainer-arrow-border-color:var(--post-scheme-color-surface-accent-fg)}post-popovercontainer::part(post-popovercontainer-border-mask){display:block;box-shadow:inset 0 0 0 var(--post-device-spacing-padding-14) var(--post-scheme-color-surface-accent-bg)}post-popovercontainer::part(post-popovercontainer-content){border:var(--post-device-border-width-alternative1) solid var(--post-scheme-color-surface-accent-fg);border-radius:var(--post-device-border-radius-1);padding:var(--post-device-spacing-padding-14) var(--post-device-spacing-padding-15);font-size:var(--post-device-font-size-9);max-width:var(--post-tooltip-max-width, 280px);width:inherit;word-wrap:break-word;white-space:normal}`;
8
9
 
10
+ var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
11
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
12
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
13
+ r = Reflect.decorate(decorators, target, key, desc);
14
+ else
15
+ for (var i = decorators.length - 1; i >= 0; i--)
16
+ if (d = decorators[i])
17
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
18
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
19
+ };
9
20
  const PostTooltip = class {
10
21
  constructor(hostRef) {
11
22
  registerInstance(this, hostRef);
@@ -24,12 +35,6 @@ const PostTooltip = class {
24
35
  */
25
36
  this.open = false;
26
37
  }
27
- validatePlacement() {
28
- checkEmptyOrOneOf(this, 'placement', PLACEMENT_TYPES);
29
- }
30
- componentWillLoad() {
31
- this.validatePlacement();
32
- }
33
38
  componentDidLoad() {
34
39
  if (!this.host.id) {
35
40
  console.error(
@@ -69,15 +74,13 @@ const PostTooltip = class {
69
74
  }
70
75
  render() {
71
76
  const popoverClass = `${this.arrow ? 'has-arrow' : ''}`;
72
- return (h(Host, { key: 'd2927c8847a39198bc0f8ecc62071534a35959d4', "data-version": version }, h("post-popovercontainer", { key: '691d408109cc976d8a46ffeafa6af7ce343fc9da', safeSpace: "trapezoid", class: popoverClass, role: "tooltip", arrow: this.arrow, placement: this.placement, onPostBeforeToggle: e => this.handleBeforeToggle(e), ref: (el) => (this.popoverRef = el) }, h("slot", { key: '85eb8a3ca3e0359044ddc4b24562f0a43d459dc9' }))));
77
+ return (h(Host, { key: '51fe8169b0aea1286928a11c4bdde5f7a4820d30', "data-version": version }, h("post-popovercontainer", { key: '4f27f1dc5d430da8aa30f54a0d6aca0e6b91d78b', safeSpace: "trapezoid", class: popoverClass, role: "tooltip", arrow: this.arrow, placement: this.placement, onPostBeforeToggle: e => this.handleBeforeToggle(e), ref: (el) => (this.popoverRef = el) }, h("slot", { key: '7a5ae44acb74a21d0ff2a871053e5055921afb41' }))));
73
78
  }
74
79
  get host() { return getElement(this); }
75
- static get watchers() { return {
76
- "placement": [{
77
- "validatePlacement": 0
78
- }]
79
- }; }
80
80
  };
81
+ __decorate([
82
+ OneOf(PLACEMENT_TYPES)
83
+ ], PostTooltip.prototype, "placement", void 0);
81
84
  PostTooltip.style = postTooltipCss();
82
85
 
83
86
  export { PostTooltip as post_tooltip };
@@ -0,0 +1,42 @@
1
+ import { c as createValidatorDecorator, g as getValidationContext, i as isValueEmpty, r as registerDependency } from './create-validator-decorator-BNkS_yAb.js';
2
+
3
+ /**
4
+ * Property decorator that validates the property is not empty.
5
+ * If the property is empty (undefined, null, '', NaN), an error is logged.
6
+ * This validator is blocking: if it fails, subsequent validators will not run.
7
+ *
8
+ * Validation runs on `componentDidLoad` and whenever the property value changes.
9
+ *
10
+ * @param options - Optional configuration.
11
+ * @param options.when - The property name to watch. Validation only runs when this property's value matches the `truthy` option.
12
+ * @param options.truthy - The value that the `when` property must match for validation to run. Defaults to `true`.
13
+ */
14
+ function Required(options) {
15
+ const validator = createValidatorDecorator({
16
+ priority: 0,
17
+ blocking: true,
18
+ validateEmptyValues: true,
19
+ run(component, property) {
20
+ if (options && typeof options.when === 'string') {
21
+ const truthy = options.truthy ?? true;
22
+ if (component[options.when] !== truthy) {
23
+ return true;
24
+ }
25
+ }
26
+ const { value, showError } = getValidationContext(component, property);
27
+ if (isValueEmpty(value)) {
28
+ showError('is required');
29
+ return false;
30
+ }
31
+ return true;
32
+ },
33
+ });
34
+ return function (target, property) {
35
+ validator(target, property);
36
+ if (options?.when) {
37
+ registerDependency(target, options.when, property);
38
+ }
39
+ };
40
+ }
41
+
42
+ export { Required as R };
@@ -0,0 +1,28 @@
1
+ import { c as createValidatorDecorator, g as getValidationContext } from './create-validator-decorator-BNkS_yAb.js';
2
+
3
+ /**
4
+ * Property decorator that validates the property value is of the specified type.
5
+ *
6
+ * Validation runs on `componentDidLoad` and whenever the property value changes.
7
+ *
8
+ * @param type - The expected type ('boolean', 'number', 'string', 'array', 'object', 'function').
9
+ */
10
+ function Type(type) {
11
+ return createValidatorDecorator({
12
+ priority: 1,
13
+ blocking: false,
14
+ run(component, property) {
15
+ const { value, showError } = getValidationContext(component, property);
16
+ const typeIsArray = type === 'array';
17
+ const valueIsArray = Array.isArray(value);
18
+ const isValid = typeIsArray || valueIsArray ? valueIsArray === typeIsArray : typeof value === type;
19
+ if (!isValid) {
20
+ showError(`must be of type "${type}"`);
21
+ return false;
22
+ }
23
+ return true;
24
+ },
25
+ });
26
+ }
27
+
28
+ export { Type as T };
@@ -0,0 +1,32 @@
1
+ import { c as createValidatorDecorator, g as getValidationContext } from './create-validator-decorator-BNkS_yAb.js';
2
+
3
+ /**
4
+ * Property decorator that validates the property value is a valid URL.
5
+ *
6
+ * Validation runs on `componentDidLoad` and whenever the property value changes.
7
+ */
8
+ function Url() {
9
+ return createValidatorDecorator({
10
+ priority: 1,
11
+ blocking: false,
12
+ run(component, property) {
13
+ const { value, showError } = getValidationContext(component, property);
14
+ let isValid = typeof value === 'string' || value instanceof URL;
15
+ if (isValid) {
16
+ try {
17
+ new URL(value, 'https://www.post.ch');
18
+ }
19
+ catch {
20
+ isValid = false;
21
+ }
22
+ }
23
+ if (!isValid) {
24
+ showError('must be a valid URL');
25
+ return false;
26
+ }
27
+ return true;
28
+ },
29
+ });
30
+ }
31
+
32
+ export { Url as U };
@@ -0,0 +1 @@
1
+ import{r as t,h as o,H as e,a as s}from"./p-BGeKgZqi.js";import{P as r}from"./p-DRiVosES.js";import"./p-BQ3HlJPr.js";import{g as i}from"./p-DYYpZAAV.js";import{v as a}from"./p-CdhbouMD.js";import{O as p}from"./p-D2ex14Ye.js";import{R as c}from"./p-DH5JdN6V.js";import{T as n}from"./p-DiBqDD4N.js";import"./p-08F-DB-d.js";import"./p-8SvFxSp6.js";var d=function(t,o,e,s){var r,i=arguments.length,a=i<3?o:null===s?s=Object.getOwnPropertyDescriptor(o,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,o,e,s);else for(var p=t.length-1;p>=0;p--)(r=t[p])&&(a=(i<3?r(a):i>3?r(o,e,a):r(o,e))||a);return i>3&&a&&Object.defineProperty(o,e,a),a};const f=class{constructor(o){t(this,o),this.placement="top",this.arrow=!0}async show(t){await this.popoverRef.show(t),this.focusFirstEl()}async hide(){this.popoverRef.hide()}async toggle(t,o){await this.popoverRef.toggle(t,o)&&this.focusFirstEl()}focusFirstEl(){const t=i(this.host)[0];t&&t.focus()}render(){return o(e,{key:"f48f602235071a8621157c99aa86076e8268b5b4","data-version":a},o("post-popovercontainer",{key:"f0be96900bd0e16f2ee8f7937cfa533f510dbd07",arrow:this.arrow,placement:this.placement,ref:t=>this.popoverRef=t},o("div",{key:"716b83cad71dbb09dde75c00aa4c8628d7903315",class:"popover-container"},o("div",{key:"4a15c86977488ba68796ed16175c72ef9ea16a7b",class:"popover-content"},o("slot",{key:"afd56e2077ed319e1bfbdaabfc8e19395f4f3959"})),o("post-closebutton",{key:"d62b6940c68872d8520e4a69c7411479b9698315",onClick:()=>this.hide()},this.textClose))))}get host(){return s(this)}};d([p(r)],f.prototype,"placement",void 0),d([c(),n("string")],f.prototype,"textClose",void 0),f.style="*{box-sizing:border-box}:host{display:contents}.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:var(--post-popover-max-width, 280px)}.popover-content{padding:.5em;flex-grow:1}";export{f as post_popover}
@@ -0,0 +1 @@
1
+ import{r as t,c as i,h as s,H as e,a as o}from"./p-BGeKgZqi.js";import"./p-BQ3HlJPr.js";import{d as h}from"./p-C9hMpmsD.js";import{v as n}from"./p-CdhbouMD.js";import{R as a}from"./p-DH5JdN6V.js";import{T as c}from"./p-DiBqDD4N.js";import"./p-8SvFxSp6.js";const r=class{constructor(s){t(this,s),this.postFilteringEvent=i(this,"postFilteringEvent"),this.debouncedHandleInput=h((t=>{this.handleInput(t)}),250),this.filterThreshold=0,this.clearable=!1,this.inputValue="",this.handleOnBlur=()=>{this.inputElement.value=this.inputValue,this.listBoxElement.filter(""),this.hideListBox()},this.handleInput=async t=>{if(!this.listBoxElement)return;const i=t.target.value.trim(),s=i.length>=this.filterThreshold?i:"",{defaultPrevented:e}=this.postFilteringEvent.emit(s&&s.length>=this.filterThreshold?s:"");e||(await this.listBoxElement.filter(s),s?(this.showListBox(),this.announceCount()):(this.inputValue="",this.clearAnnouncement()))},this.handleKeyDown=t=>{const{key:i,altKey:s}=t;switch(i){case"ArrowDown":t.preventDefault(),this.showListBox(),s||this.listBoxElement.navigate("down");break;case"ArrowUp":t.preventDefault(),this.listBoxElement.navigate("up");break;case"Enter":if(this.listBoxElement.hidden)return;t.preventDefault(),this.listBoxElement.selectActive(),this.hideListBox();break;case"Escape":this.hideListBox();break;case"Tab":this.listBoxElement.selectActive(),this.hideListBox();break;case"Home":t.preventDefault(),this.listBoxElement.navigate("first");break;case"End":t.preventDefault(),this.listBoxElement.navigate("last")}},this.handleOptionSelected=t=>{const i=t.detail;this.inputElement.value=i,this.inputValue=i,this.hideListBox()},this.handleOptionActive=t=>{const i=t.detail;i?this.inputElement.setAttribute("aria-activedescendant",i):this.inputElement.removeAttribute("aria-activedescendant")},this.hideListBox=()=>{this.clearAnnouncement(),this.listBoxElement.hide(),this.inputElement.ariaExpanded="false",this.host.removeAttribute("open"),this.inputElement.removeAttribute("aria-activedescendant")},this.showListBox=async()=>{await this.listBoxElement.show(),this.inputElement.ariaExpanded="true",this.host.setAttribute("open",""),this.announceCount()},this.clearInput=()=>{this.inputElement&&(this.inputElement.value="",this.inputValue="",this.listBoxElement.clearSelection(),this.hideListBox())}}get inputElement(){return this.host.querySelector("input")}get listBoxElement(){return this.listbox?document.getElementById(this.listbox):this.host.querySelector("post-listbox")}componentWillLoad(){if(!this.inputElement)return;if(this.inputElement.role="combobox",this.inputElement.ariaAutoComplete="list",!this.listBoxElement)return;this.listBoxElement.id||(this.listBoxElement.id=crypto.randomUUID()),this.inputElement.setAttribute("aria-controls",this.listBoxElement.id),this.inputElement.setAttribute("aria-expanded","false");const t=this.inputElement.labels?.[0];t&&(t.id||(t.id=crypto.randomUUID()),this.listBoxElement.setAttribute("aria-labelledby",t.id)),this.inputElement.autocomplete="off",this.attachInputListeners(),this.attachListboxListeners()}disconnectedCallback(){this.detachInputListeners(),this.detachListboxListeners()}attachInputListeners(){this.inputElement&&(this.inputElement.addEventListener("input",this.debouncedHandleInput),this.inputElement.addEventListener("keydown",this.handleKeyDown),this.inputElement.addEventListener("blur",this.handleOnBlur),this.inputElement.addEventListener("click",this.showListBox))}detachInputListeners(){this.inputElement&&(this.inputElement.removeEventListener("input",this.debouncedHandleInput),this.inputElement.removeEventListener("keydown",this.handleKeyDown),this.inputElement.removeEventListener("blur",this.handleOnBlur),this.inputElement.removeEventListener("click",this.showListBox))}attachListboxListeners(){this.listBoxElement&&(this.listBoxElement.addEventListener("postOptionSelected",this.handleOptionSelected),this.listBoxElement.addEventListener("postOptionActive",this.handleOptionActive))}detachListboxListeners(){this.listBoxElement&&(this.listBoxElement.removeEventListener("postOptionSelected",this.handleOptionSelected),this.listBoxElement.removeEventListener("postOptionActive",this.handleOptionActive))}clearAnnouncement(){this.outputElement&&(this.outputElement.textContent="")}announceCount(){if(!this.outputElement||!this.listBoxElement)return;const t=this.listBoxElement.querySelectorAll("post-listbox-option:not([hidden])").length;this.outputElement.textContent=this.textAvailableSuggestions.replace("{count}",String(t))}render(){return s(e,{key:"d8f594b17240359b03d1e443d0f8ea28a1a5f687","data-version":n},s("slot",{key:"b76771582cdfb4f84e6018551508daaa5e5c91c5"}),this.clearable&&this.inputValue&&s("button",{key:"ff6255a9b10df6609703bfa302d519b52931786e",type:"button",class:"autocomplete-clear",onClick:this.clearInput},s("post-icon",{key:"3c7da3532ae720ab6f392a8de8b2ca21e4b092aa","aria-hidden":"true",name:"closex"})),s("post-icon",{key:"d2a3c04b68a3b9b3303b80f37292578c5182157e","aria-hidden":"true",class:"autocomplete-icon",name:"chevronDown"}),s("output",{key:"187a75fa1e1935a372521c57f75c6740f330f891",class:"visually-hidden",ref:t=>this.outputElement=t}))}get host(){return o(this)}};(function(t,i,s,e){var o,h=arguments.length,n=h<3?i:null===e?e=Object.getOwnPropertyDescriptor(i,s):e;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(t,i,s,e);else for(var a=t.length-1;a>=0;a--)(o=t[a])&&(n=(h<3?o(n):h>3?o(i,s,n):o(i,s))||n);h>3&&n&&Object.defineProperty(i,s,n)})([a(),c("string")],r.prototype,"textAvailableSuggestions",void 0),r.style=":host{position:relative;display:block}.autocomplete-icon,.autocomplete-clear{position:absolute;inset-block-start:16px}@media screen and (min-width: 780px){.autocomplete-icon,.autocomplete-clear{inset-block-start:20px}}.autocomplete-icon{inset-inline-end:16px;width:24px;height:24px;pointer-events:none;transition:transform .2s ease-in-out}:host([open]) .autocomplete-icon{transform:rotate(180deg)}.autocomplete-clear{display:flex;align-items:center;justify-content:center;inset-inline-end:42px;background:none;border:none;cursor:pointer}.autocomplete-clear>post-icon{width:20px;height:20px}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}";export{r as post_autocomplete}
@@ -0,0 +1 @@
1
+ import{r as t,h as o,H as e,a as s}from"./p-BGeKgZqi.js";import"./p-BQ3HlJPr.js";import{n as a}from"./p-8LXe8Zt_.js";import{v as r}from"./p-CdhbouMD.js";import{R as p}from"./p-DH5JdN6V.js";import{T as i}from"./p-DiBqDD4N.js";import"./p-8SvFxSp6.js";const n=class{constructor(o){t(this,o)}componentWillLoad(){this.panelId=`panel-${this.host.id||a(6)}`}render(){return o(e,{key:"6573a11b62a533bc20c02df9026b2a77d786ca8d","data-version":r,id:this.panelId,role:"tabpanel",slot:"panels"},o("slot",{key:"527e055a7e8777dc684a1ce179fa05397e3dc3fa"}))}get host(){return s(this)}};(function(t,o,e,s){var a,r=arguments.length,p=r<3?o:null===s?s=Object.getOwnPropertyDescriptor(o,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)p=Reflect.decorate(t,o,e,s);else for(var i=t.length-1;i>=0;i--)(a=t[i])&&(p=(r<3?a(p):r>3?a(o,e,p):a(o,e))||p);r>3&&p&&Object.defineProperty(o,e,p)})([p(),i("string")],n.prototype,"for",void 0),n.style=":host{display:none}";export{n as post_tab_panel}
@@ -1 +1 @@
1
- import{r as t,h as e,H as o,a as i}from"./p-DmBWUef5.js";import{v as s}from"./p-x3kxyWSZ.js";const n=`:where(${["a","label[for]",'input[type="checkbox"]','input[type="radio"]'].join(",")})`,r=class{constructor(e){t(this,e)}get interactiveElement(){return this.host.querySelector(n)}isDisabledElement(t){const e=[HTMLButtonElement,HTMLFieldSetElement,HTMLOptGroupElement,HTMLOptionElement,HTMLSelectElement,HTMLTextAreaElement,HTMLInputElement].some((e=>t instanceof e)),o=t.disabled,i=t.closest("fieldset")?.hasAttribute("disabled");return e&&(o||i)}dispatchClick({target:t,ctrlKey:e,shiftKey:o,altKey:i,metaKey:s}){const r=t.closest(n);let a;a=!!this.interactiveElement&&!this.isDisabledElement(this.interactiveElement)&&(r instanceof HTMLLabelElement?null===this.host.querySelector(`#${r.htmlFor}`):!r),a&&this.interactiveElement.dispatchEvent(new MouseEvent("click",{ctrlKey:e,shiftKey:o,altKey:i,metaKey:s}))}render(){return e(o,{key:"b79b314635a4cb302d862006d07ab5f059298382","data-version":s,onClick:t=>this.dispatchClick(t)},e("slot",{key:"4e9a1ee60d499f6dd80819e68f6536b3964d3389"}))}get host(){return i(this)}};r.style=":host{display:block;cursor:pointer;outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}:host(:focus-within){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host(:focus-within){outline-color:Highlight !important}}";export{r as post_linkarea}
1
+ import{r as t,h as e,H as o,a as i}from"./p-BGeKgZqi.js";import{v as s}from"./p-CdhbouMD.js";const n=`:where(${["a","label[for]",'input[type="checkbox"]','input[type="radio"]'].join(",")})`,r=class{constructor(e){t(this,e)}get interactiveElement(){return this.host.querySelector(n)}isDisabledElement(t){const e=[HTMLButtonElement,HTMLFieldSetElement,HTMLOptGroupElement,HTMLOptionElement,HTMLSelectElement,HTMLTextAreaElement,HTMLInputElement].some((e=>t instanceof e)),o=t.disabled,i=t.closest("fieldset")?.hasAttribute("disabled");return e&&(o||i)}dispatchClick({target:t,ctrlKey:e,shiftKey:o,altKey:i,metaKey:s}){const r=t.closest(n);let a;a=!!this.interactiveElement&&!this.isDisabledElement(this.interactiveElement)&&(r instanceof HTMLLabelElement?null===this.host.querySelector(`#${r.htmlFor}`):!r),a&&this.interactiveElement.dispatchEvent(new MouseEvent("click",{ctrlKey:e,shiftKey:o,altKey:i,metaKey:s}))}render(){return e(o,{key:"fc3ddb24df6e4077e99e41f2f7df12ada959806b","data-version":s,onClick:t=>this.dispatchClick(t)},e("slot",{key:"ed83fbafaf9f4807d523c209f15310fd205a1b3f"}))}get host(){return i(this)}};r.style=":host{display:block;cursor:pointer;outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}:host(:focus-within){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host(:focus-within){outline-color:Highlight !important}}";export{r as post_linkarea}
@@ -0,0 +1 @@
1
+ import{r as t,h as s,H as i,a as e}from"./p-BGeKgZqi.js";import"./p-BQ3HlJPr.js";import{v as o}from"./p-CdhbouMD.js";import{R as h}from"./p-DH5JdN6V.js";import{T as r}from"./p-DiBqDD4N.js";import"./p-8SvFxSp6.js";const n=["pointerenter","pointerleave","focusin","focusout","long-press"];let a;const l=class{constructor(s){t(this,s),this.delay=0,this.trigger=null,this.delayTimeout=null,this.boundTriggerHandler=this.handleTriggerEvent.bind(this),this.boundTooltipHandler=this.handleTooltipEvent.bind(this)}get tooltip(){const t=document.getElementById(this.for);return"post-tooltip"===t?.localName?t:null}componentWillLoad(){import("./p-BNgqqRsB.js"),import("./p-BrY4VWTQ.js").then((function(t){return t.f})).then((t=>{a??(a=t.default)}))}componentDidLoad(){this.setupTrigger(),this.attachListeners(),this.attachTooltipListeners()}disconnectedCallback(){this.removeListeners(),this.removeTooltipListeners(),this.cleanupTrigger(),this.delayTimeout&&(clearTimeout(this.delayTimeout),this.delayTimeout=null)}handleSlotChange(){this.cleanupTrigger(),this.setupTrigger()}cleanupTrigger(){if(this.trigger){const t=this.trigger.getAttribute("aria-describedby")||"";if(t.includes(this.for)){const s=t.split(" ").filter((t=>t!==this.for)).join(" ");s?this.trigger.setAttribute("aria-describedby",s):this.trigger.removeAttribute("aria-describedby")}this.trigger=null}}setupTrigger(){if(this.trigger=this.host.querySelector("*"),this.trigger){a?.(this.trigger)||this.trigger.setAttribute("tabindex","0");const t=this.trigger.getAttribute("aria-describedby")||"";t.includes(this.for)||this.trigger.setAttribute("aria-describedby",`${t} ${this.for}`.trim())}else console.warn("No content found in the post-tooltip-trigger slot. Please insert a focusable element or content that can receive focus.")}attachListeners(){n.forEach((t=>{this.host.addEventListener(t,this.boundTriggerHandler)}))}removeListeners(){n.forEach((t=>{this.host.removeEventListener(t,this.boundTriggerHandler)}))}attachTooltipListeners(){this.tooltip&&(this.tooltip.addEventListener("pointerenter",this.boundTooltipHandler),this.tooltip.addEventListener("pointerleave",this.boundTooltipHandler))}removeTooltipListeners(){this.tooltip&&(this.tooltip.removeEventListener("pointerenter",this.boundTooltipHandler),this.tooltip.removeEventListener("pointerleave",this.boundTooltipHandler))}handleTriggerEvent(t){switch(t.type){case"pointerenter":case"focusin":case"long-press":this.handleEnter();break;case"pointerleave":case"focusout":this.handleLeave(t)}}handleTooltipEvent(t){switch(t.type){case"pointerenter":this.handleEnter();break;case"pointerleave":this.handleLeave(t)}}handleEnter(){this.delayTimeout&&(clearTimeout(this.delayTimeout),this.delayTimeout=null),this.interestHandler()}handleLeave(t){const s=t.relatedTarget;this.tooltip&&s&&this.tooltip.contains(s)||s===this.trigger||this.interestLostHandler()}interestHandler(){this.trigger&&(this.delay>0?this.delayTimeout=globalThis.setTimeout((()=>{this.tooltip?.show(this.trigger),this.delayTimeout=null}),this.delay):this.tooltip?.show(this.trigger))}interestLostHandler(){this.delayTimeout&&(clearTimeout(this.delayTimeout),this.delayTimeout=null),this.tooltip?.hide()}render(){return s(i,{key:"9972655e65d8d435984e364f1413d9830c6564ba","data-version":o},s("slot",{key:"6e0365125b13790b69e89c68238d4895eb3619ac",onSlotchange:()=>this.handleSlotChange()}))}get host(){return e(this)}};(function(t,s,i,e){var o,h=arguments.length,r=h<3?s:null===e?e=Object.getOwnPropertyDescriptor(s,i):e;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,s,i,e);else for(var n=t.length-1;n>=0;n--)(o=t[n])&&(r=(h<3?o(r):h>3?o(s,i,r):o(s,i))||r);h>3&&r&&Object.defineProperty(s,i,r)})([h(),r("string")],l.prototype,"for",void 0),l.style="post-tooltip-trigger{vertical-align:top}:host{cursor:pointer}";export{l as post_tooltip_trigger}
@@ -0,0 +1 @@
1
+ import{r as t,c as s,h as i,H as e,a}from"./p-BGeKgZqi.js";import{f as o}from"./p-D5knoiyy.js";import"./p-BQ3HlJPr.js";import{c as h}from"./p-lpWRZjJp.js";import{v as r}from"./p-CdhbouMD.js";import{T as n}from"./p-DiBqDD4N.js";import"./p-CoDiS_Ik.js";import"./p-8SvFxSp6.js";const l=class{constructor(i){t(this,i),this.postChange=s(this,"postChange"),this.isLoaded=!1,this.isNavigationMode=!1,this.fullWidth=!1}get tabs(){return Array.from(this.host.querySelectorAll("post-tab-item")).filter((t=>t.closest("post-tabs")===this.host))}get panels(){return Array.from(this.host.querySelectorAll("post-tab-panel")).filter((t=>t.closest("post-tabs")===this.host))}validateLabel(){this.isNavigationMode&&!this.label&&console.error(`[${this.host.localName}] Property "label" is required in navigation mode. Received: ${JSON.stringify(this.label)}.`,this.host)}componentWillRender(){this.detectMode()}componentDidLoad(){if(this.moveMisplacedTabs(),this.moveMisplacedPanels(),this.enableTabs(),this.setupContentObserver(),this.validateLabel(),this.isNavigationMode){const t=this.findActiveNavigationTab();t&&this.activateTab(t)}else{const t=this.activeTab||this.tabs[0]?.name;t&&this.show(t)}this.isLoaded=!0}disconnectedCallback(){this.showing&&(this.showing.cancel(),this.showing=null),this.hiding&&(this.hiding.cancel(),this.hiding=null),this.contentObserver&&this.contentObserver.disconnect()}setupContentObserver(){this.contentObserver=new MutationObserver(this.handleContentChange.bind(this)),this.contentObserver.observe(this.host,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-navigation-mode","aria-current"]})}handleContentChange(t){const s=this.shouldRedetectMode(t);this.hasAriaCurrentChanged(t)&&this.isNavigationMode&&this.updateActiveNavigationTab(),s&&this.handleModeChange()}shouldRedetectMode(t){return t.some((t=>"childList"===t.type?t.addedNodes.length>0||t.removedNodes.length>0:"attributes"===t.type&&"data-navigation-mode"===t.attributeName))}hasAriaCurrentChanged(t){return t.some((t=>"attributes"===t.type&&"aria-current"===t.attributeName))}updateActiveNavigationTab(){const t=this.findActiveNavigationTab();t&&t!==this.currentActiveTab&&this.activateTab(t)}handleModeChange(){const t=this.isNavigationMode;this.detectMode(),t!==this.isNavigationMode&&(this.enableTabs(),this.initializeActiveTab())}initializeActiveTab(){if(this.isNavigationMode){const t=this.findActiveNavigationTab();t&&this.activateTab(t)}else{const t=this.activeTab||this.tabs[0]?.name;t&&this.show(t)}}detectMode(){const t=this.tabs.some((t=>null!==t.querySelector("a")||"true"===t.dataset.navigationMode));if(t&&this.panels.length>0)throw new Error("PostTabs: Mixed mode detected. Cannot use both navigation mode (anchor elements) and panel mode (post-tab-panel elements) at the same time.");this.isNavigationMode=t}findActiveNavigationTab(){return this.tabs.find((t=>null!==t.querySelector('a[aria-current="page"]')))||null}async show(t){if(t===this.currentActiveTab?.name)return;const s=this.currentActiveTab,i=this.host.querySelector(`post-tab-item[name=${t}]`);this.activateTab(i),this.showing&&(this.showing.finish(),this.showing=null),!s||this.showing||this.hiding||this.hidePanel(s.name),this.hiding&&await this.hiding.finished,this.showSelectedPanel(),this.showing&&await this.showing.finished,this.isLoaded&&this.postChange.emit(this.currentActiveTab.name)}moveMisplacedTabs(){this.tabs&&this.tabs.forEach((t=>{t.getAttribute("slot")&&t.removeAttribute("slot")}))}moveMisplacedPanels(){this.panels&&this.panels.forEach((t=>{"panels"!==t.getAttribute("slot")&&t.setAttribute("slot","panels")}))}enableTabs(){this.tabs&&(this.tabs.forEach((async t=>{if(await h(t),this.isNavigationMode)return;if(t.getAttribute("aria-controls"))return;const s=this.getPanel(t.name);s&&(t.setAttribute("aria-controls",s.id),s.setAttribute("aria-labelledby",t.id)),t.addEventListener("click",(()=>{this.show(t.name)})),t.addEventListener("keydown",(s=>{"Enter"!==s.key&&" "!==s.key||(s.preventDefault(),this.show(t.name))})),t.addEventListener("keydown",(s=>{"ArrowRight"!==s.key&&"ArrowLeft"!==s.key||this.navigateTabs(t,s.key)}))})),this.currentActiveTab&&!this.currentActiveTab.isConnected&&this.show(this.tabs[0]?.name))}activateTab(t){this.currentActiveTab&&(this.currentActiveTab.classList.remove("active"),this.isNavigationMode||(this.currentActiveTab.setAttribute("aria-selected","false"),this.currentActiveTab.setAttribute("tabindex","-1"))),t.classList.add("active"),this.isNavigationMode||(t.setAttribute("aria-selected","true"),t.setAttribute("tabindex","0")),this.currentActiveTab=t}hidePanel(t){const s=this.getPanel(t);s&&(this.hiding=o(s,"out"),this.hiding.onfinish=()=>{s.style.display="none",this.hiding=null})}showSelectedPanel(){const t=this.getPanel(this.currentActiveTab.name);t&&(t.style.display="block",this.isLoaded&&(this.showing=o(t,"in"),this.showing.onfinish=()=>{this.showing=null}))}getPanel(t){return this.host.querySelector(`post-tab-panel[for=${t}]`)}navigateTabs(t,s){const i=Array.from(this.tabs).indexOf(t);let e;e="ArrowRight"===s?this.tabs[i+1]||this.tabs[0]:this.tabs[i-1]||this.tabs.at(-1),e&&(e.focus(),this.show(e.name))}render(){return i(e,{key:"b3e12dd13b78c6533ce53518686b14e685b8871f","data-version":r},i("div",{key:"8e54f84852dc786de9cabbe9628083e858b068ee",class:"tabs-wrapper",part:"post-tabs"},i(this.isNavigationMode?"nav":"div",{key:"029b0a4afae2af2e6d899740a78efd56ed87736e",class:"tabs",role:this.isNavigationMode?void 0:"tablist","aria-label":this.isNavigationMode?this.label:void 0},i("slot",{key:"c5c1bfac69bbe3b0ce33fc9069dd87c15013e9df",onSlotchange:()=>{this.moveMisplacedTabs(),this.enableTabs()}}))),!this.isNavigationMode&&i("div",{key:"c9fdccc7b840b1f6d9d2eb3c7f99daeb7cbd658c",class:"tab-content",part:"post-tabs-content"},i("slot",{key:"708abcc8ead9142976b7165d0626a3e51a219c14",name:"panels",onSlotchange:()=>this.moveMisplacedPanels()})))}get host(){return a(this)}static get watchers(){return{label:[{validateLabel:0}]}}};(function(t,s,i,e){var a,o=arguments.length,h=o<3?s:null===e?e=Object.getOwnPropertyDescriptor(s,i):e;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)h=Reflect.decorate(t,s,i,e);else for(var r=t.length-1;r>=0;r--)(a=t[r])&&(h=(o<3?a(h):o>3?a(s,i,h):a(s,i))||h);o>3&&h&&Object.defineProperty(s,i,h)})([n("string")],l.prototype,"label",void 0),l.style='.tabs-wrapper{position:relative;padding-top:1rem;border:0;background-color:rgba(0,0,0,.02)}.tabs-wrapper::after{content:"";position:absolute;bottom:0;width:100%;height:1px;background-color:#ccc}.tabs-wrapper .tabs{background-color:rgba(0,0,0,0) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.tabs-wrapper::after{background-color:ButtonBorder}}.tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;white-space:nowrap;margin-block:0;padding-inline-start:0;list-style:none}.tabs::after{content:"";display:block;flex:1 0 auto;width:1rem}.tab-content{padding-top:1rem}:host{display:block}:host([full-width=true]) .tabs-wrapper{margin-inline:calc(-1*var(--post-container-offset))}:host([full-width=true]) .tabs-wrapper .tabs{padding-inline:var(--post-container-offset)}';export{l as post_tabs}