@solid-design-system/components 5.15.13 → 5.16.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 (705) hide show
  1. package/cdn/chunks/chunk.2PZOUYOE.js +1 -0
  2. package/cdn/chunks/{chunk.CODHT433.js → chunk.3ESZ3WNH.js} +1 -1
  3. package/cdn/chunks/{chunk.CWOKJQSQ.js → chunk.3W7E4S74.js} +1 -1
  4. package/cdn/chunks/{chunk.K7JNBY7N.js → chunk.4RDRTX5J.js} +1 -1
  5. package/cdn/chunks/{chunk.HX23UDYZ.js → chunk.4VSX7CKT.js} +1 -1
  6. package/cdn/chunks/{chunk.UXY3AL7C.js → chunk.4XAR32BD.js} +1 -1
  7. package/cdn/chunks/{chunk.CVNGM52W.js → chunk.4XYCXFIF.js} +1 -1
  8. package/cdn/chunks/{chunk.TL3K6WJI.js → chunk.5CX7ARQI.js} +1 -1
  9. package/cdn/chunks/{chunk.O4L5OULX.js → chunk.5DMZICSE.js} +1 -1
  10. package/cdn/chunks/{chunk.XEK5QKES.js → chunk.5FDFV46A.js} +1 -1
  11. package/cdn/chunks/{chunk.EGDPRSOF.js → chunk.5L2V6LAR.js} +1 -1
  12. package/cdn/chunks/chunk.635MGLIZ.js +1 -0
  13. package/cdn/chunks/{chunk.2KRS2HQF.js → chunk.6RNF7GSD.js} +1 -1
  14. package/cdn/chunks/{chunk.SGXM6Y2P.js → chunk.6ZGYHAEF.js} +1 -1
  15. package/cdn/chunks/{chunk.2YG34O7F.js → chunk.7MZ6EH36.js} +1 -1
  16. package/cdn/chunks/chunk.AIX2OQWK.js +1 -0
  17. package/cdn/chunks/{chunk.4RHXHQ7H.js → chunk.APG63PPE.js} +1 -1
  18. package/cdn/chunks/{chunk.FAPJVEMZ.js → chunk.B6WGHPWV.js} +1 -1
  19. package/cdn/chunks/{chunk.KOERGSAL.js → chunk.BGUTJQ53.js} +1 -1
  20. package/cdn/chunks/chunk.CIAY7P3F.js +1 -0
  21. package/cdn/chunks/{chunk.FSATHYQT.js → chunk.CIHK765X.js} +1 -1
  22. package/cdn/chunks/{chunk.ALSSHD3Q.js → chunk.CRNFW6EC.js} +1 -1
  23. package/cdn/chunks/{chunk.VFOVKA46.js → chunk.CT564FJN.js} +1 -1
  24. package/cdn/chunks/{chunk.YFGMDOCE.js → chunk.EIAAKAOJ.js} +1 -1
  25. package/cdn/chunks/{chunk.ET34FEK2.js → chunk.ESUSD633.js} +1 -1
  26. package/cdn/chunks/{chunk.ARYMSO7N.js → chunk.EVJSO3XI.js} +1 -1
  27. package/cdn/chunks/{chunk.35PQ7S2O.js → chunk.FBN2Z2EX.js} +1 -1
  28. package/cdn/chunks/{chunk.TUU3QZXR.js → chunk.GHTBLDQN.js} +1 -1
  29. package/cdn/chunks/{chunk.GEOVNECI.js → chunk.GRUVWXWT.js} +1 -1
  30. package/cdn/chunks/chunk.H2WXPNXQ.js +25 -0
  31. package/cdn/chunks/{chunk.RXMJRA5Q.js → chunk.ICG75KLF.js} +1 -1
  32. package/cdn/chunks/{chunk.UBEW2PY5.js → chunk.IKTF6FZI.js} +1 -1
  33. package/cdn/chunks/{chunk.PZC43SIH.js → chunk.K4D7L775.js} +1 -1
  34. package/cdn/chunks/{chunk.BZJ7O5ES.js → chunk.L3H6KE6C.js} +1 -1
  35. package/cdn/chunks/{chunk.Y7NVH75J.js → chunk.L6MCOH7T.js} +1 -1
  36. package/cdn/chunks/{chunk.SJLZKEAQ.js → chunk.LFJ3DAYO.js} +1 -1
  37. package/cdn/chunks/{chunk.ISZAAZUB.js → chunk.LLAJVJKR.js} +1 -1
  38. package/cdn/chunks/{chunk.QQ5HSBA6.js → chunk.LXHLWQH7.js} +1 -1
  39. package/cdn/chunks/{chunk.LUO6B5O2.js → chunk.MHPHKNZ5.js} +13 -3
  40. package/cdn/chunks/{chunk.SX2XEIQL.js → chunk.MQOTSNTG.js} +1 -1
  41. package/cdn/chunks/{chunk.JXQJUYEC.js → chunk.MRS22XQ4.js} +1 -1
  42. package/cdn/chunks/{chunk.3UAOIDF2.js → chunk.MWGT5EZP.js} +1 -1
  43. package/cdn/chunks/{chunk.3JOVDAJX.js → chunk.O3YP2BFR.js} +1 -1
  44. package/cdn/chunks/{chunk.2UNWLMKE.js → chunk.PAJL6SPD.js} +1 -1
  45. package/cdn/chunks/{chunk.MRAHMGRF.js → chunk.PFNXSCTA.js} +1 -1
  46. package/cdn/chunks/{chunk.OG46JDG7.js → chunk.PWANZ6S6.js} +1 -1
  47. package/cdn/chunks/{chunk.Y7AL7I2Z.js → chunk.PWTHZTXJ.js} +1 -1
  48. package/cdn/chunks/{chunk.P6QOQEIF.js → chunk.Q2DPVABQ.js} +1 -1
  49. package/cdn/chunks/{chunk.5CAMYQMD.js → chunk.QS3D3RGF.js} +1 -1
  50. package/cdn/chunks/{chunk.ZNWCIW62.js → chunk.QTMDJYVH.js} +1 -1
  51. package/cdn/chunks/{chunk.JCU3EXPE.js → chunk.RPJK4MP2.js} +1 -1
  52. package/cdn/chunks/{chunk.R3WH26GI.js → chunk.SMMTYBDL.js} +1 -1
  53. package/cdn/chunks/{chunk.5HQBAJ66.js → chunk.SMZOM26P.js} +1 -1
  54. package/cdn/chunks/{chunk.ZQBF4WJL.js → chunk.T4KDM5ZJ.js} +1 -1
  55. package/cdn/chunks/{chunk.ZA3AQWM7.js → chunk.TGKADWFV.js} +1 -1
  56. package/cdn/chunks/{chunk.AEVPJRUQ.js → chunk.TLLR2QA5.js} +1 -1
  57. package/cdn/chunks/{chunk.IWPBSEAW.js → chunk.TTONV6RN.js} +1 -1
  58. package/cdn/chunks/{chunk.CJ53PV6X.js → chunk.VGJLXC4F.js} +1 -1
  59. package/cdn/chunks/{chunk.YHHVM7YY.js → chunk.VHPLNFVZ.js} +1 -1
  60. package/cdn/chunks/{chunk.DKN2DIAH.js → chunk.VJ2MHYFS.js} +1 -1
  61. package/cdn/chunks/{chunk.R5PJYTZQ.js → chunk.XGWFWKYC.js} +1 -1
  62. package/cdn/chunks/{chunk.BFDYLZMG.js → chunk.Y65AGI4J.js} +1 -1
  63. package/cdn/chunks/{chunk.AVUZZRFT.js → chunk.Z6XZU4JK.js} +1 -1
  64. package/cdn/chunks/{chunk.HYCWRAJB.js → chunk.ZBGSUJVI.js} +1 -1
  65. package/cdn/components/accordion/accordion.js +1 -1
  66. package/cdn/components/accordion-group/accordion-group.js +1 -1
  67. package/cdn/components/animation/animation.js +1 -1
  68. package/cdn/components/audio/audio.js +1 -1
  69. package/cdn/components/badge/badge.js +1 -1
  70. package/cdn/components/brandshape/brandshape.js +1 -1
  71. package/cdn/components/breadcrumb/breadcrumb.js +1 -1
  72. package/cdn/components/breadcrumb-item/breadcrumb-item.js +1 -1
  73. package/cdn/components/button/button.js +1 -1
  74. package/cdn/components/button-group/button-group.js +1 -1
  75. package/cdn/components/carousel/carousel.js +1 -1
  76. package/cdn/components/carousel-item/carousel-item.js +1 -1
  77. package/cdn/components/checkbox/checkbox.js +1 -1
  78. package/cdn/components/checkbox-group/checkbox-group.js +1 -1
  79. package/cdn/components/combobox/combobox.js +1 -1
  80. package/cdn/components/datepicker/datepicker.d.ts +119 -0
  81. package/cdn/components/datepicker/datepicker.js +1 -0
  82. package/cdn/components/dialog/dialog.js +1 -1
  83. package/cdn/components/divider/divider.js +1 -1
  84. package/cdn/components/drawer/drawer.js +1 -1
  85. package/cdn/components/dropdown/dropdown.js +1 -1
  86. package/cdn/components/expandable/expandable.js +1 -1
  87. package/cdn/components/flipcard/flipcard.js +1 -1
  88. package/cdn/components/header/header.js +1 -1
  89. package/cdn/components/icon/icon.js +1 -1
  90. package/cdn/components/icon/library.internal.d.ts +4 -0
  91. package/cdn/components/icon/library.internal.js +1 -1
  92. package/cdn/components/icon/library.js +1 -1
  93. package/cdn/components/include/include.js +1 -1
  94. package/cdn/components/input/input.js +1 -1
  95. package/cdn/components/link/link.js +1 -1
  96. package/cdn/components/loader/loader.js +1 -1
  97. package/cdn/components/map-marker/map-marker.js +1 -1
  98. package/cdn/components/menu/menu.js +1 -1
  99. package/cdn/components/menu-item/menu-item.js +1 -1
  100. package/cdn/components/navigation-item/navigation-item.js +1 -1
  101. package/cdn/components/notification/notification.js +1 -1
  102. package/cdn/components/optgroup/optgroup.js +1 -1
  103. package/cdn/components/option/option.js +1 -1
  104. package/cdn/components/popup/popup.js +1 -1
  105. package/cdn/components/quickfact/quickfact.js +1 -1
  106. package/cdn/components/radio/radio.js +1 -1
  107. package/cdn/components/radio-button/radio-button.js +1 -1
  108. package/cdn/components/radio-group/radio-group.js +1 -1
  109. package/cdn/components/range/range.js +1 -1
  110. package/cdn/components/range-tick/range-tick.js +1 -1
  111. package/cdn/components/scrollable/scrollable.js +1 -1
  112. package/cdn/components/select/select.js +1 -1
  113. package/cdn/components/spinner/spinner.js +1 -1
  114. package/cdn/components/step/step.js +1 -1
  115. package/cdn/components/step-group/step-group.js +1 -1
  116. package/cdn/components/switch/switch.js +1 -1
  117. package/cdn/components/tab/tab.js +1 -1
  118. package/cdn/components/tab-group/tab-group.js +1 -1
  119. package/cdn/components/tab-panel/tab-panel.js +1 -1
  120. package/cdn/components/tag/tag.js +1 -1
  121. package/cdn/components/teaser/teaser.js +1 -1
  122. package/cdn/components/teaser-media/teaser-media.js +1 -1
  123. package/cdn/components/textarea/textarea.js +1 -1
  124. package/cdn/components/tooltip/tooltip.js +1 -1
  125. package/cdn/components/video/video.js +1 -1
  126. package/cdn/custom-elements.json +779 -2
  127. package/cdn/solid-components.bundle.js +29 -19
  128. package/cdn/solid-components.d.ts +1 -0
  129. package/cdn/solid-components.iife.js +29 -19
  130. package/cdn/solid-components.js +1 -1
  131. package/cdn/translations/de.js +1 -1
  132. package/cdn/translations/en.js +1 -1
  133. package/cdn/utilities/autocomplete-config.js +1 -1
  134. package/cdn/utilities/date.d.ts +9 -0
  135. package/cdn/utilities/date.js +1 -0
  136. package/cdn/utilities/icon-library.js +1 -1
  137. package/cdn/utilities/localize.d.ts +14 -1
  138. package/cdn/utilities/localize.js +1 -1
  139. package/cdn/vscode.html-custom-data.json +133 -0
  140. package/cdn/web-types.json +373 -1
  141. package/cdn-versioned/chunks/chunk.2PZOUYOE.js +1 -0
  142. package/cdn-versioned/chunks/{chunk.CODHT433.js → chunk.3ESZ3WNH.js} +1 -1
  143. package/cdn-versioned/chunks/{chunk.CWOKJQSQ.js → chunk.3W7E4S74.js} +1 -1
  144. package/cdn-versioned/chunks/chunk.4RDRTX5J.js +1 -0
  145. package/cdn-versioned/chunks/{chunk.HX23UDYZ.js → chunk.4VSX7CKT.js} +1 -1
  146. package/cdn-versioned/chunks/{chunk.UXY3AL7C.js → chunk.4XAR32BD.js} +1 -1
  147. package/cdn-versioned/chunks/chunk.4XYCXFIF.js +1 -0
  148. package/cdn-versioned/chunks/{chunk.TL3K6WJI.js → chunk.5CX7ARQI.js} +1 -1
  149. package/cdn-versioned/chunks/{chunk.O4L5OULX.js → chunk.5DMZICSE.js} +1 -1
  150. package/cdn-versioned/chunks/{chunk.XEK5QKES.js → chunk.5FDFV46A.js} +1 -1
  151. package/cdn-versioned/chunks/{chunk.EGDPRSOF.js → chunk.5L2V6LAR.js} +2 -2
  152. package/cdn-versioned/chunks/chunk.635MGLIZ.js +1 -0
  153. package/cdn-versioned/chunks/{chunk.2KRS2HQF.js → chunk.6RNF7GSD.js} +1 -1
  154. package/cdn-versioned/chunks/chunk.6ZGYHAEF.js +1 -0
  155. package/cdn-versioned/chunks/chunk.7MZ6EH36.js +1 -0
  156. package/cdn-versioned/chunks/chunk.AIX2OQWK.js +1 -0
  157. package/cdn-versioned/chunks/{chunk.4RHXHQ7H.js → chunk.APG63PPE.js} +2 -2
  158. package/cdn-versioned/chunks/{chunk.FAPJVEMZ.js → chunk.B6WGHPWV.js} +1 -1
  159. package/cdn-versioned/chunks/chunk.BGUTJQ53.js +1 -0
  160. package/cdn-versioned/chunks/chunk.CEVVDV52.js +1 -1
  161. package/cdn-versioned/chunks/chunk.CIAY7P3F.js +1 -0
  162. package/cdn-versioned/chunks/{chunk.FSATHYQT.js → chunk.CIHK765X.js} +1 -1
  163. package/cdn-versioned/chunks/chunk.CRNFW6EC.js +1 -0
  164. package/cdn-versioned/chunks/chunk.CT564FJN.js +1 -0
  165. package/cdn-versioned/chunks/{chunk.YFGMDOCE.js → chunk.EIAAKAOJ.js} +1 -1
  166. package/cdn-versioned/chunks/chunk.ESUSD633.js +3 -0
  167. package/cdn-versioned/chunks/{chunk.ARYMSO7N.js → chunk.EVJSO3XI.js} +1 -1
  168. package/cdn-versioned/chunks/chunk.FBN2Z2EX.js +1 -0
  169. package/cdn-versioned/chunks/{chunk.TUU3QZXR.js → chunk.GHTBLDQN.js} +2 -2
  170. package/cdn-versioned/chunks/{chunk.GEOVNECI.js → chunk.GRUVWXWT.js} +1 -1
  171. package/cdn-versioned/chunks/chunk.H2WXPNXQ.js +25 -0
  172. package/cdn-versioned/chunks/chunk.HJ4O4XQA.js +1 -1
  173. package/cdn-versioned/chunks/{chunk.RXMJRA5Q.js → chunk.ICG75KLF.js} +1 -1
  174. package/cdn-versioned/chunks/{chunk.UBEW2PY5.js → chunk.IKTF6FZI.js} +1 -1
  175. package/cdn-versioned/chunks/chunk.K4D7L775.js +1 -0
  176. package/cdn-versioned/chunks/{chunk.BZJ7O5ES.js → chunk.L3H6KE6C.js} +1 -1
  177. package/cdn-versioned/chunks/{chunk.Y7NVH75J.js → chunk.L6MCOH7T.js} +1 -1
  178. package/cdn-versioned/chunks/{chunk.SJLZKEAQ.js → chunk.LFJ3DAYO.js} +1 -1
  179. package/cdn-versioned/chunks/{chunk.ISZAAZUB.js → chunk.LLAJVJKR.js} +1 -1
  180. package/cdn-versioned/chunks/{chunk.QQ5HSBA6.js → chunk.LXHLWQH7.js} +1 -1
  181. package/cdn-versioned/chunks/{chunk.LUO6B5O2.js → chunk.MHPHKNZ5.js} +13 -3
  182. package/cdn-versioned/chunks/{chunk.SX2XEIQL.js → chunk.MQOTSNTG.js} +1 -1
  183. package/cdn-versioned/chunks/{chunk.JXQJUYEC.js → chunk.MRS22XQ4.js} +1 -1
  184. package/cdn-versioned/chunks/chunk.MWGT5EZP.js +11 -0
  185. package/cdn-versioned/chunks/chunk.NRBNWX7R.js +1 -1
  186. package/cdn-versioned/chunks/chunk.O3YP2BFR.js +1 -0
  187. package/cdn-versioned/chunks/chunk.PAJL6SPD.js +1 -0
  188. package/cdn-versioned/chunks/{chunk.MRAHMGRF.js → chunk.PFNXSCTA.js} +1 -1
  189. package/cdn-versioned/chunks/{chunk.OG46JDG7.js → chunk.PWANZ6S6.js} +2 -2
  190. package/cdn-versioned/chunks/chunk.PWTHZTXJ.js +1 -0
  191. package/cdn-versioned/chunks/{chunk.P6QOQEIF.js → chunk.Q2DPVABQ.js} +1 -1
  192. package/cdn-versioned/chunks/chunk.QS3D3RGF.js +1 -0
  193. package/cdn-versioned/chunks/{chunk.ZNWCIW62.js → chunk.QTMDJYVH.js} +1 -1
  194. package/cdn-versioned/chunks/{chunk.JCU3EXPE.js → chunk.RPJK4MP2.js} +1 -1
  195. package/cdn-versioned/chunks/{chunk.R3WH26GI.js → chunk.SMMTYBDL.js} +1 -1
  196. package/cdn-versioned/chunks/chunk.SMZOM26P.js +1 -0
  197. package/cdn-versioned/chunks/{chunk.ZQBF4WJL.js → chunk.T4KDM5ZJ.js} +1 -1
  198. package/cdn-versioned/chunks/chunk.TGKADWFV.js +11 -0
  199. package/cdn-versioned/chunks/chunk.TLLR2QA5.js +1 -0
  200. package/cdn-versioned/chunks/chunk.TTONV6RN.js +1 -0
  201. package/cdn-versioned/chunks/chunk.VGJLXC4F.js +1 -0
  202. package/cdn-versioned/chunks/{chunk.YHHVM7YY.js → chunk.VHPLNFVZ.js} +1 -1
  203. package/cdn-versioned/chunks/chunk.VJ2MHYFS.js +1 -0
  204. package/cdn-versioned/chunks/chunk.W7A3TU2Z.js +1 -1
  205. package/cdn-versioned/chunks/chunk.XGWFWKYC.js +11 -0
  206. package/cdn-versioned/chunks/{chunk.BFDYLZMG.js → chunk.Y65AGI4J.js} +1 -1
  207. package/cdn-versioned/chunks/{chunk.AVUZZRFT.js → chunk.Z6XZU4JK.js} +1 -1
  208. package/cdn-versioned/chunks/{chunk.HYCWRAJB.js → chunk.ZBGSUJVI.js} +1 -1
  209. package/cdn-versioned/components/accordion/accordion.d.ts +1 -1
  210. package/cdn-versioned/components/accordion/accordion.js +1 -1
  211. package/cdn-versioned/components/accordion-group/accordion-group.d.ts +1 -1
  212. package/cdn-versioned/components/accordion-group/accordion-group.js +1 -1
  213. package/cdn-versioned/components/animation/animation.d.ts +1 -1
  214. package/cdn-versioned/components/animation/animation.js +1 -1
  215. package/cdn-versioned/components/audio/audio.d.ts +1 -1
  216. package/cdn-versioned/components/audio/audio.js +1 -1
  217. package/cdn-versioned/components/badge/badge.d.ts +1 -1
  218. package/cdn-versioned/components/badge/badge.js +1 -1
  219. package/cdn-versioned/components/brandshape/brandshape.d.ts +1 -1
  220. package/cdn-versioned/components/brandshape/brandshape.js +1 -1
  221. package/cdn-versioned/components/breadcrumb/breadcrumb.d.ts +1 -1
  222. package/cdn-versioned/components/breadcrumb/breadcrumb.js +1 -1
  223. package/cdn-versioned/components/breadcrumb-item/breadcrumb-item.d.ts +1 -1
  224. package/cdn-versioned/components/breadcrumb-item/breadcrumb-item.js +1 -1
  225. package/cdn-versioned/components/button/button.d.ts +1 -1
  226. package/cdn-versioned/components/button/button.js +1 -1
  227. package/cdn-versioned/components/button-group/button-group.d.ts +1 -1
  228. package/cdn-versioned/components/button-group/button-group.js +1 -1
  229. package/cdn-versioned/components/carousel/carousel.d.ts +1 -1
  230. package/cdn-versioned/components/carousel/carousel.js +1 -1
  231. package/cdn-versioned/components/carousel-item/carousel-item.d.ts +1 -1
  232. package/cdn-versioned/components/carousel-item/carousel-item.js +1 -1
  233. package/cdn-versioned/components/checkbox/checkbox.d.ts +1 -1
  234. package/cdn-versioned/components/checkbox/checkbox.js +1 -1
  235. package/cdn-versioned/components/checkbox-group/checkbox-group.d.ts +1 -1
  236. package/cdn-versioned/components/checkbox-group/checkbox-group.js +1 -1
  237. package/cdn-versioned/components/combobox/combobox.d.ts +1 -1
  238. package/cdn-versioned/components/combobox/combobox.js +1 -1
  239. package/cdn-versioned/components/datepicker/datepicker.d.ts +119 -0
  240. package/cdn-versioned/components/datepicker/datepicker.js +1 -0
  241. package/cdn-versioned/components/dialog/dialog.d.ts +1 -1
  242. package/cdn-versioned/components/dialog/dialog.js +1 -1
  243. package/cdn-versioned/components/divider/divider.d.ts +1 -1
  244. package/cdn-versioned/components/divider/divider.js +1 -1
  245. package/cdn-versioned/components/drawer/drawer.d.ts +1 -1
  246. package/cdn-versioned/components/drawer/drawer.js +1 -1
  247. package/cdn-versioned/components/dropdown/dropdown.d.ts +1 -1
  248. package/cdn-versioned/components/dropdown/dropdown.js +1 -1
  249. package/cdn-versioned/components/expandable/expandable.d.ts +1 -1
  250. package/cdn-versioned/components/expandable/expandable.js +1 -1
  251. package/cdn-versioned/components/flipcard/flipcard.d.ts +1 -1
  252. package/cdn-versioned/components/flipcard/flipcard.js +1 -1
  253. package/cdn-versioned/components/header/header.d.ts +1 -1
  254. package/cdn-versioned/components/header/header.js +1 -1
  255. package/cdn-versioned/components/icon/icon.d.ts +1 -1
  256. package/cdn-versioned/components/icon/icon.js +1 -1
  257. package/cdn-versioned/components/icon/library.internal.d.ts +4 -0
  258. package/cdn-versioned/components/icon/library.internal.js +1 -1
  259. package/cdn-versioned/components/icon/library.js +1 -1
  260. package/cdn-versioned/components/include/include.d.ts +1 -1
  261. package/cdn-versioned/components/include/include.js +1 -1
  262. package/cdn-versioned/components/input/input.d.ts +1 -1
  263. package/cdn-versioned/components/input/input.js +1 -1
  264. package/cdn-versioned/components/link/link.d.ts +1 -1
  265. package/cdn-versioned/components/link/link.js +1 -1
  266. package/cdn-versioned/components/loader/loader.d.ts +1 -1
  267. package/cdn-versioned/components/loader/loader.js +1 -1
  268. package/cdn-versioned/components/map-marker/map-marker.d.ts +1 -1
  269. package/cdn-versioned/components/map-marker/map-marker.js +1 -1
  270. package/cdn-versioned/components/menu/menu.d.ts +1 -1
  271. package/cdn-versioned/components/menu/menu.js +1 -1
  272. package/cdn-versioned/components/menu-item/menu-item.d.ts +1 -1
  273. package/cdn-versioned/components/menu-item/menu-item.js +1 -1
  274. package/cdn-versioned/components/navigation-item/navigation-item.d.ts +1 -1
  275. package/cdn-versioned/components/navigation-item/navigation-item.js +1 -1
  276. package/cdn-versioned/components/notification/notification.d.ts +1 -1
  277. package/cdn-versioned/components/notification/notification.js +1 -1
  278. package/cdn-versioned/components/optgroup/optgroup.d.ts +1 -1
  279. package/cdn-versioned/components/optgroup/optgroup.js +1 -1
  280. package/cdn-versioned/components/option/option.d.ts +1 -1
  281. package/cdn-versioned/components/option/option.js +1 -1
  282. package/cdn-versioned/components/popup/popup.d.ts +1 -1
  283. package/cdn-versioned/components/popup/popup.js +1 -1
  284. package/cdn-versioned/components/quickfact/quickfact.d.ts +1 -1
  285. package/cdn-versioned/components/quickfact/quickfact.js +1 -1
  286. package/cdn-versioned/components/radio/radio.d.ts +1 -1
  287. package/cdn-versioned/components/radio/radio.js +1 -1
  288. package/cdn-versioned/components/radio-button/radio-button.d.ts +1 -1
  289. package/cdn-versioned/components/radio-button/radio-button.js +1 -1
  290. package/cdn-versioned/components/radio-group/radio-group.d.ts +1 -1
  291. package/cdn-versioned/components/radio-group/radio-group.js +1 -1
  292. package/cdn-versioned/components/range/range.d.ts +1 -1
  293. package/cdn-versioned/components/range/range.js +1 -1
  294. package/cdn-versioned/components/range-tick/range-tick.d.ts +1 -1
  295. package/cdn-versioned/components/range-tick/range-tick.js +1 -1
  296. package/cdn-versioned/components/scrollable/scrollable.d.ts +1 -1
  297. package/cdn-versioned/components/scrollable/scrollable.js +1 -1
  298. package/cdn-versioned/components/select/select.d.ts +1 -1
  299. package/cdn-versioned/components/select/select.js +1 -1
  300. package/cdn-versioned/components/spinner/spinner.d.ts +1 -1
  301. package/cdn-versioned/components/spinner/spinner.js +1 -1
  302. package/cdn-versioned/components/step/step.d.ts +1 -1
  303. package/cdn-versioned/components/step/step.js +1 -1
  304. package/cdn-versioned/components/step-group/step-group.d.ts +1 -1
  305. package/cdn-versioned/components/step-group/step-group.js +1 -1
  306. package/cdn-versioned/components/switch/switch.d.ts +1 -1
  307. package/cdn-versioned/components/switch/switch.js +1 -1
  308. package/cdn-versioned/components/tab/tab.d.ts +1 -1
  309. package/cdn-versioned/components/tab/tab.js +1 -1
  310. package/cdn-versioned/components/tab-group/tab-group.d.ts +1 -1
  311. package/cdn-versioned/components/tab-group/tab-group.js +1 -1
  312. package/cdn-versioned/components/tab-panel/tab-panel.d.ts +1 -1
  313. package/cdn-versioned/components/tab-panel/tab-panel.js +1 -1
  314. package/cdn-versioned/components/tag/tag.d.ts +1 -1
  315. package/cdn-versioned/components/tag/tag.js +1 -1
  316. package/cdn-versioned/components/teaser/teaser.js +1 -1
  317. package/cdn-versioned/components/teaser-media/teaser-media.js +1 -1
  318. package/cdn-versioned/components/textarea/textarea.d.ts +1 -1
  319. package/cdn-versioned/components/textarea/textarea.js +1 -1
  320. package/cdn-versioned/components/tooltip/tooltip.d.ts +1 -1
  321. package/cdn-versioned/components/tooltip/tooltip.js +1 -1
  322. package/cdn-versioned/components/video/video.d.ts +1 -1
  323. package/cdn-versioned/components/video/video.js +1 -1
  324. package/cdn-versioned/custom-elements.json +1016 -239
  325. package/cdn-versioned/internal/form.js +3 -3
  326. package/cdn-versioned/solid-components.bundle.js +29 -19
  327. package/cdn-versioned/solid-components.css +2 -2
  328. package/cdn-versioned/solid-components.d.ts +1 -0
  329. package/cdn-versioned/solid-components.iife.js +29 -19
  330. package/cdn-versioned/solid-components.js +1 -1
  331. package/cdn-versioned/translations/de.js +1 -1
  332. package/cdn-versioned/translations/en.js +1 -1
  333. package/cdn-versioned/utilities/autocomplete-config.js +1 -1
  334. package/cdn-versioned/utilities/date.d.ts +9 -0
  335. package/cdn-versioned/utilities/date.js +1 -0
  336. package/cdn-versioned/utilities/icon-library.js +1 -1
  337. package/cdn-versioned/utilities/localize.d.ts +14 -1
  338. package/cdn-versioned/utilities/localize.js +1 -1
  339. package/cdn-versioned/vscode.html-custom-data.json +224 -91
  340. package/cdn-versioned/web-types.json +526 -154
  341. package/dist/chunks/{chunk.MBFZWG5H.js → chunk.24MGFJCN.js} +1 -1
  342. package/dist/chunks/{chunk.JM3YRKVA.js → chunk.2QFS5F7C.js} +1 -1
  343. package/dist/chunks/{chunk.DQ6G3W3V.js → chunk.37XRQIZW.js} +1 -1
  344. package/{dist-versioned/chunks/chunk.7VEM2IPR.js → dist/chunks/chunk.3S7EW72P.js} +14 -1
  345. package/dist/chunks/{chunk.QAJG6PYM.js → chunk.43XTYAXK.js} +1 -1
  346. package/dist/chunks/{chunk.5YOGUSPL.js → chunk.4DKQ5DUX.js} +1 -1
  347. package/dist/chunks/chunk.5YYD3XUK.js +1375 -0
  348. package/dist/chunks/{chunk.VMVBXZ2U.js → chunk.6OBEXEX2.js} +1 -1
  349. package/dist/chunks/{chunk.AKX7VXML.js → chunk.6UOJOJVF.js} +2 -2
  350. package/dist/chunks/{chunk.IAL4GVA4.js → chunk.7NMITUVG.js} +1 -1
  351. package/dist/chunks/{chunk.QDZS6M4T.js → chunk.AMBYSMYI.js} +1 -1
  352. package/dist/chunks/{chunk.S3BSVYPB.js → chunk.ANHOKJEV.js} +1 -1
  353. package/dist/chunks/{chunk.HOXI77KQ.js → chunk.AOIMBF2P.js} +1 -1
  354. package/dist/chunks/{chunk.HYPCYXQP.js → chunk.B4QMHIQU.js} +2 -2
  355. package/dist/chunks/{chunk.WWBNZDY7.js → chunk.CB3KJDCJ.js} +1 -1
  356. package/dist/chunks/chunk.CDM2I6O2.js +47 -0
  357. package/dist/chunks/{chunk.AKPCSVRG.js → chunk.CPHWIPH2.js} +1 -1
  358. package/dist/chunks/{chunk.RRNLIX2S.js → chunk.CRVR6VBF.js} +1 -1
  359. package/dist/chunks/{chunk.R735ROML.js → chunk.DGFZBND5.js} +1 -1
  360. package/dist/chunks/{chunk.NVXUSMMW.js → chunk.DZRWUZL3.js} +1 -1
  361. package/dist/chunks/{chunk.34OZXOJP.js → chunk.EC2EIUQN.js} +1 -1
  362. package/dist/chunks/{chunk.BUFXMACO.js → chunk.ELJG6ONZ.js} +1 -1
  363. package/dist/chunks/{chunk.4D3N4MVV.js → chunk.FBXO7EOO.js} +1 -1
  364. package/dist/chunks/{chunk.AYDMEA3C.js → chunk.G4KMETYR.js} +1 -1
  365. package/dist/chunks/{chunk.A2M7C3CD.js → chunk.G6YNGJXE.js} +1 -1
  366. package/dist/chunks/{chunk.SE4CTFYY.js → chunk.GM6L2JR4.js} +1 -1
  367. package/dist/chunks/{chunk.45BEUHRF.js → chunk.GS3K7X5A.js} +2 -2
  368. package/dist/chunks/{chunk.6ITI3HNP.js → chunk.I6JQ5KYH.js} +1 -1
  369. package/{dist-versioned/chunks/chunk.HIAKAB7R.js → dist/chunks/chunk.ID6DABAJ.js} +14 -1
  370. package/dist/chunks/{chunk.E57K3AFR.js → chunk.IE7OO2E4.js} +1 -1
  371. package/dist/chunks/{chunk.WZZP5YIS.js → chunk.II2J5YTZ.js} +1 -1
  372. package/dist/chunks/{chunk.Q44CB3ZY.js → chunk.ISE4B3UP.js} +1 -1
  373. package/dist/chunks/{chunk.DHRQZSXG.js → chunk.KBIB4MJU.js} +1 -1
  374. package/dist/chunks/{chunk.7UTPAUSQ.js → chunk.KBX2ADXN.js} +1 -1
  375. package/dist/chunks/{chunk.T2AOG5F2.js → chunk.KZKUV72U.js} +1 -1
  376. package/dist/chunks/{chunk.TIBLXIJV.js → chunk.METZLKQO.js} +1 -1
  377. package/dist/chunks/{chunk.QZBSHWMK.js → chunk.N4YJM52U.js} +1 -1
  378. package/dist/chunks/{chunk.23KFQ6DK.js → chunk.NQFBYJXY.js} +1 -1
  379. package/dist/chunks/{chunk.M5FO7PXK.js → chunk.NYNRID2W.js} +1 -1
  380. package/dist/chunks/{chunk.SDWNASDC.js → chunk.O6BPWUAI.js} +1 -1
  381. package/dist/chunks/chunk.OIQ2TZCT.js +82 -0
  382. package/dist/chunks/{chunk.IUS3S54L.js → chunk.OPE5GNB3.js} +1 -1
  383. package/dist/chunks/{chunk.UAVNEMEF.js → chunk.OVSM5TSF.js} +1 -1
  384. package/dist/chunks/{chunk.HP7WJYO4.js → chunk.PZM2MI2Z.js} +1 -1
  385. package/dist/chunks/{chunk.5SNCWTQU.js → chunk.QSQRQKYT.js} +14 -0
  386. package/dist/chunks/{chunk.6MHK4U6F.js → chunk.R3WIWFML.js} +2 -2
  387. package/dist/chunks/{chunk.PHHK74M7.js → chunk.RVAUDUOG.js} +1 -1
  388. package/dist/chunks/{chunk.RAYANOK2.js → chunk.S5NWG4DM.js} +1 -1
  389. package/dist/chunks/{chunk.SJPDNEHE.js → chunk.SRRTSVBT.js} +1 -1
  390. package/dist/chunks/{chunk.JOYITBGJ.js → chunk.TA3Q3RO5.js} +1 -1
  391. package/dist/chunks/{chunk.T6DXPJAI.js → chunk.TCY3KZFP.js} +1 -1
  392. package/dist/chunks/{chunk.PRTWW2BW.js → chunk.TJAH7CZZ.js} +1 -1
  393. package/dist/chunks/{chunk.PPVX563E.js → chunk.U4FKNEVJ.js} +1 -1
  394. package/dist/chunks/{chunk.TKJFMHFU.js → chunk.U7KIN2H4.js} +1 -1
  395. package/dist/chunks/{chunk.CFBWKOJD.js → chunk.UQ2FRZQO.js} +1 -1
  396. package/dist/chunks/{chunk.5FANE6X5.js → chunk.UVOGBJGP.js} +1 -1
  397. package/dist/chunks/{chunk.JMHQQHEP.js → chunk.UXR6K7WW.js} +1 -1
  398. package/dist/chunks/{chunk.Z2RQUXP5.js → chunk.UZJYHOUF.js} +1 -1
  399. package/dist/chunks/{chunk.TMWT3ROD.js → chunk.VYJ3FE2D.js} +1 -1
  400. package/dist/chunks/{chunk.I7VRBYGO.js → chunk.W6OLVW5U.js} +1 -1
  401. package/dist/chunks/{chunk.KVLD4JWK.js → chunk.XVU4LMYA.js} +1 -1
  402. package/dist/chunks/{chunk.JTKHYOJO.js → chunk.YCD37QIH.js} +1 -1
  403. package/dist/chunks/{chunk.PEAIITW7.js → chunk.YIYE5U7I.js} +1 -1
  404. package/dist/components/accordion/accordion.js +7 -7
  405. package/dist/components/accordion-group/accordion-group.js +8 -8
  406. package/dist/components/animation/animation.js +2 -2
  407. package/dist/components/audio/audio.js +10 -10
  408. package/dist/components/badge/badge.js +2 -2
  409. package/dist/components/brandshape/brandshape.js +2 -2
  410. package/dist/components/breadcrumb/breadcrumb.js +4 -4
  411. package/dist/components/breadcrumb-item/breadcrumb-item.js +4 -4
  412. package/dist/components/button/button.js +5 -5
  413. package/dist/components/button-group/button-group.js +2 -2
  414. package/dist/components/carousel/carousel.js +8 -8
  415. package/dist/components/carousel-item/carousel-item.js +2 -2
  416. package/dist/components/checkbox/checkbox.js +5 -5
  417. package/dist/components/checkbox-group/checkbox-group.js +5 -5
  418. package/dist/components/combobox/combobox.js +9 -9
  419. package/dist/components/datepicker/datepicker.d.ts +119 -0
  420. package/dist/components/datepicker/datepicker.js +16 -0
  421. package/dist/components/dialog/dialog.js +9 -9
  422. package/dist/components/divider/divider.js +2 -2
  423. package/dist/components/drawer/drawer.js +9 -9
  424. package/dist/components/dropdown/dropdown.js +5 -5
  425. package/dist/components/expandable/expandable.js +7 -7
  426. package/dist/components/flipcard/flipcard.js +9 -9
  427. package/dist/components/header/header.js +2 -2
  428. package/dist/components/icon/icon.js +4 -4
  429. package/dist/components/icon/library.internal.d.ts +4 -0
  430. package/dist/components/icon/library.internal.js +1 -1
  431. package/dist/components/icon/library.js +2 -2
  432. package/dist/components/include/include.js +2 -2
  433. package/dist/components/input/input.js +7 -7
  434. package/dist/components/link/link.js +2 -2
  435. package/dist/components/loader/loader.js +4 -4
  436. package/dist/components/map-marker/map-marker.js +2 -2
  437. package/dist/components/menu/menu.js +4 -4
  438. package/dist/components/menu-item/menu-item.js +2 -2
  439. package/dist/components/navigation-item/navigation-item.js +8 -8
  440. package/dist/components/notification/notification.js +9 -9
  441. package/dist/components/optgroup/optgroup.js +5 -5
  442. package/dist/components/option/option.js +5 -5
  443. package/dist/components/popup/popup.js +2 -2
  444. package/dist/components/quickfact/quickfact.js +8 -8
  445. package/dist/components/radio/radio.js +2 -2
  446. package/dist/components/radio-button/radio-button.js +2 -2
  447. package/dist/components/radio-group/radio-group.js +4 -4
  448. package/dist/components/range/range.js +4 -4
  449. package/dist/components/range-tick/range-tick.js +4 -4
  450. package/dist/components/scrollable/scrollable.js +7 -7
  451. package/dist/components/select/select.js +9 -9
  452. package/dist/components/spinner/spinner.js +4 -4
  453. package/dist/components/step/step.js +5 -5
  454. package/dist/components/step-group/step-group.js +2 -2
  455. package/dist/components/switch/switch.js +2 -2
  456. package/dist/components/tab/tab.js +4 -4
  457. package/dist/components/tab-group/tab-group.js +7 -7
  458. package/dist/components/tab-panel/tab-panel.js +2 -2
  459. package/dist/components/tag/tag.js +7 -7
  460. package/dist/components/teaser/teaser.js +2 -2
  461. package/dist/components/teaser-media/teaser-media.js +2 -2
  462. package/dist/components/textarea/textarea.js +5 -5
  463. package/dist/components/tooltip/tooltip.js +8 -8
  464. package/dist/components/video/video.js +7 -7
  465. package/dist/custom-elements.json +779 -2
  466. package/dist/solid-components.d.ts +1 -0
  467. package/dist/solid-components.js +73 -68
  468. package/dist/translations/de.js +1 -1
  469. package/dist/translations/en.js +1 -1
  470. package/dist/utilities/autocomplete-config.js +2 -2
  471. package/dist/utilities/date.d.ts +9 -0
  472. package/dist/utilities/date.js +7 -0
  473. package/dist/utilities/icon-library.js +2 -2
  474. package/dist/utilities/localize.d.ts +14 -1
  475. package/dist/utilities/localize.js +2 -2
  476. package/dist/vscode.html-custom-data.json +133 -0
  477. package/dist/web-types.json +373 -1
  478. package/dist-versioned/chunks/{chunk.MBFZWG5H.js → chunk.24MGFJCN.js} +4 -4
  479. package/dist-versioned/chunks/{chunk.JM3YRKVA.js → chunk.2QFS5F7C.js} +4 -4
  480. package/dist-versioned/chunks/{chunk.DQ6G3W3V.js → chunk.37XRQIZW.js} +3 -3
  481. package/{dist/chunks/chunk.7VEM2IPR.js → dist-versioned/chunks/chunk.3S7EW72P.js} +14 -1
  482. package/dist-versioned/chunks/{chunk.QAJG6PYM.js → chunk.43XTYAXK.js} +2 -2
  483. package/dist-versioned/chunks/{chunk.5YOGUSPL.js → chunk.4DKQ5DUX.js} +27 -27
  484. package/dist-versioned/chunks/chunk.5YYD3XUK.js +1375 -0
  485. package/dist-versioned/chunks/chunk.6DKXZWRN.js +4 -4
  486. package/dist-versioned/chunks/{chunk.VMVBXZ2U.js → chunk.6OBEXEX2.js} +2 -2
  487. package/dist-versioned/chunks/{chunk.AKX7VXML.js → chunk.6UOJOJVF.js} +8 -8
  488. package/dist-versioned/chunks/{chunk.IAL4GVA4.js → chunk.7NMITUVG.js} +6 -6
  489. package/dist-versioned/chunks/{chunk.QDZS6M4T.js → chunk.AMBYSMYI.js} +4 -4
  490. package/dist-versioned/chunks/{chunk.S3BSVYPB.js → chunk.ANHOKJEV.js} +2 -2
  491. package/dist-versioned/chunks/{chunk.HOXI77KQ.js → chunk.AOIMBF2P.js} +4 -4
  492. package/dist-versioned/chunks/{chunk.HYPCYXQP.js → chunk.B4QMHIQU.js} +3 -3
  493. package/dist-versioned/chunks/{chunk.WWBNZDY7.js → chunk.CB3KJDCJ.js} +12 -12
  494. package/dist-versioned/chunks/chunk.CDM2I6O2.js +47 -0
  495. package/dist-versioned/chunks/{chunk.AKPCSVRG.js → chunk.CPHWIPH2.js} +2 -2
  496. package/dist-versioned/chunks/{chunk.RRNLIX2S.js → chunk.CRVR6VBF.js} +4 -4
  497. package/dist-versioned/chunks/{chunk.R735ROML.js → chunk.DGFZBND5.js} +2 -2
  498. package/dist-versioned/chunks/{chunk.NVXUSMMW.js → chunk.DZRWUZL3.js} +3 -3
  499. package/dist-versioned/chunks/{chunk.34OZXOJP.js → chunk.EC2EIUQN.js} +2 -2
  500. package/dist-versioned/chunks/{chunk.BUFXMACO.js → chunk.ELJG6ONZ.js} +3 -3
  501. package/dist-versioned/chunks/{chunk.4D3N4MVV.js → chunk.FBXO7EOO.js} +15 -15
  502. package/dist-versioned/chunks/{chunk.AYDMEA3C.js → chunk.G4KMETYR.js} +5 -5
  503. package/dist-versioned/chunks/{chunk.A2M7C3CD.js → chunk.G6YNGJXE.js} +2 -2
  504. package/dist-versioned/chunks/{chunk.SE4CTFYY.js → chunk.GM6L2JR4.js} +2 -2
  505. package/dist-versioned/chunks/{chunk.45BEUHRF.js → chunk.GS3K7X5A.js} +4 -4
  506. package/dist-versioned/chunks/{chunk.6ITI3HNP.js → chunk.I6JQ5KYH.js} +4 -4
  507. package/{dist/chunks/chunk.HIAKAB7R.js → dist-versioned/chunks/chunk.ID6DABAJ.js} +14 -1
  508. package/dist-versioned/chunks/{chunk.E57K3AFR.js → chunk.IE7OO2E4.js} +2 -2
  509. package/dist-versioned/chunks/{chunk.WZZP5YIS.js → chunk.II2J5YTZ.js} +2 -2
  510. package/dist-versioned/chunks/{chunk.Q44CB3ZY.js → chunk.ISE4B3UP.js} +3 -3
  511. package/dist-versioned/chunks/{chunk.DHRQZSXG.js → chunk.KBIB4MJU.js} +9 -9
  512. package/dist-versioned/chunks/{chunk.7UTPAUSQ.js → chunk.KBX2ADXN.js} +3 -3
  513. package/dist-versioned/chunks/chunk.KEJFWGZI.js +4 -4
  514. package/dist-versioned/chunks/{chunk.T2AOG5F2.js → chunk.KZKUV72U.js} +25 -25
  515. package/dist-versioned/chunks/{chunk.TIBLXIJV.js → chunk.METZLKQO.js} +7 -7
  516. package/dist-versioned/chunks/{chunk.QZBSHWMK.js → chunk.N4YJM52U.js} +6 -6
  517. package/dist-versioned/chunks/{chunk.23KFQ6DK.js → chunk.NQFBYJXY.js} +3 -3
  518. package/dist-versioned/chunks/{chunk.M5FO7PXK.js → chunk.NYNRID2W.js} +5 -5
  519. package/dist-versioned/chunks/{chunk.SDWNASDC.js → chunk.O6BPWUAI.js} +4 -4
  520. package/dist-versioned/chunks/chunk.OIQ2TZCT.js +82 -0
  521. package/dist-versioned/chunks/{chunk.IUS3S54L.js → chunk.OPE5GNB3.js} +3 -3
  522. package/dist-versioned/chunks/{chunk.UAVNEMEF.js → chunk.OVSM5TSF.js} +2 -2
  523. package/dist-versioned/chunks/{chunk.HP7WJYO4.js → chunk.PZM2MI2Z.js} +3 -3
  524. package/dist-versioned/chunks/{chunk.5SNCWTQU.js → chunk.QSQRQKYT.js} +14 -0
  525. package/dist-versioned/chunks/{chunk.6MHK4U6F.js → chunk.R3WIWFML.js} +14 -14
  526. package/dist-versioned/chunks/{chunk.PHHK74M7.js → chunk.RVAUDUOG.js} +7 -7
  527. package/dist-versioned/chunks/{chunk.RAYANOK2.js → chunk.S5NWG4DM.js} +5 -5
  528. package/dist-versioned/chunks/{chunk.SJPDNEHE.js → chunk.SRRTSVBT.js} +4 -4
  529. package/dist-versioned/chunks/{chunk.JOYITBGJ.js → chunk.TA3Q3RO5.js} +3 -3
  530. package/dist-versioned/chunks/{chunk.T6DXPJAI.js → chunk.TCY3KZFP.js} +2 -2
  531. package/dist-versioned/chunks/{chunk.PRTWW2BW.js → chunk.TJAH7CZZ.js} +2 -2
  532. package/dist-versioned/chunks/{chunk.PPVX563E.js → chunk.U4FKNEVJ.js} +3 -3
  533. package/dist-versioned/chunks/{chunk.TKJFMHFU.js → chunk.U7KIN2H4.js} +3 -3
  534. package/dist-versioned/chunks/chunk.UIQBHPD3.js +2 -2
  535. package/dist-versioned/chunks/{chunk.CFBWKOJD.js → chunk.UQ2FRZQO.js} +2 -2
  536. package/dist-versioned/chunks/{chunk.5FANE6X5.js → chunk.UVOGBJGP.js} +1 -1
  537. package/dist-versioned/chunks/{chunk.JMHQQHEP.js → chunk.UXR6K7WW.js} +3 -3
  538. package/dist-versioned/chunks/{chunk.Z2RQUXP5.js → chunk.UZJYHOUF.js} +3 -3
  539. package/dist-versioned/chunks/{chunk.TMWT3ROD.js → chunk.VYJ3FE2D.js} +3 -3
  540. package/dist-versioned/chunks/{chunk.I7VRBYGO.js → chunk.W6OLVW5U.js} +3 -3
  541. package/dist-versioned/chunks/chunk.XCQC3F3H.js +3 -3
  542. package/dist-versioned/chunks/{chunk.KVLD4JWK.js → chunk.XVU4LMYA.js} +6 -6
  543. package/dist-versioned/chunks/{chunk.JTKHYOJO.js → chunk.YCD37QIH.js} +13 -13
  544. package/dist-versioned/chunks/{chunk.PEAIITW7.js → chunk.YIYE5U7I.js} +6 -6
  545. package/dist-versioned/components/accordion/accordion.d.ts +1 -1
  546. package/dist-versioned/components/accordion/accordion.js +7 -7
  547. package/dist-versioned/components/accordion-group/accordion-group.d.ts +1 -1
  548. package/dist-versioned/components/accordion-group/accordion-group.js +8 -8
  549. package/dist-versioned/components/animation/animation.d.ts +1 -1
  550. package/dist-versioned/components/animation/animation.js +2 -2
  551. package/dist-versioned/components/audio/audio.d.ts +1 -1
  552. package/dist-versioned/components/audio/audio.js +10 -10
  553. package/dist-versioned/components/badge/badge.d.ts +1 -1
  554. package/dist-versioned/components/badge/badge.js +2 -2
  555. package/dist-versioned/components/brandshape/brandshape.d.ts +1 -1
  556. package/dist-versioned/components/brandshape/brandshape.js +2 -2
  557. package/dist-versioned/components/breadcrumb/breadcrumb.d.ts +1 -1
  558. package/dist-versioned/components/breadcrumb/breadcrumb.js +4 -4
  559. package/dist-versioned/components/breadcrumb-item/breadcrumb-item.d.ts +1 -1
  560. package/dist-versioned/components/breadcrumb-item/breadcrumb-item.js +4 -4
  561. package/dist-versioned/components/button/button.d.ts +1 -1
  562. package/dist-versioned/components/button/button.js +5 -5
  563. package/dist-versioned/components/button-group/button-group.d.ts +1 -1
  564. package/dist-versioned/components/button-group/button-group.js +2 -2
  565. package/dist-versioned/components/carousel/carousel.d.ts +1 -1
  566. package/dist-versioned/components/carousel/carousel.js +8 -8
  567. package/dist-versioned/components/carousel-item/carousel-item.d.ts +1 -1
  568. package/dist-versioned/components/carousel-item/carousel-item.js +2 -2
  569. package/dist-versioned/components/checkbox/checkbox.d.ts +1 -1
  570. package/dist-versioned/components/checkbox/checkbox.js +5 -5
  571. package/dist-versioned/components/checkbox-group/checkbox-group.d.ts +1 -1
  572. package/dist-versioned/components/checkbox-group/checkbox-group.js +5 -5
  573. package/dist-versioned/components/combobox/combobox.d.ts +1 -1
  574. package/dist-versioned/components/combobox/combobox.js +9 -9
  575. package/dist-versioned/components/datepicker/datepicker.d.ts +119 -0
  576. package/dist-versioned/components/datepicker/datepicker.js +16 -0
  577. package/dist-versioned/components/dialog/dialog.d.ts +1 -1
  578. package/dist-versioned/components/dialog/dialog.js +9 -9
  579. package/dist-versioned/components/divider/divider.d.ts +1 -1
  580. package/dist-versioned/components/divider/divider.js +2 -2
  581. package/dist-versioned/components/drawer/drawer.d.ts +1 -1
  582. package/dist-versioned/components/drawer/drawer.js +9 -9
  583. package/dist-versioned/components/dropdown/dropdown.d.ts +1 -1
  584. package/dist-versioned/components/dropdown/dropdown.js +5 -5
  585. package/dist-versioned/components/expandable/expandable.d.ts +1 -1
  586. package/dist-versioned/components/expandable/expandable.js +7 -7
  587. package/dist-versioned/components/flipcard/flipcard.d.ts +1 -1
  588. package/dist-versioned/components/flipcard/flipcard.js +9 -9
  589. package/dist-versioned/components/header/header.d.ts +1 -1
  590. package/dist-versioned/components/header/header.js +2 -2
  591. package/dist-versioned/components/icon/icon.d.ts +1 -1
  592. package/dist-versioned/components/icon/icon.js +4 -4
  593. package/dist-versioned/components/icon/library.internal.d.ts +4 -0
  594. package/dist-versioned/components/icon/library.internal.js +1 -1
  595. package/dist-versioned/components/icon/library.js +2 -2
  596. package/dist-versioned/components/include/include.d.ts +1 -1
  597. package/dist-versioned/components/include/include.js +2 -2
  598. package/dist-versioned/components/input/input.d.ts +1 -1
  599. package/dist-versioned/components/input/input.js +7 -7
  600. package/dist-versioned/components/link/link.d.ts +1 -1
  601. package/dist-versioned/components/link/link.js +2 -2
  602. package/dist-versioned/components/loader/loader.d.ts +1 -1
  603. package/dist-versioned/components/loader/loader.js +4 -4
  604. package/dist-versioned/components/map-marker/map-marker.d.ts +1 -1
  605. package/dist-versioned/components/map-marker/map-marker.js +2 -2
  606. package/dist-versioned/components/menu/menu.d.ts +1 -1
  607. package/dist-versioned/components/menu/menu.js +4 -4
  608. package/dist-versioned/components/menu-item/menu-item.d.ts +1 -1
  609. package/dist-versioned/components/menu-item/menu-item.js +2 -2
  610. package/dist-versioned/components/navigation-item/navigation-item.d.ts +1 -1
  611. package/dist-versioned/components/navigation-item/navigation-item.js +8 -8
  612. package/dist-versioned/components/notification/notification.d.ts +1 -1
  613. package/dist-versioned/components/notification/notification.js +9 -9
  614. package/dist-versioned/components/optgroup/optgroup.d.ts +1 -1
  615. package/dist-versioned/components/optgroup/optgroup.js +5 -5
  616. package/dist-versioned/components/option/option.d.ts +1 -1
  617. package/dist-versioned/components/option/option.js +5 -5
  618. package/dist-versioned/components/popup/popup.d.ts +1 -1
  619. package/dist-versioned/components/popup/popup.js +2 -2
  620. package/dist-versioned/components/quickfact/quickfact.d.ts +1 -1
  621. package/dist-versioned/components/quickfact/quickfact.js +8 -8
  622. package/dist-versioned/components/radio/radio.d.ts +1 -1
  623. package/dist-versioned/components/radio/radio.js +2 -2
  624. package/dist-versioned/components/radio-button/radio-button.d.ts +1 -1
  625. package/dist-versioned/components/radio-button/radio-button.js +2 -2
  626. package/dist-versioned/components/radio-group/radio-group.d.ts +1 -1
  627. package/dist-versioned/components/radio-group/radio-group.js +4 -4
  628. package/dist-versioned/components/range/range.d.ts +1 -1
  629. package/dist-versioned/components/range/range.js +4 -4
  630. package/dist-versioned/components/range-tick/range-tick.d.ts +1 -1
  631. package/dist-versioned/components/range-tick/range-tick.js +4 -4
  632. package/dist-versioned/components/scrollable/scrollable.d.ts +1 -1
  633. package/dist-versioned/components/scrollable/scrollable.js +7 -7
  634. package/dist-versioned/components/select/select.d.ts +1 -1
  635. package/dist-versioned/components/select/select.js +9 -9
  636. package/dist-versioned/components/spinner/spinner.d.ts +1 -1
  637. package/dist-versioned/components/spinner/spinner.js +4 -4
  638. package/dist-versioned/components/step/step.d.ts +1 -1
  639. package/dist-versioned/components/step/step.js +5 -5
  640. package/dist-versioned/components/step-group/step-group.d.ts +1 -1
  641. package/dist-versioned/components/step-group/step-group.js +2 -2
  642. package/dist-versioned/components/switch/switch.d.ts +1 -1
  643. package/dist-versioned/components/switch/switch.js +2 -2
  644. package/dist-versioned/components/tab/tab.d.ts +1 -1
  645. package/dist-versioned/components/tab/tab.js +4 -4
  646. package/dist-versioned/components/tab-group/tab-group.d.ts +1 -1
  647. package/dist-versioned/components/tab-group/tab-group.js +7 -7
  648. package/dist-versioned/components/tab-panel/tab-panel.d.ts +1 -1
  649. package/dist-versioned/components/tab-panel/tab-panel.js +2 -2
  650. package/dist-versioned/components/tag/tag.d.ts +1 -1
  651. package/dist-versioned/components/tag/tag.js +7 -7
  652. package/dist-versioned/components/teaser/teaser.js +2 -2
  653. package/dist-versioned/components/teaser-media/teaser-media.js +2 -2
  654. package/dist-versioned/components/textarea/textarea.d.ts +1 -1
  655. package/dist-versioned/components/textarea/textarea.js +5 -5
  656. package/dist-versioned/components/tooltip/tooltip.d.ts +1 -1
  657. package/dist-versioned/components/tooltip/tooltip.js +8 -8
  658. package/dist-versioned/components/video/video.d.ts +1 -1
  659. package/dist-versioned/components/video/video.js +7 -7
  660. package/dist-versioned/custom-elements.json +1016 -239
  661. package/dist-versioned/internal/form.js +3 -3
  662. package/dist-versioned/solid-components.css +2 -2
  663. package/dist-versioned/solid-components.d.ts +1 -0
  664. package/dist-versioned/solid-components.js +73 -68
  665. package/dist-versioned/translations/de.js +1 -1
  666. package/dist-versioned/translations/en.js +1 -1
  667. package/dist-versioned/utilities/autocomplete-config.js +2 -2
  668. package/dist-versioned/utilities/date.d.ts +9 -0
  669. package/dist-versioned/utilities/date.js +7 -0
  670. package/dist-versioned/utilities/icon-library.js +2 -2
  671. package/dist-versioned/utilities/localize.d.ts +14 -1
  672. package/dist-versioned/utilities/localize.js +2 -2
  673. package/dist-versioned/vscode.html-custom-data.json +224 -91
  674. package/dist-versioned/web-types.json +526 -154
  675. package/package.json +3 -3
  676. package/cdn/chunks/chunk.D4Q335D6.js +0 -1
  677. package/cdn/chunks/chunk.QPJOKELG.js +0 -1
  678. package/cdn/chunks/chunk.TJ7ZA5LO.js +0 -25
  679. package/cdn-versioned/chunks/chunk.2UNWLMKE.js +0 -1
  680. package/cdn-versioned/chunks/chunk.2YG34O7F.js +0 -1
  681. package/cdn-versioned/chunks/chunk.35PQ7S2O.js +0 -1
  682. package/cdn-versioned/chunks/chunk.3JOVDAJX.js +0 -1
  683. package/cdn-versioned/chunks/chunk.3UAOIDF2.js +0 -11
  684. package/cdn-versioned/chunks/chunk.5CAMYQMD.js +0 -1
  685. package/cdn-versioned/chunks/chunk.5HQBAJ66.js +0 -1
  686. package/cdn-versioned/chunks/chunk.AEVPJRUQ.js +0 -1
  687. package/cdn-versioned/chunks/chunk.ALSSHD3Q.js +0 -1
  688. package/cdn-versioned/chunks/chunk.CJ53PV6X.js +0 -1
  689. package/cdn-versioned/chunks/chunk.CVNGM52W.js +0 -1
  690. package/cdn-versioned/chunks/chunk.D4Q335D6.js +0 -1
  691. package/cdn-versioned/chunks/chunk.DKN2DIAH.js +0 -1
  692. package/cdn-versioned/chunks/chunk.ET34FEK2.js +0 -3
  693. package/cdn-versioned/chunks/chunk.IWPBSEAW.js +0 -1
  694. package/cdn-versioned/chunks/chunk.K7JNBY7N.js +0 -1
  695. package/cdn-versioned/chunks/chunk.KOERGSAL.js +0 -1
  696. package/cdn-versioned/chunks/chunk.PZC43SIH.js +0 -1
  697. package/cdn-versioned/chunks/chunk.QPJOKELG.js +0 -1
  698. package/cdn-versioned/chunks/chunk.R5PJYTZQ.js +0 -11
  699. package/cdn-versioned/chunks/chunk.SGXM6Y2P.js +0 -1
  700. package/cdn-versioned/chunks/chunk.TJ7ZA5LO.js +0 -25
  701. package/cdn-versioned/chunks/chunk.VFOVKA46.js +0 -1
  702. package/cdn-versioned/chunks/chunk.Y7AL7I2Z.js +0 -1
  703. package/cdn-versioned/chunks/chunk.ZA3AQWM7.js +0 -11
  704. package/dist/chunks/chunk.IRZ3M2OA.js +0 -82
  705. package/dist-versioned/chunks/chunk.IRZ3M2OA.js +0 -82
