@oiz/stzh-components 3.8.0-beta1 → 3.8.0

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 (298) hide show
  1. package/dist/cjs/{app-globals-02553278.js → app-globals-0e887dd2.js} +2 -2
  2. package/dist/cjs/{app-globals-02553278.js.map → app-globals-0e887dd2.js.map} +1 -1
  3. package/dist/cjs/{axios-69bcb71f.js → axios-bd44344d.js} +51 -96
  4. package/dist/cjs/axios-bd44344d.js.map +1 -0
  5. package/dist/cjs/loader.cjs.js +2 -2
  6. package/dist/cjs/stzh-accordion_3.cjs.entry.js +2 -7
  7. package/dist/cjs/stzh-accordion_3.cjs.entry.js.map +1 -1
  8. package/dist/cjs/stzh-badge_3.cjs.entry.js +1 -1
  9. package/dist/cjs/stzh-badge_3.cjs.entry.js.map +1 -1
  10. package/dist/cjs/stzh-bathstatus-list.cjs.entry.js +1 -1
  11. package/dist/cjs/stzh-checkboxgroup.cjs.entry.js +12 -11
  12. package/dist/cjs/stzh-checkboxgroup.cjs.entry.js.map +1 -1
  13. package/dist/cjs/stzh-chipselect.cjs.entry.js +1 -1
  14. package/dist/cjs/stzh-chipselect.cjs.entry.js.map +1 -1
  15. package/dist/cjs/stzh-components.cjs.js +2 -2
  16. package/dist/cjs/stzh-contact.cjs.entry.js +2 -8
  17. package/dist/cjs/stzh-contact.cjs.entry.js.map +1 -1
  18. package/dist/cjs/stzh-datalist_2.cjs.entry.js +1 -1
  19. package/dist/cjs/stzh-datalist_2.cjs.entry.js.map +1 -1
  20. package/dist/cjs/stzh-dialog.cjs.entry.js +1 -1
  21. package/dist/cjs/stzh-dialog.cjs.entry.js.map +1 -1
  22. package/dist/cjs/stzh-dropdown.cjs.entry.js +1 -1
  23. package/dist/cjs/stzh-dropdown.cjs.entry.js.map +1 -1
  24. package/dist/cjs/stzh-eventdata.cjs.entry.js +1 -1
  25. package/dist/cjs/stzh-eventdata.cjs.entry.js.map +1 -1
  26. package/dist/cjs/stzh-microsite-teaserlist.cjs.entry.js +3 -2
  27. package/dist/cjs/stzh-microsite-teaserlist.cjs.entry.js.map +1 -1
  28. package/dist/cjs/stzh-poilist.cjs.entry.js +1 -1
  29. package/dist/cjs/stzh-progressbar.cjs.entry.js +23 -0
  30. package/dist/cjs/stzh-progressbar.cjs.entry.js.map +1 -1
  31. package/dist/cjs/stzh-search.cjs.entry.js +2 -2
  32. package/dist/cjs/stzh-search.cjs.entry.js.map +1 -1
  33. package/dist/cjs/stzh-upload.cjs.entry.js +23 -10
  34. package/dist/cjs/stzh-upload.cjs.entry.js.map +1 -1
  35. package/dist/cjs/stzh-vbz-majorticker.cjs.entry.js +1 -1
  36. package/dist/cjs/stzh-vbz-ticker.cjs.entry.js +1 -1
  37. package/dist/collection/assets/i18n/de.json +9 -5
  38. package/dist/collection/assets/i18n/en.json +9 -5
  39. package/dist/collection/components/stzh-accordion/stzh-accordion.e2e.js +1 -0
  40. package/dist/collection/components/stzh-accordion/stzh-accordion.e2e.js.map +1 -1
  41. package/dist/collection/components/stzh-accordion/stzh-accordion.stories.js +86 -0
  42. package/dist/collection/components/stzh-accordion-item/stzh-accordion-item.js +2 -7
  43. package/dist/collection/components/stzh-accordion-item/stzh-accordion-item.js.map +1 -1
  44. package/dist/collection/components/stzh-button/stzh-button.css +13 -4
  45. package/dist/collection/components/stzh-button/stzh-button.e2e.js +6 -3
  46. package/dist/collection/components/stzh-button/stzh-button.e2e.js.map +1 -1
  47. package/dist/collection/components/stzh-button/stzh-button.stories.js +191 -15
  48. package/dist/collection/components/stzh-checkboxgroup/stzh-checkboxgroup.js +31 -14
  49. package/dist/collection/components/stzh-checkboxgroup/stzh-checkboxgroup.js.map +1 -1
  50. package/dist/collection/components/stzh-chip/stzh-chip.stories.js +11 -0
  51. package/dist/collection/components/stzh-chipselect/stzh-chipselect.css +1 -6
  52. package/dist/collection/components/stzh-contact/stzh-contact.css +11 -0
  53. package/dist/collection/components/stzh-contact/stzh-contact.js +1 -7
  54. package/dist/collection/components/stzh-contact/stzh-contact.js.map +1 -1
  55. package/dist/collection/components/stzh-datalist/stzh-datalist.e2e.js +1 -0
  56. package/dist/collection/components/stzh-datalist/stzh-datalist.e2e.js.map +1 -1
  57. package/dist/collection/components/stzh-datalist/stzh-datalist.stories.js +32 -0
  58. package/dist/collection/components/stzh-datalist-item/stzh-datalist-item.css +2 -1
  59. package/dist/collection/components/stzh-datepicker/stzh-datepicker.stories.js +1 -1
  60. package/dist/collection/components/stzh-dialog/stzh-dialog.css +2 -1
  61. package/dist/collection/components/stzh-dropdown/stzh-dropdown.css +8 -1
  62. package/dist/collection/components/stzh-dropdown/stzh-dropdown.stories.js +107 -5
  63. package/dist/collection/components/stzh-eventdata/stzh-eventdata.css +0 -5
  64. package/dist/collection/components/stzh-input/stzh-input.stories.js +1 -1
  65. package/dist/collection/components/stzh-microsite-teaserlist/stzh-microsite-teaserlist.js +3 -2
  66. package/dist/collection/components/stzh-microsite-teaserlist/stzh-microsite-teaserlist.js.map +1 -1
  67. package/dist/collection/components/stzh-progressbar/stzh-progressbar.js +27 -2
  68. package/dist/collection/components/stzh-progressbar/stzh-progressbar.js.map +1 -1
  69. package/dist/collection/components/stzh-search/stzh-search.js +1 -1
  70. package/dist/collection/components/stzh-search/stzh-search.js.map +1 -1
  71. package/dist/collection/components/stzh-search/stzh-search.stories.js +51 -83
  72. package/dist/collection/components/stzh-skiplink/stzh-skiplink.stories.js +0 -1
  73. package/dist/collection/components/stzh-upload/models/stzh-photographing-url-details.dto.js.map +1 -1
  74. package/dist/collection/components/stzh-upload/stzh-upload.css +5 -0
  75. package/dist/collection/components/stzh-upload/stzh-upload.js +26 -10
  76. package/dist/collection/components/stzh-upload/stzh-upload.js.map +1 -1
  77. package/dist/collection/components/stzh-upload/stzh-upload.localization.js.map +1 -1
  78. package/dist/collection/components/stzh-upload/stzh-upload.stories.js +3 -1
  79. package/dist/components/index.js +1 -1
  80. package/dist/components/{p-ed75de26.js → p-16940157.js} +3 -3
  81. package/dist/components/{p-ed75de26.js.map → p-16940157.js.map} +1 -1
  82. package/dist/components/{p-2fe2c81f.js → p-1d21ac10.js} +3 -3
  83. package/dist/components/{p-2fe2c81f.js.map → p-1d21ac10.js.map} +1 -1
  84. package/dist/components/{p-16892790.js → p-345a1e99.js} +51 -96
  85. package/dist/components/p-345a1e99.js.map +1 -0
  86. package/dist/components/{p-3aefa2e3.js → p-37367a31.js} +5 -5
  87. package/dist/components/{p-3aefa2e3.js.map → p-37367a31.js.map} +1 -1
  88. package/dist/components/{p-74755a90.js → p-408a1562.js} +2 -2
  89. package/dist/components/{p-74755a90.js.map → p-408a1562.js.map} +1 -1
  90. package/dist/components/{p-7e9f4f9f.js → p-497e2db0.js} +2 -2
  91. package/dist/components/{p-7e9f4f9f.js.map → p-497e2db0.js.map} +1 -1
  92. package/dist/components/p-4d000b5b.js +265 -0
  93. package/dist/components/p-4d000b5b.js.map +1 -0
  94. package/dist/components/{p-866cf184.js → p-4e5ccabd.js} +2 -2
  95. package/dist/components/{p-866cf184.js.map → p-4e5ccabd.js.map} +1 -1
  96. package/dist/components/{p-bd7d15a6.js → p-541e8c61.js} +2 -2
  97. package/dist/components/{p-bd7d15a6.js.map → p-541e8c61.js.map} +1 -1
  98. package/dist/components/{p-d4aabf9c.js → p-60b9f94a.js} +3 -3
  99. package/dist/components/p-60b9f94a.js.map +1 -0
  100. package/dist/components/{p-82c163e4.js → p-62e6cd61.js} +3 -3
  101. package/dist/components/{p-82c163e4.js.map → p-62e6cd61.js.map} +1 -1
  102. package/dist/components/{p-13c3319c.js → p-6956beb9.js} +2 -2
  103. package/dist/components/{p-13c3319c.js.map → p-6956beb9.js.map} +1 -1
  104. package/dist/components/{p-2a870524.js → p-6c754f8f.js} +3 -8
  105. package/dist/components/p-6c754f8f.js.map +1 -0
  106. package/dist/components/{p-9b0832ca.js → p-70f62e8e.js} +3 -3
  107. package/dist/components/{p-9b0832ca.js.map → p-70f62e8e.js.map} +1 -1
  108. package/dist/components/{p-c9ddf923.js → p-8ed7a61b.js} +2 -2
  109. package/dist/components/{p-c9ddf923.js.map → p-8ed7a61b.js.map} +1 -1
  110. package/dist/components/{p-3890d846.js → p-96416f66.js} +3 -3
  111. package/dist/components/p-96416f66.js.map +1 -0
  112. package/dist/components/{p-435e0ef4.js → p-c73125e2.js} +3 -3
  113. package/dist/components/{p-435e0ef4.js.map → p-c73125e2.js.map} +1 -1
  114. package/dist/components/{p-d1623b2e.js → p-dd072a49.js} +2 -2
  115. package/dist/components/{p-d1623b2e.js.map → p-dd072a49.js.map} +1 -1
  116. package/dist/components/{p-4039ba55.js → p-e5edc56d.js} +2 -2
  117. package/dist/components/{p-4039ba55.js.map → p-e5edc56d.js.map} +1 -1
  118. package/dist/components/{p-e0e4416e.js → p-ebbe78de.js} +2 -2
  119. package/dist/components/p-ebbe78de.js.map +1 -0
  120. package/dist/components/{p-e197115b.js → p-fa14b406.js} +2 -2
  121. package/dist/components/{p-e197115b.js.map → p-fa14b406.js.map} +1 -1
  122. package/dist/components/stzh-accordion-item.js +1 -1
  123. package/dist/components/stzh-actionset.js +1 -1
  124. package/dist/components/stzh-amount.js +3 -3
  125. package/dist/components/stzh-appointments.js +5 -5
  126. package/dist/components/stzh-archivelist.js +1 -1
  127. package/dist/components/stzh-banner.js +1 -1
  128. package/dist/components/stzh-bathstatus-list.js +1 -1
  129. package/dist/components/stzh-button.js +1 -1
  130. package/dist/components/stzh-calendar.js +1 -1
  131. package/dist/components/stzh-card-searchresult.js +3 -3
  132. package/dist/components/stzh-card-superteaser.js +3 -3
  133. package/dist/components/stzh-card.js +1 -1
  134. package/dist/components/stzh-checkboxgroup.js +13 -12
  135. package/dist/components/stzh-checkboxgroup.js.map +1 -1
  136. package/dist/components/stzh-chipselect.js +1 -1
  137. package/dist/components/stzh-contact.js +2 -8
  138. package/dist/components/stzh-contact.js.map +1 -1
  139. package/dist/components/stzh-datalist-item.js +1 -1
  140. package/dist/components/stzh-datalist.js +1 -1
  141. package/dist/components/stzh-datamessagelist-item.js +1 -1
  142. package/dist/components/stzh-datatable.js +7 -7
  143. package/dist/components/stzh-datepicker.js +1 -1
  144. package/dist/components/stzh-dialog.js +1 -1
  145. package/dist/components/stzh-disturber.js +1 -1
  146. package/dist/components/stzh-dropdown.js +1 -1
  147. package/dist/components/stzh-eventdata.js +1 -1
  148. package/dist/components/stzh-eventdata.js.map +1 -1
  149. package/dist/components/stzh-feedreader.js +2 -2
  150. package/dist/components/stzh-gallery.js +1 -1
  151. package/dist/components/stzh-geo-ref-data.js +6 -6
  152. package/dist/components/stzh-ghettobox.js +1 -1
  153. package/dist/components/stzh-header.js +1 -1
  154. package/dist/components/stzh-http-error.js +1 -1
  155. package/dist/components/stzh-iframe.js +1 -1
  156. package/dist/components/stzh-input.js +1 -1
  157. package/dist/components/stzh-message.js +1 -1
  158. package/dist/components/stzh-microsite-teaserlist.js +7 -6
  159. package/dist/components/stzh-microsite-teaserlist.js.map +1 -1
  160. package/dist/components/stzh-monthyearpicker.js +1 -1
  161. package/dist/components/stzh-offline-indicator.js +3 -3
  162. package/dist/components/stzh-pagebottom.js +2 -2
  163. package/dist/components/stzh-pagination.js +1 -1
  164. package/dist/components/stzh-panorama.js +2 -2
  165. package/dist/components/stzh-poilist.js +4 -4
  166. package/dist/components/stzh-progressbar.js +26 -2
  167. package/dist/components/stzh-progressbar.js.map +1 -1
  168. package/dist/components/stzh-readspeaker.js +1 -1
  169. package/dist/components/stzh-saptcha.js +2 -2
  170. package/dist/components/stzh-search.js +6 -6
  171. package/dist/components/stzh-search.js.map +1 -1
  172. package/dist/components/stzh-share.js +1 -1
  173. package/dist/components/stzh-sitemap.js +3 -3
  174. package/dist/components/stzh-timepicker.js +1 -1
  175. package/dist/components/stzh-toast.js +1 -1
  176. package/dist/components/stzh-toastbar.js +1 -1
  177. package/dist/components/stzh-upload.js +31 -15
  178. package/dist/components/stzh-upload.js.map +1 -1
  179. package/dist/components/stzh-vbz-majorticker.js +3 -3
  180. package/dist/components/stzh-vbz-ticker.js +1 -1
  181. package/dist/components/stzh-youtube.js +2 -2
  182. package/dist/esm/{app-globals-30dc1fec.js → app-globals-1e3146bc.js} +2 -2
  183. package/dist/esm/{app-globals-30dc1fec.js.map → app-globals-1e3146bc.js.map} +1 -1
  184. package/dist/esm/{axios-e0a35239.js → axios-0cc95004.js} +51 -96
  185. package/dist/esm/axios-0cc95004.js.map +1 -0
  186. package/dist/esm/loader.js +2 -2
  187. package/dist/esm/stzh-accordion_3.entry.js +2 -7
  188. package/dist/esm/stzh-accordion_3.entry.js.map +1 -1
  189. package/dist/esm/stzh-badge_3.entry.js +1 -1
  190. package/dist/esm/stzh-badge_3.entry.js.map +1 -1
  191. package/dist/esm/stzh-bathstatus-list.entry.js +1 -1
  192. package/dist/esm/stzh-checkboxgroup.entry.js +12 -11
  193. package/dist/esm/stzh-checkboxgroup.entry.js.map +1 -1
  194. package/dist/esm/stzh-chipselect.entry.js +1 -1
  195. package/dist/esm/stzh-chipselect.entry.js.map +1 -1
  196. package/dist/esm/stzh-components.js +2 -2
  197. package/dist/esm/stzh-contact.entry.js +2 -8
  198. package/dist/esm/stzh-contact.entry.js.map +1 -1
  199. package/dist/esm/stzh-datalist_2.entry.js +1 -1
  200. package/dist/esm/stzh-datalist_2.entry.js.map +1 -1
  201. package/dist/esm/stzh-dialog.entry.js +1 -1
  202. package/dist/esm/stzh-dialog.entry.js.map +1 -1
  203. package/dist/esm/stzh-dropdown.entry.js +1 -1
  204. package/dist/esm/stzh-dropdown.entry.js.map +1 -1
  205. package/dist/esm/stzh-eventdata.entry.js +1 -1
  206. package/dist/esm/stzh-eventdata.entry.js.map +1 -1
  207. package/dist/esm/stzh-microsite-teaserlist.entry.js +3 -2
  208. package/dist/esm/stzh-microsite-teaserlist.entry.js.map +1 -1
  209. package/dist/esm/stzh-poilist.entry.js +1 -1
  210. package/dist/esm/stzh-progressbar.entry.js +24 -1
  211. package/dist/esm/stzh-progressbar.entry.js.map +1 -1
  212. package/dist/esm/stzh-search.entry.js +2 -2
  213. package/dist/esm/stzh-search.entry.js.map +1 -1
  214. package/dist/esm/stzh-upload.entry.js +23 -10
  215. package/dist/esm/stzh-upload.entry.js.map +1 -1
  216. package/dist/esm/stzh-vbz-majorticker.entry.js +1 -1
  217. package/dist/esm/stzh-vbz-ticker.entry.js +1 -1
  218. package/dist/stzh-components/assets/i18n/de.json +9 -5
  219. package/dist/stzh-components/assets/i18n/en.json +9 -5
  220. package/dist/stzh-components/p-129faf7d.entry.js +2 -0
  221. package/dist/stzh-components/p-129faf7d.entry.js.map +1 -0
  222. package/dist/stzh-components/{p-68dee00d.entry.js → p-23678dfc.entry.js} +2 -2
  223. package/dist/stzh-components/{p-68dee00d.entry.js.map → p-23678dfc.entry.js.map} +1 -1
  224. package/dist/stzh-components/p-345a1e99.js +2 -0
  225. package/dist/stzh-components/p-345a1e99.js.map +1 -0
  226. package/dist/stzh-components/{p-e5a451a0.entry.js → p-646958e0.entry.js} +2 -2
  227. package/dist/stzh-components/{p-025a5c2e.entry.js → p-66c866e5.entry.js} +2 -2
  228. package/dist/stzh-components/p-66c866e5.entry.js.map +1 -0
  229. package/dist/stzh-components/{p-232d017c.entry.js → p-6a3db3bd.entry.js} +2 -2
  230. package/dist/stzh-components/p-6a3db3bd.entry.js.map +1 -0
  231. package/dist/stzh-components/{p-ef38e1fe.entry.js → p-6f9626d1.entry.js} +2 -2
  232. package/dist/stzh-components/p-6f9626d1.entry.js.map +1 -0
  233. package/dist/stzh-components/p-75143e35.entry.js +2 -0
  234. package/dist/stzh-components/p-75143e35.entry.js.map +1 -0
  235. package/dist/stzh-components/{p-8aab9098.entry.js → p-7c5e34db.entry.js} +2 -2
  236. package/dist/stzh-components/{p-b2986e24.entry.js → p-809076ff.entry.js} +2 -2
  237. package/dist/stzh-components/p-84cedd61.entry.js +2 -0
  238. package/dist/stzh-components/p-84cedd61.entry.js.map +1 -0
  239. package/dist/stzh-components/{p-5bafa548.entry.js → p-84f8307b.entry.js} +2 -2
  240. package/dist/stzh-components/p-84f8307b.entry.js.map +1 -0
  241. package/dist/stzh-components/{p-7b2bd184.entry.js → p-8856651e.entry.js} +2 -2
  242. package/dist/stzh-components/{p-7b2bd184.entry.js.map → p-8856651e.entry.js.map} +1 -1
  243. package/dist/stzh-components/p-8c5fb0e2.entry.js +2 -0
  244. package/dist/stzh-components/{p-f156650a.entry.js.map → p-8c5fb0e2.entry.js.map} +1 -1
  245. package/dist/stzh-components/p-9f91ca1f.entry.js +2 -0
  246. package/dist/stzh-components/p-9f91ca1f.entry.js.map +1 -0
  247. package/dist/stzh-components/p-d41803d1.js +2 -0
  248. package/dist/stzh-components/{p-64ba89a2.js.map → p-d41803d1.js.map} +1 -1
  249. package/dist/stzh-components/{p-6f0cf6e3.entry.js → p-d97fbf1f.entry.js} +2 -2
  250. package/dist/stzh-components/p-fa4595c8.entry.js +2 -0
  251. package/dist/stzh-components/p-fa4595c8.entry.js.map +1 -0
  252. package/dist/stzh-components/p-fcc75797.entry.js +2 -0
  253. package/dist/stzh-components/p-fcc75797.entry.js.map +1 -0
  254. package/dist/stzh-components/stzh-components.esm.js +1 -1
  255. package/dist/stzh-components/stzh-components.esm.js.map +1 -1
  256. package/dist/types/components/stzh-accordion-item/stzh-accordion-item.d.ts +0 -1
  257. package/dist/types/components/stzh-checkboxgroup/stzh-checkboxgroup.d.ts +3 -3
  258. package/dist/types/components/stzh-microsite-teaserlist/stzh-microsite-teaserlist.d.ts +2 -2
  259. package/dist/types/components/stzh-progressbar/stzh-progressbar.d.ts +4 -0
  260. package/dist/types/components/stzh-upload/models/stzh-photographing-url-details.dto.d.ts +1 -0
  261. package/dist/types/components/stzh-upload/stzh-upload.d.ts +3 -0
  262. package/dist/types/components/stzh-upload/stzh-upload.localization.d.ts +2 -0
  263. package/dist/types/components.d.ts +8 -0
  264. package/dist/vscode-data.json +4 -0
  265. package/package.json +9 -5
  266. package/dist/cjs/axios-69bcb71f.js.map +0 -1
  267. package/dist/components/p-16892790.js.map +0 -1
  268. package/dist/components/p-20c7b76b.js +0 -265
  269. package/dist/components/p-20c7b76b.js.map +0 -1
  270. package/dist/components/p-2a870524.js.map +0 -1
  271. package/dist/components/p-3890d846.js.map +0 -1
  272. package/dist/components/p-d4aabf9c.js.map +0 -1
  273. package/dist/components/p-e0e4416e.js.map +0 -1
  274. package/dist/esm/axios-e0a35239.js.map +0 -1
  275. package/dist/stzh-components/p-025a5c2e.entry.js.map +0 -1
  276. package/dist/stzh-components/p-11abc40a.entry.js +0 -2
  277. package/dist/stzh-components/p-11abc40a.entry.js.map +0 -1
  278. package/dist/stzh-components/p-16892790.js +0 -2
  279. package/dist/stzh-components/p-16892790.js.map +0 -1
  280. package/dist/stzh-components/p-232d017c.entry.js.map +0 -1
  281. package/dist/stzh-components/p-5ac0220a.entry.js +0 -2
  282. package/dist/stzh-components/p-5ac0220a.entry.js.map +0 -1
  283. package/dist/stzh-components/p-5bafa548.entry.js.map +0 -1
  284. package/dist/stzh-components/p-64ba89a2.js +0 -2
  285. package/dist/stzh-components/p-95427be2.entry.js +0 -2
  286. package/dist/stzh-components/p-95427be2.entry.js.map +0 -1
  287. package/dist/stzh-components/p-973c5df2.entry.js +0 -2
  288. package/dist/stzh-components/p-973c5df2.entry.js.map +0 -1
  289. package/dist/stzh-components/p-aff2ca5f.entry.js +0 -2
  290. package/dist/stzh-components/p-aff2ca5f.entry.js.map +0 -1
  291. package/dist/stzh-components/p-da2c88a2.entry.js +0 -2
  292. package/dist/stzh-components/p-da2c88a2.entry.js.map +0 -1
  293. package/dist/stzh-components/p-ef38e1fe.entry.js.map +0 -1
  294. package/dist/stzh-components/p-f156650a.entry.js +0 -2
  295. /package/dist/stzh-components/{p-e5a451a0.entry.js.map → p-646958e0.entry.js.map} +0 -0
  296. /package/dist/stzh-components/{p-8aab9098.entry.js.map → p-7c5e34db.entry.js.map} +0 -0
  297. /package/dist/stzh-components/{p-b2986e24.entry.js.map → p-809076ff.entry.js.map} +0 -0
  298. /package/dist/stzh-components/{p-6f0cf6e3.entry.js.map → p-d97fbf1f.entry.js.map} +0 -0
