@luzmo/analytics-components-kit 1.0.1-alpha.31 → 1.0.1-alpha.33

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 (218) hide show
  1. package/components/{async-directive-C_bp5UcZ-B5_19oN_.js → async-directive-BfcqVjDp-BCT-lA4F.js} +8 -8
  2. package/components/{async-directive-C_bp5UcZ-mUPcBvyn.cjs → async-directive-BfcqVjDp-C8C45jl6.cjs} +3 -3
  3. package/components/{base-D76d76ww-D0dTUBua.js → base-D76d76ww-BGkuhs54.js} +59 -47
  4. package/components/{base-D76d76ww-BEIhYtgV.cjs → base-D76d76ww-tT6yr8eb.cjs} +9 -9
  5. package/components/{button-base-WsJSnMie-B1TLbPwk.cjs → button-base-DbkDzb71-CY6MJGqE.cjs} +2 -2
  6. package/components/{button-base-WsJSnMie-CyGPs7kd.js → button-base-DbkDzb71-R8oqSqlY.js} +4 -4
  7. package/components/calculate-data-item-icon-BtUWtDx3.cjs +20 -0
  8. package/components/calculate-data-item-icon-DauSiV8c.js +97 -0
  9. package/components/{checkbox-mixin-CmeCReJh-wY0R8cuc.cjs → checkbox-mixin-Do7EgtpQ-D3m-dMTI.cjs} +3 -3
  10. package/components/{checkbox-mixin-CmeCReJh-C94-rm4F.js → checkbox-mixin-Do7EgtpQ-hne79zc-.js} +2 -2
  11. package/components/{de-BaTUIQk1.js → de-CCq00pbq.js} +55 -1
  12. package/components/de-DcZysUyZ.cjs +20 -0
  13. package/components/{directive-helpers-Bx_ey3Gk-BxvL9t9F.cjs → directive-helpers-Cm6gitnu-BeggOiwf.cjs} +4 -4
  14. package/components/{directive-helpers-Bx_ey3Gk-Csi4AxXe.js → directive-helpers-Cm6gitnu-CeYtlPO9.js} +53 -19
  15. package/components/display-settings/index.cjs +1 -1
  16. package/components/display-settings/index.js +18 -17
  17. package/components/display-settings-binning/display-settings-binning.d.ts +0 -1
  18. package/components/display-settings-binning/index.cjs +3 -2
  19. package/components/display-settings-binning/index.js +21 -21
  20. package/components/display-settings-datetime/index.cjs +2 -2
  21. package/components/display-settings-datetime/index.js +37 -35
  22. package/components/display-settings-grand-totals/display-settings-grand-totals.d.ts +0 -1
  23. package/components/display-settings-grand-totals/index.cjs +4 -3
  24. package/components/display-settings-grand-totals/index.js +21 -21
  25. package/components/display-settings-numeric/display-settings-numeric.d.ts +1 -0
  26. package/components/display-settings-numeric/index.cjs +16 -16
  27. package/components/display-settings-numeric/index.js +54 -52
  28. package/components/display-settings-period-over-period/index.cjs +6 -6
  29. package/components/display-settings-period-over-period/index.js +36 -34
  30. package/components/draggable-data-item/index.cjs +3 -3
  31. package/components/draggable-data-item/index.js +15 -13
  32. package/components/draggable-data-item-level/index.cjs +9 -9
  33. package/components/draggable-data-item-level/index.js +96 -167
  34. package/components/droppable-slot/index.cjs +2 -2
  35. package/components/droppable-slot/index.js +21 -19
  36. package/components/edit-item/index.cjs +11 -11
  37. package/components/edit-item/index.js +13 -12
  38. package/components/edit-option/index.cjs +1 -1
  39. package/components/edit-option/index.js +1 -1
  40. package/components/edit-option-action-button-group/index.cjs +2 -1
  41. package/components/edit-option-action-button-group/index.js +44 -43
  42. package/components/edit-option-base-CSJNbo2E.cjs +53 -0
  43. package/components/{edit-option-base-DOezOLDd.js → edit-option-base-DeQjGX4i.js} +5 -4
  44. package/components/edit-option-color-picker/index.cjs +23 -23
  45. package/components/edit-option-color-picker/index.js +50 -50
  46. package/components/edit-option-multi-language-field/index.cjs +1 -1
  47. package/components/edit-option-multi-language-field/index.js +3 -3
  48. package/components/edit-option-number-field/index.cjs +2 -2
  49. package/components/edit-option-number-field/index.js +3 -3
  50. package/components/edit-option-picker/index.cjs +2 -2
  51. package/components/edit-option-picker/index.js +4 -4
  52. package/components/edit-option-position-picker/index.cjs +1 -1
  53. package/components/edit-option-position-picker/index.js +3 -3
  54. package/components/edit-option-positions-number-field/index.cjs +1 -1
  55. package/components/edit-option-positions-number-field/index.js +7 -7
  56. package/components/edit-option-radio-button-group/index.cjs +4 -4
  57. package/components/edit-option-radio-button-group/index.js +4 -4
  58. package/components/edit-option-slider/index.cjs +2 -2
  59. package/components/edit-option-slider/index.js +27 -27
  60. package/components/edit-option-switch/index.cjs +3 -3
  61. package/components/edit-option-switch/index.js +5 -5
  62. package/components/edit-option-text-field/index.cjs +2 -2
  63. package/components/edit-option-text-field/index.js +3 -3
  64. package/components/es-CGiBfBKJ.cjs +20 -0
  65. package/components/{es-D37mTCZB.js → es-DBmbFw-L.js} +55 -1
  66. package/components/filter-data-item-picker/filter-data-item-picker.d.ts +88 -0
  67. package/components/filter-data-item-picker/index.cjs +47 -0
  68. package/components/filter-data-item-picker/index.d.ts +7 -0
  69. package/components/filter-data-item-picker/index.js +193 -0
  70. package/components/filter-expression-picker/filter-expression-picker.d.ts +74 -0
  71. package/components/filter-expression-picker/index.cjs +20 -0
  72. package/components/filter-expression-picker/index.d.ts +7 -0
  73. package/components/filter-expression-picker/index.js +30 -0
  74. package/components/filter-group/filter-group.d.ts +26 -0
  75. package/components/filter-group/index.d.ts +7 -0
  76. package/components/filter-item/filter-item.d.ts +76 -0
  77. package/components/filter-item/index.cjs +52 -0
  78. package/components/filter-item/index.d.ts +7 -0
  79. package/components/filter-item/index.js +271 -0
  80. package/components/filter-parameter-picker/filter-parameter-picker.d.ts +25 -0
  81. package/components/filter-parameter-picker/index.d.ts +7 -0
  82. package/components/filter-value-picker/filter-value-picker.d.ts +65 -0
  83. package/components/filter-value-picker/index.cjs +51 -0
  84. package/components/filter-value-picker/index.d.ts +7 -0
  85. package/components/filter-value-picker/index.js +149 -0
  86. package/components/filter-value-picker-datetime/filter-value-picker-datetime.d.ts +43 -0
  87. package/components/filter-value-picker-datetime/index.cjs +288 -0
  88. package/components/filter-value-picker-datetime/index.d.ts +7 -0
  89. package/components/filter-value-picker-datetime/index.js +2820 -0
  90. package/components/filter-value-picker-hierarchy/filter-value-picker-hierarchy.d.ts +82 -0
  91. package/components/filter-value-picker-hierarchy/index.cjs +46 -0
  92. package/components/filter-value-picker-hierarchy/index.d.ts +7 -0
  93. package/components/filter-value-picker-hierarchy/index.js +278 -0
  94. package/components/filter-value-picker-numeric/filter-value-picker-numeric.d.ts +83 -0
  95. package/components/filter-value-picker-numeric/index.cjs +46 -0
  96. package/components/filter-value-picker-numeric/index.d.ts +7 -0
  97. package/components/filter-value-picker-numeric/index.js +274 -0
  98. package/components/flow-D-0MTYCm-BOBCoA5Z.js +546 -0
  99. package/components/flow-D-0MTYCm-BW5krWol.cjs +48 -0
  100. package/components/{focusable-BNESohBR-DbTLvYXr.cjs → focusable-BxtpnzWp-CkK9AeMt.cjs} +2 -2
  101. package/components/{focusable-BNESohBR-DYvAZYXL.js → focusable-BxtpnzWp-DJQkL8Zv.js} +1 -1
  102. package/components/focusable-DB6Uhr-C.js +275 -0
  103. package/components/focusable-_wp5pWO-.cjs +20 -0
  104. package/components/{fr-BWJHvkss.js → fr-BOwMikLT.js} +55 -1
  105. package/components/fr-DZbYwMlh.cjs +20 -0
  106. package/components/{get-css-variable-Bhbr-Kr1.js → get-css-variable-YlLiVgo8.js} +2 -2
  107. package/components/{if-defined-DbhS35z5.js → if-defined-B4gwZxx6.js} +1 -1
  108. package/components/{if-defined-D-1p2bLN-Bn-33APC.js → if-defined-DOaE2coe-CNT45Xcl.js} +1 -1
  109. package/components/{if-defined-D-1p2bLN-0_AoRnT2.cjs → if-defined-DOaE2coe-Cvlu5s9n.cjs} +1 -1
  110. package/components/{if-defined-CF8baNdl.cjs → if-defined-DqthfJme.cjs} +2 -2
  111. package/components/{index-Dwp251OJ.js → index-5mZhN-HJ.js} +7 -6
  112. package/components/{index-B3jkBlKY.js → index-BC1LV3vH.js} +3 -3
  113. package/components/{index-BXMPi13W.js → index-BCBLJ-ei.js} +82 -82
  114. package/components/{index-B9dQtvu7.js → index-BHJH1eGn.js} +3 -3
  115. package/components/index-BHXq1-M1.cjs +195 -0
  116. package/components/{index-C2-2RrwB.cjs → index-BKwbYw6x.cjs} +3 -3
  117. package/components/index-BOqSYlku.cjs +38 -0
  118. package/components/{index-D5rT-qy9.cjs → index-Bafc5poK.cjs} +12 -28
  119. package/components/{index-CqFCIIIl.js → index-BbuNpVBr.js} +3 -3
  120. package/components/{index-CRx2nPkq.js → index-Bmpw4rGV.js} +3 -3
  121. package/components/{index-D8Na-686.cjs → index-BoXbQm2o.cjs} +1 -1
  122. package/components/{index-uRWe553S.cjs → index-BtIWR_s6.cjs} +4 -4
  123. package/components/index-BwsEWpIS.js +494 -0
  124. package/components/{index-CF84gqsb.cjs → index-C2PPSv8E.cjs} +4 -4
  125. package/components/{index-CbeVu32V.js → index-C3N6qTxJ.js} +3 -3
  126. package/components/index-C5m9vRp5.js +598 -0
  127. package/components/{index-bZQXFqxv.cjs → index-CBOAQ3-E.cjs} +10 -10
  128. package/components/{index-_McOOiwL.cjs → index-CSm0I7Gz.cjs} +4 -4
  129. package/components/index-CTHlwZ9E.cjs +274 -0
  130. package/components/{index-Brg_sVUg.js → index-CTVNGPeT.js} +1 -1
  131. package/components/{index-Rjoe8cIs.js → index-Cb5l6iK_.js} +110 -173
  132. package/components/{index-BkCJwWm3.cjs → index-CeENkpNK.cjs} +3 -3
  133. package/components/{index-BnbhRpm9.js → index-CnRQGFHT.js} +3 -3
  134. package/components/{index-BKcvEgWr.cjs → index-CnpJUw_z.cjs} +3 -3
  135. package/components/{index-DJik7S7b.js → index-CsDgk_sj.js} +2 -2
  136. package/components/{index-fl13NYnO.js → index-CskV_bXp.js} +2 -2
  137. package/components/index-CyWwLYEO.js +1789 -0
  138. package/components/index-D9yzIoGv.js +1666 -0
  139. package/components/{index-Bwxvaqxq.cjs → index-DF-s3cEL.cjs} +11 -11
  140. package/components/{index-CVuJ-LUO.cjs → index-DSQyBS9Z.cjs} +2 -2
  141. package/components/{index-Bb8vxGZY.js → index-Desl7GJ0.js} +19 -15
  142. package/components/{index-0HUnZcem.cjs → index-DtohCwyO.cjs} +2 -2
  143. package/components/index-TQG9Xdxu.cjs +20 -0
  144. package/components/index-c2uKLWDt.cjs +157 -0
  145. package/components/{index-C9-QEfA9.cjs → index-j8UKjHqY.cjs} +4 -4
  146. package/components/{index-DZZMSlYS.js → index-rQxtPaJl.js} +6 -6
  147. package/components/index.cjs +1 -1
  148. package/components/index.js +41 -27
  149. package/components/localized-decorator-ClAOFk8M.cjs +28 -0
  150. package/components/localized-decorator-DGnMToFa.js +48 -0
  151. package/components/{luzmo-icons-U09GB75o.js → luzmo-icons-CPucBq6e.js} +89 -89
  152. package/components/luzmo-icons-DbwDQtuO-DSQ-uVxy.cjs +47 -0
  153. package/components/{luzmo-icons-BLN3xVgr-Tz5XXgbL.js → luzmo-icons-DbwDQtuO-QG0fLECn.js} +67 -25
  154. package/components/luzmo-icons-Nyf1P71v.cjs +31 -0
  155. package/components/nl-0V96M02q.cjs +20 -0
  156. package/components/nl-CY0iO3Ch.js +158 -0
  157. package/components/observe-slot-presence-CmVi0zTc-B4M1Mze7.cjs +36 -0
  158. package/components/observe-slot-presence-CmVi0zTc-DCFuXW7v.js +87 -0
  159. package/components/{observe-slot-text-CVKLDesL-BB2RmFgc.cjs → observe-slot-text-BPfIQQtz-DHOh38Ve.cjs} +4 -4
  160. package/components/{observe-slot-text-CVKLDesL-CXUeCmXW.js → observe-slot-text-BPfIQQtz-v6B-1BYh.js} +5 -5
  161. package/components/pending-state-DTX7ggyF-BQGaWUEI.cjs +80 -0
  162. package/components/pending-state-DTX7ggyF-KolnwUB7.js +321 -0
  163. package/components/{periods.const-CDIkC5CK.cjs → periods.const-BbgInj9J.cjs} +1 -1
  164. package/components/{periods.const-GHh5bPfs.js → periods.const-D2cMP5hH.js} +1 -1
  165. package/components/{popover-DRyjN9y_-w1zh4tvw.js → popover-DjX0aAnY-B_ujTfos.js} +2 -2
  166. package/components/{popover-DRyjN9y_-7mF_fAOh.cjs → popover-DjX0aAnY-CSUMV_Ay.cjs} +3 -3
  167. package/components/property-CxtZroGf.js +600 -0
  168. package/components/property-Dlf9S6Jz.cjs +42 -0
  169. package/components/{query-assigned-nodes-C76XVPWY-k1jDPyUQ.cjs → query-assigned-nodes-C76XVPWY-BW2w3V7-.cjs} +1 -1
  170. package/components/{query-assigned-nodes-C76XVPWY-BWouxGZs.js → query-assigned-nodes-C76XVPWY-DxNwGHfW.js} +1 -1
  171. package/components/scatter-plot-options.config-CFfGJXsV.cjs +20 -0
  172. package/components/{scatter-plot-options.config-lrkd9qj4.js → scatter-plot-options.config-Corlzno1.js} +78 -48
  173. package/components/set-locale-5FFfQpVQ.cjs +52 -0
  174. package/components/set-locale-DAGnJZD8.js +188 -0
  175. package/components/{sized-mixin-DMuOVsw0.js → sized-mixin-C7R5uRbF.js} +1 -1
  176. package/components/sized-mixin-ZTphZKLm.cjs +20 -0
  177. package/components/slot-menu/index.cjs +1 -1
  178. package/components/slot-menu/index.js +12 -11
  179. package/components/slot-menu-list/index.cjs +3 -3
  180. package/components/slot-menu-list/index.js +15 -14
  181. package/components/{state-e2n-fyrr.js → state-BVYsk_HZ.js} +1 -1
  182. package/components/{state-QgHgNZLe.cjs → state-CrfOw8Zp.cjs} +2 -2
  183. package/components/{streaming-listener-C8Ctj0Q6-lanbGKR9.js → streaming-listener-CP-JE6Fa-9MH0gENR.js} +3 -3
  184. package/components/{streaming-listener-C8Ctj0Q6-BhMxS69F.cjs → streaming-listener-CP-JE6Fa-DMzr1X1m.cjs} +3 -3
  185. package/components/{task-fQFUVV8e.cjs → task-CdvrMX8r.cjs} +2 -2
  186. package/components/{task-gE27tBDv.js → task-DH8UFyxP.js} +1 -1
  187. package/components/{text-field-C0pFjPG1-BCVbGXp7.cjs → text-field-BIADXoLC-B8w9TVmS.cjs} +8 -8
  188. package/components/{text-field-C0pFjPG1-B4TRivuD.js → text-field-BIADXoLC-B9oE05VF.js} +11 -10
  189. package/custom-elements.json +1891 -34
  190. package/index.d.ts +7 -0
  191. package/item-definitions/scatter-plot/scatter-plot-options.config.d.ts +3 -0
  192. package/package.json +46 -1
  193. package/utils/data-broker/index.d.ts +179 -0
  194. package/utils/data-item-types/calculate-data-item-icon.d.ts +3 -0
  195. package/utils/filters/expressions.d.ts +15 -0
  196. package/utils/filters/index.d.ts +1 -0
  197. package/utils/localize/set-locale.d.ts +4 -2
  198. package/utils/types/column.types.d.ts +1 -1
  199. package/components/de-DgHoh7KS.cjs +0 -20
  200. package/components/draggable-data-item-level/helpers/calculate-type-icon.d.ts +0 -2
  201. package/components/edit-option-base-jkkFevzT.cjs +0 -53
  202. package/components/es-ByW01bzN.cjs +0 -20
  203. package/components/focusable-Cu_m_GTh.cjs +0 -42
  204. package/components/focusable-Dw_pMNQL.js +0 -852
  205. package/components/fr-DnFUAglm.cjs +0 -20
  206. package/components/index-CqynTbW1.cjs +0 -217
  207. package/components/index-DFnzlbHX.js +0 -779
  208. package/components/index-hogChFy0.cjs +0 -195
  209. package/components/luzmo-icons-BDClm1AE.cjs +0 -31
  210. package/components/luzmo-icons-BLN3xVgr-Cr3OrsqW.cjs +0 -47
  211. package/components/nl-CWxJcTNT.js +0 -104
  212. package/components/nl-CpfDNK5c.cjs +0 -20
  213. package/components/scatter-plot-options.config-DkJLutNb.cjs +0 -20
  214. package/components/set-locale-ByIApH40.cjs +0 -60
  215. package/components/set-locale-DJYT4V7U.js +0 -212
  216. package/components/sized-mixin-Cqlxwicw.cjs +0 -20
  217. /package/components/{divider.module-DwOuLGU3-B19eHVg2.js → divider.module-DoQWQEIJ-B19eHVg2.js} +0 -0
  218. /package/components/{divider.module-DwOuLGU3-Bg8RrFkc.cjs → divider.module-DoQWQEIJ-Bg8RrFkc.cjs} +0 -0
