@oiz/stzh-components 4.3.0 → 4.3.1

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 (476) hide show
  1. package/dist/cjs/{app-globals-8ce8837c.js → app-globals-123a5a5f.js} +2 -2
  2. package/dist/cjs/{app-globals-8ce8837c.js.map → app-globals-123a5a5f.js.map} +1 -1
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/stzh-accordion_3.cjs.entry.js +2 -2
  5. package/dist/cjs/stzh-actions_6.cjs.entry.js +1 -1
  6. package/dist/cjs/stzh-actionset.cjs.entry.js +5 -5
  7. package/dist/cjs/stzh-amount.cjs.entry.js +1 -1
  8. package/dist/cjs/stzh-anchornav.cjs.entry.js +1 -1
  9. package/dist/cjs/stzh-app-nav.cjs.entry.js +1 -1
  10. package/dist/cjs/stzh-appointments.cjs.entry.js +6 -6
  11. package/dist/cjs/stzh-audio.cjs.entry.js +3 -3
  12. package/dist/cjs/stzh-badge_3.cjs.entry.js +2 -2
  13. package/dist/cjs/stzh-breadcrumb_2.cjs.entry.js +1 -1
  14. package/dist/cjs/stzh-buttongroup.cjs.entry.js +1 -1
  15. package/dist/cjs/stzh-card-navigation.cjs.entry.js +1 -1
  16. package/dist/cjs/stzh-card-navigation.cjs.entry.js.map +1 -1
  17. package/dist/cjs/stzh-card-searchresult.cjs.entry.js +1 -1
  18. package/dist/cjs/stzh-card-searchresult.cjs.entry.js.map +1 -1
  19. package/dist/cjs/stzh-card-superteaser.cjs.entry.js +1 -1
  20. package/dist/cjs/stzh-card.cjs.entry.js +9 -24
  21. package/dist/cjs/stzh-card.cjs.entry.js.map +1 -1
  22. package/dist/cjs/stzh-components.cjs.js +2 -2
  23. package/dist/cjs/stzh-contact-cv.cjs.entry.js +1 -1
  24. package/dist/cjs/stzh-contact.cjs.entry.js +5 -5
  25. package/dist/cjs/stzh-datatable.cjs.entry.js.map +1 -1
  26. package/dist/cjs/stzh-disturber.cjs.entry.js +2 -2
  27. package/dist/cjs/stzh-editor.cjs.entry.js +1 -1
  28. package/dist/cjs/stzh-eventdata.cjs.entry.js +1 -1
  29. package/dist/cjs/stzh-eventinfo.cjs.entry.js +1 -1
  30. package/dist/cjs/stzh-feedreader-item.cjs.entry.js +1 -1
  31. package/dist/cjs/stzh-feedreader.cjs.entry.js +1 -1
  32. package/dist/cjs/stzh-geo-ref-data.cjs.entry.js +3 -3
  33. package/dist/cjs/stzh-ghettobox_3.cjs.entry.js +1 -1
  34. package/dist/cjs/stzh-homepage-search.cjs.entry.js +1 -1
  35. package/dist/cjs/stzh-homepage-service-highlights.cjs.entry.js +2 -2
  36. package/dist/cjs/stzh-microsite-teaserlist.cjs.entry.js +3 -3
  37. package/dist/cjs/stzh-page-skiplinks.cjs.entry.js +1 -1
  38. package/dist/cjs/stzh-pagebottom.cjs.entry.js +1 -1
  39. package/dist/cjs/stzh-pagecontent.cjs.entry.js +1 -1
  40. package/dist/cjs/stzh-pagetitle-hero.cjs.entry.js +2 -2
  41. package/dist/cjs/stzh-pagetitle-home.cjs.entry.js +1 -1
  42. package/dist/cjs/stzh-pagetitle.cjs.entry.js +1 -1
  43. package/dist/cjs/stzh-pi-content-navigation.cjs.entry.js +2 -2
  44. package/dist/cjs/stzh-pi-menu.cjs.entry.js +2 -2
  45. package/dist/cjs/stzh-pi-pagetitle.cjs.entry.js +1 -1
  46. package/dist/cjs/stzh-pi-quote.cjs.entry.js +1 -1
  47. package/dist/cjs/stzh-pi-teaser.cjs.entry.js +1 -1
  48. package/dist/cjs/stzh-poicard.cjs.entry.js +2 -2
  49. package/dist/cjs/stzh-poilist.cjs.entry.js +2 -2
  50. package/dist/cjs/stzh-print_2.cjs.entry.js +1 -1
  51. package/dist/cjs/stzh-search.cjs.entry.js +2 -2
  52. package/dist/cjs/stzh-sitemap.cjs.entry.js +1 -1
  53. package/dist/cjs/stzh-socialmediastream-item.cjs.entry.js +1 -1
  54. package/dist/cjs/stzh-socialmediastream.cjs.entry.js +1 -1
  55. package/dist/cjs/stzh-textandimage.cjs.entry.js +1 -1
  56. package/dist/cjs/stzh-twocolumns.cjs.entry.js +1 -1
  57. package/dist/cjs/stzh-vbz-connection-finder.cjs.entry.js +8 -1
  58. package/dist/cjs/stzh-vbz-connection-finder.cjs.entry.js.map +1 -1
  59. package/dist/collection/assets/i18n/en.json +1 -1
  60. package/dist/collection/collection-manifest.json +2 -2
  61. package/dist/collection/components/CMS/VBZ/stzh-vbz-connection-finder/stzh-vbz-connection-finder.js +26 -1
  62. package/dist/collection/components/CMS/VBZ/stzh-vbz-connection-finder/stzh-vbz-connection-finder.js.map +1 -1
  63. package/dist/collection/components/CMS/stzh-card-superteaser/stzh-card-superteaser.js +1 -1
  64. package/dist/collection/components/CMS/stzh-contact/stzh-contact.js +5 -5
  65. package/dist/collection/components/CMS/stzh-contact-cv/stzh-contact-cv.js +1 -1
  66. package/dist/collection/components/CMS/stzh-disturber/stzh-disturber.js +2 -2
  67. package/dist/collection/components/CMS/stzh-editor/stzh-editor.js +1 -1
  68. package/dist/collection/components/CMS/stzh-eventdata/stzh-eventdata.js +1 -1
  69. package/dist/collection/components/CMS/stzh-eventinfo/stzh-eventinfo.js +1 -1
  70. package/dist/collection/components/CMS/stzh-feedreader/stzh-feedreader.js +1 -1
  71. package/dist/collection/components/CMS/stzh-feedreader-item/stzh-feedreader-item.js +1 -1
  72. package/dist/collection/components/CMS/stzh-geo-ref-data/stzh-geo-ref-data.js +3 -3
  73. package/dist/collection/components/CMS/stzh-ghettobox/stzh-ghettobox.js +1 -1
  74. package/dist/collection/components/CMS/stzh-homepage-search/stzh-homepage-search.js +1 -1
  75. package/dist/collection/components/CMS/stzh-homepage-service-highlights/stzh-homepage-service-highlights.js +2 -2
  76. package/dist/collection/components/CMS/stzh-microsite-teaserlist/stzh-microsite-teaserlist.js +3 -3
  77. package/dist/collection/components/CMS/stzh-page-skiplinks/stzh-page-skiplinks.js +1 -1
  78. package/dist/collection/components/CMS/stzh-pagebottom/stzh-pagebottom.js +1 -1
  79. package/dist/collection/components/CMS/stzh-pagecontent/stzh-pagecontent.js +1 -1
  80. package/dist/collection/components/CMS/stzh-pagetitle/stzh-pagetitle.js +1 -1
  81. package/dist/collection/components/CMS/stzh-pagetitle-hero/stzh-pagetitle-hero.js +2 -2
  82. package/dist/collection/components/CMS/stzh-pagetitle-home/stzh-pagetitle-home.js +1 -1
  83. package/dist/collection/components/CMS/stzh-pi-content-navigation/stzh-pi-content-navigation.js +2 -2
  84. package/dist/collection/components/CMS/stzh-pi-menu/stzh-pi-menu.js +2 -2
  85. package/dist/collection/components/CMS/stzh-pi-pagetitle/stzh-pi-pagetitle.js +1 -1
  86. package/dist/collection/components/CMS/stzh-pi-quote/stzh-pi-quote.js +1 -1
  87. package/dist/collection/components/CMS/stzh-pi-teaser/stzh-pi-teaser.js +1 -1
  88. package/dist/collection/components/CMS/stzh-poicard/stzh-poicard.js +2 -2
  89. package/dist/collection/components/CMS/stzh-poilist/stzh-poilist.js +2 -2
  90. package/dist/collection/components/CMS/stzh-print/stzh-print.js +1 -1
  91. package/dist/collection/components/CMS/stzh-search/stzh-search.js +2 -2
  92. package/dist/collection/components/CMS/stzh-sitemap/stzh-sitemap.js +1 -1
  93. package/dist/collection/components/CMS/stzh-socialmediastream/stzh-socialmediastream.js +1 -1
  94. package/dist/collection/components/CMS/stzh-socialmediastream-item/stzh-socialmediastream-item.js +1 -1
  95. package/dist/collection/components/CMS/stzh-textandimage/stzh-textandimage.js +1 -1
  96. package/dist/collection/components/CMS/stzh-twocolumns/stzh-twocolumns.js +1 -1
  97. package/dist/collection/components/stzh-accordion/stzh-accordion.js +1 -1
  98. package/dist/collection/components/stzh-accordion-item/stzh-accordion-item.js +1 -1
  99. package/dist/collection/components/stzh-actions/stzh-actions.js +1 -1
  100. package/dist/collection/components/stzh-actionset/stzh-actionset.js +5 -5
  101. package/dist/collection/components/stzh-amount/stzh-amount.js +1 -1
  102. package/dist/collection/components/stzh-anchornav/stzh-anchornav.js +1 -1
  103. package/dist/collection/components/stzh-app-nav/stzh-app-nav.js +1 -1
  104. package/dist/collection/components/stzh-appointments/stzh-appointments.js +6 -6
  105. package/dist/collection/components/stzh-audio/stzh-audio.js +3 -3
  106. package/dist/collection/components/stzh-badge/stzh-badge.js +1 -1
  107. package/dist/collection/components/stzh-breadcrumb/stzh-breadcrumb.js +1 -1
  108. package/dist/collection/components/stzh-button/stzh-button.js +1 -1
  109. package/dist/collection/components/stzh-buttongroup/stzh-buttongroup.js +1 -1
  110. package/dist/collection/components/stzh-card/stzh-card.e2e.js +1 -0
  111. package/dist/collection/components/stzh-card/stzh-card.e2e.js.map +1 -1
  112. package/dist/collection/components/stzh-card/stzh-card.js +11 -26
  113. package/dist/collection/components/stzh-card/stzh-card.js.map +1 -1
  114. package/dist/collection/components/stzh-card/stzh-card.stories.js +148 -12
  115. package/dist/collection/components/{CMS/stzh-card-navigation → stzh-card-navigation}/stzh-card-navigation.e2e.js +2 -2
  116. package/dist/collection/components/stzh-card-navigation/stzh-card-navigation.e2e.js.map +1 -0
  117. package/dist/collection/components/{CMS/stzh-card-navigation → stzh-card-navigation}/stzh-card-navigation.js +3 -3
  118. package/dist/collection/components/stzh-card-navigation/stzh-card-navigation.js.map +1 -0
  119. package/dist/collection/components/{CMS/stzh-card-navigation → stzh-card-navigation}/stzh-card-navigation.stories.js +3 -3
  120. package/dist/collection/components/{CMS/stzh-card-searchresult → stzh-card-searchresult}/stzh-card-searchresult.e2e.js +2 -2
  121. package/dist/collection/components/stzh-card-searchresult/stzh-card-searchresult.e2e.js.map +1 -0
  122. package/dist/collection/components/{CMS/stzh-card-searchresult → stzh-card-searchresult}/stzh-card-searchresult.js +7 -7
  123. package/dist/collection/components/stzh-card-searchresult/stzh-card-searchresult.js.map +1 -0
  124. package/dist/collection/components/{CMS/stzh-card-searchresult → stzh-card-searchresult}/stzh-card-searchresult.stories.js +3 -3
  125. package/dist/collection/components/stzh-datatable/stzh-datatable.js +1 -1
  126. package/dist/collection/components/stzh-datatable/stzh-datatable.js.map +1 -1
  127. package/dist/components/index.js +1 -1
  128. package/dist/components/{p-02dde838.js → p-0315f0e6.js} +3 -3
  129. package/dist/components/{p-02dde838.js.map → p-0315f0e6.js.map} +1 -1
  130. package/dist/components/{p-022b1add.js → p-0bed6703.js} +3 -3
  131. package/dist/components/{p-022b1add.js.map → p-0bed6703.js.map} +1 -1
  132. package/dist/components/{p-75de2b52.js → p-12654708.js} +5 -5
  133. package/dist/components/{p-75de2b52.js.map → p-12654708.js.map} +1 -1
  134. package/dist/components/{p-6eb9fbaf.js → p-12c55d67.js} +3 -3
  135. package/dist/components/{p-6eb9fbaf.js.map → p-12c55d67.js.map} +1 -1
  136. package/dist/components/{p-60bfdfcf.js → p-1dc83d62.js} +2 -2
  137. package/dist/components/{p-60bfdfcf.js.map → p-1dc83d62.js.map} +1 -1
  138. package/dist/components/{p-78ff471a.js → p-21e55e49.js} +3 -3
  139. package/dist/components/{p-78ff471a.js.map → p-21e55e49.js.map} +1 -1
  140. package/dist/components/{p-61e8a4c8.js → p-26475e68.js} +2 -2
  141. package/dist/components/{p-61e8a4c8.js.map → p-26475e68.js.map} +1 -1
  142. package/dist/components/{p-2e58848d.js → p-318eb8ce.js} +7 -7
  143. package/dist/components/{p-2e58848d.js.map → p-318eb8ce.js.map} +1 -1
  144. package/dist/components/{p-bc35e5a1.js → p-3be733b1.js} +4 -4
  145. package/dist/components/{p-bc35e5a1.js.map → p-3be733b1.js.map} +1 -1
  146. package/dist/components/{p-fc1aafb5.js → p-3c92a168.js} +2 -2
  147. package/dist/components/{p-fc1aafb5.js.map → p-3c92a168.js.map} +1 -1
  148. package/dist/components/{p-ae438bdc.js → p-46b3c290.js} +3 -3
  149. package/dist/components/{p-ae438bdc.js.map → p-46b3c290.js.map} +1 -1
  150. package/dist/components/{p-7733b8ca.js → p-54e44cdb.js} +4 -4
  151. package/dist/components/{p-7733b8ca.js.map → p-54e44cdb.js.map} +1 -1
  152. package/dist/components/{p-ec047685.js → p-5d6829ef.js} +6 -6
  153. package/dist/components/{p-ec047685.js.map → p-5d6829ef.js.map} +1 -1
  154. package/dist/components/{p-ffec300d.js → p-5e30852c.js} +3 -3
  155. package/dist/components/{p-ffec300d.js.map → p-5e30852c.js.map} +1 -1
  156. package/dist/components/{p-fb02e9f7.js → p-652ae542.js} +2 -2
  157. package/dist/components/{p-fb02e9f7.js.map → p-652ae542.js.map} +1 -1
  158. package/dist/components/{p-3ec7da5f.js → p-65d498b6.js} +3 -3
  159. package/dist/components/{p-3ec7da5f.js.map → p-65d498b6.js.map} +1 -1
  160. package/dist/components/{p-b9b2eb1b.js → p-80a893df.js} +2 -2
  161. package/dist/components/{p-b9b2eb1b.js.map → p-80a893df.js.map} +1 -1
  162. package/dist/components/{p-fbdd0f8f.js → p-83a7ac2c.js} +3 -3
  163. package/dist/components/{p-fbdd0f8f.js.map → p-83a7ac2c.js.map} +1 -1
  164. package/dist/components/{p-f87105bb.js → p-8c662622.js} +2 -2
  165. package/dist/components/{p-f87105bb.js.map → p-8c662622.js.map} +1 -1
  166. package/dist/components/{p-2dc162f9.js → p-8c9e8d25.js} +5 -5
  167. package/dist/components/{p-2dc162f9.js.map → p-8c9e8d25.js.map} +1 -1
  168. package/dist/components/{p-b1d32805.js → p-9187b0ea.js} +3 -3
  169. package/dist/components/{p-b1d32805.js.map → p-9187b0ea.js.map} +1 -1
  170. package/dist/components/{p-8e4c1a5e.js → p-9da09a5b.js} +2 -2
  171. package/dist/components/{p-8e4c1a5e.js.map → p-9da09a5b.js.map} +1 -1
  172. package/dist/components/{p-f35400e1.js → p-a0c79a46.js} +2 -2
  173. package/dist/components/{p-f35400e1.js.map → p-a0c79a46.js.map} +1 -1
  174. package/dist/components/{p-6eaf5218.js → p-a81a3a4c.js} +3 -3
  175. package/dist/components/{p-6eaf5218.js.map → p-a81a3a4c.js.map} +1 -1
  176. package/dist/components/{p-2a972be2.js → p-ba5a005c.js} +4 -4
  177. package/dist/components/{p-2a972be2.js.map → p-ba5a005c.js.map} +1 -1
  178. package/dist/components/{p-907db6a9.js → p-bb4f4ffc.js} +5 -5
  179. package/dist/components/{p-907db6a9.js.map → p-bb4f4ffc.js.map} +1 -1
  180. package/dist/components/{p-55350e52.js → p-bd503085.js} +3 -3
  181. package/dist/components/{p-55350e52.js.map → p-bd503085.js.map} +1 -1
  182. package/dist/components/{p-0c2de460.js → p-c16c49ca.js} +4 -4
  183. package/dist/components/{p-0c2de460.js.map → p-c16c49ca.js.map} +1 -1
  184. package/dist/components/{p-07da844f.js → p-c3216aa7.js} +3 -3
  185. package/dist/components/{p-07da844f.js.map → p-c3216aa7.js.map} +1 -1
  186. package/dist/components/{p-4eb35d23.js → p-c6550ae3.js} +4 -4
  187. package/dist/components/{p-4eb35d23.js.map → p-c6550ae3.js.map} +1 -1
  188. package/dist/components/{p-8054dcb8.js → p-c8b4046a.js} +9 -9
  189. package/dist/components/{p-8054dcb8.js.map → p-c8b4046a.js.map} +1 -1
  190. package/dist/components/{p-273d413c.js → p-dbe86180.js} +14 -29
  191. package/dist/components/p-dbe86180.js.map +1 -0
  192. package/dist/components/{p-aa78661e.js → p-dd7410cb.js} +4 -4
  193. package/dist/components/{p-aa78661e.js.map → p-dd7410cb.js.map} +1 -1
  194. package/dist/components/{p-8b1537d5.js → p-f4ff43ee.js} +2 -2
  195. package/dist/components/{p-8b1537d5.js.map → p-f4ff43ee.js.map} +1 -1
  196. package/dist/components/{p-e6d206c1.js → p-fcde2fcb.js} +3 -3
  197. package/dist/components/{p-e6d206c1.js.map → p-fcde2fcb.js.map} +1 -1
  198. package/dist/components/stzh-accordion-item.js +1 -1
  199. package/dist/components/stzh-accordion.js +1 -1
  200. package/dist/components/stzh-actions.js +1 -1
  201. package/dist/components/stzh-actionset.js +1 -1
  202. package/dist/components/stzh-amount.js +5 -5
  203. package/dist/components/stzh-anchornav.js +4 -4
  204. package/dist/components/stzh-app-nav.js +1 -1
  205. package/dist/components/stzh-appointments.js +12 -12
  206. package/dist/components/stzh-archivelist.js +4 -4
  207. package/dist/components/stzh-audio.js +3 -3
  208. package/dist/components/stzh-badge.js +1 -1
  209. package/dist/components/stzh-banner.js +2 -2
  210. package/dist/components/stzh-bathstatus-item.js +1 -1
  211. package/dist/components/stzh-bathstatus-list.js +3 -3
  212. package/dist/components/stzh-breadcrumb.js +1 -1
  213. package/dist/components/stzh-button.js +1 -1
  214. package/dist/components/stzh-buttongroup.js +1 -1
  215. package/dist/components/stzh-calendar.js +1 -1
  216. package/dist/components/stzh-card-navigation.js +1 -1
  217. package/dist/components/stzh-card-navigation.js.map +1 -1
  218. package/dist/components/stzh-card-searchresult.js +9 -9
  219. package/dist/components/stzh-card-searchresult.js.map +1 -1
  220. package/dist/components/stzh-card-superteaser.js +9 -9
  221. package/dist/components/stzh-card.js +1 -1
  222. package/dist/components/stzh-cardlist.js +1 -1
  223. package/dist/components/stzh-chip.js +1 -1
  224. package/dist/components/stzh-chipselect.js +1 -1
  225. package/dist/components/stzh-clamp.js +1 -1
  226. package/dist/components/stzh-contact-cv.js +1 -1
  227. package/dist/components/stzh-contact.js +7 -7
  228. package/dist/components/stzh-datalist-item.js +1 -1
  229. package/dist/components/stzh-datalist.js +1 -1
  230. package/dist/components/stzh-datamessagelist-item.js +6 -6
  231. package/dist/components/stzh-datatable.js +9 -9
  232. package/dist/components/stzh-datatable.js.map +1 -1
  233. package/dist/components/stzh-datepicker.js +1 -1
  234. package/dist/components/stzh-daterange.js +2 -2
  235. package/dist/components/stzh-dialog.js +1 -1
  236. package/dist/components/stzh-disturber.js +4 -4
  237. package/dist/components/stzh-editor.js +3 -3
  238. package/dist/components/stzh-eventdata.js +1 -1
  239. package/dist/components/stzh-eventinfo.js +3 -3
  240. package/dist/components/stzh-feedreader-item.js +1 -1
  241. package/dist/components/stzh-feedreader.js +5 -5
  242. package/dist/components/stzh-footer.js +2 -2
  243. package/dist/components/stzh-gallery.js +2 -2
  244. package/dist/components/stzh-geo-ref-data.js +15 -15
  245. package/dist/components/stzh-ghettobox.js +1 -1
  246. package/dist/components/stzh-header.js +1 -1
  247. package/dist/components/stzh-homepage-search.js +1 -1
  248. package/dist/components/stzh-homepage-service-highlights.js +4 -4
  249. package/dist/components/stzh-http-error.js +3 -3
  250. package/dist/components/stzh-iframe.js +1 -1
  251. package/dist/components/stzh-input.js +1 -1
  252. package/dist/components/stzh-link.js +1 -1
  253. package/dist/components/stzh-menu-item.js +1 -1
  254. package/dist/components/stzh-message.js +1 -1
  255. package/dist/components/stzh-microsite-teaserlist.js +13 -13
  256. package/dist/components/stzh-offline-indicator.js +4 -4
  257. package/dist/components/stzh-page-skiplinks.js +1 -1
  258. package/dist/components/stzh-pagebottom.js +5 -5
  259. package/dist/components/stzh-pagecontent.js +1 -1
  260. package/dist/components/stzh-pagetitle-hero.js +2 -2
  261. package/dist/components/stzh-pagetitle-home.js +1 -1
  262. package/dist/components/stzh-pagetitle.js +1 -1
  263. package/dist/components/stzh-pagination.js +1 -1
  264. package/dist/components/stzh-panorama.js +3 -3
  265. package/dist/components/stzh-pi-content-navigation.js +2 -2
  266. package/dist/components/stzh-pi-menu.js +2 -2
  267. package/dist/components/stzh-pi-pagetitle.js +1 -1
  268. package/dist/components/stzh-pi-quote.js +1 -1
  269. package/dist/components/stzh-pi-teaser.js +1 -1
  270. package/dist/components/stzh-pkzh-qr.js +7 -7
  271. package/dist/components/stzh-poicard.js +1 -1
  272. package/dist/components/stzh-poilist.js +10 -10
  273. package/dist/components/stzh-print.js +1 -1
  274. package/dist/components/stzh-readspeaker.js +2 -2
  275. package/dist/components/stzh-saptcha.js +3 -3
  276. package/dist/components/stzh-search.js +9 -9
  277. package/dist/components/stzh-share.js +1 -1
  278. package/dist/components/stzh-sitemap.js +5 -5
  279. package/dist/components/stzh-socialmediastream-item.js +1 -1
  280. package/dist/components/stzh-socialmediastream.js +2 -2
  281. package/dist/components/stzh-tag.js +1 -1
  282. package/dist/components/stzh-textandimage.js +1 -1
  283. package/dist/components/stzh-timeline-item.js +1 -1
  284. package/dist/components/stzh-toast.js +1 -1
  285. package/dist/components/stzh-toastbar.js +1 -1
  286. package/dist/components/stzh-twocolumns.js +1 -1
  287. package/dist/components/stzh-upload.js +7 -7
  288. package/dist/components/stzh-vbz-connection-finder.js +10 -2
  289. package/dist/components/stzh-vbz-connection-finder.js.map +1 -1
  290. package/dist/components/stzh-vbz-intro.js +2 -2
  291. package/dist/components/stzh-vbz-majorticker.js +3 -3
  292. package/dist/components/stzh-vbz-ticker.js +2 -2
  293. package/dist/components/stzh-youtube.js +3 -3
  294. package/dist/esm/{app-globals-c92f16c0.js → app-globals-fc68a15b.js} +2 -2
  295. package/dist/esm/{app-globals-c92f16c0.js.map → app-globals-fc68a15b.js.map} +1 -1
  296. package/dist/esm/loader.js +2 -2
  297. package/dist/esm/stzh-accordion_3.entry.js +2 -2
  298. package/dist/esm/stzh-actions_6.entry.js +1 -1
  299. package/dist/esm/stzh-actionset.entry.js +5 -5
  300. package/dist/esm/stzh-amount.entry.js +1 -1
  301. package/dist/esm/stzh-anchornav.entry.js +1 -1
  302. package/dist/esm/stzh-app-nav.entry.js +1 -1
  303. package/dist/esm/stzh-appointments.entry.js +6 -6
  304. package/dist/esm/stzh-audio.entry.js +3 -3
  305. package/dist/esm/stzh-badge_3.entry.js +2 -2
  306. package/dist/esm/stzh-breadcrumb_2.entry.js +1 -1
  307. package/dist/esm/stzh-buttongroup.entry.js +1 -1
  308. package/dist/esm/stzh-card-navigation.entry.js +1 -1
  309. package/dist/esm/stzh-card-navigation.entry.js.map +1 -1
  310. package/dist/esm/stzh-card-searchresult.entry.js +1 -1
  311. package/dist/esm/stzh-card-searchresult.entry.js.map +1 -1
  312. package/dist/esm/stzh-card-superteaser.entry.js +1 -1
  313. package/dist/esm/stzh-card.entry.js +9 -24
  314. package/dist/esm/stzh-card.entry.js.map +1 -1
  315. package/dist/esm/stzh-components.js +2 -2
  316. package/dist/esm/stzh-contact-cv.entry.js +1 -1
  317. package/dist/esm/stzh-contact.entry.js +5 -5
  318. package/dist/esm/stzh-datatable.entry.js.map +1 -1
  319. package/dist/esm/stzh-disturber.entry.js +2 -2
  320. package/dist/esm/stzh-editor.entry.js +1 -1
  321. package/dist/esm/stzh-eventdata.entry.js +1 -1
  322. package/dist/esm/stzh-eventinfo.entry.js +1 -1
  323. package/dist/esm/stzh-feedreader-item.entry.js +1 -1
  324. package/dist/esm/stzh-feedreader.entry.js +1 -1
  325. package/dist/esm/stzh-geo-ref-data.entry.js +3 -3
  326. package/dist/esm/stzh-ghettobox_3.entry.js +1 -1
  327. package/dist/esm/stzh-homepage-search.entry.js +1 -1
  328. package/dist/esm/stzh-homepage-service-highlights.entry.js +2 -2
  329. package/dist/esm/stzh-microsite-teaserlist.entry.js +3 -3
  330. package/dist/esm/stzh-page-skiplinks.entry.js +1 -1
  331. package/dist/esm/stzh-pagebottom.entry.js +1 -1
  332. package/dist/esm/stzh-pagecontent.entry.js +1 -1
  333. package/dist/esm/stzh-pagetitle-hero.entry.js +2 -2
  334. package/dist/esm/stzh-pagetitle-home.entry.js +1 -1
  335. package/dist/esm/stzh-pagetitle.entry.js +1 -1
  336. package/dist/esm/stzh-pi-content-navigation.entry.js +2 -2
  337. package/dist/esm/stzh-pi-menu.entry.js +2 -2
  338. package/dist/esm/stzh-pi-pagetitle.entry.js +1 -1
  339. package/dist/esm/stzh-pi-quote.entry.js +1 -1
  340. package/dist/esm/stzh-pi-teaser.entry.js +1 -1
  341. package/dist/esm/stzh-poicard.entry.js +2 -2
  342. package/dist/esm/stzh-poilist.entry.js +2 -2
  343. package/dist/esm/stzh-print_2.entry.js +1 -1
  344. package/dist/esm/stzh-search.entry.js +2 -2
  345. package/dist/esm/stzh-sitemap.entry.js +1 -1
  346. package/dist/esm/stzh-socialmediastream-item.entry.js +1 -1
  347. package/dist/esm/stzh-socialmediastream.entry.js +1 -1
  348. package/dist/esm/stzh-textandimage.entry.js +1 -1
  349. package/dist/esm/stzh-twocolumns.entry.js +1 -1
  350. package/dist/esm/stzh-vbz-connection-finder.entry.js +8 -1
  351. package/dist/esm/stzh-vbz-connection-finder.entry.js.map +1 -1
  352. package/dist/stzh-components/assets/i18n/en.json +1 -1
  353. package/dist/stzh-components/{p-466ce2ed.entry.js → p-1a4b1e07.entry.js} +2 -2
  354. package/dist/stzh-components/{p-588eaf19.entry.js → p-238862e6.entry.js} +2 -2
  355. package/dist/stzh-components/{p-fc532b6d.entry.js → p-2abd5e52.entry.js} +2 -2
  356. package/dist/stzh-components/{p-04ad66ce.entry.js → p-3099c1a4.entry.js} +2 -2
  357. package/dist/stzh-components/p-3356301f.entry.js +2 -0
  358. package/dist/stzh-components/{p-001a94ff.entry.js.map → p-3356301f.entry.js.map} +1 -1
  359. package/dist/stzh-components/{p-19e9cfcb.entry.js → p-33776d2d.entry.js} +2 -2
  360. package/dist/stzh-components/{p-03f81303.entry.js → p-34ae771d.entry.js} +2 -2
  361. package/dist/stzh-components/{p-712e88e4.entry.js → p-3ea25700.entry.js} +2 -2
  362. package/dist/stzh-components/{p-f0950d01.entry.js → p-44027d66.entry.js} +2 -2
  363. package/dist/stzh-components/{p-d230175b.entry.js → p-49385921.entry.js} +2 -2
  364. package/dist/stzh-components/{p-dd0da396.entry.js → p-496d3d37.entry.js} +2 -2
  365. package/dist/stzh-components/{p-89eb7d18.entry.js → p-4bb9dbd6.entry.js} +2 -2
  366. package/dist/stzh-components/{p-23ae4720.entry.js → p-5460b0ab.entry.js} +2 -2
  367. package/dist/stzh-components/{p-85fc1586.entry.js → p-57e17a51.entry.js} +2 -2
  368. package/dist/stzh-components/{p-89a10196.entry.js → p-5b1ce6b8.entry.js} +2 -2
  369. package/dist/stzh-components/{p-28d64550.entry.js → p-5c15d9a0.entry.js} +2 -2
  370. package/dist/stzh-components/{p-65ac1df7.entry.js → p-5cf0212b.entry.js} +2 -2
  371. package/dist/stzh-components/{p-10afcbfe.entry.js → p-5e098dcd.entry.js} +2 -2
  372. package/dist/stzh-components/{p-d8f7f464.entry.js → p-5ebdee72.entry.js} +2 -2
  373. package/dist/stzh-components/p-5ebdee72.entry.js.map +1 -0
  374. package/dist/stzh-components/{p-4eb4bbfb.entry.js → p-6d494b4b.entry.js} +2 -2
  375. package/dist/stzh-components/{p-18faf89f.entry.js → p-759bf70a.entry.js} +2 -2
  376. package/dist/stzh-components/{p-c79d559d.entry.js → p-78d27630.entry.js} +2 -2
  377. package/dist/stzh-components/{p-70602177.entry.js → p-7a5ae4fe.entry.js} +2 -2
  378. package/dist/stzh-components/{p-b1cf7284.entry.js → p-7ba43dfe.entry.js} +2 -2
  379. package/dist/stzh-components/{p-129e3895.entry.js → p-82a2a943.entry.js} +2 -2
  380. package/dist/stzh-components/{p-b20a4d1f.entry.js → p-8908ff04.entry.js} +2 -2
  381. package/dist/stzh-components/{p-a0864a0b.entry.js → p-895a053d.entry.js} +2 -2
  382. package/dist/stzh-components/{p-c73ce503.entry.js → p-8d2022f7.entry.js} +2 -2
  383. package/dist/stzh-components/{p-71c33a68.entry.js → p-90cd0105.entry.js} +2 -2
  384. package/dist/stzh-components/{p-5d4a0fd1.entry.js → p-91ff396d.entry.js} +2 -2
  385. package/dist/stzh-components/p-91ff396d.entry.js.map +1 -0
  386. package/dist/stzh-components/{p-daddb702.entry.js → p-98ebe720.entry.js} +2 -2
  387. package/dist/stzh-components/{p-e9cc01e3.entry.js → p-9aea8195.entry.js} +2 -2
  388. package/dist/stzh-components/{p-5c85487e.entry.js → p-9f47ab4a.entry.js} +2 -2
  389. package/dist/stzh-components/p-9f47ab4a.entry.js.map +1 -0
  390. package/dist/stzh-components/{p-2c2896a5.entry.js → p-a22d71d8.entry.js} +2 -2
  391. package/dist/stzh-components/{p-8493a7ab.entry.js → p-a250a770.entry.js} +2 -2
  392. package/dist/stzh-components/p-a250a770.entry.js.map +1 -0
  393. package/dist/stzh-components/{p-5970ced7.entry.js → p-a46ae0cd.entry.js} +2 -2
  394. package/dist/stzh-components/{p-2a0bf4cb.entry.js → p-a7d9f6f1.entry.js} +2 -2
  395. package/dist/stzh-components/{p-f5b5b83e.entry.js → p-ac2efdad.entry.js} +2 -2
  396. package/dist/stzh-components/{p-e81765c0.entry.js → p-af507306.entry.js} +2 -2
  397. package/dist/stzh-components/{p-3642d44b.entry.js → p-bd11c719.entry.js} +2 -2
  398. package/dist/stzh-components/p-bed50961.entry.js.map +1 -1
  399. package/dist/stzh-components/{p-838776fd.entry.js → p-c421e3a8.entry.js} +2 -2
  400. package/dist/stzh-components/{p-5083e7fb.entry.js → p-c7fb2e0b.entry.js} +2 -2
  401. package/dist/stzh-components/{p-aea128ba.entry.js → p-d274a5af.entry.js} +2 -2
  402. package/dist/stzh-components/{p-6dd3708b.entry.js → p-d745c0fc.entry.js} +2 -2
  403. package/dist/stzh-components/{p-95ed49c6.entry.js → p-e18672e6.entry.js} +2 -2
  404. package/dist/stzh-components/{p-0fd8221a.entry.js → p-e2546fd2.entry.js} +2 -2
  405. package/dist/stzh-components/{p-99b217dc.entry.js → p-e40e6c83.entry.js} +2 -2
  406. package/dist/stzh-components/{p-acec3687.entry.js → p-ee07bb5c.entry.js} +2 -2
  407. package/dist/stzh-components/{p-dc677b81.js → p-eeac40e8.js} +2 -2
  408. package/dist/stzh-components/{p-44c77ad6.entry.js → p-fedaf68c.entry.js} +2 -2
  409. package/dist/stzh-components/stzh-components.esm.js +1 -1
  410. package/dist/stzh-components/stzh-components.esm.js.map +1 -1
  411. package/dist/types/components/CMS/VBZ/stzh-vbz-connection-finder/stzh-vbz-connection-finder.d.ts +3 -0
  412. package/dist/types/components/stzh-card/stzh-card.d.ts +2 -10
  413. package/dist/types/components/{CMS/stzh-card-navigation → stzh-card-navigation}/stzh-card-navigation.d.ts +2 -2
  414. package/dist/types/components/{CMS/stzh-card-searchresult → stzh-card-searchresult}/stzh-card-searchresult.d.ts +2 -2
  415. package/dist/types/components/stzh-datatable/stzh-datatable.d.ts +1 -1
  416. package/dist/types/components.d.ts +13 -5
  417. package/dist/vscode-data.json +14 -2
  418. package/package.json +1 -1
  419. package/dist/collection/components/CMS/stzh-card-navigation/stzh-card-navigation.e2e.js.map +0 -1
  420. package/dist/collection/components/CMS/stzh-card-navigation/stzh-card-navigation.js.map +0 -1
  421. package/dist/collection/components/CMS/stzh-card-searchresult/stzh-card-searchresult.e2e.js.map +0 -1
  422. package/dist/collection/components/CMS/stzh-card-searchresult/stzh-card-searchresult.js.map +0 -1
  423. package/dist/components/p-273d413c.js.map +0 -1
  424. package/dist/stzh-components/p-001a94ff.entry.js +0 -2
  425. package/dist/stzh-components/p-5c85487e.entry.js.map +0 -1
  426. package/dist/stzh-components/p-5d4a0fd1.entry.js.map +0 -1
  427. package/dist/stzh-components/p-8493a7ab.entry.js.map +0 -1
  428. package/dist/stzh-components/p-d8f7f464.entry.js.map +0 -1
  429. /package/dist/collection/components/{CMS/stzh-card-navigation → stzh-card-navigation}/stzh-card-navigation.css +0 -0
  430. /package/dist/collection/components/{CMS/stzh-card-searchresult → stzh-card-searchresult}/assets/placeholder-image.svg +0 -0
  431. /package/dist/collection/components/{CMS/stzh-card-searchresult → stzh-card-searchresult}/stzh-card-searchresult.css +0 -0
  432. /package/dist/stzh-components/{p-466ce2ed.entry.js.map → p-1a4b1e07.entry.js.map} +0 -0
  433. /package/dist/stzh-components/{p-588eaf19.entry.js.map → p-238862e6.entry.js.map} +0 -0
  434. /package/dist/stzh-components/{p-fc532b6d.entry.js.map → p-2abd5e52.entry.js.map} +0 -0
  435. /package/dist/stzh-components/{p-04ad66ce.entry.js.map → p-3099c1a4.entry.js.map} +0 -0
  436. /package/dist/stzh-components/{p-19e9cfcb.entry.js.map → p-33776d2d.entry.js.map} +0 -0
  437. /package/dist/stzh-components/{p-03f81303.entry.js.map → p-34ae771d.entry.js.map} +0 -0
  438. /package/dist/stzh-components/{p-712e88e4.entry.js.map → p-3ea25700.entry.js.map} +0 -0
  439. /package/dist/stzh-components/{p-f0950d01.entry.js.map → p-44027d66.entry.js.map} +0 -0
  440. /package/dist/stzh-components/{p-d230175b.entry.js.map → p-49385921.entry.js.map} +0 -0
  441. /package/dist/stzh-components/{p-dd0da396.entry.js.map → p-496d3d37.entry.js.map} +0 -0
  442. /package/dist/stzh-components/{p-89eb7d18.entry.js.map → p-4bb9dbd6.entry.js.map} +0 -0
  443. /package/dist/stzh-components/{p-23ae4720.entry.js.map → p-5460b0ab.entry.js.map} +0 -0
  444. /package/dist/stzh-components/{p-85fc1586.entry.js.map → p-57e17a51.entry.js.map} +0 -0
  445. /package/dist/stzh-components/{p-89a10196.entry.js.map → p-5b1ce6b8.entry.js.map} +0 -0
  446. /package/dist/stzh-components/{p-28d64550.entry.js.map → p-5c15d9a0.entry.js.map} +0 -0
  447. /package/dist/stzh-components/{p-65ac1df7.entry.js.map → p-5cf0212b.entry.js.map} +0 -0
  448. /package/dist/stzh-components/{p-10afcbfe.entry.js.map → p-5e098dcd.entry.js.map} +0 -0
  449. /package/dist/stzh-components/{p-4eb4bbfb.entry.js.map → p-6d494b4b.entry.js.map} +0 -0
  450. /package/dist/stzh-components/{p-18faf89f.entry.js.map → p-759bf70a.entry.js.map} +0 -0
  451. /package/dist/stzh-components/{p-c79d559d.entry.js.map → p-78d27630.entry.js.map} +0 -0
  452. /package/dist/stzh-components/{p-70602177.entry.js.map → p-7a5ae4fe.entry.js.map} +0 -0
  453. /package/dist/stzh-components/{p-b1cf7284.entry.js.map → p-7ba43dfe.entry.js.map} +0 -0
  454. /package/dist/stzh-components/{p-129e3895.entry.js.map → p-82a2a943.entry.js.map} +0 -0
  455. /package/dist/stzh-components/{p-b20a4d1f.entry.js.map → p-8908ff04.entry.js.map} +0 -0
  456. /package/dist/stzh-components/{p-a0864a0b.entry.js.map → p-895a053d.entry.js.map} +0 -0
  457. /package/dist/stzh-components/{p-c73ce503.entry.js.map → p-8d2022f7.entry.js.map} +0 -0
  458. /package/dist/stzh-components/{p-71c33a68.entry.js.map → p-90cd0105.entry.js.map} +0 -0
  459. /package/dist/stzh-components/{p-daddb702.entry.js.map → p-98ebe720.entry.js.map} +0 -0
  460. /package/dist/stzh-components/{p-e9cc01e3.entry.js.map → p-9aea8195.entry.js.map} +0 -0
  461. /package/dist/stzh-components/{p-2c2896a5.entry.js.map → p-a22d71d8.entry.js.map} +0 -0
  462. /package/dist/stzh-components/{p-5970ced7.entry.js.map → p-a46ae0cd.entry.js.map} +0 -0
  463. /package/dist/stzh-components/{p-2a0bf4cb.entry.js.map → p-a7d9f6f1.entry.js.map} +0 -0
  464. /package/dist/stzh-components/{p-f5b5b83e.entry.js.map → p-ac2efdad.entry.js.map} +0 -0
  465. /package/dist/stzh-components/{p-e81765c0.entry.js.map → p-af507306.entry.js.map} +0 -0
  466. /package/dist/stzh-components/{p-3642d44b.entry.js.map → p-bd11c719.entry.js.map} +0 -0
  467. /package/dist/stzh-components/{p-838776fd.entry.js.map → p-c421e3a8.entry.js.map} +0 -0
  468. /package/dist/stzh-components/{p-5083e7fb.entry.js.map → p-c7fb2e0b.entry.js.map} +0 -0
  469. /package/dist/stzh-components/{p-aea128ba.entry.js.map → p-d274a5af.entry.js.map} +0 -0
  470. /package/dist/stzh-components/{p-6dd3708b.entry.js.map → p-d745c0fc.entry.js.map} +0 -0
  471. /package/dist/stzh-components/{p-95ed49c6.entry.js.map → p-e18672e6.entry.js.map} +0 -0
  472. /package/dist/stzh-components/{p-0fd8221a.entry.js.map → p-e2546fd2.entry.js.map} +0 -0
  473. /package/dist/stzh-components/{p-99b217dc.entry.js.map → p-e40e6c83.entry.js.map} +0 -0
  474. /package/dist/stzh-components/{p-acec3687.entry.js.map → p-ee07bb5c.entry.js.map} +0 -0
  475. /package/dist/stzh-components/{p-dc677b81.js.map → p-eeac40e8.js.map} +0 -0
  476. /package/dist/stzh-components/{p-44c77ad6.entry.js.map → p-fedaf68c.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"p-fbdd0f8f.js","mappings":"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","names":["h"],"sources":["src/utils/date-utils.ts","src/components/stzh-calendar/stzh-calendar-day.tsx","src/components/stzh-calendar/stzh-calendar-month.tsx","src/components/stzh-calendar/stzh-calendar.scss?tag=stzh-calendar&encapsulation=scoped","src/components/stzh-calendar/stzh-calendar.tsx"],"sourcesContent":["export const ISO_DATE_FORMAT = /^(\\d{4})-(\\d{2})-(\\d{2})$/\n\nexport enum DaysOfWeek {\n Sunday = 0,\n Monday = 1,\n Tuesday = 2,\n Wednesday = 3,\n Thursday = 4,\n Friday = 5,\n Saturday = 6,\n}\n\nexport function formatTime(date: Date) {\n if (!date) {\n return \"\"\n }\n\n var h = date.getHours().toString(10)\n var m = date.getMinutes().toString(10)\n\n if (date.getHours() < 10) {\n h = `0${h}`\n }\n\n if (date.getMinutes() < 10) {\n m = `0${m}`\n }\n\n return `${h}:${m}`\n}\n\nexport function createDate(year: string, month: string, day: string): Date {\n var dayInt = parseInt(day, 10)\n var monthInt = parseInt(month, 10)\n var yearInt = parseInt(year, 10)\n\n const isValid =\n Number.isInteger(yearInt) && // all parts should be integers\n Number.isInteger(monthInt) &&\n Number.isInteger(dayInt) &&\n monthInt > 0 && // month must be 1-12\n monthInt <= 12 &&\n dayInt > 0 && // day must be 1-31\n dayInt <= 31 &&\n yearInt > 0\n\n if (isValid) {\n return new Date(yearInt, monthInt - 1, dayInt)\n }\n}\n\n/**\n * @param value date string in ISO format YYYY-MM-DD\n */\nexport function parseISODate(value: string): Date {\n if (!value) {\n return\n }\n\n const matches = value.match(ISO_DATE_FORMAT)\n\n if (matches) {\n return createDate(matches[1], matches[2], matches[3])\n }\n}\n\n/**\n * print date in format YYYY-MM-DD\n * @param date\n */\nexport function printISODate(date: Date): string {\n if (!date) {\n return \"\"\n }\n\n var d = date.getDate().toString(10)\n var m = (date.getMonth() + 1).toString(10)\n var y = date.getFullYear().toString(10)\n\n // days are not zero-indexed, so pad if less than 10\n if (date.getDate() < 10) {\n d = `0${d}`\n }\n\n // months *are* zero-indexed, pad if less than 9!\n if (date.getMonth() < 9) {\n m = `0${m}`\n }\n\n return `${y}-${m}-${d}`\n}\n\n/**\n * Compare if two dates are equal in terms of day, month, and year\n */\nexport function isEqual(a: Date, b: Date): boolean {\n if (a == null || b == null) {\n return false\n }\n\n return isEqualMonth(a, b) && a.getDate() === b.getDate()\n}\n\n/**\n * Compare if two dates are in the same month of the same year.\n */\nexport function isEqualMonth(a: Date, b: Date): boolean {\n if (a == null || b == null) {\n return false\n }\n\n return a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth()\n}\n\nexport function addDays(date: Date, days: number): Date {\n var d = new Date(date)\n d.setDate(d.getDate() + days)\n return d\n}\n\nexport function addMonths(date: Date, months: number): Date {\n const d = new Date(date)\n d.setMonth(date.getMonth() + months)\n return d\n}\n\nexport function addYears(date: Date, years: number): Date {\n const d = new Date(date)\n d.setFullYear(date.getFullYear() + years)\n return d\n}\n\nexport function startOfWeek(date: Date, firstDayOfWeek: DaysOfWeek = DaysOfWeek.Monday): Date {\n var d = new Date(date)\n var day = d.getDay()\n var diff = (day < firstDayOfWeek ? 7 : 0) + day - firstDayOfWeek\n\n d.setDate(d.getDate() - diff)\n return d\n}\n\nexport function endOfWeek(date: Date, firstDayOfWeek: DaysOfWeek = DaysOfWeek.Monday): Date {\n var d = new Date(date)\n var day = d.getDay()\n var diff = (day < firstDayOfWeek ? -7 : 0) + 6 - (day - firstDayOfWeek)\n\n d.setDate(d.getDate() + diff)\n return d\n}\n\nexport function startOfMonth(date: Date): Date {\n return new Date(date.getFullYear(), date.getMonth(), 1)\n}\n\nexport function endOfMonth(date: Date): Date {\n return new Date(date.getFullYear(), date.getMonth() + 1, 0)\n}\n\nexport function setMonth(date: Date, month: number): Date {\n const d = new Date(date)\n d.setMonth(month)\n return d\n}\n\nexport function setYear(date: Date, year: number): Date {\n const d = new Date(date)\n d.setFullYear(year)\n return d\n}\n\n/**\n * Check if date is within a min and max\n */\nexport function inRange(date: Date, min?: Date, max?: Date): boolean {\n return clamp(date, min, max) === date\n}\n\n/**\n * Ensures date is within range, returns min or max if out of bounds\n */\nexport function clamp(date: Date, min?: Date, max?: Date): Date {\n const time = date.getTime()\n\n if (min && min instanceof Date && time < min.getTime()) {\n return min\n }\n\n if (max && max instanceof Date && time > max.getTime()) {\n return max\n }\n\n return date\n}\n\n/**\n * given start and end date, return an (inclusive) array of all dates in between\n * @param start\n * @param end\n */\nfunction getDaysInRange(start: Date, end: Date): Date[] {\n const days: Date[] = []\n let current = start\n\n while (!isEqual(current, end)) {\n days.push(current)\n current = addDays(current, 1)\n }\n\n days.push(current)\n\n return days\n}\n\n/**\n * given a date, return an array of dates from a calendar perspective\n * @param date\n * @param firstDayOfWeek\n */\nexport function getViewOfMonth(date: Date, firstDayOfWeek: DaysOfWeek = DaysOfWeek.Monday): Date[] {\n const start = startOfWeek(startOfMonth(date), firstDayOfWeek)\n const end = endOfWeek(endOfMonth(date), firstDayOfWeek)\n\n return getDaysInRange(start, end)\n}\n\n/**\n * Form random hash\n */\nexport function chr4() {\n return Math.random()\n .toString(16)\n .slice(-4)\n}\n\n/**\n * Create random identifier with a prefix\n * @param prefix\n */\nexport function createIdentifier(prefix) {\n return `${prefix}-${chr4()}${chr4()}-${chr4()}-${chr4()}-${chr4()}-${chr4()}${chr4()}${chr4()}`\n}\n","import { h, FunctionalComponent } from \"@stencil/core\"\nimport { isEqual, isEqualMonth } from \"../../utils/date-utils\"\n\nexport type StzhCalendarDayProps = {\n focusedDay: Date\n today: Date\n day: Date\n disabled: boolean\n inRange: boolean\n isSelected: boolean\n dateFormatter: Intl.DateTimeFormat\n onDaySelect: (event: MouseEvent, day: Date) => void\n onKeyboardNavigation: (event: KeyboardEvent) => void\n focusedDayRef?: (element: HTMLElement) => void\n}\n\nexport const StzhCalendarDay: FunctionalComponent<StzhCalendarDayProps> = ({\n focusedDay,\n today,\n day,\n onDaySelect,\n onKeyboardNavigation,\n focusedDayRef,\n disabled,\n inRange,\n isSelected,\n dateFormatter,\n}) => {\n const isToday = isEqual(day, today)\n const isMonth = isEqualMonth(day, focusedDay)\n const isFocused = isEqual(day, focusedDay)\n const isOutsideRange = !inRange\n\n function handleClick(e) {\n onDaySelect(e, day)\n }\n\n return (\n <button\n class={{\n \"stzh-calendar__day\": true,\n \"is-outside\": isOutsideRange,\n \"is-today\": isToday,\n \"is-month\": isMonth,\n \"is-disabled\": disabled,\n }}\n tabIndex={isFocused ? 0 : -1}\n onClick={handleClick}\n onKeyDown={onKeyboardNavigation}\n aria-disabled={disabled ? \"true\" : undefined}\n disabled={isOutsideRange}\n type=\"button\"\n aria-pressed={isSelected ? \"true\" : \"false\"}\n aria-current={isToday ? \"date\" : undefined}\n s-object-id={dateFormatter.format(day)}\n ref={el => {\n if (isFocused && el && focusedDayRef) {\n focusedDayRef(el)\n }\n }}\n >\n <span aria-hidden=\"true\">{day.getDate()}</span>\n <span class=\"stzh-calendar__vhidden\">{dateFormatter.format(day)}</span>\n </button>\n )\n}\n","import { h, FunctionalComponent } from \"@stencil/core\"\nimport { getViewOfMonth, inRange, DaysOfWeek, isEqual } from \"../../utils/date-utils\"\n\nimport { StzhCalendarLocalizedText } from \"./stzh-calendar.localization\"\nimport { StzhCalendarDay, StzhCalendarDayProps } from \"./stzh-calendar-day\"\nimport { StzhCalendarDateDisabledPredicate } from \"../../index\";\n\nfunction chunk<T>(array: T[], chunkSize: number): T[][] {\n const result = []\n\n for (let i = 0; i < array.length; i += chunkSize) {\n result.push(array.slice(i, i + chunkSize))\n }\n\n return result\n}\n\nfunction mapWithOffset<T, U>(array: T[], startingOffset: number, mapFn: (item: T) => U): U[] {\n return array.map((_, i) => {\n const adjustedIndex = (i + startingOffset) % array.length\n return mapFn(array[adjustedIndex])\n })\n}\n\ntype StzhCalendarMonthProps = {\n selectedDate: Date\n focusedDate: Date\n labelledById: string\n localization: StzhCalendarLocalizedText\n firstDayOfWeek: DaysOfWeek\n min?: Date\n max?: Date\n dateFormatter: Intl.DateTimeFormat\n isDateDisabled: StzhCalendarDateDisabledPredicate\n onDateSelect: StzhCalendarDayProps[\"onDaySelect\"]\n onKeyboardNavigation: StzhCalendarDayProps[\"onKeyboardNavigation\"]\n focusedDayRef: (element: HTMLElement) => void\n}\n\nexport const StzhCalendarMonth: FunctionalComponent<StzhCalendarMonthProps> = ({\n selectedDate,\n focusedDate,\n labelledById,\n localization,\n firstDayOfWeek,\n min,\n max,\n dateFormatter,\n isDateDisabled,\n onDateSelect,\n onKeyboardNavigation,\n focusedDayRef,\n}) => {\n const today = new Date()\n const days = getViewOfMonth(focusedDate, firstDayOfWeek)\n\n return (\n <table class=\"stzh-calendar__table\" aria-labelledby={labelledById}>\n <thead>\n <tr>\n {mapWithOffset(localization.$globals.dayNames, firstDayOfWeek, dayName => (\n <th class=\"stzh-calendar__table-header\" scope=\"col\">\n <span aria-hidden=\"true\">{dayName.substring(0, 2)}</span>\n <span class=\"stzh-calendar__vhidden\">{dayName}</span>\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {chunk(days, 7).map(week => (\n <tr class=\"stzh-calendar__row\">\n {week.map(day => (\n <td class=\"stzh-calendar__cell\">\n <StzhCalendarDay\n day={day}\n today={today}\n focusedDay={focusedDate}\n isSelected={isEqual(day, selectedDate)}\n disabled={isDateDisabled(day)}\n inRange={inRange(day, min, max)}\n onDaySelect={onDateSelect}\n dateFormatter={dateFormatter}\n onKeyboardNavigation={onKeyboardNavigation}\n focusedDayRef={focusedDayRef}\n />\n </td>\n ))}\n </tr>\n ))}\n </tbody>\n </table>\n )\n}\n","/**\n * @prop --background: Background color of calendar\n * @prop --padding-top: Padding top of calendar\n * @prop --padding-bottom: Padding bottom color of calendar\n * @prop --padding-left: Padding left color of calendar\n * @prop --padding-right: Padding right color of calendar\n * @prop --background-color: Background color of calendar\n */\n\n:host {\n --padding-top: #{space('small')};\n --padding-bottom: #{space('small')};\n --padding-left: #{space('xsmall')};\n --padding-right: #{space('xsmall')};\n\n width: #{$calendarWidth};\n}\n\n.stzh-calendar {\n --stzh-description-min-height: initial;\n\n display: flex;\n position: relative;\n text-align: left;\n touch-action: pan-y;\n user-select: none;\n overflow: hidden;\n overflow: clip;\n padding-top: var(--padding-top);\n padding-bottom: var(--padding-bottom);\n padding-left: var(--padding-left);\n padding-right: var(--padding-right);\n\n &__wrapper {\n width: 100%;\n }\n\n &__table {\n @include font;\n @include fontSize('milli');\n border-collapse: collapse;\n border-spacing: 0;\n text-align: center;\n width: 100%;\n }\n\n &__table-header,\n &__cell {\n padding: space('xxxsmall');\n\n &:first-child {\n padding-left: 0;\n }\n\n &:last-child {\n padding-right: 0;\n }\n }\n\n &__row:last-child &__cell {\n padding-bottom: 0;\n }\n\n &__table-header {\n @include font;\n @include fontSize('nano');\n text-decoration-line: none;\n padding-top: 0;\n padding-bottom: 0;\n width: 44px;\n height: 40px;\n }\n\n &__cell {\n text-align: center;\n }\n\n &__day {\n @include font;\n @include fontSize('milli');\n appearance: none;\n background: transparent;\n border: 0;\n cursor: pointer;\n display: inline-block;\n font-variant-numeric: tabular-nums;\n width: 40px;\n height: 40px;\n text-align: center;\n vertical-align: middle;\n transition-property: color, background-color;\n transition-duration: $baseTransitionAnimationSpeed;\n // position: relative;\n // padding: 0 0 1px;\n // z-index: 1;\n\n // &::before {\n // z-index: -1;\n // bottom: 0;\n // content: \"\";\n // left: 0;\n // position: absolute;\n // right: 0;\n // top: 0;\n // }\n\n &.is-today {\n @include font('heavy');\n color: $colorPrimary70;\n // box-shadow: 0 0 0 1px $colorPrimary;\n // position: relative;\n // z-index: 200;\n }\n\n &:hover {\n background: $colorGrey20;\n }\n\n // &:hover::before {\n // background: $colorGrey20;\n // }\n\n // &:focus,\n &[aria-pressed=\"true\"] {\n background: $colorSecondary30;\n // box-shadow: none;\n color: $colorPrimary70;\n }\n\n &:active {\n background: $colorSecondary30;\n // box-shadow: 0 0 5px $colorPrimary;\n color: $colorPrimary70;\n // z-index: 200;\n }\n\n // &:focus {\n // z-index: 200;\n // }\n\n // &:not(.is-month) {\n // box-shadow: none;\n // }\n\n &:not(.is-month),\n &[aria-disabled=\"true\"] {\n background: transparent;\n color: $colorGrey60;\n cursor: default;\n }\n\n // &[aria-disabled=\"true\"] {\n // &.is-today {\n // box-shadow: 0 0 0 1px $colorGrey20;\n\n // &:focus {\n // box-shadow: 0 0 5px $colorPrimary;\n // }\n // }\n\n // &::before {\n // display: none;\n // }\n // }\n\n &.is-disabled {\n text-decoration-line: line-through;\n }\n\n &.is-outside {\n color: $colorGrey60;\n background: $colorGrey20;\n // box-shadow: none;\n cursor: default;\n pointer-events: none;\n text-decoration-line: none;\n\n // &::before {\n // display: none;\n // }\n }\n }\n\n &__header {\n align-items: center;\n display: flex;\n justify-content: space-between;\n width: 100%;\n }\n\n &__nav {\n display: flex;\n align-items: center;\n\n &.is-dropdowns {\n gap: calc(#{space('xsmall')} + #{space('small')});\n margin-left: space('small');\n }\n }\n\n // &__prev,\n // &__next {\n // align-items: center;\n // appearance: none;\n // font-family: inherit;\n // background: transparent;\n // border-radius: 50%;\n // color: $colorPrimary70;\n // cursor: pointer;\n // display: inline-flex;\n // flex-shrink: 0;\n // justify-content: center;\n // margin-left: space('xsmall');\n // padding: 0;\n // transition: background-color 300ms ease;\n // height: 32px;\n // width: 32px;\n\n // &:disabled {\n // cursor: default;\n // color: $colorGrey60;\n // }\n // }\n\n stzh-dropdown#{&}__dropdown {\n --popover-width: 100%;\n --popover-height: calc(100% - #{$formInputHeightSmall} - var(--padding-top));\n --popover-max-height: initial;\n position: static;\n }\n\n &__select-wrapper {\n display: inline-flex;\n position: relative;\n\n span {\n margin-right: 0px;\n }\n }\n\n &__select {\n @include fontSize('milli');\n cursor: pointer;\n height: 100%;\n left: 0;\n opacity: 0;\n position: absolute;\n top: 0;\n width: 100%;\n z-index: 2;\n border-radius: $formInputBorderRadius;\n }\n\n &__select-label {\n @include fontSize('milli');\n appearance: none;\n border: none;\n align-items: center;\n border-radius: $formInputBorderRadius;\n color: $colorPrimary70;\n display: flex;\n gap: space('xsmall');\n padding: 0;\n padding-left: space('small');\n padding-right: space('xsmall');\n\n position: relative;\n width: 100%;\n min-height: 40px;\n z-index: 1;\n }\n\n &__select-icon {\n --size: #{iconSize('xsmall')};\n }\n\n &__vhidden {\n @include visuallyhidden;\n }\n}\n","import {\n Component,\n ComponentInterface,\n Host,\n Prop,\n Element,\n h,\n Event,\n EventEmitter,\n State,\n Method,\n Watch\n} from \"@stencil/core\"\n\nimport {\n addDays,\n startOfWeek,\n endOfWeek,\n setMonth,\n setYear,\n clamp,\n inRange,\n endOfMonth,\n startOfMonth,\n printISODate,\n parseISODate,\n DaysOfWeek,\n} from \"../../utils/date-utils\";\n\nimport { StzhCalendarChangeEvent, StzhDropdownChangeEvent } from \"../../index\";\nimport { StzhCalendarDateDisabledPredicate } from \"../../index\";\n\nimport { StzhCalendarMonth } from \"./stzh-calendar-month\";\nimport { StzhCalendarLocalizedText } from \"./stzh-calendar.localization\";\n\nfunction range(from: number, to: number) {\n var result: number[] = []\n for (var i = from; i <= to; i++) {\n result.push(i)\n }\n return result\n}\n\nconst keyCode = {\n TAB: 9,\n ESC: 27,\n SPACE: 32,\n PAGE_UP: 33,\n PAGE_DOWN: 34,\n END: 35,\n HOME: 36,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n}\n\nlet calendarCounter = 0;\n\n@Component({\n tag: \"stzh-calendar\",\n styleUrl: \"stzh-calendar.scss\",\n scoped: true\n})\nexport class StzhCalendar implements ComponentInterface {\n /** Date value. Must be in IS0-8601 format: YYYY-MM-DD. */\n @Prop({ mutable: true }) value: string = \"\"\n\n /**\n * Minimum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD.\n * This setting can be used alone or together with the max property.\n */\n @Prop() min: string = \"\"\n\n /**\n * Maximum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD.\n * This setting can be used alone or together with the min property.\n */\n @Prop() max: string = \"\"\n\n /**\n * Which day is considered first day of the week? `0` for Sunday, `1` for Monday, etc.\n * Default is Monday.\n */\n @Prop() firstDayOfWeek: DaysOfWeek = DaysOfWeek.Monday\n\n /** Day names, month names, etc, used for localization. */\n @Prop() localization: StzhCalendarLocalizedText;\n\n /**\n * Controls which days are disabled and therefore disallowed.\n * For example, this can be used to disallow selection of weekends.\n */\n @Prop() isDateDisabled: StzhCalendarDateDisabledPredicate = () => false\n\n /**\n * For Adobe Analytics.\n * Will be rendered as value of `s-object-id` attribute to the previous month button element.\n * Default value will be taken from translations.\n */\n @Prop() prevMonthAnalyticsId: string;\n\n /**\n * For Adobe Analytics.\n * Will be rendered as value of `s-object-id` attribute to the next month button element.\n * Default value will be taken from translations.\n */\n @Prop() nextMonthAnalyticsId: string;\n\n @State() activeFocus = false\n @State() focusedDay = new Date()\n\n /** Event emitted when a date is selected. */\n @Event() stzhChange: EventEmitter<StzhCalendarChangeEvent>\n\n @Watch(\"localization\")\n createDateFormatters() {\n if (this.localization) {\n this.dateFormatShort = new Intl.DateTimeFormat(this.localization.$locale, { day: \"numeric\", month: \"long\" })\n }\n }\n\n @Watch(\"value\")\n valueWatcher(newValue: string) {\n if (newValue) {\n this.setFocusedDay(parseISODate(this.value));\n } else {\n this.setFocusedDay(new Date());\n }\n }\n\n /** Set focused day element by a JS Date object */\n @Method()\n async setFocusedDay(day: Date) {\n this.focusedDay = clamp(day, parseISODate(this.min), parseISODate(this.max))\n }\n\n /** Set value by a JS Date object */\n @Method()\n async setDate(date: Date) {\n this.value = printISODate(date)\n }\n\n @Element() element: HTMLStzhCalendarElement\n\n // private monthSelectId: string\n // private yearSelectId: string\n private dialogLabelId: string\n\n // private focusedDayNode: HTMLButtonElement\n\n private initialTouchX: number = null\n private initialTouchY: number = null\n\n /**\n * To format dates exclusively for the benefit of screen readers.\n *\n * We prefer DateTimeFormat over date.toLocaleDateString, as the former has\n * better performance when formatting large number of dates. See:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString#Performance\n */\n private dateFormatShort: Intl.DateTimeFormat\n\n private enableActiveFocus = () => {\n this.activeFocus = true\n }\n\n private disableActiveFocus = () => {\n this.activeFocus = false\n }\n\n private addDays(days: number) {\n this.setFocusedDay(addDays(this.focusedDay, days))\n }\n\n private addMonths(months: number) {\n this.setMonth(this.focusedDay.getMonth() + months)\n }\n\n private addYears(years: number) {\n this.setYear(this.focusedDay.getFullYear() + years)\n }\n\n private startOfWeek() {\n this.setFocusedDay(startOfWeek(this.focusedDay, this.firstDayOfWeek))\n }\n\n private endOfWeek() {\n this.setFocusedDay(endOfWeek(this.focusedDay, this.firstDayOfWeek))\n }\n\n private setMonth(month: number) {\n const min = setMonth(startOfMonth(this.focusedDay), month)\n const max = endOfMonth(min)\n const date = setMonth(this.focusedDay, month)\n\n this.setFocusedDay(clamp(date, min, max))\n }\n\n private setYear(year: number) {\n const min = setYear(startOfMonth(this.focusedDay), year)\n const max = endOfMonth(min)\n const date = setYear(this.focusedDay, year)\n\n this.setFocusedDay(clamp(date, min, max))\n }\n\n private handleTouchStart = (event: TouchEvent) => {\n const touch = event.changedTouches[0]\n this.initialTouchX = touch.pageX\n this.initialTouchY = touch.pageY\n }\n\n // private handleTouchMove = (event: TouchEvent) => {\n // event.preventDefault()\n // }\n\n private handleTouchEnd = (event: TouchEvent) => {\n const touch = event.changedTouches[0]\n const distX = touch.pageX - this.initialTouchX // get horizontal dist traveled\n const distY = touch.pageY - this.initialTouchY // get vertical dist traveled\n const threshold = 70\n\n const isHorizontalSwipe = Math.abs(distX) >= threshold && Math.abs(distY) <= threshold\n\n if (isHorizontalSwipe) {\n this.addMonths(distX < 0 ? 1 : -1)\n }\n\n this.initialTouchY = null\n this.initialTouchX = null\n }\n\n private handleNextMonthClick = (event: MouseEvent) => {\n event.preventDefault()\n this.addMonths(1)\n }\n\n private handlePreviousMonthClick = (event: MouseEvent) => {\n event.preventDefault()\n this.addMonths(-1)\n }\n\n private handleKeyboardNavigation = (event: KeyboardEvent) => {\n var handled = true\n\n switch (event.keyCode) {\n case keyCode.RIGHT:\n this.addDays(1)\n break\n case keyCode.LEFT:\n this.addDays(-1)\n break\n case keyCode.DOWN:\n this.addDays(7)\n break\n case keyCode.UP:\n this.addDays(-7)\n break\n case keyCode.PAGE_UP:\n if (event.shiftKey) {\n this.addYears(-1)\n } else {\n this.addMonths(-1)\n }\n break\n case keyCode.PAGE_DOWN:\n if (event.shiftKey) {\n this.addYears(1)\n } else {\n this.addMonths(1)\n }\n break\n case keyCode.HOME:\n this.startOfWeek()\n break\n case keyCode.END:\n this.endOfWeek()\n break\n default:\n handled = false\n }\n\n if (handled) {\n event.preventDefault()\n this.enableActiveFocus()\n }\n }\n\n private handleDaySelect = (_event: MouseEvent, day: Date) => {\n const isInRange = inRange(day, parseISODate(this.min), parseISODate(this.max))\n const isAllowed = !this.isDateDisabled(day)\n\n if (isInRange && isAllowed) {\n this.setDate(day)\n\n this.stzhChange.emit({\n component: \"stzh-calendar\",\n value: this.value,\n valueAsDate: day,\n })\n } else {\n // for consistency we should set the focused day in cases where\n // user has selected a day that has been specifically disallowed\n this.setFocusedDay(day)\n }\n }\n\n private handleMonthSelect = (event: CustomEvent<StzhDropdownChangeEvent>) => {\n const value = Array.isArray(event.detail.value) ? event.detail.value[0] : event.detail.value;\n this.setMonth(parseInt(value, 10))\n }\n\n private handleYearSelect = (event: CustomEvent<StzhDropdownChangeEvent>) => {\n const value = Array.isArray(event.detail.value) ? event.detail.value[0] : event.detail.value;\n this.setYear(parseInt(value, 10))\n }\n\n private processFocusedDayNode = (element: HTMLButtonElement) => {\n // this.focusedDayNode = element\n\n if (this.activeFocus) {\n setTimeout(() => element.focus(), 0)\n }\n }\n\n async componentWillLoad() {\n // this.monthSelectId = `stzh-calendar-month-${calendarCounter}`;\n // this.yearSelectId = `stzh-calendar-year-${calendarCounter}`;\n this.dialogLabelId = `stzh-calendar-dialog-${calendarCounter}`;\n calendarCounter++;\n\n this.valueWatcher(this.value);\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, 'calendar');\n }\n }\n\n connectedCallback() {\n this.createDateFormatters()\n }\n\n render() {\n const valueAsDate = parseISODate(this.value)\n const selectedYear = (valueAsDate || this.focusedDay).getFullYear()\n const focusedMonth = this.focusedDay.getMonth()\n const focusedYear = this.focusedDay.getFullYear()\n\n const minDate = parseISODate(this.min)\n const maxDate = parseISODate(this.max)\n const prevMonthDisabled =\n minDate != null && minDate.getMonth() === focusedMonth && minDate.getFullYear() === focusedYear\n const nextMonthDisabled =\n maxDate != null && maxDate.getMonth() === focusedMonth && maxDate.getFullYear() === focusedYear\n\n const minYear = minDate ? minDate.getFullYear() : selectedYear - 10\n const maxYear = maxDate ? maxDate.getFullYear() : selectedYear + 10\n\n const monthDropdownOptions = this.localization.$globals.monthNames.map((month, i) => {\n return {\n value: i.toString(),\n text: month,\n disabled: !inRange(\n new Date(focusedYear, i, 1),\n minDate ? startOfMonth(minDate) : null,\n maxDate ? endOfMonth(maxDate) : null\n ),\n }\n });\n\n const yearDropdownOptions = range(minYear, maxYear).map(year => {\n return {\n value: year.toString(),\n text: year.toString(),\n }\n });\n\n return (\n <Host>\n <div\n class={{\n \"stzh-calendar\": true\n }}\n /* onTouchMove={this.handleTouchMove} */\n onTouchStart={this.handleTouchStart}\n onTouchEnd={this.handleTouchEnd}\n >\n <div class=\"stzh-calendar__wrapper\">\n {/*\n <div class=\"stzh-calendar__mobile\" onFocusin={this.disableActiveFocus}>\n <label class=\"stzh-calendar__mobile-heading\">{this.localization.calendarHeading}</label>\n </div>\n */}\n {/* @ts-ignore */}\n <div class=\"stzh-calendar__header\" onFocusin={this.disableActiveFocus}>\n <div class=\"stzh-calendar__nav is-dropdowns\">\n <h2\n id={this.dialogLabelId}\n class=\"stzh-calendar__vhidden\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n >\n {this.localization.$globals.monthNames[focusedMonth]}\n {this.focusedDay.getFullYear()}\n </h2>\n\n <stzh-dropdown\n class=\"stzh-calendar__dropdown\"\n variant=\"plain\"\n size=\"small\"\n inline\n popover-fullwidth=\"horizontal\"\n noSearch={true}\n openOnFocus={false}\n items={[focusedMonth.toString()]}\n options={monthDropdownOptions}\n label={this.localization.monthSelectLabel}\n labelHidden={true}\n onStzhChange={this.handleMonthSelect}\n ></stzh-dropdown>\n\n <stzh-dropdown\n class=\"stzh-calendar__dropdown\"\n variant=\"plain\"\n size=\"small\"\n inline\n popover-fullwidth=\"horizontal\"\n noSearch={true}\n openOnFocus={false}\n items={[focusedYear.toString()]}\n options={yearDropdownOptions}\n label={this.localization.yearSelectLabel}\n labelHidden={true}\n onStzhChange={this.handleYearSelect}\n ></stzh-dropdown>\n\n {/* alternative for dropdown with popover:\n <stzh-popover>\n <button class=\"stzh-calendar__select-label\" aria-label={this.localization.monthSelectLabel}>\n <span>{this.localization.$globals.monthNamesShort[focusedMonth]}</span>\n <stzh-icon class=\"stzh-calendar__select-icon\" name=\"angle-down\"></stzh-icon>\n </button>\n <stzh-menu slot=\"content\">\n {this.localization.$globals.monthNames.map((month, i) => (\n <stzh-menu-item\n // onClick={this.handleMonthSelect(month)}\n active={i === focusedMonth}\n disabled={\n !inRange(\n new Date(focusedYear, i, 1),\n minDate ? startOfMonth(minDate) : null,\n maxDate ? endOfMonth(maxDate) : null\n )\n }\n >\n {month}\n </stzh-menu-item>\n ))}\n </stzh-menu>\n </stzh-popover>\n */}\n\n {/* original implmentation with native select:\n <label htmlFor={this.monthSelectId} class=\"stzh-calendar__vhidden\">\n {this.localization.monthSelectLabel}\n </label>\n\n <div class=\"stzh-calendar__select-wrapper\">\n <select\n id={this.monthSelectId}\n class=\"stzh-calendar__select stzh-calendar__select--month\"\n onChange={this.handleMonthSelect}\n >\n {this.localization.$globals.monthNames.map((month, i) => (\n <option\n key={month}\n value={i}\n selected={i === focusedMonth}\n disabled={\n !inRange(\n new Date(focusedYear, i, 1),\n minDate ? startOfMonth(minDate) : null,\n maxDate ? endOfMonth(maxDate) : null\n )\n }\n >\n {month}\n </option>\n ))}\n </select>\n <div class=\"stzh-calendar__select-label\" aria-hidden=\"true\">\n <span>{this.localization.$globals.monthNamesShort[focusedMonth]}</span>\n <stzh-icon class=\"stzh-calendar__select-icon\" name=\"angle-down\"></stzh-icon>\n </div>\n </div>\n\n <label htmlFor={this.yearSelectId} class=\"stzh-calendar__vhidden\">\n {this.localization.yearSelectLabel}\n </label>\n\n <div class=\"stzh-calendar__select-wrapper\">\n <select\n id={this.yearSelectId}\n class=\"stzh-calendar__select stzh-calendar__select--year\"\n onChange={this.handleYearSelect}\n >\n {range(minYear, maxYear).map(year => (\n <option key={year} selected={year === focusedYear}>\n {year}\n </option>\n ))}\n </select>\n <div class=\"stzh-calendar__select-label\" aria-hidden=\"true\">\n <span>{this.focusedDay.getFullYear()}</span>\n <stzh-icon class=\"stzh-calendar__select-icon\" name=\"angle-down\"></stzh-icon>\n </div>\n </div>\n */}\n\n </div>\n\n <div class=\"stzh-calendar__nav\">\n <stzh-button\n class=\"stzh-calendar__prev\"\n variant=\"tertiary\"\n size=\"small\"\n icon=\"arrow-left\"\n iconOnly={true}\n onClick={this.handlePreviousMonthClick}\n disabled={prevMonthDisabled}\n type=\"button\"\n a11yLabel={this.localization.prevMonthLabel}\n analyticsId={this.prevMonthAnalyticsId || this.localization.prevMonthLabel}\n ></stzh-button>\n <stzh-button\n class=\"stzh-calendar__next\"\n variant=\"tertiary\"\n size=\"small\"\n icon=\"arrow-right\"\n iconOnly={true}\n onClick={this.handleNextMonthClick}\n disabled={nextMonthDisabled}\n type=\"button\"\n a11yLabel={this.localization.nextMonthLabel}\n analyticsId={this.nextMonthAnalyticsId || this.localization.nextMonthLabel}\n ></stzh-button>\n </div>\n </div>\n\n <StzhCalendarMonth\n dateFormatter={this.dateFormatShort}\n selectedDate={valueAsDate}\n focusedDate={this.focusedDay}\n onDateSelect={this.handleDaySelect}\n onKeyboardNavigation={this.handleKeyboardNavigation}\n labelledById={this.dialogLabelId}\n localization={this.localization}\n firstDayOfWeek={this.firstDayOfWeek}\n focusedDayRef={this.processFocusedDayNode}\n min={minDate}\n max={maxDate}\n isDateDisabled={this.isDateDisabled}\n />\n </div>\n </div>\n </Host>\n )\n }\n}\n"],"version":3}
