@luzmo/lucero 1.0.1-alpha.4 → 1.0.1-alpha.42

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 (253) hide show
  1. package/components/accordion/index.cjs +6 -6
  2. package/components/accordion/index.js +14 -13
  3. package/components/action-bar/index.cjs +4 -4
  4. package/components/action-bar/index.js +20 -18
  5. package/components/action-button/index.cjs +3 -3
  6. package/components/action-button/index.js +7 -6
  7. package/components/action-group/index.cjs +1 -1
  8. package/components/action-group/index.js +2 -2
  9. package/components/{action-group-DBImibFn.js → action-group-Bwt9w8Vh.js} +10 -9
  10. package/components/action-group-D917z7XF.cjs +20 -0
  11. package/components/action-menu/index.cjs +9 -9
  12. package/components/action-menu/index.js +10 -10
  13. package/components/avatar/index.cjs +3 -3
  14. package/components/avatar/index.js +7 -7
  15. package/components/base-5nDSSNeT.cjs +18 -0
  16. package/components/base-CdYjmV_8.js +96 -0
  17. package/components/button/button-base.d.ts +16 -0
  18. package/components/button/button.d.ts +38 -2
  19. package/components/button/index.cjs +2 -2
  20. package/components/button/index.js +84 -50
  21. package/components/{button-base-DbkDzb71.js → button-base-B_SkfcFn.js} +54 -39
  22. package/components/button-base-BdzHcHRs.cjs +25 -0
  23. package/components/button-group/index.cjs +1 -1
  24. package/components/button-group/index.js +11 -9
  25. package/components/calendar/index.cjs +96 -1
  26. package/components/calendar/index.js +538 -6
  27. package/components/chat-message/chat-message.d.ts +127 -0
  28. package/components/chat-message/index.cjs +80 -0
  29. package/components/chat-message/index.d.ts +8 -0
  30. package/components/chat-message/index.js +254 -0
  31. package/components/chat-message-group/chat-message-group.d.ts +50 -0
  32. package/components/chat-message-group/index.cjs +24 -0
  33. package/components/chat-message-group/index.d.ts +7 -0
  34. package/components/chat-message-group/index.js +144 -0
  35. package/components/checkbox/index.cjs +4 -4
  36. package/components/checkbox/index.js +12 -10
  37. package/components/{checkbox-mixin-Do7EgtpQ.js → checkbox-mixin-DUbGDm7f.js} +9 -9
  38. package/components/{checkbox-mixin-BDN0dBtS.cjs → checkbox-mixin-DhN8CIXY.cjs} +3 -3
  39. package/components/close-button-CGZxCNlI.js +52 -0
  40. package/components/close-button-Decm0Qbb.cjs +18 -0
  41. package/components/color-area/index.cjs +5 -5
  42. package/components/color-area/index.js +12 -11
  43. package/components/color-controller-7sNUf7SP.js +386 -0
  44. package/components/color-controller-ChN-A9Ft.cjs +18 -0
  45. package/components/color-field/color-field.d.ts +8 -0
  46. package/components/color-field/index.cjs +4 -4
  47. package/components/color-field/index.js +38 -25
  48. package/components/color-handle/index.cjs +2 -2
  49. package/components/color-handle/index.js +8 -6
  50. package/components/color-loupe/index.cjs +1 -1
  51. package/components/color-loupe/index.js +2 -2
  52. package/components/color-loupe-CIEFp7ln.cjs +56 -0
  53. package/components/{color-loupe-CmMsXbjT.js → color-loupe-CLPX6xVb.js} +6 -4
  54. package/components/color-menu/index.cjs +8 -8
  55. package/components/color-menu/index.js +46 -46
  56. package/components/color-palette/color-palette.d.ts +6 -2
  57. package/components/color-palette/index.cjs +1 -1
  58. package/components/color-palette/index.js +35 -34
  59. package/components/color-palette-group/color-palette-group.d.ts +79 -0
  60. package/components/color-palette-group/index.cjs +28 -0
  61. package/components/color-palette-group/index.d.ts +7 -0
  62. package/components/color-palette-group/index.js +206 -0
  63. package/components/color-picker/color-picker.d.ts +31 -2
  64. package/components/color-picker/index.cjs +6 -5
  65. package/components/color-picker/index.js +16 -12
  66. package/components/color-slider/index.cjs +40 -1
  67. package/components/color-slider/index.js +452 -6
  68. package/components/date-time-picker/index.cjs +16 -16
  69. package/components/date-time-picker/index.js +105 -106
  70. package/components/{dependency-manger-CEXvGQUV.js → dependency-manger-CO-VPlqq.js} +4 -4
  71. package/components/{dependency-manger-C5HCkMMB.cjs → dependency-manger-uthev62E.cjs} +1 -1
  72. package/components/divider/index.cjs +1 -1
  73. package/components/divider/index.js +11 -9
  74. package/components/field-group/index.cjs +1 -1
  75. package/components/field-group/index.js +2 -2
  76. package/components/field-group-BYHNJmv0.cjs +23 -0
  77. package/components/{field-group-DXfBWrkO.js → field-group-CHmw159R.js} +7 -5
  78. package/components/field-label/index.cjs +1 -1
  79. package/components/field-label/index.js +2 -2
  80. package/components/{field-label-CZ2zzChK.js → field-label-Cy3xMWZ-.js} +9 -8
  81. package/components/field-label-DZoeqJJX.cjs +25 -0
  82. package/components/{focus-visible-DBlJGoEW.js → focus-visible-BvScGDCE.js} +20 -20
  83. package/components/focus-visible-D4BXb5RB.cjs +18 -0
  84. package/components/{focusable-BxtpnzWp.js → focusable-BjvsvVam.js} +3 -2
  85. package/components/focusable-CbVKgGfS.cjs +18 -0
  86. package/components/icon/index.cjs +1 -1
  87. package/components/icon/index.js +22 -20
  88. package/components/index.cjs +205 -1
  89. package/components/index.js +972 -167
  90. package/components/infield-button/index.cjs +2 -2
  91. package/components/infield-button/index.js +6 -5
  92. package/components/label/index.cjs +1 -1
  93. package/components/label/index.js +7 -5
  94. package/components/{language-resolution-8yZa5r_P.js → language-resolution-B-wjV5bb.js} +9 -8
  95. package/components/{directive-C7oCP5Bh.cjs → language-resolution-EUER43cg.cjs} +1 -5
  96. package/components/like-anchor-B2EqJPdw.cjs +32 -0
  97. package/components/{like-anchor-Bvn_vLQ8.js → like-anchor-CgqCU210.js} +23 -22
  98. package/components/{manage-help-text-DhgARkZX.cjs → manage-help-text-Bat9yGvF.cjs} +3 -3
  99. package/components/{manage-help-text-syYnjKGL.js → manage-help-text-C9sCHK3R.js} +8 -8
  100. package/components/menu/index.cjs +38 -13
  101. package/components/menu/index.js +138 -105
  102. package/components/menu/menu-item.d.ts +8 -1
  103. package/components/multi-language-field/index.cjs +2 -2
  104. package/components/multi-language-field/index.js +9 -7
  105. package/components/number-field/index.cjs +5 -5
  106. package/components/number-field/index.js +122 -85
  107. package/components/number-field/number-field.d.ts +145 -0
  108. package/components/observe-slot-presence-CNltc0C0.cjs +18 -0
  109. package/components/{observe-slot-presence-CmVi0zTc.js → observe-slot-presence-DFi6GE3H.js} +1 -1
  110. package/components/observe-slot-text-CBMHpuIK.cjs +18 -0
  111. package/components/{observe-slot-text-BPfIQQtz.js → observe-slot-text-DorVpCL4.js} +14 -15
  112. package/components/options/index.cjs +26 -58
  113. package/components/options/index.js +205 -849
  114. package/components/overlay/index.cjs +6 -6
  115. package/components/overlay/index.js +31 -32
  116. package/components/overlay-BhrVS5h7.cjs +47 -0
  117. package/components/overlay-C-No3oJQ.js +1736 -0
  118. package/components/{pending-state-CaH1si5b.cjs → pending-state-DQctFHI8.cjs} +2 -2
  119. package/components/{pending-state-DTX7ggyF.js → pending-state-Dx1u3EXA.js} +2 -2
  120. package/components/picker/index.cjs +1 -1
  121. package/components/picker/index.js +3 -3
  122. package/components/picker-DxYgh4LR.cjs +123 -0
  123. package/components/{picker-BmoXv1jt.js → picker-GyeSAxxY.js} +45 -45
  124. package/components/picker-button/index.cjs +4 -4
  125. package/components/picker-button/index.js +9 -8
  126. package/components/{platform-BiXhwqk3.cjs → platform-BJnOJJag.cjs} +1 -1
  127. package/components/{platform-BM-uMWpX.js → platform-CqwNrovd.js} +12 -12
  128. package/components/popover/index.cjs +1 -1
  129. package/components/popover/index.js +2 -2
  130. package/components/popover-lcZnODPK.cjs +30 -0
  131. package/components/{popover-DjX0aAnY.js → popover-ucIgjbQs.js} +8 -7
  132. package/components/progress-circle/index.cjs +1 -1
  133. package/components/progress-circle/index.js +2 -2
  134. package/components/{progress-circle-DXH9z8-6.js → progress-circle-D5J0ZwY0.js} +8 -7
  135. package/components/progress-circle-DgMbqrzG.cjs +33 -0
  136. package/components/prompt-box/index.d.ts +8 -0
  137. package/components/prompt-box/prompt-box.d.ts +326 -0
  138. package/components/radio/index.cjs +2 -2
  139. package/components/radio/index.js +12 -11
  140. package/components/search/index.cjs +6 -6
  141. package/components/search/index.js +6 -6
  142. package/components/select/index.cjs +43 -42
  143. package/components/select/index.js +142 -126
  144. package/components/select/select.d.ts +1 -1
  145. package/components/{base-BjTwmyRF.cjs → sized-mixin-DcvJLFeo.cjs} +1 -5
  146. package/components/{sized-mixin-D4ACoVUr.js → sized-mixin-cJbo3PKR.js} +5 -5
  147. package/components/slider/index.cjs +1 -1
  148. package/components/slider/index.js +48 -1101
  149. package/components/{strategies-9indNIEb.js → strategies-Bk97oVn1.js} +15 -50
  150. package/components/strategies-CNgBb6dM.cjs +18 -0
  151. package/components/{streaming-listener-CP-JE6Fa.js → streaming-listener-BlWm-XZU.js} +5 -6
  152. package/components/streaming-listener-D9Wc7skA.cjs +18 -0
  153. package/components/swatch/index.cjs +7 -7
  154. package/components/swatch/index.js +18 -17
  155. package/components/switch/index.cjs +2 -2
  156. package/components/switch/index.js +6 -5
  157. package/components/tabs/index.cjs +16 -24
  158. package/components/tabs/index.js +94 -162
  159. package/components/tags/index.cjs +5 -5
  160. package/components/tags/index.js +39 -25
  161. package/components/tags/tag.d.ts +2 -0
  162. package/components/tags/tags.d.ts +3 -1
  163. package/components/text-field/index.cjs +3 -3
  164. package/components/text-field/index.js +13 -11
  165. package/components/text-field/text-field.d.ts +1 -0
  166. package/components/{text-field-BIADXoLC.js → text-field-BHaLKkf1.js} +73 -99
  167. package/components/text-field-DFP7p8Rv.cjs +81 -0
  168. package/components/text-field.module-Bp4Mwuvj.js +21 -0
  169. package/components/text-field.module-eAEqjvZu.cjs +18 -0
  170. package/components/toast/index.cjs +11 -11
  171. package/components/toast/index.js +12 -10
  172. package/components/tooltip/index.cjs +4 -4
  173. package/components/tooltip/index.js +60 -36
  174. package/components/tooltip/tooltip.d.ts +12 -1
  175. package/components/utils.cjs +1 -1
  176. package/components/utils.js +14 -12
  177. package/components/voice-recorder-BRq_gEkz.js +210 -0
  178. package/components/voice-recorder-CAm5iDre.cjs +18 -0
  179. package/custom-elements.json +1 -1
  180. package/index.d.ts +4 -1
  181. package/package.json +84 -6
  182. package/utils/index.d.ts +1 -0
  183. package/utils/voice-recorder.d.ts +121 -0
  184. package/components/NumberFormatter-DewVDY5w.cjs +0 -18
  185. package/components/NumberFormatter-DgOUVrge.js +0 -136
  186. package/components/NumberParser-Dik4a0h-.cjs +0 -18
  187. package/components/NumberParser-ci9J5EKv.js +0 -173
  188. package/components/action-group-DJGMcRHb.cjs +0 -20
  189. package/components/async-directive-BX1T1e1_.cjs +0 -22
  190. package/components/async-directive-BfcqVjDp.js +0 -82
  191. package/components/base-CBCg3yyw.cjs +0 -40
  192. package/components/base-D76d76ww.js +0 -26
  193. package/components/base-WsynuqaS.js +0 -677
  194. package/components/button-base-XgPLmwP-.cjs +0 -25
  195. package/components/class-map-Di1D_rCm.cjs +0 -22
  196. package/components/class-map-NbVXqBU0.js +0 -51
  197. package/components/clear-button-DoeRUWQ3.js +0 -53
  198. package/components/clear-button-Qi1pMA5S.cjs +0 -18
  199. package/components/close-button-BFMBEw3q.cjs +0 -18
  200. package/components/close-button-BWXdHSx3.js +0 -51
  201. package/components/color-controller-DTp1juRz.js +0 -3198
  202. package/components/color-controller-_ZwyhvaU.cjs +0 -18
  203. package/components/color-loupe-CaA_Lfkk.cjs +0 -56
  204. package/components/directive-helpers-Cm6gitnu.js +0 -62
  205. package/components/directive-helpers-DyIRTWwA.cjs +0 -22
  206. package/components/directive-oAbCiebi.js +0 -44
  207. package/components/field-group-DkGst3r5.cjs +0 -23
  208. package/components/field-label-mO1AkUgR.cjs +0 -25
  209. package/components/flow-D-0MTYCm.js +0 -527
  210. package/components/flow-DM3dNAKs.cjs +0 -30
  211. package/components/focus-visible-B0P9aY_G.cjs +0 -18
  212. package/components/focusable-EbipgXRh.cjs +0 -18
  213. package/components/if-defined-C9YGdo33.cjs +0 -22
  214. package/components/if-defined-DOaE2coe.js +0 -27
  215. package/components/index-A-yOTB_d.js +0 -1490
  216. package/components/index-BLWuwZXx.cjs +0 -113
  217. package/components/index-BwxgAdzi.cjs +0 -57
  218. package/components/index-HjQa8tew.js +0 -1174
  219. package/components/language-resolution-DJzmyzZq.cjs +0 -18
  220. package/components/like-anchor-sod1C1fR.cjs +0 -32
  221. package/components/luzmo-icons-DbwDQtuO.js +0 -229
  222. package/components/luzmo-icons-DletXGWU.cjs +0 -29
  223. package/components/mutation-controller-DH7YOCyj.js +0 -52
  224. package/components/mutation-controller-DkOMCW-c.cjs +0 -22
  225. package/components/observe-slot-presence-bc9chhsi.cjs +0 -18
  226. package/components/observe-slot-text-Ceb7SvYT.cjs +0 -18
  227. package/components/overlay-Cig9r6uU.js +0 -2747
  228. package/components/overlay-KSKMzzkh.cjs +0 -47
  229. package/components/picker-DWsBWdPN.cjs +0 -123
  230. package/components/popover-KFfO0IYL.cjs +0 -30
  231. package/components/progress-circle-BvRJNuNo.cjs +0 -33
  232. package/components/query-BL-TJj7K.cjs +0 -22
  233. package/components/query-D_KR_GUc.js +0 -51
  234. package/components/query-assigned-elements-DjfhL1cl.js +0 -36
  235. package/components/query-assigned-elements-DsKsfk7G.cjs +0 -22
  236. package/components/query-assigned-nodes-BcKWmGzy.cjs +0 -22
  237. package/components/query-assigned-nodes-C76XVPWY.js +0 -36
  238. package/components/sized-mixin-CPxE5C96.cjs +0 -18
  239. package/components/state-D8JEtYqe.cjs +0 -22
  240. package/components/state-Deh-vKYE.js +0 -29
  241. package/components/strategies-BACP6MhR.cjs +0 -18
  242. package/components/streaming-listener-B00MvALi.cjs +0 -18
  243. package/components/style-map-CeilmSgs.cjs +0 -22
  244. package/components/style-map-IgqIKvlE.js +0 -53
  245. package/components/text-field-D5d_Gt0t.cjs +0 -85
  246. package/components/text-field.module-ColtFhf_.js +0 -21
  247. package/components/text-field.module-p_VF2tC_.cjs +0 -18
  248. package/components/unit-input/index.cjs +0 -43
  249. package/components/unit-input/index.d.ts +0 -7
  250. package/components/unit-input/index.js +0 -183
  251. package/components/unit-input/unit-input.d.ts +0 -33
  252. package/components/when-CDK1Tt5Y.js +0 -28
  253. package/components/when-CDZyJPvd.cjs +0 -22
