@luzmo/lucero 0.0.16 → 0.0.17

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 (119) hide show
  1. package/components/NumberFormatter-DewVDY5w.cjs +18 -0
  2. package/components/NumberFormatter-DgOUVrge.js +136 -0
  3. package/components/NumberParser-Dik4a0h-.cjs +18 -0
  4. package/components/NumberParser-ci9J5EKv.js +173 -0
  5. package/components/accordion/index.cjs +1 -1
  6. package/components/accordion/index.js +2 -2
  7. package/components/action-bar/index.cjs +1 -1
  8. package/components/action-bar/index.js +2 -2
  9. package/components/action-button/index.cjs +1 -1
  10. package/components/action-button/index.js +2 -2
  11. package/components/action-group/index.js +1 -1
  12. package/components/action-menu/index.cjs +1 -1
  13. package/components/action-menu/index.js +3 -3
  14. package/components/avatar/index.js +1 -1
  15. package/components/button/index.cjs +1 -1
  16. package/components/button/index.js +3 -3
  17. package/components/button-group/index.js +1 -1
  18. package/components/calendar/calendar.d.ts +218 -0
  19. package/components/calendar/index.cjs +18 -0
  20. package/components/calendar/index.d.ts +7 -0
  21. package/components/calendar/index.js +28 -0
  22. package/components/checkbox/index.cjs +1 -1
  23. package/components/checkbox/index.js +2 -2
  24. package/components/class-map-Buyb1CLm.cjs +22 -0
  25. package/components/class-map-CJko4aXp.js +51 -0
  26. package/components/{close-button-DOA-6eL0.cjs → close-button-BQJ2wHkM.cjs} +1 -1
  27. package/components/{close-button-DU58NTKR.js → close-button-DN2cjFRq.js} +1 -1
  28. package/components/color-area/index.js +1 -1
  29. package/components/color-field/index.cjs +1 -1
  30. package/components/color-field/index.js +2 -2
  31. package/components/color-handle/index.js +1 -1
  32. package/components/color-loupe/index.js +1 -1
  33. package/components/color-menu/index.js +1 -1
  34. package/components/color-picker/index.js +1 -1
  35. package/components/color-slider/index.js +1 -1
  36. package/components/date-time-picker/date-time-picker.d.ts +269 -0
  37. package/components/date-time-picker/helpers.d.ts +10 -0
  38. package/components/date-time-picker/index.cjs +105 -0
  39. package/components/date-time-picker/index.d.ts +7 -0
  40. package/components/date-time-picker/index.js +1126 -0
  41. package/components/date-time-picker/segments/date/day-segment.d.ts +9 -0
  42. package/components/date-time-picker/segments/date/month-segment.d.ts +9 -0
  43. package/components/date-time-picker/segments/date/year-segment.d.ts +12 -0
  44. package/components/date-time-picker/segments/date-time-segments.d.ts +35 -0
  45. package/components/date-time-picker/segments/editable-segment.d.ts +21 -0
  46. package/components/date-time-picker/segments/literal-segment.d.ts +6 -0
  47. package/components/date-time-picker/segments/modifiers/clear-modifier.d.ts +5 -0
  48. package/components/date-time-picker/segments/modifiers/decrement-modifier.d.ts +5 -0
  49. package/components/date-time-picker/segments/modifiers/increment-modifier.d.ts +5 -0
  50. package/components/date-time-picker/segments/modifiers/input-modifier.d.ts +13 -0
  51. package/components/date-time-picker/segments/modifiers/segments-modifier.d.ts +18 -0
  52. package/components/date-time-picker/segments/segments-factory.d.ts +16 -0
  53. package/components/date-time-picker/segments/segments-formatter.d.ts +17 -0
  54. package/components/date-time-picker/segments/time/day-period-segment.d.ts +18 -0
  55. package/components/date-time-picker/segments/time/hour-segment.d.ts +19 -0
  56. package/components/date-time-picker/segments/time/millisecond-segment.d.ts +7 -0
  57. package/components/date-time-picker/segments/time/minute-segment.d.ts +7 -0
  58. package/components/date-time-picker/segments/time/second-segment.d.ts +7 -0
  59. package/components/date-time-picker/types.d.ts +41 -0
  60. package/components/divider/index.js +1 -1
  61. package/components/field-group/index.js +1 -1
  62. package/components/field-label/index.js +1 -1
  63. package/components/icon/index.cjs +1 -1
  64. package/components/icon/index.js +2 -2
  65. package/components/index-BziWAe4P.cjs +113 -0
  66. package/components/index-vWdA-LXe.js +1490 -0
  67. package/components/index.cjs +1 -1
  68. package/components/index.js +135 -129
  69. package/components/infield-button/index.cjs +1 -1
  70. package/components/infield-button/index.js +2 -2
  71. package/components/label/index.js +1 -1
  72. package/components/menu/index.cjs +66 -1
  73. package/components/menu/index.js +874 -10
  74. package/components/multi-language-field/index.js +1 -1
  75. package/components/number-field/index.cjs +6 -6
  76. package/components/number-field/index.js +128 -394
  77. package/components/observe-slot-presence-CmVi0zTc.js +68 -0
  78. package/components/observe-slot-presence-bc9chhsi.cjs +18 -0
  79. package/components/overlay/index.js +1 -1
  80. package/components/picker/index.cjs +1 -1
  81. package/components/picker/index.js +3 -3
  82. package/components/{picker-C9HmjRgR.js → picker-BxEG2NdV.js} +110 -138
  83. package/components/picker-DROquiIZ.cjs +123 -0
  84. package/components/picker-button/index.cjs +37 -0
  85. package/components/picker-button/index.d.ts +7 -0
  86. package/components/picker-button/index.js +87 -0
  87. package/components/picker-button/picker-button.d.ts +21 -0
  88. package/components/popover/index.js +1 -1
  89. package/components/progress-circle/index.js +1 -1
  90. package/components/radio/index.cjs +1 -1
  91. package/components/radio/index.js +2 -2
  92. package/components/search/index.cjs +1 -1
  93. package/components/search/index.js +3 -3
  94. package/components/slider/index.js +1 -1
  95. package/components/swatch/index.cjs +1 -1
  96. package/components/swatch/index.js +2 -2
  97. package/components/switch/index.cjs +1 -1
  98. package/components/switch/index.js +2 -2
  99. package/components/tags/index.cjs +1 -1
  100. package/components/tags/index.js +2 -2
  101. package/components/text-field/index.cjs +1 -1
  102. package/components/text-field/index.js +3 -3
  103. package/components/text-field-BTnBJoP9.js +314 -0
  104. package/components/text-field-mxJCYues.cjs +85 -0
  105. package/components/text-field.module-ColtFhf_.js +21 -0
  106. package/components/text-field.module-p_VF2tC_.cjs +18 -0
  107. package/components/toast/index.cjs +1 -1
  108. package/components/toast/index.js +3 -3
  109. package/components/tooltip/index.js +1 -1
  110. package/components/unit-input/index.cjs +1 -1
  111. package/components/unit-input/index.js +2 -2
  112. package/custom-elements.json +1 -1
  113. package/index.d.ts +3 -0
  114. package/package.json +16 -1
  115. package/components/index-4SZZSkew.cjs +0 -83
  116. package/components/index-AM-58E5r.js +0 -936
  117. package/components/picker-B05XA8I1.cjs +0 -127
  118. package/components/text-field-5_ev9way.cjs +0 -85
  119. package/components/text-field-CvKSS59x.js +0 -313
@@ -0,0 +1,113 @@
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-B7Pfl2if.cjs"),Oe=require("./class-map-Buyb1CLm.cjs"),Pe=require("./if-defined-B56xGmAg.cjs"),We=require("./sized-mixin-D9LkrMjb.cjs");require("./action-button/index.cjs");require("./icon/index.cjs");const ie=require("@luzmo/icons"),C=require("./state-C5I1gP3G.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 Le={"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 He(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&&Le[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(He(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 L(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 L(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=L(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 H(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 L(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){H(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){H(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 L(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){H(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){H(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.luzmoAngleLeft}
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.luzmoAngleRight}
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;