1
+ {"file":"p-83a7ac2c.js","mappings":"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","names":["h"],"sources":["src/utils/date-utils.ts","src/components/stzh-calendar/stzh-calendar-day.tsx","src/components/stzh-calendar/stzh-calendar-month.tsx","src/components/stzh-calendar/stzh-calendar.scss?tag=stzh-calendar&encapsulation=scoped","src/components/stzh-calendar/stzh-calendar.tsx"],"sourcesContent":["export const ISO_DATE_FORMAT = /^(\\d{4})-(\\d{2})-(\\d{2})$/\n\nexport enum DaysOfWeek {\n Sunday = 0,\n Monday = 1,\n Tuesday = 2,\n Wednesday = 3,\n Thursday = 4,\n Friday = 5,\n Saturday = 6,\n}\n\nexport function formatTime(date: Date) {\n if (!date) {\n return \"\"\n }\n\n var h = date.getHours().toString(10)\n var m = date.getMinutes().toString(10)\n\n if (date.getHours() < 10) {\n h = `0${h}`\n }\n\n if (date.getMinutes() < 10) {\n m = `0${m}`\n }\n\n return `${h}:${m}`\n}\n\nexport function createDate(year: string, month: string, day: string): Date {\n var dayInt = parseInt(day, 10)\n var monthInt = parseInt(month, 10)\n var yearInt = parseInt(year, 10)\n\n const isValid =\n Number.isInteger(yearInt) && // all parts should be integers\n Number.isInteger(monthInt) &&\n Number.isInteger(dayInt) &&\n monthInt > 0 && // month must be 1-12\n monthInt <= 12 &&\n dayInt > 0 && // day must be 1-31\n dayInt <= 31 &&\n yearInt > 0\n\n if (isValid) {\n return new Date(yearInt, monthInt - 1, dayInt)\n }\n}\n\n/**\n * @param value date string in ISO format YYYY-MM-DD\n */\nexport function parseISODate(value: string): Date {\n if (!value) {\n return\n }\n\n const matches = value.match(ISO_DATE_FORMAT)\n\n if (matches) {\n return createDate(matches[1], matches[2], matches[3])\n }\n}\n\n/**\n * print date in format YYYY-MM-DD\n * @param date\n */\nexport function printISODate(date: Date): string {\n if (!date) {\n return \"\"\n }\n\n var d = date.getDate().toString(10)\n var m = (date.getMonth() + 1).toString(10)\n var y = date.getFullYear().toString(10)\n\n // days are not zero-indexed, so pad if less than 10\n if (date.getDate() < 10) {\n d = `0${d}`\n }\n\n // months *are* zero-indexed, pad if less than 9!\n if (date.getMonth() < 9) {\n m = `0${m}`\n }\n\n return `${y}-${m}-${d}`\n}\n\n/**\n * Compare if two dates are equal in terms of day, month, and year\n */\nexport function isEqual(a: Date, b: Date): boolean {\n if (a == null || b == null) {\n return false\n }\n\n return isEqualMonth(a, b) && a.getDate() === b.getDate()\n}\n\n/**\n * Compare if two dates are in the same month of the same year.\n */\nexport function isEqualMonth(a: Date, b: Date): boolean {\n if (a == null || b == null) {\n return false\n }\n\n return a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth()\n}\n\nexport function addDays(date: Date, days: number): Date {\n var d = new Date(date)\n d.setDate(d.getDate() + days)\n return d\n}\n\nexport function addMonths(date: Date, months: number): Date {\n const d = new Date(date)\n d.setMonth(date.getMonth() + months)\n return d\n}\n\nexport function addYears(date: Date, years: number): Date {\n const d = new Date(date)\n d.setFullYear(date.getFullYear() + years)\n return d\n}\n\nexport function startOfWeek(date: Date, firstDayOfWeek: DaysOfWeek = DaysOfWeek.Monday): Date {\n var d = new Date(date)\n var day = d.getDay()\n var diff = (day < firstDayOfWeek ? 7 : 0) + day - firstDayOfWeek\n\n d.setDate(d.getDate() - diff)\n return d\n}\n\nexport function endOfWeek(date: Date, firstDayOfWeek: DaysOfWeek = DaysOfWeek.Monday): Date {\n var d = new Date(date)\n var day = d.getDay()\n var diff = (day < firstDayOfWeek ? -7 : 0) + 6 - (day - firstDayOfWeek)\n\n d.setDate(d.getDate() + diff)\n return d\n}\n\nexport function startOfMonth(date: Date): Date {\n return new Date(date.getFullYear(), date.getMonth(), 1)\n}\n\nexport function endOfMonth(date: Date): Date {\n return new Date(date.getFullYear(), date.getMonth() + 1, 0)\n}\n\nexport function setMonth(date: Date, month: number): Date {\n const d = new Date(date)\n d.setMonth(month)\n return d\n}\n\nexport function setYear(date: Date, year: number): Date {\n const d = new Date(date)\n d.setFullYear(year)\n return d\n}\n\n/**\n * Check if date is within a min and max\n */\nexport function inRange(date: Date, min?: Date, max?: Date): boolean {\n return clamp(date, min, max) === date\n}\n\n/**\n * Ensures date is within range, returns min or max if out of bounds\n */\nexport function clamp(date: Date, min?: Date, max?: Date): Date {\n const time = date.getTime()\n\n if (min && min instanceof Date && time < min.getTime()) {\n return min\n }\n\n if (max && max instanceof Date && time > max.getTime()) {\n return max\n }\n\n return date\n}\n\n/**\n * given start and end date, return an (inclusive) array of all dates in between\n * @param start\n * @param end\n */\nfunction getDaysInRange(start: Date, end: Date): Date[] {\n const days: Date[] = []\n let current = start\n\n while (!isEqual(current, end)) {\n days.push(current)\n current = addDays(current, 1)\n }\n\n days.push(current)\n\n return days\n}\n\n/**\n * given a date, return an array of dates from a calendar perspective\n * @param date\n * @param firstDayOfWeek\n */\nexport function getViewOfMonth(date: Date, firstDayOfWeek: DaysOfWeek = DaysOfWeek.Monday): Date[] {\n const start = startOfWeek(startOfMonth(date), firstDayOfWeek)\n const end = endOfWeek(endOfMonth(date), firstDayOfWeek)\n\n return getDaysInRange(start, end)\n}\n\n/**\n * Form random hash\n */\nexport function chr4() {\n return Math.random()\n .toString(16)\n .slice(-4)\n}\n\n/**\n * Create random identifier with a prefix\n * @param prefix\n */\nexport function createIdentifier(prefix) {\n return `${prefix}-${chr4()}${chr4()}-${chr4()}-${chr4()}-${chr4()}-${chr4()}${chr4()}${chr4()}`\n}\n","import { h, FunctionalComponent } from \"@stencil/core\"\nimport { isEqual, isEqualMonth } from \"../../utils/date-utils\"\n\nexport type StzhCalendarDayProps = {\n focusedDay: Date\n today: Date\n day: Date\n disabled: boolean\n inRange: boolean\n isSelected: boolean\n dateFormatter: Intl.DateTimeFormat\n onDaySelect: (event: MouseEvent, day: Date) => void\n onKeyboardNavigation: (event: KeyboardEvent) => void\n focusedDayRef?: (element: HTMLElement) => void\n}\n\nexport const StzhCalendarDay: FunctionalComponent<StzhCalendarDayProps> = ({\n focusedDay,\n today,\n day,\n onDaySelect,\n onKeyboardNavigation,\n focusedDayRef,\n disabled,\n inRange,\n isSelected,\n dateFormatter,\n}) => {\n const isToday = isEqual(day, today)\n const isMonth = isEqualMonth(day, focusedDay)\n const isFocused = isEqual(day, focusedDay)\n const isOutsideRange = !inRange\n\n function handleClick(e) {\n onDaySelect(e, day)\n }\n\n return (\n <button\n class={{\n \"stzh-calendar__day\": true,\n \"is-outside\": isOutsideRange,\n \"is-today\": isToday,\n \"is-month\": isMonth,\n \"is-disabled\": disabled,\n }}\n tabIndex={isFocused ? 0 : -1}\n onClick={handleClick}\n onKeyDown={onKeyboardNavigation}\n aria-disabled={disabled ? \"true\" : undefined}\n disabled={isOutsideRange}\n type=\"button\"\n aria-pressed={isSelected ? \"true\" : \"false\"}\n aria-current={isToday ? \"date\" : undefined}\n s-object-id={dateFormatter.format(day)}\n ref={el => {\n if (isFocused && el && focusedDayRef) {\n focusedDayRef(el)\n }\n }}\n >\n <span aria-hidden=\"true\">{day.getDate()}</span>\n <span class=\"stzh-calendar__vhidden\">{dateFormatter.format(day)}</span>\n </button>\n )\n}\n","import { h, FunctionalComponent } from \"@stencil/core\"\nimport { getViewOfMonth, inRange, DaysOfWeek, isEqual } from \"../../utils/date-utils\"\n\nimport { StzhCalendarLocalizedText } from \"./stzh-calendar.localization\"\nimport { StzhCalendarDay, StzhCalendarDayProps } from \"./stzh-calendar-day\"\nimport { StzhCalendarDateDisabledPredicate } from \"../../index\";\n\nfunction chunk<T>(array: T[], chunkSize: number): T[][] {\n const result = []\n\n for (let i = 0; i < array.length; i += chunkSize) {\n result.push(array.slice(i, i + chunkSize))\n }\n\n return result\n}\n\nfunction mapWithOffset<T, U>(array: T[], startingOffset: number, mapFn: (item: T) => U): U[] {\n return array.map((_, i) => {\n const adjustedIndex = (i + startingOffset) % array.length\n return mapFn(array[adjustedIndex])\n })\n}\n\ntype StzhCalendarMonthProps = {\n selectedDate: Date\n focusedDate: Date\n labelledById: string\n localization: StzhCalendarLocalizedText\n firstDayOfWeek: DaysOfWeek\n min?: Date\n max?: Date\n dateFormatter: Intl.DateTimeFormat\n isDateDisabled: StzhCalendarDateDisabledPredicate\n onDateSelect: StzhCalendarDayProps[\"onDaySelect\"]\n onKeyboardNavigation: StzhCalendarDayProps[\"onKeyboardNavigation\"]\n focusedDayRef: (element: HTMLElement) => void\n}\n\nexport const StzhCalendarMonth: FunctionalComponent<StzhCalendarMonthProps> = ({\n selectedDate,\n focusedDate,\n labelledById,\n localization,\n firstDayOfWeek,\n min,\n max,\n dateFormatter,\n isDateDisabled,\n onDateSelect,\n onKeyboardNavigation,\n focusedDayRef,\n}) => {\n const today = new Date()\n const days = getViewOfMonth(focusedDate, firstDayOfWeek)\n\n return (\n <table class=\"stzh-calendar__table\" aria-labelledby={labelledById}>\n <thead>\n <tr>\n {mapWithOffset(localization.$globals.dayNames, firstDayOfWeek, dayName => (\n <th class=\"stzh-calendar__table-header\" scope=\"col\">\n <span aria-hidden=\"true\">{dayName.substring(0, 2)}</span>\n <span class=\"stzh-calendar__vhidden\">{dayName}</span>\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {chunk(days, 7).map(week => (\n <tr class=\"stzh-calendar__row\">\n {week.map(day => (\n <td class=\"stzh-calendar__cell\">\n <StzhCalendarDay\n day={day}\n today={today}\n focusedDay={focusedDate}\n isSelected={isEqual(day, selectedDate)}\n disabled={isDateDisabled(day)}\n inRange={inRange(day, min, max)}\n onDaySelect={onDateSelect}\n dateFormatter={dateFormatter}\n onKeyboardNavigation={onKeyboardNavigation}\n focusedDayRef={focusedDayRef}\n />\n </td>\n ))}\n </tr>\n ))}\n </tbody>\n </table>\n )\n}\n","/**\n * @prop --background: Background color of calendar\n * @prop --padding-top: Padding top of calendar\n * @prop --padding-bottom: Padding bottom color of calendar\n * @prop --padding-left: Padding left color of calendar\n * @prop --padding-right: Padding right color of calendar\n * @prop --background-color: Background color of calendar\n */\n\n:host {\n --padding-top: #{space('small')};\n --padding-bottom: #{space('small')};\n --padding-left: #{space('xsmall')};\n --padding-right: #{space('xsmall')};\n\n width: #{$calendarWidth};\n}\n\n.stzh-calendar {\n --stzh-description-min-height: initial;\n\n display: flex;\n position: relative;\n text-align: left;\n touch-action: pan-y;\n user-select: none;\n overflow: hidden;\n overflow: clip;\n padding-top: var(--padding-top);\n padding-bottom: var(--padding-bottom);\n padding-left: var(--padding-left);\n padding-right: var(--padding-right);\n\n &__wrapper {\n width: 100%;\n }\n\n &__table {\n @include font;\n @include fontSize('milli');\n border-collapse: collapse;\n border-spacing: 0;\n text-align: center;\n width: 100%;\n }\n\n &__table-header,\n &__cell {\n padding: space('xxxsmall');\n\n &:first-child {\n padding-left: 0;\n }\n\n &:last-child {\n padding-right: 0;\n }\n }\n\n &__row:last-child &__cell {\n padding-bottom: 0;\n }\n\n &__table-header {\n @include font;\n @include fontSize('nano');\n text-decoration-line: none;\n padding-top: 0;\n padding-bottom: 0;\n width: 44px;\n height: 40px;\n }\n\n &__cell {\n text-align: center;\n }\n\n &__day {\n @include font;\n @include fontSize('milli');\n appearance: none;\n background: transparent;\n border: 0;\n cursor: pointer;\n display: inline-block;\n font-variant-numeric: tabular-nums;\n width: 40px;\n height: 40px;\n text-align: center;\n vertical-align: middle;\n transition-property: color, background-color;\n transition-duration: $baseTransitionAnimationSpeed;\n // position: relative;\n // padding: 0 0 1px;\n // z-index: 1;\n\n // &::before {\n // z-index: -1;\n // bottom: 0;\n // content: \"\";\n // left: 0;\n // position: absolute;\n // right: 0;\n // top: 0;\n // }\n\n &.is-today {\n @include font('heavy');\n color: $colorPrimary70;\n // box-shadow: 0 0 0 1px $colorPrimary;\n // position: relative;\n // z-index: 200;\n }\n\n &:hover {\n background: $colorGrey20;\n }\n\n // &:hover::before {\n // background: $colorGrey20;\n // }\n\n // &:focus,\n &[aria-pressed=\"true\"] {\n background: $colorSecondary30;\n // box-shadow: none;\n color: $colorPrimary70;\n }\n\n &:active {\n background: $colorSecondary30;\n // box-shadow: 0 0 5px $colorPrimary;\n color: $colorPrimary70;\n // z-index: 200;\n }\n\n // &:focus {\n // z-index: 200;\n // }\n\n // &:not(.is-month) {\n // box-shadow: none;\n // }\n\n &:not(.is-month),\n &[aria-disabled=\"true\"] {\n background: transparent;\n color: $colorGrey60;\n cursor: default;\n }\n\n // &[aria-disabled=\"true\"] {\n // &.is-today {\n // box-shadow: 0 0 0 1px $colorGrey20;\n\n // &:focus {\n // box-shadow: 0 0 5px $colorPrimary;\n // }\n // }\n\n // &::before {\n // display: none;\n // }\n // }\n\n &.is-disabled {\n text-decoration-line: line-through;\n }\n\n &.is-outside {\n color: $colorGrey60;\n background: $colorGrey20;\n // box-shadow: none;\n cursor: default;\n pointer-events: none;\n text-decoration-line: none;\n\n // &::before {\n // display: none;\n // }\n }\n }\n\n &__header {\n align-items: center;\n display: flex;\n justify-content: space-between;\n width: 100%;\n }\n\n &__nav {\n display: flex;\n align-items: center;\n\n &.is-dropdowns {\n gap: calc(#{space('xsmall')} + #{space('small')});\n margin-left: space('small');\n }\n }\n\n // &__prev,\n // &__next {\n // align-items: center;\n // appearance: none;\n // font-family: inherit;\n // background: transparent;\n // border-radius: 50%;\n // color: $colorPrimary70;\n // cursor: pointer;\n // display: inline-flex;\n // flex-shrink: 0;\n // justify-content: center;\n // margin-left: space('xsmall');\n // padding: 0;\n // transition: background-color 300ms ease;\n // height: 32px;\n // width: 32px;\n\n // &:disabled {\n // cursor: default;\n // color: $colorGrey60;\n // }\n // }\n\n stzh-dropdown#{&}__dropdown {\n --popover-width: 100%;\n --popover-height: calc(100% - #{$formInputHeightSmall} - var(--padding-top));\n --popover-max-height: initial;\n position: static;\n }\n\n &__select-wrapper {\n display: inline-flex;\n position: relative;\n\n span {\n margin-right: 0px;\n }\n }\n\n &__select {\n @include fontSize('milli');\n cursor: pointer;\n height: 100%;\n left: 0;\n opacity: 0;\n position: absolute;\n top: 0;\n width: 100%;\n z-index: 2;\n border-radius: $formInputBorderRadius;\n }\n\n &__select-label {\n @include fontSize('milli');\n appearance: none;\n border: none;\n align-items: center;\n border-radius: $formInputBorderRadius;\n color: $colorPrimary70;\n display: flex;\n gap: space('xsmall');\n padding: 0;\n padding-left: space('small');\n padding-right: space('xsmall');\n\n position: relative;\n width: 100%;\n min-height: 40px;\n z-index: 1;\n }\n\n &__select-icon {\n --size: #{iconSize('xsmall')};\n }\n\n &__vhidden {\n @include visuallyhidden;\n }\n}\n","import {\n Component,\n ComponentInterface,\n Host,\n Prop,\n Element,\n h,\n Event,\n EventEmitter,\n State,\n Method,\n Watch\n} from \"@stencil/core\"\n\nimport {\n addDays,\n startOfWeek,\n endOfWeek,\n setMonth,\n setYear,\n clamp,\n inRange,\n endOfMonth,\n startOfMonth,\n printISODate,\n parseISODate,\n DaysOfWeek,\n} from \"../../utils/date-utils\";\n\nimport { StzhCalendarChangeEvent, StzhDropdownChangeEvent } from \"../../index\";\nimport { StzhCalendarDateDisabledPredicate } from \"../../index\";\n\nimport { StzhCalendarMonth } from \"./stzh-calendar-month\";\nimport { StzhCalendarLocalizedText } from \"./stzh-calendar.localization\";\n\nfunction range(from: number, to: number) {\n var result: number[] = []\n for (var i = from; i <= to; i++) {\n result.push(i)\n }\n return result\n}\n\nconst keyCode = {\n TAB: 9,\n ESC: 27,\n SPACE: 32,\n PAGE_UP: 33,\n PAGE_DOWN: 34,\n END: 35,\n HOME: 36,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n}\n\nlet calendarCounter = 0;\n\n@Component({\n tag: \"stzh-calendar\",\n styleUrl: \"stzh-calendar.scss\",\n scoped: true\n})\nexport class StzhCalendar implements ComponentInterface {\n /** Date value. Must be in IS0-8601 format: YYYY-MM-DD. */\n @Prop({ mutable: true }) value: string = \"\"\n\n /**\n * Minimum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD.\n * This setting can be used alone or together with the max property.\n */\n @Prop() min: string = \"\"\n\n /**\n * Maximum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD.\n * This setting can be used alone or together with the min property.\n */\n @Prop() max: string = \"\"\n\n /**\n * Which day is considered first day of the week? `0` for Sunday, `1` for Monday, etc.\n * Default is Monday.\n */\n @Prop() firstDayOfWeek: DaysOfWeek = DaysOfWeek.Monday\n\n /** Day names, month names, etc, used for localization. */\n @Prop() localization: StzhCalendarLocalizedText;\n\n /**\n * Controls which days are disabled and therefore disallowed.\n * For example, this can be used to disallow selection of weekends.\n */\n @Prop() isDateDisabled: StzhCalendarDateDisabledPredicate = () => false\n\n /**\n * For Adobe Analytics.\n * Will be rendered as value of `s-object-id` attribute to the previous month button element.\n * Default value will be taken from translations.\n */\n @Prop() prevMonthAnalyticsId: string;\n\n /**\n * For Adobe Analytics.\n * Will be rendered as value of `s-object-id` attribute to the next month button element.\n * Default value will be taken from translations.\n */\n @Prop() nextMonthAnalyticsId: string;\n\n @State() activeFocus = false\n @State() focusedDay = new Date()\n\n /** Event emitted when a date is selected. */\n @Event() stzhChange: EventEmitter<StzhCalendarChangeEvent>\n\n @Watch(\"localization\")\n createDateFormatters() {\n if (this.localization) {\n this.dateFormatShort = new Intl.DateTimeFormat(this.localization.$locale, { day: \"numeric\", month: \"long\" })\n }\n }\n\n @Watch(\"value\")\n valueWatcher(newValue: string) {\n if (newValue) {\n this.setFocusedDay(parseISODate(this.value));\n } else {\n this.setFocusedDay(new Date());\n }\n }\n\n /** Set focused day element by a JS Date object */\n @Method()\n async setFocusedDay(day: Date) {\n this.focusedDay = clamp(day, parseISODate(this.min), parseISODate(this.max))\n }\n\n /** Set value by a JS Date object */\n @Method()\n async setDate(date: Date) {\n this.value = printISODate(date)\n }\n\n @Element() element: HTMLStzhCalendarElement\n\n // private monthSelectId: string\n // private yearSelectId: string\n private dialogLabelId: string\n\n // private focusedDayNode: HTMLButtonElement\n\n private initialTouchX: number = null\n private initialTouchY: number = null\n\n /**\n * To format dates exclusively for the benefit of screen readers.\n *\n * We prefer DateTimeFormat over date.toLocaleDateString, as the former has\n * better performance when formatting large number of dates. See:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString#Performance\n */\n private dateFormatShort: Intl.DateTimeFormat\n\n private enableActiveFocus = () => {\n this.activeFocus = true\n }\n\n private disableActiveFocus = () => {\n this.activeFocus = false\n }\n\n private addDays(days: number) {\n this.setFocusedDay(addDays(this.focusedDay, days))\n }\n\n private addMonths(months: number) {\n this.setMonth(this.focusedDay.getMonth() + months)\n }\n\n private addYears(years: number) {\n this.setYear(this.focusedDay.getFullYear() + years)\n }\n\n private startOfWeek() {\n this.setFocusedDay(startOfWeek(this.focusedDay, this.firstDayOfWeek))\n }\n\n private endOfWeek() {\n this.setFocusedDay(endOfWeek(this.focusedDay, this.firstDayOfWeek))\n }\n\n private setMonth(month: number) {\n const min = setMonth(startOfMonth(this.focusedDay), month)\n const max = endOfMonth(min)\n const date = setMonth(this.focusedDay, month)\n\n this.setFocusedDay(clamp(date, min, max))\n }\n\n private setYear(year: number) {\n const min = setYear(startOfMonth(this.focusedDay), year)\n const max = endOfMonth(min)\n const date = setYear(this.focusedDay, year)\n\n this.setFocusedDay(clamp(date, min, max))\n }\n\n private handleTouchStart = (event: TouchEvent) => {\n const touch = event.changedTouches[0]\n this.initialTouchX = touch.pageX\n this.initialTouchY = touch.pageY\n }\n\n // private handleTouchMove = (event: TouchEvent) => {\n // event.preventDefault()\n // }\n\n private handleTouchEnd = (event: TouchEvent) => {\n const touch = event.changedTouches[0]\n const distX = touch.pageX - this.initialTouchX // get horizontal dist traveled\n const distY = touch.pageY - this.initialTouchY // get vertical dist traveled\n const threshold = 70\n\n const isHorizontalSwipe = Math.abs(distX) >= threshold && Math.abs(distY) <= threshold\n\n if (isHorizontalSwipe) {\n this.addMonths(distX < 0 ? 1 : -1)\n }\n\n this.initialTouchY = null\n this.initialTouchX = null\n }\n\n private handleNextMonthClick = (event: MouseEvent) => {\n event.preventDefault()\n this.addMonths(1)\n }\n\n private handlePreviousMonthClick = (event: MouseEvent) => {\n event.preventDefault()\n this.addMonths(-1)\n }\n\n private handleKeyboardNavigation = (event: KeyboardEvent) => {\n var handled = true\n\n switch (event.keyCode) {\n case keyCode.RIGHT:\n this.addDays(1)\n break\n case keyCode.LEFT:\n this.addDays(-1)\n break\n case keyCode.DOWN:\n this.addDays(7)\n break\n case keyCode.UP:\n this.addDays(-7)\n break\n case keyCode.PAGE_UP:\n if (event.shiftKey) {\n this.addYears(-1)\n } else {\n this.addMonths(-1)\n }\n break\n case keyCode.PAGE_DOWN:\n if (event.shiftKey) {\n this.addYears(1)\n } else {\n this.addMonths(1)\n }\n break\n case keyCode.HOME:\n this.startOfWeek()\n break\n case keyCode.END:\n this.endOfWeek()\n break\n default:\n handled = false\n }\n\n if (handled) {\n event.preventDefault()\n this.enableActiveFocus()\n }\n }\n\n private handleDaySelect = (_event: MouseEvent, day: Date) => {\n const isInRange = inRange(day, parseISODate(this.min), parseISODate(this.max))\n const isAllowed = !this.isDateDisabled(day)\n\n if (isInRange && isAllowed) {\n this.setDate(day)\n\n this.stzhChange.emit({\n component: \"stzh-calendar\",\n value: this.value,\n valueAsDate: day,\n })\n } else {\n // for consistency we should set the focused day in cases where\n // user has selected a day that has been specifically disallowed\n this.setFocusedDay(day)\n }\n }\n\n private handleMonthSelect = (event: CustomEvent<StzhDropdownChangeEvent>) => {\n const value = Array.isArray(event.detail.value) ? event.detail.value[0] : event.detail.value;\n this.setMonth(parseInt(value, 10))\n }\n\n private handleYearSelect = (event: CustomEvent<StzhDropdownChangeEvent>) => {\n const value = Array.isArray(event.detail.value) ? event.detail.value[0] : event.detail.value;\n this.setYear(parseInt(value, 10))\n }\n\n private processFocusedDayNode = (element: HTMLButtonElement) => {\n // this.focusedDayNode = element\n\n if (this.activeFocus) {\n setTimeout(() => element.focus(), 0)\n }\n }\n\n async componentWillLoad() {\n // this.monthSelectId = `stzh-calendar-month-${calendarCounter}`;\n // this.yearSelectId = `stzh-calendar-year-${calendarCounter}`;\n this.dialogLabelId = `stzh-calendar-dialog-${calendarCounter}`;\n calendarCounter++;\n\n this.valueWatcher(this.value);\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, 'calendar');\n }\n }\n\n connectedCallback() {\n this.createDateFormatters()\n }\n\n render() {\n const valueAsDate = parseISODate(this.value)\n const selectedYear = (valueAsDate || this.focusedDay).getFullYear()\n const focusedMonth = this.focusedDay.getMonth()\n const focusedYear = this.focusedDay.getFullYear()\n\n const minDate = parseISODate(this.min)\n const maxDate = parseISODate(this.max)\n const prevMonthDisabled =\n minDate != null && minDate.getMonth() === focusedMonth && minDate.getFullYear() === focusedYear\n const nextMonthDisabled =\n maxDate != null && maxDate.getMonth() === focusedMonth && maxDate.getFullYear() === focusedYear\n\n const minYear = minDate ? minDate.getFullYear() : selectedYear - 10\n const maxYear = maxDate ? maxDate.getFullYear() : selectedYear + 10\n\n const monthDropdownOptions = this.localization.$globals.monthNames.map((month, i) => {\n return {\n value: i.toString(),\n text: month,\n disabled: !inRange(\n new Date(focusedYear, i, 1),\n minDate ? startOfMonth(minDate) : null,\n maxDate ? endOfMonth(maxDate) : null\n ),\n }\n });\n\n const yearDropdownOptions = range(minYear, maxYear).map(year => {\n return {\n value: year.toString(),\n text: year.toString(),\n }\n });\n\n return (\n <Host>\n <div\n class={{\n \"stzh-calendar\": true\n }}\n /* onTouchMove={this.handleTouchMove} */\n onTouchStart={this.handleTouchStart}\n onTouchEnd={this.handleTouchEnd}\n >\n <div class=\"stzh-calendar__wrapper\">\n {/*\n <div class=\"stzh-calendar__mobile\" onFocusin={this.disableActiveFocus}>\n <label class=\"stzh-calendar__mobile-heading\">{this.localization.calendarHeading}</label>\n </div>\n */}\n {/* @ts-ignore */}\n <div class=\"stzh-calendar__header\" onFocusin={this.disableActiveFocus}>\n <div class=\"stzh-calendar__nav is-dropdowns\">\n <h2\n id={this.dialogLabelId}\n class=\"stzh-calendar__vhidden\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n >\n {this.localization.$globals.monthNames[focusedMonth]}\n {this.focusedDay.getFullYear()}\n </h2>\n\n <stzh-dropdown\n class=\"stzh-calendar__dropdown\"\n variant=\"plain\"\n size=\"small\"\n inline\n popover-fullwidth=\"horizontal\"\n noSearch={true}\n openOnFocus={false}\n items={[focusedMonth.toString()]}\n options={monthDropdownOptions}\n label={this.localization.monthSelectLabel}\n labelHidden={true}\n onStzhChange={this.handleMonthSelect}\n ></stzh-dropdown>\n\n <stzh-dropdown\n class=\"stzh-calendar__dropdown\"\n variant=\"plain\"\n size=\"small\"\n inline\n popover-fullwidth=\"horizontal\"\n noSearch={true}\n openOnFocus={false}\n items={[focusedYear.toString()]}\n options={yearDropdownOptions}\n label={this.localization.yearSelectLabel}\n labelHidden={true}\n onStzhChange={this.handleYearSelect}\n ></stzh-dropdown>\n\n {/* alternative for dropdown with popover:\n <stzh-popover>\n <button class=\"stzh-calendar__select-label\" aria-label={this.localization.monthSelectLabel}>\n <span>{this.localization.$globals.monthNamesShort[focusedMonth]}</span>\n <stzh-icon class=\"stzh-calendar__select-icon\" name=\"angle-down\"></stzh-icon>\n </button>\n <stzh-menu slot=\"content\">\n {this.localization.$globals.monthNames.map((month, i) => (\n <stzh-menu-item\n // onClick={this.handleMonthSelect(month)}\n active={i === focusedMonth}\n disabled={\n !inRange(\n new Date(focusedYear, i, 1),\n minDate ? startOfMonth(minDate) : null,\n maxDate ? endOfMonth(maxDate) : null\n )\n }\n >\n {month}\n </stzh-menu-item>\n ))}\n </stzh-menu>\n </stzh-popover>\n */}\n\n {/* original implmentation with native select:\n <label htmlFor={this.monthSelectId} class=\"stzh-calendar__vhidden\">\n {this.localization.monthSelectLabel}\n </label>\n\n <div class=\"stzh-calendar__select-wrapper\">\n <select\n id={this.monthSelectId}\n class=\"stzh-calendar__select stzh-calendar__select--month\"\n onChange={this.handleMonthSelect}\n >\n {this.localization.$globals.monthNames.map((month, i) => (\n <option\n key={month}\n value={i}\n selected={i === focusedMonth}\n disabled={\n !inRange(\n new Date(focusedYear, i, 1),\n minDate ? startOfMonth(minDate) : null,\n maxDate ? endOfMonth(maxDate) : null\n )\n }\n >\n {month}\n </option>\n ))}\n </select>\n <div class=\"stzh-calendar__select-label\" aria-hidden=\"true\">\n <span>{this.localization.$globals.monthNamesShort[focusedMonth]}</span>\n <stzh-icon class=\"stzh-calendar__select-icon\" name=\"angle-down\"></stzh-icon>\n </div>\n </div>\n\n <label htmlFor={this.yearSelectId} class=\"stzh-calendar__vhidden\">\n {this.localization.yearSelectLabel}\n </label>\n\n <div class=\"stzh-calendar__select-wrapper\">\n <select\n id={this.yearSelectId}\n class=\"stzh-calendar__select stzh-calendar__select--year\"\n onChange={this.handleYearSelect}\n >\n {range(minYear, maxYear).map(year => (\n <option key={year} selected={year === focusedYear}>\n {year}\n </option>\n ))}\n </select>\n <div class=\"stzh-calendar__select-label\" aria-hidden=\"true\">\n <span>{this.focusedDay.getFullYear()}</span>\n <stzh-icon class=\"stzh-calendar__select-icon\" name=\"angle-down\"></stzh-icon>\n </div>\n </div>\n */}\n\n </div>\n\n <div class=\"stzh-calendar__nav\">\n <stzh-button\n class=\"stzh-calendar__prev\"\n variant=\"tertiary\"\n size=\"small\"\n icon=\"arrow-left\"\n iconOnly={true}\n onClick={this.handlePreviousMonthClick}\n disabled={prevMonthDisabled}\n type=\"button\"\n a11yLabel={this.localization.prevMonthLabel}\n analyticsId={this.prevMonthAnalyticsId || this.localization.prevMonthLabel}\n ></stzh-button>\n <stzh-button\n class=\"stzh-calendar__next\"\n variant=\"tertiary\"\n size=\"small\"\n icon=\"arrow-right\"\n iconOnly={true}\n onClick={this.handleNextMonthClick}\n disabled={nextMonthDisabled}\n type=\"button\"\n a11yLabel={this.localization.nextMonthLabel}\n analyticsId={this.nextMonthAnalyticsId || this.localization.nextMonthLabel}\n ></stzh-button>\n </div>\n </div>\n\n <StzhCalendarMonth\n dateFormatter={this.dateFormatShort}\n selectedDate={valueAsDate}\n focusedDate={this.focusedDay}\n onDateSelect={this.handleDaySelect}\n onKeyboardNavigation={this.handleKeyboardNavigation}\n labelledById={this.dialogLabelId}\n localization={this.localization}\n firstDayOfWeek={this.firstDayOfWeek}\n focusedDayRef={this.processFocusedDayNode}\n min={minDate}\n max={maxDate}\n isDateDisabled={this.isDateDisabled}\n />\n </div>\n </div>\n </Host>\n )\n }\n}\n"],"version":3}
@@ -12,7 +12,7 @@ const StzhButtongroup = /*@__PURE__*/ proxyCustomElement(class StzhButtongroup e
12
12
  const classes = {
13
13
  "stzh-buttongroup": true
14
14
  };
15
- return (h(Host, { key: 'a65fc9caab24d3489d79cf4074632867bf0f19e9' }, h("div", { key: '88d46996673926bc38da429201eee5a2c5761b00', class: classes }, h("slot", { key: '3066111876f14d938980e489077d149c696dc92c' }))));
15
+ return (h(Host, { key: '2bb35a0c916a52482875947aa46ffb4c6f302a63' }, h("div", { key: 'bc4ef63b4902921608c2196469f120c283945705', class: classes }, h("slot", { key: '9938ffcb428caa993e93b7a5b9ba5932e8a172c6' }))));
16
16
  }