@@ -1,113 +0,0 @@
1
- /*! * Lucero - The design system for Luzmo.
2
- *
3
- * Copyright © 2025 Luzmo
4
- * All rights reserved.
5
- * Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
6
- * This license allows users with a current active Luzmo account to use Lucero.
7
- * This license terminates automatically if a user no longer has an active Luzmo account.
8
- * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
9
- *
10
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
11
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
12
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
13
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
14
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
15
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
- * SOFTWARE.
17
- * */
18
- "use strict";const le=require("./NumberFormatter-DewVDY5w.cjs"),c=require("./base-CBCg3yyw.cjs"),Oe=require("./class-map-Di1D_rCm.cjs"),Pe=require("./if-defined-C9YGdo33.cjs"),We=require("./sized-mixin-CPxE5C96.cjs");require("./action-button/index.cjs");require("./icon/index.cjs");const ie=require("./luzmo-icons-DletXGWU.cjs"),C=require("./state-D8JEtYqe.cjs");function Z(t,e){return t-e*Math.floor(t/e)}const me=1721426;function P(t,e,a,r){e=X(t,e);let n=e-1,o=-2;return a<=2?o=0:N(e)&&(o=-1),me-1+365*n+Math.floor(n/4)-Math.floor(n/100)+Math.floor(n/400)+Math.floor((367*a-362)/12+o+r)}function N(t){return t%4===0&&(t%100!==0||t%400===0)}function X(t,e){return t==="BC"?1-e:e}function Ne(t){let e="AD";return t<=0&&(e="BC",t=1-t),[e,t]}const Ye={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]};class S{fromJulianDay(e){let a=e,r=a-me,n=Math.floor(r/146097),o=Z(r,146097),d=Math.floor(o/36524),l=Z(o,36524),i=Math.floor(l/1461),y=Z(l,1461),I=Math.floor(y/365),T=n*400+d*100+i*4+I+(d!==4&&I!==4?1:0),[_,$]=Ne(T),g=a-P(_,$,1,1),U=2;a<P(_,$,3,1)?U=0:N($)&&(U=1);let de=Math.floor(((g+U)*12+373)/367),Re=a-P(_,$,de,1)+1;return new M(_,$,de,Re)}toJulianDay(e){return P(e.era,e.year,e.month,e.day)}getDaysInMonth(e){return Ye[N(e.year)?"leapyear":"standard"][e.month-1]}getMonthsInYear(e){return 12}getDaysInYear(e){return N(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 He={"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 p(t,e){return e=f(e,t.calendar),t.era===e.era&&t.year===e.year&&t.month===e.month&&t.day===e.day}function x(t,e){return e=f(e,t.calendar),t=w(t),e=w(e),t.era===e.era&&t.year===e.year&&t.month===e.month}function Le(t,e){var a,r,n,o;return(o=(n=(a=t.isEqual)===null||a===void 0?void 0:a.call(t,e))!==null&&n!==void 0?n:(r=e.isEqual)===null||r===void 0?void 0:r.call(e,t))!==null&&o!==void 0?o:t.identifier===e.identifier}function be(t,e,a){let r=t.calendar.toJulianDay(t),n=Ke(e),o=Math.ceil(r+1-n)%7;return o<0&&(o+=7),o}function ve(t){return b(Date.now(),t)}function Ue(t){return A(ve(t))}function ge(t,e){return t.calendar.toJulianDay(t)-e.calendar.toJulianDay(e)}function $e(t,e){return ce(t)-ce(e)}function ce(t){return t.hour*36e5+t.minute*6e4+t.second*1e3+t.millisecond}let q=null;function Y(){return q==null&&(q=new Intl.DateTimeFormat().resolvedOptions().timeZone),q}function w(t){return t.subtract({days:t.day-1})}function Ze(t){return t.add({days:t.calendar.getDaysInMonth(t)-t.day})}function qe(t){return t.calendar.getMinimumMonthInYear?t.calendar.getMinimumMonthInYear(t):1}function je(t){return t.calendar.getMinimumDayInMonth?t.calendar.getMinimumDayInMonth(t):1}function se(t,e,a){let r=be(t,e);return t.subtract({days:r})}const he=new Map;function Ge(t){if(Intl.Locale){let a=he.get(t);return a||(a=new Intl.Locale(t).maximize().region,a&&he.set(t,a)),a}let e=t.split("-")[1];return e==="u"?void 0:e}function Ke(t){let e=Ge(t);return e&&He[e]||0}function Ve(t,e,a){let r=t.calendar.getDaysInMonth(t);return Math.ceil((be(w(t),e)+r)/7)}function E(t){t=f(t,new S);let e=X(t.era,t.year);return pe(e,t.month,t.day,t.hour,t.minute,t.second,t.millisecond)}function pe(t,e,a,r,n,o,d){let l=new Date;return l.setUTCHours(r,n,o,d),l.setUTCFullYear(t,e-1,a),l.getTime()}function V(t,e){if(e==="UTC")return 0;if(t>0&&e===Y())return new Date(t).getTimezoneOffset()*-6e4;let{year:a,month:r,day:n,hour:o,minute:d,second:l}=xe(t,e);return pe(a,r,n,o,d,l,0)-Math.floor(t/1e3)*1e3}const ue=new Map;function xe(t,e){let a=ue.get(e);a||(a=new Intl.DateTimeFormat("en-US",{timeZone:e,hour12:!1,era:"short",year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}),ue.set(e,a));let r=a.formatToParts(new Date(t)),n={};for(let o of r)o.type!=="literal"&&(n[o.type]=o.value);return{year:n.era==="BC"||n.era==="B"?-n.year+1:+n.year,month:+n.month,day:+n.day,hour:n.hour==="24"?0:+n.hour,minute:+n.minute,second:+n.second}}const fe=864e5;function Je(t,e,a,r){return(a===r?[a]:[a,r]).filter(o=>Qe(t,e,o))}function Qe(t,e,a){let r=xe(a,e);return t.year===r.year&&t.month===r.month&&t.day===r.day&&t.hour===r.hour&&t.minute===r.minute&&t.second===r.second}function m(t,e,a="compatible"){let r=z(t);if(e==="UTC")return E(r);if(e===Y()&&a==="compatible"){r=f(r,new S);let i=new Date,y=X(r.era,r.year);return i.setFullYear(y,r.month-1,r.day),i.setHours(r.hour,r.minute,r.second,r.millisecond),i.getTime()}let n=E(r),o=V(n-fe,e),d=V(n+fe,e),l=Je(r,e,n-o,n-d);if(l.length===1)return l[0];if(l.length>1)switch(a){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(a){case"earlier":return Math.min(n-o,n-d);case"compatible":case"later":return Math.max(n-o,n-d);case"reject":throw new RangeError("No such absolute time found")}}function we(t,e,a="compatible"){return new Date(m(t,e,a))}function b(t,e){let a=V(t,e),r=new Date(t+a),n=r.getUTCFullYear(),o=r.getUTCMonth()+1,d=r.getUTCDate(),l=r.getUTCHours(),i=r.getUTCMinutes(),y=r.getUTCSeconds(),I=r.getUTCMilliseconds();return new k(n<1?"BC":"AD",n<1?-n+1:n,o,d,e,a,l,i,y,I)}function A(t){return new M(t.calendar,t.era,t.year,t.month,t.day)}function z(t,e){let a=0,r=0,n=0,o=0;if("timeZone"in t)({hour:a,minute:r,second:n,millisecond:o}=t);else if("hour"in t&&!e)return t;return e&&({hour:a,minute:r,second:n,millisecond:o}=e),new O(t.calendar,t.era,t.year,t.month,t.day,a,r,n,o)}function f(t,e){if(Le(t.calendar,e))return t;let a=e.fromJulianDay(t.calendar.toJulianDay(t)),r=t.copy();return r.calendar=e,r.era=a.era,r.year=a.year,r.month=a.month,r.day=a.day,D(r),r}function ze(t,e,a){if(t instanceof k)return t.timeZone===e?t:De(t,e);let r=m(t,e,a);return b(r,e)}function Xe(t){let e=E(t)-t.offset;return new Date(e)}function De(t,e){let a=E(t)-t.offset;return f(b(a,e),t.calendar)}const F=36e5;function H(t,e){let a=t.copy(),r="hour"in a?Ie(a,e):0;J(a,e.years||0),a.calendar.balanceYearMonth&&a.calendar.balanceYearMonth(a,t),a.month+=e.months||0,Q(a),Me(a),a.day+=(e.weeks||0)*7,a.day+=e.days||0,a.day+=r,et(a),a.calendar.balanceDate&&a.calendar.balanceDate(a),a.year<1&&(a.year=1,a.month=1,a.day=1);let n=a.calendar.getYearsInEra(a);if(a.year>n){var o,d;let i=(o=(d=a.calendar).isInverseEra)===null||o===void 0?void 0:o.call(d,a);a.year=n,a.month=i?1:a.calendar.getMonthsInYear(a),a.day=i?1:a.calendar.getDaysInMonth(a)}a.month<1&&(a.month=1,a.day=1);let l=a.calendar.getMonthsInYear(a);return a.month>l&&(a.month=l,a.day=a.calendar.getDaysInMonth(a)),a.day=Math.max(1,Math.min(a.calendar.getDaysInMonth(a),a.day)),a}function J(t,e){var a,r;!((a=(r=t.calendar).isInverseEra)===null||a===void 0)&&a.call(r,t)&&(e=-e),t.year+=e}function Q(t){for(;t.month<1;)J(t,-1),t.month+=t.calendar.getMonthsInYear(t);let e=0;for(;t.month>(e=t.calendar.getMonthsInYear(t));)t.month-=e,J(t,1)}function et(t){for(;t.day<1;)t.month--,Q(t),t.day+=t.calendar.getDaysInMonth(t);for(;t.day>t.calendar.getDaysInMonth(t);)t.day-=t.calendar.getDaysInMonth(t),t.month++,Q(t)}function Me(t){t.month=Math.max(1,Math.min(t.calendar.getMonthsInYear(t),t.month)),t.day=Math.max(1,Math.min(t.calendar.getDaysInMonth(t),t.day))}function D(t){t.calendar.constrainDate&&t.calendar.constrainDate(t),t.year=Math.max(1,Math.min(t.calendar.getYearsInEra(t),t.year)),Me(t)}function ee(t){let e={};for(let a in t)typeof t[a]=="number"&&(e[a]=-t[a]);return e}function ke(t,e){return H(t,ee(e))}function te(t,e){let a=t.copy();return e.era!=null&&(a.era=e.era),e.year!=null&&(a.year=e.year),e.month!=null&&(a.month=e.month),e.day!=null&&(a.day=e.day),D(a),a}function R(t,e){let a=t.copy();return e.hour!=null&&(a.hour=e.hour),e.minute!=null&&(a.minute=e.minute),e.second!=null&&(a.second=e.second),e.millisecond!=null&&(a.millisecond=e.millisecond),Ce(a),a}function tt(t){t.second+=Math.floor(t.millisecond/1e3),t.millisecond=W(t.millisecond,1e3),t.minute+=Math.floor(t.second/60),t.second=W(t.second,60),t.hour+=Math.floor(t.minute/60),t.minute=W(t.minute,60);let e=Math.floor(t.hour/24);return t.hour=W(t.hour,24),e}function Ce(t){t.millisecond=Math.max(0,Math.min(t.millisecond,1e3)),t.second=Math.max(0,Math.min(t.second,59)),t.minute=Math.max(0,Math.min(t.minute,59)),t.hour=Math.max(0,Math.min(t.hour,23))}function W(t,e){let a=t%e;return a<0&&(a+=e),a}function Ie(t,e){return t.hour+=e.hours||0,t.minute+=e.minutes||0,t.second+=e.seconds||0,t.millisecond+=e.milliseconds||0,tt(t)}function Te(t,e){let a=t.copy();return Ie(a,e),a}function at(t,e){return Te(t,ee(e))}function ae(t,e,a,r){let n=t.copy();switch(e){case"era":{let l=t.calendar.getEras(),i=l.indexOf(t.era);if(i<0)throw new Error("Invalid era: "+t.era);i=v(i,a,0,l.length-1,r==null?void 0:r.round),n.era=l[i],D(n);break}case"year":var o,d;!((o=(d=n.calendar).isInverseEra)===null||o===void 0)&&o.call(d,n)&&(a=-a),n.year=v(t.year,a,-1/0,9999,r==null?void 0:r.round),n.year===-1/0&&(n.year=1),n.calendar.balanceYearMonth&&n.calendar.balanceYearMonth(n,t);break;case"month":n.month=v(t.month,a,1,t.calendar.getMonthsInYear(t),r==null?void 0:r.round);break;case"day":n.day=v(t.day,a,1,t.calendar.getDaysInMonth(t),r==null?void 0:r.round);break;default:throw new Error("Unsupported field "+e)}return t.calendar.balanceDate&&t.calendar.balanceDate(n),D(n),n}function re(t,e,a,r){let n=t.copy();switch(e){case"hour":{let o=t.hour,d=0,l=23;if((r==null?void 0:r.hourCycle)===12){let i=o>=12;d=i?12:0,l=i?23:11}n.hour=v(o,a,d,l,r==null?void 0:r.round);break}case"minute":n.minute=v(t.minute,a,0,59,r==null?void 0:r.round);break;case"second":n.second=v(t.second,a,0,59,r==null?void 0:r.round);break;case"millisecond":n.millisecond=v(t.millisecond,a,0,999,r==null?void 0:r.round);break;default:throw new Error("Unsupported field "+e)}return n}function v(t,e,a,r,n=!1){if(n){t+=Math.sign(e),t<a&&(t=r);let o=Math.abs(e);e>0?t=Math.ceil(t/o)*o:t=Math.floor(t/o)*o,t>r&&(t=a)}else t+=e,t<a?t=r-(a-t-1):t>r&&(t=a+(t-r-1));return t}function _e(t,e){let a;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 n=H(z(t),{years:e.years,months:e.months,weeks:e.weeks,days:e.days});a=m(n,t.timeZone)}else a=E(t)-t.offset;a+=e.milliseconds||0,a+=(e.seconds||0)*1e3,a+=(e.minutes||0)*6e4,a+=(e.hours||0)*36e5;let r=b(a,t.timeZone);return f(r,t.calendar)}function rt(t,e){return _e(t,ee(e))}function nt(t,e,a,r){switch(e){case"hour":{let n=0,o=23;if((r==null?void 0:r.hourCycle)===12){let g=t.hour>=12;n=g?12:0,o=g?23:11}let d=z(t),l=f(R(d,{hour:n}),new S),i=[m(l,t.timeZone,"earlier"),m(l,t.timeZone,"later")].filter(g=>b(g,t.timeZone).day===l.day)[0],y=f(R(d,{hour:o}),new S),I=[m(y,t.timeZone,"earlier"),m(y,t.timeZone,"later")].filter(g=>b(g,t.timeZone).day===y.day).pop(),T=E(t)-t.offset,_=Math.floor(T/F),$=T%F;return T=v(_,a,Math.floor(i/F),Math.floor(I/F),r==null?void 0:r.round)*F+$,f(b(T,t.timeZone),t.calendar)}case"minute":case"second":case"millisecond":return re(t,e,a,r);case"era":case"year":case"month":case"day":{let n=ae(z(t),e,a,r),o=m(n,t.timeZone);return f(b(o,t.timeZone),t.calendar)}default:throw new Error("Unsupported field "+e)}}function ot(t,e,a){let r=z(t),n=R(te(r,e),e);if(n.compare(r)===0)return t;let o=m(n,t.timeZone,a);return f(b(o,t.timeZone),t.calendar)}const dt=/^([+-]\d{6}|\d{4})-(\d{2})-(\d{2})$/,lt=/^([+-]\d{6}|\d{4})-(\d{2})-(\d{2})(?:T(\d{2}))?(?::(\d{2}))?(?::(\d{2}))?(\.\d+)?(?:(?:([+-]\d{2})(?::?(\d{2}))?)|Z)$/;function B(t){let e=t.match(dt);if(!e)throw new Error("Invalid ISO 8601 date string: "+t);let a=new M(u(e[1],0,9999),u(e[2],1,12),1);return a.day=u(e[3],0,a.calendar.getDaysInMonth(a)),a}function it(t,e){let a=t.match(lt);if(!a)throw new Error("Invalid ISO 8601 date time string: "+t);let r=u(a[1],-9999,9999),n=r<1?"BC":"AD",o=new k(n,r<1?-r+1:r,u(a[2],1,12),1,e,0,a[4]?u(a[4],0,23):0,a[5]?u(a[5],0,59):0,a[6]?u(a[6],0,59):0,a[7]?u(a[7],0,1/0)*1e3:0);o.day=u(a[3],0,o.calendar.getDaysInMonth(o));var d;return a[8]&&(o.offset=u(a[8],-23,23)*36e5+u((d=a[9])!==null&&d!==void 0?d:"0",0,59)*6e4),De(o,e)}function u(t,e,a){let r=Number(t);if(r<e||r>a)throw new RangeError(`Value out of range: ${e} <= ${r} <= ${a}`);return r}function Se(t){return`${String(t.hour).padStart(2,"0")}:${String(t.minute).padStart(2,"0")}:${String(t.second).padStart(2,"0")}${t.millisecond?String(t.millisecond/1e3).slice(1):""}`}function Ee(t){let e=f(t,new S),a;return e.era==="BC"?a=e.year===1?"0000":"-"+String(Math.abs(1-e.year)).padStart(6,"00"):a=String(e.year).padStart(4,"0"),`${a}-${String(e.month).padStart(2,"0")}-${String(e.day).padStart(2,"0")}`}function Fe(t){return`${Ee(t)}T${Se(t)}`}function ct(t){let e=Math.sign(t)<0?"-":"+";t=Math.abs(t);let a=Math.floor(t/36e5),r=t%36e5/6e4;return`${e}${String(a).padStart(2,"0")}:${String(r).padStart(2,"0")}`}function st(t){return`${Fe(t)}${ct(t.offset)}[${t.timeZone}]`}function ht(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function L(t,e,a){ht(t,e),e.set(t,a)}function ne(t){let e=typeof t[0]=="object"?t.shift():new S,a;if(typeof t[0]=="string")a=t.shift();else{let d=e.getEras();a=d[d.length-1]}let r=t.shift(),n=t.shift(),o=t.shift();return[e,a,r,n,o]}var ut=new WeakMap;class M{copy(){return this.era?new M(this.calendar,this.era,this.year,this.month,this.day):new M(this.calendar,this.year,this.month,this.day)}add(e){return H(this,e)}subtract(e){return ke(this,e)}set(e){return te(this,e)}cycle(e,a,r){return ae(this,e,a,r)}toDate(e){return we(this,e)}toString(){return Ee(this)}compare(e){return ge(this,e)}constructor(...e){L(this,ut,{writable:!0,value:void 0});let[a,r,n,o,d]=ne(e);this.calendar=a,this.era=r,this.year=n,this.month=o,this.day=d,D(this)}}var ft=new WeakMap;class oe{copy(){return new oe(this.hour,this.minute,this.second,this.millisecond)}add(e){return Te(this,e)}subtract(e){return at(this,e)}set(e){return R(this,e)}cycle(e,a,r){return re(this,e,a,r)}toString(){return Se(this)}compare(e){return $e(this,e)}constructor(e=0,a=0,r=0,n=0){L(this,ft,{writable:!0,value:void 0}),this.hour=e,this.minute=a,this.second=r,this.millisecond=n,Ce(this)}}var yt=new WeakMap;class O{copy(){return this.era?new O(this.calendar,this.era,this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond):new O(this.calendar,this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond)}add(e){return H(this,e)}subtract(e){return ke(this,e)}set(e){return te(R(this,e),e)}cycle(e,a,r){switch(e){case"era":case"year":case"month":case"day":return ae(this,e,a,r);default:return re(this,e,a,r)}}toDate(e,a){return we(this,e,a)}toString(){return Fe(this)}compare(e){let a=ge(this,e);return a===0?$e(this,z(e)):a}constructor(...e){L(this,yt,{writable:!0,value:void 0});let[a,r,n,o,d]=ne(e);this.calendar=a,this.era=r,this.year=n,this.month=o,this.day=d,this.hour=e.shift()||0,this.minute=e.shift()||0,this.second=e.shift()||0,this.millisecond=e.shift()||0,D(this)}}var mt=new WeakMap;class k{copy(){return this.era?new k(this.calendar,this.era,this.year,this.month,this.day,this.timeZone,this.offset,this.hour,this.minute,this.second,this.millisecond):new k(this.calendar,this.year,this.month,this.day,this.timeZone,this.offset,this.hour,this.minute,this.second,this.millisecond)}add(e){return _e(this,e)}subtract(e){return rt(this,e)}set(e,a){return ot(this,e,a)}cycle(e,a,r){return nt(this,e,a,r)}toDate(){return Xe(this)}toString(){return st(this)}toAbsoluteString(){return this.toDate().toISOString()}compare(e){return this.toDate().getTime()-ze(e,this.timeZone).toDate().getTime()}constructor(...e){L(this,mt,{writable:!0,value:void 0});let[a,r,n,o,d]=ne(e),l=e.shift(),i=e.shift();this.calendar=a,this.era=r,this.year=n,this.month=o,this.day=d,this.timeZone=l,this.offset=i,this.hour=e.shift()||0,this.minute=e.shift()||0,this.second=e.shift()||0,this.millisecond=e.shift()||0,D(this)}}let j=new Map;class Be{format(e){return this.formatter.format(e)}formatToParts(e){return this.formatter.formatToParts(e)}formatRange(e,a){if(typeof this.formatter.formatRange=="function")return this.formatter.formatRange(e,a);if(a<e)throw new RangeError("End date must be >= start date");return`${this.formatter.format(e)} – ${this.formatter.format(a)}`}formatRangeToParts(e,a){if(typeof this.formatter.formatRangeToParts=="function")return this.formatter.formatRangeToParts(e,a);if(a<e)throw new RangeError("End date must be >= start date");let r=this.formatter.formatToParts(e),n=this.formatter.formatToParts(a);return[...r.map(o=>({...o,source:"startRange"})),{type:"literal",value:" – ",source:"shared"},...n.map(o=>({...o,source:"endRange"}))]}resolvedOptions(){let e=this.formatter.resolvedOptions();return gt()&&(this.resolvedHourCycle||(this.resolvedHourCycle=$t(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,a={}){this.formatter=Ae(e,a),this.options=a}}const bt={true:{ja:"h11"},false:{}};function Ae(t,e={}){if(typeof e.hour12=="boolean"&&vt()){e={...e};let n=bt[String(e.hour12)][t.split("-")[0]],o=e.hour12?"h12":"h23";e.hourCycle=n??o,delete e.hour12}let a=t+(e?Object.entries(e).sort((n,o)=>n[0]<o[0]?-1:1).join():"");if(j.has(a))return j.get(a);let r=new Intl.DateTimeFormat(t,e);return j.set(a,r),r}let G=null;function vt(){return G==null&&(G=new Intl.DateTimeFormat("en-US",{hour:"numeric",hour12:!1}).format(new Date(2020,2,3,0))==="24"),G}let K=null;function gt(){return K==null&&(K=new Intl.DateTimeFormat("fr",{hour:"numeric",hour12:!1}).resolvedOptions().hourCycle==="h12"),K}function $t(t,e){if(!e.timeStyle&&!e.hour)return;t=t.replace(/(-u-)?-nu-[a-zA-Z0-9]+/,""),t+=(t.includes("-u-")?"":"-u")+"-nu-latn";let a=Ae(t,{...e,timeZone:void 0}),r=parseInt(a.formatToParts(new Date(2020,2,3,0)).find(o=>o.type==="hour").value,10),n=parseInt(a.formatToParts(new Date(2020,2,3,23)).find(o=>o.type==="hour").value,10);if(r===0&&n===23)return"h23";if(r===24&&n===23)return"h24";if(r===0&&n===11)return"h11";if(r===12&&n===11)return"h12";throw new Error("Unexpected hour cycle result")}const pt=':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,wt=Object.getOwnPropertyDescriptor,h=(t,e,a,r)=>{for(var n=r>1?void 0:r?wt(e,a):e,o=t.length-1,d;o>=0;o--)(d=t[o])&&(n=(r?d(e,a,n):d(n))||n);return r&&n&&xt(e,a,n),n};const ye=7;class s extends We.SizedMixin(c.LuzmoElement,{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=Y(),this.weekdays=[],this.currentMonthDates=[],this._isDateFocusIntent=!1,this.numberFormatter=new le.$488c6ddbf4ef74c2$export$cc77c4ff7e8673c5(this._language),this.setNumberFormatter(),this.setWeekdays(),this.setCurrentMonthDates()}static get styles(){return[c.r(pt)]}get _language(){try{return this.language?new Intl.Locale(this.language).language:"en"}catch{return"en"}}get today(){return Ue(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 a=e.has("min"),r=e.has("max"),n=e.has("value");(a||r||n)&&(this.convertToCalendarDates(),this.checkDatePropsCompliance(a||r),this.updateCurrentDate());const d=e.get("currentDate");e.has("currentDate")&&(!d||!x(d,this.currentDate))&&(this.setCurrentMonthDates(),this.setAttribute("aria-label",this.monthAndYear))}updated(e){e.has("currentDate")&&this.isDateFocusIntent&&this.focusCurrentDate()}focusCurrentDate(){var a;const e=(a=this.shadowRoot)==null?void 0:a.querySelector('td span[tabindex="0"]');e&&e.focus()}convertToCalendarDates(){this._min=this.min?B(this.min):void 0,this._max=this.max?B(this.max):void 0,this._value=this.value?B(this.value):void 0;const e="AD";this._min=this._min&&A(this._min).set({era:e}),this._max=this._max&&A(this._max).set({era:e}),this._value=this._value&&A(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.x` ${this.renderCalendarHeader()}${this.renderCalendarGrid()} `}get monthAndYear(){return this.formatDate(this.currentDate,{month:"long",year:"numeric"})}renderCalendarHeader(){return c.x`
19
- <div class="header" @focusin=${this.resetDateFocusIntent}>
20
- <h2
21
- class="title"
22
- aria-live="polite"
23
- aria-atomic="true"
24
- data-test-id="calendar-title"
25
- >
26
- ${this.monthAndYear}
27
- </h2>
28
-
29
- <luzmo-action-button
30
- quiet
31
- size="s"
32
- label=${this.labels.previous}
33
- class="prevMonth"
34
- data-test-id="prev-btn"
35
- ?disabled=${this.isPreviousMonthDisabled}
36
- @click=${this.handlePreviousMonth}
37
- >
38
- <div slot="icon">
39
- <slot name="prev-icon">
40
- <luzmo-icon
41
- block
42
- .size=${this.size}
43
- .icon=${ie.S}
44
- ></luzmo-icon>
45
- </slot>
46
- </div>
47
- </luzmo-action-button>
48
-
49
- <luzmo-action-button
50
- quiet
51
- size="s"
52
- label=${this.labels.next}
53
- class="nextMonth"
54
- data-test-id="next-btn"
55
- ?disabled=${this.isNextMonthDisabled}
56
- @click=${this.handleNextMonth}
57
- >
58
- <div slot="icon">
59
- <slot name="next-icon">
60
- <luzmo-icon
61
- block
62
- .size=${this.size}
63
- .icon=${ie.k}
64
- ></luzmo-icon>
65
- </slot>
66
- </div>
67
- </luzmo-action-button>
68
- </div>
69
- `}get isPreviousMonthDisabled(){if(this.disabled)return!0;const e=w(this.currentDate),a=e.subtract({months:1});return e.era!==a.era||p(e,a)}get isNextMonthDisabled(){if(this.disabled)return!0;const e=Ze(this.currentDate),a=e.add({months:1});return e.era!==a.era||p(e,a)}handlePreviousMonth(){let e=w(this.currentDate).subtract({months:1});this._value&&x(e,this._value)?e=this._value:x(e,this.today)&&(e=this.today),this.currentDate=e}handleNextMonth(){let e=w(this.currentDate).add({months:1});this._value&&x(e,this._value)?e=this._value:x(e,this.today)&&(e=this.today),this.currentDate=e}renderCalendarGrid(){return c.x`
70
- <table
71
- role="grid"
72
- aria-readonly="true"
73
- aria-disabled=${this.disabled}
74
- role="presentation"
75
- class="table body"
76
- @keydown=${this.handleKeydown}
77
- >
78
- ${this.renderCalendarTableHead()} ${this.renderCalendarTableBody()}
79
- </table>
80
- `}renderCalendarTableHead(){return c.x`
81
- <thead role="presentation">
82
- <tr role="row">
83
- ${this.renderWeekdayColumns()}
84
- </tr>
85
- </thead>
86
- `}renderWeekdayColumns(){return this.weekdays.map(e=>this.renderWeekdayColumn(e))}renderWeekdayColumn(e){return c.x`
87
- <th role="columnheader" scope="col" class="table-cell">
88
- <abbr class="dayOfWeek" title=${e.long}> ${e.narrow} </abbr>
89
- </th>
90
- `}renderCalendarTableBody(){return c.x`
91
- <tbody role="presentation">
92
- ${this.renderCalendarWeeks()}
93
- </tbody>
94
- `}renderCalendarWeeks(){return this.currentMonthDates.map(e=>c.x`
95
- <tr role="row">
96
- ${this.renderDatesInWeek(e)}
97
- </tr>
98
- `)}renderDatesInWeek(e){return e.map(a=>this.renderCalendarTableCell(a))}parseDateCellProperties(e){const a={isOutsideMonth:!1,isSelected:!1,isToday:!1,isDisabled:!1,isTabbable:!1};return a.isOutsideMonth=e.month!==this.currentDate.month,a.isOutsideMonth||(a.isDisabled=this.disabled||this.isMinLimitReached(e)||this.isMaxLimitReached(e),a.isToday=p(e,this.today),a.isDisabled)||(a.isTabbable=p(e,this.currentDate),a.isSelected=!!(this._value&&p(this._value,e))),a}renderCalendarTableCell(e){const{isOutsideMonth:a,isSelected:r,isToday:n,isDisabled:o,isTabbable:d}=this.parseDateCellProperties(e),l={date:!0,"is-outsideMonth":a,"is-selected":r,"is-today":n,"is-disabled":o};let i="";n?i=`${this.labels.today}, `:r&&(i=`${this.labels.selected}, `);const y=i+this.formatDate(e,{weekday:"long",year:"numeric",month:"long",day:"numeric"});return c.x`
99
- <td role="gridcell" class="table-cell">
100
- <span
101
- role="button"
102
- tabindex=${Pe.o(a?void 0:d?"0":"-1")}
103
- aria-label=${y}
104
- aria-disabled=${a||o}
105
- data-value=${e.toString()}
106
- @mousedown=${this.handleDaySelect}
107
- >
108
- <span role="presentation" class=${Oe.e(l)}>
109
- ${this.formatNumber(e.day)}
110
- </span>
111
- </span>
112
- </td>
113
- `}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 a=e.target.closest('span[role="button"]'),r=a&&a.dataset.value;if(!r)return;const n=B(r);if(this._value&&p(this._value,n)||this.isMinLimitReached(n)||this.isMaxLimitReached(n)){e.preventDefault();return}this._value=n,this.value=n.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 a=e.add({days:1});for(;!this.canMoveBackToDate(a);)a=a.add({days:1});this.currentDate=a}moveToNextWeek(){const e=this.currentDate.add({weeks:1});if(this.canMoveForwardToDate(e)){this.currentDate=e;return}let a=e.subtract({days:1});for(;!this.canMoveForwardToDate(a);)a=a.subtract({days:1});this.currentDate=a}canMoveBackToDate(e){return this.isMinLimitReached(e)?!1:x(this.currentDate,e)||!this.isPreviousMonthDisabled}canMoveForwardToDate(e){return this.isMaxLimitReached(e)?!1:x(this.currentDate,e)||!this.isNextMonthDisabled}setWeekdays(){const e=se(this.currentDate,this._language);this.weekdays=[...Array.from({length:ye}).keys()].map(a=>{const r=e.add({days:a});return{narrow:this.formatDate(r,{weekday:"narrow"}),long:this.formatDate(r,{weekday:"long"})}})}setCurrentMonthDates(){const e=Ve(this.currentDate,this._language),a=Array.from({length:e});for(const r of Array.from({length:e}).keys())a[r]=this.getDatesInWeek(this.currentDate,r);this.currentMonthDates=a}getDatesInWeek(e,a){const r=[];let n=se(w(e).add({weeks:a}),this._language);for(;r.length<ye;){r.push(n);const o=n.add({days:1});if(p(n,o))break;n=o}return r}isMinLimitReached(e){return!!(this._min&&e.compare(this._min)<0)}isMaxLimitReached(e){return!!(this._max&&e.compare(this._max)>0)}formatDate(e,a){return new Be(this._language,a).format(e.toDate(this.timeZone))}setNumberFormatter(){this.numberFormatter=new le.$488c6ddbf4ef74c2$export$cc77c4ff7e8673c5(this._language)}formatNumber(e){return this.numberFormatter.format(e)}}h([c.n({type:String})],s.prototype,"value",2);h([c.n({type:String})],s.prototype,"min",2);h([c.n({type:String})],s.prototype,"max",2);h([c.n({type:Boolean,reflect:!0})],s.prototype,"disabled",2);h([c.n({type:String,reflect:!0})],s.prototype,"language",2);h([c.n({type:Object})],s.prototype,"labels",2);h([C.r()],s.prototype,"currentDate",2);h([C.r()],s.prototype,"_value",2);h([C.r()],s.prototype,"_min",2);h([C.r()],s.prototype,"_max",2);h([C.r()],s.prototype,"weekdays",2);h([C.r()],s.prototype,"currentMonthDates",2);h([C.r()],s.prototype,"isDateFocusIntent",1);customElements.get("luzmo-calendar")||customElements.define("luzmo-calendar",s);exports.$11d87f3f76e88657$export$84c95a83c799e074=ze;exports.$11d87f3f76e88657$export$93522d1a439f3617=A;exports.$11d87f3f76e88657$export$b21e0b124e224484=z;exports.$14e0f24ef4ac5c92$export$461939dd4422153=ve;exports.$14e0f24ef4ac5c92$export$5412ac11713b72ad=qe;exports.$14e0f24ef4ac5c92$export$aa8b41735afcabd2=Y;exports.$14e0f24ef4ac5c92$export$b2f4953d301981d5=je;exports.$35ea8db9cb2ccb90$export$680ea196effce5f=oe;exports.$35ea8db9cb2ccb90$export$99faa760c7908e4f=M;exports.$35ea8db9cb2ccb90$export$ca871e8dbb80966f=O;exports.$35ea8db9cb2ccb90$export$d3b7288e7994edea=k;exports.$fae977aafc393c5c$export$5adfdab05168c219=it;exports.$fae977aafc393c5c$export$6b862160d295c8e=B;exports.$fb18d541ea1ad717$export$ad991b66133851cf=Be;exports.LuzmoCalendar=s;
@@ -1,57 +0,0 @@
1
- /*! * Lucero - The design system for Luzmo.
2
- *
3
- * Copyright © 2025 Luzmo
4
- * All rights reserved.
5
- * Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
6
- * This license allows users with a current active Luzmo account to use Lucero.
7
- * This license terminates automatically if a user no longer has an active Luzmo account.
8
- * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
9
- *
10
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
11
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
12
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
13
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
14
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
15
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
- * SOFTWARE.
17
- * */
18
- "use strict";const b=require("./base-CBCg3yyw.cjs"),D=require("./query-BL-TJj7K.cjs"),C=require("./if-defined-C9YGdo33.cjs"),O=require("./style-map-CeilmSgs.cjs");require("./color-handle/index.cjs");const W=require("./focusable-EbipgXRh.cjs"),j=require("./language-resolution-DJzmyzZq.cjs"),U=require("./streaming-listener-B00MvALi.cjs");function c(r,t){V(r)&&(r="100%");const e=G(r);return r=t===360?r:Math.min(t,Math.max(0,parseFloat(r))),e&&(r=parseInt(String(r*t),10)/100),Math.abs(r-t)<1e-6?1:(t===360?r=(r<0?r%t+t:r%t)/parseFloat(String(t)):r=r%t/parseFloat(String(t)),r)}function w(r){return Math.min(1,Math.max(0,r))}function V(r){return typeof r=="string"&&r.indexOf(".")!==-1&&parseFloat(r)===1}function G(r){return typeof r=="string"&&r.indexOf("%")!==-1}function T(r){return r=parseFloat(r),(isNaN(r)||r<0||r>1)&&(r=1),r}function S(r){return Number(r)<=1?`${Number(r)*100}%`:r}function k(r){return r.length===1?"0"+r:String(r)}function K(r,t,e){return{r:c(r,255)*255,g:c(t,255)*255,b:c(e,255)*255}}function A(r,t,e){r=c(r,255),t=c(t,255),e=c(e,255);const s=Math.max(r,t,e),o=Math.min(r,t,e);let i=0,n=0;const a=(s+o)/2;if(s===o)n=0,i=0;else{const l=s-o;switch(n=a>.5?l/(2-s-o):l/(s+o),s){case r:i=(t-e)/l+(t<e?6:0);break;case t:i=(e-r)/l+2;break;case e:i=(r-t)/l+4;break}i/=6}return{h:i,s:n,l:a}}function R(r,t,e){return e<0&&(e+=1),e>1&&(e-=1),e<1/6?r+(t-r)*(6*e):e<1/2?t:e<2/3?r+(t-r)*(2/3-e)*6:r}function X(r,t,e){let s,o,i;if(r=c(r,360),t=c(t,100),e=c(e,100),t===0)o=e,i=e,s=e;else{const n=e<.5?e*(1+t):e+t-e*t,a=2*e-n;s=R(a,n,r+1/3),o=R(a,n,r),i=R(a,n,r-1/3)}return{r:s*255,g:o*255,b:i*255}}function F(r,t,e){r=c(r,255),t=c(t,255),e=c(e,255);const s=Math.max(r,t,e),o=Math.min(r,t,e);let i=0;const n=s,a=s-o,l=s===0?0:a/s;if(s===o)i=0;else{switch(s){case r:i=(t-e)/a+(t<e?6:0);break;case t:i=(e-r)/a+2;break;case e:i=(r-t)/a+4;break}i/=6}return{h:i,s:l,v:n}}function Y(r,t,e){r=c(r,360)*6,t=c(t,100),e=c(e,100);const s=Math.floor(r),o=r-s,i=e*(1-t),n=e*(1-o*t),a=e*(1-(1-o)*t),l=s%6,v=[e,n,i,i,a,e][l],d=[a,e,e,n,i,i][l],y=[i,i,a,e,e,n][l];return{r:v*255,g:d*255,b:y*255}}function E(r,t,e,s){const o=[k(Math.round(r).toString(16)),k(Math.round(t).toString(16)),k(Math.round(e).toString(16))];return s&&o[0].startsWith(o[0].charAt(1))&&o[1].startsWith(o[1].charAt(1))&&o[2].startsWith(o[2].charAt(1))?o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0):o.join("")}function Z(r,t,e,s,o){const i=[k(Math.round(r).toString(16)),k(Math.round(t).toString(16)),k(Math.round(e).toString(16)),k(Q(s))];return o&&i[0].startsWith(i[0].charAt(1))&&i[1].startsWith(i[1].charAt(1))&&i[2].startsWith(i[2].charAt(1))&&i[3].startsWith(i[3].charAt(1))?i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0)+i[3].charAt(0):i.join("")}function J(r,t,e,s){const o=r/100,i=t/100,n=e/100,a=s/100,l=255*(1-o)*(1-a),v=255*(1-i)*(1-a),d=255*(1-n)*(1-a);return{r:l,g:v,b:d}}function _(r,t,e){let s=1-r/255,o=1-t/255,i=1-e/255,n=Math.min(s,o,i);return n===1?(s=0,o=0,i=0):(s=(s-n)/(1-n)*100,o=(o-n)/(1-n)*100,i=(i-n)/(1-n)*100),n*=100,{c:Math.round(s),m:Math.round(o),y:Math.round(i),k:Math.round(n)}}function Q(r){return Math.round(parseFloat(r)*255).toString(16)}function I(r){return g(r)/255}function g(r){return parseInt(r,16)}function tt(r){return{r:r>>16,g:(r&65280)>>8,b:r&255}}const P={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function et(r){let t={r:0,g:0,b:0},e=1,s=null,o=null,i=null,n=!1,a=!1;return typeof r=="string"&&(r=it(r)),typeof r=="object"&&(f(r.r)&&f(r.g)&&f(r.b)?(t=K(r.r,r.g,r.b),n=!0,a=String(r.r).substr(-1)==="%"?"prgb":"rgb"):f(r.h)&&f(r.s)&&f(r.v)?(s=S(r.s),o=S(r.v),t=Y(r.h,s,o),n=!0,a="hsv"):f(r.h)&&f(r.s)&&f(r.l)?(s=S(r.s),i=S(r.l),t=X(r.h,s,i),n=!0,a="hsl"):f(r.c)&&f(r.m)&&f(r.y)&&f(r.k)&&(t=J(r.c,r.m,r.y,r.k),n=!0,a="cmyk"),Object.prototype.hasOwnProperty.call(r,"a")&&(e=r.a)),e=T(e),{ok:n,format:r.format||a,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:e}}const rt="[-\\+]?\\d+%?",st="[-\\+]?\\d*\\.\\d+%?",x="(?:"+st+")|(?:"+rt+")",z="[\\s|\\(]+("+x+")[,|\\s]+("+x+")[,|\\s]+("+x+")\\s*\\)?",M="[\\s|\\(]+("+x+")[,|\\s]+("+x+")[,|\\s]+("+x+")[,|\\s]+("+x+")\\s*\\)?",m={CSS_UNIT:new RegExp(x),rgb:new RegExp("rgb"+z),rgba:new RegExp("rgba"+M),hsl:new RegExp("hsl"+z),hsla:new RegExp("hsla"+M),hsv:new RegExp("hsv"+z),hsva:new RegExp("hsva"+M),cmyk:new RegExp("cmyk"+M),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function it(r){if(r=r.trim().toLowerCase(),r.length===0)return!1;let t=!1;if(P[r])r=P[r],t=!0;else if(r==="transparent")return{r:0,g:0,b:0,a:0,format:"name"};let e=m.rgb.exec(r);return e?{r:e[1],g:e[2],b:e[3]}:(e=m.rgba.exec(r),e?{r:e[1],g:e[2],b:e[3],a:e[4]}:(e=m.hsl.exec(r),e?{h:e[1],s:e[2],l:e[3]}:(e=m.hsla.exec(r),e?{h:e[1],s:e[2],l:e[3],a:e[4]}:(e=m.hsv.exec(r),e?{h:e[1],s:e[2],v:e[3]}:(e=m.hsva.exec(r),e?{h:e[1],s:e[2],v:e[3],a:e[4]}:(e=m.cmyk.exec(r),e?{c:e[1],m:e[2],y:e[3],k:e[4]}:(e=m.hex8.exec(r),e?{r:g(e[1]),g:g(e[2]),b:g(e[3]),a:I(e[4]),format:t?"name":"hex8"}:(e=m.hex6.exec(r),e?{r:g(e[1]),g:g(e[2]),b:g(e[3]),format:t?"name":"hex"}:(e=m.hex4.exec(r),e?{r:g(e[1]+e[1]),g:g(e[2]+e[2]),b:g(e[3]+e[3]),a:I(e[4]+e[4]),format:t?"name":"hex8"}:(e=m.hex3.exec(r),e?{r:g(e[1]+e[1]),g:g(e[2]+e[2]),b:g(e[3]+e[3]),format:t?"name":"hex"}:!1))))))))))}function f(r){return typeof r=="number"?!Number.isNaN(r):m.CSS_UNIT.test(r)}class h{constructor(t="",e={}){if(t instanceof h)return t;typeof t=="number"&&(t=tt(t)),this.originalInput=t;const s=et(t);this.originalInput=t,this.r=s.r,this.g=s.g,this.b=s.b,this.a=s.a,this.roundA=Math.round(100*this.a)/100,this.format=e.format??s.format,this.gradientType=e.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=s.ok}isDark(){return this.getBrightness()<128}isLight(){return!this.isDark()}getBrightness(){const t=this.toRgb();return(t.r*299+t.g*587+t.b*114)/1e3}getLuminance(){const t=this.toRgb();let e,s,o;const i=t.r/255,n=t.g/255,a=t.b/255;return i<=.03928?e=i/12.92:e=Math.pow((i+.055)/1.055,2.4),n<=.03928?s=n/12.92:s=Math.pow((n+.055)/1.055,2.4),a<=.03928?o=a/12.92:o=Math.pow((a+.055)/1.055,2.4),.2126*e+.7152*s+.0722*o}getAlpha(){return this.a}setAlpha(t){return this.a=T(t),this.roundA=Math.round(100*this.a)/100,this}isMonochrome(){const{s:t}=this.toHsl();return t===0}toHsv(){const t=F(this.r,this.g,this.b);return{h:t.h*360,s:t.s,v:t.v,a:this.a}}toHsvString(){const t=F(this.r,this.g,this.b),e=Math.round(t.h*360),s=Math.round(t.s*100),o=Math.round(t.v*100);return this.a===1?`hsv(${e}, ${s}%, ${o}%)`:`hsva(${e}, ${s}%, ${o}%, ${this.roundA})`}toHsl(){const t=A(this.r,this.g,this.b);return{h:t.h*360,s:t.s,l:t.l,a:this.a}}toHslString(){const t=A(this.r,this.g,this.b),e=Math.round(t.h*360),s=Math.round(t.s*100),o=Math.round(t.l*100);return this.a===1?`hsl(${e}, ${s}%, ${o}%)`:`hsla(${e}, ${s}%, ${o}%, ${this.roundA})`}toHex(t=!1){return E(this.r,this.g,this.b,t)}toHexString(t=!1){return"#"+this.toHex(t)}toHex8(t=!1){return Z(this.r,this.g,this.b,this.a,t)}toHex8String(t=!1){return"#"+this.toHex8(t)}toHexShortString(t=!1){return this.a===1?this.toHexString(t):this.toHex8String(t)}toRgb(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}}toRgbString(){const t=Math.round(this.r),e=Math.round(this.g),s=Math.round(this.b);return this.a===1?`rgb(${t}, ${e}, ${s})`:`rgba(${t}, ${e}, ${s}, ${this.roundA})`}toPercentageRgb(){const t=e=>`${Math.round(c(e,255)*100)}%`;return{r:t(this.r),g:t(this.g),b:t(this.b),a:this.a}}toPercentageRgbString(){const t=e=>Math.round(c(e,255)*100);return this.a===1?`rgb(${t(this.r)}%, ${t(this.g)}%, ${t(this.b)}%)`:`rgba(${t(this.r)}%, ${t(this.g)}%, ${t(this.b)}%, ${this.roundA})`}toCmyk(){return{..._(this.r,this.g,this.b)}}toCmykString(){const{c:t,m:e,y:s,k:o}=_(this.r,this.g,this.b);return`cmyk(${t}, ${e}, ${s}, ${o})`}toName(){if(this.a===0)return"transparent";if(this.a<1)return!1;const t="#"+E(this.r,this.g,this.b,!1);for(const[e,s]of Object.entries(P))if(t===s)return e;return!1}toString(t){const e=!!t;t=t??this.format;let s=!1;const o=this.a<1&&this.a>=0;return!e&&o&&(t.startsWith("hex")||t==="name")?t==="name"&&this.a===0?this.toName():this.toRgbString():(t==="rgb"&&(s=this.toRgbString()),t==="prgb"&&(s=this.toPercentageRgbString()),(t==="hex"||t==="hex6")&&(s=this.toHexString()),t==="hex3"&&(s=this.toHexString(!0)),t==="hex4"&&(s=this.toHex8String(!0)),t==="hex8"&&(s=this.toHex8String()),t==="name"&&(s=this.toName()),t==="hsl"&&(s=this.toHslString()),t==="hsv"&&(s=this.toHsvString()),t==="cmyk"&&(s=this.toCmykString()),s||this.toHexString())}toNumber(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)}clone(){return new h(this.toString())}lighten(t=10){const e=this.toHsl();return e.l+=t/100,e.l=w(e.l),new h(e)}brighten(t=10){const e=this.toRgb();return e.r=Math.max(0,Math.min(255,e.r-Math.round(255*-(t/100)))),e.g=Math.max(0,Math.min(255,e.g-Math.round(255*-(t/100)))),e.b=Math.max(0,Math.min(255,e.b-Math.round(255*-(t/100)))),new h(e)}darken(t=10){const e=this.toHsl();return e.l-=t/100,e.l=w(e.l),new h(e)}tint(t=10){return this.mix("white",t)}shade(t=10){return this.mix("black",t)}desaturate(t=10){const e=this.toHsl();return e.s-=t/100,e.s=w(e.s),new h(e)}saturate(t=10){const e=this.toHsl();return e.s+=t/100,e.s=w(e.s),new h(e)}greyscale(){return this.desaturate(100)}spin(t){const e=this.toHsl(),s=(e.h+t)%360;return e.h=s<0?360+s:s,new h(e)}mix(t,e=50){const s=this.toRgb(),o=new h(t).toRgb(),i=e/100,n={r:(o.r-s.r)*i+s.r,g:(o.g-s.g)*i+s.g,b:(o.b-s.b)*i+s.b,a:(o.a-s.a)*i+s.a};return new h(n)}analogous(t=6,e=30){const s=this.toHsl(),o=360/e,i=[this];for(s.h=(s.h-(o*t>>1)+720)%360;--t;)s.h=(s.h+o)%360,i.push(new h(s));return i}complement(){const t=this.toHsl();return t.h=(t.h+180)%360,new h(t)}monochromatic(t=6){const e=this.toHsv(),{h:s}=e,{s:o}=e;let{v:i}=e;const n=[],a=1/t;for(;t--;)n.push(new h({h:s,s:o,v:i})),i=(i+a)%1;return n}splitcomplement(){const t=this.toHsl(),{h:e}=t;return[this,new h({h:(e+72)%360,s:t.s,l:t.l}),new h({h:(e+216)%360,s:t.s,l:t.l})]}onBackground(t){const e=this.toRgb(),s=new h(t).toRgb(),o=e.a+s.a*(1-e.a);return new h({r:(e.r*e.a+s.r*s.a*(1-e.a))/o,g:(e.g*e.a+s.g*s.a*(1-e.a))/o,b:(e.b*e.a+s.b*s.a*(1-e.a))/o,a:o})}triad(){return this.polyad(3)}tetrad(){return this.polyad(4)}polyad(t){const e=this.toHsl(),{h:s}=e,o=[this],i=360/t;for(let n=1;n<t;n++)o.push(new h({h:(s+n*i)%360,s:e.s,l:e.l}));return o}equals(t){const e=new h(t);return this.format==="cmyk"||e.format==="cmyk"?this.toCmykString()===e.toCmykString():this.toRgbString()===e.toRgbString()}}const N=/^hs[v|l]a?\s?\((\d{1,3}\.?\d*?),?\s?(\d{1,3})/,q=/(^hs[v|l]a?\s?\()\d{1,3}\.?\d*?(,?\s?)\d{1,3}/,B=/(^hs[v|l]a?\()\d{1,3}/,H=(r,t)=>t?r.toHexString():r.toHex();class ot{constructor(t,{applyColorToState:e,extractColorFromState:s,maintains:o}){this.maintains="hue",this._hue=0,this._opacity=1,this.getColorProcesses={rgb:(i,n)=>n?i.toRgbString():i.toRgb(),prgb:(i,n)=>n?i.toPercentageRgbString():i.toPercentageRgb(),hex8:(i,n)=>n?i.toHex8String():i.toHex8(),name:i=>i.toName()||i.toRgbString(),hsl:(i,n)=>{if(this.maintains==="hue"){if(n)return i.toHslString().replace(B,`$1${this.hue}`);const{s:d,l:y,a:$}=i.toHsl();return{h:this.hue,s:d,l:y,a:$}}if(n)return i.toHslString().replace(q,`$1${this.hue}$2${this.saturation}`);const{s:a,l,a:v}=i.toHsl();return{h:this.hue,s:a,l,a:v}},hsv:(i,n)=>{if(this.maintains==="hue"){if(n)return i.toHsvString().replace(B,`$1${this.hue}`);const{s:d,v:y,a:$}=i.toHsv();return{h:this.hue,s:d,v:y,a:$}}if(n)return i.toHsvString().replace(q,`$1${this.hue}$2${this.saturation}`);const{s:a,v:l,a:v}=i.toHsv();return{h:this.hue,s:a,v:l,a:v}},hex:H,hex3:H,hex4:H,hex6:H},this._color=new h({h:0,s:1,v:1}),this._previousColor=new h({h:0,s:1,v:1}),this._format={format:"",isString:!1},this.host=t,this.applyColorToState=e,this.extractColorFromState=s,this.maintains=o||this.maintains}setColorProcess(t,e,s,o){this.maintains==="hue"?this.setColorMaintainHue(t,e,s,o):this.maintains==="saturation"&&this.setColorMaintainSaturation(t,e,s,o)}setColorMaintainHue(t,e,s,o){const{h:i,s:n,v:a,a:l}=this._color.toHsv();let v;if(o&&s.startsWith("hs")){const d=N.exec(e);if(d!==null){const[,y]=d;v=Number(y)}}else if(!o&&s.startsWith("hs")){const d=t.originalInput;v=Object.values(d)[0]}this.hue=v||i,this.opacity=l??1,this.applyColorToState({h:i,s:n,v:a,a:l})}setColorMaintainSaturation(t,e,s,o){const{a:i}=this._color.toHsv();if(o&&s.startsWith("hs")){const n=N.exec(e);if(n!==null){const[,a,l]=n;this.hue=Number(a),this.saturation=Number(l)}}else if(!o&&s.startsWith("hs")){const n=t.originalInput,a=Object.values(n);this.hue=a[0],this.saturation=a[1]}else{const{h:n}=t.toHsv();this.hue=n}this.opacity=i??1,this.applyColorToState(t.toHsv())}applyColorFromState(){this._color=new h(this.extractColorFromState(this))}get hue(){return this._hue}set hue(t){const e=Math.min(360,Math.max(0,t));if(e===this.hue)return;const s=this.hue,{s:o,v:i,a:n}=this._color.toHsv();this._color=new h({h:e,s:o,v:i,a:n}),this._hue=e,this.host.requestUpdate("hue",s)}get opacity(){return this._opacity}set opacity(t){const e=Math.min(1,Math.max(0,t));if(e===this.opacity)return;const s=this.opacity,{h:o,s:i,v:n}=this._color.toHsv();this._color=new h({h:o,s:i,v:n,a:e}),this._opacity=e,this.host.requestUpdate("opacity",s)}get value(){return this.color}get color(){return this.getColorProcesses[this._format.format||"hex"](this._color,this._format.isString)}set color(t){if(t===this.color)return;const e=this._color;this._color=new h(t);const s=this._color.format;let o=typeof t=="string"||t instanceof String;s.startsWith("hex")&&(o=t.startsWith("#")),this._format={format:s,isString:o},this.setColorProcess(this._color,t,s,o),this.host.requestUpdate("color",e)}getColor(t){const e={hsl:"toHsl"};return this._color[e[t]]()}setColor(t){this._color=t;const e=typeof this._color.originalInput=="string"||this._color.originalInput instanceof String;this.setColorProcess(this._color,t,this._color.format,e)}getHslString(){return this._color.toHslString()}savePreviousColor(){this._previousColor=this._color.clone()}restorePreviousColor(){this.setColor(this._previousColor)}}const nt='.opacity-checkerboard{position:absolute;block-size:100%;inline-size:100%;background:repeating-conic-gradient(var(--luzmo-color-loupe-checkerboard-light, rgb(255, 255, 255)) 0 25%,var(--luzmo-color-loupe-checkerboard-dark, rgb(230, 230, 230)) 0 50%) var(--luzmo-color-loupe-checkerboard-position, left top)/calc(var(--luzmo-color-loupe-checkerboard-size, 8px) * 2) calc(var(--luzmo-color-loupe-checkerboard-size, 8px) * 2)}:host{--luzmo-color-slider-gradient-fallback: rgb(255 0 0) 0%, rgb(255 255 0) 17%, rgb(0 255 0) 33%, rgb(0 255 255) 50%, rgb(0 0 255) 67%, rgb(255 0 255) 83%, rgb(255 0 0) 100%;touch-action:none}:host([vertical]) .handle{inset-block-start:unset;inset-block-end:0}:host([vertical]) .slider{-webkit-appearance:slider-vertical;-moz-appearance:slider-vertical;appearance:slider-vertical}:host(:focus){outline:none}.gradient{overflow:hidden}::slotted(*){width:100%;height:100%}@media (forced-colors: active){:host{--highcontrast-color-slider-border-color: CanvasText;--highcontrast-color-slider-border-color-disabled: GrayText;--highcontrast-color-slider-background-color-disabled: Canvas;forced-color-adjust:none}}:host{--luzmo-color-handle-hitarea-border-radius: var( --luzmo-color-slider-handle-hitarea-border-radius, 0px );min-inline-size:var(--luzmo-color-slider-minimum-length, 80px);inline-size:var(--luzmo-color-slider-length, 192px);block-size:var(--luzmo-color-slider-control-track-width, 24px);-webkit-user-select:none;user-select:none;cursor:default;display:block;position:relative}:host([focused]){z-index:2}:host([disabled]){pointer-events:none}:host([disabled]) .gradient{display:none}:host([vertical]){min-block-size:var(--luzmo-color-slider-vertical-minimum-height, var(--luzmo-color-slider-minimum-length, 80px));block-size:var(--luzmo-color-slider-vertical-height, var(--luzmo-color-slider-length, 192px));min-inline-size:0;inline-size:var(--luzmo-color-slider-vertical-control-track-width, var(--luzmo-color-slider-control-track-height, 24px));display:inline-block}:host([vertical]) .handle{inset-inline-start:50%}.handle{inset-block-start:50%;inset-inline-start:0}.checkerboard{--luzmo-color-slider-border-color-local: var( --highcontrast-color-slider-border-color, var(--luzmo-color-slider-border-color, var(--luzmo-border-color)) )}.checkerboard:before{content:"";z-index:1;box-shadow:inset 0 0 0 var(--luzmo-color-slider-border-width, var(--luzmo-border-width)) var(--luzmo-color-slider-border-color-local);border-radius:var(--luzmo-color-slider-border-rounding, var(--luzmo-border-radius-s));position:absolute;top:0;right:0;bottom:0;left:0}:host([disabled]) .checkerboard{--luzmo-color-slider-border-color-local: var( --highcontrast-color-slider-border-color-disabled, var(--luzmo-color-slider-border-color-disabled, var(--luzmo-dimmed-color)) );background:var(--highcontrast-color-slider-background-color-disabled, var(--luzmo-color-slider-background-color-disabled, var(--luzmo-dimmed-color)))}.checkerboard,.gradient{inline-size:100%;block-size:100%;border-radius:var(--luzmo-color-slider-border-rounding, var(--luzmo-border-radius-s))}.gradient:dir(rtl),:host([dir=rtl]) .gradient{transform:scaleX(-1)}.slider{opacity:0;inline-size:100%;block-size:100%;z-index:0;pointer-events:none;margin:0;position:absolute;inset-block-start:0;inset-inline-start:0}';var at=Object.defineProperty,ht=Object.getOwnPropertyDescriptor,p=(r,t,e,s)=>{for(var o=s>1?void 0:s?ht(t,e):t,i=r.length-1,n;i>=0;i--)(n=r[i])&&(o=(s?n(t,e,o):n(o))||o);return s&&o&&at(t,e,o),o};class u extends W.Focusable{constructor(){super(...arguments),this.disabled=!1,this.focused=!1,this.label="hue",this.vertical=!1,this.languageResolver=new j.LanguageResolutionController(this),this.colorController=new ot(this,{applyColorToState:()=>{if(this.mode==="opacity"){const t=new h(this.colorController.color);this.sliderHandlePosition=100*t.getAlpha()}else this.sliderHandlePosition=100*(this.colorController.hue/360)},extractColorFromState:t=>this.mode==="opacity"?{...t.getColor("hsl"),a:this.value}:{...t.getColor("hsl"),h:this.value},maintains:"saturation"}),this.sliderHandlePosition=0,this.step=1,this.isLTR=!0,this._altered=0,this._pointerDown=!1}static get styles(){return[b.r(nt)]}get value(){return this.mode==="opacity"?this.colorController.opacity:this.colorController.hue}set value(t){this.mode==="opacity"?this.colorController.opacity=t:this.colorController.hue=t}get color(){return this.colorController.color}set color(t){this.colorController.color=t}get altered(){return this._altered}set altered(t){this._altered=t,this.step=Math.max(1,this.altered*10)}get focusElement(){return this.input}handleKeydown(t){const{key:e}=t;this.focused=!0,this.altered=[t.shiftKey,t.ctrlKey,t.altKey].filter(n=>!!n).length;let s=0;switch(e){case"ArrowUp":{s=this.step;break}case"ArrowDown":{s=-this.step;break}case"ArrowLeft":{s=this.step*(this.isLTR?-1:1);break}case"ArrowRight":{s=this.step*(this.isLTR?1:-1);break}default:return}t.preventDefault();const i=100/(this.mode==="opacity"?100:360);this.sliderHandlePosition=Math.min(100,Math.max(0,this.sliderHandlePosition+s*i)),this.value=this.mode==="opacity"?Math.min(1,Math.max(0,this.value+s/100)):Math.min(360,Math.max(0,this.value+s)),this.colorController.applyColorFromState(),s!==0&&(this.dispatchEvent(new Event("input",{bubbles:!0,composed:!0})),this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0})))}handleInput(t){const{valueAsNumber:e}=t.target;this.value=e,this.sliderHandlePosition=100*(this.mode==="opacity"?this.value:this.value/360),this.colorController.applyColorFromState()}handleChange(t){this.handleInput(t),this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))}focus(t={}){super.focus(t),this.forwardFocus()}forwardFocus(){this.input.focus()}handleFocus(){this.focused=!0}handleBlur(){this._pointerDown||(this.altered=0,this.focused=!1)}handlePointerdown(t){if(t.button!==0){t.preventDefault();return}this._pointerDown=!0,this.colorController.savePreviousColor(),this.boundingClientRect=this.getBoundingClientRect(),t.target.setPointerCapture(t.pointerId),t.pointerType==="mouse"&&(this.focused=!0)}handlePointermove(t){this.sliderHandlePosition=this.calculateHandlePosition(t),this.value=(this.mode==="opacity"?1:360)*(this.sliderHandlePosition/100),this.colorController.applyColorFromState(),this.dispatchEvent(new Event("input",{bubbles:!0,composed:!0,cancelable:!0}))}handlePointerup(t){this._pointerDown=!1,t.target.releasePointerCapture(t.pointerId),this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0,cancelable:!0}))||this.colorController.restorePreviousColor(),this.focus(),t.pointerType==="mouse"&&(this.focused=!1)}calculateHandlePosition(t){if(!this.boundingClientRect)return this.sliderHandlePosition;const e=this.boundingClientRect,s=this.vertical?e.top:e.left,o=this.vertical?t.clientY:t.clientX,i=this.vertical?e.height:e.width,n=Math.max(0,Math.min(1,(o-s)/i));return this.vertical||!this.isLTR?100-100*n:100*n}handleGradientPointerdown(t){t.button===0&&(t.stopPropagation(),t.preventDefault(),this.handle.dispatchEvent(new PointerEvent("pointerdown",t)),this.handlePointermove(t))}get handlePositionStyles(){return`${this.vertical?"inset-block-end":"inset-inline-start"}: ${this.sliderHandlePosition}%`}get getColorSliderStyle(){const t=this.vertical?"top":"right";if(this.mode==="opacity"){const e=new h(this.colorController.color).setAlpha(1).toRgbString();return{background:`linear-gradient(to ${t}, transparent, ${e})`}}return{background:`linear-gradient(to ${t}, var(--luzmo-color-slider-gradient, var(--luzmo-color-slider-gradient-fallback)))`}}render(){return b.x`
19
- <div
20
- class="opacity-checkerboard checkerboard"
21
- role="presentation"
22
- @pointerdown=${this.handleGradientPointerdown}
23
- >
24
- <div
25
- class="gradient"
26
- role="presentation"
27
- style=${O.o(this.getColorSliderStyle)}
28
- >
29
- <slot name="gradient"></slot>
30
- </div>
31
- </div>
32
- <luzmo-color-handle
33
- tabindex=${C.o(this.focused?void 0:"0")}
34
- @focus=${this.forwardFocus}
35
- ?focused=${this.focused}
36
- class="handle"
37
- color=${this.mode==="opacity"?this.color:"hsl("+this.value+", 100%, 50%)"}
38
- ?disabled=${this.disabled}
39
- style=${this.handlePositionStyles}
40
- ${U.streamingListener({start:["pointerdown",this.handlePointerdown],streamInside:["pointermove",this.handlePointermove],end:[["pointerup","pointercancel","pointerleave"],this.handlePointerup]})}
41
- ></luzmo-color-handle>
42
- <input
43
- type="range"
44
- class="slider"
45
- min="0"
46
- max=${this.mode==="opacity"?"100":"360"}
47
- aria-orientation=${C.o(this.vertical?"vertical":void 0)}
48
- orient=${C.o(this.vertical?"vertical":void 0)}
49
- step=${this.step}
50
- aria-label=${this.label}
51
- .value=${String(this.mode==="opacity"?this.value*100:this.value)}
52
- aria-valuetext=${`${new Intl.NumberFormat(this.languageResolver.language,{maximumFractionDigits:0,minimumIntegerDigits:1,style:"unit",unit:this.mode==="opacity"?"percent":"degree",unitDisplay:"narrow"}).format(this.mode==="opacity"?this.value*100:this.value)}`}
53
- @input=${this.handleInput}
54
- @change=${this.handleChange}
55
- @keydown=${this.handleKeydown}
56
- />
57
- `}firstUpdated(t){super.firstUpdated(t),this.boundingClientRect=this.getBoundingClientRect(),this.addEventListener("focus",this.handleFocus),this.addEventListener("blur",this.handleBlur)}updated(t){t.has("mode")&&(this.handle.style.insetInlineStart="",this.handle.style.insetBlockEnd="",this.mode==="opacity"&&(this.colorController.color=new h(this.colorController.color).toRgbString(),this.handle.style.insetInlineStart=100*this.colorController.opacity+"%"))}}p([b.n({type:String,reflect:!0})],u.prototype,"dir",2);p([b.n({type:String,reflect:!0})],u.prototype,"mode",2);p([b.n({type:Boolean,reflect:!0})],u.prototype,"disabled",2);p([b.n({type:Boolean,reflect:!0})],u.prototype,"focused",2);p([D.e(".handle")],u.prototype,"handle",2);p([b.n({type:String})],u.prototype,"label",2);p([b.n({type:Boolean,reflect:!0})],u.prototype,"vertical",2);p([b.n({type:Number})],u.prototype,"value",1);p([b.n({type:Number,reflect:!0})],u.prototype,"sliderHandlePosition",2);p([b.n({type:String})],u.prototype,"color",1);p([b.n({type:Number})],u.prototype,"step",2);p([b.n({type:Boolean,attribute:"is-ltr"})],u.prototype,"isLTR",2);p([D.e("input")],u.prototype,"input",2);customElements.get("luzmo-color-slider")||customElements.define("luzmo-color-slider",u);exports.LuzmoColorSlider=u;exports.TinyColor=h;