@@ -0,0 +1,288 @@
1
+ /*! * A kit of modern Luzmo Web Components for analytics in your web application.
2
+ *
3
+ * Copyright © 2025 Luzmo
4
+ * All rights reserved.
5
+ * Luzmo web components (“Luzmo Web Components”)
6
+ * must be used according to the Luzmo Terms of Service.
7
+ * This license allows users with a current active Luzmo account
8
+ * to use the Luzmo Web Components. This license terminates
9
+ * automatically if a user no longer has an active Luzmo account.
10
+ * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
11
+ *
12
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
14
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
15
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
16
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
17
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
+ * SOFTWARE.
19
+ * */
20
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ee=require("../index-CBOAQ3-E.cjs"),c=require("../base-D76d76ww-tT6yr8eb.cjs"),Me=require("../pending-state-DTX7ggyF-BQGaWUEI.cjs"),E=require("../if-defined-DOaE2coe-Cvlu5s9n.cjs");require("../index-C2PPSv8E.cjs");require("../index-DSQyBS9Z.cjs");const te=require("../luzmo-icons-DbwDQtuO-DSQ-uVxy.cjs"),S=require("../directive-helpers-Cm6gitnu-BeggOiwf.cjs"),gt=require("../index-DF-s3cEL.cjs"),Ie=require("../when-CDK1Tt5Y-BN3qcTK0.cjs"),bt=require("../focusable-BxtpnzWp-CkK9AeMt.cjs"),ft=require("../observe-slot-presence-CmVi0zTc-B4M1Mze7.cjs"),zt=require("../button-base-DbkDzb71-CY6MJGqE.cjs");require("../index-BoXbQm2o.cjs");const Fe=require("../text-field-BIADXoLC-B8w9TVmS.cjs");require("../index-c2uKLWDt.cjs");require("../index-CSm0I7Gz.cjs");const T=require("../property-Dlf9S6Jz.cjs"),me=require("../set-locale-5FFfQpVQ.cjs"),ae=require("../periods.const-BbgInj9J.cjs");/*! * Lucero - The design system for Luzmo.
21
+ *
22
+ * Copyright © 2025 Luzmo
23
+ * All rights reserved.
24
+ * Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
25
+ * This license allows users with a current active Luzmo account to use Lucero.
26
+ * This license terminates automatically if a user no longer has an active Luzmo account.
27
+ * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
28
+ *
29
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
30
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
31
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
32
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
33
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
34
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
35
+ * SOFTWARE.
36
+ * */function pe(r,e){return r-e*Math.floor(r/e)}const Ze=1721426;function oe(r,e,t,a){e=_e(r,e);let o=e-1,i=-2;return t<=2?i=0:ne(e)&&(i=-1),Ze-1+365*o+Math.floor(o/4)-Math.floor(o/100)+Math.floor(o/400)+Math.floor((367*t-362)/12+i+a)}function ne(r){return r%4===0&&(r%100!==0||r%400===0)}function _e(r,e){return r==="BC"?1-e:e}function yt(r){let e="AD";return r<=0&&(e="BC",r=1-r),[e,r]}const kt={standard:[31,28,31,30,31,30,31,31,30,31,30,31],leapyear:[31,29,31,30,31,30,31,31,30,31,30,31]};let W=class{fromJulianDay(e){let t=e,a=t-Ze,o=Math.floor(a/146097),i=pe(a,146097),n=Math.floor(i/36524),l=pe(i,36524),s=Math.floor(l/1461),u=pe(l,1461),m=Math.floor(u/365),h=o*400+n*100+s*4+m+(n!==4&&m!==4?1:0),[p,v]=yt(h),g=t-oe(p,v,1,1),z=2;t<oe(p,v,3,1)?z=0:ne(v)&&(z=1);let $=Math.floor(((g+z)*12+373)/367),N=t-oe(p,v,$,1)+1;return new F(p,v,$,N)}toJulianDay(e){return oe(e.era,e.year,e.month,e.day)}getDaysInMonth(e){return kt[ne(e.year)?"leapyear":"standard"][e.month-1]}getMonthsInYear(e){return 12}getDaysInYear(e){return ne(e.year)?366:365}getYearsInEra(e){return 9999}getEras(){return["BC","AD"]}isInverseEra(e){return e.era==="BC"}balanceDate(e){e.year<=0&&(e.era=e.era==="BC"?"AD":"BC",e.year=1-e.year)}constructor(){this.identifier="gregory"}};const xt={"001":1,AD:1,AE:6,AF:6,AI:1,AL:1,AM:1,AN:1,AR:1,AT:1,AU:1,AX:1,AZ:1,BA:1,BE:1,BG:1,BH:6,BM:1,BN:1,BY:1,CH:1,CL:1,CM:1,CN:1,CR:1,CY:1,CZ:1,DE:1,DJ:6,DK:1,DZ:6,EC:1,EE:1,EG:6,ES:1,FI:1,FJ:1,FO:1,FR:1,GB:1,GE:1,GF:1,GP:1,GR:1,HR:1,HU:1,IE:1,IQ:6,IR:6,IS:1,IT:1,JO:6,KG:1,KW:6,KZ:1,LB:1,LI:1,LK:1,LT:1,LU:1,LV:1,LY:6,MC:1,MD:1,ME:1,MK:1,MN:1,MQ:1,MV:5,MY:1,NL:1,NO:1,NZ:1,OM:6,PL:1,QA:6,RE:1,RO:1,RS:1,RU:1,SD:6,SE:1,SI:1,SK:1,SM:1,SY:6,TJ:1,TM:1,TR:1,UA:1,UY:1,UZ:1,VA:1,VN:1,XK:1};function O(r,e){return e=_(e,r.calendar),r.era===e.era&&r.year===e.year&&r.month===e.month&&r.day===e.day}function B(r,e){return e=_(e,r.calendar),r=R(r),e=R(e),r.era===e.era&&r.year===e.year&&r.month===e.month}function wt(r,e){var t,a,o,i;return(i=(o=(t=r.isEqual)===null||t===void 0?void 0:t.call(r,e))!==null&&o!==void 0?o:(a=e.isEqual)===null||a===void 0?void 0:a.call(e,r))!==null&&i!==void 0?i:r.identifier===e.identifier}function Ue(r,e,t){let a=r.calendar.toJulianDay(r),o=St(e),i=Math.ceil(a+1-o)%7;return i<0&&(i+=7),i}function Ne(r){return P(Date.now(),r)}function Dt(r){return L(Ne(r))}function He(r,e){return r.calendar.toJulianDay(r)-e.calendar.toJulianDay(e)}function Ye(r,e){return qe(r)-qe(e)}function qe(r){return r.hour*36e5+r.minute*6e4+r.second*1e3+r.millisecond}let ve=null;function H(){return ve==null&&(ve=new Intl.DateTimeFormat().resolvedOptions().timeZone),ve}function R(r){return r.subtract({days:r.day-1})}function Mt(r){return r.add({days:r.calendar.getDaysInMonth(r)-r.day})}function We(r){return r.calendar.getMinimumMonthInYear?r.calendar.getMinimumMonthInYear(r):1}function je(r){return r.calendar.getMinimumDayInMonth?r.calendar.getMinimumDayInMonth(r):1}function Ee(r,e,t){let a=Ue(r,e);return r.subtract({days:a})}const Le=new Map;function _t(r){if(Intl.Locale){let t=Le.get(r);return t||(t=new Intl.Locale(r).maximize().region,t&&Le.set(r,t)),t}let e=r.split("-")[1];return e==="u"?void 0:e}function St(r){let e=_t(r);return e&&xt[e]||0}function $t(r,e,t){let a=r.calendar.getDaysInMonth(r);return Math.ceil((Ue(R(r),e)+a)/7)}function j(r){r=_(r,new W);let e=_e(r.era,r.year);return Ge(e,r.month,r.day,r.hour,r.minute,r.second,r.millisecond)}function Ge(r,e,t,a,o,i,n){let l=new Date;return l.setUTCHours(a,o,i,n),l.setUTCFullYear(r,e-1,t),l.getTime()}function ke(r,e){if(e==="UTC")return 0;if(r>0&&e===H())return new Date(r).getTimezoneOffset()*-6e4;let{year:t,month:a,day:o,hour:i,minute:n,second:l}=Ke(r,e);return Ge(t,a,o,i,n,l,0)-Math.floor(r/1e3)*1e3}const Oe=new Map;function Ke(r,e){let t=Oe.get(e);t||(t=new Intl.DateTimeFormat("en-US",{timeZone:e,hour12:!1,era:"short",year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}),Oe.set(e,t));let a=t.formatToParts(new Date(r)),o={};for(let i of a)i.type!=="literal"&&(o[i.type]=i.value);return{year:o.era==="BC"||o.era==="B"?-o.year+1:+o.year,month:+o.month,day:+o.day,hour:o.hour==="24"?0:+o.hour,minute:+o.minute,second:+o.second}}const Be=864e5;function Tt(r,e,t,a){return(t===a?[t]:[t,a]).filter(o=>Ct(r,e,o))}function Ct(r,e,t){let a=Ke(t,e);return r.year===a.year&&r.month===a.month&&r.day===a.day&&r.hour===a.hour&&r.minute===a.minute&&r.second===a.second}function C(r,e,t="compatible"){let a=M(r);if(e==="UTC")return j(a);if(e===H()&&t==="compatible"){a=_(a,new W);let s=new Date,u=_e(a.era,a.year);return s.setFullYear(u,a.month-1,a.day),s.setHours(a.hour,a.minute,a.second,a.millisecond),s.getTime()}let o=j(a),i=ke(o-Be,e),n=ke(o+Be,e),l=Tt(a,e,o-i,o-n);if(l.length===1)return l[0];if(l.length>1)switch(t){case"compatible":case"earlier":return l[0];case"later":return l[l.length-1];case"reject":throw new RangeError("Multiple possible absolute times found")}switch(t){case"earlier":return Math.min(o-i,o-n);case"compatible":case"later":return Math.max(o-i,o-n);case"reject":throw new RangeError("No such absolute time found")}}function Je(r,e,t="compatible"){return new Date(C(r,e,t))}function P(r,e){let t=ke(r,e),a=new Date(r+t),o=a.getUTCFullYear(),i=a.getUTCMonth()+1,n=a.getUTCDate(),l=a.getUTCHours(),s=a.getUTCMinutes(),u=a.getUTCSeconds(),m=a.getUTCMilliseconds();return new U(o<1?"BC":"AD",o<1?-o+1:o,i,n,e,t,l,s,u,m)}function L(r){return new F(r.calendar,r.era,r.year,r.month,r.day)}function M(r,e){let t=0,a=0,o=0,i=0;if("timeZone"in r)({hour:t,minute:a,second:o,millisecond:i}=r);else if("hour"in r&&!e)return r;return e&&({hour:t,minute:a,second:o,millisecond:i}=e),new I(r.calendar,r.era,r.year,r.month,r.day,t,a,o,i)}function _(r,e){if(wt(r.calendar,e))return r;let t=e.fromJulianDay(r.calendar.toJulianDay(r)),a=r.copy();return a.calendar=e,a.era=t.era,a.year=t.year,a.month=t.month,a.day=t.day,Z(a),a}function A(r,e,t){if(r instanceof U)return r.timeZone===e?r:Qe(r,e);let a=C(r,e,t);return P(a,e)}function Pt(r){let e=j(r)-r.offset;return new Date(e)}function Qe(r,e){let t=j(r)-r.offset;return _(P(t,e),r.calendar)}const K=36e5;function se(r,e){let t=r.copy(),a="hour"in t?rt(t,e):0;xe(t,e.years||0),t.calendar.balanceYearMonth&&t.calendar.balanceYearMonth(t,r),t.month+=e.months||0,we(t),Xe(t),t.day+=(e.weeks||0)*7,t.day+=e.days||0,t.day+=a,Vt(t),t.calendar.balanceDate&&t.calendar.balanceDate(t),t.year<1&&(t.year=1,t.month=1,t.day=1);let o=t.calendar.getYearsInEra(t);if(t.year>o){var i,n;let s=(i=(n=t.calendar).isInverseEra)===null||i===void 0?void 0:i.call(n,t);t.year=o,t.month=s?1:t.calendar.getMonthsInYear(t),t.day=s?1:t.calendar.getDaysInMonth(t)}t.month<1&&(t.month=1,t.day=1);let l=t.calendar.getMonthsInYear(t);return t.month>l&&(t.month=l,t.day=t.calendar.getDaysInMonth(t)),t.day=Math.max(1,Math.min(t.calendar.getDaysInMonth(t),t.day)),t}function xe(r,e){var t,a;!((t=(a=r.calendar).isInverseEra)===null||t===void 0)&&t.call(a,r)&&(e=-e),r.year+=e}function we(r){for(;r.month<1;)xe(r,-1),r.month+=r.calendar.getMonthsInYear(r);let e=0;for(;r.month>(e=r.calendar.getMonthsInYear(r));)r.month-=e,xe(r,1)}function Vt(r){for(;r.day<1;)r.month--,we(r),r.day+=r.calendar.getDaysInMonth(r);for(;r.day>r.calendar.getDaysInMonth(r);)r.day-=r.calendar.getDaysInMonth(r),r.month++,we(r)}function Xe(r){r.month=Math.max(1,Math.min(r.calendar.getMonthsInYear(r),r.month)),r.day=Math.max(1,Math.min(r.calendar.getDaysInMonth(r),r.day))}function Z(r){r.calendar.constrainDate&&r.calendar.constrainDate(r),r.year=Math.max(1,Math.min(r.calendar.getYearsInEra(r),r.year)),Xe(r)}function Se(r){let e={};for(let t in r)typeof r[t]=="number"&&(e[t]=-r[t]);return e}function et(r,e){return se(r,Se(e))}function $e(r,e){let t=r.copy();return e.era!=null&&(t.era=e.era),e.year!=null&&(t.year=e.year),e.month!=null&&(t.month=e.month),e.day!=null&&(t.day=e.day),Z(t),t}function re(r,e){let t=r.copy();return e.hour!=null&&(t.hour=e.hour),e.minute!=null&&(t.minute=e.minute),e.second!=null&&(t.second=e.second),e.millisecond!=null&&(t.millisecond=e.millisecond),tt(t),t}function It(r){r.second+=Math.floor(r.millisecond/1e3),r.millisecond=ie(r.millisecond,1e3),r.minute+=Math.floor(r.second/60),r.second=ie(r.second,60),r.hour+=Math.floor(r.minute/60),r.minute=ie(r.minute,60);let e=Math.floor(r.hour/24);return r.hour=ie(r.hour,24),e}function tt(r){r.millisecond=Math.max(0,Math.min(r.millisecond,1e3)),r.second=Math.max(0,Math.min(r.second,59)),r.minute=Math.max(0,Math.min(r.minute,59)),r.hour=Math.max(0,Math.min(r.hour,23))}function ie(r,e){let t=r%e;return t<0&&(t+=e),t}function rt(r,e){return r.hour+=e.hours||0,r.minute+=e.minutes||0,r.second+=e.seconds||0,r.millisecond+=e.milliseconds||0,It(r)}function at(r,e){let t=r.copy();return rt(t,e),t}function Ft(r,e){return at(r,Se(e))}function Te(r,e,t,a){let o=r.copy();switch(e){case"era":{let l=r.calendar.getEras(),s=l.indexOf(r.era);if(s<0)throw new Error("Invalid era: "+r.era);s=V(s,t,0,l.length-1,a==null?void 0:a.round),o.era=l[s],Z(o);break}case"year":var i,n;!((i=(n=o.calendar).isInverseEra)===null||i===void 0)&&i.call(n,o)&&(t=-t),o.year=V(r.year,t,-1/0,9999,a==null?void 0:a.round),o.year===-1/0&&(o.year=1),o.calendar.balanceYearMonth&&o.calendar.balanceYearMonth(o,r);break;case"month":o.month=V(r.month,t,1,r.calendar.getMonthsInYear(r),a==null?void 0:a.round);break;case"day":o.day=V(r.day,t,1,r.calendar.getDaysInMonth(r),a==null?void 0:a.round);break;default:throw new Error("Unsupported field "+e)}return r.calendar.balanceDate&&r.calendar.balanceDate(o),Z(o),o}function Ce(r,e,t,a){let o=r.copy();switch(e){case"hour":{let i=r.hour,n=0,l=23;if((a==null?void 0:a.hourCycle)===12){let s=i>=12;n=s?12:0,l=s?23:11}o.hour=V(i,t,n,l,a==null?void 0:a.round);break}case"minute":o.minute=V(r.minute,t,0,59,a==null?void 0:a.round);break;case"second":o.second=V(r.second,t,0,59,a==null?void 0:a.round);break;case"millisecond":o.millisecond=V(r.millisecond,t,0,999,a==null?void 0:a.round);break;default:throw new Error("Unsupported field "+e)}return o}function V(r,e,t,a,o=!1){if(o){r+=Math.sign(e),r<t&&(r=a);let i=Math.abs(e);e>0?r=Math.ceil(r/i)*i:r=Math.floor(r/i)*i,r>a&&(r=t)}else r+=e,r<t?r=a-(t-r-1):r>a&&(r=t+(r-a-1));return r}function ot(r,e){let t;if(e.years!=null&&e.years!==0||e.months!=null&&e.months!==0||e.weeks!=null&&e.weeks!==0||e.days!=null&&e.days!==0){let o=se(M(r),{years:e.years,months:e.months,weeks:e.weeks,days:e.days});t=C(o,r.timeZone)}else t=j(r)-r.offset;t+=e.milliseconds||0,t+=(e.seconds||0)*1e3,t+=(e.minutes||0)*6e4,t+=(e.hours||0)*36e5;let a=P(t,r.timeZone);return _(a,r.calendar)}function qt(r,e){return ot(r,Se(e))}function Et(r,e,t,a){switch(e){case"hour":{let o=0,i=23;if((a==null?void 0:a.hourCycle)===12){let g=r.hour>=12;o=g?12:0,i=g?23:11}let n=M(r),l=_(re(n,{hour:o}),new W),s=[C(l,r.timeZone,"earlier"),C(l,r.timeZone,"later")].filter(g=>P(g,r.timeZone).day===l.day)[0],u=_(re(n,{hour:i}),new W),m=[C(u,r.timeZone,"earlier"),C(u,r.timeZone,"later")].filter(g=>P(g,r.timeZone).day===u.day).pop(),h=j(r)-r.offset,p=Math.floor(h/K),v=h%K;return h=V(p,t,Math.floor(s/K),Math.floor(m/K),a==null?void 0:a.round)*K+v,_(P(h,r.timeZone),r.calendar)}case"minute":case"second":case"millisecond":return Ce(r,e,t,a);case"era":case"year":case"month":case"day":{let o=Te(M(r),e,t,a),i=C(o,r.timeZone);return _(P(i,r.timeZone),r.calendar)}default:throw new Error("Unsupported field "+e)}}function Lt(r,e,t){let a=M(r),o=re($e(a,e),e);if(o.compare(a)===0)return r;let i=C(o,r.timeZone,t);return _(P(i,r.timeZone),r.calendar)}const Ot=/^([+-]\d{6}|\d{4})-(\d{2})-(\d{2})$/,Bt=/^([+-]\d{6}|\d{4})-(\d{2})-(\d{2})(?:T(\d{2}))?(?::(\d{2}))?(?::(\d{2}))?(\.\d+)?(?:(?:([+-]\d{2})(?::?(\d{2}))?)|Z)$/;function Q(r){let e=r.match(Ot);if(!e)throw new Error("Invalid ISO 8601 date string: "+r);let t=new F(D(e[1],0,9999),D(e[2],1,12),1);return t.day=D(e[3],0,t.calendar.getDaysInMonth(t)),t}function ge(r,e){let t=r.match(Bt);if(!t)throw new Error("Invalid ISO 8601 date time string: "+r);let a=D(t[1],-9999,9999),o=a<1?"BC":"AD",i=new U(o,a<1?-a+1:a,D(t[2],1,12),1,e,0,t[4]?D(t[4],0,23):0,t[5]?D(t[5],0,59):0,t[6]?D(t[6],0,59):0,t[7]?D(t[7],0,1/0)*1e3:0);i.day=D(t[3],0,i.calendar.getDaysInMonth(i));var n;return t[8]&&(i.offset=D(t[8],-23,23)*36e5+D((n=t[9])!==null&&n!==void 0?n:"0",0,59)*6e4),Qe(i,e)}function D(r,e,t){let a=Number(r);if(a<e||a>t)throw new RangeError(`Value out of range: ${e} <= ${a} <= ${t}`);return a}function it(r){return`${String(r.hour).padStart(2,"0")}:${String(r.minute).padStart(2,"0")}:${String(r.second).padStart(2,"0")}${r.millisecond?String(r.millisecond/1e3).slice(1):""}`}function nt(r){let e=_(r,new W),t;return e.era==="BC"?t=e.year===1?"0000":"-"+String(Math.abs(1-e.year)).padStart(6,"00"):t=String(e.year).padStart(4,"0"),`${t}-${String(e.month).padStart(2,"0")}-${String(e.day).padStart(2,"0")}`}function lt(r){return`${nt(r)}T${it(r)}`}function At(r){let e=Math.sign(r)<0?"-":"+";r=Math.abs(r);let t=Math.floor(r/36e5),a=r%36e5/6e4;return`${e}${String(t).padStart(2,"0")}:${String(a).padStart(2,"0")}`}function Rt(r){return`${lt(r)}${At(r.offset)}[${r.timeZone}]`}function Zt(r,e){if(e.has(r))throw new TypeError("Cannot initialize the same private elements twice on an object")}function de(r,e,t){Zt(r,e),e.set(r,t)}function Pe(r){let e=typeof r[0]=="object"?r.shift():new W,t;if(typeof r[0]=="string")t=r.shift();else{let n=e.getEras();t=n[n.length-1]}let a=r.shift(),o=r.shift(),i=r.shift();return[e,t,a,o,i]}var Ut=new WeakMap;class F{copy(){return this.era?new F(this.calendar,this.era,this.year,this.month,this.day):new F(this.calendar,this.year,this.month,this.day)}add(e){return se(this,e)}subtract(e){return et(this,e)}set(e){return $e(this,e)}cycle(e,t,a){return Te(this,e,t,a)}toDate(e){return Je(this,e)}toString(){return nt(this)}compare(e){return He(this,e)}constructor(...e){de(this,Ut,{writable:!0,value:void 0});let[t,a,o,i,n]=Pe(e);this.calendar=t,this.era=a,this.year=o,this.month=i,this.day=n,Z(this)}}var Nt=new WeakMap;let Ht=class st{copy(){return new st(this.hour,this.minute,this.second,this.millisecond)}add(e){return at(this,e)}subtract(e){return Ft(this,e)}set(e){return re(this,e)}cycle(e,t,a){return Ce(this,e,t,a)}toString(){return it(this)}compare(e){return Ye(this,e)}constructor(e=0,t=0,a=0,o=0){de(this,Nt,{writable:!0,value:void 0}),this.hour=e,this.minute=t,this.second=a,this.millisecond=o,tt(this)}};var Yt=new WeakMap;class I{copy(){return this.era?new I(this.calendar,this.era,this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond):new I(this.calendar,this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond)}add(e){return se(this,e)}subtract(e){return et(this,e)}set(e){return $e(re(this,e),e)}cycle(e,t,a){switch(e){case"era":case"year":case"month":case"day":return Te(this,e,t,a);default:return Ce(this,e,t,a)}}toDate(e,t){return Je(this,e,t)}toString(){return lt(this)}compare(e){let t=He(this,e);return t===0?Ye(this,M(e)):t}constructor(...e){de(this,Yt,{writable:!0,value:void 0});let[t,a,o,i,n]=Pe(e);this.calendar=t,this.era=a,this.year=o,this.month=i,this.day=n,this.hour=e.shift()||0,this.minute=e.shift()||0,this.second=e.shift()||0,this.millisecond=e.shift()||0,Z(this)}}var Wt=new WeakMap;class U{copy(){return this.era?new U(this.calendar,this.era,this.year,this.month,this.day,this.timeZone,this.offset,this.hour,this.minute,this.second,this.millisecond):new U(this.calendar,this.year,this.month,this.day,this.timeZone,this.offset,this.hour,this.minute,this.second,this.millisecond)}add(e){return ot(this,e)}subtract(e){return qt(this,e)}set(e,t){return Lt(this,e,t)}cycle(e,t,a){return Et(this,e,t,a)}toDate(){return Pt(this)}toString(){return Rt(this)}toAbsoluteString(){return this.toDate().toISOString()}compare(e){return this.toDate().getTime()-A(e,this.timeZone).toDate().getTime()}constructor(...e){de(this,Wt,{writable:!0,value:void 0});let[t,a,o,i,n]=Pe(e),l=e.shift(),s=e.shift();this.calendar=t,this.era=a,this.year=o,this.month=i,this.day=n,this.timeZone=l,this.offset=s,this.hour=e.shift()||0,this.minute=e.shift()||0,this.second=e.shift()||0,this.millisecond=e.shift()||0,Z(this)}}let be=new Map;class De{format(e){return this.formatter.format(e)}formatToParts(e){return this.formatter.formatToParts(e)}formatRange(e,t){if(typeof this.formatter.formatRange=="function")return this.formatter.formatRange(e,t);if(t<e)throw new RangeError("End date must be >= start date");return`${this.formatter.format(e)} – ${this.formatter.format(t)}`}formatRangeToParts(e,t){if(typeof this.formatter.formatRangeToParts=="function")return this.formatter.formatRangeToParts(e,t);if(t<e)throw new RangeError("End date must be >= start date");let a=this.formatter.formatToParts(e),o=this.formatter.formatToParts(t);return[...a.map(i=>({...i,source:"startRange"})),{type:"literal",value:" – ",source:"shared"},...o.map(i=>({...i,source:"endRange"}))]}resolvedOptions(){let e=this.formatter.resolvedOptions();return Kt()&&(this.resolvedHourCycle||(this.resolvedHourCycle=Jt(e.locale,this.options)),e.hourCycle=this.resolvedHourCycle,e.hour12=this.resolvedHourCycle==="h11"||this.resolvedHourCycle==="h12"),e.calendar==="ethiopic-amete-alem"&&(e.calendar="ethioaa"),e}constructor(e,t={}){this.formatter=dt(e,t),this.options=t}}const jt={true:{ja:"h11"},false:{}};function dt(r,e={}){if(typeof e.hour12=="boolean"&&Gt()){e={...e};let o=jt[String(e.hour12)][r.split("-")[0]],i=e.hour12?"h12":"h23";e.hourCycle=o??i,delete e.hour12}let t=r+(e?Object.entries(e).sort((o,i)=>o[0]<i[0]?-1:1).join():"");if(be.has(t))return be.get(t);let a=new Intl.DateTimeFormat(r,e);return be.set(t,a),a}let fe=null;function Gt(){return fe==null&&(fe=new Intl.DateTimeFormat("en-US",{hour:"numeric",hour12:!1}).format(new Date(2020,2,3,0))==="24"),fe}let ze=null;function Kt(){return ze==null&&(ze=new Intl.DateTimeFormat("fr",{hour:"numeric",hour12:!1}).resolvedOptions().hourCycle==="h12"),ze}function Jt(r,e){if(!e.timeStyle&&!e.hour)return;r=r.replace(/(-u-)?-nu-[a-zA-Z0-9]+/,""),r+=(r.includes("-u-")?"":"-u")+"-nu-latn";let t=dt(r,{...e,timeZone:void 0}),a=parseInt(t.formatToParts(new Date(2020,2,3,0)).find(i=>i.type==="hour").value,10),o=parseInt(t.formatToParts(new Date(2020,2,3,23)).find(i=>i.type==="hour").value,10);if(a===0&&o===23)return"h23";if(a===24&&o===23)return"h24";if(a===0&&o===11)return"h11";if(a===12&&o===11)return"h12";throw new Error("Unexpected hour cycle result")}const Qt=':host{inline-size:var(--luzmo-calendar-width, var(--calendar-width));display:inline-block}.header{inline-size:100%;align-items:center;display:flex}.title{color:var(--highcontrast-calendar-date-text-color, var(--luzmo-calendar-date-text-color, var(--calendar-date-text-color)));font-size:var(--luzmo-calendar-title-text-size, var(--calendar-title-text-size));font-weight:var(--luzmo-calendar-title-font-weight, var(--calendar-title-font-weight));line-height:var(--luzmo-calendar-title-height, var(--calendar-title-height));text-align:center;white-space:nowrap;text-overflow:ellipsis;flex-grow:1;order:1;margin:0;overflow:hidden}.nextMonth,.prevMonth{transform:var(--logical-rotation)}.nextMonth:not([disabled]),.prevMonth:not([disabled]){color:var(--highcontrast-calendar-button-icon-color, var(--luzmo-calendar-button-icon-color, var(--calendar-button-icon-color)))}.prevMonth{order:0}.nextMonth{order:2}.dayOfWeek{inline-size:var(--luzmo-calendar-day-width, var(--calendar-day-width));color:var(--highcontrast-calendar-day-title-text-color, var(--luzmo-calendar-day-title-text-color, var(--calendar-day-title-text-color)));font-size:var(--luzmo-calendar-day-title-text-size, var(--calendar-day-title-text-size));font-weight:var(--luzmo-calendar-day-title-text-font-weight, var(--calendar-day-title-text-font-weight));text-transform:uppercase;cursor:default;flex-direction:column;justify-content:flex-end;display:flex;border-block-end:none!important;-webkit-text-decoration:none!important;text-decoration:none!important}:host([title]) .dayOfWeek{text-decoration:underline;letter-spacing:var(--luzmo-calendar-title-text-letter-spacing, var(--calendar-title-text-letter-spacing));border-block-end:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.body{outline:none}.table{table-layout:fixed;border-collapse:collapse;border-spacing:0;-webkit-user-select:none;user-select:none}.table-cell{text-align:center;box-sizing:initial;block-size:var(--luzmo-calendar-day-height, var(--calendar-day-height));inline-size:var(--luzmo-calendar-day-width, var(--calendar-day-width));padding:var(--luzmo-calendar-day-padding, var(--calendar-day-padding));position:relative}.table-cell:focus{outline:0}.date{box-sizing:border-box;block-size:var(--luzmo-calendar-day-height, var(--calendar-day-height));inline-size:var(--luzmo-calendar-day-width, var(--calendar-day-width));margin:var(--luzmo-calendar-day-padding, var(--calendar-day-padding));border-radius:var(--luzmo-calendar-day-border-radius, var(--calendar-day-border-radius));border:var(--luzmo-calendar-day-border-size, var(--calendar-day-border-size)) solid transparent;font-size:var(--luzmo-calendar-day-text-size, var(--calendar-day-text-size));line-height:calc(var(--luzmo-calendar-day-width, var(--calendar-day-width)) - var(--luzmo-calendar-day-border-size, var(--calendar-day-border-size)) * 2);white-space:nowrap;cursor:pointer;display:block;position:absolute;inset-block-start:0;inset-inline-start:0}.date:lang(ja),.date:lang(ko),.date:lang(zh){font-size:var(--luzmo-calendar-day-text-size-han, var(--calendar-day-text-size-han))}.date.is-disabled{cursor:default;pointer-events:none}.date.is-outsideMonth{display:none}.date:before{content:"";box-sizing:border-box;inline-size:var(--luzmo-calendar-day-width, var(--calendar-day-width));block-size:var(--luzmo-calendar-day-height, var(--calendar-day-height));border-radius:var(--luzmo-calendar-day-border-radius, var(--calendar-day-border-radius));border:var(--luzmo-calendar-day-border-size, var(--calendar-day-border-size)) solid transparent;position:absolute;inset-block-start:calc(50% - var(--luzmo-calendar-day-width, var(--calendar-day-width)) / 2);inset-inline-start:calc(50% - var(--luzmo-calendar-day-width, var(--calendar-day-width)) / 2)}.date.is-selected:not(.is-range-selection){font-weight:var(--luzmo-calendar-day-text-font-weight-selected, var(--calendar-day-text-font-weight-selected))}.date.is-selected:not(.is-range-selection):before{display:none}.date.is-today{font-weight:var(--luzmo-calendar-day-today-text-font-weight, var(--calendar-day-today-text-font-weight))}.date.is-range-selection{margin:var(--luzmo-calendar-day-padding, var(--calendar-day-padding)) 0;border-width:var(--luzmo-calendar-border-width-reset, var(--calendar-border-width-reset));line-height:var(--luzmo-calendar-day-height, var(--calendar-day-height));border-radius:var(--luzmo-calendar-border-radius-reset, var(--calendar-border-radius-reset));inline-size:calc(var(--luzmo-calendar-day-width, var(--calendar-day-width)) + var(--luzmo-calendar-day-padding, var(--calendar-day-padding)) * 2)}.date.is-range-selection.is-range-end,.date.is-range-selection.is-range-start,.date.is-range-selection.is-selection-end,.date.is-range-selection.is-selection-start{inline-size:calc(var(--luzmo-calendar-day-width, var(--calendar-day-width)) + var(--luzmo-calendar-day-padding, var(--calendar-day-padding)))}.date.is-range-selection.is-selection-end,.date.is-range-selection.is-selection-start{font-weight:var(--luzmo-calendar-day-text-font-weight-cap-selected, var(--calendar-day-text-font-weight-cap-selected))}.date.is-range-selection.is-selection-end:after,.date.is-range-selection.is-selection-start:after{block-size:var(--luzmo-calendar-day-height, var(--calendar-day-height));inline-size:var(--luzmo-calendar-day-width, var(--calendar-day-width));border-radius:var(--luzmo-calendar-day-width, var(--calendar-day-width));content:"";display:block;position:absolute;inset-block-start:0}.date.is-range-selection.is-range-start,.date.is-range-selection.is-selection-start{border-start-start-radius:var(--luzmo-calendar-day-width, var(--calendar-day-width));border-end-start-radius:var(--luzmo-calendar-day-width, var(--calendar-day-width));margin-inline-start:var(--luzmo-calendar-day-padding, var(--calendar-day-padding));padding-inline-end:var(--luzmo-calendar-day-padding, var(--calendar-day-padding))}.date.is-range-selection.is-range-start:after,.date.is-range-selection.is-range-start:before,.date.is-range-selection.is-selection-start:after,.date.is-range-selection.is-selection-start:before{inset-inline-start:0}.date.is-range-selection.is-range-end,.date.is-range-selection.is-selection-end{border-start-end-radius:var(--luzmo-calendar-day-width, var(--calendar-day-width));border-end-end-radius:var(--luzmo-calendar-day-width, var(--calendar-day-width));margin-inline-end:var(--luzmo-calendar-day-padding, var(--calendar-day-padding));padding-inline-start:var(--luzmo-calendar-day-padding, var(--calendar-day-padding))}.date.is-range-selection.is-range-end:after,.date.is-range-selection.is-range-end:before,.date.is-range-selection.is-selection-end:after,.date.is-range-selection.is-selection-end:before{inset-inline:auto 0}.date.is-range-selection.is-range-start.is-range-end,.date.is-range-selection.is-selection-end.is-range-start,.date.is-range-selection.is-selection-start.is-range-end,.date.is-range-selection.is-selection-start.is-selection-end{inline-size:var(--luzmo-calendar-day-width, var(--calendar-day-width));border-radius:var(--luzmo-calendar-day-width, var(--calendar-day-width))}.date{color:var(--highcontrast-calendar-day-text-color, var(--luzmo-calendar-day-text-color, var(--calendar-day-text-color)))}.date:active{background-color:var(--highcontrast-calendar-day-background-color-down, var(--luzmo-calendar-day-background-color-down, var(--calendar-day-background-color-down)))}.date.is-selected{color:var(--highcontrast-calendar-day-text-color-selected, var(--luzmo-calendar-day-text-color-selected, var(--calendar-day-text-color-selected)));background:var(--highcontrast-calendar-day-background-color-selected, var(--luzmo-calendar-day-background-color-selected, var(--calendar-day-background-color-selected)))}.date.is-selected:not(.is-range-selection){background:var(--highcontrast-calendar-day-background-color-cap-selected, var(--luzmo-calendar-day-background-color-cap-selected, var(--calendar-day-background-color-cap-selected)));color:var(--highcontrast-calendar-day-text-color-cap-selected, var(--luzmo-calendar-day-text-color-cap-selected, var(--calendar-day-text-color-cap-selected)));border-color:var(--highcontrast-calendar-day-border-color-cap-selected, var(--luzmo-calendar-day-border-color-cap-selected, var(--calendar-day-border-color-cap-selected)))}.date.is-today{color:var(--highcontrast-calendar-day-today-text-color, var(--luzmo-calendar-day-today-text-color, var(--calendar-day-today-text-color)));background-color:var(--highcontrast-calendar-day-today-background-color, var(--luzmo-calendar-day-today-background-color, var(--calendar-day-today-background-color)))}.date.is-today,.date.is-today:before{border-color:var(--highcontrast-calendar-day-today-border-color, var(--luzmo-calendar-day-today-border-color, var(--calendar-day-today-border-color)))}@media (hover: hover){.date:hover{color:var(--highcontrast-calendar-day-text-color-hover, var(--luzmo-calendar-day-text-color-hover, var(--calendar-day-text-color-hover)))}.date:hover:not(.is-selection-end,.is-selection-start):before{background:var(--highcontrast-calendar-day-background-color-hover, var(--luzmo-calendar-day-background-color-hover, var(--calendar-day-background-color-hover)))}.date.is-range-selection:hover:before,.date.is-selected:hover:not(.is-selection-end,.is-selection-start):before{background:var(--highcontrast-calendar-day-background-color-selected-hover, var(--luzmo-calendar-day-background-color-selected-hover, var(--calendar-day-background-color-selected-hover)))}.date.is-today.is-selected:not(.is-range-selection):hover:before{background:var(--highcontrast-calendar-day-today-background-color-selected-hover, var(--luzmo-calendar-day-today-background-color-selected-hover, var(--calendar-day-today-background-color-selected-hover)))}}.date.is-today.is-disabled{color:var(--highcontrast-calendar-day-today-text-color-disabled, var(--luzmo-calendar-day-today-text-color-disabled, var(--calendar-day-today-text-color-disabled)))}.date.is-today.is-disabled,.date.is-today.is-disabled:before{border-color:var(--highcontrast-calendar-day-today-border-color-disabled, var(--luzmo-calendar-day-today-border-color-disabled, var(--calendar-day-today-border-color-disabled)))}.table-cell:focus-within .date:not(.is-range-selection){background:var(--highcontrast-calendar-day-background-color-key-focus, var(--luzmo-calendar-day-background-color-key-focus, var(--calendar-day-background-color-key-focus)));color:var(--highcontrast-calendar-day-text-color-key-focus, var(--luzmo-calendar-day-text-color-key-focus, var(--calendar-day-text-color-key-focus)))}.table-cell:focus-within .date.is-selected:not(.is-range-selection),.table-cell:focus-within .date.is-today:not(.is-range-selection),.table-cell:focus-within .date:not(.is-range-selection),.table-cell:focus-within .date:not(.is-range-selection):active{border-color:var(--highcontrast-calendar-day-border-color-key-focus, var(--luzmo-calendar-day-border-color-key-focus, var(--calendar-day-border-color-key-focus)))}.table-cell:focus-within .date.is-selected:not(.is-range-selection),.table-cell:focus-within .date:not(.is-range-selection):active{color:var(--highcontrast-calendar-day-text-color-selected, var(--luzmo-calendar-day-text-color-selected, var(--calendar-day-text-color-selected)));background:var(--highcontrast-calendar-day-background-color-cap-selected, var(--luzmo-calendar-day-background-color-cap-selected, var(--calendar-day-background-color-cap-selected)));border-color:var(--highcontrast-calendar-day-border-color-key-focus, var(--luzmo-calendar-day-border-color-cap-selected-focus, var(--calendar-day-border-color-cap-selected-focus)))}.table-cell:focus-within .date.is-range-selection:before,.table-cell:focus-within .date.is-selected:before{background:var(--highcontrast-calendar-day-background-color-selected-hover, var(--luzmo-calendar-day-background-color-selected-hover, var(--calendar-day-background-color-selected-hover)))}.table-cell:focus-within .date:before{border-color:var(--highcontrast-calendar-day-border-color-key-focus, var(--luzmo-calendar-day-border-color-key-focus, var(--calendar-day-border-color-key-focus)))}.date.is-disabled{color:var(--highcontrast-calendar-day-text-color-disabled, var(--luzmo-calendar-day-text-color-disabled, var(--calendar-day-text-color-disabled)))}.date.is-selection-end,.date.is-selection-start{color:var(--highcontrast-calendar-day-text-color-cap-selected, var(--luzmo-calendar-day-text-color-cap-selected, var(--calendar-day-text-color-cap-selected)))}.date.is-selection-end:after,.date.is-selection-start:after{background-color:var(--highcontrast-calendar-day-background-color-selected, var(--luzmo-calendar-day-background-color-selected, var(--calendar-day-background-color-selected)))}.date.is-selection-end.is-disabled,.date.is-selection-start.is-disabled{color:var(--highcontrast-calendar-day-text-color-disabled, var(--luzmo-calendar-day-text-color-disabled, var(--calendar-day-text-color-disabled)))}@media (forced-colors: active){.nextMonth,.prevMonth{--highcontrast-calendar-button-icon-color: ButtonText}.date{--highcontrast-calendar-day-background-color-cap-selected: Highlight;--highcontrast-calendar-day-background-color-down: ButtonFace;--highcontrast-calendar-day-background-color-hover: Transparent;--highcontrast-calendar-day-background-color-key-focus: ButtonFace;--highcontrast-calendar-day-background-color-selected-hover: Transparent;--highcontrast-calendar-day-background-color-selected: Highlight;--highcontrast-calendar-day-border-color-key-focus: ButtonText;--highcontrast-calendar-day-text-color-cap-selected: HighlightText;--highcontrast-calendar-day-text-color-disabled: GrayText;--highcontrast-calendar-day-text-color-hover: ButtonText;--highcontrast-calendar-day-text-color-key-focus: ButtonText;--highcontrast-calendar-day-text-color-selected: HighlightText;--highcontrast-calendar-day-text-color: CanvasText;--highcontrast-calendar-date-text-color: CanvasText;--highcontrast-calendar-day-title-text-color: CanvasText;--highcontrast-calendar-day-today-background-color-selected-hover: Highlight;--highcontrast-calendar-day-today-border-color-disabled: GrayText;--highcontrast-calendar-day-today-border-color: ButtonText;--highcontrast-calendar-day-today-text-color-disabled: GrayText;--highcontrast-calendar-day-today-text-color: ButtonText;forced-color-adjust:none}.date.is-range-selection.is-today{color:HighlightText}.date.is-range-selection.is-selection-end:after,.date.is-range-selection.is-selection-start:after{content:none}.date.is-disabled.is-range-selection,.date.is-disabled.is-selected{background:Highlight;color:HighlightText}}:host{--calendar-background-color: var(--luzmo-background-color-white)}:host{font-family:var(--luzmo-font-family);--calendar-day-width: var(--luzmo-component-height);--calendar-day-height: var(--luzmo-component-height);--calendar-border-radius-reset: 0;--calendar-border-width-reset: 0;--calendar-day-border-size: var(--luzmo-border-width);--calendar-margin-y: calc(var(--luzmo-spacing) * 3);--calendar-margin-x: var(--luzmo-component-height);--calendar-day-padding: var(--luzmo-spacing-2);--calendar-width: calc( (var(--calendar-day-width) + var(--calendar-day-padding) * 2) * 7 );--calendar-title-text-letter-spacing: .06em;--calendar-day-title-text-font-weight: bold;--calendar-day-title-text-color: var(--luzmo-font-color-disabled);--calendar-title-height: var(--luzmo-component-height);--calendar-title-font-weight: bold;--calendar-title-text-size: var(--luzmo-font-size);--calendar-day-title-text-size: var(--luzmo-font-size);--calendar-day-text-size-han: var(--luzmo-font-size);--calendar-date-text-color: var(--luzmo-font-color);--calendar-day-text-color: var(--luzmo-font-color);--calendar-day-text-size: var(--luzmo-font-size);--calendar-day-border-radius: var(--luzmo-border-radius);--calendar-day-text-color-selected: var(--luzmo-primary-inverse-color);--calendar-day-text-color-hover: var(--luzmo-font-color-hover);--calendar-day-text-color-cap-selected: var(--luzmo-primary-inverse-color);--calendar-day-border-color-cap-selected: var(--luzmo-primary);--calendar-day-border-color-cap-selected-focus: var(--luzmo-primary-focus);--calendar-day-text-font-weight-selected: var(--bold-font-weight);--calendar-day-text-font-weight-cap-selected: var(--bold-font-weight);--calendar-day-today-text-color: var(--luzmo-primary);--calendar-day-today-background-color: var(--luzmo-background-color-hover);--calendar-day-today-text-font-weight: normal;--calendar-day-today-border-color: transparent;--calendar-day-today-text-color-disabled: var(--luzmo-font-color-disabled);--calendar-day-today-border-color-disabled: transparent;--calendar-day-text-color-disabled: var(--luzmo-font-color-disabled);--calendar-day-text-color-key-focus: var(--luzmo-primary-down);--calendar-day-background-color-cap-selected: var(--luzmo-primary);--calendar-button-icon-color: var(--luzmo-font-color)}:host:dir(rtl),:host([dir=rtl]){--logical-rotation: matrix(-1, 0, 0, 1, 0, 0)}:host([size=s]){--calendar-day-width: var(--luzmo-component-height-s);--calendar-day-height: var(--luzmo-component-height-s);--calendar-day-border-radius: var(--luzmo-border-radius-s);--calendar-title-height: var(--luzmo-component-height-s);--calendar-title-text-size: var(--luzmo-font-size-s);--calendar-day-title-text-size: var(--luzmo-font-size-s);--calendar-day-text-size-han: var(--luzmo-font-size-s);--calendar-day-text-size: var(--luzmo-font-size-s)}:host([size=l]){--calendar-day-width: var(--luzmo-component-height-l);--calendar-day-height: var(--luzmo-component-height-l);--calendar-day-border-radius: var(--luzmo-border-radius-l);--calendar-title-height: var(--luzmo-component-height-l);--calendar-title-text-size: var(--luzmo-font-size-l);--calendar-day-title-text-size: var(--luzmo-font-size-l);--calendar-day-text-size-han: var(--luzmo-font-size-l);--calendar-day-text-size: var(--luzmo-font-size-l)}:host([size=xl]){--calendar-day-width: var(--luzmo-component-height-xl);--calendar-day-height: var(--luzmo-component-height-xl);--calendar-day-border-radius: var(--luzmo-border-radius-xl);--calendar-title-height: var(--luzmo-component-height-xl);--calendar-title-text-size: var(--luzmo-font-size-xl);--calendar-day-title-text-size: var(--luzmo-font-size-xl);--calendar-day-text-size-han: var(--luzmo-font-size-xl);--calendar-day-text-size: var(--luzmo-font-size-xl)}.table-cell span[role=button]{border-radius:var(--luzmo-calendar-day-width, var(--calendar-day-width))}';var Xt=Object.defineProperty,er=Object.getOwnPropertyDescriptor,w=(r,e,t,a)=>{for(var o=a>1?void 0:a?er(e,t):e,i=r.length-1,n;i>=0;i--)(n=r[i])&&(o=(a?n(e,t,o):n(o))||o);return a&&o&&Xt(e,t,o),o};const Ae=7;let k=class extends c.m(c.It,{validSizes:["s","m","l","xl"],noDefaultSize:!0}){constructor(){super(),this.disabled=!1,this.labels={previous:"Previous",next:"Next",today:"Today",selected:"Selected"},this.currentDate=this.today,this.timeZone=H(),this.weekdays=[],this.currentMonthDates=[],this._isDateFocusIntent=!1,this.numberFormatter=new ee.d(this._language),this.setNumberFormatter(),this.setWeekdays(),this.setCurrentMonthDates()}static get styles(){return[c.at(Qt)]}get _language(){try{return this.language?new Intl.Locale(this.language).language:"en"}catch{return"en"}}get today(){return Dt(this.timeZone)}set isDateFocusIntent(e){this._isDateFocusIntent!==e&&(this._isDateFocusIntent=e,this.requestUpdate("isDateFocusIntent",!e))}get isDateFocusIntent(){return this._isDateFocusIntent}setDateFocusIntent(){this.isDateFocusIntent=!0}resetDateFocusIntent(){this.isDateFocusIntent=!1}connectedCallback(){super.connectedCallback(),document.addEventListener("mousedown",this.resetDateFocusIntent)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("mousedown",this.resetDateFocusIntent)}clear(){this._value=void 0}willUpdate(e){e.has("language")&&(this.setNumberFormatter(),this.setWeekdays(),this.setCurrentMonthDates());const t=e.has("min"),a=e.has("max"),o=e.has("value");(t||a||o)&&(this.convertToCalendarDates(),this.checkDatePropsCompliance(t||a),this.updateCurrentDate());const i=e.get("currentDate");e.has("currentDate")&&(!i||!B(i,this.currentDate))&&(this.setCurrentMonthDates(),this.setAttribute("aria-label",this.monthAndYear))}updated(e){e.has("currentDate")&&this.isDateFocusIntent&&this.focusCurrentDate()}focusCurrentDate(){var e;const t=(e=this.shadowRoot)==null?void 0:e.querySelector('td span[tabindex="0"]');t&&t.focus()}convertToCalendarDates(){this._min=this.min?Q(this.min):void 0,this._max=this.max?Q(this.max):void 0,this._value=this.value?Q(this.value):void 0;const e="AD";this._min=this._min&&L(this._min).set({era:e}),this._max=this._max&&L(this._max).set({era:e}),this._value=this._value&&L(this._value).set({era:e})}checkDatePropsCompliance(e){e&&this._min&&this._max&&(this._min.compare(this._max)<0||(console.warn&&console.warn(this,`<${this.localName}> expects the 'min' to be less than 'max'. Please ensure that 'min' property's date is earlier than 'max' property's date.`),this._min=void 0,this._max=void 0)),this._value&&this.isNonCompliantDate(this._value)&&(console.warn&&console.warn(this,`<${this.localName}> expects the preselected value to comply with the min and max constraints. Please ensure that 'value' property's date is in between the dates for the 'min' and 'max' properties.`),this._value=void 0)}updateCurrentDate(){if(this._value){this.currentDate=this._value;return}this.isNonCompliantDate(this.today)?this._min?this.currentDate=this._min:this._max&&(this.currentDate=this._max):this.currentDate=this.today}isNonCompliantDate(e){return!!(this._min&&e.compare(this._min)<0||this._max&&e.compare(this._max)>0)}render(){return c.Rt` ${this.renderCalendarHeader()}${this.renderCalendarGrid()} `}get monthAndYear(){return this.formatDate(this.currentDate,{month:"long",year:"numeric"})}renderCalendarHeader(){return c.Rt`
37
+ <div class="header" @focusin=${this.resetDateFocusIntent}>
38
+ <h2
39
+ class="title"
40
+ aria-live="polite"
41
+ aria-atomic="true"
42
+ data-test-id="calendar-title"
43
+ >
44
+ ${this.monthAndYear}
45
+ </h2>
46
+
47
+ <luzmo-action-button
48
+ quiet
49
+ size="s"
50
+ label=${this.labels.previous}
51
+ class="prevMonth"
52
+ data-test-id="prev-btn"
53
+ ?disabled=${this.isPreviousMonthDisabled}
54
+ @click=${this.handlePreviousMonth}
55
+ >
56
+ <div slot="icon">
57
+ <slot name="prev-icon">
58
+ <luzmo-icon
59
+ block
60
+ .size=${this.size}
61
+ .icon=${te.t}
62
+ ></luzmo-icon>
63
+ </slot>
64
+ </div>
65
+ </luzmo-action-button>
66
+
67
+ <luzmo-action-button
68
+ quiet
69
+ size="s"
70
+ label=${this.labels.next}
71
+ class="nextMonth"
72
+ data-test-id="next-btn"
73
+ ?disabled=${this.isNextMonthDisabled}
74
+ @click=${this.handleNextMonth}
75
+ >
76
+ <div slot="icon">
77
+ <slot name="next-icon">
78
+ <luzmo-icon
79
+ block
80
+ .size=${this.size}
81
+ .icon=${te.z}
82
+ ></luzmo-icon>
83
+ </slot>
84
+ </div>
85
+ </luzmo-action-button>
86
+ </div>
87
+ `}get isPreviousMonthDisabled(){if(this.disabled)return!0;const e=R(this.currentDate),t=e.subtract({months:1});return e.era!==t.era||O(e,t)}get isNextMonthDisabled(){if(this.disabled)return!0;const e=Mt(this.currentDate),t=e.add({months:1});return e.era!==t.era||O(e,t)}handlePreviousMonth(){let e=R(this.currentDate).subtract({months:1});this._value&&B(e,this._value)?e=this._value:B(e,this.today)&&(e=this.today),this.currentDate=e}handleNextMonth(){let e=R(this.currentDate).add({months:1});this._value&&B(e,this._value)?e=this._value:B(e,this.today)&&(e=this.today),this.currentDate=e}renderCalendarGrid(){return c.Rt`
88
+ <table
89
+ role="grid"
90
+ aria-readonly="true"
91
+ aria-disabled=${this.disabled}
92
+ role="presentation"
93
+ class="table body"
94
+ @keydown=${this.handleKeydown}
95
+ >
96
+ ${this.renderCalendarTableHead()} ${this.renderCalendarTableBody()}
97
+ </table>
98
+ `}renderCalendarTableHead(){return c.Rt`
99
+ <thead role="presentation">
100
+ <tr role="row">
101
+ ${this.renderWeekdayColumns()}
102
+ </tr>
103
+ </thead>
104
+ `}renderWeekdayColumns(){return this.weekdays.map(e=>this.renderWeekdayColumn(e))}renderWeekdayColumn(e){return c.Rt`
105
+ <th role="columnheader" scope="col" class="table-cell">
106
+ <abbr class="dayOfWeek" title=${e.long}> ${e.narrow} </abbr>
107
+ </th>
108
+ `}renderCalendarTableBody(){return c.Rt`
109
+ <tbody role="presentation">
110
+ ${this.renderCalendarWeeks()}
111
+ </tbody>
112
+ `}renderCalendarWeeks(){return this.currentMonthDates.map(e=>c.Rt`
113
+ <tr role="row">
114
+ ${this.renderDatesInWeek(e)}
115
+ </tr>
116
+ `)}renderDatesInWeek(e){return e.map(t=>this.renderCalendarTableCell(t))}parseDateCellProperties(e){const t={isOutsideMonth:!1,isSelected:!1,isToday:!1,isDisabled:!1,isTabbable:!1};return t.isOutsideMonth=e.month!==this.currentDate.month,t.isOutsideMonth||(t.isDisabled=this.disabled||this.isMinLimitReached(e)||this.isMaxLimitReached(e),t.isToday=O(e,this.today),t.isDisabled)||(t.isTabbable=O(e,this.currentDate),t.isSelected=!!(this._value&&O(this._value,e))),t}renderCalendarTableCell(e){const{isOutsideMonth:t,isSelected:a,isToday:o,isDisabled:i,isTabbable:n}=this.parseDateCellProperties(e),l={date:!0,"is-outsideMonth":t,"is-selected":a,"is-today":o,"is-disabled":i};let s="";o?s=`${this.labels.today}, `:a&&(s=`${this.labels.selected}, `);const u=s+this.formatDate(e,{weekday:"long",year:"numeric",month:"long",day:"numeric"});return c.Rt`
117
+ <td role="gridcell" class="table-cell">
118
+ <span
119
+ role="button"
120
+ tabindex=${E.m(t?void 0:n?"0":"-1")}
121
+ aria-label=${u}
122
+ aria-disabled=${t||i}
123
+ data-value=${e.toString()}
124
+ @mousedown=${this.handleDaySelect}
125
+ >
126
+ <span role="presentation" class=${Me.u$1(l)}>
127
+ ${this.formatNumber(e.day)}
128
+ </span>
129
+ </span>
130
+ </td>
131
+ `}handleKeydown(e){switch(this.setDateFocusIntent(),e.code){case"ArrowLeft":{this.moveToPreviousDay();break}case"ArrowDown":{this.moveToNextWeek();break}case"ArrowRight":{this.moveToNextDay();break}case"ArrowUp":{this.moveToPreviousWeek();break}case"Space":case"Enter":{this.handleDaySelect(e);break}}}handleDaySelect(e){if(this.disabled){e.preventDefault();return}const t=e.target.closest('span[role="button"]'),a=t&&t.dataset.value;if(!a)return;const o=Q(a);if(this._value&&O(this._value,o)||this.isMinLimitReached(o)||this.isMaxLimitReached(o)){e.preventDefault();return}this._value=o,this.value=o.toString(),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,cancelable:!0,detail:{value:this.value}}))}moveToPreviousDay(){const e=this.currentDate.subtract({days:1});this.canMoveBackToDate(e)&&(this.currentDate=e)}moveToNextDay(){const e=this.currentDate.add({days:1});this.canMoveForwardToDate(e)&&(this.currentDate=e)}moveToPreviousWeek(){const e=this.currentDate.subtract({weeks:1});if(this.canMoveBackToDate(e)){this.currentDate=e;return}let t=e.add({days:1});for(;!this.canMoveBackToDate(t);)t=t.add({days:1});this.currentDate=t}moveToNextWeek(){const e=this.currentDate.add({weeks:1});if(this.canMoveForwardToDate(e)){this.currentDate=e;return}let t=e.subtract({days:1});for(;!this.canMoveForwardToDate(t);)t=t.subtract({days:1});this.currentDate=t}canMoveBackToDate(e){return this.isMinLimitReached(e)?!1:B(this.currentDate,e)||!this.isPreviousMonthDisabled}canMoveForwardToDate(e){return this.isMaxLimitReached(e)?!1:B(this.currentDate,e)||!this.isNextMonthDisabled}setWeekdays(){const e=Ee(this.currentDate,this._language);this.weekdays=[...Array.from({length:Ae}).keys()].map(t=>{const a=e.add({days:t});return{narrow:this.formatDate(a,{weekday:"narrow"}),long:this.formatDate(a,{weekday:"long"})}})}setCurrentMonthDates(){const e=$t(this.currentDate,this._language),t=Array.from({length:e});for(const a of Array.from({length:e}).keys())t[a]=this.getDatesInWeek(this.currentDate,a);this.currentMonthDates=t}getDatesInWeek(e,t){const a=[];let o=Ee(R(e).add({weeks:t}),this._language);for(;a.length<Ae;){a.push(o);const i=o.add({days:1});if(O(o,i))break;o=i}return a}isMinLimitReached(e){return!!(this._min&&e.compare(this._min)<0)}isMaxLimitReached(e){return!!(this._max&&e.compare(this._max)>0)}formatDate(e,t){return new De(this._language,t).format(e.toDate(this.timeZone))}setNumberFormatter(){this.numberFormatter=new ee.d(this._language)}formatNumber(e){return this.numberFormatter.format(e)}};w([c.zt({type:String})],k.prototype,"value",2);w([c.zt({type:String})],k.prototype,"min",2);w([c.zt({type:String})],k.prototype,"max",2);w([c.zt({type:Boolean,reflect:!0})],k.prototype,"disabled",2);w([c.zt({type:String,reflect:!0})],k.prototype,"language",2);w([c.zt({type:Object})],k.prototype,"labels",2);w([S.n()],k.prototype,"currentDate",2);w([S.n()],k.prototype,"_value",2);w([S.n()],k.prototype,"_min",2);w([S.n()],k.prototype,"_max",2);w([S.n()],k.prototype,"weekdays",2);w([S.n()],k.prototype,"currentMonthDates",2);w([S.n()],k.prototype,"isDateFocusIntent",1);customElements.get("luzmo-calendar")||customElements.define("luzmo-calendar",k);/*! * Lucero - The design system for Luzmo.
132
+ *
133
+ * Copyright © 2025 Luzmo
134
+ * All rights reserved.
135
+ * Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
136
+ * This license allows users with a current active Luzmo account to use Lucero.
137
+ * This license terminates automatically if a user no longer has an active Luzmo account.
138
+ * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
139
+ *
140
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
141
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
142
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
143
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
144
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
145
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
146
+ * SOFTWARE.
147
+ * */const tr=()=>{if(typeof document<"u"&&!document.querySelector("style[data-luzmo-vars]")){const r=document.createElement("style");r.setAttribute("data-luzmo-vars",""),r.textContent='html{--luzmo-animation-duration: 0.15s;--luzmo-border-color: rgba(var(--luzmo-border-color-rgb), 0.1);--luzmo-border-color-hover: rgba(var(--luzmo-border-color-rgb), 0.15);--luzmo-border-color-down: rgba(var(--luzmo-border-color-rgb), 0.3);--luzmo-border-color-focus: rgba(var(--luzmo-border-color-rgb), 0.15);--luzmo-border-color-rgb: 0, 0, 0;--luzmo-border-color-full: rgb(180, 180, 180);--luzmo-border-color-full-hover: rgb(140, 140, 140);--luzmo-border-color-full-down: rgb(110, 110, 110);--luzmo-border-color-full-focus: rgb(140, 140, 140);--luzmo-border-color-disabled: #dddddd;--luzmo-border-radius: 6px;--luzmo-border-radius-s: 4px;--luzmo-border-radius-l: 8px;--luzmo-border-radius-xl: 12px;--luzmo-border-radius-full: 999rem;--luzmo-background-color: #ffffff;--luzmo-background-color-rgb: 255, 255, 255;--luzmo-background-color-disabled: #eeeeee;--luzmo-background-color-hover: #f0f0fc;--luzmo-background-color-down: #f1f1ff;--luzmo-background-color-focus: #f0f0fc;--luzmo-background-color-highlight: rgb(240, 240, 240);--luzmo-background-color-highlight-disabled: rgb(245, 245, 245);--luzmo-background-color-highlight-hover: rgb(225, 225, 225);--luzmo-background-color-highlight-down: rgb(215, 215, 215);--luzmo-background-color-highlight-focus: rgb(225, 225, 225);--luzmo-border-width: 1px;--luzmo-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, sans-serif;--luzmo-font-size-xs: 10px;--luzmo-font-size-s: 12px;--luzmo-font-size-m: 14px;--luzmo-font-size: 14px;--luzmo-font-size-l: 16px;--luzmo-font-size-xl: 18px;--luzmo-font-size-xxl: 20px;--luzmo-font-style: normal;--luzmo-line-height: normal;--luzmo-font-weight: 400;--luzmo-font-weight-semibold: 500;--luzmo-font-weight-bold: 600;--luzmo-font-color: #333;--luzmo-font-color-hard: #000;--luzmo-font-color-disabled: var(--luzmo-disabled-color);--luzmo-font-color-extra-dimmed: #888;--luzmo-font-color-hover: #333;--luzmo-font-color-down: #111;--luzmo-font-color-focus: #333;--luzmo-primary: #4434ff;--luzmo-primary-hover: #4234e4;--luzmo-primary-down: #392cc7;--luzmo-primary-focus: #4234e4;--luzmo-primary-inverse-color: #ffffff;--luzmo-primary-rgb: 68, 52, 255;--luzmo-secondary: #ff00ff;--luzmo-secondary-hover: #e309e3;--luzmo-secondary-down: #c711c7;--luzmo-secondary-focus: #e309e3;--luzmo-secondary-inverse-color: #ffffff;--luzmo-secondary-rgb: 255, 0, 255;--luzmo-negative-color: #ca221c;--luzmo-negative-color-hover: #b3241f;--luzmo-negative-color-down: #9f231f;--luzmo-negative-color-focus: #b3241f;--luzmo-negative-color-rgb: 202, 34, 28;--luzmo-positive-color: rgb(20, 150, 101);--luzmo-positive-color-hover: rgb(17, 128, 86);--luzmo-positive-color-down: rgb(16, 105, 71);--luzmo-positive-color-focus: rgb(17, 128, 86);--luzmo-positive-color-rgb: 20, 150, 101;--luzmo-selected-color: rgb(110, 110, 110);--luzmo-selected-color-hover: rgb(70, 70, 70);--luzmo-selected-color-down: rgb(40, 40, 40);--luzmo-selected-color-focus: rgb(70, 70, 70);--luzmo-selected-color-hard: #1e1e1e;--luzmo-selected-color-hard-hover: rgb(0, 0, 0);--luzmo-selected-color-hard-down: rgb(0, 0, 0);--luzmo-selected-color-hard-focus: rgb(0, 0, 0);--luzmo-informative-color: #1a77e9;--luzmo-informative-color-rgb: 26, 119, 233;--luzmo-disabled-color: #aaaaaa;--luzmo-spacing-1: 2px;--luzmo-spacing-2: 4px;--luzmo-spacing-3: 8px;--luzmo-spacing-4: 12px;--luzmo-spacing-5: 16px;--luzmo-indicator-gap: 2px;--luzmo-indicator-width: 1px;--luzmo-indicator-color: var(--luzmo-primary);--luzmo-component-height-xxs: 20px;--luzmo-component-height-xs: 24px;--luzmo-component-height-s: 28px;--luzmo-component-height: 32px;--luzmo-component-height-l: 40px;--luzmo-component-height-xl: 48px;--luzmo-component-height-xxl: 64px;--luzmo-icon-size-xxs: 12px;--luzmo-icon-size-xs: 14px;--luzmo-icon-size-s: 16px;--luzmo-icon-size-m: 18px;--luzmo-icon-size-l: 20px;--luzmo-icon-size-xl: 22px;--luzmo-icon-size-xxl: 32px}',document.head.appendChild(r)}};tr();const rr="@media (hover: hover){.root:hover{--picker-button-background-color: var( --luzmo-picker-button-background-color-hover, var(--picker-button-background-color-hover) );--picker-button-font-color: var( --luzmo-picker-button-font-color-hover, var(--picker-button-font-color-hover) );--picker-button-icon-color: var( --luzmo-picker-button-icon-color-hover, var(--picker-button-icon-color-hover) )}}:host([open]) .root,:host(:is(:active,[active])) .root{--picker-button-background-color: var( --luzmo-picker-button-background-color-down, var(--picker-button-background-color-down) );--picker-button-font-color: var( --luzmo-picker-button-font-color-down, var(--picker-button-font-color-down) );--picker-button-icon-color: var( --luzmo-picker-button-icon-color-down, var(--picker-button-icon-color-down) )}:host([focused]) .root,.root:focus,.root:focus-visible{--picker-button-background-color: var( --luzmo-picker-button-background-color-key-focus, var(--picker-button-background-color-key-focus) );--picker-button-font-color: var( --luzmo-picker-button-font-color-key-focus, var(--picker-button-font-color-key-focus) );--picker-button-icon-color: var( --luzmo-picker-button-icon-color-key-focus, var(--picker-button-icon-color-key-focus) )}:host([disabled]) .root{--picker-button-background-color: var( --luzmo-picker-button-background-color-disabled, var(--luzmo-background-color-disabled) );--picker-button-background-color-hover: var( --luzmo-picker-button-background-color-hover-disabled, var(--luzmo-background-color-disabled) );--picker-button-background-color-down: var( --luzmo-picker-button-background-color-down-disabled, var(--luzmo-background-color-disabled) );--picker-button-border-color: var( --luzmo-picker-button-border-color-disabled, var(--luzmo-background-color-disabled) );--picker-button-font-color: var( --luzmo-picker-button-font-color-disabled, var(--luzmo-font-color-disabled) );--picker-button-font-color-hover: var( --luzmo-picker-button-font-color-hover-disabled, var(--luzmo-font-color-disabled) );--picker-button-font-color-down: var( --luzmo-picker-button-font-color-down-disabled, var(--luzmo-font-color-disabled) );--picker-button-icon-color: var( --luzmo-picker-button-icon-color-disabled, var(--luzmo-font-color-disabled) );--picker-button-icon-color-hover: var( --luzmo-picker-button-icon-color-hover-disabled, var(--luzmo-font-color-disabled) );--picker-button-icon-color-down: var( --luzmo-picker-button-icon-color-down-disabled, var(--luzmo-font-color-disabled) )}:host([quiet]) .root{--luzmo-picker-button-background-color: var( --luzmo-picker-button-background-color-quiet, transparent );--luzmo-picker-button-background-color-hover: var( --luzmo-picker-button-background-color-hover-quiet, transparent );--luzmo-picker-button-background-color-down: var( --luzmo-picker-button-background-color-down-quiet, transparent );--luzmo-picker-button-background-color-key-focus: var( --luzmo-picker-button-background-color-key-focus-quiet, transparent );--luzmo-picker-button-border-color: var( --luzmo-picker-button-border-color-quiet, transparent )}.root{background-color:initial;block-size:var(--luzmo-picker-button-width, var(--picker-button-width));box-sizing:border-box;padding:var(--luzmo-picker-button-padding, var(--picker-button-padding));border-style:none;justify-content:center;align-items:center;display:flex}.root.uiicononly{inline-size:var(--luzmo-picker-button-height, var(--picker-button-height))}.luzmo-picker-button-label{color:var(--luzmo-picker-button-font-color, var(--picker-button-font-color));white-space:nowrap;font-family:var(--luzmo-picker-button-font-family, var(--picker-button-font-family));font-style:var(--luzmo-picker-button-font-style, var(--picker-button-font-style));font-weight:var(--luzmo-picker-button-font-weight, var(--picker-button-font-weight));font-size:var(--luzmo-picker-button-font-size, var(--picker-button-font-size));flex:auto;padding-block-start:var(--luzmo-picker-button-label-padding, var(--picker-button-label-padding));padding-block-end:var(--luzmo-picker-button-label-padding, var(--picker-button-label-padding));overflow:hidden}.uiicononly .luzmo-picker-button-label{display:none}:host(:focus-visible) .luzmo-picker-button-fill{border-color:var(--luzmo-picker-button-indicator-color, var(--picker-button-indicator-color));background-color:var(--luzmo-picker-button-background-color-key-focus, var(--picker-button-background-color-key-focus))}.luzmo-picker-button-fill{box-sizing:border-box;block-size:100%;inline-size:100%;justify-content:center;align-items:center;gap:var(--luzmo-picker-button-gap, var(--picker-button-gap));background-color:var(--luzmo-picker-button-background-color, var(--picker-button-background-color));border-color:var(--luzmo-picker-button-border-color, var(--picker-button-border-color));border-width:var(--luzmo-picker-button-border-width, var(--picker-button-border-width));padding:var(--luzmo-picker-button-horizontal-padding, var(--picker-button-horizontal-padding));transition:border-color var(--luzmo-picker-button-background-animation-duration, var(--picker-button-background-animation-duration)) ease-in-out;border-style:solid;border-start-start-radius:var(--luzmo-picker-button-border-radius, var(--picker-button-border-radius));border-start-end-radius:var(--luzmo-picker-button-border-radius, var(--picker-button-border-radius));border-end-end-radius:var(--luzmo-picker-button-border-radius, var(--picker-button-border-radius));border-end-start-radius:var(--luzmo-picker-button-border-radius, var(--picker-button-border-radius));display:flex}:host([position=right]) .luzmo-picker-button-fill{border-start-start-radius:var(--luzmo-picker-button-border-radius-sided, var(--picker-button-border-radius-sided));border-end-start-radius:var(--luzmo-picker-button-border-radius-sided, var(--picker-button-border-radius-sided))}:host([position=right][rounded]) .luzmo-picker-button-fill{border-start-start-radius:var(--luzmo-picker-button-border-radius-rounded-sided, var(--picker-button-border-radius-rounded-sided));border-end-start-radius:var(--luzmo-picker-button-border-radius-rounded-sided, var(--picker-button-border-radius-rounded-sided))}:host([position=left]) .luzmo-picker-button-fill{border-start-end-radius:var(--luzmo-picker-button-border-radius-sided, var(--picker-button-border-radius-sided));border-end-end-radius:var(--luzmo-picker-button-border-radius-sided, var(--picker-button-border-radius-sided))}:host([position=left][rounded]) .luzmo-picker-button-fill{border-start-end-radius:var(--luzmo-picker-button-border-radius-rounded-sided, var(--picker-button-border-radius-rounded-sided));border-end-end-radius:var(--luzmo-picker-button-border-radius-rounded-sided, var(--picker-button-border-radius-rounded-sided))}:host([rounded]) .luzmo-picker-button-fill{border-start-start-radius:var(--luzmo-picker-button-border-radius-rounded, var(--picker-button-border-radius-rounded));border-start-end-radius:var(--luzmo-picker-button-border-radius-rounded, var(--picker-button-border-radius-rounded));border-end-end-radius:var(--luzmo-picker-button-border-radius-rounded, var(--picker-button-border-radius-rounded));border-end-start-radius:var(--luzmo-picker-button-border-radius-rounded, var(--picker-button-border-radius-rounded))}.uiicononly .luzmo-picker-button-fill{padding:0}.textuiicon .luzmo-picker-button-fill{inline-size:auto}.luzmo-picker-button-icon{color:var(--luzmo-picker-button-icon-color, var(--picker-button-icon-color));flex-shrink:0}.root{--picker-button-height: var(--luzmo-component-height);--picker-button-width: var(--luzmo-component-height);--picker-button-gap: calc(var(--luzmo-spacing-2) + var(--luzmo-spacing-1));--picker-button-label-padding: calc( var(--luzmo-spacing-2) + var(--luzmo-spacing-1) );--picker-button-horizontal-padding: calc( var(--luzmo-spacing-3) + var(--luzmo-spacing-1) );--picker-button-indicator-color: var(--luzmo-indicator-color);--picker-button-icon-color: var(--luzmo-font-color);--picker-button-icon-color-hover: var(--luzmo-font-color-hover);--picker-button-icon-color-down: var(--luzmo-font-color-down);--picker-button-icon-color-key-focus: var(--luzmo-font-color-focus);--picker-button-font-color: var(--luzmo-font-color);--picker-button-font-color-hover: var(--luzmo-font-color-hover);--picker-button-font-color-down: var(--luzmo-font-color-down);--picker-button-font-color-key-focus: var(--neutral-content-color-focus);--picker-button-font-family: var(--luzmo-font-family);--picker-button-font-style: var(--luzmo-font-style);--picker-button-font-weight: var(--body-sans-serif-font-weight);--picker-button-font-size: var(--luzmo-font-size);--picker-button-border-radius-rounded: var(--luzmo-border-radius);--picker-button-background-animation-duration: var( --luzmo-animation-duration )}.root{--picker-button-background-color: var(--luzmo-background-color);--picker-button-background-color-hover: var(--luzmo-background-color-hover);--picker-button-background-color-down: var(--luzmo-background-color-down);--picker-button-background-color-key-focus: var( --luzmo-background-color-focus );--picker-button-border-color: var(--luzmo-border-color);--picker-button-border-radius: var(--luzmo-border-radius);--picker-button-border-radius-rounded-sided: var(--luzmo-border-radius);--picker-button-border-radius-sided: 0;--picker-button-border-width: var(--luzmo-border-width)}:host([size=s]) .root{--picker-button-height: var(--luzmo-component-height-s);--picker-button-width: var(--luzmo-component-height-s);--picker-button-label-padding: var(--luzmo-spacing-2);--picker-button-font-size: var(--luzmo-font-size-s);--picker-button-horizontal-padding: var(--luzmo-spacing-3)}:host([size=l]) .root{--picker-button-height: var(--luzmo-component-height-l);--picker-button-width: var(--luzmo-component-height-l);--picker-button-label-padding: var(--luzmo-spacing-3);--picker-button-font-size: var(--luzmo-font-size-l);--picker-button-horizontal-padding: var(--luzmo-spacing-4)}:host([size=xl]) .root{--picker-button-height: var(--luzmo-component-height-xl);--picker-button-width: var(--luzmo-component-height-xl);--picker-button-label-padding: var(--luzmo-spacing-4);--picker-button-font-size: var(--luzmo-font-size-xl);--picker-button-horizontal-padding: var(--luzmo-spacing-5)}:host{display:inline-flex}.root{display:flex}";var ar=Object.defineProperty,ct=(r,e,t,a)=>{for(var o=void 0,i=r.length-1,n;i>=0;i--)(n=r[i])&&(o=n(e,t,o)||o);return o&&ar(e,t,o),o};let Ve=class extends c.m(ft.b(zt.a,'[slot="label"]')){constructor(){super(...arguments),this.invalid=!1,this.position="right"}static get styles(){return[c.at(rr)]}get hasText(){return this.slotContentIsPresent}render(){const e={root:!0,uiicononly:!this.hasText,textuiicon:this.hasText};return c.Rt`
148
+ <div class=${Me.u$1(e)}>
149
+ <div class="luzmo-picker-button-fill">
150
+ <span
151
+ class="luzmo-picker-button-label is-placeholder"
152
+ ?hidden=${!this.hasText}
153
+ >
154
+ <slot name="label"></slot>
155
+ </span>
156
+ <slot name="icon">
157
+ <luzmo-icon
158
+ .icon=${te.s}
159
+ size=${this.size}
160
+ block
161
+ class="luzmo-picker-button-icon"
162
+ ></luzmo-icon>
163
+ </slot>
164
+ </div>
165
+ </div>
166
+ `}};ct([c.zt({type:Boolean,reflect:!0})],Ve.prototype,"invalid");ct([c.zt({reflect:!0})],Ve.prototype,"position");customElements.get("luzmo-picker-button")||customElements.define("luzmo-picker-button",Ve);/*! * Lucero - The design system for Luzmo.
167
+ *
168
+ * Copyright © 2025 Luzmo
169
+ * All rights reserved.
170
+ * Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
171
+ * This license allows users with a current active Luzmo account to use Lucero.
172
+ * This license terminates automatically if a user no longer has an active Luzmo account.
173
+ * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
174
+ *
175
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
176
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
177
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
178
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
179
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
180
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
181
+ * SOFTWARE.
182
+ * */const or=()=>{if(typeof document<"u"&&!document.querySelector("style[data-luzmo-vars]")){const r=document.createElement("style");r.setAttribute("data-luzmo-vars",""),r.textContent='html{--luzmo-animation-duration: 0.15s;--luzmo-border-color: rgba(var(--luzmo-border-color-rgb), 0.1);--luzmo-border-color-hover: rgba(var(--luzmo-border-color-rgb), 0.15);--luzmo-border-color-down: rgba(var(--luzmo-border-color-rgb), 0.3);--luzmo-border-color-focus: rgba(var(--luzmo-border-color-rgb), 0.15);--luzmo-border-color-rgb: 0, 0, 0;--luzmo-border-color-full: rgb(180, 180, 180);--luzmo-border-color-full-hover: rgb(140, 140, 140);--luzmo-border-color-full-down: rgb(110, 110, 110);--luzmo-border-color-full-focus: rgb(140, 140, 140);--luzmo-border-color-disabled: #dddddd;--luzmo-border-radius: 6px;--luzmo-border-radius-s: 4px;--luzmo-border-radius-l: 8px;--luzmo-border-radius-xl: 12px;--luzmo-border-radius-full: 999rem;--luzmo-background-color: #ffffff;--luzmo-background-color-rgb: 255, 255, 255;--luzmo-background-color-disabled: #eeeeee;--luzmo-background-color-hover: #f0f0fc;--luzmo-background-color-down: #f1f1ff;--luzmo-background-color-focus: #f0f0fc;--luzmo-background-color-highlight: rgb(240, 240, 240);--luzmo-background-color-highlight-disabled: rgb(245, 245, 245);--luzmo-background-color-highlight-hover: rgb(225, 225, 225);--luzmo-background-color-highlight-down: rgb(215, 215, 215);--luzmo-background-color-highlight-focus: rgb(225, 225, 225);--luzmo-border-width: 1px;--luzmo-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, sans-serif;--luzmo-font-size-xs: 10px;--luzmo-font-size-s: 12px;--luzmo-font-size-m: 14px;--luzmo-font-size: 14px;--luzmo-font-size-l: 16px;--luzmo-font-size-xl: 18px;--luzmo-font-size-xxl: 20px;--luzmo-font-style: normal;--luzmo-line-height: normal;--luzmo-font-weight: 400;--luzmo-font-weight-semibold: 500;--luzmo-font-weight-bold: 600;--luzmo-font-color: #333;--luzmo-font-color-hard: #000;--luzmo-font-color-disabled: var(--luzmo-disabled-color);--luzmo-font-color-extra-dimmed: #888;--luzmo-font-color-hover: #333;--luzmo-font-color-down: #111;--luzmo-font-color-focus: #333;--luzmo-primary: #4434ff;--luzmo-primary-hover: #4234e4;--luzmo-primary-down: #392cc7;--luzmo-primary-focus: #4234e4;--luzmo-primary-inverse-color: #ffffff;--luzmo-primary-rgb: 68, 52, 255;--luzmo-secondary: #ff00ff;--luzmo-secondary-hover: #e309e3;--luzmo-secondary-down: #c711c7;--luzmo-secondary-focus: #e309e3;--luzmo-secondary-inverse-color: #ffffff;--luzmo-secondary-rgb: 255, 0, 255;--luzmo-negative-color: #ca221c;--luzmo-negative-color-hover: #b3241f;--luzmo-negative-color-down: #9f231f;--luzmo-negative-color-focus: #b3241f;--luzmo-negative-color-rgb: 202, 34, 28;--luzmo-positive-color: rgb(20, 150, 101);--luzmo-positive-color-hover: rgb(17, 128, 86);--luzmo-positive-color-down: rgb(16, 105, 71);--luzmo-positive-color-focus: rgb(17, 128, 86);--luzmo-positive-color-rgb: 20, 150, 101;--luzmo-selected-color: rgb(110, 110, 110);--luzmo-selected-color-hover: rgb(70, 70, 70);--luzmo-selected-color-down: rgb(40, 40, 40);--luzmo-selected-color-focus: rgb(70, 70, 70);--luzmo-selected-color-hard: #1e1e1e;--luzmo-selected-color-hard-hover: rgb(0, 0, 0);--luzmo-selected-color-hard-down: rgb(0, 0, 0);--luzmo-selected-color-hard-focus: rgb(0, 0, 0);--luzmo-informative-color: #1a77e9;--luzmo-informative-color-rgb: 26, 119, 233;--luzmo-disabled-color: #aaaaaa;--luzmo-spacing-1: 2px;--luzmo-spacing-2: 4px;--luzmo-spacing-3: 8px;--luzmo-spacing-4: 12px;--luzmo-spacing-5: 16px;--luzmo-indicator-gap: 2px;--luzmo-indicator-width: 1px;--luzmo-indicator-color: var(--luzmo-primary);--luzmo-component-height-xxs: 20px;--luzmo-component-height-xs: 24px;--luzmo-component-height-s: 28px;--luzmo-component-height: 32px;--luzmo-component-height-l: 40px;--luzmo-component-height-xl: 48px;--luzmo-component-height-xxl: 64px;--luzmo-icon-size-xxs: 12px;--luzmo-icon-size-xs: 14px;--luzmo-icon-size-s: 16px;--luzmo-icon-size-m: 18px;--luzmo-icon-size-l: 20px;--luzmo-icon-size-xl: 22px;--luzmo-icon-size-xxl: 32px}',document.head.appendChild(r)}};or();const d={Year:"year",Month:"month",Day:"day",Hour:"hour",Minute:"minute",Second:"second",Millisecond:"fractionalSecond",DayPeriod:"dayPeriod",Literal:"literal"},ir={[d.Year]:"––––",[d.Month]:"––",[d.Day]:"––",[d.Hour]:"––",[d.Minute]:"––",[d.Second]:"––",[d.Millisecond]:"–––",[d.DayPeriod]:"––"},y={Day:"day",Hour:"hour",Minute:"minute",Second:"second",Millisecond:"millisecond"},X=0,Y=12,ut=2e3,nr=31;function x(r){return typeof r=="number"}function J(r){return r instanceof U}function ye(r){return r instanceof I}function le(r){return r instanceof F}function ht(r,e){return r=r%Y+e}function mt(r){return r>=Y?Y:X}function Re(r,e){return r.length===e.length&&r.every((t,a)=>t===e[a])}function pt(r){return le(r)?new Date(r.year,r.month-1,r.day):new Date(r.year,r.month-1,r.day,r.hour,r.minute,r.second,r.millisecond)}class q{constructor(e,t,a){this.type=e,this.formatted=t,this.label=a,this.placeholder=ir[e]}increment(e){this.value===void 0?this.value=this.minValue:(this.value=this.value+1,this.value>this.maxValue&&(this.value=this.minValue))}decrement(e){this.value===void 0?this.value=this.maxValue:(this.value=this.value-1,this.value<this.minValue&&(this.value=this.maxValue))}setValueFromDate(e){this.type==="fractionalSecond"?this.value=e.millisecond:this.type!==d.DayPeriod&&(this.value=e[this.type])}clear(){this.value=void 0}handleInput(e,t){const a=t.parse(e);if(Number.isNaN(a))return;const o=t.parse(`${this.value??""}${a}`);if(this.isInputValueCompliant(o)){this.value=o;return}this.isInputValueCompliant(a)&&(this.value=a)}isInputValueCompliant(e){const{minValue:t,maxValue:a}=this.inputValidationLimits;return e>=t&&e<=a}get inputValidationLimits(){return{minValue:this.minValue,maxValue:this.maxValue}}updateValueToLimits(){this.value!==void 0&&(this.value<this.minValue&&(this.value=this.minValue),this.value>this.maxValue&&(this.value=this.maxValue))}}class vt extends q{constructor(e,t){super(d.Year,e,t),this.minValue=1,this.maxValue=9999}setLimits(e){this.minValue=1,this.maxValue=e.calendar.getYearsInEra(e),this.updateValueToLimits()}increment(e){this.value===void 0?this.value=e.year:super.increment()}decrement(e){this.value===void 0?this.value=e.year:super.decrement()}clear(){if(this.value===void 0)return;const e=Math.floor(this.value/10);this.value=e>0?e:void 0}}class ce{constructor(e){this.segments=e}get all(){return this.segments}get editableValues(){return this.all.filter(e=>e instanceof q).map(e=>e.value)}get year(){const e=this.getByType(d.Year);if(e&&e instanceof vt)return e}get month(){const e=this.getByType(d.Month);if(e)return e}get day(){const e=this.getByType(d.Day);if(e)return e}get hour(){const e=this.getByType(d.Hour);if(e)return e}get minute(){const e=this.getByType(d.Minute);if(e)return e}get second(){const e=this.getByType(d.Second);if(e)return e}get millisecond(){const e=this.getByType(d.Millisecond);if(e)return e}get dayPeriod(){const e=this.getByType(d.DayPeriod);if(e)return e}getByType(e){return this.segments.find(t=>t.type===e)}getFormattedDate(e=y.Day){var t,a,o,i,n,l,s;const u=(t=this.year)==null?void 0:t.value,m=(a=this.month)==null?void 0:a.value,h=(o=this.day)==null?void 0:o.value;if(!x(u)||!x(m)||!x(h))return;if(e===y.Day)return new F(u,m,h);let p=(i=this.hour)==null?void 0:i.value;if(!x(p))return;if(this.dayPeriod){const $=this.dayPeriod.value;if(!x($))return;p=ht(p,$)}if(e===y.Hour)return new I(u,m,h,p);const v=(n=this.minute)==null?void 0:n.value;if(!x(v))return;if(e===y.Minute)return new I(u,m,h,p,v);const g=(l=this.second)==null?void 0:l.value;if(!x(g))return;if(e===y.Second)return new I(u,m,h,p,v,g);const z=(s=this.millisecond)==null?void 0:s.value;if(x(z))return new I(u,m,h,p,v,g,z)}}class lr{constructor(e,t){this.dateFormatter=e,this.currentDate=t,this.numberFormatter=new ee.d(this.dateFormatter.resolvedOptions().locale,{useGrouping:!1})}format(e){if(!e.year||!e.month||!e.day)return e;const t=this.getDateInfoWithDefaults(e);return t&&(this.setSegmentsFormatted(e,t),this.padSegmentsFormatted(e)),e}setSegmentsFormatted(e,t){var a;e=new ce(e.all);const{year:o,month:i,day:n,hour:l,minute:s,second:u,millisecond:m}=t,h=new Date(o,i-1,n,l,s,u,m);if(!e.year)return;e.year.formatted=this.numberFormatter.format(o);const p=[d.Month,d.Day,d.Hour,d.Minute,d.Second,d.DayPeriod],v=this.dateFormatter.formatToParts(h);for(const g of p){const z=e[g];if(!z)continue;const $=(a=v.find(N=>N.type===g))==null?void 0:a.value;$&&(z.formatted=$)}}padSegmentsFormatted(e){if(!e.hour)return;const t=[d.Month,d.Day,d.Hour,d.Minute,d.Second];for(const a of t){const o=e[a];o&&(o.formatted=o.formatted.padStart(2,this.numberFormatter.format(0)))}}getDateInfoWithDefaults(e){var t,a,o,i,n;if(!e.year||!e.month||!e.day)return;const l=e.day.value??je(this.currentDate),s=e.month.value??We(this.currentDate),u=e.year.value??ut,m=(t=e.dayPeriod)==null?void 0:t.value;let h=(a=e.hour)==null?void 0:a.value;x(h)?x(m)&&(h=ht(h,m)):h=x(m)?m:this.currentDate.hour;const p=((o=e.minute)==null?void 0:o.value)??this.currentDate.minute,v=((i=e.second)==null?void 0:i.value)??this.currentDate.second,g=((n=e.millisecond)==null?void 0:n.value)??this.currentDate.millisecond;return{year:u,month:s,day:l,hour:h,minute:p,second:v,millisecond:g}}}class ue{constructor(e){const{dateFormatter:t,segments:a,currentDate:o}=e;this.segments=new ce(a.all),this.dateFormatter=t,this.currentDate=o}modify(e){const t=this.segments.getByType(e);if(!t)return this.segments;this.modifySegment(t),this.updateSegmentsLimits(e);const a=new lr(this.dateFormatter,this.currentDate);return this.segments=a.format(this.segments),this.segments}updateSegmentsLimits(e){const t=e===d.Year,a=e===d.Month,o=this.segments.year,i=this.segments.month,n=this.segments.day;t&&(i==null||i.setLimits(this.currentDate),n==null||n.setLimits(this.currentDate,i==null?void 0:i.value,o==null?void 0:o.value)),a&&(n==null||n.setLimits(this.currentDate,i==null?void 0:i.value,o==null?void 0:o.value))}}class sr extends ue{modifySegment(e){e.clear()}}class dr extends ue{modifySegment(e){e.decrement(this.currentDate)}}class cr extends ue{modifySegment(e){e.increment(this.currentDate)}}class ur extends ue{constructor(e){const{dateFormatter:t,segments:a,currentDate:o}=e;super({dateFormatter:t,segments:a,currentDate:o}),this.eventData=e.eventData,this.numberParser=e.numberParser}modifySegment(e){this.eventData!==null&&e.handleInput(this.eventData,this.numberParser)}}class hr extends q{constructor(e,t){super(d.Day,e,t),this.minValue=1,this.maxValue=31}setLimits(e,t,a){if(!x(t)){this.minValue=1,this.maxValue=nr;return}x(a)||(a=ut);const o=new F(a,t,1);this.maxValue=e.calendar.getDaysInMonth(o),this.minValue=je(o),this.updateValueToLimits()}}class mr extends q{constructor(e,t){super(d.Month,e,t),this.minValue=1,this.maxValue=12}setLimits(e){this.minValue=We(e),this.maxValue=e.calendar.getMonthsInYear(e),this.updateValueToLimits()}}class pr{constructor(e){this.formatted=e,this.type=d.Literal}}class vr extends q{constructor(e,t){super(d.DayPeriod,e,t),this.minValue=X,this.maxValue=Y,this.localizedMinValue="AM",this.localizedMaxValue="PM"}toggleAmPm(){this.value=this.value===X?Y:X}increment(){this.value===void 0?this.value=this.minValue:this.toggleAmPm()}decrement(){this.value===void 0?this.value=this.maxValue:this.toggleAmPm()}setValueFromDate(e){this.value=mt(e.hour)}handleInput(e){const t=e.toLowerCase(),a=this.localizedMinValue.toLowerCase().includes(t),o=this.localizedMaxValue.toLowerCase().includes(t);a&&o||(a&&(this.value=X),o&&(this.value=Y))}setLocalizedLimits(e){const t=new Date(0,0,0,this.minValue,0),a=new Date(0,0,0,this.maxValue,0),[o,i]=[t,a].map(this.getDayPeriodFromDate.bind(this,e));o&&(this.localizedMinValue=o),i&&(this.localizedMaxValue=i)}getDayPeriodFromDate(e,t){var a;return(a=e.formatToParts(t).find(o=>o.type===this.type))==null?void 0:a.value}}class gr extends q{constructor(e,t){super(d.Hour,e,t),this.minValue=0,this.maxValue=23}setLimits(e){this.minValue=0,this.maxValue=23,e&&(this.minValue=0,this.maxValue=11),this.updateValueToLimits()}setValueFromDate(e,t){t?this.value=e.hour-mt(e.hour):super.setValueFromDate(e)}get inputValidationLimits(){const e=this.maxValue===11;return{minValue:e?1:0,maxValue:e?12:23}}}class br extends q{constructor(e,t){super(d.Millisecond,e,t),this.minValue=0,this.maxValue=999}}class fr extends q{constructor(e,t){super(d.Minute,e,t),this.minValue=0,this.maxValue=59}}class zr extends q{constructor(e,t){super(d.Second,e,t),this.minValue=0,this.maxValue=59}}class yr{constructor(e){this.dateFormatter=e;const t=this.dateFormatter.resolvedOptions().locale;this.numberFormatter=new ee.d(t,{useGrouping:!1}),this.dateTimeFieldDisplayNames=new Intl.DisplayNames([t],{type:"dateTimeField"})}createSegments(e,t=!1){const a=pt(e),o=this.dateFormatter.formatToParts(a).map(z=>{const $=z.type;let N=z.value;return $==="year"&&(N=this.numberFormatter.format(e.year)),this.createSegment($,N)}),i=new ce(o),n=i.year,l=i.month,s=i.day;n.setLimits(e),l.setLimits(e),t&&(n.setValueFromDate(e),l.setValueFromDate(e)),s.setLimits(e,l.value,n.value),t&&s.setValueFromDate(e);const u=i.hour,m=i.minute,h=i.second,p=i.millisecond,v=i.dayPeriod;if(v&&v.setLocalizedLimits(this.dateFormatter),!u)return i;const g=!!v;if(u.setLimits(g),t){if(u.setValueFromDate(e,g),g&&i.dayPeriod.setValueFromDate(e),!m||(m.setValueFromDate(e),!h)||(h.setValueFromDate(e),!p))return i;p.setValueFromDate(e)}return i}createSegment(e,t){if(e===d.Literal)return new pr(t);const a=this.displayNameOfType(e);switch(e){case d.Year:return new vt(t,a);case d.Month:return new mr(t,a);case d.Day:return new hr(t,a);case d.Hour:return new gr(t,a);case d.Minute:return new fr(t,a);case d.Second:return new zr(t,a);case d.Millisecond:return new br(t,a);case d.DayPeriod:return new vr(t,a)}}displayNameOfType(e){const t=e==="fractionalSecond"?"millisecond":this.dateTimeFieldDisplayNames.of(e);return t?t.charAt(0).toUpperCase()+t.slice(1):""}}const kr='@charset "UTF-8";:host{font-family:var(--luzmo-font-family);--date-time-picker-border-radius: var( --luzmo-date-time-picker-border-radius, var(--luzmo-border-radius) );--date-time-picker-border-radius-quiet: var( --luzmo-date-time-picker-border-radius-quiet, 0 );--date-time-picker-border-width: var(--luzmo-border-width);--date-time-picker-button-border-color: var( --highcontrast-datepicker-pickerbutton-border-color, var( --luzmo-date-time-picker-pickerbutton-border-color, var(--luzmo-border-color) ) );--date-time-picker-button-border-color-focus: var( --highcontrast-datepicker-pickerbutton-border-color, var( --luzmo-date-time-picker-pickerbutton-border-color-focus, var(--luzmo-primary) ) );--date-time-picker-button-border-color-invalid: var( --highcontrast-datepicker-pickerbutton-border-color, var( --luzmo-date-time-picker-pickerbutton-border-color-invalid, var(--luzmo-negative-color) ) );--date-time-picker-button-width: calc( var(--date-time-picker-edge-to-disclosure-icon) * 2 + var(--date-time-picker-icon-size) );--date-time-picker-quiet-button-offset: var( --luzmo-date-time-picker-quiet-button-offset, var(--date-time-picker-text-to-visual) );--date-time-picker-icon-to-text: var(--date-time-picker-edge-to-text);--date-time-picker-button-width-quiet: calc( var(--date-time-picker-button-width) - var( --date-time-picker-quiet-button-offset ) );--date-time-picker-focus-ring-gap: var( --luzmo-date-time-picker-focus-ring-gap, var(--luzmo-indicator-gap) );--date-time-picker-focus-thickness: var( --luzmo-date-time-picker-focus-thickness, var(--luzmo-indicator-width) );--date-time-picker-focus-animation: var( --luzmo-date-time-picker-focus-animation, var(--luzmo-animation-duration) );--date-time-picker-focus-ring-width: var( --luzmo-date-time-picker-focus-ring-width, var(--luzmo-border-width) );--date-time-picker-focus-ring-color: var( --highcontrast-datepicker-focus-ring-color, var(--luzmo-date-time-picker-focus-ring-color, var(--luzmo-indicator-color)) );--date-time-picker-focus-line-gap: var( --luzmo-date-time-picker-focus-line-gap, var(--luzmo-spacing-2) );--date-time-picker-invalid-quiet-color: var( --luzmo-date-time-picker-invalid-quiet-color, var(--luzmo-negative-color) );--date-time-picker-quiet-border-color-hover: var( --luzmo-date-time-picker-quiet-border-color-hover, var(--luzmo-border-color-hover) );--date-time-picker-border-color-disabled: var( --luzmo-date-time-picker-border-color-disabled, var(--luzmo-border-color-disabled) );--date-time-picker-dash-font-size: var( --luzmo-date-time-picker-dash-font-size, var(--date-time-picker-dash-font-size) );--date-time-picker-dash-color: var( --highcontrast-datepicker-dash-color, var(--luzmo-date-time-picker-dash-color, var(--luzmo-font-color)) );--date-time-picker-range-dash-padding-top: var( --luzmo-date-time-picker-range-dash-padding-top, 0 );--date-time-picker-range-dash-margin-inline-start: var( --luzmo-date-time-picker-range-dash-margin-left, calc(var(--date-time-picker-dash-font-size) * -.5) );--date-time-picker-range-input-width-first: var( --luzmo-date-time-picker-range-input-width-first, calc( var(--date-time-picker-initial-width) - var( --date-time-picker-generic-padding ) * 2 ) );--date-time-picker-input-width-base: calc( var(--date-time-picker-range-input-width-first) + var(--date-time-picker-icon-size) );--date-time-picker-input-width: var( --luzmo-date-time-picker-input-width, calc( var(--date-time-picker-input-width-base) + var(--date-time-picker-initial-height) ) );--date-time-picker-range-input-width-quiet-first: var( --luzmo-date-time-picker-range-input-width-quiet-first, calc( var(--date-time-picker-width-quiet-first) + var(--date-time-picker-width-quiet-second) ) );--date-time-picker-input-width-quiet: var( --luzmo-date-time-picker-input-width-quiet, calc( var(--date-time-picker-range-input-width-quiet-first) + var(--date-time-picker-icon-size) + var(--date-time-picker-initial-height) ) );--date-time-picker-datetime-input-width-first: var( --luzmo-date-time-picker-datetime-input-width-first, calc( var(--date-time-picker-input-width-base) + var(--date-time-picker-datetime-width-first) ) );--date-time-picker-datetime-input-width: var( --luzmo-date-time-picker-datetime-input-width, calc( var(--date-time-picker-datetime-input-width-first) + var(--date-time-picker-icon-size) + var(--date-time-picker-initial-height) ) );--date-time-picker-datetime-quiet-input-width-first: var( --luzmo-date-time-picker-datetime-quiet-input-width-first, calc( var(--date-time-picker-input-width-base) + var(--date-time-picker-input-datetime-width) ) );--date-time-picker-datetime-quiet-input-width: var( --luzmo-date-time-picker-datetime-quiet-input-width, calc( var(--date-time-picker-datetime-quiet-input-width-first) + var(--date-time-picker-icon-size) + var(--date-time-picker-initial-height) ) );--date-time-picker-padding-inline-end: var( --luzmo-date-time-picker-padding-inline, calc( var(--date-time-picker-button-width) + var(--date-time-picker-edge-to-text) - var( --date-time-picker-border-width ) * 2 ) );--date-time-picker-padding-inline-end-quiet: var( --luzmo-date-time-picker-padding-inline-quiet, calc( var(--date-time-picker-button-width) + var(--date-time-picker-edge-to-text) - var( --date-time-picker-quiet-button-offset ) ) );--date-time-picker-padding-inline-end-invalid-quiet: var( --luzmo-date-time-picker-padding-inline-end-invalid-quiet, calc( var(--date-time-picker-button-width-quiet) + var(--date-time-picker-icon-size) + var(--date-time-picker-icon-to-text) ) );min-inline-size:var(--luzmo-date-time-picker-min-width, var(--date-time-picker-min-width));border-radius:var(--date-time-picker-border-radius);flex-flow:row;display:inline-flex;position:relative}:host([disabled]) luzmo-picker-button{cursor:default}:host([disabled]){--luzmo-date-time-picker-dash-color: var( --luzmo-date-time-picker-dash-color-disabled, var(--disabled-content-color) );--luzmo-text-field-border-color-disabled: transparent}:host([invalid]),:host([invalid]) #text-field .icon{--luzmo-text-field-icon-spacing-inline-end-invalid: calc( var(--date-time-picker-button-width) + var(--date-time-picker-invalid-icon-to-button) );--luzmo-text-field-icon-spacing-inline-end-quiet-invalid: calc( var(--date-time-picker-button-width-quiet) + var(--date-time-picker-invalid-icon-to-button-quiet) )}:host(:not([quiet])){inline-size:var(--luzmo-date-time-picker-width, var(--date-time-picker-width))}:host([quiet]){inline-size:var(--luzmo-date-time-picker-width-quiet, var(--date-time-picker-width-quiet, var(--date-time-picker-width)))}:host(:not([quiet],[disabled])){--luzmo-picker-button-border-color: var( --date-time-picker-button-border-color )}:host([focused]),:host([focused]:not([quiet],[disabled])){--luzmo-picker-button-border-color: var( --date-time-picker-button-border-color-focus )}:host([invalid]:not([quiet],[disabled])){--luzmo-picker-button-border-color: var( --date-time-picker-button-border-color-invalid )}.input{inline-size:100%;flex:1;padding-inline-end:var(--date-time-picker-padding-inline-end);border-color:var(--luzmo-date-time-picker-border-color, var(--datepicker-border-color))}:host .input:read-only{border-color:var(--luzmo-date-time-picker-border-color, var(--datepicker-border-color))}.input.luzmo-DatePicker-startField{border-inline-end:0;border-start-end-radius:0;border-end-end-radius:0;padding-inline-end:var(--luzmo-date-time-picker-generic-padding, var(--date-time-picker-generic-padding))}.input.luzmo-DatePicker-endField{border-inline-start:0;border-start-start-radius:0;border-end-start-radius:0;padding-inline-start:var(--luzmo-date-time-picker-generic-padding, var(--date-time-picker-generic-padding))}luzmo-picker-button{cursor:pointer;position:absolute;inset-inline-end:0}.luzmo-DatePicker-rangeDash{color:var(--date-time-picker-dash-color);line-height:var(--luzmo-date-time-picker-dash-line-height, var(--date-time-picker-dash-line-height));flex:initial;inline-size:0;z-index:1;padding-block-start:var(--date-time-picker-range-dash-padding-top)}.luzmo-DatePicker-rangeDash:before{content:"–";margin-block:0;margin-inline:var(--date-time-picker-range-dash-margin-inline-start);text-align:center;vertical-align:middle;inline-size:var(--date-time-picker-dash-font-size);display:inline-block;overflow:hidden}:host([quiet]){--luzmo-date-time-picker-border-radius: var( --date-time-picker-border-radius-quiet );--luzmo-date-time-picker-padding-inline: var( --date-time-picker-padding-inline-end-quiet );--luzmo-picker-button-border-color-disabled: var( --date-time-picker-border-color-disabled );--luzmo-picker-button-background-color-hover-disabled: var( --date-time-picker-border-color-disabled )}:host([quiet][disabled]){--luzmo-text-field-border-color-disabled: var( --date-time-picker-border-color-disabled )}:host([quiet][invalid]) .input:not(.luzmo-DatePicker-startField){padding-inline-end:var(--date-time-picker-padding-inline-end-invalid-quiet)}@media (hover: hover){:host(:hover):not([focused],[disabled],[invalid]){--luzmo-picker-button-border-color: var( --date-time-picker-quiet-border-color-hover )}}:host([quiet][invalid]){--luzmo-picker-button-border-color: var( --date-time-picker-invalid-quiet-color )}:host([quiet]) luzmo-picker-button{inline-size:auto;inset-inline-end:calc(var(--date-time-picker-quiet-button-offset) * -1)}:host([quiet]) luzmo-picker-button:not(.is-open){--luzmo-picker-button-border-color-disabled: transparent}:host([quiet]) luzmo-picker-button:not(:disabled,.is-open){--luzmo-picker-button-background-color: transparent}.luzmo-DatePicker--range{--luzmo-date-time-picker-border-radius: var(--date-time-picker-border-radius)}.luzmo-DatePicker--range:after{pointer-events:none;content:"";margin:calc(var(--date-time-picker-focus-ring-gap) * -1);border-radius:calc(var(--date-time-picker-border-radius) + var(--date-time-picker-focus-ring-gap));transition:box-shadow var(--date-time-picker-focus-animation) ease-in-out,border-color var(--date-time-picker-focus-animation) ease-in-out;border-color:#0000;position:absolute;top:0;right:0;bottom:0;left:0}:host([focused]) .luzmo-DatePicker--range:not(.luzmo-DatePicker--quiet):after{box-shadow:0 0 0 var(--date-time-picker-focus-ring-width) var(--date-time-picker-focus-ring-color)}:host([focused]) .luzmo-DatePicker--range:not(.luzmo-DatePicker--quiet) #text-field:after{display:none}:host([quiet]) .luzmo-DatePicker--range{--luzmo-date-time-picker-border-radius: var( --date-time-picker-border-radius-quiet )}:host([quiet][focused]) .luzmo-DatePicker--range:after{box-shadow:none;border-block-end:var(--date-time-picker-focus-thickness) solid var(--date-time-picker-focus-ring-color);border-radius:0;margin:0;inset-block-end:calc(var(--date-time-picker-focus-line-gap) * -1)}:host([quiet]) .luzmo-DatePicker--range #text-field{min-inline-size:0;inline-size:var(--date-time-picker-input-width-quiet)}:host([quiet]) .luzmo-DatePicker--range #text-field:first-of-type{inline-size:var(--date-time-picker-range-input-width-quiet-first)}.luzmo-DatePicker--range.luzmo-DatePicker--datetimeRange #text-field{inline-size:var(--date-time-picker-datetime-input-width);min-inline-size:0}.luzmo-DatePicker--range.luzmo-DatePicker--datetimeRange #text-field:first-of-type{inline-size:var(--date-time-picker-datetime-input-width-first)}:host([quiet]) .luzmo-DatePicker--range.luzmo-DatePicker--datetimeRange #text-field{inline-size:var(--date-time-picker-datetime-quiet-input-width)}:host([quiet]) .luzmo-DatePicker--range.luzmo-DatePicker--datetimeRange #text-field:first-of-type{inline-size:var(--date-time-picker-datetime-quiet-input-width-first)}.luzmo-DatePicker--range #text-field{flex:initial;min-inline-size:0;inline-size:var(--date-time-picker-input-width)}.luzmo-DatePicker--range #text-field:first-of-type{inline-size:var(--date-time-picker-range-input-width-first)}@media (forced-colors: active){:host{--highcontrast-datepicker-dash-color: CanvasText;--highcontrast-datepicker-focus-ring-color: Highlight;--highcontrast-datepicker-pickerbutton-border-color: Highlight}:host([disabled]){--highcontrast-datepicker-dash-color: GrayText}:host([quiet][invalid]){--highcontrast-datepicker-pickerbutton-border-color: Highlight}}:host{--date-time-picker-width: auto;--date-time-picker-initial-height: var(--system-date-picker-initial-height);--date-time-picker-font-color-default: var(--luzmo-font-color);--datepicker-border-color: var(--luzmo-border-color);--date-time-picker-button-indicator-color: var(--luzmo-indicator-color);--text-field-focus-indicator-color: var(--luzmo-background-color-highlight);--date-time-picker-initial-width: 120px;--date-time-picker-min-width: 160px;--date-time-picker-calendar-padding: var(--luzmo-spacing-4);--date-time-picker-icon-size: 18px;--date-time-picker-dash-font-size: var(--luzmo-font-size);--date-time-picker-text-to-visual: var(--luzmo-spacing-3);--date-time-picker-edge-to-disclosure-icon: var(--luzmo-spacing-3);--date-time-picker-edge-to-text: calc( var(--luzmo-spacing-3) + var(--luzmo-spacing-1) );--date-time-picker-icon-to-text: calc( var(--luzmo-spacing-3) + var(--luzmo-spacing-1) );--date-time-picker-invalid-icon-to-button: var(--luzmo-spacing-3);--date-time-picker-generic-padding: var(--luzmo-spacing-4)}:host([size=s]){--date-time-picker-min-width: 140px;--date-time-picker-calendar-padding: var(--luzmo-spacing-3);--date-time-picker-icon-size: 16px;--date-time-picker-dash-font-size: var(--luzmo-font-size-s);--date-time-picker-text-to-visual: calc( var(--luzmo-spacing-2) + var(--luzmo-spacing-1) );--date-time-picker-edge-to-disclosure-icon: calc( var(--luzmo-spacing-2) + var(--luzmo-spacing-1) );--date-time-picker-edge-to-text: var(--luzmo-spacing-3);--date-time-picker-invalid-icon-to-button: calc( var(--luzmo-spacing-2) + var(--luzmo-spacing-1) );--date-time-picker-icon-to-text: var(--luzmo-spacing-3)}:host([invalid][size=s]){--text-field-icon-spacing-block-invalid: calc( var(--luzmo-spacing-2) + var(--luzmo-spacing-1) )}:host([size=m]){--date-time-picker-min-width: 160px;--date-time-picker-calendar-padding: var(--luzmo-spacing-4);--date-time-picker-icon-size: 18px;--date-time-picker-dash-font-size: var(--luzmo-font-size-m);--date-time-picker-text-to-visual: var(--luzmo-spacing-3);--date-time-picker-edge-to-disclosure-icon: var(--luzmo-spacing-3);--date-time-picker-edge-to-text: calc( var(--luzmo-spacing-3) + var(--luzmo-spacing-1) );--date-time-picker-invalid-icon-to-button: var(--luzmo-spacing-3);--date-time-picker-icon-to-text: calc( var(--luzmo-spacing-3) + var(--luzmo-spacing-1) )}:host([size=l]){--date-time-picker-min-width: 180px;--date-time-picker-calendar-padding: var(--luzmo-spacing-5);--date-time-picker-icon-size: 20px;--date-time-picker-dash-font-size: var(--luzmo-font-size-l);--date-time-picker-text-to-visual: calc( var(--luzmo-spacing-3) + var(--luzmo-spacing-1) );--date-time-picker-edge-to-disclosure-icon: calc( var(--luzmo-spacing-3) + var(--luzmo-spacing-1) );--date-time-picker-edge-to-text: var(--luzmo-spacing-4);--date-time-picker-invalid-icon-to-button: calc( var(--luzmo-spacing-3) + var(--luzmo-spacing-1) );--date-time-picker-icon-to-text: var(--luzmo-spacing-4)}:host([size=xl]){--date-time-picker-min-width: 200px;--date-time-picker-calendar-padding: calc( var(--luzmo-spacing-5) + var(--luzmo-spacing-1) );--date-time-picker-icon-size: 22px;--date-time-picker-dash-font-size: var(--luzmo-font-size-xl);--date-time-picker-text-to-visual: var(--luzmo-spacing-4);--date-time-picker-edge-to-disclosure-icon: var(--luzmo-spacing-4);--date-time-picker-edge-to-text: calc( var(--luzmo-spacing-4) + var(--luzmo-spacing-1) );--date-time-picker-invalid-icon-to-button: var(--luzmo-spacing-4);--date-time-picker-icon-to-text: calc( var(--luzmo-spacing-4) + var(--luzmo-spacing-1) )}:host{--status-icon-size: var( --luzmo-text-field-icon-size-invalid, var(--text-field-icon-size-invalid) );--picker-button-size: var( --luzmo-text-field-height, var(--text-field-height) );--input-spacing: var( --luzmo-text-field-spacing-inline, var(--text-field-spacing-inline) );--input-border-width: var( --luzmo-text-field-border-width, var(--luzmo-border-width) );--text-to-icon: var( --luzmo-text-field-icon-spacing-inline-start-invalid, var(--text-field-icon-spacing-inline-start-invalid) );--date-time-picker-input-width: var(--date-time-picker-width);flex-wrap:wrap}:host #text-field{display:inline-block}:host #text-field .input,:host([quiet]) #text-field .input,:host([valid]) #text-field .input,:host([invalid]) #text-field .input{inline-size:100%}:host #text-field .input,:host([quiet]) #text-field .input{padding-inline-end:calc(var(--picker-button-size) + var(--input-spacing) - var(--input-border-width))}:host([valid]) #text-field .input,:host([invalid]) #text-field .input{inline-size:100%;padding-inline-end:calc(var(--status-icon-size) + var(--picker-button-size) + var(--input-spacing) - var(--input-border-width) + var(--text-to-icon))}@media (hover: hover){:host([invalid]) #text-field:hover .input,:host([focused][invalid]) .input:hover,:host([focused][invalid]) #text-field:hover .input{border-color:var(--highcontrast-text-field-border-color-invalid-default, var(--luzmo-text-field-border-color-invalid-default, var(--luzmo-negative-color-hover)))}}luzmo-picker-button:focus-visible{outline:none}luzmo-popover{overflow-y:auto}luzmo-popover .popover-content{padding:var(--luzmo-date-time-picker-calendar-padding, var(--date-time-picker-calendar-padding))}.input-content{display:flex;align-items:center;height:100%;overflow:auto hidden;scrollbar-width:none;line-height:normal}.input-content::-webkit-scrollbar{display:none;width:0;height:0}.literal-segment,.editable-segment{display:inline-block;color:var(--luzmo-date-time-picker-font-color-default, var(--date-time-picker-font-color-default))}.editable-segment{padding:0 .15em;font-variant-numeric:tabular-nums;text-align:end;white-space:nowrap;caret-color:transparent;outline:none}[dir=ltr] .editable-segment{text-align:start}.literal-segment{white-space:pre;user-select:none;-webkit-user-select:none}.is-placeholder,.is-placeholder+.literal-segment{color:var(--luzmo-font-color-disabled)}.editable-segment:focus-visible{color:var(--white);background-color:var(--highcontrast-text-field-focus-indicator-color, var(--luzmo-text-field-focus-indicator-color, var(--text-field-focus-indicator-color)))}.editable-segment::selection{background-color:transparent}';var xr=Object.defineProperty,wr=Object.getOwnPropertyDescriptor,f=(r,e,t,a)=>{for(var o=a>1?void 0:a?wr(e,t):e,i=r.length-1,n;i>=0;i--)(n=r[i])&&(o=(a?n(e,t,o):n(o))||o);return a&&o&&xr(e,t,o),o};class b extends Fe.u(c.m(bt.r,{validSizes:Object.values(c.d$1)})){constructor(){super(),this._precision=y.Minute,this.isUserSetPrecision=!1,this.invalid=!1,this.readonly=!1,this.quiet=!1,this.placement="bottom",this.language="en",this.labels={previous:"Previous",next:"Next",today:"Today",selected:"Selected",empty:"Empty",calendar:"Calendar"},this.focused=!1,this.segments=new ce([]),this.isCalendarOpen=!1,this._timeZone=this.timeZone??H(),this.cachedLocalTime=Ne(this._timeZone),this.setNumberParser(),this.setDateFormatter(),this.setAriaDateFormatter(),this.addEventListener("focusin",()=>this.previousCommitedValue=this._value),this.addEventListener("focusout",()=>this.commitValue())}static get styles(){return[c.at(kr),c.at(Fe.e)]}get precision(){return this._precision}set precision(e){this.isUserSetPrecision=!0;const t=this._precision;e!==t&&(this._precision=e,this.requestUpdate("precision",t))}get _language(){try{return this.language?new Intl.Locale(this.language).language:"en"}catch{return"en"}}get focusElement(){return this.firstEditableSegment}get currentDate(){return this._value?A(this._value,this._timeZone):this.cachedLocalTime}get includesTime(){return[y.Hour,y.Minute,y.Second,y.Millisecond].includes(this.precision)}clear(){this._value=void 0,this.setSegments()}willUpdate(e){const t=e.has("value"),a=e.has("timeZone"),o=e.has("min"),i=e.has("max"),n=e.has("language"),l=e.has("dateFormat"),s=e.has("dateSeparator"),u=e.has("precision"),m=e.has("segments"),h=e.has("disabled");if(n&&this.setNumberParser(),(n||u)&&(this.setDateFormatter(),this.setAriaDateFormatter()),t||o||i||a){this._value=this.value?ge(new Date(this.value).toISOString(),"UTC"):void 0,this._min=this.min?ge(new Date(this.min).toISOString(),"UTC"):void 0,this._max=this.max?ge(new Date(this.max).toISOString(),"UTC"):void 0;const v=this.mostSpecificDateValue;v&&(this.convertDatePropsToMatch(v),this.checkDatePropsCompliance(o||i),this.updateDateProps(),this.updateDefaultPrecision())}(t||n||u||l||a||s)&&this.setSegments(),m&&this.setValueFromSegments(),h&&this.isCalendarOpen&&(this.isCalendarOpen=!1);const p=this._value&&this.labels.selected+": "+this.ariaDateFormatter.format(pt(this._value));this.setAttribute("aria-label",p??this.labels.empty)}get mostSpecificDateValue(){const e=[this._value,this._min,this._max].filter(o=>o!==void 0);if(e.length===0)return;const t=e.filter(o=>J(o));if(t.length>0)return t[0];const a=e.filter(o=>ye(o));return a.length>0?a[0]:e.find(o=>le(o))}convertDatePropsToMatch(e){if(J(e)){this._timeZone=this.timeZone??e.timeZone,this._value=this._value&&A(this._value,this._timeZone),this._min=this._min&&A(this._min,this._timeZone),this._max=this._max&&A(this._max,this._timeZone);return}if(this._timeZone=this.timeZone??H(),ye(e)){this._value=this._value&&M(this._value),this._min=this._min&&M(this._min),this._max=this._max&&M(this._max);return}this._value=this._value&&L(this._value),this._min=this._min&&L(this._min),this._max=this._max&&L(this._max)}checkDatePropsCompliance(e){e&&this._min&&this._max&&(this._min.compare(this._max)<0||(console.warn(this,`<${this.localName}> expects the 'min' to be less than 'max'. Please ensure that 'min' property's date is earlier than 'max' property's date.`),this._min=void 0,this._max=void 0)),this.isNonCompliantValue()&&(console.warn(this,`<${this.localName}> expects the preselected value to comply with the min and max constraints. Please ensure that 'value' property's date is in between the dates for the 'min' and 'max' properties.`),this._value=void 0),!this._min&&!this._max&&!this._value&&(this._timeZone=H())}isNonCompliantValue(){return this._value===void 0?!1:!!(this._min&&this._value.compare(this._min)<0||this._max&&this._value.compare(this._max)>0)}updateDateProps(){const e=this.mostSpecificDateValue;!e||!this.isUserSetPrecision||this.includesTime&&le(e)&&this.convertDatePropsToMatch(M(e))}updateDefaultPrecision(){if(this.isUserSetPrecision)return;const e=this.mostSpecificDateValue;e&&(this._precision=le(e)?y.Day:y.Minute)}render(){return c.Rt`
183
+ <div id="text-field">
184
+ ${this.renderStateIcons()} ${this.renderInputContent()}
185
+ </div>
186
+ ${this.renderHelpText(this.invalid)}${this.renderPicker()}
187
+ `}renderStateIcons(){return this.invalid?c.Rt`
188
+ <luzmo-icon
189
+ .icon=${te.u}
190
+ .size=${this.size}
191
+ id="invalid"
192
+ class="icon"
193
+ ></luzmo-icon>
194
+ `:c.d}renderPicker(){if(this.readonly)return c.d;const e=()=>this.isCalendarOpen=!1,t=()=>this.isCalendarOpen=!0;return c.Rt`
195
+ <luzmo-picker-button
196
+ ?open=${this.isCalendarOpen}
197
+ ?quiet=${this.quiet}
198
+ ?invalid=${this.invalid}
199
+ ?disabled=${this.disabled}
200
+ .size=${this.size}
201
+ @click=${t}
202
+ label=${this.labels.calendar}
203
+ >
204
+ <slot name="calendar-icon" slot="icon">
205
+ <luzmo-icon
206
+ .icon=${te.p}
207
+ .size=${this.size}
208
+ block
209
+ ></luzmo-icon>
210
+ </slot>
211
+ </luzmo-picker-button>
212
+
213
+ <luzmo-overlay
214
+ .triggerElement=${this.input}
215
+ type="modal"
216
+ placement=${this.placement??"bottom"}
217
+ offset="0"
218
+ ?open=${this.isCalendarOpen}
219
+ @luzmo-closed=${e}
220
+ >
221
+ <luzmo-popover>
222
+ <div class="popover-content">
223
+ <luzmo-calendar
224
+ .value=${this._value?this._value.toString().slice(0,10):void 0}
225
+ .min=${this._min?this._min.toString():void 0}
226
+ .max=${this._max?this._max.toString():void 0}
227
+ .labels=${this.labels}
228
+ .size=${this.size}
229
+ .language=${this.language}
230
+ @change=${this.handleChange}
231
+ ></luzmo-calendar>
232
+ </div>
233
+ </luzmo-popover>
234
+ </luzmo-overlay>
235
+ `}handleChange(e){var t,a,o,i,n,l,s;e.stopPropagation(),this.isCalendarOpen=!1,(t=e.target)!=null&&t.value&&(this.value=(a=e.target)==null?void 0:a.value);const u=Q(((o=e.target)==null?void 0:o.value)??"");if(this.includesTime){const m=((i=this.segments.hour)==null?void 0:i.value)??0,h=((n=this.segments.minute)==null?void 0:n.value)??0,p=((l=this.segments.second)==null?void 0:l.value)??0,v=((s=this.segments.millisecond)==null?void 0:s.value)??0,g=new Ht(m,h,p,v),z=this.mostSpecificDateValue;this._value=M(u,g),z&&J(z)&&(this._value=A(this._value,this._timeZone))}else this._value=u;this.commitValue()}renderInputContent(){return c.Rt`
236
+ <div class="input">
237
+ <span
238
+ class="input-content"
239
+ @focusin=${()=>this.focused=!this.readonly}
240
+ @focusout=${()=>this.focused=!1}
241
+ @keydown=${this.handleKeydown}
242
+ @input=${this.handleInput}
243
+ >
244
+ ${this.renderSegments()}
245
+ </span>
246
+ </div>
247
+ `}renderSegments(){return this.segments.all.map(e=>Ie.o(e.type===d.Literal,()=>this.renderLiteralSegment(e),()=>this.renderEditableSegment(e)))}renderLiteralSegment(e){return c.Rt`
248
+ <span
249
+ class="literal-segment"
250
+ data-test-id=${e.type}
251
+ aria-hidden="true"
252
+ >${e.formatted}</span>
253
+ `}renderEditableSegment(e){const t=!this.disabled&&!this.readonly,a=e.value===void 0,o=e.type===d.DayPeriod?"text":"numeric",i={"editable-segment":!0,"is-placeholder":a},n=e.type!==d.Year&&String(e.maxValue).length>0,l={minWidth:n?`${n}ch`:void 0};return c.Rt`
254
+ <div
255
+ role="spinbutton"
256
+ aria-valuenow=${E.m(e.value)}
257
+ aria-valuemin=${e.minValue}
258
+ aria-valuemax=${e.maxValue}
259
+ aria-label=${e.label}
260
+ aria-valuetext=${E.m(e.value===void 0?this.labels.empty:e.formatted)}
261
+ contenteditable=${E.m(t?!0:void 0)}
262
+ inputmode=${E.m(t?o:void 0)}
263
+ tabindex=${E.m(t?"0":void 0)}
264
+ class=${Me.u$1(i)}
265
+ style=${gt.p(l)}
266
+ data-type=${e.type}
267
+ .innerText=${this.renderSegmentText(e)}
268
+ ></div>
269
+ `}renderSegmentText(e){const t=e.value===void 0;return Ie.o(t,()=>e.placeholder??"",()=>e.formatted??"")}handleKeydown(e){var t;const a=e.target,o=a.dataset.type;if(o)switch(e.code){case"ArrowUp":{this.incrementValue(o);break}case"ArrowDown":{this.decrementValue(o);break}case"ArrowRight":{this.focusSegment(a,"next");break}case"ArrowLeft":{this.focusSegment(a,"previous");break}case"Enter":case"Space":{this.commitValue();break}case"Backspace":case"Delete":{e.preventDefault(),((t=this.segments.getByType(o))==null?void 0:t.value)===void 0?this.focusSegment(a,"previous"):this.clearSegmentContent(o);break}}}get modifierParams(){return{dateFormatter:this.dateFormatter,segments:this.segments,currentDate:this.currentDate}}incrementValue(e){const t=new cr(this.modifierParams);this.segments=t.modify(e),this.dispatchInput()}decrementValue(e){const t=new dr(this.modifierParams);this.segments=t.modify(e),this.dispatchInput()}focusSegment(e,t){let a=!1,o=e;for(;!a;){const i=t==="previous"?o.previousElementSibling:o.nextElementSibling;if(!i)break;i.getAttribute("contenteditable")&&(i.focus(),a=!0),o=i}}commitValue(){if(!(this._value&&this.previousCommitedValue&&this._value.compare(this.previousCommitedValue)===0)){if(this._value===void 0&&this.previousCommitedValue===void 0){const e=this.segments.editableValues.every(t=>t===void 0);this.invalid=!e;return}this.invalid=!!(this._value===void 0||this.isNonCompliantValue()),this.previousCommitedValue=this._value,this.dispatchChange()}}clearSegmentContent(e){const t=this.segments.editableValues,a=new sr(this.modifierParams);this.segments=a.modify(e);const o=this.segments.editableValues;Re(t,o)||this.dispatchInput()}handleInput(e){e.stopPropagation();const t=e.target.dataset.type,a=this.segments.editableValues,o=new ur({...this.modifierParams,eventData:e.data,numberParser:this.numberParser});this.segments=o.modify(t),this.updateSegmentContent(this.segments.getByType(t),e.target);const i=this.segments.editableValues;Re(a,i)||this.dispatchInput()}updateSegmentContent(e,t){t.textContent=e.value===void 0?e.placeholder:e.formatted}createOutputString(e){return e?J(e)?this._value.toAbsoluteString():new Date(this._value.toString()).toISOString():""}dispatchChange(){const e=this.createOutputString(this._value);this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,cancelable:!0,detail:{value:e}}))}dispatchInput(){const e=this.createOutputString(this._value);this.dispatchEvent(new CustomEvent("input",{bubbles:!0,composed:!0,cancelable:!0,detail:{value:e}}))}setValueFromSegments(){const e=this.segments.getFormattedDate(this.precision);if(!e){this._value&&this.dispatchChange(),this._value=void 0;return}this._value===void 0&&this.dispatchChange();const t=this.mostSpecificDateValue;t?J(t)?this._value=A(e,this._timeZone):ye(t)?this._value=M(e):this._value=L(e):this._value=e}setSegments(){var e,t,a,o;const i=new yr(this.dateFormatter).createSegments(this.currentDate,this._value!==void 0);if(this.dateFormat){const n=i.all.findIndex(s=>s.type===d.Month),l=i.all.findIndex(s=>s.type===d.Day);if(n!==-1&&l!==-1){if(this.dateFormat==="mmdd"&&n>l){const s=i.all[n];i.all[n]=i.all[l],i.all[l]=s}else if(this.dateFormat==="ddmm"&&l>n){const s=i.all[l];i.all[l]=i.all[n],i.all[n]=s}}}typeof this.dateSeparator=="string"&&this.dateSeparator&&(((t=(e=i.all)==null?void 0:e[1])==null?void 0:t.type)===d.Literal&&(i.all[1].formatted=this.dateSeparator),((o=(a=i.all)==null?void 0:a[3])==null?void 0:o.type)===d.Literal&&(i.all[3].formatted=this.dateSeparator)),this.segments=i}setNumberParser(){this.numberParser=new ee.C(this._language,{maximumFractionDigits:0})}setDateFormatter(){this.dateFormatter=new De(this._language,{day:"2-digit",month:"2-digit",year:"numeric",...this.getTimeOptions("2-digit")})}setAriaDateFormatter(){this.ariaDateFormatter=new De(this._language,{day:"numeric",month:"long",year:"numeric",...this.getTimeOptions("numeric")})}getTimeOptions(e){switch(this.precision){case y.Millisecond:return{hour:e,minute:e,second:e,fractionalSecondDigits:3};case y.Second:return{hour:e,minute:e,second:e};case y.Minute:return{hour:e,minute:e};case y.Hour:return{hour:e};default:return{}}}}f([c.zt({type:String,reflect:!0})],b.prototype,"value",2);f([c.zt({type:String,reflect:!0})],b.prototype,"min",2);f([c.zt({type:String,reflect:!0})],b.prototype,"max",2);f([c.zt({type:String,attribute:"date-format",reflect:!0})],b.prototype,"dateFormat",2);f([c.zt({type:String,attribute:"date-separator",reflect:!0})],b.prototype,"dateSeparator",2);f([c.zt({type:String,reflect:!0})],b.prototype,"precision",1);f([c.zt({type:Boolean,reflect:!0})],b.prototype,"invalid",2);f([c.zt({type:Boolean,reflect:!0})],b.prototype,"readonly",2);f([c.zt({type:Boolean,reflect:!0})],b.prototype,"quiet",2);f([c.zt({type:String,reflect:!0})],b.prototype,"placement",2);f([c.zt({type:String,attribute:"time-zone",reflect:!0})],b.prototype,"timeZone",2);f([c.zt({type:String,reflect:!0})],b.prototype,"language",2);f([c.zt({attribute:!1})],b.prototype,"labels",2);f([c.zt({type:Boolean,reflect:!0})],b.prototype,"focused",2);f([S.n()],b.prototype,"_value",2);f([S.n()],b.prototype,"_min",2);f([S.n()],b.prototype,"_max",2);f([S.n()],b.prototype,"segments",2);f([S.n()],b.prototype,"isCalendarOpen",2);f([E.d(".editable-segment")],b.prototype,"firstEditableSegment",2);f([E.d(".input")],b.prototype,"input",2);customElements.get("luzmo-date-time-picker")||customElements.define("luzmo-date-time-picker",b);const Dr=":host{display:flex;flex-direction:row;gap:var(--luzmo-filter-value-picker-datetime-gap, var(--filter-value-picker-datetime-gap))}:host{--filter-value-picker-datetime-gap: var(--luzmo-spacing-3)}:host([size=s]){--filter-value-picker-datetime-gap: var(--luzmo-spacing-2)}:host([size=m]){--filter-value-picker-datetime-gap: var(--luzmo-spacing-3)}:host([size=l]){--filter-value-picker-datetime-gap: calc( var(--luzmo-spacing-3) + var(--luzmo-spacing-1) )}:host([size=xl]){--filter-value-picker-datetime-gap: var(--luzmo-spacing-4)}";var Mr=Object.defineProperty,he=(r,e,t,a)=>{for(var o=void 0,i=r.length-1,n;i>=0;i--)(n=r[i])&&(o=n(e,t,o)||o);return o&&Mr(e,t,o),o};class G extends c.m(c.It,{validSizes:Object.values(c.d$1)}){constructor(){super(...arguments),this.language="en",this.contentLanguage="en"}static get styles(){return[T.r(Dr)]}willUpdate(e){var o,i,n,l,s,u,m,h,p,v,g;const t=e.has("language"),a=e.get("filter");t&&this.language!==me.getLocale()&&([...me.targetLocales].includes(this.language??"en")||this.language==="en")&&me.setLocale(this.language),a&&(["last_now","last_available","next_now"].includes((o=this.filter)==null?void 0:o.expression)?this.filter.parameters[1]={quantity:((l=(n=(i=this.filter)==null?void 0:i.parameters)==null?void 0:n[1])==null?void 0:l.quantity)??1,unit:((m=(u=(s=this.filter)==null?void 0:s.parameters)==null?void 0:u[1])==null?void 0:m.unit)??1}:["last_completed","next_full","to_date"].includes((h=this.filter)==null?void 0:h.expression)?this.filter.parameters[1]={unit:((g=(v=(p=this.filter)==null?void 0:p.parameters)==null?void 0:v[1])==null?void 0:g.unit)??1}:this.filter.parameters[1]=typeof this.filter.parameters[1]=="string"?this.filter.parameters[1]:new Date().toISOString())}_sendChangeEvent(){var e,t;this.filter.parameters=[{...(t=(e=this.filter)==null?void 0:e.parameters)==null?void 0:t[0]},this._value],this.dispatchEvent(new CustomEvent("filter-value-changed",{bubbles:!0,composed:!0,cancelable:!0,detail:{value:this._value}}))}setDate(e){var t,a;this._value=e.detail.value,this._value!==((a=(t=this.filter)==null?void 0:t.parameters)==null?void 0:a[1])&&this._sendChangeEvent()}setUnit(e){var a,o,i,n,l,s,u;const t=(a=ae.DATETIME_LEVELS.find(m=>{var h;return m.key===((h=e==null?void 0:e.target)==null?void 0:h.value)}))==null?void 0:a.level;((n=(i=(o=this.filter)==null?void 0:o.parameters)==null?void 0:i[1])==null?void 0:n.unit)!==t&&(this._value={unit:t??1,quantity:((u=(s=(l=this.filter)==null?void 0:l.parameters)==null?void 0:s[1])==null?void 0:u.quantity)??1},this._sendChangeEvent())}setQuantity(e){var a,o,i,n,l,s,u;const t=(a=e==null?void 0:e.target)==null?void 0:a.value;((n=(i=(o=this.filter)==null?void 0:o.parameters)==null?void 0:i[1])==null?void 0:n.quantity)!==t&&(this._value={quantity:t,unit:((u=(s=(l=this.filter)==null?void 0:l.parameters)==null?void 0:s[1])==null?void 0:u.unit)??1},this._sendChangeEvent())}renderDatePicker(){var t,a,o,i,n,l,s,u,m,h,p,v,g,z;let e="second";return((o=(a=(t=this.filter)==null?void 0:t.parameters)==null?void 0:a[0])==null?void 0:o.lowestLevel)>4&&(((l=(n=(i=this.filter)==null?void 0:i.parameters)==null?void 0:n[0])==null?void 0:l.lowestLevel)===5?e="day":((m=(u=(s=this.filter)==null?void 0:s.parameters)==null?void 0:u[0])==null?void 0:m.lowestLevel)===6?e="hour":((v=(p=(h=this.filter)==null?void 0:h.parameters)==null?void 0:p[0])==null?void 0:v.lowestLevel)===7?e="minute":e="second"),T.x`<luzmo-date-time-picker
270
+ .size=${this.size}
271
+ .precision=${e}
272
+ .timeZone=${this.timeZone}
273
+ @change=${this.setDate}
274
+ .value=${(z=(g=this.filter)==null?void 0:g.parameters)==null?void 0:z[1]}
275
+ ></luzmo-date-time-picker>`}renderQuantityField(){var e,t,a;return T.x`<luzmo-number-field
276
+ .size=${this.size}
277
+ .value=${(a=(t=(e=this.filter)==null?void 0:e.parameters)==null?void 0:t[1])==null?void 0:a.quantity}
278
+ @input=${this.setQuantity}
279
+ @change=${this.setQuantity}
280
+ ></luzmo-number-field>`}renderUnitPicker(){var a,o,i;const e=ae.DATETIME_LEVELS.map(n=>T.x`<luzmo-menu-item .value=${n.key}>
281
+ ${n.i18n()}
282
+ </luzmo-menu-item>`),t=((a=ae.DATETIME_LEVELS.find(n=>{var l,s,u;return n.level===((u=(s=(l=this.filter)==null?void 0:l.parameters)==null?void 0:s[1])==null?void 0:u.unit)}))==null?void 0:a.key)??((i=(o=ae.DATETIME_LEVELS)==null?void 0:o[0])==null?void 0:i.key);return T.x`<luzmo-picker
283
+ .size=${this.size}
284
+ .value=${t}
285
+ @change=${this.setUnit}
286
+ variant="highlight"
287
+ >${e}</luzmo-picker
288
+ >`}render(){var t;const e=(t=this.filter)==null?void 0:t.expression;return["last_now","last_available","next_now"].includes(e)?T.x`${this.renderQuantityField()}${this.renderUnitPicker()}`:["last_completed","next_full"].includes(e)?this.renderUnitPicker():this.renderDatePicker()}}he([T.n({type:String,reflect:!0})],G.prototype,"language");he([T.n({type:String,attribute:"content-language",reflect:!0})],G.prototype,"contentLanguage");he([T.n({type:String,attribute:"time-zone",reflect:!0})],G.prototype,"timeZone");he([T.n({type:Object,reflect:!1})],G.prototype,"filter");customElements.get("luzmo-filter-value-picker-datetime")||customElements.define("luzmo-filter-value-picker-datetime",G);exports.LuzmoFilterValuePickerDatetime=G;
@@ -0,0 +1,7 @@
1
+ import { LuzmoFilterValuePickerDatetime } from './filter-value-picker-datetime';
2
+ declare global {
3
+ interface HTMLElementTagNameMap {
4
+ 'luzmo-filter-value-picker-datetime': LuzmoFilterValuePickerDatetime;
5
+ }
6
+ }
7
+ export { LuzmoFilterValuePickerDatetime } from './filter-value-picker-datetime';