@@ -0,0 +1,1375 @@
1
+ import {
2
+ DateUtils
3
+ } from "./chunk.CDM2I6O2.js";
4
+ import {
5
+ FormControlController
6
+ } from "./chunk.XCQC3F3H.js";
7
+ import {
8
+ HasSlotController
9
+ } from "./chunk.IVMQWO2L.js";
10
+ import {
11
+ LocalizeController
12
+ } from "./chunk.X3FE7OHE.js";
13
+ import {
14
+ watch
15
+ } from "./chunk.X2OQMWGY.js";
16
+ import {
17
+ SolidElement,
18
+ customElement
19
+ } from "./chunk.OIQ2TZCT.js";
20
+ import {
21
+ __decorateClass
22
+ } from "./chunk.S3NI7NKU.js";
23
+
24
+ // src/components/datepicker/datepicker.ts
25
+ import { css, html, nothing } from "lit";
26
+ import { property, query, state } from "lit/decorators.js";
27
+ import cx from "classix";
28
+ var SdDatepicker = class extends SolidElement {
29
+ constructor() {
30
+ super();
31
+ /** Localize controller used to fetch localized terms/labels. */
32
+ this.localize = new LocalizeController(this);
33
+ this.hasSlotController = new HasSlotController(this, "label", "help-text", "tooltip");
34
+ this.formControlController = new FormControlController(this, {
35
+ assumeInteractionOn: ["sd-blur", "sd-input"]
36
+ });
37
+ this.locale = "en-US";
38
+ this.value = null;
39
+ this.range = false;
40
+ this.rangeStart = null;
41
+ this.rangeEnd = null;
42
+ this.allowSameDayRange = false;
43
+ this.min = void 0;
44
+ this.max = void 0;
45
+ this.firstDayOfWeek = null;
46
+ this.disabledWeekends = false;
47
+ this.disabledDates = [];
48
+ this.isDateDisabled = null;
49
+ this.size = "lg";
50
+ this.alignment = "left";
51
+ this.label = "";
52
+ this.helpText = "";
53
+ this.disabled = false;
54
+ this.visuallyDisabled = false;
55
+ this.styleOnValid = false;
56
+ this.readonly = false;
57
+ this.placement = "bottom";
58
+ this.placeholder = "";
59
+ this.name = "";
60
+ this.form = "";
61
+ this.open = false;
62
+ this.today = DateUtils.startOfDayLocal(/* @__PURE__ */ new Date());
63
+ this.disabledDatesSet = /* @__PURE__ */ new Set();
64
+ this.previewEnd = null;
65
+ this.statusNavText = "";
66
+ this.statusSelectText = "";
67
+ this.hasFocus = false;
68
+ this.showValidStyle = false;
69
+ this.showInvalidStyle = false;
70
+ this.currentPlacement = this.placement;
71
+ this.inputValue = "";
72
+ /** Internal flag used when tabbing from header into grid to pick initial tabbable day. */
73
+ this.tabbingIntoGrid = false;
74
+ /** Bump counter ensuring live region text updates are recognized. */
75
+ this.statusBumpCounter = 0;
76
+ this.onFocusIn = (ev) => {
77
+ const path = ev.composedPath();
78
+ const fromHeader = path.some(
79
+ (n) => {
80
+ var _a, _b;
81
+ return n instanceof HTMLElement && (((_a = n.classList) == null ? void 0 : _a.contains("nav")) || ((_b = n.classList) == null ? void 0 : _b.contains("month-label")));
82
+ }
83
+ );
84
+ if (fromHeader) {
85
+ this.tabbingIntoGrid = true;
86
+ }
87
+ };
88
+ this.handleInput = (ev) => {
89
+ var _a, _b, _c;
90
+ const input = ev.target;
91
+ const raw = input.value;
92
+ const oldPos = (_a = input.selectionStart) != null ? _a : raw.length;
93
+ const isDeleting = (_b = ev.inputType) == null ? void 0 : _b.startsWith("delete");
94
+ if (this.visuallyDisabled || this.disabled) {
95
+ ev.preventDefault();
96
+ ev.stopPropagation();
97
+ return;
98
+ }
99
+ if (!this.range) {
100
+ const inputEl = input;
101
+ const rawText = inputEl.value;
102
+ const oldCaret = (_c = inputEl.selectionStart) != null ? _c : rawText.length;
103
+ const digits = rawText.replace(/\D/g, "").slice(0, 8);
104
+ const d = digits.slice(0, 2);
105
+ const m = digits.slice(2, 4);
106
+ const y = digits.slice(4, 8);
107
+ let nextFormatted = "";
108
+ if (d.length > 0) {
109
+ nextFormatted += d;
110
+ if (d.length === 2) {
111
+ nextFormatted += ".";
112
+ }
113
+ }
114
+ if (m.length > 0 && d.length === 2) {
115
+ nextFormatted += m;
116
+ if (m.length === 2) {
117
+ nextFormatted += ".";
118
+ }
119
+ }
120
+ if (y.length > 0 && d.length === 2 && m.length === 2) {
121
+ nextFormatted += y;
122
+ }
123
+ nextFormatted = nextFormatted.replace(/\.\.+/g, ".");
124
+ const prevFormatted = this.inputValue || "";
125
+ this.inputValue = nextFormatted;
126
+ let newCaret = oldCaret;
127
+ const dotIdxs = (s) => {
128
+ const idxs = [];
129
+ for (let i = 0; i < s.length; i++) if (s[i] === ".") idxs.push(i);
130
+ return idxs;
131
+ };
132
+ const prevDots = dotIdxs(prevFormatted);
133
+ const nextDots = dotIdxs(nextFormatted);
134
+ const prevBefore = prevDots.filter((i) => i < oldCaret).length;
135
+ const nextBefore = nextDots.filter((i) => i < oldCaret).length;
136
+ const insertedBefore = nextBefore - prevBefore;
137
+ if (insertedBefore > 0) {
138
+ newCaret += insertedBefore;
139
+ } else {
140
+ const dotInsertedAtCaret = !prevDots.includes(oldCaret) && nextDots.includes(oldCaret);
141
+ if (dotInsertedAtCaret) newCaret += 1;
142
+ }
143
+ newCaret = Math.min(Math.max(0, newCaret), nextFormatted.length);
144
+ requestAnimationFrame(() => {
145
+ var _a2;
146
+ const el = (_a2 = this.input) != null ? _a2 : inputEl;
147
+ if (el) {
148
+ el.value = this.inputValue;
149
+ el.setSelectionRange(newCaret, newCaret);
150
+ }
151
+ });
152
+ if (/^\d{2}\.\d{2}\.\d{4}$/.test(nextFormatted)) {
153
+ const parsed = this.parseInputText(nextFormatted);
154
+ this.applyParsedInput(parsed);
155
+ } else {
156
+ this.showInvalidStyle = false;
157
+ this.showValidStyle = false;
158
+ }
159
+ return;
160
+ } else {
161
+ const allDigits = raw.replace(/\D/g, "");
162
+ const startDigits = allDigits.slice(0, 8);
163
+ const endDigits = allDigits.slice(8, 16);
164
+ const startDMY = this.buildDmyFromDigits(startDigits);
165
+ const endDMY = this.buildDmyFromDigits(endDigits);
166
+ let formatted;
167
+ if (startDigits.length === 0) {
168
+ formatted = "";
169
+ } else if (startDigits.length < 8) {
170
+ formatted = startDMY;
171
+ } else {
172
+ if (endDigits.length > 0) {
173
+ formatted = `${startDMY} - ${endDMY}`;
174
+ } else {
175
+ formatted = isDeleting ? startDMY : `${startDMY} -`;
176
+ }
177
+ }
178
+ const digitsBefore = this.countDigitsBeforeCaret(raw, oldPos);
179
+ let newPos;
180
+ if (digitsBefore <= 8) {
181
+ const withinStartPos = this.digitIndexToDmyCaretPos(Math.min(digitsBefore, 8));
182
+ newPos = Math.min(withinStartPos, startDMY.length);
183
+ } else {
184
+ const offsetBase = startDigits.length < 8 ? startDMY.length : startDMY.length + 3;
185
+ const endDigitIdx = Math.min(digitsBefore - 8, 8);
186
+ const withinEndPos = this.digitIndexToDmyCaretPos(endDigitIdx);
187
+ newPos = offsetBase + Math.min(withinEndPos, endDMY.length);
188
+ }
189
+ this.inputValue = formatted;
190
+ let committed = false;
191
+ if (/^\d{2}\.\d{2}\.\d{4}$/.test(startDMY)) {
192
+ const startIso = this.dmyToIso(startDMY);
193
+ const pStart = startIso ? DateUtils.parseLocalISO(startIso) : null;
194
+ const startOk = !!pStart && !this.isDisabled(pStart) && this.inMinMax(pStart);
195
+ if (startOk && this.rangeStart !== startIso) {
196
+ this.rangeStart = startIso;
197
+ this.previewEnd = null;
198
+ this.viewMonth = new Date(pStart.getFullYear(), pStart.getMonth(), 1);
199
+ this.focusedDate = DateUtils.startOfDayLocal(pStart);
200
+ committed = true;
201
+ }
202
+ } else {
203
+ if (this.rangeStart) {
204
+ this.rangeStart = null;
205
+ committed = true;
206
+ }
207
+ if (this.rangeEnd) {
208
+ this.rangeEnd = null;
209
+ committed = true;
210
+ }
211
+ }
212
+ if (/^\d{2}\.\d{2}\.\d{4}$/.test(endDMY) && this.rangeStart) {
213
+ const pStart = DateUtils.parseLocalISO(this.rangeStart);
214
+ const endIso = this.dmyToIso(endDMY);
215
+ const pEnd = endIso ? DateUtils.parseLocalISO(endIso) : null;
216
+ const endOk = !!pEnd && !this.isDisabled(pEnd) && this.inMinMax(pEnd);
217
+ if (endOk) {
218
+ const [a, b] = DateUtils.compareDates(pStart, pEnd) <= 0 ? [pStart, pEnd] : [pEnd, pStart];
219
+ const sameDay = DateUtils.isSameDay(a, b);
220
+ const rangeOk = (this.allowSameDayRange || !sameDay) && !this.wouldRangeContainDisabled(a, b);
221
+ if (rangeOk) {
222
+ const normalizedStart = DateUtils.toLocalISODate(DateUtils.startOfDayLocal(a));
223
+ const normalizedEnd = DateUtils.toLocalISODate(DateUtils.startOfDayLocal(b));
224
+ if (this.rangeStart !== normalizedStart || this.rangeEnd !== normalizedEnd) {
225
+ this.rangeStart = normalizedStart;
226
+ this.rangeEnd = normalizedEnd;
227
+ this.viewMonth = new Date(b.getFullYear(), b.getMonth(), 1);
228
+ this.focusedDate = DateUtils.startOfDayLocal(b);
229
+ committed = true;
230
+ }
231
+ }
232
+ }
233
+ } else {
234
+ if (this.rangeEnd) {
235
+ this.rangeEnd = null;
236
+ committed = true;
237
+ }
238
+ }
239
+ this.showInvalidStyle = false;
240
+ this.showValidStyle = !!(this.rangeStart && this.rangeEnd);
241
+ if (committed) {
242
+ this.emit("sd-range-select", { detail: { start: this.rangeStart, end: this.rangeEnd } });
243
+ this.emit("sd-change", { detail: { value: this.value, rangeStart: this.rangeStart, rangeEnd: this.rangeEnd } });
244
+ }
245
+ Promise.resolve().then(() => {
246
+ requestAnimationFrame(() => {
247
+ var _a2;
248
+ const el = (_a2 = this.input) != null ? _a2 : input;
249
+ if (el) {
250
+ el.value = this.inputValue;
251
+ el.setSelectionRange(newPos, newPos);
252
+ }
253
+ });
254
+ });
255
+ }
256
+ if (!this.open && this.hasFocus && !this.disabled && !this.visuallyDisabled) {
257
+ this.show();
258
+ }
259
+ if (this.range) {
260
+ const s = this.rangeStart ? DateUtils.parseLocalISO(this.rangeStart) : null;
261
+ const e = this.rangeEnd ? DateUtils.parseLocalISO(this.rangeEnd) : null;
262
+ if (s && !e) {
263
+ this.setNavStatus(`${this.termStartSelected()}: ${this.formatSelectionLabel(s)}`);
264
+ } else if (s && e) {
265
+ this.setNavStatus(
266
+ `${this.termStartSelected()}: ${this.formatSelectionLabel(s)}; ${this.termEndSelected()}: ${this.formatSelectionLabel(e)}`
267
+ );
268
+ }
269
+ } else if (this.value) {
270
+ const v = DateUtils.parseLocalISO(this.value);
271
+ this.setNavStatus(`${this.formatSelectionLabel(v)}`);
272
+ }
273
+ };
274
+ this.handleInputBlur = () => {
275
+ const parsed = this.parseInputText(this.inputValue);
276
+ if (!parsed.valid) {
277
+ this.inputValue = this.formatInputValue();
278
+ this.showInvalidStyle = !!this.inputValue && !this.value && !this.rangeStart;
279
+ } else {
280
+ this.applyParsedInput(parsed);
281
+ }
282
+ this.handleBlur();
283
+ };
284
+ this.handleCurrentPlacement = (ev) => {
285
+ this.currentPlacement = ev.detail.placement;
286
+ };
287
+ this.handleHeaderKeyDown = (ev, type, direction, isLastHeaderControl) => {
288
+ if (ev.key === "Tab" && !ev.shiftKey) {
289
+ if (isLastHeaderControl) {
290
+ ev.preventDefault();
291
+ ev.stopPropagation();
292
+ this.tabbingIntoGrid = true;
293
+ this.focusInitialGridDay();
294
+ }
295
+ return;
296
+ }
297
+ if (ev.key === "Enter" || ev.key === " ") {
298
+ ev.preventDefault();
299
+ ev.stopPropagation();
300
+ if (type === "month") this.setMonth(direction);
301
+ else this.setYear(direction);
302
+ }
303
+ };
304
+ this.onKeyDown = (ev) => {
305
+ const key = ev.key;
306
+ let handled = true;
307
+ const next = new Date(this.focusedDate);
308
+ switch (key) {
309
+ case "ArrowLeft":
310
+ next.setDate(next.getDate() - 1);
311
+ break;
312
+ case "ArrowRight":
313
+ next.setDate(next.getDate() + 1);
314
+ break;
315
+ case "ArrowUp":
316
+ next.setDate(next.getDate() - 7);
317
+ break;
318
+ case "ArrowDown":
319
+ next.setDate(next.getDate() + 7);
320
+ break;
321
+ case "Escape": {
322
+ if (this.previewEnd) {
323
+ this.previewEnd = null;
324
+ this.setNavStatus(this.localize.term("selectionCleared"));
325
+ } else if (this.range && this.rangeStart && !this.rangeEnd) {
326
+ this.rangeStart = null;
327
+ this.setNavStatus(this.localize.term("selectionCleared"));
328
+ this.emit("sd-range-select", { detail: { start: this.rangeStart, end: this.rangeEnd } });
329
+ }
330
+ if (this.open) {
331
+ this.hide();
332
+ this.emit("sd-datepicker-close");
333
+ }
334
+ break;
335
+ }
336
+ case "Enter":
337
+ case " ":
338
+ this.selectDate(this.focusedDate);
339
+ break;
340
+ default:
341
+ handled = false;
342
+ }
343
+ if (handled) {
344
+ ev.preventDefault();
345
+ const monthChanged = next.getMonth() !== this.viewMonth.getMonth() || next.getFullYear() !== this.viewMonth.getFullYear();
346
+ if (monthChanged) {
347
+ this.viewMonth = new Date(next.getFullYear(), next.getMonth(), 1);
348
+ const monthLabel = this.formatMonthYear(this.viewMonth);
349
+ this.setNavStatus(monthLabel);
350
+ }
351
+ const fd = DateUtils.startOfDayLocal(next);
352
+ if (!this.focusedDate || fd.getTime() !== this.focusedDate.getTime()) {
353
+ this.focusedDate = fd;
354
+ }
355
+ const dayLabel = fd.toLocaleDateString(this.locale, {
356
+ weekday: "long",
357
+ day: "numeric",
358
+ month: "long",
359
+ year: "numeric"
360
+ });
361
+ this.setNavStatus(dayLabel);
362
+ this.requestUpdate();
363
+ requestAnimationFrame(() => {
364
+ const root = this.shadowRoot;
365
+ const btn = root == null ? void 0 : root.querySelector("button.day.focused");
366
+ btn == null ? void 0 : btn.focus({ preventScroll: true });
367
+ });
368
+ }
369
+ };
370
+ this.handleInputKeyDown = (ev) => {
371
+ if (ev.key === "ArrowLeft" || ev.key === "ArrowRight" || ev.key === "ArrowUp" || ev.key === "ArrowDown" || ev.key === "Home" || ev.key === "End" || ev.key === "PageUp" || ev.key === "PageDown") {
372
+ return;
373
+ }
374
+ if (ev.key === "Escape" && this.open) {
375
+ ev.preventDefault();
376
+ this.hide();
377
+ this.emit("sd-datepicker-close");
378
+ return;
379
+ }
380
+ if (ev.key === "Enter" && !this.open && !this.disabled && !this.visuallyDisabled) {
381
+ ev.preventDefault();
382
+ this.show();
383
+ }
384
+ };
385
+ this.handleOutsideClick = this.handleOutsideClick.bind(this);
386
+ }
387
+ connectedCallback() {
388
+ super.connectedCallback();
389
+ this.syncDisabledDatesSet();
390
+ document.addEventListener("click", this.handleOutsideClick);
391
+ this.updateComplete.then(() => {
392
+ this.formControlController.updateValidity();
393
+ });
394
+ const initialSingle = this.value ? DateUtils.parseLocalISO(this.value) : null;
395
+ const initialRangeStart = this.rangeStart ? DateUtils.parseLocalISO(this.rangeStart) : null;
396
+ const initial = this.range && initialRangeStart ? initialRangeStart : initialSingle != null ? initialSingle : DateUtils.startOfDayLocal(/* @__PURE__ */ new Date());
397
+ this.viewMonth = new Date(initial.getFullYear(), initial.getMonth(), 1);
398
+ this.focusedDate = DateUtils.clampDateToMonth(initial, this.viewMonth);
399
+ if (this.firstDayOfWeek === null || this.firstDayOfWeek === void 0) {
400
+ this.firstDayOfWeek = 1;
401
+ }
402
+ this.inputValue = this.formatInputValue();
403
+ this.tabIndex = 0;
404
+ this.setAttribute("role", "group");
405
+ this.setAttribute(
406
+ "aria-label",
407
+ this.range ? this.localize.term("datePickerRange") : this.localize.term("datePicker")
408
+ );
409
+ this.addEventListener("focusin", this.onFocusIn);
410
+ }
411
+ firstUpdated() {
412
+ this.formControlController.updateValidity();
413
+ }
414
+ disconnectedCallback() {
415
+ super.disconnectedCallback();
416
+ this.removeEventListener("focusin", this.onFocusIn);
417
+ document.removeEventListener("click", this.handleOutsideClick);
418
+ }
419
+ handleLocaleChange() {
420
+ if (this.firstDayOfWeek === null) {
421
+ this.firstDayOfWeek = 1;
422
+ }
423
+ this.requestUpdate();
424
+ }
425
+ handleDisabledDatesChange() {
426
+ this.syncDisabledDatesSet();
427
+ this.requestUpdate();
428
+ }
429
+ handleValueChange() {
430
+ const v = this.value ? DateUtils.parseLocalISO(this.value) : null;
431
+ if (v) {
432
+ this.viewMonth = new Date(v.getFullYear(), v.getMonth(), 1);
433
+ this.focusedDate = DateUtils.startOfDayLocal(v);
434
+ }
435
+ this.inputValue = this.formatInputValue();
436
+ this.updateComplete.then(() => {
437
+ var _a;
438
+ const el = this.input;
439
+ if (el) {
440
+ el.value = (_a = this.inputValue) != null ? _a : "";
441
+ const end = el.value.length;
442
+ el.setSelectionRange(end, end);
443
+ }
444
+ this.formControlController.updateValidity();
445
+ });
446
+ this.emit("sd-change", {
447
+ detail: {
448
+ value: this.value,
449
+ rangeStart: this.rangeStart,
450
+ rangeEnd: this.rangeEnd
451
+ }
452
+ });
453
+ }
454
+ handleRangeChange() {
455
+ const rs = this.rangeStart ? DateUtils.parseLocalISO(this.rangeStart) : null;
456
+ const re = this.rangeEnd ? DateUtils.parseLocalISO(this.rangeEnd) : null;
457
+ const pivot = rs != null ? rs : re;
458
+ if (pivot) {
459
+ this.viewMonth = new Date(pivot.getFullYear(), pivot.getMonth(), 1);
460
+ this.focusedDate = DateUtils.startOfDayLocal(pivot);
461
+ }
462
+ if (this.previewEnd !== null) this.previewEnd = null;
463
+ this.inputValue = this.formatInputValue();
464
+ this.updateComplete.then(() => {
465
+ var _a;
466
+ const el = this.input;
467
+ if (el) {
468
+ el.value = (_a = this.inputValue) != null ? _a : "";
469
+ const end = el.value.length;
470
+ el.setSelectionRange(end, end);
471
+ }
472
+ this.formControlController.updateValidity();
473
+ });
474
+ this.emit("sd-change", {
475
+ detail: {
476
+ value: this.value,
477
+ rangeStart: this.rangeStart,
478
+ rangeEnd: this.rangeEnd
479
+ }
480
+ });
481
+ }
482
+ handleDisabledChange() {
483
+ this.formControlController.setValidity(this.disabled);
484
+ if (this.disabled || this.visuallyDisabled) {
485
+ this.open = false;
486
+ }
487
+ }
488
+ get validity() {
489
+ const defaultValidity = { valid: true };
490
+ return this.input instanceof HTMLInputElement ? this.input.validity : defaultValidity;
491
+ }
492
+ get validationMessage() {
493
+ return (this.input instanceof HTMLInputElement ? this.input.validationMessage : "") || "";
494
+ }
495
+ checkValidity() {
496
+ if (this.input instanceof HTMLInputElement) {
497
+ return this.input.checkValidity();
498
+ }
499
+ return true;
500
+ }
501
+ getForm() {
502
+ return this.formControlController.getForm();
503
+ }
504
+ reportValidity() {
505
+ this.formControlController.fakeUserInteraction();
506
+ return this.input instanceof HTMLInputElement ? this.input.reportValidity() : true;
507
+ }
508
+ setCustomValidity(message) {
509
+ var _a;
510
+ (_a = this.input) == null ? void 0 : _a.setCustomValidity(message);
511
+ this.formControlController.updateValidity();
512
+ }
513
+ handleInvalid(event) {
514
+ this.formControlController.setValidity(false);
515
+ this.formControlController.emitInvalidEvent(event);
516
+ this.invalidMessage.textContent = event.target.validationMessage;
517
+ }
518
+ /** Parses a local ISO date string to a Date or returns null. */
519
+ parseISO(iso) {
520
+ return DateUtils.parseLocalISO(iso);
521
+ }
522
+ inMinMax(d) {
523
+ const min = this.parseISO(this.min !== null ? String(this.min) : null);
524
+ const max = this.parseISO(this.max !== null ? String(this.max) : null);
525
+ if (min && d < min) return false;
526
+ if (max && d > max) return false;
527
+ return true;
528
+ }
529
+ /** Returns true if the date matches any date in disabledDatesSet. */
530
+ isInDisabledDates(d) {
531
+ if (!this.disabledDatesSet || this.disabledDatesSet.size === 0) return false;
532
+ const iso = DateUtils.toLocalISODate(DateUtils.startOfDayLocal(d));
533
+ return this.disabledDatesSet.has(iso);
534
+ }
535
+ /** Returns true if the date is Saturday or Sunday. */
536
+ isWeekend(d) {
537
+ const day = d.getDay();
538
+ return day === 0 || day === 6;
539
+ }
540
+ /** Returns true if the date is disabled */
541
+ isDisabled(d) {
542
+ var _a;
543
+ if (!this.inMinMax(d)) return true;
544
+ if (this.disabledWeekends && this.isWeekend(d)) return true;
545
+ if (this.isInDisabledDates(d)) return true;
546
+ if ((_a = this.isDateDisabled) == null ? void 0 : _a.call(this, d)) return true;
547
+ return false;
548
+ }
549
+ /** Updates the hidden live region for navigation feedback. */
550
+ setNavStatus(text) {
551
+ this.statusNavText = text;
552
+ }
553
+ /** Announces an assertive message with a slight delay to ensure SR pick-up. */
554
+ announceSelect(message, delayMs = 40) {
555
+ setTimeout(() => {
556
+ this.statusBumpCounter++;
557
+ const bump = "\u200B".repeat(this.statusBumpCounter % 3);
558
+ this.statusSelectText = message + bump;
559
+ }, delayMs);
560
+ }
561
+ /** Returns localized selection label for announcements. */
562
+ formatSelectionLabel(d) {
563
+ if (this.locale === "de-DE") {
564
+ return d.toLocaleDateString("de-DE", { day: "numeric", month: "long", year: "numeric" });
565
+ }
566
+ const day = d.getDate();
567
+ const ordinal = this.ordinal(day);
568
+ const month = d.toLocaleDateString("en-US", { month: "long" });
569
+ const year = d.getFullYear();
570
+ return `${ordinal} of ${month} ${year}`;
571
+ }
572
+ /** English ordinal for day numbers (1st, 2nd, 3rd...). */
573
+ ordinal(day) {
574
+ const suffixes = ["th", "st", "nd", "rd"];
575
+ const lastTwoDigits = day % 100;
576
+ const suffix = suffixes[(lastTwoDigits - 20) % 10] || suffixes[lastTwoDigits] || suffixes[0];
577
+ return day + suffix;
578
+ }
579
+ /** Syncs disabledDatesSet from the disabledDates property */
580
+ syncDisabledDatesSet() {
581
+ let arr = [];
582
+ if (Array.isArray(this.disabledDates)) {
583
+ arr = this.disabledDates;
584
+ } else if (typeof this.disabledDates === "string") {
585
+ const s = this.disabledDates.trim();
586
+ if (s.startsWith("[")) {
587
+ try {
588
+ const parsed = JSON.parse(s);
589
+ if (Array.isArray(parsed)) arr = parsed;
590
+ } catch (e) {
591
+ arr = [];
592
+ }
593
+ } else if (s.length > 0) {
594
+ arr = s.split(",").map((v) => v.trim()).filter(Boolean);
595
+ }
596
+ }
597
+ this.disabledDatesSet = new Set(arr);
598
+ }
599
+ /** Returns true if the range between two dates contains any disabled dates. */
600
+ wouldRangeContainDisabled(a, b) {
601
+ const start = DateUtils.compareDates(a, b) <= 0 ? DateUtils.startOfDayLocal(a) : DateUtils.startOfDayLocal(b);
602
+ const end = DateUtils.compareDates(a, b) <= 0 ? DateUtils.startOfDayLocal(b) : DateUtils.startOfDayLocal(a);
603
+ const cursor = new Date(start);
604
+ while (DateUtils.compareDates(cursor, end) <= 0) {
605
+ if (this.isDisabled(cursor)) return true;
606
+ cursor.setDate(cursor.getDate() + 1);
607
+ }
608
+ return false;
609
+ }
610
+ termStartSelected() {
611
+ var _a, _b;
612
+ return (_b = (_a = this.localize) == null ? void 0 : _a.term) == null ? void 0 : _b.call(_a, "startDateSelected");
613
+ }
614
+ termEndSelected() {
615
+ var _a, _b;
616
+ return (_b = (_a = this.localize) == null ? void 0 : _a.term) == null ? void 0 : _b.call(_a, "endDateSelected");
617
+ }
618
+ /** UI formatting: internal ISO → DD.MM.YYYY */
619
+ isoToDmy(iso) {
620
+ if (!iso) return "";
621
+ const d = DateUtils.parseLocalISO(iso);
622
+ if (!d) return "";
623
+ const dd = String(d.getDate()).padStart(2, "0");
624
+ const mm = String(d.getMonth() + 1).padStart(2, "0");
625
+ const yyyy = String(d.getFullYear());
626
+ return `${dd}.${mm}.${yyyy}`;
627
+ }
628
+ /** UI parsing: DD.MM.YYYY → internal ISO (YYYY-MM-DD), returns null if invalid */
629
+ dmyToIso(dmy) {
630
+ if (!dmy) return null;
631
+ const m = dmy.match(/^(\d{2})\.(\d{2})\.(\d{4})$/);
632
+ if (!m) return null;
633
+ const dd = Number(m[1]);
634
+ const mm = Number(m[2]);
635
+ const yyyy = Number(m[3]);
636
+ const d = new Date(yyyy, mm - 1, dd);
637
+ if (d.getFullYear() !== yyyy || d.getMonth() !== mm - 1 || d.getDate() !== dd) return null;
638
+ const localMidnight = DateUtils.startOfDayLocal(d);
639
+ return DateUtils.toLocalISODate(localMidnight);
640
+ }
641
+ formatInputValue() {
642
+ const loc = (this.locale || "").toLowerCase();
643
+ const langAttr = (this.getAttribute("lang") || "").toLowerCase();
644
+ const isGerman = loc.startsWith("de") || langAttr.startsWith("de");
645
+ const separator = isGerman ? "\u2013" : "-";
646
+ if (!this.range) {
647
+ return this.isoToDmy(this.value);
648
+ }
649
+ const start = this.isoToDmy(this.rangeStart);
650
+ const end = this.isoToDmy(this.rangeEnd);
651
+ if (start && end) return `${start} ${separator} ${end}`;
652
+ if (start && !end) return `${start} ${separator}`;
653
+ return "";
654
+ }
655
+ /** Parses input text (DD.MM.YYYY) into normalized internal ISO values with validation flag. */
656
+ parseInputText(text) {
657
+ var _a, _b;
658
+ const trimmed = text.trim();
659
+ if (this.range) {
660
+ const parts = trimmed.split(/\s*-\s*/);
661
+ if (parts.length === 1) {
662
+ const startCandidate = parts[0];
663
+ if (!startCandidate) return { start: null, end: null, valid: true };
664
+ const isoStart = this.dmyToIso(startCandidate);
665
+ if (!isoStart) return { start: null, end: null, valid: false };
666
+ return { start: isoStart, end: null, valid: true };
667
+ } else if (parts.length >= 2) {
668
+ const startCandidate = (_a = parts[0]) != null ? _a : "";
669
+ const endCandidate = (_b = parts[1]) != null ? _b : "";
670
+ const isoStart = startCandidate ? this.dmyToIso(startCandidate) : null;
671
+ const isoEnd = endCandidate ? this.dmyToIso(endCandidate) : null;
672
+ if (startCandidate && !isoStart) return { start: null, end: null, valid: false };
673
+ if (endCandidate && !isoEnd) return { start: null, end: null, valid: false };
674
+ return { start: isoStart, end: isoEnd, valid: true };
675
+ }
676
+ return { start: null, end: null, valid: false };
677
+ }
678
+ if (!trimmed) return { single: null, valid: true };
679
+ const iso = this.dmyToIso(trimmed);
680
+ if (!iso) return { single: null, valid: false };
681
+ return { single: iso, valid: true };
682
+ }
683
+ /** Applies parsed input into component state; returns true if state changed. */
684
+ applyParsedInput(parsed) {
685
+ var _a, _b, _c, _d;
686
+ if (!parsed.valid) {
687
+ this.showInvalidStyle = true;
688
+ this.showValidStyle = false;
689
+ this.formControlController.setValidity(false);
690
+ return false;
691
+ }
692
+ const inBoundsIso = (iso) => {
693
+ if (!iso) return true;
694
+ const d = DateUtils.parseLocalISO(iso);
695
+ if (!this.inMinMax(d)) return false;
696
+ if (this.isDisabled(d)) return false;
697
+ return true;
698
+ };
699
+ let changed = false;
700
+ if (this.range) {
701
+ const startIso = (_a = parsed.start) != null ? _a : null;
702
+ const endIso = (_b = parsed.end) != null ? _b : null;
703
+ if (!inBoundsIso(startIso) || endIso && !inBoundsIso(endIso)) {
704
+ this.showInvalidStyle = true;
705
+ this.showValidStyle = false;
706
+ return false;
707
+ }
708
+ let rs = startIso ? DateUtils.parseLocalISO(startIso) : null;
709
+ let re = endIso ? DateUtils.parseLocalISO(endIso) : null;
710
+ if (rs && re) {
711
+ if (DateUtils.compareDates(rs, re) > 0) {
712
+ const tmp = rs;
713
+ rs = re;
714
+ re = tmp;
715
+ }
716
+ if (!this.allowSameDayRange && DateUtils.isSameDay(rs, re)) {
717
+ this.showInvalidStyle = true;
718
+ this.showValidStyle = false;
719
+ return false;
720
+ }
721
+ if (this.wouldRangeContainDisabled(rs, re)) {
722
+ this.showInvalidStyle = true;
723
+ this.showValidStyle = false;
724
+ return false;
725
+ }
726
+ }
727
+ const newStart = rs ? DateUtils.toLocalISODate(DateUtils.startOfDayLocal(rs)) : null;
728
+ const newEnd = re ? DateUtils.toLocalISODate(DateUtils.startOfDayLocal(re)) : null;
729
+ if (this.rangeStart !== newStart || this.rangeEnd !== newEnd) {
730
+ this.rangeStart = newStart;
731
+ this.rangeEnd = newEnd;
732
+ this.previewEnd = null;
733
+ changed = true;
734
+ const pivot = (_c = rs != null ? rs : re) != null ? _c : this.today;
735
+ this.viewMonth = new Date(pivot.getFullYear(), pivot.getMonth(), 1);
736
+ this.focusedDate = DateUtils.startOfDayLocal(pivot);
737
+ this.emit("sd-range-select", { detail: { start: this.rangeStart, end: this.rangeEnd } });
738
+ }
739
+ this.showInvalidStyle = false;
740
+ if (this.range) {
741
+ this.showValidStyle = !!(this.rangeStart && this.rangeEnd && this.styleOnValid);
742
+ } else {
743
+ this.showValidStyle = !!(this.value && this.styleOnValid);
744
+ }
745
+ this.formControlController.setValidity(true);
746
+ this.updateComplete.then(() => {
747
+ this.formControlController.updateValidity();
748
+ });
749
+ return true;
750
+ }
751
+ const singleIso = (_d = parsed.single) != null ? _d : null;
752
+ if (!inBoundsIso(singleIso)) {
753
+ this.showInvalidStyle = true;
754
+ this.showValidStyle = false;
755
+ return false;
756
+ }
757
+ const v = singleIso ? DateUtils.parseLocalISO(singleIso) : null;
758
+ const newValue = v ? DateUtils.toLocalISODate(DateUtils.startOfDayLocal(v)) : null;
759
+ if (this.value !== newValue) {
760
+ this.value = newValue;
761
+ changed = true;
762
+ if (v) {
763
+ this.viewMonth = new Date(v.getFullYear(), v.getMonth(), 1);
764
+ this.focusedDate = DateUtils.startOfDayLocal(v);
765
+ }
766
+ this.emit("sd-select", { detail: { value: this.value, date: v != null ? v : null } });
767
+ }
768
+ this.showInvalidStyle = false;
769
+ this.showValidStyle = !!this.value;
770
+ this.inputValue = this.formatInputValue();
771
+ return changed;
772
+ }
773
+ /** Converts up to 8 digits into DD, DD.MM, or DD.MM.YYYY. */
774
+ buildDmyFromDigits(digits) {
775
+ const capped = digits.slice(0, 8);
776
+ const d = capped.slice(0, 2);
777
+ const m = capped.slice(2, 4);
778
+ const y = capped.slice(4, 8);
779
+ let out = d;
780
+ if (m.length) out += "." + m;
781
+ if (y.length) out += "." + y;
782
+ return out;
783
+ }
784
+ /** Maps digit count before caret to caret position in DD.MM.YYYY string. */
785
+ digitIndexToDmyCaretPos(digitIdx) {
786
+ if (digitIdx <= 2) return digitIdx;
787
+ if (digitIdx <= 4) return 2 + 1 + (digitIdx - 2);
788
+ return 2 + 1 + 2 + 1 + (digitIdx - 4);
789
+ }
790
+ /** Counts how many digits appear before the caret in the raw string. */
791
+ countDigitsBeforeCaret(raw, caretPos) {
792
+ return raw.slice(0, caretPos).replace(/\D/g, "").length;
793
+ }
794
+ handleOutsideClick(event) {
795
+ var _a, _b;
796
+ const path = (_b = (_a = event.composedPath) == null ? void 0 : _a.call(event)) != null ? _b : [];
797
+ if (!path.includes(this)) {
798
+ this.hide();
799
+ this.hasFocus = false;
800
+ this.emit("sd-datepicker-close");
801
+ }
802
+ }
803
+ show() {
804
+ if (this.open || this.disabled || this.visuallyDisabled) {
805
+ this.open = false;
806
+ return void 0;
807
+ }
808
+ this.open = true;
809
+ return void 0;
810
+ }
811
+ hide() {
812
+ if (!this.open || this.disabled) {
813
+ this.open = false;
814
+ return;
815
+ }
816
+ this.open = false;
817
+ }
818
+ handleMouseDown(event) {
819
+ if (this.visuallyDisabled || this.disabled) {
820
+ event.preventDefault();
821
+ event.stopPropagation();
822
+ return;
823
+ }
824
+ event.preventDefault();
825
+ if (!this.open) this.show();
826
+ }
827
+ handleBlur() {
828
+ this.hasFocus = false;
829
+ this.emit("sd-blur");
830
+ }
831
+ handleFocus() {
832
+ if (this.visuallyDisabled || this.disabled) {
833
+ return;
834
+ }
835
+ this.hasFocus = true;
836
+ if (!this.open && !this.disabled && !this.visuallyDisabled) {
837
+ this.show();
838
+ }
839
+ this.emit("sd-focus");
840
+ }
841
+ setMonth(offset) {
842
+ const next = new Date(this.viewMonth.getFullYear(), this.viewMonth.getMonth() + offset, 1);
843
+ if (next.getMonth() === this.viewMonth.getMonth() && next.getFullYear() === this.viewMonth.getFullYear()) return;
844
+ this.viewMonth = next;
845
+ const monthLabel = this.formatMonthYear(this.viewMonth);
846
+ this.setNavStatus(monthLabel);
847
+ this.emit("sd-month-change", { detail: { month: this.viewMonth } });
848
+ }
849
+ setYear(offset) {
850
+ const next = new Date(this.viewMonth.getFullYear() + offset, this.viewMonth.getMonth(), 1);
851
+ if (next.getFullYear() === this.viewMonth.getFullYear() && next.getMonth() === this.viewMonth.getMonth()) {
852
+ return;
853
+ }
854
+ this.viewMonth = next;
855
+ const monthLabel = this.formatMonthYear(this.viewMonth);
856
+ this.setNavStatus(monthLabel);
857
+ this.emit("sd-month-year", { detail: { month: this.viewMonth } });
858
+ }
859
+ focusInitialGridDay() {
860
+ let target = null;
861
+ if (!this.range && this.value) {
862
+ const v = DateUtils.parseLocalISO(this.value);
863
+ if (v) target = DateUtils.startOfDayLocal(v);
864
+ }
865
+ if (this.range) {
866
+ const rs = this.rangeStart ? DateUtils.parseLocalISO(this.rangeStart) : null;
867
+ const re = this.rangeEnd ? DateUtils.parseLocalISO(this.rangeEnd) : null;
868
+ if (re) target = DateUtils.startOfDayLocal(re);
869
+ else if (rs) target = DateUtils.startOfDayLocal(rs);
870
+ }
871
+ const inViewAndEnabled = (d) => {
872
+ if (!d) return false;
873
+ const sameMonth = d.getFullYear() === this.viewMonth.getFullYear() && d.getMonth() === this.viewMonth.getMonth();
874
+ return sameMonth && !this.isDisabled(d);
875
+ };
876
+ if (!inViewAndEnabled(target)) {
877
+ const { weeks } = this.getMonthMatrix(this.viewMonth);
878
+ const todayInView = weeks.flat().find(
879
+ (day) => day.getMonth() === this.viewMonth.getMonth() && DateUtils.isSameDay(day, this.today) && !this.isDisabled(day)
880
+ );
881
+ if (todayInView) {
882
+ target = DateUtils.startOfDayLocal(todayInView);
883
+ } else {
884
+ const firstEnabled = weeks.flat().find((day) => day.getMonth() === this.viewMonth.getMonth() && !this.isDisabled(day));
885
+ target = firstEnabled ? DateUtils.startOfDayLocal(firstEnabled) : null;
886
+ }
887
+ }
888
+ if (target) {
889
+ this.focusedDate = target;
890
+ }
891
+ this.requestUpdate();
892
+ requestAnimationFrame(() => {
893
+ const root = this.shadowRoot;
894
+ const selectedBtn = (root == null ? void 0 : root.querySelector("button.day.selected")) || (root == null ? void 0 : root.querySelector("button.day.focused")) || (root == null ? void 0 : root.querySelector('button.day[tabindex="0"]')) || (root == null ? void 0 : root.querySelector("button.day"));
895
+ selectedBtn == null ? void 0 : selectedBtn.focus({ preventScroll: true });
896
+ });
897
+ }
898
+ selectSingleDate(d) {
899
+ if (this.isDisabled(d)) return;
900
+ const localMidnight = DateUtils.startOfDayLocal(d);
901
+ const iso = DateUtils.toLocalISODate(localMidnight);
902
+ if (this.value === iso) return;
903
+ this.value = iso;
904
+ const announce = `${this.formatSelectionLabel(localMidnight)}, ${this.localize.term("selected")}`;
905
+ this.announceSelect(announce);
906
+ this.emit("sd-select", { detail: { value: this.value, date: localMidnight } });
907
+ this.inputValue = this.formatInputValue();
908
+ this.updateComplete.then(() => {
909
+ var _a;
910
+ const el = this.input;
911
+ if (el) {
912
+ el.value = (_a = this.inputValue) != null ? _a : "";
913
+ Promise.resolve().then(() => {
914
+ requestAnimationFrame(() => {
915
+ const end = el.value.length;
916
+ el.setSelectionRange(end, end);
917
+ });
918
+ });
919
+ }
920
+ });
921
+ }
922
+ selectRangeDate(d) {
923
+ const day = DateUtils.startOfDayLocal(d);
924
+ const rs = this.rangeStart ? DateUtils.parseLocalISO(this.rangeStart) : null;
925
+ const re = this.rangeEnd ? DateUtils.parseLocalISO(this.rangeEnd) : null;
926
+ if (!rs && !re) {
927
+ if (this.isDisabled(day)) return;
928
+ this.rangeStart = DateUtils.toLocalISODate(day);
929
+ this.rangeEnd = null;
930
+ this.previewEnd = null;
931
+ const startLabel = this.formatSelectionLabel(day);
932
+ this.announceSelect(`${this.termStartSelected()}: ${startLabel}`, 40);
933
+ this.emit("sd-range-select", { detail: { start: this.rangeStart, end: this.rangeEnd } });
934
+ this.inputValue = this.formatInputValue();
935
+ this.updateComplete.then(() => {
936
+ var _a;
937
+ const el = this.input;
938
+ if (el) {
939
+ el.value = (_a = this.inputValue) != null ? _a : "";
940
+ Promise.resolve().then(() => {
941
+ requestAnimationFrame(() => {
942
+ const end = el.value.length;
943
+ el.setSelectionRange(end, end);
944
+ });
945
+ });
946
+ }
947
+ });
948
+ return;
949
+ }
950
+ if (rs && !re) {
951
+ if (this.isDisabled(day)) return;
952
+ if (DateUtils.isSameDay(rs, day)) {
953
+ if (!this.allowSameDayRange) {
954
+ this.rangeStart = DateUtils.toLocalISODate(day);
955
+ this.rangeEnd = null;
956
+ this.previewEnd = null;
957
+ const startLabel2 = this.formatSelectionLabel(day);
958
+ this.announceSelect(`${this.termStartSelected()}: ${startLabel2}`, 40);
959
+ this.emit("sd-range-select", { detail: { start: this.rangeStart, end: this.rangeEnd } });
960
+ this.inputValue = this.formatInputValue();
961
+ this.updateComplete.then(() => {
962
+ var _a;
963
+ const el = this.input;
964
+ if (el) {
965
+ el.value = (_a = this.inputValue) != null ? _a : "";
966
+ Promise.resolve().then(() => {
967
+ requestAnimationFrame(() => {
968
+ const end2 = el.value.length;
969
+ el.setSelectionRange(end2, end2);
970
+ });
971
+ });
972
+ }
973
+ });
974
+ return;
975
+ }
976
+ this.rangeStart = DateUtils.toLocalISODate(day);
977
+ this.rangeEnd = DateUtils.toLocalISODate(day);
978
+ this.previewEnd = null;
979
+ const label = this.formatSelectionLabel(day);
980
+ this.announceSelect(`${this.termStartSelected()}: ${label}`, 40);
981
+ this.announceSelect(`${this.termEndSelected()}: ${label}`, 140);
982
+ this.emit("sd-range-select", { detail: { start: this.rangeStart, end: this.rangeEnd } });
983
+ this.inputValue = this.formatInputValue();
984
+ this.updateComplete.then(() => {
985
+ var _a;
986
+ const el = this.input;
987
+ if (el) {
988
+ el.value = (_a = this.inputValue) != null ? _a : "";
989
+ Promise.resolve().then(() => {
990
+ requestAnimationFrame(() => {
991
+ const end2 = el.value.length;
992
+ el.setSelectionRange(end2, end2);
993
+ });
994
+ });
995
+ }
996
+ });
997
+ return;
998
+ }
999
+ const rsDate = DateUtils.parseLocalISO(this.rangeStart);
1000
+ if (this.wouldRangeContainDisabled(rsDate, day)) return;
1001
+ const [start, end] = DateUtils.compareDates(rsDate, day) <= 0 ? [rsDate, day] : [day, rsDate];
1002
+ this.rangeStart = DateUtils.toLocalISODate(start);
1003
+ this.rangeEnd = DateUtils.toLocalISODate(end);
1004
+ this.previewEnd = null;
1005
+ const startLabel = this.formatSelectionLabel(start);
1006
+ const endLabel = this.formatSelectionLabel(end);
1007
+ this.announceSelect(`${this.termStartSelected()}: ${startLabel}`, 40);
1008
+ this.announceSelect(`${this.termEndSelected()}: ${endLabel}`, 140);
1009
+ this.emit("sd-range-select", { detail: { start: this.rangeStart, end: this.rangeEnd } });
1010
+ this.inputValue = this.formatInputValue();
1011
+ this.updateComplete.then(() => {
1012
+ var _a;
1013
+ const el = this.input;
1014
+ if (el) {
1015
+ el.value = (_a = this.inputValue) != null ? _a : "";
1016
+ Promise.resolve().then(() => {
1017
+ requestAnimationFrame(() => {
1018
+ const caretEnd = el.value.length;
1019
+ el.setSelectionRange(caretEnd, caretEnd);
1020
+ });
1021
+ });
1022
+ }
1023
+ });
1024
+ return;
1025
+ }
1026
+ if (rs && re) {
1027
+ if (this.isDisabled(day)) return;
1028
+ this.rangeStart = DateUtils.toLocalISODate(day);
1029
+ this.rangeEnd = null;
1030
+ this.previewEnd = null;
1031
+ const startLabel = this.formatSelectionLabel(day);
1032
+ this.announceSelect(`${this.termStartSelected()}: ${startLabel}`, 40);
1033
+ this.emit("sd-range-select", { detail: { start: this.rangeStart, end: this.rangeEnd } });
1034
+ this.inputValue = this.formatInputValue();
1035
+ this.updateComplete.then(() => {
1036
+ var _a;
1037
+ const el = this.input;
1038
+ if (el) {
1039
+ el.value = (_a = this.inputValue) != null ? _a : "";
1040
+ Promise.resolve().then(() => {
1041
+ requestAnimationFrame(() => {
1042
+ const end = el.value.length;
1043
+ el.setSelectionRange(end, end);
1044
+ });
1045
+ });
1046
+ }
1047
+ });
1048
+ }
1049
+ }
1050
+ selectDate(d) {
1051
+ if (this.range) this.selectRangeDate(d);
1052
+ else this.selectSingleDate(d);
1053
+ }
1054
+ getMonthMatrix(monthRef) {
1055
+ var _a;
1056
+ const fdw = (_a = this.firstDayOfWeek) != null ? _a : 1;
1057
+ const firstOfMonth = new Date(monthRef.getFullYear(), monthRef.getMonth(), 1);
1058
+ const start = new Date(firstOfMonth);
1059
+ const offset = (firstOfMonth.getDay() - fdw + 7) % 7;
1060
+ start.setDate(firstOfMonth.getDate() - offset);
1061
+ const weeks = [];
1062
+ const cursor = start;
1063
+ for (let w = 0; w < 6; w++) {
1064
+ const row = [];
1065
+ for (let d = 0; d < 7; d++) {
1066
+ row.push(new Date(cursor));
1067
+ cursor.setDate(cursor.getDate() + 1);
1068
+ }
1069
+ weeks.push(row);
1070
+ }
1071
+ return { weeks };
1072
+ }
1073
+ formatMonthYear(d) {
1074
+ try {
1075
+ return new Intl.DateTimeFormat(this.locale, { month: "long", year: "numeric" }).format(d);
1076
+ } catch (e) {
1077
+ return `${d.toLocaleString(void 0, { month: "long" })} ${d.getFullYear()}`;
1078
+ }
1079
+ }
1080
+ weekdayLabels() {
1081
+ var _a;
1082
+ const fdw = (_a = this.firstDayOfWeek) != null ? _a : 1;
1083
+ const base = new Date(2021, 7, 1);
1084
+ const labels = [];
1085
+ for (let i = 0; i < 7; i++) {
1086
+ const day = new Date(base);
1087
+ day.setDate(base.getDate() + (fdw + i) % 7);
1088
+ try {
1089
+ labels.push(new Intl.DateTimeFormat(this.locale, { weekday: "short" }).format(day));
1090
+ } catch (e) {
1091
+ labels.push(day.toLocaleDateString(void 0, { weekday: "short" }));
1092
+ }
1093
+ }
1094
+ return labels;
1095
+ }
1096
+ /** Chooses a tabbable day when tabbing into the grid (today or first enabled). */
1097
+ getTabTargetDayForCurrentView(weeks) {
1098
+ const inViewToday = weeks.flat().find(
1099
+ (d) => d.getMonth() === this.viewMonth.getMonth() && DateUtils.isSameDay(d, this.today) && !this.isDisabled(d)
1100
+ );
1101
+ if (inViewToday) return DateUtils.startOfDayLocal(inViewToday);
1102
+ const firstEnabled = weeks.flat().find((d) => d.getMonth() === this.viewMonth.getMonth() && !this.isDisabled(d));
1103
+ return firstEnabled ? DateUtils.startOfDayLocal(firstEnabled) : null;
1104
+ }
1105
+ /** Mouse enter on a day: updates preview end when selecting a range. */
1106
+ onDayMouseEnter(day) {
1107
+ if (!this.range) return;
1108
+ const rs = this.rangeStart ? DateUtils.parseLocalISO(this.rangeStart) : null;
1109
+ const re = this.rangeEnd ? DateUtils.parseLocalISO(this.rangeEnd) : null;
1110
+ if (rs && !re) {
1111
+ const local = DateUtils.startOfDayLocal(day);
1112
+ this.previewEnd = this.isDisabled(local) ? null : local;
1113
+ this.requestUpdate();
1114
+ }
1115
+ }
1116
+ onGridMouseLeave() {
1117
+ if (this.previewEnd !== null) {
1118
+ this.previewEnd = null;
1119
+ this.requestUpdate();
1120
+ }
1121
+ }
1122
+ renderCalendar() {
1123
+ const { weeks } = this.getMonthMatrix(this.viewMonth);
1124
+ const monthLabel = this.formatMonthYear(this.viewMonth);
1125
+ const weekdays = this.weekdayLabels();
1126
+ const selectedSingle = this.value ? this.parseISO(this.value) : null;
1127
+ const rs = this.rangeStart ? this.parseISO(this.rangeStart) : null;
1128
+ const re = this.rangeEnd ? this.parseISO(this.rangeEnd) : null;
1129
+ const pe = this.previewEnd;
1130
+ const isInPreviewRange = (day) => {
1131
+ if (!this.range || !rs || re || !pe) return false;
1132
+ return DateUtils.isBetweenInclusive(day, rs, pe);
1133
+ };
1134
+ const tabTarget = this.getTabTargetDayForCurrentView(weeks);
1135
+ return html`<div part="datepicker" class="w-[284px] z-50 absolute top-full bg-white border-2 border-t-0 border-primary py-3 px-4 ${this.open ? "block rounded-bl-default rounded-br-default" : "hidden"} ${this.alignment === "left" ? "left-0" : "right-0"}"><div class="flex flex-row items-center w-full justify-between mb-3" part="header"><div class="flex items-center"><button type="button" tabindex="0" class="nav prev w-6 h-6 hover:cursor-pointer sd-interactive" part="prev-year-button" @click="${() => this.setYear(-1)}" @keydown="${(ev) => this.handleHeaderKeyDown(ev, "year", -1, false)}" aria-label="${this.localize.term("previousYear")}"><sd-icon library="_internal" name="chevrons-sm-left" class="h-6 w-6"></sd-icon></button> <button type="button" tabindex="0" class="nav prev w-6 h-6 hover:cursor-pointer sd-interactive" part="prev-month-button" @click="${() => this.setMonth(-1)}" @keydown="${(ev) => this.handleHeaderKeyDown(ev, "month", -1, false)}" aria-label="${this.localize.term("previousMonth")}"><sd-icon library="_internal" name="chevron-sm-left" class="h-6 w-6"></sd-icon></button></div><div tabindex="-1" class="month-label flex justify-center sd-headline sd-headline--size-base !text-primary" part="month-label" aria-live="polite">${monthLabel}</div><div class="flex items-center"><button type="button" tabindex="0" class="nav next w-6 h-6 hover:cursor-pointer sd-interactive" part="next-month-button" @click="${() => this.setMonth(1)}" @keydown="${(ev) => this.handleHeaderKeyDown(ev, "month", 1, false)}" aria-label="${this.localize.term("nextMonth")}"><sd-icon library="_internal" name="chevron-sm-right" class="h-6 w-6"></sd-icon></button> <button type="button" tabindex="0" class="nav next w-6 h-6 hover:cursor-pointer sd-interactive" part="next-year-button" @click="${() => this.setYear(1)}" @keydown="${(ev) => this.handleHeaderKeyDown(ev, "year", 1, true)}" aria-label="${this.localize.term("nextYear")}"><sd-icon library="_internal" name="chevrons-sm-right" class="h-6 w-6"></sd-icon></button></div></div><sd-divider></sd-divider><div class="sr-only" aria-live="polite" aria-atomic="true">${this.statusNavText}</div><div class="sr-only" aria-live="assertive" aria-atomic="true">${this.statusSelectText}</div><div class="sr-only" id="keyboard-hint">${this.localize.term("datePickerInfo")}</div><div class="grid mt-2" role="grid" aria-describedby="keyboard-hint" aria-label="${monthLabel}" part="grid" @mouseleave="${this.onGridMouseLeave}" @focusin="${() => {
1136
+ this.tabbingIntoGrid = false;
1137
+ }}"><div class="grid-row grid-head grid grid-cols-7 gap-y-[1px]" role="row">${weekdays.map(
1138
+ (w, colIndex) => html`<div role="columnheader" aria-colindex="${colIndex + 1}" part="weekday" class="cell head flex items-center justify-center font-bold text-black text-sm leading-none h-8" aria-label="${w}" title="${w}" id="${"col-" + (colIndex + 1)}">${w}</div>`
1139
+ )}</div>${weeks.map(
1140
+ (week, rowIndex) => html`<div class="grid-row grid grid-cols-7 ${rowIndex === 0 ? "mt-2" : ""}" role="row" aria-rowindex="${rowIndex + 2}">${week.map((day, colIndex) => {
1141
+ const inMonth = day.getMonth() === this.viewMonth.getMonth();
1142
+ const disabled = this.isDisabled(day);
1143
+ const isFocused = DateUtils.isSameDay(day, this.focusedDate);
1144
+ const isToday = DateUtils.isSameDay(day, this.today);
1145
+ const isSelectedSingle = !this.range && selectedSingle ? DateUtils.isSameDay(day, selectedSingle) : false;
1146
+ const isRangeStart = this.range && rs ? DateUtils.isSameDay(day, rs) : false;
1147
+ const isRangeEnd = this.range && re ? DateUtils.isSameDay(day, re) : false;
1148
+ const inSelectedRange = this.range && rs && re ? DateUtils.isBetweenInclusive(day, rs, re) : false;
1149
+ const inPreviewRange = isInPreviewRange(day) && !disabled;
1150
+ let tabIndex = -1;
1151
+ const isTabTarget = tabTarget && DateUtils.isSameDay(day, tabTarget);
1152
+ if (this.tabbingIntoGrid && isTabTarget) {
1153
+ tabIndex = 0;
1154
+ } else if (!this.tabbingIntoGrid && isFocused) {
1155
+ tabIndex = 0;
1156
+ }
1157
+ const isWeekendDay = this.isWeekend(day);
1158
+ const label = day.toLocaleDateString(this.locale, {
1159
+ weekday: "long",
1160
+ day: "numeric",
1161
+ month: "long",
1162
+ year: "numeric"
1163
+ });
1164
+ const roleDesc = isRangeStart ? this.localize.term("startDateSelected") : isRangeEnd ? this.localize.term("endDateSelected") : void 0;
1165
+ return html`<button type="button" part="day" class="${cx(
1166
+ "cell day flex items-center justify-center focus-visible:outline focus:outline-2 focus:outline-primary -outline-offset-2 rounded-md w-[36px]",
1167
+ this.size === "sm" ? "text-sm h-6" : "text-base h-8",
1168
+ isRangeStart || isRangeEnd ? "hover:bg-primary-500" : "hover:bg-primary-100 hover:text-primary-500",
1169
+ !inMonth ? isWeekendDay ? "out-month weekend-day text-neutral-500" : "out-month text-neutral-700" : this.isInDisabledDates(day) ? "out-month text-neutral-700" : this.disabledWeekends && isWeekendDay ? "weekend-day text-neutral-500" : "in-month text-primary",
1170
+ isSelectedSingle ? "selected border-primary bg-primary text-white hover:bg-primary-500 hover:text-white" : "",
1171
+ isRangeStart ? "bg-primary text-white rounded-l-md rounded-r-none" : "",
1172
+ isRangeEnd ? "bg-primary text-white range-end rounded-r-md rounded-l-none" : "",
1173
+ inSelectedRange && !isRangeStart && !isRangeEnd ? "in-range selected bg-primary-100 text-primary-500 rounded-none hover:bg-primary-500 hover:text-white" : "",
1174
+ !inSelectedRange && inPreviewRange && !isRangeStart && !isRangeEnd ? "in-preview-range bg-primary-100 text-primary-500 rounded-none" : "",
1175
+ isToday && !isSelectedSingle && !isRangeStart && !isRangeEnd && isFocused ? "today border-[1px] border-primary font-bold" : "",
1176
+ disabled ? "disabled cursor-not-allowed hover:bg-transparent" : "",
1177
+ isFocused && !isToday ? "focused outline outline-2 outline-primary" : ""
1178
+ )}" role="gridcell" aria-colindex="${colIndex + 1}" aria-labelledby="${"col-" + (colIndex + 1)}" .tabIndex="${tabIndex}" ?disabled="${disabled || this.disabled}" aria-disabled="${disabled || this.visuallyDisabled || this.disabled ? "true" : "false"}" aria-selected="${isSelectedSingle || inSelectedRange || isRangeStart || isRangeEnd ? "true" : "false"}" aria-current="${isToday ? "date" : nothing}" aria-label="${label}" aria-roledescription="${roleDesc != null ? roleDesc : nothing}" @focus="${() => this.focusedDate = DateUtils.startOfDayLocal(day)}" @mouseenter="${() => this.onDayMouseEnter(day)}" @keydown="${this.onKeyDown}" @click="${() => {
1179
+ this.focusedDate = DateUtils.startOfDayLocal(day);
1180
+ this.selectDate(day);
1181
+ }}">${day.getDate()}</button>`;
1182
+ })}</div>`
1183
+ )}</div></div>`;
1184
+ }
1185
+ render() {
1186
+ const slots = {
1187
+ label: this.hasSlotController.test("label"),
1188
+ helpText: this.hasSlotController.test("help-text"),
1189
+ tooltip: this.hasSlotController.test("tooltip")
1190
+ };
1191
+ const hasLabel = this.label ? true : !!slots["label"];
1192
+ const hasHelpText = this.helpText ? true : !!slots["helpText"];
1193
+ const hasTooltip = !!slots["tooltip"];
1194
+ const iconColor = this.disabled || this.visuallyDisabled ? "text-neutral-500" : "text-primary";
1195
+ const iconMarginLeft = { sm: "ml-1", md: "ml-2", lg: "ml-2" }[this.size];
1196
+ const iconSize = { sm: "text-base", md: "text-lg", lg: "text-xl" }[this.size];
1197
+ const inputState = this.disabled ? "disabled" : this.visuallyDisabled && !this.hasFocus ? "visuallyDisabled" : this.readonly ? "readonly" : this.hasFocus && this.showInvalidStyle ? "activeInvalid" : this.hasFocus && this.styleOnValid && this.showValidStyle ? "activeValid" : this.hasFocus || this.open ? "active" : this.showInvalidStyle ? "invalid" : this.styleOnValid && this.showValidStyle ? "valid" : "default";
1198
+ const borderColor = {
1199
+ disabled: "border-neutral-500",
1200
+ visuallyDisabled: "border-neutral-500",
1201
+ readonly: "border-neutral-800",
1202
+ activeInvalid: "border-error border-2",
1203
+ activeValid: "border-success border-2",
1204
+ active: "border-primary border-2",
1205
+ invalid: "border-error",
1206
+ valid: "border-success",
1207
+ default: "border-neutral-800"
1208
+ }[inputState];
1209
+ const textSize = this.size === "sm" ? "text-sm" : "text-base";
1210
+ return html`<div part="form-control" class="${cx("w-[370px]", this.open && "z-50", (this.disabled || this.visuallyDisabled) && "cursor-not-allowed")}">${hasLabel || hasTooltip ? html`<div class="flex items-center gap-1 mb-2"><label part="form-control-label" id="label" class="${cx(hasLabel ? "inline-block" : "hidden", textSize)}" for="input" aria-hidden="${hasLabel ? "false" : "true"}"><slot name="label">${this.label}</slot></label> ${slots["tooltip"] ? html`<slot name="tooltip"></slot>` : ""}</div>` : null}<div part="form-control-input" class="${cx(
1211
+ "relative w-full",
1212
+ this.disabled && "pointer-events-none",
1213
+ this.visuallyDisabled && "cursor-not-allowed"
1214
+ )}"><div part="border" class="${cx(
1215
+ "absolute top-0 w-full h-full pointer-events-none border rounded-default z-10 transition-[border] duration-medium ease-in-out",
1216
+ borderColor,
1217
+ this.open && this.alignment === "left" ? "rounded-bl-none" : "",
1218
+ this.open && this.alignment === "right" ? "rounded-br-none" : ""
1219
+ )}"></div><sd-popup @sd-current-placement="${this.handleCurrentPlacement}" class="${cx("inline-flex relative w-full")}" sync="width" auto-size="vertical" auto-size-padding="10" exportparts="popup:popup__content,"><div part="base" class="${cx(
1220
+ "px-4 flex flex-row items-center rounded-default transition-colors ease-in-out duration-medium hover:duration-fast w-full",
1221
+ !this.disabled && !this.readonly && !this.visuallyDisabled ? "hover:bg-neutral-200" : "",
1222
+ this.readonly ? "bg-neutral-100" : "bg-white",
1223
+ inputState === "disabled" || inputState === "visuallyDisabled" ? "text-neutral-500" : "text-black"
1224
+ )}" slot="anchor"><input id="input" type="text" role="combobox" aria-expanded="${this.open ? "true" : "false"}" aria-haspopup="dialog" aria-controls="calendar-grid" aria-describedby="${hasHelpText ? "help-text" : void 0}" aria-invalid="${this.showInvalidStyle ? "true" : "false"}" aria-label="${this.range ? "Select date range" : "Select a date"}" class="${cx(
1225
+ "min-w-0 flex-grow focus:outline-none bg-transparent",
1226
+ this.visuallyDisabled || this.disabled ? "placeholder-neutral-500 cursor-not-allowed" : "placeholder-neutral-700",
1227
+ { sm: "h-8", md: "h-10", lg: "h-12" }[this.size],
1228
+ textSize
1229
+ )}" placeholder="${this.placeholder || this.localize.term(this.range ? "dateRangePlaceholder" : "datePlaceholder")}" ?disabled="${this.disabled || this.disabled}" ?readonly="${this.readonly}" @input="${this.handleInput}" @click="${this.handleMouseDown}" @keydown="${this.handleInputKeyDown}" @focus="${this.handleFocus}" @blur="${this.handleInputBlur}" @invalid="${this.handleInvalid}"> ${this.showInvalidStyle ? html`<sd-icon part="invalid-icon" class="${cx("text-error", iconMarginLeft, iconSize)}" library="_internal" name="risk"></sd-icon>` : ""} ${this.showValidStyle && this.styleOnValid ? html`<sd-icon class="${cx("text-success flex-shrink-0", iconMarginLeft, iconSize)}" library="_internal" name="confirm-circle" part="valid-icon"></sd-icon>` : ""}<sd-icon class="${cx(iconColor, iconMarginLeft, iconSize)}" library="_internal" name="calendar"></sd-icon>${this.renderCalendar()}</div></sd-popup></div><slot name="help-text" part="form-control-help-text" id="help-text" class="${cx("text-sm text-neutral-700 mt-1", hasHelpText ? "block" : "hidden")}" aria-hidden="${!hasHelpText}">${this.helpText}</slot></div>${this.formControlController.renderInvalidMessage()}`;
1230
+ }
1231
+ };
1232
+ SdDatepicker.styles = [
1233
+ ...SolidElement.styles,
1234
+ css`:host{display:inline-block;outline:2px solid transparent;outline-offset:2px;position:relative}:host([required]) #label:after{content:" *"}`
1235
+ ];
1236
+ __decorateClass([
1237
+ property({ type: String, reflect: true })
1238
+ ], SdDatepicker.prototype, "locale", 2);
1239
+ __decorateClass([
1240
+ property({ type: String })
1241
+ ], SdDatepicker.prototype, "value", 2);
1242
+ __decorateClass([
1243
+ property({ type: Boolean, reflect: true })
1244
+ ], SdDatepicker.prototype, "range", 2);
1245
+ __decorateClass([
1246
+ property({ type: String })
1247
+ ], SdDatepicker.prototype, "rangeStart", 2);
1248
+ __decorateClass([
1249
+ property({ type: String })
1250
+ ], SdDatepicker.prototype, "rangeEnd", 2);
1251
+ __decorateClass([
1252
+ property({ type: Boolean })
1253
+ ], SdDatepicker.prototype, "allowSameDayRange", 2);
1254
+ __decorateClass([
1255
+ property({ type: String })
1256
+ ], SdDatepicker.prototype, "min", 2);
1257
+ __decorateClass([
1258
+ property({ type: String })
1259
+ ], SdDatepicker.prototype, "max", 2);
1260
+ __decorateClass([
1261
+ property({ type: Number })
1262
+ ], SdDatepicker.prototype, "firstDayOfWeek", 2);
1263
+ __decorateClass([
1264
+ property({ type: Boolean, reflect: true, attribute: "disabled-weekends" })
1265
+ ], SdDatepicker.prototype, "disabledWeekends", 2);
1266
+ __decorateClass([
1267
+ property({ attribute: "disabled-dates" })
1268
+ ], SdDatepicker.prototype, "disabledDates", 2);
1269
+ __decorateClass([
1270
+ property({ attribute: false })
1271
+ ], SdDatepicker.prototype, "isDateDisabled", 2);
1272
+ __decorateClass([
1273
+ property({ type: String, reflect: true })
1274
+ ], SdDatepicker.prototype, "size", 2);
1275
+ __decorateClass([
1276
+ property({ type: String })
1277
+ ], SdDatepicker.prototype, "alignment", 2);
1278
+ __decorateClass([
1279
+ property({ type: String, reflect: true })
1280
+ ], SdDatepicker.prototype, "label", 2);
1281
+ __decorateClass([
1282
+ property({ type: String, attribute: "help-text", reflect: true })
1283
+ ], SdDatepicker.prototype, "helpText", 2);
1284
+ __decorateClass([
1285
+ property({ type: Boolean, reflect: true })
1286
+ ], SdDatepicker.prototype, "disabled", 2);
1287
+ __decorateClass([
1288
+ property({ type: Boolean, attribute: "visually-disabled" })
1289
+ ], SdDatepicker.prototype, "visuallyDisabled", 2);
1290
+ __decorateClass([
1291
+ property({ type: Boolean, reflect: true, attribute: "style-on-valid" })
1292
+ ], SdDatepicker.prototype, "styleOnValid", 2);
1293
+ __decorateClass([
1294
+ property({ type: Boolean, reflect: true })
1295
+ ], SdDatepicker.prototype, "readonly", 2);
1296
+ __decorateClass([
1297
+ property({ type: String, reflect: true })
1298
+ ], SdDatepicker.prototype, "placement", 2);
1299
+ __decorateClass([
1300
+ property({ type: String, reflect: true })
1301
+ ], SdDatepicker.prototype, "placeholder", 2);
1302
+ __decorateClass([
1303
+ property({ reflect: true })
1304
+ ], SdDatepicker.prototype, "name", 2);
1305
+ __decorateClass([
1306
+ property({ type: String, reflect: true })
1307
+ ], SdDatepicker.prototype, "form", 2);
1308
+ __decorateClass([
1309
+ state()
1310
+ ], SdDatepicker.prototype, "open", 2);
1311
+ __decorateClass([
1312
+ state()
1313
+ ], SdDatepicker.prototype, "viewMonth", 2);
1314
+ __decorateClass([
1315
+ state()
1316
+ ], SdDatepicker.prototype, "focusedDate", 2);
1317
+ __decorateClass([
1318
+ state()
1319
+ ], SdDatepicker.prototype, "today", 2);
1320
+ __decorateClass([
1321
+ state()
1322
+ ], SdDatepicker.prototype, "disabledDatesSet", 2);
1323
+ __decorateClass([
1324
+ state()
1325
+ ], SdDatepicker.prototype, "previewEnd", 2);
1326
+ __decorateClass([
1327
+ state()
1328
+ ], SdDatepicker.prototype, "statusNavText", 2);
1329
+ __decorateClass([
1330
+ state()
1331
+ ], SdDatepicker.prototype, "statusSelectText", 2);
1332
+ __decorateClass([
1333
+ state()
1334
+ ], SdDatepicker.prototype, "hasFocus", 2);
1335
+ __decorateClass([
1336
+ state()
1337
+ ], SdDatepicker.prototype, "showValidStyle", 2);
1338
+ __decorateClass([
1339
+ state()
1340
+ ], SdDatepicker.prototype, "showInvalidStyle", 2);
1341
+ __decorateClass([
1342
+ state()
1343
+ ], SdDatepicker.prototype, "currentPlacement", 2);
1344
+ __decorateClass([
1345
+ state()
1346
+ ], SdDatepicker.prototype, "inputValue", 2);
1347
+ __decorateClass([
1348
+ query("#invalid-message")
1349
+ ], SdDatepicker.prototype, "invalidMessage", 2);
1350
+ __decorateClass([
1351
+ query("#input")
1352
+ ], SdDatepicker.prototype, "input", 2);
1353
+ __decorateClass([
1354
+ watch("locale")
1355
+ ], SdDatepicker.prototype, "handleLocaleChange", 1);
1356
+ __decorateClass([
1357
+ watch("disabledDates")
1358
+ ], SdDatepicker.prototype, "handleDisabledDatesChange", 1);
1359
+ __decorateClass([
1360
+ watch("value")
1361
+ ], SdDatepicker.prototype, "handleValueChange", 1);
1362
+ __decorateClass([
1363
+ watch("rangeStart"),
1364
+ watch("rangeEnd")
1365
+ ], SdDatepicker.prototype, "handleRangeChange", 1);
1366
+ __decorateClass([
1367
+ watch(["disabled", "visually-disabled"], { waitUntilFirstUpdate: true })
1368
+ ], SdDatepicker.prototype, "handleDisabledChange", 1);
1369
+ SdDatepicker = __decorateClass([
1370
+ customElement("sd-datepicker")
1371
+ ], SdDatepicker);
1372
+
1373
+ export {
1374
+ SdDatepicker
1375
+ };