@@ -1,8 +1,8 @@
1
1
  import { p as proxyCustomElement, H, c as createEvent, h as h$1, d as Host } from './p-96cf9087.js';
2
2
  import { h } from './p-dd0d6b20.js';
3
3
  import { d as defineCustomElement$6 } from './p-011c5d9b.js';
4
- import { d as defineCustomElement$5 } from './p-20c7b76b.js';
5
- import { d as defineCustomElement$4 } from './p-c9ddf923.js';
4
+ import { d as defineCustomElement$5 } from './p-4d000b5b.js';
5
+ import { d as defineCustomElement$4 } from './p-8ed7a61b.js';
6
6
  import { d as defineCustomElement$3 } from './p-6e55dee9.js';
7
7
  import { d as defineCustomElement$2 } from './p-d5ab066a.js';
8
8
  import { d as defineCustomElement$1 } from './p-8b576ec4.js';
@@ -525,4 +525,4 @@ function defineCustomElement() {
525
525
 
526
526
  export { StzhCalendar as S, printISODate as a, defineCustomElement as d, parseISODate as p };
527
527
 
528
- //# sourceMappingURL=p-ed75de26.js.map
528
+ //# sourceMappingURL=p-16940157.js.map
@@ -1 +1 @@
1
- {"file":"p-ed75de26.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-16940157.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,9 +1,9 @@
1
1
  import { p as proxyCustomElement, H, h, d as Host } from './p-96cf9087.js';
2
2
  import { j as js_cookie } from './p-b0e7d693.js';
3
3
  import { d as defineCustomElement$4 } from './p-011c5d9b.js';
4
- import { d as defineCustomElement$3 } from './p-20c7b76b.js';
4
+ import { d as defineCustomElement$3 } from './p-4d000b5b.js';
5
5
  import { d as defineCustomElement$2 } from './p-6e55dee9.js';
6
- import { d as defineCustomElement$1 } from './p-4039ba55.js';
6
+ import { d as defineCustomElement$1 } from './p-e5edc56d.js';
7
7
 
8
8
  const stzhToastbarCss = ":host{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;}:host[hidden],:host[stzh-hidden]{display:none}:host::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}:host *,:host *::before,:host *::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)}:host .has-focus{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}:host .stzh-fylingfocus-focused{outline-style:none !important}:host .stzh-fylingfocus-focused::-moz-focus-inner{border:0 !important}:host{bottom:var(--stzh-space-medium);z-index:var(--stzh-z-index-overlay);position:fixed;pointer-events:none;left:1.25rem;right:1.25rem;bottom:calc(var(--stzh-pagetitle-disturber-stuck-height, 0px) + var(--stzh-sticky-cta-stuck-bottom-height, 0px))}@media screen and (min-width: 600px){:host{bottom:var(--stzh-space-large)}}@media screen and (min-width: 900px){:host{bottom:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){:host{bottom:var(--stzh-space-xxlarge)}}@media screen and (min-width: 600px){:host{left:2rem;right:auto;max-width:26.8125rem}}@media screen and (min-width: 900px){:host{left:2.5rem;max-width:27.5rem}}@media screen and (min-width: 1260px){:host{left:4rem;max-width:30.3125rem}}@media screen and (min-width: 1600px){:host{left:calc((100vw - 84.25rem - var(--stzh-scrollbar-width, 0px)) / 2);max-width:34.625rem}}:host ::slotted(*:not([hidden]):not([slot])){margin-bottom:var(--stzh-space-small)}.stzh-toastbar{display:flex;flex-direction:column;justify-content:flex-end}@media screen and (min-width: 600px){.stzh-toastbar{align-items:flex-start}}";
9
9
 
@@ -186,4 +186,4 @@ function defineCustomElement() {
186
186
 
187
187
  export { StzhToastbar as S, defineCustomElement as d };
188
188
 
189
- //# sourceMappingURL=p-2fe2c81f.js.map
189
+ //# sourceMappingURL=p-1d21ac10.js.map
@@ -1 +1 @@
1
- {"file":"p-2fe2c81f.js","mappings":"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","names":["Cookie","HTMLElement"],"sources":["src/components/stzh-toastbar/stzh-toastbar.scss?tag=stzh-toastbar&encapsulation=shadow","src/components/stzh-toastbar/stzh-toastbar.tsx"],"sourcesContent":[":host {\n @include spaceCurve('bottom', 'regular');\n z-index: $zIndexOverlay;\n position: fixed;\n pointer-events: none;\n left: $containerMargin;\n right: $containerMargin;\n bottom: calc(\n var(--stzh-pagetitle-disturber-stuck-height, 0px)\n + var(--stzh-sticky-cta-stuck-bottom-height, 0px)\n );\n\n @include mq($from: small) {\n left: $containerMarginSmall;\n right: auto;\n max-width: 429px;\n }\n\n @include mq($from: medium) {\n left: $containerMarginMedium;\n max-width: 440px;\n }\n\n @include mq($from: large) {\n left: $containerMarginLarge;\n max-width: 485px;\n }\n\n @include mq($from: ultra) {\n left: calc((100vw - #{$containerMaxWidth} - var(--stzh-scrollbar-width, 0px)) / 2);\n max-width: 554px;\n }\n\n ::slotted(*:not([hidden]):not([slot])) {\n margin-bottom: space('small');\n }\n}\n\n.stzh-toastbar {\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n\n @include mq($from: small) {\n align-items: flex-start;\n }\n}\n","import {\n Component,\n Host,\n h,\n Element,\n Prop,\n Method,\n Watch,\n} from \"@stencil/core\";\n\nimport {\n StzhToastbarInitialToast,\n StzhToastType,\n} from \"../../index\";\n\nimport Cookie from \"js-cookie\";\n\nconst KEY_PREFIX_CLOSED = \"stzh-components-toastbar-closed\";\n\n/**\n * @slot - Slot for stzh-toast elements\n */\n@Component({\n tag: \"stzh-toastbar\",\n styleUrl: \"stzh-toastbar.scss\",\n shadow: true\n})\nexport class StzhToastbar {\n /**\n * Time after toasts are hidden (in seconds).\n * Toasts with type `error` will stay, until the user closes them manually.\n */\n @Prop() hideAfter: number = 30;\n\n /**\n * Maximum of toasts allowed to be shown.\n * If more are created, oldest will be hidden, even if timeout not ended yet or toast type is `error`.\n */\n @Prop() max: number = 5;\n\n /**\n * Initial toasts.\n *\n * Array of objects that at least includes `label` and optionally `type`, `link` (object with `href` and `label`) `cookie` and `cookieExpires`:\n * `[{\"label\": \"Lorem ipsum\", \"link\": { \"label\": \"More info\", \"href\": \"https://example.com\" }, \"cookie\": \"cookie-banner\", \"cookieExpires\": 365 }]`\n *\n * If `cookie` exists in an object, it will check for that cookie name first (prefixed with `stzh-components-toastbar-closed-`) and only show if cookie doesn't exist.\n * `cookieExpires` sets the cookie lifetime (default 365 days, set 0 for session cookie).\n */\n @Prop() initialToasts: StzhToastbarInitialToast[] | string = [];\n private _initialToasts: StzhToastbarInitialToast[] = [];\n\n @Element() element: HTMLStzhToastbarElement;\n\n /** Create new toast. */\n @Method()\n async toast(\n label: string,\n { type, link }: { type?: StzhToastType, link?: HTMLStzhButtonElement } = { type: \"info\" }\n ): Promise<HTMLStzhToastElement> {\n const toast = document.createElement(\"stzh-toast\");\n toast.hidden = true;\n toast.label = label;\n toast.role = \"alert\";\n toast.type = type || \"info\";\n toast.initialOpenAnimation = true;\n\n if (link) {\n link.slot = \"link\";\n link.size = \"small\";\n toast.appendChild(link);\n }\n\n this.element.appendChild(toast);\n\n return toast;\n }\n\n @Watch(\"initialToasts\")\n initialToastsWatcher(newValue: any[] | string) {\n if (typeof newValue === \"string\") {\n this._initialToasts = JSON.parse(newValue);\n } else {\n this._initialToasts = newValue;\n }\n }\n\n private toastAppended(toast: HTMLStzhToastElement) {\n if (toast.getAttribute('data-stzh-toastbar-managed')) {\n return;\n }\n\n toast.setAttribute('data-stzh-toastbar-managed', '');\n\n toast.addEventListener(\"stzhClosed\", () => {\n toast.remove();\n });\n\n if (toast.type !== \"error\") {\n let timeoutStarted = new Date().getTime();\n let restTime = this.hideAfter * 1000;\n let currentTimeout = window.setTimeout(() => {\n toast.hide();\n }, restTime);\n\n toast.addEventListener(\"pointerenter\", () => {\n if (currentTimeout) {\n window.clearTimeout(currentTimeout);\n const timePassed = new Date().getTime() - timeoutStarted;\n restTime = restTime - timePassed;\n }\n });\n\n toast.addEventListener(\"pointerleave\", () => {\n timeoutStarted = new Date().getTime();\n currentTimeout = window.setTimeout(() => {\n toast.hide();\n }, restTime);\n });\n }\n }\n\n private toastsAppended() {\n const host = (this.element.getRootNode() as ShadowRoot)?.host || this.element;\n Array.from(host.children).forEach((toast: HTMLStzhToastElement) => {\n this.toastAppended(toast);\n });\n }\n\n private hideOverflowingItems() {\n const host = (this.element.getRootNode() as ShadowRoot)?.host || this.element;\n const childCount = host.children.length;\n\n Array.from(host.children)\n .splice(0, childCount - this.max)\n .forEach((toast: HTMLStzhToastElement) => {\n toast.hide();\n });\n }\n\n private handleSlotchange = () => {\n this.toastsAppended();\n this.hideOverflowingItems();\n }\n\n componentWillLoad() {\n this.initialToastsWatcher(this.initialToasts);\n }\n\n componentDidLoad() {\n this._initialToasts.forEach(async (data) => {\n if (data.cookie) {\n const alreadyClosedBefore = Cookie.get(`${KEY_PREFIX_CLOSED}-${data.cookie}`);\n\n if (alreadyClosedBefore) {\n return;\n }\n }\n\n let link = data.link;\n\n if (!(link instanceof HTMLElement)) {\n const generatedLink = document.createElement(\"stzh-button\");\n generatedLink.slot = \"link\";\n generatedLink.size = \"small\";\n\n Object.assign(generatedLink, data.link);\n link = generatedLink;\n }\n\n const toast = await this.toast(data.label, {\n type: data.type,\n link: link as HTMLStzhButtonElement\n })\n\n if (data.cookie) {\n let cookieExpires = 365;\n\n if (data.cookieExpires === 0) {\n cookieExpires = null;\n } else if (data.cookieExpires) {\n cookieExpires = data.cookieExpires;\n }\n\n toast.addEventListener(\"stzhClosed\", () => {\n Cookie.set(`${KEY_PREFIX_CLOSED}-${data.cookie}`, '1', {\n expires: cookieExpires\n });\n });\n }\n })\n }\n\n render() {\n const classes = {\n \"stzh-toastbar\": true,\n };\n\n return (\n <Host>\n <div class={classes}>\n <slot onSlotchange={this.handleSlotchange}></slot>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-1d21ac10.js","mappings":"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","names":["Cookie","HTMLElement"],"sources":["src/components/stzh-toastbar/stzh-toastbar.scss?tag=stzh-toastbar&encapsulation=shadow","src/components/stzh-toastbar/stzh-toastbar.tsx"],"sourcesContent":[":host {\n @include spaceCurve('bottom', 'regular');\n z-index: $zIndexOverlay;\n position: fixed;\n pointer-events: none;\n left: $containerMargin;\n right: $containerMargin;\n bottom: calc(\n var(--stzh-pagetitle-disturber-stuck-height, 0px)\n + var(--stzh-sticky-cta-stuck-bottom-height, 0px)\n );\n\n @include mq($from: small) {\n left: $containerMarginSmall;\n right: auto;\n max-width: 429px;\n }\n\n @include mq($from: medium) {\n left: $containerMarginMedium;\n max-width: 440px;\n }\n\n @include mq($from: large) {\n left: $containerMarginLarge;\n max-width: 485px;\n }\n\n @include mq($from: ultra) {\n left: calc((100vw - #{$containerMaxWidth} - var(--stzh-scrollbar-width, 0px)) / 2);\n max-width: 554px;\n }\n\n ::slotted(*:not([hidden]):not([slot])) {\n margin-bottom: space('small');\n }\n}\n\n.stzh-toastbar {\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n\n @include mq($from: small) {\n align-items: flex-start;\n }\n}\n","import {\n Component,\n Host,\n h,\n Element,\n Prop,\n Method,\n Watch,\n} from \"@stencil/core\";\n\nimport {\n StzhToastbarInitialToast,\n StzhToastType,\n} from \"../../index\";\n\nimport Cookie from \"js-cookie\";\n\nconst KEY_PREFIX_CLOSED = \"stzh-components-toastbar-closed\";\n\n/**\n * @slot - Slot for stzh-toast elements\n */\n@Component({\n tag: \"stzh-toastbar\",\n styleUrl: \"stzh-toastbar.scss\",\n shadow: true\n})\nexport class StzhToastbar {\n /**\n * Time after toasts are hidden (in seconds).\n * Toasts with type `error` will stay, until the user closes them manually.\n */\n @Prop() hideAfter: number = 30;\n\n /**\n * Maximum of toasts allowed to be shown.\n * If more are created, oldest will be hidden, even if timeout not ended yet or toast type is `error`.\n */\n @Prop() max: number = 5;\n\n /**\n * Initial toasts.\n *\n * Array of objects that at least includes `label` and optionally `type`, `link` (object with `href` and `label`) `cookie` and `cookieExpires`:\n * `[{\"label\": \"Lorem ipsum\", \"link\": { \"label\": \"More info\", \"href\": \"https://example.com\" }, \"cookie\": \"cookie-banner\", \"cookieExpires\": 365 }]`\n *\n * If `cookie` exists in an object, it will check for that cookie name first (prefixed with `stzh-components-toastbar-closed-`) and only show if cookie doesn't exist.\n * `cookieExpires` sets the cookie lifetime (default 365 days, set 0 for session cookie).\n */\n @Prop() initialToasts: StzhToastbarInitialToast[] | string = [];\n private _initialToasts: StzhToastbarInitialToast[] = [];\n\n @Element() element: HTMLStzhToastbarElement;\n\n /** Create new toast. */\n @Method()\n async toast(\n label: string,\n { type, link }: { type?: StzhToastType, link?: HTMLStzhButtonElement } = { type: \"info\" }\n ): Promise<HTMLStzhToastElement> {\n const toast = document.createElement(\"stzh-toast\");\n toast.hidden = true;\n toast.label = label;\n toast.role = \"alert\";\n toast.type = type || \"info\";\n toast.initialOpenAnimation = true;\n\n if (link) {\n link.slot = \"link\";\n link.size = \"small\";\n toast.appendChild(link);\n }\n\n this.element.appendChild(toast);\n\n return toast;\n }\n\n @Watch(\"initialToasts\")\n initialToastsWatcher(newValue: any[] | string) {\n if (typeof newValue === \"string\") {\n this._initialToasts = JSON.parse(newValue);\n } else {\n this._initialToasts = newValue;\n }\n }\n\n private toastAppended(toast: HTMLStzhToastElement) {\n if (toast.getAttribute('data-stzh-toastbar-managed')) {\n return;\n }\n\n toast.setAttribute('data-stzh-toastbar-managed', '');\n\n toast.addEventListener(\"stzhClosed\", () => {\n toast.remove();\n });\n\n if (toast.type !== \"error\") {\n let timeoutStarted = new Date().getTime();\n let restTime = this.hideAfter * 1000;\n let currentTimeout = window.setTimeout(() => {\n toast.hide();\n }, restTime);\n\n toast.addEventListener(\"pointerenter\", () => {\n if (currentTimeout) {\n window.clearTimeout(currentTimeout);\n const timePassed = new Date().getTime() - timeoutStarted;\n restTime = restTime - timePassed;\n }\n });\n\n toast.addEventListener(\"pointerleave\", () => {\n timeoutStarted = new Date().getTime();\n currentTimeout = window.setTimeout(() => {\n toast.hide();\n }, restTime);\n });\n }\n }\n\n private toastsAppended() {\n const host = (this.element.getRootNode() as ShadowRoot)?.host || this.element;\n Array.from(host.children).forEach((toast: HTMLStzhToastElement) => {\n this.toastAppended(toast);\n });\n }\n\n private hideOverflowingItems() {\n const host = (this.element.getRootNode() as ShadowRoot)?.host || this.element;\n const childCount = host.children.length;\n\n Array.from(host.children)\n .splice(0, childCount - this.max)\n .forEach((toast: HTMLStzhToastElement) => {\n toast.hide();\n });\n }\n\n private handleSlotchange = () => {\n this.toastsAppended();\n this.hideOverflowingItems();\n }\n\n componentWillLoad() {\n this.initialToastsWatcher(this.initialToasts);\n }\n\n componentDidLoad() {\n this._initialToasts.forEach(async (data) => {\n if (data.cookie) {\n const alreadyClosedBefore = Cookie.get(`${KEY_PREFIX_CLOSED}-${data.cookie}`);\n\n if (alreadyClosedBefore) {\n return;\n }\n }\n\n let link = data.link;\n\n if (!(link instanceof HTMLElement)) {\n const generatedLink = document.createElement(\"stzh-button\");\n generatedLink.slot = \"link\";\n generatedLink.size = \"small\";\n\n Object.assign(generatedLink, data.link);\n link = generatedLink;\n }\n\n const toast = await this.toast(data.label, {\n type: data.type,\n link: link as HTMLStzhButtonElement\n })\n\n if (data.cookie) {\n let cookieExpires = 365;\n\n if (data.cookieExpires === 0) {\n cookieExpires = null;\n } else if (data.cookieExpires) {\n cookieExpires = data.cookieExpires;\n }\n\n toast.addEventListener(\"stzhClosed\", () => {\n Cookie.set(`${KEY_PREFIX_CLOSED}-${data.cookie}`, '1', {\n expires: cookieExpires\n });\n });\n }\n })\n }\n\n render() {\n const classes = {\n \"stzh-toastbar\": true,\n };\n\n return (\n <Host>\n <div class={classes}>\n <slot onSlotchange={this.handleSlotchange}></slot>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -604,26 +604,6 @@ const toFiniteNumber = (value, defaultValue) => {
604
604
  return value != null && Number.isFinite(value = +value) ? value : defaultValue;
605
605
  };
606
606
 
607
- const ALPHA = 'abcdefghijklmnopqrstuvwxyz';
608
-
609
- const DIGIT = '0123456789';
610
-
611
- const ALPHABET = {
612
- DIGIT,
613
- ALPHA,
614
- ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT
615
- };
616
-
617
- const generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {
618
- let str = '';
619
- const {length} = alphabet;
620
- while (size--) {
621
- str += alphabet[Math.random() * length|0];
622
- }
623
-
624
- return str;
625
- };
626
-
627
607
  /**
628
608
  * If the thing is a FormData object, return true, otherwise return false.
629
609
  *
@@ -751,8 +731,6 @@ const utils$1 = {
751
731
  findKey,
752
732
  global: _global,
753
733
  isContextDefined,
754
- ALPHABET,
755
- generateString,
756
734
  isSpecCompliantForm,
757
735
  toJSONObject,
758
736
  isAsyncFn,
@@ -1149,7 +1127,7 @@ function encode(val) {
1149
1127
  *
1150
1128
  * @param {string} url The base of the url (e.g., http://www.google.com)
1151
1129
  * @param {object} [params] The params to be appended
1152
- * @param {?object} options
1130
+ * @param {?(object|Function)} options
1153
1131
  *
1154
1132
  * @returns {string} The formatted url
1155
1133
  */
@@ -1161,6 +1139,12 @@ function buildURL(url, params, options) {
1161
1139
 
1162
1140
  const _encode = options && options.encode || encode;
1163
1141
 
1142
+ if (utils$1.isFunction(options)) {
1143
+ options = {
1144
+ serialize: options
1145
+ };
1146
+ }
1147
+
1164
1148
  const serializeFn = options && options.serialize;
1165
1149
 
1166
1150
  let serializedParams;
@@ -2143,68 +2127,18 @@ const progressEventDecorator = (total, throttled) => {
2143
2127
 
2144
2128
  const asyncDecorator = (fn) => (...args) => utils$1.asap(() => fn(...args));
2145
2129
 
2146
- const isURLSameOrigin = platform.hasStandardBrowserEnv ?
2147
-
2148
- // Standard browser envs have full support of the APIs needed to test
2149
- // whether the request URL is of the same origin as current location.
2150
- (function standardBrowserEnv() {
2151
- const msie = platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent);
2152
- const urlParsingNode = document.createElement('a');
2153
- let originURL;
2154
-
2155
- /**
2156
- * Parse a URL to discover its components
2157
- *
2158
- * @param {String} url The URL to be parsed
2159
- * @returns {Object}
2160
- */
2161
- function resolveURL(url) {
2162
- let href = url;
2163
-
2164
- if (msie) {
2165
- // IE needs attribute set twice to normalize properties
2166
- urlParsingNode.setAttribute('href', href);
2167
- href = urlParsingNode.href;
2168
- }
2169
-
2170
- urlParsingNode.setAttribute('href', href);
2171
-
2172
- // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils
2173
- return {
2174
- href: urlParsingNode.href,
2175
- protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',
2176
- host: urlParsingNode.host,
2177
- search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '',
2178
- hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',
2179
- hostname: urlParsingNode.hostname,
2180
- port: urlParsingNode.port,
2181
- pathname: (urlParsingNode.pathname.charAt(0) === '/') ?
2182
- urlParsingNode.pathname :
2183
- '/' + urlParsingNode.pathname
2184
- };
2185
- }
2186
-
2187
- originURL = resolveURL(window.location.href);
2130
+ const isURLSameOrigin = platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {
2131
+ url = new URL(url, platform.origin);
2188
2132
 
2189
- /**
2190
- * Determine if a URL shares the same origin as the current location
2191
- *
2192
- * @param {String} requestURL The URL to test
2193
- * @returns {boolean} True if URL shares the same origin, otherwise false
2194
- */
2195
- return function isURLSameOrigin(requestURL) {
2196
- const parsed = (utils$1.isString(requestURL)) ? resolveURL(requestURL) : requestURL;
2197
- return (parsed.protocol === originURL.protocol &&
2198
- parsed.host === originURL.host);
2199
- };
2200
- })() :
2201
-
2202
- // Non standard browser envs (web workers, react-native) lack needed support.
2203
- (function nonStandardBrowserEnv() {
2204
- return function isURLSameOrigin() {
2205
- return true;
2206
- };
2207
- })();
2133
+ return (
2134
+ origin.protocol === url.protocol &&
2135
+ origin.host === url.host &&
2136
+ (isMSIE || origin.port === url.port)
2137
+ );
2138
+ })(
2139
+ new URL(platform.origin),
2140
+ platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)
2141
+ ) : () => true;
2208
2142
 
2209
2143
  const cookies = platform.hasStandardBrowserEnv ?
2210
2144
 
@@ -2283,8 +2217,9 @@ function combineURLs(baseURL, relativeURL) {
2283
2217
  *
2284
2218
  * @returns {string} The combined full path
2285
2219
  */
2286
- function buildFullPath(baseURL, requestedURL) {
2287
- if (baseURL && !isAbsoluteURL(requestedURL)) {
2220
+ function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {
2221
+ let isRelativeUrl = !isAbsoluteURL(requestedURL);
2222
+ if (baseURL && isRelativeUrl || allowAbsoluteUrls == false) {
2288
2223
  return combineURLs(baseURL, requestedURL);
2289
2224
  }
2290
2225
  return requestedURL;
@@ -2306,7 +2241,7 @@ function mergeConfig(config1, config2) {
2306
2241
  config2 = config2 || {};
2307
2242
  const config = {};
2308
2243
 
2309
- function getMergedValue(target, source, caseless) {
2244
+ function getMergedValue(target, source, prop, caseless) {
2310
2245
  if (utils$1.isPlainObject(target) && utils$1.isPlainObject(source)) {
2311
2246
  return utils$1.merge.call({caseless}, target, source);
2312
2247
  } else if (utils$1.isPlainObject(source)) {
@@ -2318,11 +2253,11 @@ function mergeConfig(config1, config2) {
2318
2253
  }
2319
2254
 
2320
2255
  // eslint-disable-next-line consistent-return
2321
- function mergeDeepProperties(a, b, caseless) {
2256
+ function mergeDeepProperties(a, b, prop , caseless) {
2322
2257
  if (!utils$1.isUndefined(b)) {
2323
- return getMergedValue(a, b, caseless);
2258
+ return getMergedValue(a, b, prop , caseless);
2324
2259
  } else if (!utils$1.isUndefined(a)) {
2325
- return getMergedValue(undefined, a, caseless);
2260
+ return getMergedValue(undefined, a, prop , caseless);
2326
2261
  }
2327
2262
  }
2328
2263
 
@@ -2380,7 +2315,7 @@ function mergeConfig(config1, config2) {
2380
2315
  socketPath: defaultToConfig2,
2381
2316
  responseEncoding: defaultToConfig2,
2382
2317
  validateStatus: mergeDirectKeys,
2383
- headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)
2318
+ headers: (a, b , prop) => mergeDeepProperties(headersToObject(a), headersToObject(b),prop, true)
2384
2319
  };
2385
2320
 
2386
2321
  utils$1.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {
@@ -3122,7 +3057,7 @@ function dispatchRequest(config) {
3122
3057
  });
3123
3058
  }
3124
3059
 
3125
- const VERSION = "1.7.7";
3060
+ const VERSION = "1.8.1";
3126
3061
 
3127
3062
  const validators$1 = {};
3128
3063
 
@@ -3173,6 +3108,14 @@ validators$1.transitional = function transitional(validator, version, message) {
3173
3108
  };
3174
3109
  };
3175
3110
 
3111
+ validators$1.spelling = function spelling(correctSpelling) {
3112
+ return (value, opt) => {
3113
+ // eslint-disable-next-line no-console
3114
+ console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);
3115
+ return true;
3116
+ }
3117
+ };
3118
+
3176
3119
  /**
3177
3120
  * Assert object's properties type
3178
3121
  *
@@ -3242,9 +3185,9 @@ class Axios {
3242
3185
  return await this._request(configOrUrl, config);
3243
3186
  } catch (err) {
3244
3187
  if (err instanceof Error) {
3245
- let dummy;
3188
+ let dummy = {};
3246
3189
 
3247
- Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());
3190
+ Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());
3248
3191
 
3249
3192
  // slice off the Error: ... line
3250
3193
  const stack = dummy.stack ? dummy.stack.replace(/^.+\n/, '') : '';
@@ -3299,6 +3242,18 @@ class Axios {
3299
3242
  }
3300
3243
  }
3301
3244
 
3245
+ // Set config.allowAbsoluteUrls
3246
+ if (config.allowAbsoluteUrls !== undefined) ; else if (this.defaults.allowAbsoluteUrls !== undefined) {
3247
+ config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;
3248
+ } else {
3249
+ config.allowAbsoluteUrls = true;
3250
+ }
3251
+
3252
+ validator.assertOptions(config, {
3253
+ baseUrl: validators.spelling('baseURL'),
3254
+ withXsrfToken: validators.spelling('withXSRFToken')
3255
+ }, true);
3256
+
3302
3257
  // Set config.method
3303
3258
  config.method = (config.method || this.defaults.method || 'get').toLowerCase();
3304
3259
 
@@ -3389,7 +3344,7 @@ class Axios {
3389
3344
 
3390
3345
  getUri(config) {
3391
3346
  config = mergeConfig(this.defaults, config);
3392
- const fullPath = buildFullPath(config.baseURL, config.url);
3347
+ const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);
3393
3348
  return buildURL(fullPath, config.params, config.paramsSerializer);
3394
3349
  }
3395
3350
  }
@@ -3734,4 +3689,4 @@ axios.default = axios;
3734
3689
 
3735
3690
  export { axios as a };
3736
3691
 
3737
- //# sourceMappingURL=p-16892790.js.map
3692
+ //# sourceMappingURL=p-345a1e99.js.map