17
17
  get element() { return this; }
18
18
  static get style() { return StzhButtongroupStyle0; }
@@ -33,4 +33,4 @@ function defineCustomElement() {
33
33
 
34
34
  export { StzhButtongroup as S, defineCustomElement as d };
35
35
 
36
- //# sourceMappingURL=p-f87105bb.js.map
36
+ //# sourceMappingURL=p-8c662622.js.map
@@ -1 +1 @@
1
- {"file":"p-f87105bb.js","mappings":";;AAAA,MAAM,kBAAkB,GAAG,iyCAAiyC,CAAC;AAC7zC,8BAAe,kBAAkB;;MCcpB,eAAe;;;;;IAG1B,MAAM;QACJ,MAAM,OAAO,GAAG;YACd,kBAAkB,EAAE,IAAI;SACzB,CAAC;QAEF,QACE,EAAC,IAAI,uDACH,4DAAK,KAAK,EAAE,OAAO,IACjB,8DAAa,CACT,CACD,EACP;KACH;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/stzh-buttongroup/stzh-buttongroup.scss?tag=stzh-buttongroup&encapsulation=scoped","src/components/stzh-buttongroup/stzh-buttongroup.tsx"],"sourcesContent":[":host {\n // ::slotted(stzh-button) {\n // z-index: 1;\n // margin-right: -1px;\n\n // &[a11y-disabled]:not([a11y-disabled=\"false\"]) {\n // z-index: 0;\n // }\n\n // &:first-child {\n // --border-radius: #{$buttonBorderRadius 0px 0px $buttonBorderRadius};\n // // --border-width: 1px 0px 1px 1px;\n // }\n\n // &:last-child {\n // --border-radius: #{0px $buttonBorderRadius $buttonBorderRadius 0px};\n // // --border-width: 1px 1px 1px 0px;\n // margin-right: 0;\n // }\n\n // // only one button\n // &:first-child:last-child {\n // // --border-width: 1px;\n // --border-radius: #{$buttonBorderRadius};\n // margin: 0;\n // }\n\n // // when only two buttons\n // &:first-child + stzh-button:last-child {\n // // --border-width: 1px;\n // }\n\n // // buttons in the middle\n // &:not(:first-child):not(:last-child) {\n // --border-radius: 0px;\n // }\n // }\n}\n\n.stzh-buttongroup {\n position: relative;\n z-index: auto;\n display: flex;\n gap: space('xsmall');\n}\n","import {\n Component,\n Host,\n h,\n Element\n} from \"@stencil/core\";\n\n/**\n * @slot - Slot for buttons\n */\n@Component({\n tag: \"stzh-buttongroup\",\n styleUrl: \"stzh-buttongroup.scss\",\n scoped: true\n})\nexport class StzhButtongroup {\n @Element() element: HTMLStzhButtongroupElement;\n\n render() {\n const classes = {\n \"stzh-buttongroup\": true\n };\n\n return (\n <Host>\n <div class={classes}>\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-8c662622.js","mappings":";;AAAA,MAAM,kBAAkB,GAAG,iyCAAiyC,CAAC;AAC7zC,8BAAe,kBAAkB;;MCcpB,eAAe;;;;;IAG1B,MAAM;QACJ,MAAM,OAAO,GAAG;YACd,kBAAkB,EAAE,IAAI;SACzB,CAAC;QAEF,QACE,EAAC,IAAI,uDACH,4DAAK,KAAK,EAAE,OAAO,IACjB,8DAAa,CACT,CACD,EACP;KACH;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/stzh-buttongroup/stzh-buttongroup.scss?tag=stzh-buttongroup&encapsulation=scoped","src/components/stzh-buttongroup/stzh-buttongroup.tsx"],"sourcesContent":[":host {\n // ::slotted(stzh-button) {\n // z-index: 1;\n // margin-right: -1px;\n\n // &[a11y-disabled]:not([a11y-disabled=\"false\"]) {\n // z-index: 0;\n // }\n\n // &:first-child {\n // --border-radius: #{$buttonBorderRadius 0px 0px $buttonBorderRadius};\n // // --border-width: 1px 0px 1px 1px;\n // }\n\n // &:last-child {\n // --border-radius: #{0px $buttonBorderRadius $buttonBorderRadius 0px};\n // // --border-width: 1px 1px 1px 0px;\n // margin-right: 0;\n // }\n\n // // only one button\n // &:first-child:last-child {\n // // --border-width: 1px;\n // --border-radius: #{$buttonBorderRadius};\n // margin: 0;\n // }\n\n // // when only two buttons\n // &:first-child + stzh-button:last-child {\n // // --border-width: 1px;\n // }\n\n // // buttons in the middle\n // &:not(:first-child):not(:last-child) {\n // --border-radius: 0px;\n // }\n // }\n}\n\n.stzh-buttongroup {\n position: relative;\n z-index: auto;\n display: flex;\n gap: space('xsmall');\n}\n","import {\n Component,\n Host,\n h,\n Element\n} from \"@stencil/core\";\n\n/**\n * @slot - Slot for buttons\n */\n@Component({\n tag: \"stzh-buttongroup\",\n styleUrl: \"stzh-buttongroup.scss\",\n scoped: true\n})\nexport class StzhButtongroup {\n @Element() element: HTMLStzhButtongroupElement;\n\n render() {\n const classes = {\n \"stzh-buttongroup\": true\n };\n\n return (\n <Host>\n <div class={classes}>\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,10 +1,10 @@
1
1
  import { p as proxyCustomElement, H, c as createEvent, h, F as Fragment, d as Host } from './p-8f01554b.js';
2
2
  import { S as StzhInputDescription } from './p-6393ca35.js';
3
- import { d as defineCustomElement$7 } from './p-fb02e9f7.js';
4
- import { d as defineCustomElement$6 } from './p-2a972be2.js';
5
- import { d as defineCustomElement$5 } from './p-78ff471a.js';
3
+ import { d as defineCustomElement$7 } from './p-652ae542.js';
4
+ import { d as defineCustomElement$6 } from './p-ba5a005c.js';
5
+ import { d as defineCustomElement$5 } from './p-21e55e49.js';
6
6
  import { d as defineCustomElement$4 } from './p-4d57271c.js';
7
- import { d as defineCustomElement$3 } from './p-61e8a4c8.js';
7
+ import { d as defineCustomElement$3 } from './p-26475e68.js';
8
8
  import { d as defineCustomElement$2 } from './p-7c23f23e.js';
9
9
  import { d as defineCustomElement$1 } from './p-9b5c568d.js';
10
10
 
@@ -318,4 +318,4 @@ function defineCustomElement() {
318
318
 
319
319
  export { StzhChipselect as S, defineCustomElement as d };
320
320
 
321
- //# sourceMappingURL=p-2dc162f9.js.map
321
+ //# sourceMappingURL=p-8c9e8d25.js.map
@@ -1 +1 @@
1
- {"file":"p-2dc162f9.js","mappings":"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","names":[],"sources":["src/components/stzh-chipselect/stzh-chipselect.scss?tag=stzh-chipselect&encapsulation=scoped","src/components/stzh-chipselect/stzh-chipselect.tsx"],"sourcesContent":[":host {\n &[disabled]:not([disabled=\"false\"]) {\n --description-color: #{$formDisabledColor};\n }\n &[active]:not([active=\"false\"]) {\n --background-color: var(--stzh-chip-active-background-color, #{$colorPrimary70});\n }\n &[active].is-focused {\n --background-color: var(--stzh-chip-active-background-color, #{$colorPrimary70});\n }\n}\n\n.stzh-chipselect {\n @include input-description;\n\n &__label {\n @include font('heavy');\n @include fontSize('micro');\n @include truncate;\n color: $headingColor;\n display: block;\n margin-bottom: space('xsmall');\n\n &:empty {\n display: none;\n }\n }\n\n &__marker {\n @include fontSize('nano');\n margin-left: calc(-0.25em + #{space('xsmall')});\n }\n\n &__chips {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n border-radius: $buttonBorderRadius;\n gap: space('medium');\n\n &:focus-within {\n .is-focused[active] {\n --background-color: #{$colorPrimary90};\n\n @include highContrast() {\n --background-color: Canvas;\n }\n }\n }\n }\n\n &__chip {\n &.is-focused:not([active]) {\n --background-color: #{$colorSecondary40};\n\n @include highContrast() {\n --background-color: Highlight;\n }\n }\n }\n\n // &__dropdown {\n // @include mq($from: medium) {\n // display: none;\n // }\n // }\n\n // &__description-wrapper {\n // @include mq($to: medium) {\n // display: none;\n // }\n // }\n\n &--has-error &__error,\n &--has-description &__description {\n margin-top: space('xsmall');\n }\n\n /* Hidden label */\n\n &--has-label-hidden &__label {\n @include visuallyhidden;\n }\n\n /* Disabled */\n\n &--is-disabled &__chips,\n &--is-disabled &__label {\n cursor: not-allowed;\n }\n}\n","import {\n Component,\n Host,\n h,\n Element,\n Prop,\n Watch,\n Event,\n EventEmitter,\n State,\n Fragment,\n Listen,\n} from \"@stencil/core\";\n\nimport {\n StzhChipselectItem,\n StzhChipselectChangeEvent,\n // StzhDropdownChangeEvent\n} from \"../../index\";\n\nimport { StzhInputDescription } from \"../stzh-input/stzh-input-description\";\n\n// import { hasSlot } from \"../../utils/utils\";\nimport { StzhLocaleComponent } from \"../../index\";\n\nlet chipselectCounter = 0;\n\n/**\n * @slot - Slot for `stzh-checkbox` elements\n * @slot description - Slot for description\n * @slot description-long - Slot for long description (in popover)\n * @slot description-long-title - Slot for long description title (in popover) / instead of descriptionLongTitle or description property\n * @slot error - Slot for error\n */\n@Component({\n tag: \"stzh-chipselect\",\n styleUrl: \"stzh-chipselect.scss\",\n scoped: true\n})\nexport class StzhChipselect {\n /** Translation strings */\n @Prop() localization: StzhLocaleComponent;\n\n /** The list of chips */\n @Prop() data: string | StzhChipselectItem[] = [];\n private _data: StzhChipselectItem[] = [];\n // private _dataDropdown: any[] = [];\n\n /** The name of the input element */\n @Prop({ reflect: true }) name: string;\n\n /** Label */\n @Prop() label: string = \"\";\n\n /** Whether label is hidden. */\n @Prop() labelHidden: boolean = false;\n\n /** Multiple */\n @Prop({ mutable: true }) multiple: boolean = false;\n\n /** Value */\n @Prop({ mutable: true }) value: string | string[] = \"\";\n private _value: string[] = [];\n\n /** Default value (used by reset) */\n @Prop({ mutable: true }) defaultValue: string | string[] = \"\";\n\n /** Description message (use description slot as alternative) */\n @Prop() description: string;\n\n /** Long description message appearing in a popover (use description-long slot as alternative) */\n @Prop() descriptionLong: string;\n\n /**\n * **Do not use this property. It will be deprecated with the next major release.**\n * Long description title appearing in a popover (use description-long-title slot as or description property alternative) */\n @Prop() descriptionLongTitle: string;\n\n /** One or multiple error message (use error slot as alternative) */\n @Prop() error: string | string[];\n private _error: string[];\n\n /** Invalid status */\n @Prop({ reflect: true }) invalid: boolean = false;\n\n /** Required status */\n @Prop({ reflect: true }) required: boolean = false;\n\n /** Whether all chips are disabled or not */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** Hide `(optional)` label (or use `required` inside form to hide it) */\n @Prop({ reflect: true }) hideOptional: boolean = false;\n\n /** Id for element which describes the input (this will be overwritten if description prop or slot is used, used by stzh-radiogroup) */\n @Prop({ attribute: \"a11y-describedby\" }) a11yDescribedby: string = \"\";\n\n @State() activeFocusOptionIndex: number = 0;\n\n @Element() element: HTMLStzhChipselectElement;\n\n /** Change event */\n @Event() stzhChange: EventEmitter<StzhChipselectChangeEvent>;\n\n @Listen(\"reset\", { target: \"document\" })\n resetListener(event: Event) {\n if ((event.target as HTMLElement).contains(this.element)) {\n requestAnimationFrame(() => {\n this.handleReset();\n });\n }\n }\n\n @Watch(\"value\")\n valueWatcher(newValue: string[] | string) {\n if (typeof newValue === \"string\") {\n try {\n const parsedValue = JSON.parse(newValue); // since parsing a number like string (i.e. \"1\") will return a number and parsing a boolean like string (i.e. \"true\") will return a boolean we need to check if the parsed value is indeed an array.\n if (Array.isArray(parsedValue)) {\n this._value = parsedValue;\n }\n else {\n this._value = newValue ? [newValue] : [];\n }\n } catch (ex) {\n this._value = newValue ? [newValue] : [];\n }\n } else {\n this._value = newValue ? newValue : [];\n }\n }\n\n @Watch(\"data\")\n dataWatcher(newValue: StzhChipselectItem[] | string) {\n if (typeof newValue === \"string\") {\n this._data = JSON.parse(newValue);\n } else {\n this._data = newValue;\n }\n\n this._data.map((dataEntry) => {\n if (typeof dataEntry.value !== \"string\"){\n throw new TypeError(`${dataEntry.value} is not a string. The data prop only accepts arrays (or stringified arrays), where the value property is a string. Consult the StzhChipselectItem type definition for more information.`);\n }\n });\n // this._dataDropdown = this._data.map((data) => {\n // return {\n // text: data.counter\n // ? `${data.label} (${data.counter})`\n // : data.label,\n // value: data.value\n // }\n // });\n }\n\n @Watch(\"error\")\n errorWatcher(newValue: string | string[]) {\n if (typeof newValue === \"string\") {\n try {\n this._error = JSON.parse(newValue);\n } catch (e) {\n if (newValue) {\n this._error = [newValue];\n } else {\n this._error = [];\n }\n }\n } else if (newValue) {\n this._error = newValue;\n } else {\n this._error = [];\n }\n }\n\n private id: string;\n private renderPromiseResolve: (value?: unknown) => void;\n\n private waitForNextRender() {\n return new Promise(resolve => this.renderPromiseResolve = resolve);\n }\n\n private handleReset = async () => {\n this.value = this.defaultValue;\n\n // this.stzhChange.emit({\n // component: \"stzh-chipselect\",\n // value: this.value\n // });\n }\n\n private handleChipClick = async (data: StzhChipselectItem, index: number) => {\n if (this.multiple) {\n if (data.value === \"\" && this._value.length > 0 && !(this._value.length === 1 && this._value[0] === \"\")) {\n this.value = [];\n } else if (data.value !== \"\") {\n this.value = this._value.includes(data.value)\n ? this._value.filter(value => value !== data.value)\n : [...this._value, data.value];\n }\n } else {\n this.value = data.value;\n }\n\n this.activeFocusOptionIndex = index;\n\n await this.waitForNextRender();\n\n this.stzhChange.emit({\n component: \"stzh-chipselect\",\n value: this.multiple ? this._value : this._value[0]\n });\n }\n\n // private handleDropdownChange = async (event: CustomEvent<StzhDropdownChangeEvent>) => {\n // this.value = Array.isArray(event.detail.value) ? event.detail.value[0] : event.detail.value;\n\n // this.activeFocusOptionIndex = this._data.findIndex(data => {\n // return data.value === this.value;\n // });\n\n // await this.waitForNextRender();\n\n // this.stzhChange.emit({\n // component: \"stzh-chipselect\",\n // value: this.value\n // })\n // }\n\n private handleKeydown = (event: KeyboardEvent) => {\n let newActiveIndex: number = null;\n const activeOptionIndex = this.activeFocusOptionIndex;\n\n if (event.key === \"ArrowUp\" || event.key === \"ArrowLeft\") {\n event.preventDefault();\n\n if (activeOptionIndex > 0) {\n newActiveIndex = activeOptionIndex - 1;\n }\n } else if (event.key === \"ArrowDown\" || event.key === \"ArrowRight\") {\n event.preventDefault();\n\n if (activeOptionIndex < this._data.length - 1) {\n newActiveIndex = activeOptionIndex + 1;\n }\n } else if (event.key === \" \" || event.key === \"Enter\") {\n event.preventDefault();\n if (this.multiple) {\n if (this._data[activeOptionIndex].value === \"\" && this._value.length > 0 && !(this._value.length === 1 && this._value[0] === \"\")) {\n this.value = [];\n } else if (this._data[activeOptionIndex].value !== \"\") {\n this.value = this._value.includes(this._data[activeOptionIndex].value)\n ? this._value.filter(value => value !== this._data[activeOptionIndex].value)\n : [...this._value, this._data[activeOptionIndex].value];\n }\n } else {\n this.value = this._data[activeOptionIndex].value; //HERE\n }\n this.stzhChange.emit({\n component: \"stzh-chipselect\",\n value: this.value\n });\n }\n\n if (newActiveIndex !== null) {\n this.activeFocusOptionIndex = newActiveIndex;\n }\n }\n\n componentDidRender() {\n if (this.renderPromiseResolve) {\n this.renderPromiseResolve();\n }\n }\n\n async componentWillLoad() {\n this.id = `stzh-chipselect-${chipselectCounter++}`;\n\n this.dataWatcher(this.data);\n this.errorWatcher(this.error);\n this.valueWatcher(this.value);\n\n this.defaultValue = this.defaultValue || this.value;\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"chipselect\");\n }\n }\n\n render() {\n const descriptionUsed = !!this.description;\n const descriptionLongUsed = !!this.descriptionLong;\n const errorUsed = !!this.error;\n\n const classes = {\n \"stzh-chipselect\": true,\n \"stzh-chipselect--has-description\": descriptionUsed,\n \"stzh-chipselect--has-description-long\": descriptionLongUsed,\n \"stzh-chipselect--has-error\": errorUsed,\n \"stzh-chipselect--is-invalid\": this.invalid || errorUsed,\n \"stzh-chipselect--is-disabled\": this.disabled,\n \"stzh-chipselect--is-required\": this.required,\n \"stzh-chipselect--has-label-hidden\": this.labelHidden,\n };\n\n return (\n <Host is-invalid={this.invalid || errorUsed}>\n <div class={classes}>\n {this.multiple\n ?\n <Fragment>\n {this._value.map((value) =>\n <input type=\"hidden\" name={this.name} value={value} />\n )}\n </Fragment>\n :\n <input\n type=\"hidden\"\n name={this.name}\n value={this.value}\n />\n }\n\n <label class=\"stzh-chipselect__label\" htmlFor={this.id}>\n {this.label ? this.label : <slot></slot>}\n {!this.hideOptional &&\n <span class=\"stzh-chipselect__marker\">\n <span class=\"stzh-chipselect__marker-symbol\" aria-hidden=\"true\">\n {this.required\n ? this.localization.$globals.requiredFieldMarker\n : this.localization.$globals.optionalFieldMarker\n }\n </span>\n <span class=\"stzh-chipselect__marker-text\">\n {this.required\n ? this.localization.$globals.requiredFieldText\n : this.localization.$globals.optionalFieldText\n }\n </span>\n </span>\n }\n </label>\n\n {this._data.length > 0 &&\n <Fragment>\n <div\n id={this.id}\n class=\"stzh-chipselect__chips\"\n role=\"listbox\"\n tabindex=\"0\"\n aria-multiselectable={this.multiple ? \"true\" : \"false\"}\n aria-activedescendant={`${this.id}-option-${this.activeFocusOptionIndex}`}\n aria-describedby={`${this.id}-description ${this.a11yDescribedby}`}\n onKeyDown={this.handleKeydown}\n >\n {this._data.map((data, index) => (\n <stzh-chip\n role=\"option\"\n class={{\n \"stzh-chipselect__chip\": true,\n \"is-focused\": this.activeFocusOptionIndex === index\n }}\n label={data.label}\n counter={data.counter}\n icon={data.icon}\n type={data.type}\n inverted={data.inverted}\n variant={data.variant}\n size={data.size || \"small\"}\n disabled={this.disabled || data.disabled}\n active={\n this._value.includes(data.value)\n || (!this.multiple && !data.value && (this._value.length === 0 || this._value[0] === \"\"))\n || (!data.value && this.multiple && (this._value.length === 0 || (this._value.length === 1 && this._value[0] === \"\")))\n }\n aria-selected={\n this._value.includes(data.value)\n || (!this.multiple && !data.value && (this._value.length === 0 || this._value[0] === \"\"))\n || (!data.value && this.multiple && (this._value.length === 0 || (this._value.length === 1 && this._value[0] === \"\")))\n ? \"true\" : \"false\"\n }\n id={`${this.id}-option-${index}`}\n a11yTabindex=\"-1\"\n onClick={() => this.handleChipClick(data, index)}\n ></stzh-chip>\n ))}\n </div>\n\n <StzhInputDescription\n classPrefix=\"stzh-chipselect\"\n id={`${this.id}-description`}\n error={this._error}\n description={this.description}\n descriptionLong={this.descriptionLong}\n descriptionLongTitle={this.descriptionLongTitle}\n descriptionLongUsed={descriptionLongUsed}\n moreInfoButtonLabel={this.localization.$globals.moreInfoButtonLabel}\n />\n\n {/* <stzh-dropdown\n class=\"stzh-chipselect__dropdown\"\n multiple={this.multiple}\n disabled={this.disabled}\n error={this._error}\n description={this.description}\n descriptionLong={this.descriptionLong}\n required={this.required}\n invalid={this.invalid}\n items={[this.value]}\n label={this.label}\n labelHidden={this.labelHidden}\n options={this._dataDropdown}\n hideOptional={this.hideOptional}\n onStzhChange={this.handleDropdownChange}\n ></stzh-dropdown> */}\n </Fragment>\n }\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-8c9e8d25.js","mappings":"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","names":[],"sources":["src/components/stzh-chipselect/stzh-chipselect.scss?tag=stzh-chipselect&encapsulation=scoped","src/components/stzh-chipselect/stzh-chipselect.tsx"],"sourcesContent":[":host {\n &[disabled]:not([disabled=\"false\"]) {\n --description-color: #{$formDisabledColor};\n }\n &[active]:not([active=\"false\"]) {\n --background-color: var(--stzh-chip-active-background-color, #{$colorPrimary70});\n }\n &[active].is-focused {\n --background-color: var(--stzh-chip-active-background-color, #{$colorPrimary70});\n }\n}\n\n.stzh-chipselect {\n @include input-description;\n\n &__label {\n @include font('heavy');\n @include fontSize('micro');\n @include truncate;\n color: $headingColor;\n display: block;\n margin-bottom: space('xsmall');\n\n &:empty {\n display: none;\n }\n }\n\n &__marker {\n @include fontSize('nano');\n margin-left: calc(-0.25em + #{space('xsmall')});\n }\n\n &__chips {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n border-radius: $buttonBorderRadius;\n gap: space('medium');\n\n &:focus-within {\n .is-focused[active] {\n --background-color: #{$colorPrimary90};\n\n @include highContrast() {\n --background-color: Canvas;\n }\n }\n }\n }\n\n &__chip {\n &.is-focused:not([active]) {\n --background-color: #{$colorSecondary40};\n\n @include highContrast() {\n --background-color: Highlight;\n }\n }\n }\n\n // &__dropdown {\n // @include mq($from: medium) {\n // display: none;\n // }\n // }\n\n // &__description-wrapper {\n // @include mq($to: medium) {\n // display: none;\n // }\n // }\n\n &--has-error &__error,\n &--has-description &__description {\n margin-top: space('xsmall');\n }\n\n /* Hidden label */\n\n &--has-label-hidden &__label {\n @include visuallyhidden;\n }\n\n /* Disabled */\n\n &--is-disabled &__chips,\n &--is-disabled &__label {\n cursor: not-allowed;\n }\n}\n","import {\n Component,\n Host,\n h,\n Element,\n Prop,\n Watch,\n Event,\n EventEmitter,\n State,\n Fragment,\n Listen,\n} from \"@stencil/core\";\n\nimport {\n StzhChipselectItem,\n StzhChipselectChangeEvent,\n // StzhDropdownChangeEvent\n} from \"../../index\";\n\nimport { StzhInputDescription } from \"../stzh-input/stzh-input-description\";\n\n// import { hasSlot } from \"../../utils/utils\";\nimport { StzhLocaleComponent } from \"../../index\";\n\nlet chipselectCounter = 0;\n\n/**\n * @slot - Slot for `stzh-checkbox` elements\n * @slot description - Slot for description\n * @slot description-long - Slot for long description (in popover)\n * @slot description-long-title - Slot for long description title (in popover) / instead of descriptionLongTitle or description property\n * @slot error - Slot for error\n */\n@Component({\n tag: \"stzh-chipselect\",\n styleUrl: \"stzh-chipselect.scss\",\n scoped: true\n})\nexport class StzhChipselect {\n /** Translation strings */\n @Prop() localization: StzhLocaleComponent;\n\n /** The list of chips */\n @Prop() data: string | StzhChipselectItem[] = [];\n private _data: StzhChipselectItem[] = [];\n // private _dataDropdown: any[] = [];\n\n /** The name of the input element */\n @Prop({ reflect: true }) name: string;\n\n /** Label */\n @Prop() label: string = \"\";\n\n /** Whether label is hidden. */\n @Prop() labelHidden: boolean = false;\n\n /** Multiple */\n @Prop({ mutable: true }) multiple: boolean = false;\n\n /** Value */\n @Prop({ mutable: true }) value: string | string[] = \"\";\n private _value: string[] = [];\n\n /** Default value (used by reset) */\n @Prop({ mutable: true }) defaultValue: string | string[] = \"\";\n\n /** Description message (use description slot as alternative) */\n @Prop() description: string;\n\n /** Long description message appearing in a popover (use description-long slot as alternative) */\n @Prop() descriptionLong: string;\n\n /**\n * **Do not use this property. It will be deprecated with the next major release.**\n * Long description title appearing in a popover (use description-long-title slot as or description property alternative) */\n @Prop() descriptionLongTitle: string;\n\n /** One or multiple error message (use error slot as alternative) */\n @Prop() error: string | string[];\n private _error: string[];\n\n /** Invalid status */\n @Prop({ reflect: true }) invalid: boolean = false;\n\n /** Required status */\n @Prop({ reflect: true }) required: boolean = false;\n\n /** Whether all chips are disabled or not */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** Hide `(optional)` label (or use `required` inside form to hide it) */\n @Prop({ reflect: true }) hideOptional: boolean = false;\n\n /** Id for element which describes the input (this will be overwritten if description prop or slot is used, used by stzh-radiogroup) */\n @Prop({ attribute: \"a11y-describedby\" }) a11yDescribedby: string = \"\";\n\n @State() activeFocusOptionIndex: number = 0;\n\n @Element() element: HTMLStzhChipselectElement;\n\n /** Change event */\n @Event() stzhChange: EventEmitter<StzhChipselectChangeEvent>;\n\n @Listen(\"reset\", { target: \"document\" })\n resetListener(event: Event) {\n if ((event.target as HTMLElement).contains(this.element)) {\n requestAnimationFrame(() => {\n this.handleReset();\n });\n }\n }\n\n @Watch(\"value\")\n valueWatcher(newValue: string[] | string) {\n if (typeof newValue === \"string\") {\n try {\n const parsedValue = JSON.parse(newValue); // since parsing a number like string (i.e. \"1\") will return a number and parsing a boolean like string (i.e. \"true\") will return a boolean we need to check if the parsed value is indeed an array.\n if (Array.isArray(parsedValue)) {\n this._value = parsedValue;\n }\n else {\n this._value = newValue ? [newValue] : [];\n }\n } catch (ex) {\n this._value = newValue ? [newValue] : [];\n }\n } else {\n this._value = newValue ? newValue : [];\n }\n }\n\n @Watch(\"data\")\n dataWatcher(newValue: StzhChipselectItem[] | string) {\n if (typeof newValue === \"string\") {\n this._data = JSON.parse(newValue);\n } else {\n this._data = newValue;\n }\n\n this._data.map((dataEntry) => {\n if (typeof dataEntry.value !== \"string\"){\n throw new TypeError(`${dataEntry.value} is not a string. The data prop only accepts arrays (or stringified arrays), where the value property is a string. Consult the StzhChipselectItem type definition for more information.`);\n }\n });\n // this._dataDropdown = this._data.map((data) => {\n // return {\n // text: data.counter\n // ? `${data.label} (${data.counter})`\n // : data.label,\n // value: data.value\n // }\n // });\n }\n\n @Watch(\"error\")\n errorWatcher(newValue: string | string[]) {\n if (typeof newValue === \"string\") {\n try {\n this._error = JSON.parse(newValue);\n } catch (e) {\n if (newValue) {\n this._error = [newValue];\n } else {\n this._error = [];\n }\n }\n } else if (newValue) {\n this._error = newValue;\n } else {\n this._error = [];\n }\n }\n\n private id: string;\n private renderPromiseResolve: (value?: unknown) => void;\n\n private waitForNextRender() {\n return new Promise(resolve => this.renderPromiseResolve = resolve);\n }\n\n private handleReset = async () => {\n this.value = this.defaultValue;\n\n // this.stzhChange.emit({\n // component: \"stzh-chipselect\",\n // value: this.value\n // });\n }\n\n private handleChipClick = async (data: StzhChipselectItem, index: number) => {\n if (this.multiple) {\n if (data.value === \"\" && this._value.length > 0 && !(this._value.length === 1 && this._value[0] === \"\")) {\n this.value = [];\n } else if (data.value !== \"\") {\n this.value = this._value.includes(data.value)\n ? this._value.filter(value => value !== data.value)\n : [...this._value, data.value];\n }\n } else {\n this.value = data.value;\n }\n\n this.activeFocusOptionIndex = index;\n\n await this.waitForNextRender();\n\n this.stzhChange.emit({\n component: \"stzh-chipselect\",\n value: this.multiple ? this._value : this._value[0]\n });\n }\n\n // private handleDropdownChange = async (event: CustomEvent<StzhDropdownChangeEvent>) => {\n // this.value = Array.isArray(event.detail.value) ? event.detail.value[0] : event.detail.value;\n\n // this.activeFocusOptionIndex = this._data.findIndex(data => {\n // return data.value === this.value;\n // });\n\n // await this.waitForNextRender();\n\n // this.stzhChange.emit({\n // component: \"stzh-chipselect\",\n // value: this.value\n // })\n // }\n\n private handleKeydown = (event: KeyboardEvent) => {\n let newActiveIndex: number = null;\n const activeOptionIndex = this.activeFocusOptionIndex;\n\n if (event.key === \"ArrowUp\" || event.key === \"ArrowLeft\") {\n event.preventDefault();\n\n if (activeOptionIndex > 0) {\n newActiveIndex = activeOptionIndex - 1;\n }\n } else if (event.key === \"ArrowDown\" || event.key === \"ArrowRight\") {\n event.preventDefault();\n\n if (activeOptionIndex < this._data.length - 1) {\n newActiveIndex = activeOptionIndex + 1;\n }\n } else if (event.key === \" \" || event.key === \"Enter\") {\n event.preventDefault();\n if (this.multiple) {\n if (this._data[activeOptionIndex].value === \"\" && this._value.length > 0 && !(this._value.length === 1 && this._value[0] === \"\")) {\n this.value = [];\n } else if (this._data[activeOptionIndex].value !== \"\") {\n this.value = this._value.includes(this._data[activeOptionIndex].value)\n ? this._value.filter(value => value !== this._data[activeOptionIndex].value)\n : [...this._value, this._data[activeOptionIndex].value];\n }\n } else {\n this.value = this._data[activeOptionIndex].value; //HERE\n }\n this.stzhChange.emit({\n component: \"stzh-chipselect\",\n value: this.value\n });\n }\n\n if (newActiveIndex !== null) {\n this.activeFocusOptionIndex = newActiveIndex;\n }\n }\n\n componentDidRender() {\n if (this.renderPromiseResolve) {\n this.renderPromiseResolve();\n }\n }\n\n async componentWillLoad() {\n this.id = `stzh-chipselect-${chipselectCounter++}`;\n\n this.dataWatcher(this.data);\n this.errorWatcher(this.error);\n this.valueWatcher(this.value);\n\n this.defaultValue = this.defaultValue || this.value;\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"chipselect\");\n }\n }\n\n render() {\n const descriptionUsed = !!this.description;\n const descriptionLongUsed = !!this.descriptionLong;\n const errorUsed = !!this.error;\n\n const classes = {\n \"stzh-chipselect\": true,\n \"stzh-chipselect--has-description\": descriptionUsed,\n \"stzh-chipselect--has-description-long\": descriptionLongUsed,\n \"stzh-chipselect--has-error\": errorUsed,\n \"stzh-chipselect--is-invalid\": this.invalid || errorUsed,\n \"stzh-chipselect--is-disabled\": this.disabled,\n \"stzh-chipselect--is-required\": this.required,\n \"stzh-chipselect--has-label-hidden\": this.labelHidden,\n };\n\n return (\n <Host is-invalid={this.invalid || errorUsed}>\n <div class={classes}>\n {this.multiple\n ?\n <Fragment>\n {this._value.map((value) =>\n <input type=\"hidden\" name={this.name} value={value} />\n )}\n </Fragment>\n :\n <input\n type=\"hidden\"\n name={this.name}\n value={this.value}\n />\n }\n\n <label class=\"stzh-chipselect__label\" htmlFor={this.id}>\n {this.label ? this.label : <slot></slot>}\n {!this.hideOptional &&\n <span class=\"stzh-chipselect__marker\">\n <span class=\"stzh-chipselect__marker-symbol\" aria-hidden=\"true\">\n {this.required\n ? this.localization.$globals.requiredFieldMarker\n : this.localization.$globals.optionalFieldMarker\n }\n </span>\n <span class=\"stzh-chipselect__marker-text\">\n {this.required\n ? this.localization.$globals.requiredFieldText\n : this.localization.$globals.optionalFieldText\n }\n </span>\n </span>\n }\n </label>\n\n {this._data.length > 0 &&\n <Fragment>\n <div\n id={this.id}\n class=\"stzh-chipselect__chips\"\n role=\"listbox\"\n tabindex=\"0\"\n aria-multiselectable={this.multiple ? \"true\" : \"false\"}\n aria-activedescendant={`${this.id}-option-${this.activeFocusOptionIndex}`}\n aria-describedby={`${this.id}-description ${this.a11yDescribedby}`}\n onKeyDown={this.handleKeydown}\n >\n {this._data.map((data, index) => (\n <stzh-chip\n role=\"option\"\n class={{\n \"stzh-chipselect__chip\": true,\n \"is-focused\": this.activeFocusOptionIndex === index\n }}\n label={data.label}\n counter={data.counter}\n icon={data.icon}\n type={data.type}\n inverted={data.inverted}\n variant={data.variant}\n size={data.size || \"small\"}\n disabled={this.disabled || data.disabled}\n active={\n this._value.includes(data.value)\n || (!this.multiple && !data.value && (this._value.length === 0 || this._value[0] === \"\"))\n || (!data.value && this.multiple && (this._value.length === 0 || (this._value.length === 1 && this._value[0] === \"\")))\n }\n aria-selected={\n this._value.includes(data.value)\n || (!this.multiple && !data.value && (this._value.length === 0 || this._value[0] === \"\"))\n || (!data.value && this.multiple && (this._value.length === 0 || (this._value.length === 1 && this._value[0] === \"\")))\n ? \"true\" : \"false\"\n }\n id={`${this.id}-option-${index}`}\n a11yTabindex=\"-1\"\n onClick={() => this.handleChipClick(data, index)}\n ></stzh-chip>\n ))}\n </div>\n\n <StzhInputDescription\n classPrefix=\"stzh-chipselect\"\n id={`${this.id}-description`}\n error={this._error}\n description={this.description}\n descriptionLong={this.descriptionLong}\n descriptionLongTitle={this.descriptionLongTitle}\n descriptionLongUsed={descriptionLongUsed}\n moreInfoButtonLabel={this.localization.$globals.moreInfoButtonLabel}\n />\n\n {/* <stzh-dropdown\n class=\"stzh-chipselect__dropdown\"\n multiple={this.multiple}\n disabled={this.disabled}\n error={this._error}\n description={this.description}\n descriptionLong={this.descriptionLong}\n required={this.required}\n invalid={this.invalid}\n items={[this.value]}\n label={this.label}\n labelHidden={this.labelHidden}\n options={this._dataDropdown}\n hideOptional={this.hideOptional}\n onStzhChange={this.handleDropdownChange}\n ></stzh-dropdown> */}\n </Fragment>\n }\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,6 +1,6 @@
1
1
  import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-8f01554b.js';
2
- import { d as defineCustomElement$3 } from './p-fb02e9f7.js';
3
- import { d as defineCustomElement$2 } from './p-55350e52.js';
2
+ import { d as defineCustomElement$3 } from './p-652ae542.js';
3
+ import { d as defineCustomElement$2 } from './p-bd503085.js';
4
4
  import { d as defineCustomElement$1 } from './p-4d57271c.js';
5
5
 
6
6
  const stzhMessageCss = ".sc-stzh-message-h{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium);color:var(--stzh-base-color);box-sizing:border-box;display:block}[hidden].sc-stzh-message-h,[stzh-hidden].sc-stzh-message-h{display:none}.sc-stzh-message-h::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-message-h *.sc-stzh-message,.sc-stzh-message-h *.sc-stzh-message::before,.sc-stzh-message-h *.sc-stzh-message::after{box-sizing:border-box;text-underline-offset:var(--stzh-link-text-underline-offset);text-decoration-thickness:var(--stzh-link-text-decoration-thickness);-webkit-text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink);text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink)}.sc-stzh-message-h .has-focus.sc-stzh-message{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}.sc-stzh-message-h .stzh-fylingfocus-focused.sc-stzh-message{outline-style:none !important}.sc-stzh-message-h .stzh-fylingfocus-focused.sc-stzh-message::-moz-focus-inner{border:0 !important}.sc-stzh-message-h{--background-color:var(--stzh-color-grey20);--icon-color:var(--stzh-color-info50);--close-color:var(--stzh-color-grey90);--label-color:var(--stzh-color-info70);--description-color:var(--stzh-color-grey90)}[type=success].sc-stzh-message-h{--label-color:var(--stzh-color-success70);--icon-color:var(--stzh-color-success50);--background-color:var(--stzh-color-success20)}[type=warning].sc-stzh-message-h{--label-color:var(--stzh-color-warning90);--icon-color:var(--stzh-color-warning70);--background-color:var(--stzh-color-warning20)}[type=error].sc-stzh-message-h{--label-color:var(--stzh-color-error70);--icon-color:var(--stzh-color-error50);--background-color:var(--stzh-color-error20)}[type=page-message].sc-stzh-message-h{--label-color:var(--stzh-color-info70);--icon-color:var(--stzh-color-info50);--background-color:var(--stzh-color-info20)}.stzh-message.sc-stzh-message{position:relative;display:flex;box-shadow:var(--stzh-box-shadow-message);background-color:var(--background-color);border-radius:var(--stzh-button-border-radius)}.stzh-message__content.sc-stzh-message{padding-top:var(--stzh-space-xsmall);padding-bottom:var(--stzh-space-xsmall);padding-right:var(--stzh-space-large);gap:var(--stzh-space-xsmall);display:flex;flex-direction:column;flex-grow:1;padding-left:var(--stzh-space-medium)}@media screen and (min-width: 600px){.stzh-message__content.sc-stzh-message{padding-top:var(--stzh-space-small)}}@media screen and (min-width: 900px){.stzh-message__content.sc-stzh-message{padding-top:var(--stzh-space-medium)}}@media screen and (min-width: 1260px){.stzh-message__content.sc-stzh-message{padding-top:var(--stzh-space-xlarge)}}@media screen and (min-width: 600px){.stzh-message__content.sc-stzh-message{padding-bottom:var(--stzh-space-small)}}@media screen and (min-width: 900px){.stzh-message__content.sc-stzh-message{padding-bottom:var(--stzh-space-medium)}}@media screen and (min-width: 1260px){.stzh-message__content.sc-stzh-message{padding-bottom:var(--stzh-space-xlarge)}}@media screen and (min-width: 600px){.stzh-message__content.sc-stzh-message{padding-right:var(--stzh-space-xlarge)}}@media screen and (min-width: 900px){.stzh-message__content.sc-stzh-message{padding-right:var(--stzh-space-xxlarge)}}@media screen and (min-width: 1260px){.stzh-message__content.sc-stzh-message{padding-right:var(--stzh-space-xxxlarge)}}@media screen and (min-width: 600px){.stzh-message__content.sc-stzh-message{gap:var(--stzh-space-small)}}@media screen and (min-width: 900px){.stzh-message__content.sc-stzh-message{gap:var(--stzh-space-medium)}}@media screen and (min-width: 1260px){.stzh-message__content.sc-stzh-message{gap:var(--stzh-space-xlarge)}}@media screen and (min-width: 600px){.stzh-message__content.sc-stzh-message{flex-direction:row;align-items:flex-start}}@media screen and (min-width: 900px){.stzh-message__content.sc-stzh-message{padding-left:var(--stzh-space-large)}}.stzh-message__icon-wrapper.sc-stzh-message{display:flex;flex-shrink:0}.stzh-message__icon.sc-stzh-message{--size:var(--stzh-icon-size-large);color:var(--icon-color)}@media screen and (min-width: 600px){.stzh-message__text-wrapper.sc-stzh-message{flex-grow:1}}@media screen and (min-width: 1260px){.stzh-message__text-wrapper.sc-stzh-message{align-items:center}}.stzh-message__label.sc-stzh-message{font-family:var(--stzh-font-family-title);font-weight:var(--stzh-font-weight-title);font-style:var(--stzh-font-style-title);font-size:var(--stzh-font-curve-h4-default-font-size, var(--stzh-font-milli-font-size));line-height:var(--stzh-font-curve-h4-default-heading-line-height, var(--stzh-font-milli-heading-line-height));letter-spacing:var(--stzh-font-curve-h4-default-heading-letter-spacing);color:var(--label-color)}@media screen and (min-width: 600px){.stzh-message__label.sc-stzh-message{font-size:var(--stzh-font-curve-h4-small-font-size, var(--stzh-font-centi-font-size));line-height:var(--stzh-font-curve-h4-small-heading-line-height, var(--stzh-font-centi-heading-line-height));letter-spacing:var(--stzh-font-curve-h4-small-heading-letter-spacing)}}@media screen and (min-width: 1260px){.stzh-message__label.sc-stzh-message{font-size:var(--stzh-font-curve-h4-large-font-size, var(--stzh-font-deci-font-size));line-height:var(--stzh-font-curve-h4-large-heading-line-height, var(--stzh-font-deci-heading-line-height));letter-spacing:var(--stzh-font-curve-h4-large-heading-letter-spacing)}}@media screen and (min-width: 1600px){.stzh-message__label.sc-stzh-message{font-size:var(--stzh-font-curve-h4-ultra-font-size, var(--stzh-font-deca-font-size));line-height:var(--stzh-font-curve-h4-ultra-heading-line-height, var(--stzh-font-deca-text-line-height));letter-spacing:var(--stzh-font-curve-h4-ultra-heading-letter-spacing, var(--stzh-font-deca-text-letter-spacing))}}@media screen and (min-width: 1260px){.stzh-message__label.sc-stzh-message{font-size:var(--stzh-font-deci-font-size) !important}}.stzh-message__label.sc-stzh-message:not(:empty){margin-bottom:var(--stzh-space-xsmall)}.stzh-message__description.sc-stzh-message{font-size:var(--stzh-font-curve-p1-default-font-size, var(--stzh-font-milli-font-size));line-height:var(--stzh-font-curve-p1-default-text-line-height, var(--stzh-font-milli-text-line-height));letter-spacing:var(--stzh-font-curve-p1-default-text-letter-spacing);color:var(--description-color)}@media screen and (min-width: 900px){.stzh-message__description.sc-stzh-message{font-size:var(--stzh-font-curve-p1-medium-font-size, var(--stzh-font-centi-font-size));line-height:var(--stzh-font-curve-p1-medium-text-line-height, var(--stzh-font-centi-text-line-height));letter-spacing:var(--stzh-font-curve-p1-medium-text-letter-spacing)}}.stzh-message__description.sc-stzh-message:not(:empty)+.stzh-message__link.sc-stzh-message:not(:empty){margin-top:var(--stzh-space-xxsmall)}@media screen and (min-width: 900px){.stzh-message__description.sc-stzh-message:not(:empty)+.stzh-message__link.sc-stzh-message:not(:empty){margin-top:var(--stzh-space-xsmall)}}@media screen and (min-width: 1260px){.stzh-message__description.sc-stzh-message:not(:empty)+.stzh-message__link.sc-stzh-message:not(:empty){margin-top:var(--stzh-space-small)}}.stzh-message__close[variant=tertiary].sc-stzh-message{--color:var(--close-color);position:absolute;top:0;right:0}.stzh-message.sc-stzh-message:has(.stzh-message__description:empty):has(.stzh-message__link:empty) .stzh-message__label.sc-stzh-message:not(:empty){margin-top:var(--stzh-space-xxsmall);margin-bottom:0}.stzh-message--type-page-message.sc-stzh-message .stzh-message__content.sc-stzh-message{padding-left:1.25rem;padding-right:1.25rem;padding-top:var(--stzh-space-xsmall);padding-bottom:var(--stzh-space-xsmall);align-items:flex-start;flex-direction:row}@media screen and (min-width: 600px){.stzh-message--type-page-message.sc-stzh-message .stzh-message__content.sc-stzh-message{padding-left:2rem;padding-right:2rem}}@media screen and (min-width: 900px){.stzh-message--type-page-message.sc-stzh-message .stzh-message__content.sc-stzh-message{padding-left:2.5rem;padding-right:2.5rem}}@media screen and (min-width: 1260px){.stzh-message--type-page-message.sc-stzh-message .stzh-message__content.sc-stzh-message{padding-left:4rem;padding-right:4rem}}@media screen and (min-width: 1600px){.stzh-message--type-page-message.sc-stzh-message .stzh-message__content.sc-stzh-message{padding-left:calc((100vw - 84.25rem) / 2);padding-right:calc((100vw - 84.25rem) / 2)}}@media screen and (min-width: 600px){.stzh-message--type-page-message.sc-stzh-message .stzh-message__content.sc-stzh-message{padding-top:var(--stzh-space-small)}}@media screen and (min-width: 900px){.stzh-message--type-page-message.sc-stzh-message .stzh-message__content.sc-stzh-message{padding-top:var(--stzh-space-medium)}}@media screen and (min-width: 1260px){.stzh-message--type-page-message.sc-stzh-message .stzh-message__content.sc-stzh-message{padding-top:var(--stzh-space-xlarge)}}@media screen and (min-width: 600px){.stzh-message--type-page-message.sc-stzh-message .stzh-message__content.sc-stzh-message{padding-bottom:var(--stzh-space-small)}}@media screen and (min-width: 900px){.stzh-message--type-page-message.sc-stzh-message .stzh-message__content.sc-stzh-message{padding-bottom:var(--stzh-space-medium)}}@media screen and (min-width: 1260px){.stzh-message--type-page-message.sc-stzh-message .stzh-message__content.sc-stzh-message{padding-bottom:var(--stzh-space-xlarge)}}@media screen and (max-width: 1259px){.stzh-message--type-page-message.sc-stzh-message .stzh-message__content.sc-stzh-message{padding-right:var(--stzh-space-xxxlarge)}}@media screen and (min-width: 1260px){.stzh-message--type-page-message.sc-stzh-message .stzh-message__content.sc-stzh-message{align-items:center}}.stzh-message--type-page-message.sc-stzh-message .stzh-message__text-wrapper.sc-stzh-message{display:flex;flex-direction:column}@media screen and (min-width: 1260px){.stzh-message--type-page-message.sc-stzh-message .stzh-message__text-wrapper.sc-stzh-message{flex-direction:row;gap:var(--stzh-space-xsmall)}}@media screen and (min-width: 1260px) and (min-width: 600px){.stzh-message--type-page-message.sc-stzh-message .stzh-message__text-wrapper.sc-stzh-message{gap:var(--stzh-space-small)}}@media screen and (min-width: 1260px) and (min-width: 900px){.stzh-message--type-page-message.sc-stzh-message .stzh-message__text-wrapper.sc-stzh-message{gap:var(--stzh-space-medium)}}@media screen and (min-width: 1260px) and (min-width: 1260px){.stzh-message--type-page-message.sc-stzh-message .stzh-message__text-wrapper.sc-stzh-message{gap:var(--stzh-space-xlarge)}}.stzh-message--type-page-message.sc-stzh-message .stzh-message__icon.sc-stzh-message{--size:var(--stzh-icon-size-small)}.stzh-message--type-page-message.sc-stzh-message .stzh-message__label.sc-stzh-message{font-family:var(--stzh-font-family-title);font-weight:var(--stzh-font-weight-title);font-style:var(--stzh-font-style-title);font-size:var(--stzh-font-curve-p1-default-font-size, var(--stzh-font-milli-font-size));line-height:var(--stzh-font-curve-p1-default-text-line-height, var(--stzh-font-milli-text-line-height));letter-spacing:var(--stzh-font-curve-p1-default-text-letter-spacing);margin:0}@media screen and (min-width: 900px){.stzh-message--type-page-message.sc-stzh-message .stzh-message__label.sc-stzh-message{font-size:var(--stzh-font-curve-p1-medium-font-size, var(--stzh-font-centi-font-size));line-height:var(--stzh-font-curve-p1-medium-text-line-height, var(--stzh-font-centi-text-line-height));letter-spacing:var(--stzh-font-curve-p1-medium-text-letter-spacing)}}@media screen and (min-width: 600px){.stzh-message--type-page-message.sc-stzh-message .stzh-message__close.sc-stzh-message{top:0.625rem;right:0.625rem}}@media screen and (min-width: 900px){.stzh-message--type-page-message.sc-stzh-message .stzh-message__text-wrapper.sc-stzh-message .stzh-message__link.sc-stzh-message{margin-top:0}}";
@@ -93,4 +93,4 @@ function defineCustomElement() {
93
93
 
94
94
  export { StzhMessage as S, defineCustomElement as d };
95
95
 
96
- //# sourceMappingURL=p-b1d32805.js.map
96
+ //# sourceMappingURL=p-9187b0ea.js.map
@@ -1 +1 @@
1
- {"file":"p-b1d32805.js","mappings":";;;;;AAAA,MAAM,cAAc,GAAG,6xXAA6xX,CAAC;AACrzX,0BAAe,cAAc;;MCehB,WAAW;;;;;;QA2Cd,uBAAkB,GAAG;YAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;SACb,CAAC;qBA3CsB,EAAE;2BAGI,EAAE;oBAG2D,MAAM;yBAGpE,KAAK;;oBAcT,IAAI;;IAG7B,MAAM,IAAI;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,SAAS,EAAE,cAAc;SAC1B,CAAC,CAAC;KACJ;IAGD,MAAM,IAAI;QACR,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAClB,SAAS,EAAE,cAAc;SAC1B,CAAC,CAAC;KACJ;IAMD,MAAM,iBAAiB;QACrB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,IAAI,CAAC,YAAY,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;SAClG;KACF;IAED,MAAM;QACJ,MAAM,OAAO,GAAG;YACd,cAAc,EAAE,IAAI;YACpB,gCAAgC,EAAE,IAAI,CAAC,SAAS;YAChD,CAAC,sBAAsB,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI;SACjD,CAAC;QAEF,QACE,EAAC,IAAI,qDAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,IACtB,4DAAK,KAAK,EAAE,OAAO,IACjB,4DAAK,KAAK,EAAC,uBAAuB,IAChC,4DAAK,KAAK,EAAC,4BAA4B,IACrC,kEACE,KAAK,EAAC,oBAAoB,EAC1B,IAAI,EACF,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,KAAK,kBAAkB;iBAC5E,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,yBAAyB,CAAC;iBACrD,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,0BAA0B,CAAC;iBACtD,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,gBAAgB,CAAC,GAElC,CACT,EACN,4DAAK,KAAK,EAAC,4BAA4B,IACrC,4DAAK,KAAK,EAAC,qBAAqB,IAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,YAAM,IAAI,EAAC,OAAO,GAAQ,CAAO,EAC7F,4DAAK,KAAK,EAAC,2BAA2B,IAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,eAAa,CAAO,EAClG,4DAAK,KAAK,EAAC,oBAAoB,IAC7B,6DAAM,IAAI,EAAC,MAAM,GAAQ,CACrB,CACF,CACF,EAEL,CAAC,IAAI,CAAC,SAAS,KACd,oEACE,KAAK,EAAC,qBAAqB,EAC3B,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAChC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,EAClC,OAAO,EAAC,UAAU,EAClB,IAAI,EAAC,OAAO,EACZ,QAAQ,EAAE,IAAI,EACd,IAAI,EAAC,WAAW,GACH,CAChB,CACG,CACD,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/stzh-message/stzh-message.scss?tag=stzh-message&encapsulation=scoped","src/components/stzh-message/stzh-message.tsx"],"sourcesContent":[":host {\n --background-color: #{$colorGrey20};\n --icon-color: #{$colorInfo50};\n --close-color: #{$colorGrey90};\n --label-color: #{$colorInfo70};\n --description-color: #{$colorGrey90};\n\n &[type=\"success\"] {\n --label-color: #{$colorSuccess70};\n --icon-color: #{$colorSuccess50};\n --background-color: #{$colorSuccess20};\n }\n\n &[type=\"warning\"] {\n --label-color: #{$colorWarning90};\n --icon-color: #{$colorWarning70};\n --background-color: #{$colorWarning20};\n }\n\n &[type=\"error\"] {\n --label-color: #{$colorError70};\n --icon-color: #{$colorError50};\n --background-color: #{$colorError20};\n }\n\n &[type=\"page-message\"] {\n --label-color: #{$colorInfo70};\n --icon-color: #{$colorInfo50};\n --background-color: #{$colorInfo20};\n }\n}\n\n.stzh-message {\n position: relative;\n display: flex;\n box-shadow: $boxShadowMessage;\n background-color: var(--background-color);\n border-radius: #{$buttonBorderRadius};\n\n &__content {\n @include spaceCurve('padding-top', 'small');\n @include spaceCurve('padding-bottom', 'small');\n @include spaceCurve('padding-right', 'medium');\n @include spaceCurve('gap', 'small');\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n padding-left: space('medium');\n\n @include mq($from: small) {\n flex-direction: row;\n align-items: flex-start;\n }\n\n @include mq($from: medium) {\n padding-left: space('large');\n }\n }\n\n &__icon-wrapper {\n display: flex;\n flex-shrink: 0;\n }\n\n &__icon {\n --size: #{iconSize('large')};\n color: var(--icon-color);\n }\n\n &__text-wrapper {\n @include mq($from: small) {\n flex-grow: 1;\n }\n @include mq($from: large) {\n align-items: center;\n }\n }\n\n &__label {\n @include font('title');\n @include fontCurve('h4', 'heading');\n color: var(--label-color);\n\n @include mq($from: large) {\n font-size: var(--stzh-font-deci-font-size) !important;\n }\n\n &:not(:empty) {\n margin-bottom: var(--stzh-space-xsmall);\n }\n }\n\n &__description {\n @include fontCurve('p1');\n color: var(--description-color);\n }\n\n &__description:not(:empty) + &__link:not(:empty) {\n @include spaceCurve('margin-top', 'tiny');\n }\n\n &__close[variant=\"tertiary\"] {\n --color: var(--close-color);\n\n position: absolute;\n top: 0;\n right: 0;\n }\n\n /* Only label variant */\n\n &:has(#{&}__description:empty):has(#{&}__link:empty) &__label:not(:empty) {\n margin-top: space('xxsmall');\n margin-bottom: 0;\n }\n\n /* Type page-message */\n\n &--type-page-message &__content {\n @include containerPadding;\n @include spaceCurve('padding-top', 'small');\n @include spaceCurve('padding-bottom', 'small');\n align-items: flex-start;\n flex-direction: row;\n\n @include mq($to: large) {\n padding-right: space('xxxlarge');\n }\n\n @include mq($from: large) {\n align-items: center;\n }\n }\n\n &--type-page-message &__text-wrapper {\n display: flex;\n flex-direction: column;\n\n @include mq($from: large) {\n flex-direction: row;\n @include spaceCurve('gap', 'small');\n }\n }\n\n &--type-page-message &__icon {\n --size: #{iconSize('small')};\n }\n\n &--type-page-message &__label {\n @include font('title');\n @include fontCurve('p1');\n margin: 0;\n }\n\n &--type-page-message &__close {\n @include mq($from: small) {\n top: 10px;\n right: 10px;\n }\n }\n\n &--type-page-message &__text-wrapper &__link {\n @include mq($from: medium) {\n margin-top: 0;\n }\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Method, Prop, State } from \"@stencil/core\";\n\nimport { StzhMessageCloseEvent, StzhMessageOpenEvent } from \"../../index\";\n\nimport { StzhMessageLocalizedText } from \"./stzh-message.localization\";\n\n/**\n * @slot - Slot for description content (use instead of description property)\n * @slot label - Slot for label (use as alternative for property)\n * @slot link - Slot for optional stzh-link element\n */\n@Component({\n tag: \"stzh-message\",\n styleUrl: \"stzh-message.scss\",\n scoped: true,\n})\nexport class StzhMessage {\n /** Label (slot can also be used as alternative) */\n @Prop() label: string = \"\";\n\n /** Description (use instead of default slot) */\n @Prop() description: string = \"\";\n\n /** Type */\n @Prop({ reflect: true }) type: \"info\" | \"success\" | \"warning\" | \"error\" | \"page-message\" = \"info\";\n\n /** Whether to hide close button */\n @Prop() hideClose: boolean = false;\n\n /** Translation strings. */\n @Prop() localization: StzhMessageLocalizedText;\n\n /** Message open event */\n @Event() stzhOpen: EventEmitter<StzhMessageOpenEvent>;\n\n /** Message close event */\n @Event() stzhClose: EventEmitter<StzhMessageCloseEvent>;\n\n @Element() element: HTMLStzhMessageElement;\n\n /** Open state */\n @State() open: boolean = true;\n\n @Method()\n async show() {\n this.open = true;\n this.stzhOpen.emit({\n component: \"stzh-message\",\n });\n }\n\n @Method()\n async hide() {\n this.open = false;\n this.stzhClose.emit({\n component: \"stzh-message\",\n });\n }\n\n private onCloseButtonClick = () => {\n this.hide();\n };\n\n async componentWillLoad() {\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"message\");\n }\n }\n\n render() {\n const classes = {\n \"stzh-message\": true,\n \"stzh-message--has-close-hidden\": this.hideClose,\n [`stzh-message--type-${this.type}`]: !!this.type,\n };\n\n return (\n <Host hidden={!this.open}>\n <div class={classes}>\n <div class=\"stzh-message__content\">\n <div class=\"stzh-message__icon-wrapper\">\n <stzh-icon\n class=\"stzh-message__icon\"\n name={\n ((this.type === \"info\" || this.type === \"page-message\") && \"info-help-filled\") ||\n (this.type === \"success\" && \"checkmark-circle-filled\") ||\n (this.type === \"warning\" && \"important-warning-filled\") ||\n (this.type === \"error\" && \"warning-filled\")\n }\n ></stzh-icon>\n </div>\n <div class=\"stzh-message__text-wrapper\">\n <div class=\"stzh-message__label\">{this.label ? this.label : <slot name=\"label\"></slot>}</div>\n <div class=\"stzh-message__description\">{this.description ? this.description : <slot></slot>}</div>\n <div class=\"stzh-message__link\">\n <slot name=\"link\"></slot>\n </div>\n </div>\n </div>\n\n {!this.hideClose && (\n <stzh-button\n class=\"stzh-message__close\"\n onClick={this.onCloseButtonClick}\n a11yLabel={this.localization.close}\n variant=\"tertiary\"\n size=\"small\"\n iconOnly={true}\n icon=\"close-big\"\n ></stzh-button>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-9187b0ea.js","mappings":";;;;;AAAA,MAAM,cAAc,GAAG,6xXAA6xX,CAAC;AACrzX,0BAAe,cAAc;;MCehB,WAAW;;;;;;QA2Cd,uBAAkB,GAAG;YAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;SACb,CAAC;qBA3CsB,EAAE;2BAGI,EAAE;oBAG2D,MAAM;yBAGpE,KAAK;;oBAcT,IAAI;;IAG7B,MAAM,IAAI;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,SAAS,EAAE,cAAc;SAC1B,CAAC,CAAC;KACJ;IAGD,MAAM,IAAI;QACR,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAClB,SAAS,EAAE,cAAc;SAC1B,CAAC,CAAC;KACJ;IAMD,MAAM,iBAAiB;QACrB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,IAAI,CAAC,YAAY,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;SAClG;KACF;IAED,MAAM;QACJ,MAAM,OAAO,GAAG;YACd,cAAc,EAAE,IAAI;YACpB,gCAAgC,EAAE,IAAI,CAAC,SAAS;YAChD,CAAC,sBAAsB,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI;SACjD,CAAC;QAEF,QACE,EAAC,IAAI,qDAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,IACtB,4DAAK,KAAK,EAAE,OAAO,IACjB,4DAAK,KAAK,EAAC,uBAAuB,IAChC,4DAAK,KAAK,EAAC,4BAA4B,IACrC,kEACE,KAAK,EAAC,oBAAoB,EAC1B,IAAI,EACF,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,KAAK,kBAAkB;iBAC5E,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,yBAAyB,CAAC;iBACrD,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,0BAA0B,CAAC;iBACtD,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,gBAAgB,CAAC,GAElC,CACT,EACN,4DAAK,KAAK,EAAC,4BAA4B,IACrC,4DAAK,KAAK,EAAC,qBAAqB,IAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,YAAM,IAAI,EAAC,OAAO,GAAQ,CAAO,EAC7F,4DAAK,KAAK,EAAC,2BAA2B,IAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,eAAa,CAAO,EAClG,4DAAK,KAAK,EAAC,oBAAoB,IAC7B,6DAAM,IAAI,EAAC,MAAM,GAAQ,CACrB,CACF,CACF,EAEL,CAAC,IAAI,CAAC,SAAS,KACd,oEACE,KAAK,EAAC,qBAAqB,EAC3B,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAChC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,EAClC,OAAO,EAAC,UAAU,EAClB,IAAI,EAAC,OAAO,EACZ,QAAQ,EAAE,IAAI,EACd,IAAI,EAAC,WAAW,GACH,CAChB,CACG,CACD,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/stzh-message/stzh-message.scss?tag=stzh-message&encapsulation=scoped","src/components/stzh-message/stzh-message.tsx"],"sourcesContent":[":host {\n --background-color: #{$colorGrey20};\n --icon-color: #{$colorInfo50};\n --close-color: #{$colorGrey90};\n --label-color: #{$colorInfo70};\n --description-color: #{$colorGrey90};\n\n &[type=\"success\"] {\n --label-color: #{$colorSuccess70};\n --icon-color: #{$colorSuccess50};\n --background-color: #{$colorSuccess20};\n }\n\n &[type=\"warning\"] {\n --label-color: #{$colorWarning90};\n --icon-color: #{$colorWarning70};\n --background-color: #{$colorWarning20};\n }\n\n &[type=\"error\"] {\n --label-color: #{$colorError70};\n --icon-color: #{$colorError50};\n --background-color: #{$colorError20};\n }\n\n &[type=\"page-message\"] {\n --label-color: #{$colorInfo70};\n --icon-color: #{$colorInfo50};\n --background-color: #{$colorInfo20};\n }\n}\n\n.stzh-message {\n position: relative;\n display: flex;\n box-shadow: $boxShadowMessage;\n background-color: var(--background-color);\n border-radius: #{$buttonBorderRadius};\n\n &__content {\n @include spaceCurve('padding-top', 'small');\n @include spaceCurve('padding-bottom', 'small');\n @include spaceCurve('padding-right', 'medium');\n @include spaceCurve('gap', 'small');\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n padding-left: space('medium');\n\n @include mq($from: small) {\n flex-direction: row;\n align-items: flex-start;\n }\n\n @include mq($from: medium) {\n padding-left: space('large');\n }\n }\n\n &__icon-wrapper {\n display: flex;\n flex-shrink: 0;\n }\n\n &__icon {\n --size: #{iconSize('large')};\n color: var(--icon-color);\n }\n\n &__text-wrapper {\n @include mq($from: small) {\n flex-grow: 1;\n }\n @include mq($from: large) {\n align-items: center;\n }\n }\n\n &__label {\n @include font('title');\n @include fontCurve('h4', 'heading');\n color: var(--label-color);\n\n @include mq($from: large) {\n font-size: var(--stzh-font-deci-font-size) !important;\n }\n\n &:not(:empty) {\n margin-bottom: var(--stzh-space-xsmall);\n }\n }\n\n &__description {\n @include fontCurve('p1');\n color: var(--description-color);\n }\n\n &__description:not(:empty) + &__link:not(:empty) {\n @include spaceCurve('margin-top', 'tiny');\n }\n\n &__close[variant=\"tertiary\"] {\n --color: var(--close-color);\n\n position: absolute;\n top: 0;\n right: 0;\n }\n\n /* Only label variant */\n\n &:has(#{&}__description:empty):has(#{&}__link:empty) &__label:not(:empty) {\n margin-top: space('xxsmall');\n margin-bottom: 0;\n }\n\n /* Type page-message */\n\n &--type-page-message &__content {\n @include containerPadding;\n @include spaceCurve('padding-top', 'small');\n @include spaceCurve('padding-bottom', 'small');\n align-items: flex-start;\n flex-direction: row;\n\n @include mq($to: large) {\n padding-right: space('xxxlarge');\n }\n\n @include mq($from: large) {\n align-items: center;\n }\n }\n\n &--type-page-message &__text-wrapper {\n display: flex;\n flex-direction: column;\n\n @include mq($from: large) {\n flex-direction: row;\n @include spaceCurve('gap', 'small');\n }\n }\n\n &--type-page-message &__icon {\n --size: #{iconSize('small')};\n }\n\n &--type-page-message &__label {\n @include font('title');\n @include fontCurve('p1');\n margin: 0;\n }\n\n &--type-page-message &__close {\n @include mq($from: small) {\n top: 10px;\n right: 10px;\n }\n }\n\n &--type-page-message &__text-wrapper &__link {\n @include mq($from: medium) {\n margin-top: 0;\n }\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Method, Prop, State } from \"@stencil/core\";\n\nimport { StzhMessageCloseEvent, StzhMessageOpenEvent } from \"../../index\";\n\nimport { StzhMessageLocalizedText } from \"./stzh-message.localization\";\n\n/**\n * @slot - Slot for description content (use instead of description property)\n * @slot label - Slot for label (use as alternative for property)\n * @slot link - Slot for optional stzh-link element\n */\n@Component({\n tag: \"stzh-message\",\n styleUrl: \"stzh-message.scss\",\n scoped: true,\n})\nexport class StzhMessage {\n /** Label (slot can also be used as alternative) */\n @Prop() label: string = \"\";\n\n /** Description (use instead of default slot) */\n @Prop() description: string = \"\";\n\n /** Type */\n @Prop({ reflect: true }) type: \"info\" | \"success\" | \"warning\" | \"error\" | \"page-message\" = \"info\";\n\n /** Whether to hide close button */\n @Prop() hideClose: boolean = false;\n\n /** Translation strings. */\n @Prop() localization: StzhMessageLocalizedText;\n\n /** Message open event */\n @Event() stzhOpen: EventEmitter<StzhMessageOpenEvent>;\n\n /** Message close event */\n @Event() stzhClose: EventEmitter<StzhMessageCloseEvent>;\n\n @Element() element: HTMLStzhMessageElement;\n\n /** Open state */\n @State() open: boolean = true;\n\n @Method()\n async show() {\n this.open = true;\n this.stzhOpen.emit({\n component: \"stzh-message\",\n });\n }\n\n @Method()\n async hide() {\n this.open = false;\n this.stzhClose.emit({\n component: \"stzh-message\",\n });\n }\n\n private onCloseButtonClick = () => {\n this.hide();\n };\n\n async componentWillLoad() {\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"message\");\n }\n }\n\n render() {\n const classes = {\n \"stzh-message\": true,\n \"stzh-message--has-close-hidden\": this.hideClose,\n [`stzh-message--type-${this.type}`]: !!this.type,\n };\n\n return (\n <Host hidden={!this.open}>\n <div class={classes}>\n <div class=\"stzh-message__content\">\n <div class=\"stzh-message__icon-wrapper\">\n <stzh-icon\n class=\"stzh-message__icon\"\n name={\n ((this.type === \"info\" || this.type === \"page-message\") && \"info-help-filled\") ||\n (this.type === \"success\" && \"checkmark-circle-filled\") ||\n (this.type === \"warning\" && \"important-warning-filled\") ||\n (this.type === \"error\" && \"warning-filled\")\n }\n ></stzh-icon>\n </div>\n <div class=\"stzh-message__text-wrapper\">\n <div class=\"stzh-message__label\">{this.label ? this.label : <slot name=\"label\"></slot>}</div>\n <div class=\"stzh-message__description\">{this.description ? this.description : <slot></slot>}</div>\n <div class=\"stzh-message__link\">\n <slot name=\"link\"></slot>\n </div>\n </div>\n </div>\n\n {!this.hideClose && (\n <stzh-button\n class=\"stzh-message__close\"\n onClick={this.onCloseButtonClick}\n a11yLabel={this.localization.close}\n variant=\"tertiary\"\n size=\"small\"\n iconOnly={true}\n icon=\"close-big\"\n ></stzh-button>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -39,7 +39,7 @@ const StzhPrint = /*@__PURE__*/ proxyCustomElement(class StzhPrint extends H {
39
39
  const classes = {
40
40
  "stzh-print": true
41
41
  };
42
- return (h(Host, { key: 'da027280b3769909f900b669a3ed5e3d5dc90b13' }, h("div", { key: '85085b412548933d1274fb77521948ae0bc353a7', class: classes }, h("slot", { key: 'c87522735623b5a6c9b9d55fa55d1c25d00fd151' }))));
42
+ return (h(Host, { key: '48e764b5446f045f57086806618a6f5ec0e3f42a' }, h("div", { key: 'd898bbbff5ce7f8906c0159af5af13c4670696bf', class: classes }, h("slot", { key: '8708b8f04b82dd2d3e28ae4cde0dbb682106b808' }))));
43
43
  }
44
44
  get element() { return this; }
45
45
  static get style() { return StzhPrintStyle0; }
@@ -60,4 +60,4 @@ function defineCustomElement() {
60
60
 
61
61
  export { StzhPrint as S, defineCustomElement as d };
62
62
 
63
- //# sourceMappingURL=p-8e4c1a5e.js.map
63
+ //# sourceMappingURL=p-9da09a5b.js.map
@@ -1 +1 @@
1
- {"file":"p-8e4c1a5e.js","mappings":";;;AAAA,MAAM,YAAY,GAAG,s+BAAs+B,CAAC;AAC5/B,wBAAe,YAAY;;MCgBd,SAAS;IALtB;;;;QAUU,oBAAe,GAAG;YACxB,MAAM,CAAC,KAAK,EAAE,CAAC;SAChB,CAAA;QAEO,SAAI,GAAG;YACb,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;YAEtE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI;gBACjB,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;gBAErD,cAAc,CAAC,IAAI,EAAE;oBACnB,IAAI,EAAE,OAAO;iBACiC,CAAC,CAAA;aAClD,CAAC,CAAC;SACJ,CAAA;KA+BF;IA7BC,iBAAiB;QACf,IAAI,CAAC,IAAI,EAAE,CAAC;QAEZ,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE;YAClC,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;KACJ;IAED,oBAAoB;QAClB,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;SAC5B;KACF;IAED,MAAM;QACJ,MAAM,OAAO,GAAG;YACd,YAAY,EAAE,IAAI;SACnB,CAAC;QAEF,QACE,EAAC,IAAI,uDACH,4DAAK,KAAK,EAAE,OAAO,IACjB,8DAAa,CACT,CACD,EACP;KACH;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/CMS/stzh-print/stzh-print.scss?tag=stzh-print&encapsulation=shadow","src/components/CMS/stzh-print/stzh-print.tsx"],"sourcesContent":[":host {\n display: contents;\n\n @media print {\n display: none;\n }\n}\n\n.stzh-print {\n display: contents;\n}\n","import {\n Component,\n Host,\n h,\n Element,\n} from \"@stencil/core\";\n\nimport { setPropsIfNull } from \"../../../utils/utils\";\n\n/**\n * @slot - Slot for label\n */\n@Component({\n tag: \"stzh-print\",\n styleUrl: \"stzh-print.scss\",\n shadow: true\n})\nexport class StzhPrint {\n @Element() element: HTMLStzhPrintElement;\n\n private observer: MutationObserver;\n\n private handleLinkClick = () => {\n window.print();\n }\n\n private init = () => {\n const links = this.element.querySelectorAll(\"stzh-link, stzh-button\");\n\n links.forEach((link) => {\n link.addEventListener('click', this.handleLinkClick);\n\n setPropsIfNull(link, {\n icon: \"print\"\n } as HTMLStzhLinkElement | HTMLStzhButtonElement)\n });\n }\n\n connectedCallback() {\n this.init();\n\n this.observer = new MutationObserver(this.init);\n this.observer.observe(this.element, {\n childList: true,\n subtree: true\n });\n }\n\n disconnectedCallback() {\n if (this.observer) {\n this.observer.disconnect();\n }\n }\n\n render() {\n const classes = {\n \"stzh-print\": true\n };\n\n return (\n <Host>\n <div class={classes}>\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-9da09a5b.js","mappings":";;;AAAA,MAAM,YAAY,GAAG,s+BAAs+B,CAAC;AAC5/B,wBAAe,YAAY;;MCgBd,SAAS;IALtB;;;;QAUU,oBAAe,GAAG;YACxB,MAAM,CAAC,KAAK,EAAE,CAAC;SAChB,CAAA;QAEO,SAAI,GAAG;YACb,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;YAEtE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI;gBACjB,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;gBAErD,cAAc,CAAC,IAAI,EAAE;oBACnB,IAAI,EAAE,OAAO;iBACiC,CAAC,CAAA;aAClD,CAAC,CAAC;SACJ,CAAA;KA+BF;IA7BC,iBAAiB;QACf,IAAI,CAAC,IAAI,EAAE,CAAC;QAEZ,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE;YAClC,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;KACJ;IAED,oBAAoB;QAClB,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;SAC5B;KACF;IAED,MAAM;QACJ,MAAM,OAAO,GAAG;YACd,YAAY,EAAE,IAAI;SACnB,CAAC;QAEF,QACE,EAAC,IAAI,uDACH,4DAAK,KAAK,EAAE,OAAO,IACjB,8DAAa,CACT,CACD,EACP;KACH;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/CMS/stzh-print/stzh-print.scss?tag=stzh-print&encapsulation=shadow","src/components/CMS/stzh-print/stzh-print.tsx"],"sourcesContent":[":host {\n display: contents;\n\n @media print {\n display: none;\n }\n}\n\n.stzh-print {\n display: contents;\n}\n","import {\n Component,\n Host,\n h,\n Element,\n} from \"@stencil/core\";\n\nimport { setPropsIfNull } from \"../../../utils/utils\";\n\n/**\n * @slot - Slot for label\n */\n@Component({\n tag: \"stzh-print\",\n styleUrl: \"stzh-print.scss\",\n shadow: true\n})\nexport class StzhPrint {\n @Element() element: HTMLStzhPrintElement;\n\n private observer: MutationObserver;\n\n private handleLinkClick = () => {\n window.print();\n }\n\n private init = () => {\n const links = this.element.querySelectorAll(\"stzh-link, stzh-button\");\n\n links.forEach((link) => {\n link.addEventListener('click', this.handleLinkClick);\n\n setPropsIfNull(link, {\n icon: \"print\"\n } as HTMLStzhLinkElement | HTMLStzhButtonElement)\n });\n }\n\n connectedCallback() {\n this.init();\n\n this.observer = new MutationObserver(this.init);\n this.observer.observe(this.element, {\n childList: true,\n subtree: true\n });\n }\n\n disconnectedCallback() {\n if (this.observer) {\n this.observer.disconnect();\n }\n }\n\n render() {\n const classes = {\n \"stzh-print\": true\n };\n\n return (\n <Host>\n <div class={classes}>\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -45,7 +45,7 @@ const StzhActions = /*@__PURE__*/ proxyCustomElement(class StzhActions extends H
45
45
  "stzh-actions--space-between": this.spaceBetween,
46
46
  [`stzh-actions--${this.variant}`]: !!this.variant,
47
47
  };
48
- return (h(Host, { key: '100dd1874470f995ec038b2e0aedb932129e304b', "space-between": this.spaceBetween }, h("div", { key: '08d5776a9d368dceccfb6f183a7b12d503757150', class: classes }, h("div", { key: '1c8ac2cdbc564ceea60ce95c6731d86d42d68e15', class: "stzh-actions__actions", role: "group" }, h("div", { key: '30df5675c620d9d1065d2494de3b69d006b2cf61', class: "stzh-actions__tertiary-actions" }, h("slot", { key: '8e8dcfdecc3b7ce21f70c35e9aa90837598cb51c', name: "tertiary" })), h("div", { key: 'bf39e9610570f31cd91c988170925e717ea8267d', class: "stzh-actions__wrapper" }, h("div", { key: 'b33198895823912d509c87fc8e15144fe7df32f3', class: "stzh-actions__secondary-actions" }, h("slot", { key: '2b26d7ee10df898072dda39ccd683b936053e847', name: "secondary" })), h("div", { key: '4621cdb0b58a3d57aaceb1258ae3514ab9214efb', class: "stzh-actions__primary-actions" }, h("slot", { key: '7b7078d3d67950162fb442210b394c3d902afc49', name: "primary" })))))));
48
+ return (h(Host, { key: 'ad1364f137832998b2874ca016a428aa0c78193d', "space-between": this.spaceBetween }, h("div", { key: '1aba75918431bedcb009e2e62681a4c630172a1a', class: classes }, h("div", { key: 'c1ec0938ad1cb960212a89edc38f9c27e6f92c29', class: "stzh-actions__actions", role: "group" }, h("div", { key: '46ba39311ef9859ae6dfb6bb01a5faab8e209e1a', class: "stzh-actions__tertiary-actions" }, h("slot", { key: 'da4fe8c3cd3872660d0778883b68aa363b532b6b', name: "tertiary" })), h("div", { key: '82151e34caa58e5af2679b4e7b4ddf7a1bd5d767', class: "stzh-actions__wrapper" }, h("div", { key: 'b7682c3feacce2b7ec4d3c8f8fa5a4a3d8ce7c96', class: "stzh-actions__secondary-actions" }, h("slot", { key: 'bf43095e9877a1c317f0faa226bdcad5bb5e5889', name: "secondary" })), h("div", { key: '2797094e321e461280b44d7fd596c7b08fccfec4', class: "stzh-actions__primary-actions" }, h("slot", { key: '0ec6975e6e7208df564fa0cf17482246a9e18396', name: "primary" })))))));
49
49
  }
50
50
  get element() { return this; }
51
51
  static get style() { return StzhActionsStyle0; }
@@ -69,4 +69,4 @@ function defineCustomElement() {
69
69
 
70
70
  export { StzhActions as S, defineCustomElement as d };
71
71
 
72
- //# sourceMappingURL=p-f35400e1.js.map
72
+ //# sourceMappingURL=p-a0c79a46.js.map