@archpublicwebsite/rangepicker 1.2.14 → 1.2.15
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.
- package/dist/rangepicker.js +39 -40
- package/dist/rangepicker.js.map +1 -1
- package/dist/rangepicker.umd.cjs +1 -1
- package/dist/rangepicker.umd.cjs.map +1 -1
- package/dist/style.css +1 -1
- package/package.json +3 -2
package/dist/rangepicker.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, computed, ref, watch, onMounted, onUnmounted, createBlock, openBlock, Teleport, createVNode, Transition, withCtx, createElementBlock, createCommentVNode, createElementVNode, normalizeStyle, normalizeClass,
|
|
1
|
+
import { defineComponent, computed, ref, watch, onMounted, onUnmounted, createBlock, openBlock, Teleport, createVNode, Transition, withCtx, createElementBlock, createCommentVNode, createElementVNode, normalizeStyle, normalizeClass, toDisplayString, Fragment, renderList, nextTick, mergeProps, withModifiers } from "vue";
|
|
2
2
|
import { useBreakpoints, breakpointsTailwind, useWindowSize, onClickOutside } from "@vueuse/core";
|
|
3
3
|
import dayjs from "dayjs";
|
|
4
4
|
var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
|
|
@@ -292,40 +292,40 @@ const _hoisted_1$1 = {
|
|
|
292
292
|
key: 0,
|
|
293
293
|
class: "rangepicker-overlay"
|
|
294
294
|
};
|
|
295
|
-
const _hoisted_2$1 =
|
|
296
|
-
const _hoisted_3 = { class: "
|
|
297
|
-
const _hoisted_4 = {
|
|
298
|
-
const _hoisted_5 = {
|
|
295
|
+
const _hoisted_2$1 = { class: "rangepicker-header" };
|
|
296
|
+
const _hoisted_3 = { class: "arch-flex arch-items-center arch-justify-between" };
|
|
297
|
+
const _hoisted_4 = {
|
|
299
298
|
key: 0,
|
|
300
299
|
class: "arch-mb-1 arch-text-xs arch-font-medium arch-text-gray-500"
|
|
301
300
|
};
|
|
302
|
-
const
|
|
303
|
-
const
|
|
301
|
+
const _hoisted_5 = { class: "arch-text-sm arch-font-semibold arch-text-gray-900" };
|
|
302
|
+
const _hoisted_6 = {
|
|
304
303
|
key: 0,
|
|
305
304
|
class: "arch-mt-1 arch-text-xs arch-text-gray-500"
|
|
306
305
|
};
|
|
307
|
-
const
|
|
308
|
-
const
|
|
309
|
-
const
|
|
310
|
-
const
|
|
311
|
-
const
|
|
306
|
+
const _hoisted_7 = { class: "rangepicker-body" };
|
|
307
|
+
const _hoisted_8 = { class: "rangepicker-month-grid" };
|
|
308
|
+
const _hoisted_9 = { class: "rangepicker-month-header" };
|
|
309
|
+
const _hoisted_10 = ["disabled"];
|
|
310
|
+
const _hoisted_11 = {
|
|
312
311
|
key: 1,
|
|
313
312
|
class: "arch-w-8"
|
|
314
313
|
};
|
|
315
|
-
const
|
|
316
|
-
const
|
|
317
|
-
const
|
|
314
|
+
const _hoisted_12 = { class: "rangepicker-month-title" };
|
|
315
|
+
const _hoisted_13 = ["disabled"];
|
|
316
|
+
const _hoisted_14 = {
|
|
318
317
|
key: 3,
|
|
319
318
|
class: "arch-w-8"
|
|
320
319
|
};
|
|
321
|
-
const
|
|
322
|
-
const
|
|
323
|
-
const
|
|
320
|
+
const _hoisted_15 = { class: "rangepicker-weekdays" };
|
|
321
|
+
const _hoisted_16 = ["disabled", "aria-label", "onClick", "onMouseenter"];
|
|
322
|
+
const _hoisted_17 = {
|
|
324
323
|
key: 0,
|
|
325
324
|
class: "arch-mt-4 arch-flex arch-items-center arch-justify-end arch-gap-2 arch-border-t arch-border-gray-200 arch-pt-4"
|
|
326
325
|
};
|
|
327
|
-
const
|
|
328
|
-
const
|
|
326
|
+
const _hoisted_18 = ["disabled"];
|
|
327
|
+
const _hoisted_19 = { class: "arch-flex arch-items-center arch-gap-1" };
|
|
328
|
+
const packageVersion = 10;
|
|
329
329
|
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
330
330
|
__name: "Rangepicker",
|
|
331
331
|
props: {
|
|
@@ -431,7 +431,6 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
431
431
|
});
|
|
432
432
|
}
|
|
433
433
|
const tooltipStyle = ref({});
|
|
434
|
-
const packageVersion = "1.2.14";
|
|
435
434
|
const tooltipText = computed(() => {
|
|
436
435
|
if (!hoveredDay.value || !localStartDate.value) return "";
|
|
437
436
|
const nights = hoveredDay.value.date.diff(localStartDate.value, "day");
|
|
@@ -620,27 +619,27 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
620
619
|
createElementVNode("div", {
|
|
621
620
|
ref_key: "calendarRef",
|
|
622
621
|
ref: calendarRef,
|
|
623
|
-
"data-version":
|
|
622
|
+
"data-version": packageVersion,
|
|
624
623
|
class: normalizeClass(["rangepicker-container", [__props.variant === "mobile" ? "rangepicker-mobile" : ""]]),
|
|
625
624
|
style: normalizeStyle({ ...calendarStyle.value, ...__props.colorStyles, borderRadius: props.borderRadius })
|
|
626
625
|
}, [
|
|
627
|
-
createElementVNode("div",
|
|
628
|
-
createElementVNode("div",
|
|
626
|
+
createElementVNode("div", _hoisted_2$1, [
|
|
627
|
+
createElementVNode("div", _hoisted_3, [
|
|
629
628
|
createElementVNode("div", null, [
|
|
630
|
-
__props.label ? (openBlock(), createElementBlock("p",
|
|
631
|
-
createElementVNode("p",
|
|
629
|
+
__props.label ? (openBlock(), createElementBlock("p", _hoisted_4, toDisplayString(__props.label), 1)) : createCommentVNode("", true),
|
|
630
|
+
createElementVNode("p", _hoisted_5, toDisplayString(formattedDateRange.value || __props.placeholder || "Select dates"), 1)
|
|
632
631
|
]),
|
|
633
|
-
nightCount.value > 0 ? (openBlock(), createElementBlock("p",
|
|
632
|
+
nightCount.value > 0 ? (openBlock(), createElementBlock("p", _hoisted_6, toDisplayString(nightCount.value) + " " + toDisplayString(nightCount.value === 1 ? "night" : "nights"), 1)) : createCommentVNode("", true)
|
|
634
633
|
])
|
|
635
634
|
]),
|
|
636
|
-
createElementVNode("div",
|
|
637
|
-
createElementVNode("div",
|
|
635
|
+
createElementVNode("div", _hoisted_7, [
|
|
636
|
+
createElementVNode("div", _hoisted_8, [
|
|
638
637
|
(openBlock(true), createElementBlock(Fragment, null, renderList(calendarMonths.value, (monthData, index) => {
|
|
639
638
|
return openBlock(), createElementBlock("div", {
|
|
640
639
|
key: monthData.month.format("YYYY-MM"),
|
|
641
640
|
class: "rangepicker-month"
|
|
642
641
|
}, [
|
|
643
|
-
createElementVNode("div",
|
|
642
|
+
createElementVNode("div", _hoisted_9, [
|
|
644
643
|
__props.variant === "mobile" || index === 0 ? (openBlock(), createElementBlock("button", {
|
|
645
644
|
key: 0,
|
|
646
645
|
class: "rangepicker-nav-button",
|
|
@@ -660,8 +659,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
660
659
|
"clip-rule": "evenodd"
|
|
661
660
|
})
|
|
662
661
|
], -1)
|
|
663
|
-
])], 8,
|
|
664
|
-
createElementVNode("span",
|
|
662
|
+
])], 8, _hoisted_10)) : (openBlock(), createElementBlock("div", _hoisted_11)),
|
|
663
|
+
createElementVNode("span", _hoisted_12, toDisplayString(monthData.month.format("MMMM YYYY")), 1),
|
|
665
664
|
__props.variant === "mobile" || index === calendarMonths.value.length - 1 ? (openBlock(), createElementBlock("button", {
|
|
666
665
|
key: 2,
|
|
667
666
|
class: "rangepicker-nav-button",
|
|
@@ -681,9 +680,9 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
681
680
|
"clip-rule": "evenodd"
|
|
682
681
|
})
|
|
683
682
|
], -1)
|
|
684
|
-
])], 8,
|
|
683
|
+
])], 8, _hoisted_13)) : (openBlock(), createElementBlock("div", _hoisted_14))
|
|
685
684
|
]),
|
|
686
|
-
createElementVNode("div",
|
|
685
|
+
createElementVNode("div", _hoisted_15, [
|
|
687
686
|
(openBlock(true), createElementBlock(Fragment, null, renderList(weekdays.value, (weekday) => {
|
|
688
687
|
return openBlock(), createElementBlock("div", {
|
|
689
688
|
key: weekday,
|
|
@@ -705,13 +704,13 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
705
704
|
onMouseenter: (e) => handleDayHover(day, e)
|
|
706
705
|
}, [
|
|
707
706
|
createElementVNode("span", null, toDisplayString(day.date.date()), 1)
|
|
708
|
-
], 42,
|
|
707
|
+
], 42, _hoisted_16);
|
|
709
708
|
}), 128))
|
|
710
709
|
], 32)
|
|
711
710
|
]);
|
|
712
711
|
}), 128))
|
|
713
712
|
]),
|
|
714
|
-
!__props.autoApply ? (openBlock(), createElementBlock("div",
|
|
713
|
+
!__props.autoApply ? (openBlock(), createElementBlock("div", _hoisted_17, [
|
|
715
714
|
createElementVNode("button", {
|
|
716
715
|
class: "arch-rounded-lg arch-px-4 arch-py-2 arch-text-sm arch-font-medium arch-text-gray-700 arch-transition-colors hover:arch-bg-gray-100",
|
|
717
716
|
onClick: cancel
|
|
@@ -723,7 +722,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
723
722
|
}),
|
|
724
723
|
disabled: !localStartDate.value || !localEndDate.value,
|
|
725
724
|
onClick: apply
|
|
726
|
-
}, " Apply ", 12,
|
|
725
|
+
}, " Apply ", 12, _hoisted_18)
|
|
727
726
|
])) : createCommentVNode("", true)
|
|
728
727
|
]),
|
|
729
728
|
showTooltipComputed.value ? (openBlock(), createElementBlock("div", {
|
|
@@ -731,9 +730,9 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
731
730
|
class: "rangepicker-tooltip",
|
|
732
731
|
style: normalizeStyle(tooltipStyle.value)
|
|
733
732
|
}, [
|
|
734
|
-
createElementVNode("div",
|
|
733
|
+
createElementVNode("div", _hoisted_19, toDisplayString(tooltipText.value), 1)
|
|
735
734
|
], 4)) : createCommentVNode("", true)
|
|
736
|
-
],
|
|
735
|
+
], 6)
|
|
737
736
|
])) : createCommentVNode("", true)
|
|
738
737
|
];
|
|
739
738
|
}),
|
|
@@ -750,7 +749,7 @@ const _export_sfc = (sfc, props) => {
|
|
|
750
749
|
}
|
|
751
750
|
return target;
|
|
752
751
|
};
|
|
753
|
-
const Rangepicker = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-
|
|
752
|
+
const Rangepicker = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-373603fd"]]);
|
|
754
753
|
const _hoisted_1 = { class: "rangepicker-input-container" };
|
|
755
754
|
const _hoisted_2 = ["id", "value", "placeholder", "readonly", "name"];
|
|
756
755
|
const inputClass = "rangepicker-input block w-full h-full bg-transparent border-0 shadow-none outline-none cursor-pointer font-inherit text-inherit p-0";
|
package/dist/rangepicker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rangepicker.js","sources":["../../../node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/plugin/isBetween.js","../../../node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/plugin/isSameOrAfter.js","../../../node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/plugin/isSameOrBefore.js","../../../node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/plugin/customParseFormat.js","../src/utils/date.ts","../src/utils/calendar.ts","../src/utils/position.ts","../src/Rangepicker.vue","../src/RangepickerInput.vue","../src/index.ts"],"sourcesContent":["!function(e,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isBetween=i()}(this,(function(){\"use strict\";return function(e,i,t){i.prototype.isBetween=function(e,i,s,f){var n=t(e),o=t(i),r=\"(\"===(f=f||\"()\")[0],u=\")\"===f[1];return(r?this.isAfter(n,s):!this.isBefore(n,s))&&(u?this.isBefore(o,s):!this.isAfter(o,s))||(r?this.isBefore(n,s):!this.isAfter(n,s))&&(u?this.isAfter(o,s):!this.isBefore(o,s))}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isSameOrAfter=t()}(this,(function(){\"use strict\";return function(e,t){t.prototype.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)}}}));","!function(e,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isSameOrBefore=i()}(this,(function(){\"use strict\";return function(e,i){i.prototype.isSameOrBefore=function(e,i){return this.isSame(e,i)||this.isBefore(e,i)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_customParseFormat=t()}(this,(function(){\"use strict\";var e={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"},t=/(\\[[^[]*\\])|([-_:/.,()\\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\\d/,r=/\\d\\d/,i=/\\d\\d?/,o=/\\d*[^-_:/,()\\s\\d]+/,s={},a=function(e){return(e=+e)+(e>68?1900:2e3)};var f=function(e){return function(t){this[e]=+t}},h=[/[+-]\\d\\d:?(\\d\\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if(\"Z\"===e)return 0;var t=e.match(/([+-]|\\d\\d)/g),n=60*t[1]+(+t[2]||0);return 0===n?0:\"+\"===t[0]?-n:n}(e)}],u=function(e){var t=s[e];return t&&(t.indexOf?t:t.s.concat(t.f))},d=function(e,t){var n,r=s.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?\"pm\":\"PM\");return n},c={A:[o,function(e){this.afternoon=d(e,!1)}],a:[o,function(e){this.afternoon=d(e,!0)}],Q:[n,function(e){this.month=3*(e-1)+1}],S:[n,function(e){this.milliseconds=100*+e}],SS:[r,function(e){this.milliseconds=10*+e}],SSS:[/\\d{3}/,function(e){this.milliseconds=+e}],s:[i,f(\"seconds\")],ss:[i,f(\"seconds\")],m:[i,f(\"minutes\")],mm:[i,f(\"minutes\")],H:[i,f(\"hours\")],h:[i,f(\"hours\")],HH:[i,f(\"hours\")],hh:[i,f(\"hours\")],D:[i,f(\"day\")],DD:[r,f(\"day\")],Do:[o,function(e){var t=s.ordinal,n=e.match(/\\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\\[|\\]/g,\"\")===e&&(this.day=r)}],w:[i,f(\"week\")],ww:[r,f(\"week\")],M:[i,f(\"month\")],MM:[r,f(\"month\")],MMM:[o,function(e){var t=u(\"months\"),n=(u(\"monthsShort\")||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[o,function(e){var t=u(\"months\").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t}],Y:[/[+-]?\\d+/,f(\"year\")],YY:[r,function(e){this.year=a(e)}],YYYY:[/\\d{4}/,f(\"year\")],Z:h,ZZ:h};function l(n){var r,i;r=n,i=s&&s.formats;for(var o=(n=r.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var o=r&&r.toUpperCase();return n||i[r]||e[r]||i[o].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),a=o.length,f=0;f<a;f+=1){var h=o[f],u=c[h],d=u&&u[0],l=u&&u[1];o[f]=l?{regex:d,parser:l}:h.replace(/^\\[|\\]$/g,\"\")}return function(e){for(var t={},n=0,r=0;n<a;n+=1){var i=o[n];if(\"string\"==typeof i)r+=i.length;else{var s=i.regex,f=i.parser,h=e.slice(r),u=s.exec(h)[0];f.call(t,u),e=e.replace(u,\"\")}}return function(e){var t=e.afternoon;if(void 0!==t){var n=e.hours;t?n<12&&(e.hours+=12):12===n&&(e.hours=0),delete e.afternoon}}(t),t}}return function(e,t,n){n.p.customParseFormat=!0,e&&e.parseTwoDigitYear&&(a=e.parseTwoDigitYear);var r=t.prototype,i=r.parse;r.parse=function(e){var t=e.date,r=e.utc,o=e.args;this.$u=r;var a=o[1];if(\"string\"==typeof a){var f=!0===o[2],h=!0===o[3],u=f||h,d=o[2];h&&(d=o[2]),s=this.$locale(),!f&&d&&(s=n.Ls[d]),this.$d=function(e,t,n,r){try{if([\"x\",\"X\"].indexOf(t)>-1)return new Date((\"X\"===t?1e3:1)*e);var i=l(t)(e),o=i.year,s=i.month,a=i.day,f=i.hours,h=i.minutes,u=i.seconds,d=i.milliseconds,c=i.zone,m=i.week,M=new Date,Y=a||(o||s?1:M.getDate()),p=o||M.getFullYear(),v=0;o&&!s||(v=s>0?s-1:M.getMonth());var D,w=f||0,g=h||0,y=u||0,L=d||0;return c?new Date(Date.UTC(p,v,Y,w,g,y,L+60*c.offset*1e3)):n?new Date(Date.UTC(p,v,Y,w,g,y,L)):(D=new Date(p,v,Y,w,g,y,L),m&&(D=r(D).week(m).toDate()),D)}catch(e){return new Date(\"\")}}(t,a,r,n),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(a)&&(this.$d=new Date(\"\")),s={}}else if(a instanceof Array)for(var c=a.length,m=1;m<=c;m+=1){o[1]=a[m-1];var M=n.apply(this,o);if(M.isValid()){this.$d=M.$d,this.$L=M.$L,this.init();break}m===c&&(this.$d=new Date(\"\"))}else i.call(this,e)}}}));","import type { Dayjs } from 'dayjs'\nimport dayjs from 'dayjs'\nimport isBetween from 'dayjs/plugin/isBetween'\nimport isSameOrAfter from 'dayjs/plugin/isSameOrAfter'\nimport isSameOrBefore from 'dayjs/plugin/isSameOrBefore'\nimport customParseFormat from 'dayjs/plugin/customParseFormat'\n\ndayjs.extend(isBetween)\ndayjs.extend(isSameOrAfter)\ndayjs.extend(isSameOrBefore)\ndayjs.extend(customParseFormat)\n\nexport { dayjs }\nexport type { Dayjs }\n\nexport function parseDate(date: string | Date | Dayjs, format?: string): Dayjs {\n if (dayjs.isDayjs(date)) return date\n return format ? dayjs(date, format) : dayjs(date)\n}\n\nexport function formatDate(date: Dayjs, format: string = 'YYYY-MM-DD'): string {\n return date.format(format)\n}\n\nexport function isDateInRange(date: Dayjs, start: Dayjs, end: Dayjs): boolean {\n return date.isBetween(start, end, 'day', '[]')\n}\n\nexport function getDaysBetween(start: Dayjs, end: Dayjs): number {\n return end.diff(start, 'day')\n}\n\nexport function isWeekend(date: Dayjs): boolean {\n const day = date.day()\n return day === 0 || day === 6 // Sunday or Saturday\n}\n\nexport function isToday(date: Dayjs): boolean {\n return date.isSame(dayjs(), 'day')\n}\n","import type { CalendarDay, CalendarMonth } from '../types'\nimport { type Dayjs, dayjs } from './date'\n\nexport function getMonthDays(\n monthOffset: number,\n currentDate: Dayjs = dayjs(),\n): {\n month: Dayjs\n days: Array<{\n date: Dayjs\n isPrevMonth: boolean\n isCurrentMonth: boolean\n isNextMonth: boolean\n }>\n} {\n const month = currentDate.add(monthOffset, 'month').startOf('month')\n const firstDayOfMonth = month.day()\n const daysInMonth = month.daysInMonth()\n const daysInPrevMonth = month.subtract(1, 'month').daysInMonth()\n\n const days: Array<{\n date: Dayjs\n isPrevMonth: boolean\n isCurrentMonth: boolean\n isNextMonth: boolean\n }> = []\n\n // Previous month days\n for (let i = firstDayOfMonth - 1; i >= 0; i--) {\n const date = month.subtract(1, 'month').date(daysInPrevMonth - i)\n days.push({\n date,\n isPrevMonth: true,\n isCurrentMonth: false,\n isNextMonth: false,\n })\n }\n\n // Current month days\n for (let i = 1; i <= daysInMonth; i++) {\n const date = month.date(i)\n days.push({\n date,\n isPrevMonth: false,\n isCurrentMonth: true,\n isNextMonth: false,\n })\n }\n\n // Next month days to complete the grid\n const remainingDays = 42 - days.length // 6 weeks * 7 days\n for (let i = 1; i <= remainingDays; i++) {\n const date = month.add(1, 'month').date(i)\n days.push({\n date,\n isPrevMonth: false,\n isCurrentMonth: false,\n isNextMonth: true,\n })\n }\n\n return { month, days }\n}\n\nexport function createCalendarDay(\n date: Dayjs,\n isPrevMonth: boolean,\n isCurrentMonth: boolean,\n isNextMonth: boolean,\n options: {\n startDate?: Dayjs | null\n endDate?: Dayjs | null\n minDate?: Dayjs | null\n maxDate?: Dayjs | null\n disabledDates?: Dayjs[]\n holidays?: Dayjs[]\n } = {},\n): CalendarDay {\n const {\n startDate = null,\n endDate = null,\n minDate = null,\n maxDate = null,\n disabledDates = [],\n holidays = [],\n } = options\n\n const isDisabled =\n (minDate && date.isBefore(minDate, 'day')) ||\n (maxDate && date.isAfter(maxDate, 'day')) ||\n disabledDates.some(d => d.isSame(date, 'day'))\n\n const isHoliday = holidays.some(h => h.isSame(date, 'day'))\n\n const isSelected = (startDate && date.isSame(startDate, 'day')) || (endDate && date.isSame(endDate, 'day'))\n\n const isInRange = startDate && endDate && date.isAfter(startDate, 'day') && date.isBefore(endDate, 'day')\n\n const isToday = date.isSame(dayjs(), 'day')\n\n const isWeekend = date.day() === 0 || date.day() === 6\n\n return {\n date,\n isPrevMonth,\n isCurrentMonth,\n isNextMonth,\n isDisabled,\n isHoliday,\n isWeekend,\n isSelected,\n isInRange,\n isToday,\n }\n}\n\nexport function generateCalendarMonths(\n numberOfMonths: number,\n startOffset: number = 0,\n options: {\n startDate?: Dayjs | null\n endDate?: Dayjs | null\n minDate?: Dayjs | null\n maxDate?: Dayjs | null\n disabledDates?: Dayjs[]\n holidays?: Dayjs[]\n } = {},\n): CalendarMonth[] {\n const months: CalendarMonth[] = []\n\n for (let i = 0; i < numberOfMonths; i++) {\n const { month, days } = getMonthDays(startOffset + i)\n\n const calendarDays = days.map(day =>\n createCalendarDay(day.date, day.isPrevMonth, day.isCurrentMonth, day.isNextMonth, options),\n )\n\n months.push({\n month,\n days: calendarDays,\n })\n }\n\n return months\n}\n\nexport function getWeekDays(locale: string = 'en', format: 'short' | 'narrow' = 'short'): string[] {\n const weekStart = dayjs().startOf('week')\n const days: string[] = []\n\n for (let i = 0; i < 7; i++) {\n const day = weekStart.add(i, 'day')\n days.push(format === 'short' ? day.format('ddd') : day.format('dd'))\n }\n\n return days\n}\n","export interface PositionResult {\n top?: number\n bottom?: number\n left: number\n transform?: string\n}\n\nexport function calculatePosition(\n triggerElement: HTMLElement | null,\n calendarElement: HTMLElement | null,\n preferredPosition: 'auto' | 'top' | 'bottom' = 'auto',\n): PositionResult {\n if (!triggerElement || !calendarElement) return { left: 0 }\n\n const triggerRect = triggerElement.getBoundingClientRect()\n const calendarRect = calendarElement.getBoundingClientRect()\n const viewportHeight = window.innerHeight\n const viewportWidth = window.innerWidth\n\n // Calculate available space\n const spaceAbove = triggerRect.top\n const spaceBelow = viewportHeight - triggerRect.bottom\n\n // Determine vertical position\n const position: PositionResult = { left: triggerRect.left }\n\n if (preferredPosition === 'auto') {\n if (spaceBelow >= calendarRect.height || spaceBelow > spaceAbove) {\n // Position below\n position.top = triggerRect.bottom + 8\n } else {\n // Position above\n position.bottom = viewportHeight - triggerRect.top + 8\n }\n } else if (preferredPosition === 'top') {\n position.bottom = viewportHeight - triggerRect.top + 8\n } else {\n position.top = triggerRect.bottom + 8\n }\n\n // Adjust horizontal position to keep within viewport\n if (position.left + calendarRect.width > viewportWidth) position.left = viewportWidth - calendarRect.width - 16\n\n if (position.left < 16) position.left = 16\n\n return position\n}\n","<script setup lang=\"ts\">\nimport {\n computed,\nnextTick,\nonMounted,\nonUnmounted,\nref,\nwatch,\n} from 'vue'\nimport {\n breakpointsTailwind,\nonClickOutside,\nuseBreakpoints,\nuseWindowSize,\n} from '@vueuse/core'\nimport type { Dayjs } from 'dayjs'\nimport { dayjs } from './utils/date'\nimport { generateCalendarMonths, getWeekDays } from './utils/calendar'\nimport { calculatePosition } from './utils/position'\nimport type { CalendarDay, RangepickerProps } from './types'\n\nconst props = withDefaults(defineProps<RangepickerProps>(), {\n isOpen: false,\n variant: 'desktop',\n valueOfMonths: 2,\n valueOfColumns: 2,\n format: 'YYYY-MM-DD',\n delimiter: ' - ',\n showTooltip: true,\n autoApply: false,\n position: 'auto',\n borderRadius: '0.75rem',\n})\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: { startDate: string; endDate: string }]\n 'update:isOpen': [value: boolean]\n \"dateSelected\": [date: Dayjs]\n \"rangeSelected\": [start: Dayjs, end: Dayjs]\n}>()\nconst breakpoints = useBreakpoints(breakpointsTailwind)\nconst isMobile = breakpoints.smallerOrEqual('lg')\nconst numberOfMonths = computed(() => (isMobile.value ? 1 : props.valueOfMonths))\nconst numberOfColumns = computed(() => (isMobile.value ? 1 : props.valueOfColumns))\n\n// Refs\nconst calendarRef = ref<HTMLElement | null>(null)\nconst isFadingOut = ref(false)\nconst hoveredDay = ref<CalendarDay | null>(null)\nconst monthOffset = ref(0)\n\n// Local state\nconst localIsOpen = ref(props.isOpen)\nconst localStartDate = ref<Dayjs | null>(null)\nconst localEndDate = ref<Dayjs | null>(null)\n\n// Parse dates from props\nconst parsedMinDate = computed(() => (props.minDate ? dayjs(props.minDate) : null))\nconst parsedMaxDate = computed(() => (props.maxDate ? dayjs(props.maxDate) : null))\nconst parsedDisabledDates = computed(() => props.disabledDates?.map(d => dayjs(d)) || [])\nconst parsedHolidays = computed(() => props.holidays?.map(h => dayjs(h)) || [])\n\n// Calendar data\nconst weekdays = computed(() => getWeekDays('en', 'narrow'))\n\n// For mobile view, show only 1 month\nconst effectiveNumberOfMonths = computed(() => (props.variant === 'mobile' ? 1 : numberOfMonths.value))\n\nconst calendarMonths = computed(() =>\n generateCalendarMonths(effectiveNumberOfMonths.value, monthOffset.value, {\n startDate: localStartDate.value,\n endDate: localEndDate.value,\n minDate: parsedMinDate.value,\n maxDate: parsedMaxDate.value,\n disabledDates: parsedDisabledDates.value,\n holidays: parsedHolidays.value,\n }),\n)\n\nconst nightCount = computed(() => {\n if (!localStartDate.value || !localEndDate.value) return 0\n return localEndDate.value.diff(localStartDate.value, 'day')\n})\n\nconst formattedDateRange = computed(() => {\n if (!localStartDate.value && !localEndDate.value) return ''\n else if (localStartDate.value && !localEndDate.value) return localStartDate.value.format(props.format)\n else if (localStartDate.value && localEndDate.value)\n return `${localStartDate.value.format(props.format)}${props.delimiter}${localEndDate.value.format(props.format)}`\n else return ''\n})\n\n// Navigation\nconst canNavigatePrevious = computed(() => {\n if (!parsedMinDate.value) return true\n const firstMonth = dayjs().add(monthOffset.value, 'month').startOf('month')\n return firstMonth.isAfter(parsedMinDate.value, 'month')\n})\n\nconst canNavigateNext = computed(() => {\n if (!parsedMaxDate.value) return true\n const lastMonth = dayjs()\n .add(monthOffset.value + effectiveNumberOfMonths.value - 1, 'month')\n .endOf('month')\n return lastMonth.isBefore(parsedMaxDate.value, 'month')\n})\n\n// Positioning\nconst { width: windowWidth } = useWindowSize()\nconst calendarStyle = ref<Record<string, string>>({})\n\nfunction updatePosition() {\n if (props.variant === 'mobile') {\n calendarStyle.value = {\n '--border-radius-day': props.borderRadius,\n }\n return\n }\n\n nextTick(() => {\n const position = calculatePosition(props.triggerElement, calendarRef.value, props.position)\n\n calendarStyle.value = {\n \"left\": `${position.left}px`,\n ...(position.top !== undefined && { top: `${position.top}px` }),\n ...(position.bottom !== undefined && { bottom: `${position.bottom}px` }),\n ...(position.transform && { transform: position.transform }),\n '--border-radius-day': props.borderRadius,\n }\n })\n}\n\n// Tooltip\nconst tooltipStyle = ref<Record<string, string>>({})\nconst packageVersion = __ARCH_RANGEPICKER_VERSION__\nconst tooltipText = computed(() => {\n if (!hoveredDay.value || !localStartDate.value) return ''\n const nights = hoveredDay.value.date.diff(localStartDate.value, 'day')\n if (nights <= 0) return ''\n return `${nights} ${nights === 1 ? 'night' : 'nights'}`\n})\n\nconst showTooltipComputed = computed(() => {\n return (\n props.showTooltip &&\n hoveredDay.value &&\n localStartDate.value &&\n !localEndDate.value &&\n hoveredDay.value.date.isAfter(localStartDate.value, 'day')\n )\n})\n\n// Methods\nfunction getDayClasses(day: CalendarDay) {\n const classes = ['rangepicker-day']\n\n if (!day.isCurrentMonth) classes.push('rangepicker-day-other-month')\n\n if (day.isDisabled) classes.push('rangepicker-day-disabled')\n\n if (day.isToday) classes.push('rangepicker-day-today')\n\n if (day.isWeekend && !day.isSelected) classes.push('rangepicker-day-weekend')\n\n if (day.isHoliday) classes.push('rangepicker-day-holiday')\n\n if (day.isSelected) {\n if (\n localStartDate.value &&\n localEndDate.value &&\n day.date.isSame(localStartDate.value, 'day') &&\n day.date.isSame(localEndDate.value, 'day')\n ) {\n classes.push('rangepicker-day-selected-single')\n}\n else if (localStartDate.value && day.date.isSame(localStartDate.value, 'day')) {\n classes.push('rangepicker-day-selected-start')\n}\n else if (localEndDate.value && day.date.isSame(localEndDate.value, 'day')) {\n classes.push('rangepicker-day-selected-end')\n}\n else { classes.push('rangepicker-day-selected')\n}\n }\n\n if (day.isInRange) classes.push('rangepicker-day-in-range')\n\n // Add hover effect for potential range\n if (localStartDate.value && !localEndDate.value && hoveredDay.value) {\n const start = localStartDate.value\n const hovered = hoveredDay.value.date\n if (hovered.isAfter(start, 'day')) {\n if (day.date.isSame(start, 'day')) {\n classes.push('rangepicker-day-hover-range', 'rangepicker-day-hover-start')\n } else if (day.date.isSame(hovered, 'day')) {\n classes.push('rangepicker-day-hover-range', 'rangepicker-day-hover-end')\n } else if (day.date.isAfter(start, 'day') && day.date.isBefore(hovered, 'day')) {\n classes.push('rangepicker-day-hover-range', 'rangepicker-day-hover-middle')\n }\n } else if (hovered.isBefore(start, 'day')) {\n if (day.date.isSame(hovered, 'day')) {\n classes.push('rangepicker-day-hover-range', 'rangepicker-day-hover-start')\n } else if (day.date.isSame(start, 'day')) {\n classes.push('rangepicker-day-hover-range', 'rangepicker-day-hover-end')\n } else if (day.date.isAfter(hovered, 'day') && day.date.isBefore(start, 'day')) {\n classes.push('rangepicker-day-hover-range', 'rangepicker-day-hover-middle')\n }\n }\n }\n\n return classes\n}\n\nfunction selectDate(day: CalendarDay, event: MouseEvent) {\n event.preventDefault()\n if (day.isDisabled) return\n\n emit('dateSelected', day.date)\n\n // Range selection logic\n if (!localStartDate.value || (localStartDate.value && localEndDate.value)) {\n // Start new range\n localStartDate.value = day.date\n localEndDate.value = null\n } else {\n // Complete range\n if (day.date.isBefore(localStartDate.value, 'day')) {\n // Swap if end is before start\n localEndDate.value = localStartDate.value\n localStartDate.value = day.date\n } else {\n localEndDate.value = day.date\n }\n\n // Validate min/max days\n if (props.minDays) {\n const days = localEndDate.value.diff(localStartDate.value, 'day')\n if (days < props.minDays) {\n // Invalid range, reset\n localStartDate.value = day.date\n localEndDate.value = null\n return\n }\n }\n\n if (props.maxDays) {\n const days = localEndDate.value.diff(localStartDate.value, 'day')\n if (days > props.maxDays) {\n // Invalid range, reset\n localStartDate.value = day.date\n localEndDate.value = null\n return\n }\n }\n\n emit('rangeSelected', localStartDate.value, localEndDate.value)\n\n if (props.autoApply) apply()\n }\n}\n\nfunction handleDayHover(day: CalendarDay, event: MouseEvent) {\n hoveredDay.value = day\n\n if (props.showTooltip && localStartDate.value && !localEndDate.value) updateTooltipPosition(event)\n}\n\nfunction updateTooltipPosition(event: MouseEvent) {\n const rect = (event.target as HTMLElement).getBoundingClientRect()\n tooltipStyle.value = {\n left: `${rect.left + rect.width / 2}px`,\n top: `${rect.top - 10}px`,\n transform: 'translateX(-50%) translateY(-100%)',\n }\n}\n\nfunction handleDayLeave() {\n hoveredDay.value = null\n}\n\nfunction previousMonth() {\n if (canNavigatePrevious.value) monthOffset.value--\n}\n\nfunction nextMonth() {\n if (canNavigateNext.value) monthOffset.value++\n}\n\nfunction close() {\n if (isFadingOut.value) return\n isFadingOut.value = true\n setTimeout(() => {\n localIsOpen.value = false\n emit('update:isOpen', false)\n isFadingOut.value = false\n }, 200) // match fade-leave-active duration\n}\n\nfunction apply() {\n if (localStartDate.value && localEndDate.value) {\n emit('update:modelValue', {\n startDate: localStartDate.value.format(props.format),\n endDate: localEndDate.value.format(props.format),\n })\n }\n close()\n}\n\nfunction cancel() {\n // Reset to initial values\n if (props.modelValue?.startDate) localStartDate.value = dayjs(props.modelValue.startDate)\n else localStartDate.value = null\n\n if (props.modelValue?.endDate) localEndDate.value = dayjs(props.modelValue.endDate)\n else localEndDate.value = null\n\n close()\n}\n\n// Watch props\nwatch(\n () => props.isOpen,\n (newVal) => {\n localIsOpen.value = newVal\n if (newVal) updatePosition()\n },\n)\n\n// Watch props\nwatch(\n () => props.close,\n (newVal) => {\n if (newVal) close()\n },\n)\n\nwatch(\n () => props.modelValue,\n (newVal) => {\n if (newVal?.startDate) localStartDate.value = dayjs(newVal.startDate)\n else localStartDate.value = null\n\n if (newVal?.endDate) localEndDate.value = dayjs(newVal.endDate)\n else localEndDate.value = null\n },\n { immediate: true, deep: true },\n)\n\nwatch([windowWidth, localIsOpen], () => {\n if (localIsOpen.value) updatePosition()\n})\n\n// Click outside to close\nonClickOutside(calendarRef, () => {\n if (localIsOpen.value && props.variant !== 'mobile') close()\n})\n\n// Keyboard navigation\nfunction handleKeydown(e: KeyboardEvent) {\n if (!localIsOpen.value) return\n\n if (e.key === 'Escape') close()\n}\n\nonMounted(() => {\n document.addEventListener('keydown', handleKeydown)\n if (props.isOpen) updatePosition()\n})\n\nonUnmounted(() => {\n document.removeEventListener('keydown', handleKeydown)\n})\n</script>\n\n<template>\n <Teleport to=\"body\">\n <Transition :name=\"variant === 'mobile' ? 'slide-up' : 'fade'\">\n <div v-if=\"localIsOpen || isFadingOut\" class=\"rangepicker-overlay\">\n <!-- Backdrop -->\n <div class=\"rangepicker-backdrop\" @click=\"close\" />\n\n <!-- Calendar Container -->\n <div\n ref=\"calendarRef\"\n :data-version=\"packageVersion\"\n class=\"rangepicker-container\"\n :class=\"[variant === 'mobile' ? 'rangepicker-mobile' : '']\"\n :style=\"{ ...calendarStyle, ...colorStyles, borderRadius: props.borderRadius }\"\n >\n <!-- Header -->\n <div class=\"rangepicker-header\">\n <div class=\"arch-flex arch-items-center arch-justify-between\">\n <div>\n <p v-if=\"label\" class=\"arch-mb-1 arch-text-xs arch-font-medium arch-text-gray-500\">\n {{ label }}\n </p>\n <p class=\"arch-text-sm arch-font-semibold arch-text-gray-900\">\n {{ formattedDateRange || placeholder || 'Select dates' }}\n </p>\n </div>\n <p v-if=\"nightCount > 0\" class=\"arch-mt-1 arch-text-xs arch-text-gray-500\">\n {{ nightCount }} {{ nightCount === 1 ? 'night' : 'nights' }}\n </p>\n <!-- <button\n class=\"rangepicker-nav-button\"\n aria-label=\"Close\"\n @click=\"close\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"arch-h-5 arch-w-5\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\"\n clip-rule=\"evenodd\"\n />\n </svg>\n </button> -->\n </div>\n </div>\n\n <!-- Calendar Body -->\n <div class=\"rangepicker-body\">\n <div class=\"rangepicker-month-grid\">\n <div\n v-for=\"(monthData, index) in calendarMonths\"\n :key=\"monthData.month.format('YYYY-MM')\"\n class=\"rangepicker-month\"\n >\n <!-- Month Header -->\n <div class=\"rangepicker-month-header\">\n <button\n v-if=\"variant === 'mobile' || index === 0\"\n class=\"rangepicker-nav-button\"\n :disabled=\"!canNavigatePrevious\"\n aria-label=\"Previous month\"\n @click=\"previousMonth\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"arch-h-5 arch-w-5\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z\"\n clip-rule=\"evenodd\"\n />\n </svg>\n </button>\n <div v-else class=\"arch-w-8\"></div>\n\n <span class=\"rangepicker-month-title\">\n {{ monthData.month.format('MMMM YYYY') }}\n </span>\n\n <button\n v-if=\"variant === 'mobile' || index === calendarMonths.length - 1\"\n class=\"rangepicker-nav-button\"\n :disabled=\"!canNavigateNext\"\n aria-label=\"Next month\"\n @click=\"nextMonth\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"arch-h-5 arch-w-5\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z\"\n clip-rule=\"evenodd\"\n />\n </svg>\n </button>\n <div v-else class=\"arch-w-8\"></div>\n </div>\n\n <!-- Weekday Headers -->\n <div class=\"rangepicker-weekdays\">\n <div v-for=\"weekday in weekdays\" :key=\"weekday\" class=\"rangepicker-weekday\">\n {{ weekday }}\n </div>\n </div>\n\n <!-- Calendar Grid -->\n <div class=\"rangepicker-grid\" @mouseleave=\"handleDayLeave\">\n <button\n v-for=\"day in monthData.days\"\n :key=\"day.date.unix()\"\n :class=\"getDayClasses(day)\"\n :disabled=\"day.isDisabled\"\n :aria-label=\"day.date.format('MMMM D, YYYY')\"\n @click=\"e => selectDate(day, e)\"\n @mouseenter=\"e => handleDayHover(day, e)\"\n >\n <span>{{ day.date.date() }}</span>\n </button>\n </div>\n </div>\n </div>\n\n <!-- Apply/Cancel Buttons (if not autoApply) -->\n <div\n v-if=\"!autoApply\"\n class=\"arch-mt-4 arch-flex arch-items-center arch-justify-end arch-gap-2 arch-border-t arch-border-gray-200 arch-pt-4\"\n >\n <button\n class=\"arch-rounded-lg arch-px-4 arch-py-2 arch-text-sm arch-font-medium arch-text-gray-700 arch-transition-colors hover:arch-bg-gray-100\"\n @click=\"cancel\"\n >\n Cancel\n </button>\n <button\n class=\"arch-rounded-lg arch-px-4 arch-py-2 arch-text-sm arch-font-medium arch-text-white arch-transition-colors disabled:arch-cursor-not-allowed disabled:arch-opacity-50\"\n :style=\"{\n backgroundColor: colorStyles?.['--color-primary']\n ? `rgb(${colorStyles['--color-primary']})`\n : 'rgb(37 99 235)',\n }\"\n :disabled=\"!localStartDate || !localEndDate\"\n @click=\"apply\"\n >\n Apply\n </button>\n </div>\n </div>\n\n <!-- Tooltip -->\n <div v-if=\"showTooltipComputed\" class=\"rangepicker-tooltip\" :style=\"tooltipStyle\">\n <div class=\"arch-flex arch-items-center arch-gap-1\">\n {{ tooltipText }}\n </div>\n </div>\n </div>\n </div>\n </Transition>\n </Teleport>\n</template>\n\n<style lang=\"scss\" scoped>\n@use './styles/rangepicker.scss';\n</style>\n","<script setup lang=\"ts\">\nimport {\n computed,\nref,\nwatch,\n} from 'vue'\nimport Rangepicker from './Rangepicker.vue'\nimport type { RangepickerInputProps } from './types'\n\n// Prevent Vue from auto-applying non-prop attrs (class, style, etc.) to root element.\n// We manually spread $attrs on the wrapper so class/style from the consumer\n// always lands on the outer wrapper div — standard Vue component behavior.\ndefineOptions({ inheritAttrs: false })\n\n// Helper function to convert HEX to RGB\nfunction hexToRgb(hex: string): string | null {\n // Remove # if present\n hex = hex.replace(/^#/, '')\n\n // Handle 3-digit hex\n if (hex.length === 3) {\n hex = hex\n .split('')\n .map(char => char + char)\n .join('')\n }\n\n if (hex.length !== 6) {\n console.warn(`[Rangepicker] Invalid hex color: ${hex}`)\n return null\n }\n\n const r = Number.parseInt(hex.substring(0, 2), 16)\n const g = Number.parseInt(hex.substring(2, 4), 16)\n const b = Number.parseInt(hex.substring(4, 6), 16)\n\n if (Number.isNaN(r) || Number.isNaN(g) || Number.isNaN(b)) {\n return null\n }\n\n return `${r} ${g} ${b}`\n}\n\nconst props = withDefaults(defineProps<RangepickerInputProps>(), {\n readonly: true,\n variant: 'desktop',\n placeholder: 'Select dates',\n showClearButton: true,\n})\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: string]\n \"focusin\": []\n}>()\n\n// Refs\nconst inputRef = ref<HTMLInputElement | null>(null)\nconst isOpen = ref(false)\n\n// Parse the modelValue into start/end dates\nfunction parseValue(value?: string) {\n if (!value) return { startDate: '', endDate: '' }\n\n const parts = value.split(' - ')\n if (parts.length === 2) {\n return {\n startDate: parts[0].trim(),\n endDate: parts[1].trim(),\n }\n }\n return { startDate: '', endDate: '' }\n}\n\nwatch(\n () => props?.close,\n (cur) => {\n if (cur) inputRef.value.blur()\n },\n)\nconst localValue = ref(parseValue(props.modelValue))\n\nconst displayValue = computed(() => {\n return props.modelValue || ''\n})\n\n// The inner input fills the wrapper — sizing/padding/border come from the\n// wrapper via $attrs (class/style passed by the consumer).\nconst inputClass =\n 'rangepicker-input block w-full h-full bg-transparent border-0 shadow-none outline-none cursor-pointer font-inherit text-inherit p-0'\n\nfunction openPicker() {\n isOpen.value = true\n}\n\nfunction onFocus() {\n emit('focusin')\n openPicker()\n}\n\nfunction handleUpdate(value: { startDate: string; endDate: string }) {\n localValue.value = value\n const formatted = `${value.startDate} - ${value.endDate}`\n emit('update:modelValue', formatted)\n}\n\nfunction clearValue() {\n localValue.value = { startDate: '', endDate: '' }\n emit('update:modelValue', '')\n isOpen.value = false\n}\n\nwatch(\n () => props.modelValue,\n (newVal) => {\n localValue.value = parseValue(newVal)\n },\n)\n\n// Compute CSS variables for scoped styling\nconst colorStyles = computed(() => {\n const styles: Record<string, string> = {}\n\n if (props.primaryColor) {\n const rgb = hexToRgb(props.primaryColor)\n if (rgb) {\n styles['--color-primary'] = rgb\n }\n }\n\n if (props.secondaryColor) {\n const rgb = hexToRgb(props.secondaryColor)\n if (rgb) {\n styles['--color-secondary'] = rgb\n }\n }\n\n if (props.fontFamily) {\n styles['--rangepicker-font-family'] = props.fontFamily\n }\n\n return styles\n})\n</script>\n\n<template>\n <div v-bind=\"$attrs\" class=\"rangepicker-input-wrapper\" :style=\"colorStyles\">\n <div class=\"rangepicker-input-container\">\n <input\n :id=\"id\"\n ref=\"inputRef\"\n type=\"text\"\n :value=\"displayValue\"\n :placeholder=\"placeholder\"\n :readonly=\"readonly\"\n :name=\"name\"\n :class=\"props?.class ? props.class : inputClass\"\n @click=\"openPicker\"\n @focus=\"onFocus\"\n />\n\n <button\n v-if=\"showClearButton && displayValue\"\n type=\"button\"\n class=\"rangepicker-clear-button\"\n @click.stop=\"clearValue\"\n aria-label=\"Clear dates\"\n >\n <svg\nxmlns=\"http://www.w3.org/2000/svg\"\nclass=\"arch-h-4 arch-w-4\"\nviewBox=\"0 0 20 20\"\nfill=\"currentColor\">\n <path\n fill-rule=\"evenodd\"\n d=\"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z\"\n clip-rule=\"evenodd\"\n />\n </svg>\n </button>\n </div>\n\n <Rangepicker\n v-model=\"localValue\"\n v-model:is-open=\"isOpen\"\n :trigger-element=\"inputRef\"\n :min-date=\"minDate\"\n :max-date=\"maxDate\"\n :min-days=\"minDays\"\n :max-days=\"maxDays\"\n :value-of-months=\"numberOfMonths || 2\"\n :value-of-columns=\"numberOfColumns || 2\"\n :format=\"format || 'DD MMM YYYY'\"\n :auto-apply=\"autoApply !== false\"\n :show-tooltip=\"showTooltip !== false\"\n :variant=\"variant\"\n :close=\"props.close\"\n :color-styles=\"colorStyles\"\n :border-radius=\"borderRadius\"\n @update:model-value=\"handleUpdate\"\n />\n </div>\n</template>\n\n<style scoped lang=\"scss\">\n@use './styles/rangepicker.scss';\n\n.rangepicker-input-wrapper {\n position: relative;\n display: flex;\n align-items: center;\n width: 100%;\n font-family: var(--rangepicker-font-family, inherit);\n}\n\n.rangepicker-input-container {\n position: relative;\n display: flex;\n align-items: center;\n}\n\n.rangepicker-input {\n cursor: pointer;\n font-family: inherit;\n flex: 1;\n padding-right: 2.5rem;\n}\n\n.rangepicker-clear-button {\n position: absolute;\n right: 0.5rem;\n top: 50%;\n transform: translateY(-50%);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0.25rem;\n background: transparent;\n border: none;\n border-radius: 0.375rem;\n color: #6b7280;\n cursor: pointer;\n transition: all 0.2s;\n z-index: 1;\n\n &:hover {\n color: #374151;\n background: #f3f4f6;\n }\n\n &:active {\n transform: translateY(-50%) scale(0.95);\n }\n\n &:focus {\n outline: none;\n box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.5);\n }\n}\n</style>\n","import { ref } from 'vue'\nimport './styles/rangepicker.scss'\nimport Rangepicker from './Rangepicker.vue'\nimport RangepickerInput from './RangepickerInput.vue'\nimport type {\n DateRange,\n RangepickerProps,\n RangepickerEmits,\n CalendarDay,\n CalendarMonth,\n RangepickerInputProps,\n} from './types'\n\n// Default export - RangepickerInput (Litepicker-compatible wrapper)\nexport default RangepickerInput\n\n// Named exports\nexport { Rangepicker, RangepickerInput }\n\n// Type exports\nexport type { RangepickerProps, RangepickerInputProps, RangepickerEmits, DateRange, CalendarDay, CalendarMonth }\n\n// Vue 3 composable for easy integration\nexport function useRangepicker(triggerRef: any, options: Partial<RangepickerProps> = {}) {\n const isOpen = ref(false)\n const dateRange = ref<DateRange>({ startDate: '', endDate: '' })\n\n const open = () => {\n isOpen.value = true\n }\n const close = () => {\n isOpen.value = false\n }\n const toggle = () => {\n isOpen.value = !isOpen.value\n }\n\n return {\n isOpen,\n dateRange,\n open,\n close,\n toggle,\n options,\n }\n}\n"],"names":["this","e","i","t","n","r","o","a","f","h","u","d","l","s","c","m","M","_createBlock","_Teleport","_createVNode","_Transition","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_unref","_normalizeClass","_toDisplayString","_Fragment","_renderList","_normalizeStyle","_mergeProps"],"mappings":";;;;;;;;;AAAA,GAAC,SAAS,GAAE,GAAE;AAAsD,WAAA,UAAe,EAAC;AAAA,EAAmI,EAAEA,gBAAM,WAAU;AAAc,WAAO,SAAS,GAAE,GAAE,GAAE;AAAC,QAAE,UAAU,YAAU,SAASC,IAAEC,IAAE,GAAE,GAAE;AAAC,YAAI,IAAE,EAAED,EAAC,GAAE,IAAE,EAAEC,EAAC,GAAE,IAAE,SAAO,IAAE,KAAG,MAAM,CAAC,GAAE,IAAE,QAAM,EAAE,CAAC;AAAE,gBAAO,IAAE,KAAK,QAAQ,GAAE,CAAC,IAAE,CAAC,KAAK,SAAS,GAAE,CAAC,OAAK,IAAE,KAAK,SAAS,GAAE,CAAC,IAAE,CAAC,KAAK,QAAQ,GAAE,CAAC,OAAK,IAAE,KAAK,SAAS,GAAE,CAAC,IAAE,CAAC,KAAK,QAAQ,GAAE,CAAC,OAAK,IAAE,KAAK,QAAQ,GAAE,CAAC,IAAE,CAAC,KAAK,SAAS,GAAE,CAAC;AAAA,MAAE;AAAA,IAAC;AAAA,EAAC;;;;;;ACA9hB,GAAC,SAAS,GAAE,GAAE;AAAsD,WAAA,UAAe,EAAC;AAAA,EAAuI,EAAEF,gBAAM,WAAU;AAAc,WAAO,SAAS,GAAE,GAAE;AAAC,QAAE,UAAU,gBAAc,SAASC,IAAEE,IAAE;AAAC,eAAO,KAAK,OAAOF,IAAEE,EAAC,KAAG,KAAK,QAAQF,IAAEE,EAAC;AAAA,MAAC;AAAA,IAAC;AAAA,EAAC,CAAC;;;;;;ACArW,GAAC,SAAS,GAAE,GAAE;AAAsD,WAAA,UAAe,EAAC;AAAA,EAAwI,EAAEH,gBAAM,WAAU;AAAc,WAAO,SAAS,GAAE,GAAE;AAAC,QAAE,UAAU,iBAAe,SAASC,IAAEC,IAAE;AAAC,eAAO,KAAK,OAAOD,IAAEC,EAAC,KAAG,KAAK,SAASD,IAAEC,EAAC;AAAA,MAAC;AAAA,IAAC;AAAA,EAAC,CAAC;;;;;;ACAxW,GAAC,SAAS,GAAE,GAAE;AAAsD,WAAA,UAAe;EAA4I,EAAEF,gBAAM,WAAU;AAAc,QAAI,IAAE,EAAC,KAAI,aAAY,IAAG,UAAS,GAAE,cAAa,IAAG,gBAAe,KAAI,uBAAsB,MAAK,4BAA2B,GAAE,IAAE,iGAAgG,IAAE,MAAK,IAAE,QAAO,IAAE,SAAQ,IAAE,sBAAqB,IAAE,CAAA,GAAG,IAAE,SAASC,IAAE;AAAC,cAAOA,KAAE,CAACA,OAAIA,KAAE,KAAG,OAAK;AAAA,IAAI;AAAE,QAAI,IAAE,SAASA,IAAE;AAAC,aAAO,SAASE,IAAE;AAAC,aAAKF,EAAC,IAAE,CAACE;AAAA,MAAC;AAAA,IAAC,GAAE,IAAE,CAAC,uBAAsB,SAASF,IAAE;AAAC,OAAC,KAAK,SAAO,KAAK,OAAK,CAAA,IAAK,SAAO,SAASA,IAAE;AAAC,YAAG,CAACA,GAAE,QAAO;AAAE,YAAG,QAAMA,GAAE,QAAO;AAAE,YAAIE,KAAEF,GAAE,MAAM,cAAc,GAAEG,KAAE,KAAGD,GAAE,CAAC,KAAG,CAACA,GAAE,CAAC,KAAG;AAAG,eAAO,MAAIC,KAAE,IAAE,QAAMD,GAAE,CAAC,IAAE,CAACC,KAAEA;AAAA,MAAC,EAAEH,EAAC;AAAA,IAAC,CAAC,GAAE,IAAE,SAASA,IAAE;AAAC,UAAIE,KAAE,EAAEF,EAAC;AAAE,aAAOE,OAAIA,GAAE,UAAQA,KAAEA,GAAE,EAAE,OAAOA,GAAE,CAAC;AAAA,IAAE,GAAE,IAAE,SAASF,IAAEE,IAAE;AAAC,UAAIC,IAAEC,KAAE,EAAE;AAAS,UAAGA,IAAE;AAAC,iBAAQH,KAAE,GAAEA,MAAG,IAAGA,MAAG,EAAE,KAAGD,GAAE,QAAQI,GAAEH,IAAE,GAAEC,EAAC,CAAC,IAAE,IAAG;AAAC,UAAAC,KAAEF,KAAE;AAAG;AAAA,QAAK;AAAA,MAAC,MAAM,CAAAE,KAAEH,QAAKE,KAAE,OAAK;AAAM,aAAOC;AAAA,IAAC,GAAE,IAAE,EAAC,GAAE,CAAC,GAAE,SAASH,IAAE;AAAC,WAAK,YAAU,EAAEA,IAAE,KAAE;AAAA,IAAC,CAAC,GAAE,GAAE,CAAC,GAAE,SAASA,IAAE;AAAC,WAAK,YAAU,EAAEA,IAAE,IAAE;AAAA,IAAC,CAAC,GAAE,GAAE,CAAC,GAAE,SAASA,IAAE;AAAC,WAAK,QAAM,KAAGA,KAAE,KAAG;AAAA,IAAC,CAAC,GAAE,GAAE,CAAC,GAAE,SAASA,IAAE;AAAC,WAAK,eAAa,MAAI,CAACA;AAAA,IAAC,CAAC,GAAE,IAAG,CAAC,GAAE,SAASA,IAAE;AAAC,WAAK,eAAa,KAAG,CAACA;AAAA,IAAC,CAAC,GAAE,KAAI,CAAC,SAAQ,SAASA,IAAE;AAAC,WAAK,eAAa,CAACA;AAAA,IAAC,CAAC,GAAE,GAAE,CAAC,GAAE,EAAE,SAAS,CAAC,GAAE,IAAG,CAAC,GAAE,EAAE,SAAS,CAAC,GAAE,GAAE,CAAC,GAAE,EAAE,SAAS,CAAC,GAAE,IAAG,CAAC,GAAE,EAAE,SAAS,CAAC,GAAE,GAAE,CAAC,GAAE,EAAE,OAAO,CAAC,GAAE,GAAE,CAAC,GAAE,EAAE,OAAO,CAAC,GAAE,IAAG,CAAC,GAAE,EAAE,OAAO,CAAC,GAAE,IAAG,CAAC,GAAE,EAAE,OAAO,CAAC,GAAE,GAAE,CAAC,GAAE,EAAE,KAAK,CAAC,GAAE,IAAG,CAAC,GAAE,EAAE,KAAK,CAAC,GAAE,IAAG,CAAC,GAAE,SAASA,IAAE;AAAC,UAAIE,KAAE,EAAE,SAAQC,KAAEH,GAAE,MAAM,KAAK;AAAE,UAAG,KAAK,MAAIG,GAAE,CAAC,GAAED,GAAE,UAAQE,KAAE,GAAEA,MAAG,IAAGA,MAAG,EAAE,CAAAF,GAAEE,EAAC,EAAE,QAAQ,UAAS,EAAE,MAAIJ,OAAI,KAAK,MAAII;AAAA,IAAE,CAAC,GAAE,GAAE,CAAC,GAAE,EAAE,MAAM,CAAC,GAAE,IAAG,CAAC,GAAE,EAAE,MAAM,CAAC,GAAE,GAAE,CAAC,GAAE,EAAE,OAAO,CAAC,GAAE,IAAG,CAAC,GAAE,EAAE,OAAO,CAAC,GAAE,KAAI,CAAC,GAAE,SAASJ,IAAE;AAAC,UAAIE,KAAE,EAAE,QAAQ,GAAEC,MAAG,EAAE,aAAa,KAAGD,GAAE,IAAK,SAASF,IAAE;AAAC,eAAOA,GAAE,MAAM,GAAE,CAAC;AAAA,MAAC,CAAC,GAAI,QAAQA,EAAC,IAAE;AAAE,UAAGG,KAAE,EAAE,OAAM,IAAI;AAAM,WAAK,QAAMA,KAAE,MAAIA;AAAA,IAAC,CAAC,GAAE,MAAK,CAAC,GAAE,SAASH,IAAE;AAAC,UAAIE,KAAE,EAAE,QAAQ,EAAE,QAAQF,EAAC,IAAE;AAAE,UAAGE,KAAE,EAAE,OAAM,IAAI;AAAM,WAAK,QAAMA,KAAE,MAAIA;AAAA,IAAC,CAAC,GAAE,GAAE,CAAC,YAAW,EAAE,MAAM,CAAC,GAAE,IAAG,CAAC,GAAE,SAASF,IAAE;AAAC,WAAK,OAAK,EAAEA,EAAC;AAAA,IAAC,CAAC,GAAE,MAAK,CAAC,SAAQ,EAAE,MAAM,CAAC,GAAE,GAAE,GAAE,IAAG,EAAC;AAAE,aAAS,EAAEG,IAAE;AAAC,UAAIC,IAAEH;AAAE,MAAAG,KAAED,IAAEF,KAAE,KAAG,EAAE;AAAQ,eAAQI,MAAGF,KAAEC,GAAE,QAAQ,qCAAqC,SAASF,IAAEC,IAAEC,IAAE;AAAC,YAAIC,KAAED,MAAGA,GAAE,YAAW;AAAG,eAAOD,MAAGF,GAAEG,EAAC,KAAG,EAAEA,EAAC,KAAGH,GAAEI,EAAC,EAAE,QAAQ,kCAAkC,SAASL,IAAEE,IAAEC,IAAE;AAAC,iBAAOD,MAAGC,GAAE,MAAM,CAAC;AAAA,QAAC,CAAC;AAAA,MAAE,CAAC,GAAI,MAAM,CAAC,GAAEG,KAAED,GAAE,QAAOE,KAAE,GAAEA,KAAED,IAAEC,MAAG,GAAE;AAAC,YAAIC,KAAEH,GAAEE,EAAC,GAAEE,KAAE,EAAED,EAAC,GAAEE,KAAED,MAAGA,GAAE,CAAC,GAAEE,KAAEF,MAAGA,GAAE,CAAC;AAAE,QAAAJ,GAAEE,EAAC,IAAEI,KAAE,EAAC,OAAMD,IAAE,QAAOC,GAAC,IAAEH,GAAE,QAAQ,YAAW,EAAE;AAAA,MAAC;AAAC,aAAO,SAASR,IAAE;AAAC,iBAAQE,KAAE,CAAA,GAAGC,KAAE,GAAEC,KAAE,GAAED,KAAEG,IAAEH,MAAG,GAAE;AAAC,cAAIF,KAAEI,GAAEF,EAAC;AAAE,cAAG,YAAU,OAAOF,GAAE,CAAAG,MAAGH,GAAE;AAAA,eAAW;AAAC,gBAAIW,KAAEX,GAAE,OAAMM,KAAEN,GAAE,QAAOO,KAAER,GAAE,MAAMI,EAAC,GAAEK,KAAEG,GAAE,KAAKJ,EAAC,EAAE,CAAC;AAAE,YAAAD,GAAE,KAAKL,IAAEO,EAAC,GAAET,KAAEA,GAAE,QAAQS,IAAE,EAAE;AAAA,UAAC;AAAA,QAAC;AAAC,eAAO,SAAST,IAAE;AAAC,cAAIE,KAAEF,GAAE;AAAU,cAAG,WAASE,IAAE;AAAC,gBAAIC,KAAEH,GAAE;AAAM,YAAAE,KAAEC,KAAE,OAAKH,GAAE,SAAO,MAAI,OAAKG,OAAIH,GAAE,QAAM,IAAG,OAAOA,GAAE;AAAA,UAAS;AAAA,QAAC,EAAEE,EAAC,GAAEA;AAAA,MAAC;AAAA,IAAC;AAAC,WAAO,SAASF,IAAEE,IAAEC,IAAE;AAAC,MAAAA,GAAE,EAAE,oBAAkB,MAAGH,MAAGA,GAAE,sBAAoB,IAAEA,GAAE;AAAmB,UAAII,KAAEF,GAAE,WAAUD,KAAEG,GAAE;AAAM,MAAAA,GAAE,QAAM,SAASJ,IAAE;AAAC,YAAIE,KAAEF,GAAE,MAAKI,KAAEJ,GAAE,KAAIK,KAAEL,GAAE;AAAK,aAAK,KAAGI;AAAE,YAAIE,KAAED,GAAE,CAAC;AAAE,YAAG,YAAU,OAAOC,IAAE;AAAC,cAAIC,KAAE,SAAKF,GAAE,CAAC,GAAEG,KAAE,SAAKH,GAAE,CAAC,GAAEI,KAAEF,MAAGC,IAAEE,KAAEL,GAAE,CAAC;AAAE,UAAAG,OAAIE,KAAEL,GAAE,CAAC,IAAG,IAAE,KAAK,QAAO,GAAG,CAACE,MAAGG,OAAI,IAAEP,GAAE,GAAGO,EAAC,IAAG,KAAK,KAAG,SAASV,IAAEE,IAAEC,IAAEC,IAAE;AAAC,gBAAG;AAAC,kBAAG,CAAC,KAAI,GAAG,EAAE,QAAQF,EAAC,IAAE,GAAG,QAAO,IAAI,MAAM,QAAMA,KAAE,MAAI,KAAGF,EAAC;AAAE,kBAAIC,KAAE,EAAEC,EAAC,EAAEF,EAAC,GAAEK,KAAEJ,GAAE,MAAKW,KAAEX,GAAE,OAAMK,KAAEL,GAAE,KAAIM,KAAEN,GAAE,OAAMO,KAAEP,GAAE,SAAQQ,KAAER,GAAE,SAAQS,KAAET,GAAE,cAAaY,KAAEZ,GAAE,MAAKa,KAAEb,GAAE,MAAKc,KAAE,oBAAI,QAAK,IAAET,OAAID,MAAGO,KAAE,IAAEG,GAAE,QAAO,IAAI,IAAEV,MAAGU,GAAE,eAAc,IAAE;AAAE,cAAAV,MAAG,CAACO,OAAI,IAAEA,KAAE,IAAEA,KAAE,IAAEG,GAAE,SAAQ;AAAI,kBAAI,GAAE,IAAER,MAAG,GAAE,IAAEC,MAAG,GAAE,IAAEC,MAAG,GAAE,IAAEC,MAAG;AAAE,qBAAOG,KAAE,IAAI,KAAK,KAAK,IAAI,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,IAAE,KAAGA,GAAE,SAAO,GAAG,CAAC,IAAEV,KAAE,IAAI,KAAK,KAAK,IAAI,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,CAAC,CAAC,KAAG,IAAE,IAAI,KAAK,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,CAAC,GAAEW,OAAI,IAAEV,GAAE,CAAC,EAAE,KAAKU,EAAC,EAAE,OAAM,IAAI;AAAA,YAAE,SAAOd,IAAE;AAAC,qBAAO,oBAAI,KAAK,EAAE;AAAA,YAAC;AAAA,UAAC,EAAEE,IAAEI,IAAEF,IAAED,EAAC,GAAE,KAAK,QAAOO,MAAG,SAAKA,OAAI,KAAK,KAAG,KAAK,OAAOA,EAAC,EAAE,KAAID,MAAGP,MAAG,KAAK,OAAOI,EAAC,MAAI,KAAK,KAAG,oBAAI,KAAK,EAAE,IAAG,IAAE,CAAA;AAAA,QAAE,WAASA,cAAa,MAAM,UAAQO,KAAEP,GAAE,QAAO,IAAE,GAAE,KAAGO,IAAE,KAAG,GAAE;AAAC,UAAAR,GAAE,CAAC,IAAEC,GAAE,IAAE,CAAC;AAAE,cAAI,IAAEH,GAAE,MAAM,MAAKE,EAAC;AAAE,cAAG,EAAE,QAAO,GAAG;AAAC,iBAAK,KAAG,EAAE,IAAG,KAAK,KAAG,EAAE,IAAG,KAAK,KAAI;AAAG;AAAA,UAAK;AAAC,gBAAIQ,OAAI,KAAK,KAAG,oBAAI,KAAK,EAAE;AAAA,QAAE;AAAA,YAAM,CAAAZ,GAAE,KAAK,MAAKD,EAAC;AAAA,MAAC;AAAA,IAAC;AAAA,EAAC,CAAC;;;;ACOpyH,MAAM,OAAO,SAAS;AACtB,MAAM,OAAO,aAAa;AAC1B,MAAM,OAAO,cAAc;AAC3B,MAAM,OAAO,iBAAiB;ACPvB,SAAS,aACd,aACA,cAAqB,SASrB;AACA,QAAM,QAAQ,YAAY,IAAI,aAAa,OAAO,EAAE,QAAQ,OAAO;AACnE,QAAM,kBAAkB,MAAM,IAAA;AAC9B,QAAM,cAAc,MAAM,YAAA;AAC1B,QAAM,kBAAkB,MAAM,SAAS,GAAG,OAAO,EAAE,YAAA;AAEnD,QAAM,OAKD,CAAA;AAGL,WAAS,IAAI,kBAAkB,GAAG,KAAK,GAAG,KAAK;AAC7C,UAAM,OAAO,MAAM,SAAS,GAAG,OAAO,EAAE,KAAK,kBAAkB,CAAC;AAChE,SAAK,KAAK;AAAA,MACR;AAAA,MACA,aAAa;AAAA,MACb,gBAAgB;AAAA,MAChB,aAAa;AAAA,IAAA,CACd;AAAA,EACH;AAGA,WAAS,IAAI,GAAG,KAAK,aAAa,KAAK;AACrC,UAAM,OAAO,MAAM,KAAK,CAAC;AACzB,SAAK,KAAK;AAAA,MACR;AAAA,MACA,aAAa;AAAA,MACb,gBAAgB;AAAA,MAChB,aAAa;AAAA,IAAA,CACd;AAAA,EACH;AAGA,QAAM,gBAAgB,KAAK,KAAK;AAChC,WAAS,IAAI,GAAG,KAAK,eAAe,KAAK;AACvC,UAAM,OAAO,MAAM,IAAI,GAAG,OAAO,EAAE,KAAK,CAAC;AACzC,SAAK,KAAK;AAAA,MACR;AAAA,MACA,aAAa;AAAA,MACb,gBAAgB;AAAA,MAChB,aAAa;AAAA,IAAA,CACd;AAAA,EACH;AAEA,SAAO,EAAE,OAAO,KAAA;AAClB;AAEO,SAAS,kBACd,MACA,aACA,gBACA,aACA,UAOI,IACS;AACb,QAAM;AAAA,IACJ,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,UAAU;AAAA,IACV,UAAU;AAAA,IACV,gBAAgB,CAAA;AAAA,IAChB,WAAW,CAAA;AAAA,EAAC,IACV;AAEJ,QAAM,aACH,WAAW,KAAK,SAAS,SAAS,KAAK,KACvC,WAAW,KAAK,QAAQ,SAAS,KAAK,KACvC,cAAc,KAAK,CAAA,MAAK,EAAE,OAAO,MAAM,KAAK,CAAC;AAE/C,QAAM,YAAY,SAAS,KAAK,CAAA,MAAK,EAAE,OAAO,MAAM,KAAK,CAAC;AAE1D,QAAM,aAAc,aAAa,KAAK,OAAO,WAAW,KAAK,KAAO,WAAW,KAAK,OAAO,SAAS,KAAK;AAEzG,QAAM,YAAY,aAAa,WAAW,KAAK,QAAQ,WAAW,KAAK,KAAK,KAAK,SAAS,SAAS,KAAK;AAExG,QAAM,UAAU,KAAK,OAAO,MAAA,GAAS,KAAK;AAE1C,QAAM,YAAY,KAAK,IAAA,MAAU,KAAK,KAAK,UAAU;AAErD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEO,SAAS,uBACd,gBACA,cAAsB,GACtB,UAOI,CAAA,GACa;AACjB,QAAM,SAA0B,CAAA;AAEhC,WAAS,IAAI,GAAG,IAAI,gBAAgB,KAAK;AACvC,UAAM,EAAE,OAAO,KAAA,IAAS,aAAa,cAAc,CAAC;AAEpD,UAAM,eAAe,KAAK;AAAA,MAAI,CAAA,QAC5B,kBAAkB,IAAI,MAAM,IAAI,aAAa,IAAI,gBAAgB,IAAI,aAAa,OAAO;AAAA,IAAA;AAG3F,WAAO,KAAK;AAAA,MACV;AAAA,MACA,MAAM;AAAA,IAAA,CACP;AAAA,EACH;AAEA,SAAO;AACT;AAEO,SAAS,YAAY,SAAiB,MAAM,SAA6B,SAAmB;AACjG,QAAM,YAAY,QAAQ,QAAQ,MAAM;AACxC,QAAM,OAAiB,CAAA;AAEvB,WAAS,IAAI,GAAG,IAAI,GAAG,KAAK;AAC1B,UAAM,MAAM,UAAU,IAAI,GAAG,KAAK;AAClC,SAAK,KAAK,WAAW,UAAU,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,IAAI,CAAC;AAAA,EACrE;AAEA,SAAO;AACT;ACrJO,SAAS,kBACd,gBACA,iBACA,oBAA+C,QAC/B;AAChB,MAAI,CAAC,kBAAkB,CAAC,gBAAiB,QAAO,EAAE,MAAM,EAAA;AAExD,QAAM,cAAc,eAAe,sBAAA;AACnC,QAAM,eAAe,gBAAgB,sBAAA;AACrC,QAAM,iBAAiB,OAAO;AAC9B,QAAM,gBAAgB,OAAO;AAG7B,QAAM,aAAa,YAAY;AAC/B,QAAM,aAAa,iBAAiB,YAAY;AAGhD,QAAM,WAA2B,EAAE,MAAM,YAAY,KAAA;AAErD,MAAI,sBAAsB,QAAQ;AAChC,QAAI,cAAc,aAAa,UAAU,aAAa,YAAY;AAEhE,eAAS,MAAM,YAAY,SAAS;AAAA,IACtC,OAAO;AAEL,eAAS,SAAS,iBAAiB,YAAY,MAAM;AAAA,IACvD;AAAA,EACF,WAAW,sBAAsB,OAAO;AACtC,aAAS,SAAS,iBAAiB,YAAY,MAAM;AAAA,EACvD,OAAO;AACL,aAAS,MAAM,YAAY,SAAS;AAAA,EACtC;AAGA,MAAI,SAAS,OAAO,aAAa,QAAQ,cAAe,UAAS,OAAO,gBAAgB,aAAa,QAAQ;AAE7G,MAAI,SAAS,OAAO,GAAI,UAAS,OAAO;AAExC,SAAO;AACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzBA,UAAM,QAAQ;AAad,UAAM,OAAO;AAMb,UAAM,cAAc,eAAe,mBAAmB;AACtD,UAAM,WAAW,YAAY,eAAe,IAAI;AAChD,UAAM,iBAAiB,SAAS,MAAO,SAAS,QAAQ,IAAI,MAAM,aAAc;AACxD,aAAS,MAAO,SAAS,QAAQ,IAAI,MAAM,cAAe;AAGlF,UAAM,cAAc,IAAwB,IAAI;AAChD,UAAM,cAAc,IAAI,KAAK;AAC7B,UAAM,aAAa,IAAwB,IAAI;AAC/C,UAAM,cAAc,IAAI,CAAC;AAGzB,UAAM,cAAc,IAAI,MAAM,MAAM;AACpC,UAAM,iBAAiB,IAAkB,IAAI;AAC7C,UAAM,eAAe,IAAkB,IAAI;AAG3C,UAAM,gBAAgB,SAAS,MAAO,MAAM,UAAU,MAAM,MAAM,OAAO,IAAI,IAAK;AAClF,UAAM,gBAAgB,SAAS,MAAO,MAAM,UAAU,MAAM,MAAM,OAAO,IAAI,IAAK;AAClF,UAAM,sBAAsB,SAAS,MAAA;;AAAM,0BAAM,kBAAN,mBAAqB,IAAI,CAAA,MAAK,MAAM,CAAC,OAAM,CAAA;AAAA,KAAE;AACxF,UAAM,iBAAiB,SAAS,MAAA;;AAAM,0BAAM,aAAN,mBAAgB,IAAI,CAAA,MAAK,MAAM,CAAC,OAAM,CAAA;AAAA,KAAE;AAG9E,UAAM,WAAW,SAAS,MAAM,YAAY,MAAM,QAAQ,CAAC;AAG3D,UAAM,0BAA0B,SAAS,MAAO,MAAM,YAAY,WAAW,IAAI,eAAe,KAAM;AAEtG,UAAM,iBAAiB;AAAA,MAAS,MAC9B,uBAAuB,wBAAwB,OAAO,YAAY,OAAO;AAAA,QACvE,WAAW,eAAe;AAAA,QAC1B,SAAS,aAAa;AAAA,QACtB,SAAS,cAAc;AAAA,QACvB,SAAS,cAAc;AAAA,QACvB,eAAe,oBAAoB;AAAA,QACnC,UAAU,eAAe;AAAA,MAAA,CAC1B;AAAA,IAAA;AAGH,UAAM,aAAa,SAAS,MAAM;AAChC,UAAI,CAAC,eAAe,SAAS,CAAC,aAAa,MAAO,QAAO;AACzD,aAAO,aAAa,MAAM,KAAK,eAAe,OAAO,KAAK;AAAA,IAC5D,CAAC;AAED,UAAM,qBAAqB,SAAS,MAAM;AACxC,UAAI,CAAC,eAAe,SAAS,CAAC,aAAa,MAAO,QAAO;AAAA,eAChD,eAAe,SAAS,CAAC,aAAa,cAAc,eAAe,MAAM,OAAO,MAAM,MAAM;AAAA,eAC5F,eAAe,SAAS,aAAa;AAC5C,eAAO,GAAG,eAAe,MAAM,OAAO,MAAM,MAAM,CAAC,GAAG,MAAM,SAAS,GAAG,aAAa,MAAM,OAAO,MAAM,MAAM,CAAC;AAAA,UAC5G,QAAO;AAAA,IACd,CAAC;AAGD,UAAM,sBAAsB,SAAS,MAAM;AACzC,UAAI,CAAC,cAAc,MAAO,QAAO;AACjC,YAAM,aAAa,QAAQ,IAAI,YAAY,OAAO,OAAO,EAAE,QAAQ,OAAO;AAC1E,aAAO,WAAW,QAAQ,cAAc,OAAO,OAAO;AAAA,IACxD,CAAC;AAED,UAAM,kBAAkB,SAAS,MAAM;AACrC,UAAI,CAAC,cAAc,MAAO,QAAO;AACjC,YAAM,YAAY,MAAA,EACf,IAAI,YAAY,QAAQ,wBAAwB,QAAQ,GAAG,OAAO,EAClE,MAAM,OAAO;AAChB,aAAO,UAAU,SAAS,cAAc,OAAO,OAAO;AAAA,IACxD,CAAC;AAGD,UAAM,EAAE,OAAO,YAAA,IAAgB,cAAA;AAC/B,UAAM,gBAAgB,IAA4B,EAAE;AAEpD,aAAS,iBAAiB;AACxB,UAAI,MAAM,YAAY,UAAU;AAC9B,sBAAc,QAAQ;AAAA,UACpB,uBAAuB,MAAM;AAAA,QAAA;AAE/B;AAAA,MACF;AAEA,eAAS,MAAM;AACb,cAAM,WAAW,kBAAkB,MAAM,gBAAgB,YAAY,OAAO,MAAM,QAAQ;AAE1F,sBAAc,QAAQ;AAAA,UACpB,QAAQ,GAAG,SAAS,IAAI;AAAA,UACxB,GAAI,SAAS,QAAQ,UAAa,EAAE,KAAK,GAAG,SAAS,GAAG,KAAA;AAAA,UACxD,GAAI,SAAS,WAAW,UAAa,EAAE,QAAQ,GAAG,SAAS,MAAM,KAAA;AAAA,UACjE,GAAI,SAAS,aAAa,EAAE,WAAW,SAAS,UAAA;AAAA,UAChD,uBAAuB,MAAM;AAAA,QAAA;AAAA,MAEjC,CAAC;AAAA,IACH;AAGA,UAAM,eAAe,IAA4B,EAAE;AACnD,UAAM,iBAAiB;AACvB,UAAM,cAAc,SAAS,MAAM;AACjC,UAAI,CAAC,WAAW,SAAS,CAAC,eAAe,MAAO,QAAO;AACvD,YAAM,SAAS,WAAW,MAAM,KAAK,KAAK,eAAe,OAAO,KAAK;AACrE,UAAI,UAAU,EAAG,QAAO;AACxB,aAAO,GAAG,MAAM,IAAI,WAAW,IAAI,UAAU,QAAQ;AAAA,IACvD,CAAC;AAED,UAAM,sBAAsB,SAAS,MAAM;AACzC,aACE,MAAM,eACN,WAAW,SACX,eAAe,SACf,CAAC,aAAa,SACd,WAAW,MAAM,KAAK,QAAQ,eAAe,OAAO,KAAK;AAAA,IAE7D,CAAC;AAGD,aAAS,cAAc,KAAkB;AACvC,YAAM,UAAU,CAAC,iBAAiB;AAElC,UAAI,CAAC,IAAI,eAAgB,SAAQ,KAAK,6BAA6B;AAEnE,UAAI,IAAI,WAAY,SAAQ,KAAK,0BAA0B;AAE3D,UAAI,IAAI,QAAS,SAAQ,KAAK,uBAAuB;AAErD,UAAI,IAAI,aAAa,CAAC,IAAI,WAAY,SAAQ,KAAK,yBAAyB;AAE5E,UAAI,IAAI,UAAW,SAAQ,KAAK,yBAAyB;AAEzD,UAAI,IAAI,YAAY;AAClB,YACE,eAAe,SACf,aAAa,SACb,IAAI,KAAK,OAAO,eAAe,OAAO,KAAK,KAC3C,IAAI,KAAK,OAAO,aAAa,OAAO,KAAK,GACzC;AACA,kBAAQ,KAAK,iCAAiC;AAAA,QACpD,WACa,eAAe,SAAS,IAAI,KAAK,OAAO,eAAe,OAAO,KAAK,GAAG;AAC7E,kBAAQ,KAAK,gCAAgC;AAAA,QACnD,WACa,aAAa,SAAS,IAAI,KAAK,OAAO,aAAa,OAAO,KAAK,GAAG;AACzE,kBAAQ,KAAK,8BAA8B;AAAA,QACjD,OACS;AAAE,kBAAQ,KAAK,0BAA0B;AAAA,QAClD;AAAA,MACE;AAEA,UAAI,IAAI,UAAW,SAAQ,KAAK,0BAA0B;AAG1D,UAAI,eAAe,SAAS,CAAC,aAAa,SAAS,WAAW,OAAO;AACnE,cAAM,QAAQ,eAAe;AAC7B,cAAM,UAAU,WAAW,MAAM;AACjC,YAAI,QAAQ,QAAQ,OAAO,KAAK,GAAG;AACjC,cAAI,IAAI,KAAK,OAAO,OAAO,KAAK,GAAG;AACjC,oBAAQ,KAAK,+BAA+B,6BAA6B;AAAA,UAC3E,WAAW,IAAI,KAAK,OAAO,SAAS,KAAK,GAAG;AAC1C,oBAAQ,KAAK,+BAA+B,2BAA2B;AAAA,UACzE,WAAW,IAAI,KAAK,QAAQ,OAAO,KAAK,KAAK,IAAI,KAAK,SAAS,SAAS,KAAK,GAAG;AAC9E,oBAAQ,KAAK,+BAA+B,8BAA8B;AAAA,UAC5E;AAAA,QACF,WAAW,QAAQ,SAAS,OAAO,KAAK,GAAG;AACzC,cAAI,IAAI,KAAK,OAAO,SAAS,KAAK,GAAG;AACnC,oBAAQ,KAAK,+BAA+B,6BAA6B;AAAA,UAC3E,WAAW,IAAI,KAAK,OAAO,OAAO,KAAK,GAAG;AACxC,oBAAQ,KAAK,+BAA+B,2BAA2B;AAAA,UACzE,WAAW,IAAI,KAAK,QAAQ,SAAS,KAAK,KAAK,IAAI,KAAK,SAAS,OAAO,KAAK,GAAG;AAC9E,oBAAQ,KAAK,+BAA+B,8BAA8B;AAAA,UAC5E;AAAA,QACF;AAAA,MACF;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,WAAW,KAAkB,OAAmB;AACvD,YAAM,eAAA;AACN,UAAI,IAAI,WAAY;AAEpB,WAAK,gBAAgB,IAAI,IAAI;AAG7B,UAAI,CAAC,eAAe,SAAU,eAAe,SAAS,aAAa,OAAQ;AAEzE,uBAAe,QAAQ,IAAI;AAC3B,qBAAa,QAAQ;AAAA,MACvB,OAAO;AAEL,YAAI,IAAI,KAAK,SAAS,eAAe,OAAO,KAAK,GAAG;AAElD,uBAAa,QAAQ,eAAe;AACpC,yBAAe,QAAQ,IAAI;AAAA,QAC7B,OAAO;AACL,uBAAa,QAAQ,IAAI;AAAA,QAC3B;AAGA,YAAI,MAAM,SAAS;AACjB,gBAAM,OAAO,aAAa,MAAM,KAAK,eAAe,OAAO,KAAK;AAChE,cAAI,OAAO,MAAM,SAAS;AAExB,2BAAe,QAAQ,IAAI;AAC3B,yBAAa,QAAQ;AACrB;AAAA,UACF;AAAA,QACF;AAEA,YAAI,MAAM,SAAS;AACjB,gBAAM,OAAO,aAAa,MAAM,KAAK,eAAe,OAAO,KAAK;AAChE,cAAI,OAAO,MAAM,SAAS;AAExB,2BAAe,QAAQ,IAAI;AAC3B,yBAAa,QAAQ;AACrB;AAAA,UACF;AAAA,QACF;AAEA,aAAK,iBAAiB,eAAe,OAAO,aAAa,KAAK;AAE9D,YAAI,MAAM,UAAW,OAAA;AAAA,MACvB;AAAA,IACF;AAEA,aAAS,eAAe,KAAkB,OAAmB;AAC3D,iBAAW,QAAQ;AAEnB,UAAI,MAAM,eAAe,eAAe,SAAS,CAAC,aAAa,6BAA6B,KAAK;AAAA,IACnG;AAEA,aAAS,sBAAsB,OAAmB;AAChD,YAAM,OAAQ,MAAM,OAAuB,sBAAA;AAC3C,mBAAa,QAAQ;AAAA,QACnB,MAAM,GAAG,KAAK,OAAO,KAAK,QAAQ,CAAC;AAAA,QACnC,KAAK,GAAG,KAAK,MAAM,EAAE;AAAA,QACrB,WAAW;AAAA,MAAA;AAAA,IAEf;AAEA,aAAS,iBAAiB;AACxB,iBAAW,QAAQ;AAAA,IACrB;AAEA,aAAS,gBAAgB;AACvB,UAAI,oBAAoB,MAAO,aAAY;AAAA,IAC7C;AAEA,aAAS,YAAY;AACnB,UAAI,gBAAgB,MAAO,aAAY;AAAA,IACzC;AAEA,aAAS,QAAQ;AACf,UAAI,YAAY,MAAO;AACvB,kBAAY,QAAQ;AACpB,iBAAW,MAAM;AACf,oBAAY,QAAQ;AACpB,aAAK,iBAAiB,KAAK;AAC3B,oBAAY,QAAQ;AAAA,MACtB,GAAG,GAAG;AAAA,IACR;AAEA,aAAS,QAAQ;AACf,UAAI,eAAe,SAAS,aAAa,OAAO;AAC9C,aAAK,qBAAqB;AAAA,UACxB,WAAW,eAAe,MAAM,OAAO,MAAM,MAAM;AAAA,UACnD,SAAS,aAAa,MAAM,OAAO,MAAM,MAAM;AAAA,QAAA,CAChD;AAAA,MACH;AACA,YAAA;AAAA,IACF;AAEA,aAAS,SAAS;;AAEhB,WAAI,WAAM,eAAN,mBAAkB,UAAW,gBAAe,QAAQ,MAAM,MAAM,WAAW,SAAS;AAAA,0BACpE,QAAQ;AAE5B,WAAI,WAAM,eAAN,mBAAkB,QAAS,cAAa,QAAQ,MAAM,MAAM,WAAW,OAAO;AAAA,wBAChE,QAAQ;AAE1B,YAAA;AAAA,IACF;AAGA;AAAA,MACE,MAAM,MAAM;AAAA,MACZ,CAAC,WAAW;AACV,oBAAY,QAAQ;AACpB,YAAI,OAAQ,gBAAA;AAAA,MACd;AAAA,IAAA;AAIF;AAAA,MACE,MAAM,MAAM;AAAA,MACZ,CAAC,WAAW;AACV,YAAI,OAAQ,OAAA;AAAA,MACd;AAAA,IAAA;AAGF;AAAA,MACE,MAAM,MAAM;AAAA,MACZ,CAAC,WAAW;AACV,YAAI,iCAAQ,UAAW,gBAAe,QAAQ,MAAM,OAAO,SAAS;AAAA,4BAChD,QAAQ;AAE5B,YAAI,iCAAQ,QAAS,cAAa,QAAQ,MAAM,OAAO,OAAO;AAAA,0BAC5C,QAAQ;AAAA,MAC5B;AAAA,MACA,EAAE,WAAW,MAAM,MAAM,KAAA;AAAA,IAAK;AAGhC,UAAM,CAAC,aAAa,WAAW,GAAG,MAAM;AACtC,UAAI,YAAY,MAAO,gBAAA;AAAA,IACzB,CAAC;AAGD,mBAAe,aAAa,MAAM;AAChC,UAAI,YAAY,SAAS,MAAM,YAAY,SAAU,OAAA;AAAA,IACvD,CAAC;AAGD,aAAS,cAAc,GAAkB;AACvC,UAAI,CAAC,YAAY,MAAO;AAExB,UAAI,EAAE,QAAQ,SAAU,OAAA;AAAA,IAC1B;AAEA,cAAU,MAAM;AACd,eAAS,iBAAiB,WAAW,aAAa;AAClD,UAAI,MAAM,OAAQ,gBAAA;AAAA,IACpB,CAAC;AAED,gBAAY,MAAM;AAChB,eAAS,oBAAoB,WAAW,aAAa;AAAA,IACvD,CAAC;;0BAICgB,YAuKWC,UAAA,EAvKD,IAAG,UAAM;AAAA,QACjBC,YAqKaC,YAAA;AAAA,UArKA,MAAM,QAAA,YAAO,WAAA,aAAA;AAAA,QAAA;2BACxB,MAAA;;AAmKM;AAAA,cAnKK,YAAA,SAAe,YAAA,SAA1BC,aAAAC,mBAmKM,OAnKNC,cAmKM;AAAA,gBAjKJC,mBAAmD,OAAA;AAAA,kBAA9C,OAAM;AAAA,kBAAwB,SAAO;AAAA,gBAAA;gBAG1CA,mBA6JM,OAAA;AAAA,2BA5JA;AAAA,kBAAJ,KAAI;AAAA,kBACH,gBAAcC,MAAA,cAAA;AAAA,kBACf,OAAKC,eAAA,CAAC,yBAAuB,CACpB,QAAA,YAAO,WAAA,uBAAA,EAAA,CAAA,CAAA;AAAA,kBACf,2BAAY,cAAA,OAAa,GAAK,qBAAW,cAAgB,MAAM,aAAA,CAAY;AAAA,gBAAA;kBAG5EF,mBAgCM,OAhCN,YAgCM;AAAA,oBA/BJA,mBA8BM,OA9BN,YA8BM;AAAA,sBA7BJA,mBAOM,OAAA,MAAA;AAAA,wBANK,QAAA,sBAATF,mBAEI,KAFJ,YAEIK,gBADC,QAAA,KAAK,GAAA,CAAA;wBAEVH,mBAEI,KAFJ,YAEIG,gBADC,mBAAA,SAAsB,QAAA,eAAW,cAAA,GAAA,CAAA;AAAA,sBAAA;sBAG/B,WAAA,QAAU,KAAnBN,aAAAC,mBAEI,KAFJ,YAEIK,gBADC,gBAAU,IAAG,sBAAI,WAAA,UAAU,IAAA,UAAA,QAAA,GAAA,CAAA;;;kBAwBpCH,mBA0GM,OA1GN,YA0GM;AAAA,oBAzGJA,mBA+EM,OA/EN,YA+EM;AAAA,uBA9EJH,UAAA,IAAA,GAAAC,mBA6EMM,UAAA,MAAAC,WA5EyB,eAAA,OAAc,CAAnC,WAAW,UAAK;4CAD1BP,mBA6EM,OAAA;AAAA,0BA3EH,KAAK,UAAU,MAAM,OAAM,SAAA;AAAA,0BAC5B,OAAM;AAAA,wBAAA;0BAGNE,mBAgDM,OAhDN,aAgDM;AAAA,4BA9CI,QAAA,wBAAwB,UAAK,kBADrCF,mBAmBS,UAAA;AAAA;8BAjBP,OAAM;AAAA,8BACL,WAAW,oBAAA;AAAA,8BACZ,cAAW;AAAA,8BACV,SAAO;AAAA,4BAAA;8BAERE,mBAWM,OAAA;AAAA,gCAVJ,OAAM;AAAA,gCACN,OAAM;AAAA,gCACN,SAAQ;AAAA,gCACR,MAAK;AAAA,8BAAA;gCAELA,mBAIE,QAAA;AAAA,kCAHA,aAAU;AAAA,kCACV,GAAE;AAAA,kCACF,aAAU;AAAA,gCAAA;;qDAIhBH,UAAA,GAAAC,mBAAmC,OAAnC,WAAmC;AAAA,4BAEnCE,mBAEO,QAFP,aAEOG,gBADF,UAAU,MAAM,OAAM,WAAA,CAAA,GAAA,CAAA;AAAA,4BAInB,QAAA,YAAO,YAAiB,UAAU,eAAA,MAAe,SAAM,kBAD/DL,mBAmBS,UAAA;AAAA;8BAjBP,OAAM;AAAA,8BACL,WAAW,gBAAA;AAAA,8BACZ,cAAW;AAAA,8BACV,SAAO;AAAA,4BAAA;8BAERE,mBAWM,OAAA;AAAA,gCAVJ,OAAM;AAAA,gCACN,OAAM;AAAA,gCACN,SAAQ;AAAA,gCACR,MAAK;AAAA,8BAAA;gCAELA,mBAIE,QAAA;AAAA,kCAHA,aAAU;AAAA,kCACV,GAAE;AAAA,kCACF,aAAU;AAAA,gCAAA;;qDAIhBH,UAAA,GAAAC,mBAAmC,OAAnC,WAAmC;AAAA,0BAAA;0BAIrCE,mBAIM,OAJN,aAIM;AAAA,8CAHJF,mBAEMM,UAAA,MAAAC,WAFiB,SAAA,OAAQ,CAAnB,YAAO;kDAAnBP,mBAEM,OAAA;AAAA,gCAF4B,KAAK;AAAA,gCAAS,OAAM;AAAA,8BAAA,mBACjD,OAAO,GAAA,CAAA;AAAA;;0BAKdE,mBAYM,OAAA;AAAA,4BAZD,OAAM;AAAA,4BAAoB,cAAY;AAAA,0BAAA;6BACzCH,UAAA,IAAA,GAAAC,mBAUSM,UAAA,MAAAC,WATO,UAAU,OAAjB,QAAG;kDADZP,mBAUS,UAAA;AAAA,gCARN,KAAK,IAAI,KAAK,KAAA;AAAA,gCACd,OAAKI,eAAE,cAAc,GAAG,CAAA;AAAA,gCACxB,UAAU,IAAI;AAAA,gCACd,cAAY,IAAI,KAAK,OAAM,cAAA;AAAA,gCAC3B,SAAO,CAAA,MAAK,WAAW,KAAK,CAAC;AAAA,gCAC7B,cAAY,CAAA,MAAK,eAAe,KAAK,CAAC;AAAA,8BAAA;gCAEvCF,mBAAkC,QAAA,MAAAG,gBAAzB,IAAI,KAAK,KAAA,CAAI,GAAA,CAAA;AAAA,8BAAA;;;;;;qBAQrB,QAAA,aADTN,aAAAC,mBAsBM,OAtBN,aAsBM;AAAA,sBAlBJE,mBAKS,UAAA;AAAA,wBAJP,OAAM;AAAA,wBACL,SAAO;AAAA,sBAAA,GACT,UAED;AAAA,sBACAA,mBAWS,UAAA;AAAA,wBAVP,OAAM;AAAA,wBACL,OAAKM,eAAA;AAAA,6CAAuC,aAAA,gBAAA,mBAAW,6BAAmD,QAAA,YAAW,iBAAA,CAAA;;wBAKrH,UAAQ,CAAG,eAAA,SAAc,CAAK,aAAA;AAAA,wBAC9B,SAAO;AAAA,sBAAA,GACT,WAED,IAAA,WAAA;AAAA,oBAAA;;kBAKO,oBAAA,sBAAXR,mBAIM,OAAA;AAAA;oBAJ0B,OAAM;AAAA,oBAAuB,sBAAO,aAAA,KAAY;AAAA,kBAAA;oBAC9EE,mBAEM,OAFN,aAEMG,gBADD,YAAA,KAAW,GAAA,CAAA;AAAA,kBAAA;;;;;;;;;;;;;;;;;;;;;ACjc5B,MAAM,aACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAzEF,aAAS,SAAS,KAA4B;AAE5C,YAAM,IAAI,QAAQ,MAAM,EAAE;AAG1B,UAAI,IAAI,WAAW,GAAG;AACpB,cAAM,IACH,MAAM,EAAE,EACR,IAAI,UAAQ,OAAO,IAAI,EACvB,KAAK,EAAE;AAAA,MACZ;AAEA,UAAI,IAAI,WAAW,GAAG;AACpB,gBAAQ,KAAK,oCAAoC,GAAG,EAAE;AACtD,eAAO;AAAA,MACT;AAEA,YAAM,IAAI,OAAO,SAAS,IAAI,UAAU,GAAG,CAAC,GAAG,EAAE;AACjD,YAAM,IAAI,OAAO,SAAS,IAAI,UAAU,GAAG,CAAC,GAAG,EAAE;AACjD,YAAM,IAAI,OAAO,SAAS,IAAI,UAAU,GAAG,CAAC,GAAG,EAAE;AAEjD,UAAI,OAAO,MAAM,CAAC,KAAK,OAAO,MAAM,CAAC,KAAK,OAAO,MAAM,CAAC,GAAG;AACzD,eAAO;AAAA,MACT;AAEA,aAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;AAAA,IACvB;AAEA,UAAM,QAAQ;AAOd,UAAM,OAAO;AAMb,UAAM,WAAW,IAA6B,IAAI;AAClD,UAAM,SAAS,IAAI,KAAK;AAGxB,aAAS,WAAW,OAAgB;AAClC,UAAI,CAAC,MAAO,QAAO,EAAE,WAAW,IAAI,SAAS,GAAA;AAE7C,YAAM,QAAQ,MAAM,MAAM,KAAK;AAC/B,UAAI,MAAM,WAAW,GAAG;AACtB,eAAO;AAAA,UACL,WAAW,MAAM,CAAC,EAAE,KAAA;AAAA,UACpB,SAAS,MAAM,CAAC,EAAE,KAAA;AAAA,QAAK;AAAA,MAE3B;AACA,aAAO,EAAE,WAAW,IAAI,SAAS,GAAA;AAAA,IACnC;AAEA;AAAA,MACE,MAAM,+BAAO;AAAA,MACb,CAAC,QAAQ;AACP,YAAI,IAAK,UAAS,MAAM,KAAA;AAAA,MAC1B;AAAA,IAAA;AAEF,UAAM,aAAa,IAAI,WAAW,MAAM,UAAU,CAAC;AAEnD,UAAM,eAAe,SAAS,MAAM;AAClC,aAAO,MAAM,cAAc;AAAA,IAC7B,CAAC;AAOD,aAAS,aAAa;AACpB,aAAO,QAAQ;AAAA,IACjB;AAEA,aAAS,UAAU;AACjB,WAAK,SAAS;AACd,iBAAA;AAAA,IACF;AAEA,aAAS,aAAa,OAA+C;AACnE,iBAAW,QAAQ;AACnB,YAAM,YAAY,GAAG,MAAM,SAAS,MAAM,MAAM,OAAO;AACvD,WAAK,qBAAqB,SAAS;AAAA,IACrC;AAEA,aAAS,aAAa;AACpB,iBAAW,QAAQ,EAAE,WAAW,IAAI,SAAS,GAAA;AAC7C,WAAK,qBAAqB,EAAE;AAC5B,aAAO,QAAQ;AAAA,IACjB;AAEA;AAAA,MACE,MAAM,MAAM;AAAA,MACZ,CAAC,WAAW;AACV,mBAAW,QAAQ,WAAW,MAAM;AAAA,MACtC;AAAA,IAAA;AAIF,UAAM,cAAc,SAAS,MAAM;AACjC,YAAM,SAAiC,CAAA;AAEvC,UAAI,MAAM,cAAc;AACtB,cAAM,MAAM,SAAS,MAAM,YAAY;AACvC,YAAI,KAAK;AACP,iBAAO,iBAAiB,IAAI;AAAA,QAC9B;AAAA,MACF;AAEA,UAAI,MAAM,gBAAgB;AACxB,cAAM,MAAM,SAAS,MAAM,cAAc;AACzC,YAAI,KAAK;AACP,iBAAO,mBAAmB,IAAI;AAAA,QAChC;AAAA,MACF;AAEA,UAAI,MAAM,YAAY;AACpB,eAAO,2BAA2B,IAAI,MAAM;AAAA,MAC9C;AAEA,aAAO;AAAA,IACT,CAAC;;0BAICL,mBAuDM,OAvDNS,WAuDM,KAAA,QAvDa;AAAA,QAAE,OAAM;AAAA,QAA6B,OAAO,YAAA;AAAA,MAAA;QAC7DP,mBAiCM,OAjCN,YAiCM;AAAA,UAhCJA,mBAWE,SAAA;AAAA,YAVC,IAAI,QAAA;AAAA,qBACD;AAAA,YAAJ,KAAI;AAAA,YACJ,MAAK;AAAA,YACJ,OAAO,aAAA;AAAA,YACP,aAAa,QAAA;AAAA,YACb,UAAU,QAAA;AAAA,YACV,MAAM,QAAA;AAAA,YACN,OAAKE,gBAAE,+BAAO,SAAQ,MAAM,QAAQ,UAAU;AAAA,YAC9C,SAAO;AAAA,YACP;AAAA,UAAA;UAIK,QAAA,mBAAmB,aAAA,sBAD3BJ,mBAkBS,UAAA;AAAA;YAhBP,MAAK;AAAA,YACL,OAAM;AAAA,YACL,uBAAY,YAAU,CAAA,MAAA,CAAA;AAAA,YACvB,cAAW;AAAA,UAAA;YAEXE,mBAUM,OAAA;AAAA,cATd,OAAM;AAAA,cACN,OAAM;AAAA,cACN,SAAQ;AAAA,cACR,MAAK;AAAA,YAAA;cACKA,mBAIE,QAAA;AAAA,gBAHA,aAAU;AAAA,gBACV,GAAE;AAAA,gBACF,aAAU;AAAA,cAAA;;;;QAMlBL,YAkBE,aAAA;AAAA,sBAjBS,WAAA;AAAA;kDAAA,WAAU,QAAA;AAAA,YAgBE;AAAA,UAAA;AAAA,UAfb,WAAS,OAAA;AAAA,mEAAA,OAAM,QAAA;AAAA,UACtB,mBAAiB,SAAA;AAAA,UACjB,YAAU,QAAA;AAAA,UACV,YAAU,QAAA;AAAA,UACV,YAAU,QAAA;AAAA,UACV,YAAU,QAAA;AAAA,UACV,mBAAiB,QAAA,kBAAc;AAAA,UAC/B,oBAAkB,QAAA,mBAAe;AAAA,UACjC,QAAQ,QAAA,UAAM;AAAA,UACd,cAAY,QAAA,cAAS;AAAA,UACrB,gBAAc,QAAA,gBAAW;AAAA,UACzB,SAAS,QAAA;AAAA,UACT,OAAO,MAAM;AAAA,UACb,gBAAc,YAAA;AAAA,UACd,iBAAe,QAAA;AAAA,QAAA;;;;;;AC9Kf,SAAS,eAAe,YAAiB,UAAqC,IAAI;AACvF,QAAM,SAAS,IAAI,KAAK;AACxB,QAAM,YAAY,IAAe,EAAE,WAAW,IAAI,SAAS,IAAI;AAE/D,QAAM,OAAO,MAAM;AACjB,WAAO,QAAQ;AAAA,EACjB;AACA,QAAM,QAAQ,MAAM;AAClB,WAAO,QAAQ;AAAA,EACjB;AACA,QAAM,SAAS,MAAM;AACnB,WAAO,QAAQ,CAAC,OAAO;AAAA,EACzB;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;","x_google_ignoreList":[0,1,2,3]}
|
|
1
|
+
{"version":3,"file":"rangepicker.js","sources":["../../../node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/plugin/isBetween.js","../../../node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/plugin/isSameOrAfter.js","../../../node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/plugin/isSameOrBefore.js","../../../node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/plugin/customParseFormat.js","../src/utils/date.ts","../src/utils/calendar.ts","../src/utils/position.ts","../src/Rangepicker.vue","../src/RangepickerInput.vue","../src/index.ts"],"sourcesContent":["!function(e,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isBetween=i()}(this,(function(){\"use strict\";return function(e,i,t){i.prototype.isBetween=function(e,i,s,f){var n=t(e),o=t(i),r=\"(\"===(f=f||\"()\")[0],u=\")\"===f[1];return(r?this.isAfter(n,s):!this.isBefore(n,s))&&(u?this.isBefore(o,s):!this.isAfter(o,s))||(r?this.isBefore(n,s):!this.isAfter(n,s))&&(u?this.isAfter(o,s):!this.isBefore(o,s))}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isSameOrAfter=t()}(this,(function(){\"use strict\";return function(e,t){t.prototype.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)}}}));","!function(e,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isSameOrBefore=i()}(this,(function(){\"use strict\";return function(e,i){i.prototype.isSameOrBefore=function(e,i){return this.isSame(e,i)||this.isBefore(e,i)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_customParseFormat=t()}(this,(function(){\"use strict\";var e={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"},t=/(\\[[^[]*\\])|([-_:/.,()\\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\\d/,r=/\\d\\d/,i=/\\d\\d?/,o=/\\d*[^-_:/,()\\s\\d]+/,s={},a=function(e){return(e=+e)+(e>68?1900:2e3)};var f=function(e){return function(t){this[e]=+t}},h=[/[+-]\\d\\d:?(\\d\\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if(\"Z\"===e)return 0;var t=e.match(/([+-]|\\d\\d)/g),n=60*t[1]+(+t[2]||0);return 0===n?0:\"+\"===t[0]?-n:n}(e)}],u=function(e){var t=s[e];return t&&(t.indexOf?t:t.s.concat(t.f))},d=function(e,t){var n,r=s.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?\"pm\":\"PM\");return n},c={A:[o,function(e){this.afternoon=d(e,!1)}],a:[o,function(e){this.afternoon=d(e,!0)}],Q:[n,function(e){this.month=3*(e-1)+1}],S:[n,function(e){this.milliseconds=100*+e}],SS:[r,function(e){this.milliseconds=10*+e}],SSS:[/\\d{3}/,function(e){this.milliseconds=+e}],s:[i,f(\"seconds\")],ss:[i,f(\"seconds\")],m:[i,f(\"minutes\")],mm:[i,f(\"minutes\")],H:[i,f(\"hours\")],h:[i,f(\"hours\")],HH:[i,f(\"hours\")],hh:[i,f(\"hours\")],D:[i,f(\"day\")],DD:[r,f(\"day\")],Do:[o,function(e){var t=s.ordinal,n=e.match(/\\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\\[|\\]/g,\"\")===e&&(this.day=r)}],w:[i,f(\"week\")],ww:[r,f(\"week\")],M:[i,f(\"month\")],MM:[r,f(\"month\")],MMM:[o,function(e){var t=u(\"months\"),n=(u(\"monthsShort\")||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[o,function(e){var t=u(\"months\").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t}],Y:[/[+-]?\\d+/,f(\"year\")],YY:[r,function(e){this.year=a(e)}],YYYY:[/\\d{4}/,f(\"year\")],Z:h,ZZ:h};function l(n){var r,i;r=n,i=s&&s.formats;for(var o=(n=r.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var o=r&&r.toUpperCase();return n||i[r]||e[r]||i[o].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),a=o.length,f=0;f<a;f+=1){var h=o[f],u=c[h],d=u&&u[0],l=u&&u[1];o[f]=l?{regex:d,parser:l}:h.replace(/^\\[|\\]$/g,\"\")}return function(e){for(var t={},n=0,r=0;n<a;n+=1){var i=o[n];if(\"string\"==typeof i)r+=i.length;else{var s=i.regex,f=i.parser,h=e.slice(r),u=s.exec(h)[0];f.call(t,u),e=e.replace(u,\"\")}}return function(e){var t=e.afternoon;if(void 0!==t){var n=e.hours;t?n<12&&(e.hours+=12):12===n&&(e.hours=0),delete e.afternoon}}(t),t}}return function(e,t,n){n.p.customParseFormat=!0,e&&e.parseTwoDigitYear&&(a=e.parseTwoDigitYear);var r=t.prototype,i=r.parse;r.parse=function(e){var t=e.date,r=e.utc,o=e.args;this.$u=r;var a=o[1];if(\"string\"==typeof a){var f=!0===o[2],h=!0===o[3],u=f||h,d=o[2];h&&(d=o[2]),s=this.$locale(),!f&&d&&(s=n.Ls[d]),this.$d=function(e,t,n,r){try{if([\"x\",\"X\"].indexOf(t)>-1)return new Date((\"X\"===t?1e3:1)*e);var i=l(t)(e),o=i.year,s=i.month,a=i.day,f=i.hours,h=i.minutes,u=i.seconds,d=i.milliseconds,c=i.zone,m=i.week,M=new Date,Y=a||(o||s?1:M.getDate()),p=o||M.getFullYear(),v=0;o&&!s||(v=s>0?s-1:M.getMonth());var D,w=f||0,g=h||0,y=u||0,L=d||0;return c?new Date(Date.UTC(p,v,Y,w,g,y,L+60*c.offset*1e3)):n?new Date(Date.UTC(p,v,Y,w,g,y,L)):(D=new Date(p,v,Y,w,g,y,L),m&&(D=r(D).week(m).toDate()),D)}catch(e){return new Date(\"\")}}(t,a,r,n),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(a)&&(this.$d=new Date(\"\")),s={}}else if(a instanceof Array)for(var c=a.length,m=1;m<=c;m+=1){o[1]=a[m-1];var M=n.apply(this,o);if(M.isValid()){this.$d=M.$d,this.$L=M.$L,this.init();break}m===c&&(this.$d=new Date(\"\"))}else i.call(this,e)}}}));","import type { Dayjs } from 'dayjs'\nimport dayjs from 'dayjs'\nimport isBetween from 'dayjs/plugin/isBetween'\nimport isSameOrAfter from 'dayjs/plugin/isSameOrAfter'\nimport isSameOrBefore from 'dayjs/plugin/isSameOrBefore'\nimport customParseFormat from 'dayjs/plugin/customParseFormat'\n\ndayjs.extend(isBetween)\ndayjs.extend(isSameOrAfter)\ndayjs.extend(isSameOrBefore)\ndayjs.extend(customParseFormat)\n\nexport { dayjs }\nexport type { Dayjs }\n\nexport function parseDate(date: string | Date | Dayjs, format?: string): Dayjs {\n if (dayjs.isDayjs(date)) return date\n return format ? dayjs(date, format) : dayjs(date)\n}\n\nexport function formatDate(date: Dayjs, format: string = 'YYYY-MM-DD'): string {\n return date.format(format)\n}\n\nexport function isDateInRange(date: Dayjs, start: Dayjs, end: Dayjs): boolean {\n return date.isBetween(start, end, 'day', '[]')\n}\n\nexport function getDaysBetween(start: Dayjs, end: Dayjs): number {\n return end.diff(start, 'day')\n}\n\nexport function isWeekend(date: Dayjs): boolean {\n const day = date.day()\n return day === 0 || day === 6 // Sunday or Saturday\n}\n\nexport function isToday(date: Dayjs): boolean {\n return date.isSame(dayjs(), 'day')\n}\n","import type { CalendarDay, CalendarMonth } from '../types'\nimport { type Dayjs, dayjs } from './date'\n\nexport function getMonthDays(\n monthOffset: number,\n currentDate: Dayjs = dayjs(),\n): {\n month: Dayjs\n days: Array<{\n date: Dayjs\n isPrevMonth: boolean\n isCurrentMonth: boolean\n isNextMonth: boolean\n }>\n} {\n const month = currentDate.add(monthOffset, 'month').startOf('month')\n const firstDayOfMonth = month.day()\n const daysInMonth = month.daysInMonth()\n const daysInPrevMonth = month.subtract(1, 'month').daysInMonth()\n\n const days: Array<{\n date: Dayjs\n isPrevMonth: boolean\n isCurrentMonth: boolean\n isNextMonth: boolean\n }> = []\n\n // Previous month days\n for (let i = firstDayOfMonth - 1; i >= 0; i--) {\n const date = month.subtract(1, 'month').date(daysInPrevMonth - i)\n days.push({\n date,\n isPrevMonth: true,\n isCurrentMonth: false,\n isNextMonth: false,\n })\n }\n\n // Current month days\n for (let i = 1; i <= daysInMonth; i++) {\n const date = month.date(i)\n days.push({\n date,\n isPrevMonth: false,\n isCurrentMonth: true,\n isNextMonth: false,\n })\n }\n\n // Next month days to complete the grid\n const remainingDays = 42 - days.length // 6 weeks * 7 days\n for (let i = 1; i <= remainingDays; i++) {\n const date = month.add(1, 'month').date(i)\n days.push({\n date,\n isPrevMonth: false,\n isCurrentMonth: false,\n isNextMonth: true,\n })\n }\n\n return { month, days }\n}\n\nexport function createCalendarDay(\n date: Dayjs,\n isPrevMonth: boolean,\n isCurrentMonth: boolean,\n isNextMonth: boolean,\n options: {\n startDate?: Dayjs | null\n endDate?: Dayjs | null\n minDate?: Dayjs | null\n maxDate?: Dayjs | null\n disabledDates?: Dayjs[]\n holidays?: Dayjs[]\n } = {},\n): CalendarDay {\n const {\n startDate = null,\n endDate = null,\n minDate = null,\n maxDate = null,\n disabledDates = [],\n holidays = [],\n } = options\n\n const isDisabled =\n (minDate && date.isBefore(minDate, 'day')) ||\n (maxDate && date.isAfter(maxDate, 'day')) ||\n disabledDates.some(d => d.isSame(date, 'day'))\n\n const isHoliday = holidays.some(h => h.isSame(date, 'day'))\n\n const isSelected = (startDate && date.isSame(startDate, 'day')) || (endDate && date.isSame(endDate, 'day'))\n\n const isInRange = startDate && endDate && date.isAfter(startDate, 'day') && date.isBefore(endDate, 'day')\n\n const isToday = date.isSame(dayjs(), 'day')\n\n const isWeekend = date.day() === 0 || date.day() === 6\n\n return {\n date,\n isPrevMonth,\n isCurrentMonth,\n isNextMonth,\n isDisabled,\n isHoliday,\n isWeekend,\n isSelected,\n isInRange,\n isToday,\n }\n}\n\nexport function generateCalendarMonths(\n numberOfMonths: number,\n startOffset: number = 0,\n options: {\n startDate?: Dayjs | null\n endDate?: Dayjs | null\n minDate?: Dayjs | null\n maxDate?: Dayjs | null\n disabledDates?: Dayjs[]\n holidays?: Dayjs[]\n } = {},\n): CalendarMonth[] {\n const months: CalendarMonth[] = []\n\n for (let i = 0; i < numberOfMonths; i++) {\n const { month, days } = getMonthDays(startOffset + i)\n\n const calendarDays = days.map(day =>\n createCalendarDay(day.date, day.isPrevMonth, day.isCurrentMonth, day.isNextMonth, options),\n )\n\n months.push({\n month,\n days: calendarDays,\n })\n }\n\n return months\n}\n\nexport function getWeekDays(locale: string = 'en', format: 'short' | 'narrow' = 'short'): string[] {\n const weekStart = dayjs().startOf('week')\n const days: string[] = []\n\n for (let i = 0; i < 7; i++) {\n const day = weekStart.add(i, 'day')\n days.push(format === 'short' ? day.format('ddd') : day.format('dd'))\n }\n\n return days\n}\n","export interface PositionResult {\n top?: number\n bottom?: number\n left: number\n transform?: string\n}\n\nexport function calculatePosition(\n triggerElement: HTMLElement | null,\n calendarElement: HTMLElement | null,\n preferredPosition: 'auto' | 'top' | 'bottom' = 'auto',\n): PositionResult {\n if (!triggerElement || !calendarElement) return { left: 0 }\n\n const triggerRect = triggerElement.getBoundingClientRect()\n const calendarRect = calendarElement.getBoundingClientRect()\n const viewportHeight = window.innerHeight\n const viewportWidth = window.innerWidth\n\n // Calculate available space\n const spaceAbove = triggerRect.top\n const spaceBelow = viewportHeight - triggerRect.bottom\n\n // Determine vertical position\n const position: PositionResult = { left: triggerRect.left }\n\n if (preferredPosition === 'auto') {\n if (spaceBelow >= calendarRect.height || spaceBelow > spaceAbove) {\n // Position below\n position.top = triggerRect.bottom + 8\n } else {\n // Position above\n position.bottom = viewportHeight - triggerRect.top + 8\n }\n } else if (preferredPosition === 'top') {\n position.bottom = viewportHeight - triggerRect.top + 8\n } else {\n position.top = triggerRect.bottom + 8\n }\n\n // Adjust horizontal position to keep within viewport\n if (position.left + calendarRect.width > viewportWidth) position.left = viewportWidth - calendarRect.width - 16\n\n if (position.left < 16) position.left = 16\n\n return position\n}\n","<script setup lang=\"ts\">\nimport {\n computed,\nnextTick,\nonMounted,\nonUnmounted,\nref,\nwatch,\n} from 'vue'\nimport {\n breakpointsTailwind,\nonClickOutside,\nuseBreakpoints,\nuseWindowSize,\n} from '@vueuse/core'\nimport type { Dayjs } from 'dayjs'\nimport { dayjs } from './utils/date'\nimport { generateCalendarMonths, getWeekDays } from './utils/calendar'\nimport { calculatePosition } from './utils/position'\nimport type { CalendarDay, RangepickerProps } from './types'\n\nconst props = withDefaults(defineProps<RangepickerProps>(), {\n isOpen: false,\n variant: 'desktop',\n valueOfMonths: 2,\n valueOfColumns: 2,\n format: 'YYYY-MM-DD',\n delimiter: ' - ',\n showTooltip: true,\n autoApply: false,\n position: 'auto',\n borderRadius: '0.75rem',\n})\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: { startDate: string; endDate: string }]\n 'update:isOpen': [value: boolean]\n \"dateSelected\": [date: Dayjs]\n \"rangeSelected\": [start: Dayjs, end: Dayjs]\n}>()\nconst breakpoints = useBreakpoints(breakpointsTailwind)\nconst isMobile = breakpoints.smallerOrEqual('lg')\nconst numberOfMonths = computed(() => (isMobile.value ? 1 : props.valueOfMonths))\nconst numberOfColumns = computed(() => (isMobile.value ? 1 : props.valueOfColumns))\n\n// Refs\nconst calendarRef = ref<HTMLElement | null>(null)\nconst isFadingOut = ref(false)\nconst hoveredDay = ref<CalendarDay | null>(null)\nconst monthOffset = ref(0)\n\n// Local state\nconst localIsOpen = ref(props.isOpen)\nconst localStartDate = ref<Dayjs | null>(null)\nconst localEndDate = ref<Dayjs | null>(null)\n\n// Parse dates from props\nconst parsedMinDate = computed(() => (props.minDate ? dayjs(props.minDate) : null))\nconst parsedMaxDate = computed(() => (props.maxDate ? dayjs(props.maxDate) : null))\nconst parsedDisabledDates = computed(() => props.disabledDates?.map(d => dayjs(d)) || [])\nconst parsedHolidays = computed(() => props.holidays?.map(h => dayjs(h)) || [])\n\n// Calendar data\nconst weekdays = computed(() => getWeekDays('en', 'narrow'))\n\n// For mobile view, show only 1 month\nconst effectiveNumberOfMonths = computed(() => (props.variant === 'mobile' ? 1 : numberOfMonths.value))\n\nconst calendarMonths = computed(() =>\n generateCalendarMonths(effectiveNumberOfMonths.value, monthOffset.value, {\n startDate: localStartDate.value,\n endDate: localEndDate.value,\n minDate: parsedMinDate.value,\n maxDate: parsedMaxDate.value,\n disabledDates: parsedDisabledDates.value,\n holidays: parsedHolidays.value,\n }),\n)\n\nconst nightCount = computed(() => {\n if (!localStartDate.value || !localEndDate.value) return 0\n return localEndDate.value.diff(localStartDate.value, 'day')\n})\n\nconst formattedDateRange = computed(() => {\n if (!localStartDate.value && !localEndDate.value) return ''\n else if (localStartDate.value && !localEndDate.value) return localStartDate.value.format(props.format)\n else if (localStartDate.value && localEndDate.value)\n return `${localStartDate.value.format(props.format)}${props.delimiter}${localEndDate.value.format(props.format)}`\n else return ''\n})\n\n// Navigation\nconst canNavigatePrevious = computed(() => {\n if (!parsedMinDate.value) return true\n const firstMonth = dayjs().add(monthOffset.value, 'month').startOf('month')\n return firstMonth.isAfter(parsedMinDate.value, 'month')\n})\n\nconst canNavigateNext = computed(() => {\n if (!parsedMaxDate.value) return true\n const lastMonth = dayjs()\n .add(monthOffset.value + effectiveNumberOfMonths.value - 1, 'month')\n .endOf('month')\n return lastMonth.isBefore(parsedMaxDate.value, 'month')\n})\n\n// Positioning\nconst { width: windowWidth } = useWindowSize()\nconst calendarStyle = ref<Record<string, string>>({})\n\nfunction updatePosition() {\n if (props.variant === 'mobile') {\n calendarStyle.value = {\n '--border-radius-day': props.borderRadius,\n }\n return\n }\n\n nextTick(() => {\n const position = calculatePosition(props.triggerElement, calendarRef.value, props.position)\n\n calendarStyle.value = {\n \"left\": `${position.left}px`,\n ...(position.top !== undefined && { top: `${position.top}px` }),\n ...(position.bottom !== undefined && { bottom: `${position.bottom}px` }),\n ...(position.transform && { transform: position.transform }),\n '--border-radius-day': props.borderRadius,\n }\n })\n}\n\n// Tooltip\nconst tooltipStyle = ref<Record<string, string>>({})\nconst packageVersion = 10.0\nconst tooltipText = computed(() => {\n if (!hoveredDay.value || !localStartDate.value) return ''\n const nights = hoveredDay.value.date.diff(localStartDate.value, 'day')\n if (nights <= 0) return ''\n return `${nights} ${nights === 1 ? 'night' : 'nights'}`\n})\n\nconst showTooltipComputed = computed(() => {\n return (\n props.showTooltip &&\n hoveredDay.value &&\n localStartDate.value &&\n !localEndDate.value &&\n hoveredDay.value.date.isAfter(localStartDate.value, 'day')\n )\n})\n\n// Methods\nfunction getDayClasses(day: CalendarDay) {\n const classes = ['rangepicker-day']\n\n if (!day.isCurrentMonth) classes.push('rangepicker-day-other-month')\n\n if (day.isDisabled) classes.push('rangepicker-day-disabled')\n\n if (day.isToday) classes.push('rangepicker-day-today')\n\n if (day.isWeekend && !day.isSelected) classes.push('rangepicker-day-weekend')\n\n if (day.isHoliday) classes.push('rangepicker-day-holiday')\n\n if (day.isSelected) {\n if (\n localStartDate.value &&\n localEndDate.value &&\n day.date.isSame(localStartDate.value, 'day') &&\n day.date.isSame(localEndDate.value, 'day')\n ) {\n classes.push('rangepicker-day-selected-single')\n}\n else if (localStartDate.value && day.date.isSame(localStartDate.value, 'day')) {\n classes.push('rangepicker-day-selected-start')\n}\n else if (localEndDate.value && day.date.isSame(localEndDate.value, 'day')) {\n classes.push('rangepicker-day-selected-end')\n}\n else { classes.push('rangepicker-day-selected')\n}\n }\n\n if (day.isInRange) classes.push('rangepicker-day-in-range')\n\n // Add hover effect for potential range\n if (localStartDate.value && !localEndDate.value && hoveredDay.value) {\n const start = localStartDate.value\n const hovered = hoveredDay.value.date\n if (hovered.isAfter(start, 'day')) {\n if (day.date.isSame(start, 'day')) {\n classes.push('rangepicker-day-hover-range', 'rangepicker-day-hover-start')\n } else if (day.date.isSame(hovered, 'day')) {\n classes.push('rangepicker-day-hover-range', 'rangepicker-day-hover-end')\n } else if (day.date.isAfter(start, 'day') && day.date.isBefore(hovered, 'day')) {\n classes.push('rangepicker-day-hover-range', 'rangepicker-day-hover-middle')\n }\n } else if (hovered.isBefore(start, 'day')) {\n if (day.date.isSame(hovered, 'day')) {\n classes.push('rangepicker-day-hover-range', 'rangepicker-day-hover-start')\n } else if (day.date.isSame(start, 'day')) {\n classes.push('rangepicker-day-hover-range', 'rangepicker-day-hover-end')\n } else if (day.date.isAfter(hovered, 'day') && day.date.isBefore(start, 'day')) {\n classes.push('rangepicker-day-hover-range', 'rangepicker-day-hover-middle')\n }\n }\n }\n\n return classes\n}\n\nfunction selectDate(day: CalendarDay, event: MouseEvent) {\n event.preventDefault()\n if (day.isDisabled) return\n\n emit('dateSelected', day.date)\n\n // Range selection logic\n if (!localStartDate.value || (localStartDate.value && localEndDate.value)) {\n // Start new range\n localStartDate.value = day.date\n localEndDate.value = null\n } else {\n // Complete range\n if (day.date.isBefore(localStartDate.value, 'day')) {\n // Swap if end is before start\n localEndDate.value = localStartDate.value\n localStartDate.value = day.date\n } else {\n localEndDate.value = day.date\n }\n\n // Validate min/max days\n if (props.minDays) {\n const days = localEndDate.value.diff(localStartDate.value, 'day')\n if (days < props.minDays) {\n // Invalid range, reset\n localStartDate.value = day.date\n localEndDate.value = null\n return\n }\n }\n\n if (props.maxDays) {\n const days = localEndDate.value.diff(localStartDate.value, 'day')\n if (days > props.maxDays) {\n // Invalid range, reset\n localStartDate.value = day.date\n localEndDate.value = null\n return\n }\n }\n\n emit('rangeSelected', localStartDate.value, localEndDate.value)\n\n if (props.autoApply) apply()\n }\n}\n\nfunction handleDayHover(day: CalendarDay, event: MouseEvent) {\n hoveredDay.value = day\n\n if (props.showTooltip && localStartDate.value && !localEndDate.value) updateTooltipPosition(event)\n}\n\nfunction updateTooltipPosition(event: MouseEvent) {\n const rect = (event.target as HTMLElement).getBoundingClientRect()\n tooltipStyle.value = {\n left: `${rect.left + rect.width / 2}px`,\n top: `${rect.top - 10}px`,\n transform: 'translateX(-50%) translateY(-100%)',\n }\n}\n\nfunction handleDayLeave() {\n hoveredDay.value = null\n}\n\nfunction previousMonth() {\n if (canNavigatePrevious.value) monthOffset.value--\n}\n\nfunction nextMonth() {\n if (canNavigateNext.value) monthOffset.value++\n}\n\nfunction close() {\n if (isFadingOut.value) return\n isFadingOut.value = true\n setTimeout(() => {\n localIsOpen.value = false\n emit('update:isOpen', false)\n isFadingOut.value = false\n }, 200) // match fade-leave-active duration\n}\n\nfunction apply() {\n if (localStartDate.value && localEndDate.value) {\n emit('update:modelValue', {\n startDate: localStartDate.value.format(props.format),\n endDate: localEndDate.value.format(props.format),\n })\n }\n close()\n}\n\nfunction cancel() {\n // Reset to initial values\n if (props.modelValue?.startDate) localStartDate.value = dayjs(props.modelValue.startDate)\n else localStartDate.value = null\n\n if (props.modelValue?.endDate) localEndDate.value = dayjs(props.modelValue.endDate)\n else localEndDate.value = null\n\n close()\n}\n\n// Watch props\nwatch(\n () => props.isOpen,\n (newVal) => {\n localIsOpen.value = newVal\n if (newVal) updatePosition()\n },\n)\n\n// Watch props\nwatch(\n () => props.close,\n (newVal) => {\n if (newVal) close()\n },\n)\n\nwatch(\n () => props.modelValue,\n (newVal) => {\n if (newVal?.startDate) localStartDate.value = dayjs(newVal.startDate)\n else localStartDate.value = null\n\n if (newVal?.endDate) localEndDate.value = dayjs(newVal.endDate)\n else localEndDate.value = null\n },\n { immediate: true, deep: true },\n)\n\nwatch([windowWidth, localIsOpen], () => {\n if (localIsOpen.value) updatePosition()\n})\n\n// Click outside to close\nonClickOutside(calendarRef, () => {\n if (localIsOpen.value && props.variant !== 'mobile') close()\n})\n\n// Keyboard navigation\nfunction handleKeydown(e: KeyboardEvent) {\n if (!localIsOpen.value) return\n\n if (e.key === 'Escape') close()\n}\n\nonMounted(() => {\n document.addEventListener('keydown', handleKeydown)\n if (props.isOpen) updatePosition()\n})\n\nonUnmounted(() => {\n document.removeEventListener('keydown', handleKeydown)\n})\n</script>\n\n<template>\n <Teleport to=\"body\">\n <Transition :name=\"variant === 'mobile' ? 'slide-up' : 'fade'\">\n <div v-if=\"localIsOpen || isFadingOut\" class=\"rangepicker-overlay\">\n <!-- Backdrop -->\n <div class=\"rangepicker-backdrop\" @click=\"close\" />\n\n <!-- Calendar Container -->\n <div\n ref=\"calendarRef\"\n :data-version=\"packageVersion\"\n class=\"rangepicker-container\"\n :class=\"[variant === 'mobile' ? 'rangepicker-mobile' : '']\"\n :style=\"{ ...calendarStyle, ...colorStyles, borderRadius: props.borderRadius }\"\n >\n <!-- Header -->\n <div class=\"rangepicker-header\">\n <div class=\"arch-flex arch-items-center arch-justify-between\">\n <div>\n <p v-if=\"label\" class=\"arch-mb-1 arch-text-xs arch-font-medium arch-text-gray-500\">\n {{ label }}\n </p>\n <p class=\"arch-text-sm arch-font-semibold arch-text-gray-900\">\n {{ formattedDateRange || placeholder || 'Select dates' }}\n </p>\n </div>\n <p v-if=\"nightCount > 0\" class=\"arch-mt-1 arch-text-xs arch-text-gray-500\">\n {{ nightCount }} {{ nightCount === 1 ? 'night' : 'nights' }}\n </p>\n <!-- <button\n class=\"rangepicker-nav-button\"\n aria-label=\"Close\"\n @click=\"close\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"arch-h-5 arch-w-5\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\"\n clip-rule=\"evenodd\"\n />\n </svg>\n </button> -->\n </div>\n </div>\n\n <!-- Calendar Body -->\n <div class=\"rangepicker-body\">\n <div class=\"rangepicker-month-grid\">\n <div\n v-for=\"(monthData, index) in calendarMonths\"\n :key=\"monthData.month.format('YYYY-MM')\"\n class=\"rangepicker-month\"\n >\n <!-- Month Header -->\n <div class=\"rangepicker-month-header\">\n <button\n v-if=\"variant === 'mobile' || index === 0\"\n class=\"rangepicker-nav-button\"\n :disabled=\"!canNavigatePrevious\"\n aria-label=\"Previous month\"\n @click=\"previousMonth\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"arch-h-5 arch-w-5\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z\"\n clip-rule=\"evenodd\"\n />\n </svg>\n </button>\n <div v-else class=\"arch-w-8\"></div>\n\n <span class=\"rangepicker-month-title\">\n {{ monthData.month.format('MMMM YYYY') }}\n </span>\n\n <button\n v-if=\"variant === 'mobile' || index === calendarMonths.length - 1\"\n class=\"rangepicker-nav-button\"\n :disabled=\"!canNavigateNext\"\n aria-label=\"Next month\"\n @click=\"nextMonth\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"arch-h-5 arch-w-5\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z\"\n clip-rule=\"evenodd\"\n />\n </svg>\n </button>\n <div v-else class=\"arch-w-8\"></div>\n </div>\n\n <!-- Weekday Headers -->\n <div class=\"rangepicker-weekdays\">\n <div v-for=\"weekday in weekdays\" :key=\"weekday\" class=\"rangepicker-weekday\">\n {{ weekday }}\n </div>\n </div>\n\n <!-- Calendar Grid -->\n <div class=\"rangepicker-grid\" @mouseleave=\"handleDayLeave\">\n <button\n v-for=\"day in monthData.days\"\n :key=\"day.date.unix()\"\n :class=\"getDayClasses(day)\"\n :disabled=\"day.isDisabled\"\n :aria-label=\"day.date.format('MMMM D, YYYY')\"\n @click=\"e => selectDate(day, e)\"\n @mouseenter=\"e => handleDayHover(day, e)\"\n >\n <span>{{ day.date.date() }}</span>\n </button>\n </div>\n </div>\n </div>\n\n <!-- Apply/Cancel Buttons (if not autoApply) -->\n <div\n v-if=\"!autoApply\"\n class=\"arch-mt-4 arch-flex arch-items-center arch-justify-end arch-gap-2 arch-border-t arch-border-gray-200 arch-pt-4\"\n >\n <button\n class=\"arch-rounded-lg arch-px-4 arch-py-2 arch-text-sm arch-font-medium arch-text-gray-700 arch-transition-colors hover:arch-bg-gray-100\"\n @click=\"cancel\"\n >\n Cancel\n </button>\n <button\n class=\"arch-rounded-lg arch-px-4 arch-py-2 arch-text-sm arch-font-medium arch-text-white arch-transition-colors disabled:arch-cursor-not-allowed disabled:arch-opacity-50\"\n :style=\"{\n backgroundColor: colorStyles?.['--color-primary']\n ? `rgb(${colorStyles['--color-primary']})`\n : 'rgb(37 99 235)',\n }\"\n :disabled=\"!localStartDate || !localEndDate\"\n @click=\"apply\"\n >\n Apply\n </button>\n </div>\n </div>\n\n <!-- Tooltip -->\n <div v-if=\"showTooltipComputed\" class=\"rangepicker-tooltip\" :style=\"tooltipStyle\">\n <div class=\"arch-flex arch-items-center arch-gap-1\">\n {{ tooltipText }}\n </div>\n </div>\n </div>\n </div>\n </Transition>\n </Teleport>\n</template>\n\n<style lang=\"scss\" scoped>\n@use './styles/rangepicker.scss';\n</style>\n","<script setup lang=\"ts\">\nimport {\n computed,\nref,\nwatch,\n} from 'vue'\nimport Rangepicker from './Rangepicker.vue'\nimport type { RangepickerInputProps } from './types'\n\n// Prevent Vue from auto-applying non-prop attrs (class, style, etc.) to root element.\n// We manually spread $attrs on the wrapper so class/style from the consumer\n// always lands on the outer wrapper div — standard Vue component behavior.\ndefineOptions({ inheritAttrs: false })\n\n// Helper function to convert HEX to RGB\nfunction hexToRgb(hex: string): string | null {\n // Remove # if present\n hex = hex.replace(/^#/, '')\n\n // Handle 3-digit hex\n if (hex.length === 3) {\n hex = hex\n .split('')\n .map(char => char + char)\n .join('')\n }\n\n if (hex.length !== 6) {\n console.warn(`[Rangepicker] Invalid hex color: ${hex}`)\n return null\n }\n\n const r = Number.parseInt(hex.substring(0, 2), 16)\n const g = Number.parseInt(hex.substring(2, 4), 16)\n const b = Number.parseInt(hex.substring(4, 6), 16)\n\n if (Number.isNaN(r) || Number.isNaN(g) || Number.isNaN(b)) {\n return null\n }\n\n return `${r} ${g} ${b}`\n}\n\nconst props = withDefaults(defineProps<RangepickerInputProps>(), {\n readonly: true,\n variant: 'desktop',\n placeholder: 'Select dates',\n showClearButton: true,\n})\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: string]\n \"focusin\": []\n}>()\n\n// Refs\nconst inputRef = ref<HTMLInputElement | null>(null)\nconst isOpen = ref(false)\n\n// Parse the modelValue into start/end dates\nfunction parseValue(value?: string) {\n if (!value) return { startDate: '', endDate: '' }\n\n const parts = value.split(' - ')\n if (parts.length === 2) {\n return {\n startDate: parts[0].trim(),\n endDate: parts[1].trim(),\n }\n }\n return { startDate: '', endDate: '' }\n}\n\nwatch(\n () => props?.close,\n (cur) => {\n if (cur) inputRef.value.blur()\n },\n)\nconst localValue = ref(parseValue(props.modelValue))\n\nconst displayValue = computed(() => {\n return props.modelValue || ''\n})\n\n// The inner input fills the wrapper — sizing/padding/border come from the\n// wrapper via $attrs (class/style passed by the consumer).\nconst inputClass =\n 'rangepicker-input block w-full h-full bg-transparent border-0 shadow-none outline-none cursor-pointer font-inherit text-inherit p-0'\n\nfunction openPicker() {\n isOpen.value = true\n}\n\nfunction onFocus() {\n emit('focusin')\n openPicker()\n}\n\nfunction handleUpdate(value: { startDate: string; endDate: string }) {\n localValue.value = value\n const formatted = `${value.startDate} - ${value.endDate}`\n emit('update:modelValue', formatted)\n}\n\nfunction clearValue() {\n localValue.value = { startDate: '', endDate: '' }\n emit('update:modelValue', '')\n isOpen.value = false\n}\n\nwatch(\n () => props.modelValue,\n (newVal) => {\n localValue.value = parseValue(newVal)\n },\n)\n\n// Compute CSS variables for scoped styling\nconst colorStyles = computed(() => {\n const styles: Record<string, string> = {}\n\n if (props.primaryColor) {\n const rgb = hexToRgb(props.primaryColor)\n if (rgb) {\n styles['--color-primary'] = rgb\n }\n }\n\n if (props.secondaryColor) {\n const rgb = hexToRgb(props.secondaryColor)\n if (rgb) {\n styles['--color-secondary'] = rgb\n }\n }\n\n if (props.fontFamily) {\n styles['--rangepicker-font-family'] = props.fontFamily\n }\n\n return styles\n})\n</script>\n\n<template>\n <div v-bind=\"$attrs\" class=\"rangepicker-input-wrapper\" :style=\"colorStyles\">\n <div class=\"rangepicker-input-container\">\n <input\n :id=\"id\"\n ref=\"inputRef\"\n type=\"text\"\n :value=\"displayValue\"\n :placeholder=\"placeholder\"\n :readonly=\"readonly\"\n :name=\"name\"\n :class=\"props?.class ? props.class : inputClass\"\n @click=\"openPicker\"\n @focus=\"onFocus\"\n />\n\n <button\n v-if=\"showClearButton && displayValue\"\n type=\"button\"\n class=\"rangepicker-clear-button\"\n @click.stop=\"clearValue\"\n aria-label=\"Clear dates\"\n >\n <svg\nxmlns=\"http://www.w3.org/2000/svg\"\nclass=\"arch-h-4 arch-w-4\"\nviewBox=\"0 0 20 20\"\nfill=\"currentColor\">\n <path\n fill-rule=\"evenodd\"\n d=\"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z\"\n clip-rule=\"evenodd\"\n />\n </svg>\n </button>\n </div>\n\n <Rangepicker\n v-model=\"localValue\"\n v-model:is-open=\"isOpen\"\n :trigger-element=\"inputRef\"\n :min-date=\"minDate\"\n :max-date=\"maxDate\"\n :min-days=\"minDays\"\n :max-days=\"maxDays\"\n :value-of-months=\"numberOfMonths || 2\"\n :value-of-columns=\"numberOfColumns || 2\"\n :format=\"format || 'DD MMM YYYY'\"\n :auto-apply=\"autoApply !== false\"\n :show-tooltip=\"showTooltip !== false\"\n :variant=\"variant\"\n :close=\"props.close\"\n :color-styles=\"colorStyles\"\n :border-radius=\"borderRadius\"\n @update:model-value=\"handleUpdate\"\n />\n </div>\n</template>\n\n<style scoped lang=\"scss\">\n@use './styles/rangepicker.scss';\n\n.rangepicker-input-wrapper {\n position: relative;\n display: flex;\n align-items: center;\n width: 100%;\n font-family: var(--rangepicker-font-family, inherit);\n}\n\n.rangepicker-input-container {\n position: relative;\n display: flex;\n align-items: center;\n}\n\n.rangepicker-input {\n cursor: pointer;\n font-family: inherit;\n flex: 1;\n padding-right: 2.5rem;\n}\n\n.rangepicker-clear-button {\n position: absolute;\n right: 0.5rem;\n top: 50%;\n transform: translateY(-50%);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0.25rem;\n background: transparent;\n border: none;\n border-radius: 0.375rem;\n color: #6b7280;\n cursor: pointer;\n transition: all 0.2s;\n z-index: 1;\n\n &:hover {\n color: #374151;\n background: #f3f4f6;\n }\n\n &:active {\n transform: translateY(-50%) scale(0.95);\n }\n\n &:focus {\n outline: none;\n box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.5);\n }\n}\n</style>\n","import { ref } from 'vue'\nimport './styles/rangepicker.scss'\nimport Rangepicker from './Rangepicker.vue'\nimport RangepickerInput from './RangepickerInput.vue'\nimport type {\n DateRange,\n RangepickerProps,\n RangepickerEmits,\n CalendarDay,\n CalendarMonth,\n RangepickerInputProps,\n} from './types'\n\n// Default export - RangepickerInput (Litepicker-compatible wrapper)\nexport default RangepickerInput\n\n// Named exports\nexport { Rangepicker, RangepickerInput }\n\n// Type exports\nexport type { RangepickerProps, RangepickerInputProps, RangepickerEmits, DateRange, CalendarDay, CalendarMonth }\n\n// Vue 3 composable for easy integration\nexport function useRangepicker(triggerRef: any, options: Partial<RangepickerProps> = {}) {\n const isOpen = ref(false)\n const dateRange = ref<DateRange>({ startDate: '', endDate: '' })\n\n const open = () => {\n isOpen.value = true\n }\n const close = () => {\n isOpen.value = false\n }\n const toggle = () => {\n isOpen.value = !isOpen.value\n }\n\n return {\n isOpen,\n dateRange,\n open,\n close,\n toggle,\n options,\n }\n}\n"],"names":["this","e","i","t","n","r","o","a","f","h","u","d","l","s","c","m","M","_createBlock","_Teleport","_createVNode","_Transition","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_normalizeClass","_hoisted_2","_toDisplayString","_Fragment","_renderList","_normalizeStyle","_mergeProps"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
|
package/dist/rangepicker.umd.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue"),require("@vueuse/core"),require("dayjs")):"function"==typeof define&&define.amd?define(["exports","vue","@vueuse/core","dayjs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Rangepicker={},e.Vue,e.VueUse,e.dayjs)}(this,function(e,t,a,o){"use strict";"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;function n(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var r={exports:{}};r.exports=function(e,t,a){t.prototype.isBetween=function(e,t,o,n){var r=a(e),l=a(t),i="("===(n=n||"()")[0],s=")"===n[1];return(i?this.isAfter(r,o):!this.isBefore(r,o))&&(s?this.isBefore(l,o):!this.isAfter(l,o))||(i?this.isBefore(r,o):!this.isAfter(r,o))&&(s?this.isAfter(l,o):!this.isBefore(l,o))}};const l=n(r.exports);var i={exports:{}};!function(e){e.exports=function(e,t){t.prototype.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)}}}(i);const s=n(i.exports);var d={exports:{}};!function(e){e.exports=function(e,t){t.prototype.isSameOrBefore=function(e,t){return this.isSame(e,t)||this.isBefore(e,t)}}}(d);const u=n(d.exports);var c={exports:{}};!function(e){e.exports=function(){var e={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},t=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,a=/\d/,o=/\d\d/,n=/\d\d?/,r=/\d*[^-_:/,()\s\d]+/,l={},i=function(e){return(e=+e)+(e>68?1900:2e3)},s=function(e){return function(t){this[e]=+t}},d=[/[+-]\d\d:?(\d\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if("Z"===e)return 0;var t=e.match(/([+-]|\d\d)/g),a=60*t[1]+(+t[2]||0);return 0===a?0:"+"===t[0]?-a:a}(e)}],u=function(e){var t=l[e];return t&&(t.indexOf?t:t.s.concat(t.f))},c=function(e,t){var a,o=l.meridiem;if(o){for(var n=1;n<=24;n+=1)if(e.indexOf(o(n,0,t))>-1){a=n>12;break}}else a=e===(t?"pm":"PM");return a},m={A:[r,function(e){this.afternoon=c(e,!1)}],a:[r,function(e){this.afternoon=c(e,!0)}],Q:[a,function(e){this.month=3*(e-1)+1}],S:[a,function(e){this.milliseconds=100*+e}],SS:[o,function(e){this.milliseconds=10*+e}],SSS:[/\d{3}/,function(e){this.milliseconds=+e}],s:[n,s("seconds")],ss:[n,s("seconds")],m:[n,s("minutes")],mm:[n,s("minutes")],H:[n,s("hours")],h:[n,s("hours")],HH:[n,s("hours")],hh:[n,s("hours")],D:[n,s("day")],DD:[o,s("day")],Do:[r,function(e){var t=l.ordinal,a=e.match(/\d+/);if(this.day=a[0],t)for(var o=1;o<=31;o+=1)t(o).replace(/\[|\]/g,"")===e&&(this.day=o)}],w:[n,s("week")],ww:[o,s("week")],M:[n,s("month")],MM:[o,s("month")],MMM:[r,function(e){var t=u("months"),a=(u("monthsShort")||t.map(function(e){return e.slice(0,3)})).indexOf(e)+1;if(a<1)throw new Error;this.month=a%12||a}],MMMM:[r,function(e){var t=u("months").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t}],Y:[/[+-]?\d+/,s("year")],YY:[o,function(e){this.year=i(e)}],YYYY:[/\d{4}/,s("year")],Z:d,ZZ:d};function p(a){var o,n;o=a,n=l&&l.formats;for(var r=(a=o.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(t,a,o){var r=o&&o.toUpperCase();return a||n[o]||e[o]||n[r].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(e,t,a){return t||a.slice(1)})})).match(t),i=r.length,s=0;s<i;s+=1){var d=r[s],u=m[d],c=u&&u[0],p=u&&u[1];r[s]=p?{regex:c,parser:p}:d.replace(/^\[|\]$/g,"")}return function(e){for(var t={},a=0,o=0;a<i;a+=1){var n=r[a];if("string"==typeof n)o+=n.length;else{var l=n.regex,s=n.parser,d=e.slice(o),u=l.exec(d)[0];s.call(t,u),e=e.replace(u,"")}}return function(e){var t=e.afternoon;if(void 0!==t){var a=e.hours;t?a<12&&(e.hours+=12):12===a&&(e.hours=0),delete e.afternoon}}(t),t}}return function(e,t,a){a.p.customParseFormat=!0,e&&e.parseTwoDigitYear&&(i=e.parseTwoDigitYear);var o=t.prototype,n=o.parse;o.parse=function(e){var t=e.date,o=e.utc,r=e.args;this.$u=o;var i=r[1];if("string"==typeof i){var s=!0===r[2],d=!0===r[3],u=s||d,c=r[2];d&&(c=r[2]),l=this.$locale(),!s&&c&&(l=a.Ls[c]),this.$d=function(e,t,a,o){try{if(["x","X"].indexOf(t)>-1)return new Date(("X"===t?1e3:1)*e);var n=p(t)(e),r=n.year,l=n.month,i=n.day,s=n.hours,d=n.minutes,u=n.seconds,c=n.milliseconds,m=n.zone,f=n.week,v=new Date,h=i||(r||l?1:v.getDate()),y=r||v.getFullYear(),g=0;r&&!l||(g=l>0?l-1:v.getMonth());var k,b=s||0,D=d||0,w=u||0,M=c||0;return m?new Date(Date.UTC(y,g,h,b,D,w,M+60*m.offset*1e3)):a?new Date(Date.UTC(y,g,h,b,D,w,M)):(k=new Date(y,g,h,b,D,w,M),f&&(k=o(k).week(f).toDate()),k)}catch(x){return new Date("")}}(t,i,o,a),this.init(),c&&!0!==c&&(this.$L=this.locale(c).$L),u&&t!=this.format(i)&&(this.$d=new Date("")),l={}}else if(i instanceof Array)for(var m=i.length,f=1;f<=m;f+=1){r[1]=i[f-1];var v=a.apply(this,r);if(v.isValid()){this.$d=v.$d,this.$L=v.$L,this.init();break}f===m&&(this.$d=new Date(""))}else n.call(this,e)}}}()}(c);const m=n(c.exports);function p(e,t=o()){const a=t.add(e,"month").startOf("month"),n=a.day(),r=a.daysInMonth(),l=a.subtract(1,"month").daysInMonth(),i=[];for(let o=n-1;o>=0;o--){const e=a.subtract(1,"month").date(l-o);i.push({date:e,isPrevMonth:!0,isCurrentMonth:!1,isNextMonth:!1})}for(let o=1;o<=r;o++){const e=a.date(o);i.push({date:e,isPrevMonth:!1,isCurrentMonth:!0,isNextMonth:!1})}const s=42-i.length;for(let o=1;o<=s;o++){const e=a.add(1,"month").date(o);i.push({date:e,isPrevMonth:!1,isCurrentMonth:!1,isNextMonth:!0})}return{month:a,days:i}}function f(e,t,a,n,r={}){const{startDate:l=null,endDate:i=null,minDate:s=null,maxDate:d=null,disabledDates:u=[],holidays:c=[]}=r,m=s&&e.isBefore(s,"day")||d&&e.isAfter(d,"day")||u.some(t=>t.isSame(e,"day")),p=c.some(t=>t.isSame(e,"day")),f=l&&e.isSame(l,"day")||i&&e.isSame(i,"day"),v=l&&i&&e.isAfter(l,"day")&&e.isBefore(i,"day"),h=e.isSame(o(),"day"),y=0===e.day()||6===e.day();return{date:e,isPrevMonth:t,isCurrentMonth:a,isNextMonth:n,isDisabled:m,isHoliday:p,isWeekend:y,isSelected:f,isInRange:v,isToday:h}}o.extend(l),o.extend(s),o.extend(u),o.extend(m);const v={key:0,class:"rangepicker-overlay"},h=["data-version"],y={class:"rangepicker-header"},g={class:"arch-flex arch-items-center arch-justify-between"},k={key:0,class:"arch-mb-1 arch-text-xs arch-font-medium arch-text-gray-500"},b={class:"arch-text-sm arch-font-semibold arch-text-gray-900"},D={key:0,class:"arch-mt-1 arch-text-xs arch-text-gray-500"},w={class:"rangepicker-body"},M={class:"rangepicker-month-grid"},x={class:"rangepicker-month-header"},B=["disabled"],S={key:1,class:"arch-w-8"},V={class:"rangepicker-month-title"},Y=["disabled"],C={key:3,class:"arch-w-8"},N={class:"rangepicker-weekdays"},E=["disabled","aria-label","onClick","onMouseenter"],O={key:0,class:"arch-mt-4 arch-flex arch-items-center arch-justify-end arch-gap-2 arch-border-t arch-border-gray-200 arch-pt-4"},L=["disabled"],$={class:"arch-flex arch-items-center arch-gap-1"},A=(e,t)=>{const a=e.__vccOpts||e;for(const[o,n]of t)a[o]=n;return a},T=A(t.defineComponent({__name:"Rangepicker",props:{modelValue:{},isOpen:{type:Boolean,default:!1},variant:{default:"desktop"},minDate:{},maxDate:{},minDays:{},maxDays:{},close:{type:Boolean},valueOfMonths:{default:2},valueOfColumns:{default:2},disabledDates:{},holidays:{},format:{default:"YYYY-MM-DD"},delimiter:{default:" - "},placeholder:{},label:{},showTooltip:{type:Boolean,default:!0},autoApply:{type:Boolean,default:!1},position:{default:"auto"},triggerElement:{},colorStyles:{},borderRadius:{default:"0.75rem"}},emits:["update:modelValue","update:isOpen","dateSelected","rangeSelected"],setup(e,{emit:n}){const r=e,l=n,i=a.useBreakpoints(a.breakpointsTailwind).smallerOrEqual("lg"),s=t.computed(()=>i.value?1:r.valueOfMonths);t.computed(()=>i.value?1:r.valueOfColumns);const d=t.ref(null),u=t.ref(!1),c=t.ref(null),m=t.ref(0),A=t.ref(r.isOpen),T=t.ref(null),R=t.ref(null),_=t.computed(()=>r.minDate?o(r.minDate):null),z=t.computed(()=>r.maxDate?o(r.maxDate):null),I=t.computed(()=>{var e;return(null==(e=r.disabledDates)?void 0:e.map(e=>o(e)))||[]}),P=t.computed(()=>{var e;return(null==(e=r.holidays)?void 0:e.map(e=>o(e)))||[]}),j=t.computed(()=>function(e="en",t="short"){const a=o().startOf("week"),n=[];for(let o=0;o<7;o++){const e=a.add(o,"day");n.push("short"===t?e.format("ddd"):e.format("dd"))}return n}("en","narrow")),F=t.computed(()=>"mobile"===r.variant?1:s.value),H=t.computed(()=>function(e,t=0,a={}){const o=[];for(let n=0;n<e;n++){const{month:e,days:r}=p(t+n),l=r.map(e=>f(e.date,e.isPrevMonth,e.isCurrentMonth,e.isNextMonth,a));o.push({month:e,days:l})}return o}(F.value,m.value,{startDate:T.value,endDate:R.value,minDate:_.value,maxDate:z.value,disabledDates:I.value,holidays:P.value})),U=t.computed(()=>T.value&&R.value?R.value.diff(T.value,"day"):0),Z=t.computed(()=>T.value||R.value?T.value&&!R.value?T.value.format(r.format):T.value&&R.value?`${T.value.format(r.format)}${r.delimiter}${R.value.format(r.format)}`:"":""),q=t.computed(()=>{if(!_.value)return!0;return o().add(m.value,"month").startOf("month").isAfter(_.value,"month")}),W=t.computed(()=>{if(!z.value)return!0;return o().add(m.value+F.value-1,"month").endOf("month").isBefore(z.value,"month")}),{width:X}=a.useWindowSize(),Q=t.ref({});function G(){"mobile"!==r.variant?t.nextTick(()=>{const e=function(e,t,a="auto"){if(!e||!t)return{left:0};const o=e.getBoundingClientRect(),n=t.getBoundingClientRect(),r=window.innerHeight,l=window.innerWidth,i=o.top,s=r-o.bottom,d={left:o.left};return"auto"===a?s>=n.height||s>i?d.top=o.bottom+8:d.bottom=r-o.top+8:"top"===a?d.bottom=r-o.top+8:d.top=o.bottom+8,d.left+n.width>l&&(d.left=l-n.width-16),d.left<16&&(d.left=16),d}(r.triggerElement,d.value,r.position);Q.value={left:`${e.left}px`,...void 0!==e.top&&{top:`${e.top}px`},...void 0!==e.bottom&&{bottom:`${e.bottom}px`},...e.transform&&{transform:e.transform},"--border-radius-day":r.borderRadius}}):Q.value={"--border-radius-day":r.borderRadius}}const J=t.ref({}),K=t.computed(()=>{if(!c.value||!T.value)return"";const e=c.value.date.diff(T.value,"day");return e<=0?"":`${e} ${1===e?"night":"nights"}`}),ee=t.computed(()=>r.showTooltip&&c.value&&T.value&&!R.value&&c.value.date.isAfter(T.value,"day"));function te(e){const t=["rangepicker-day"];if(e.isCurrentMonth||t.push("rangepicker-day-other-month"),e.isDisabled&&t.push("rangepicker-day-disabled"),e.isToday&&t.push("rangepicker-day-today"),e.isWeekend&&!e.isSelected&&t.push("rangepicker-day-weekend"),e.isHoliday&&t.push("rangepicker-day-holiday"),e.isSelected&&(T.value&&R.value&&e.date.isSame(T.value,"day")&&e.date.isSame(R.value,"day")?t.push("rangepicker-day-selected-single"):T.value&&e.date.isSame(T.value,"day")?t.push("rangepicker-day-selected-start"):R.value&&e.date.isSame(R.value,"day")?t.push("rangepicker-day-selected-end"):t.push("rangepicker-day-selected")),e.isInRange&&t.push("rangepicker-day-in-range"),T.value&&!R.value&&c.value){const a=T.value,o=c.value.date;o.isAfter(a,"day")?e.date.isSame(a,"day")?t.push("rangepicker-day-hover-range","rangepicker-day-hover-start"):e.date.isSame(o,"day")?t.push("rangepicker-day-hover-range","rangepicker-day-hover-end"):e.date.isAfter(a,"day")&&e.date.isBefore(o,"day")&&t.push("rangepicker-day-hover-range","rangepicker-day-hover-middle"):o.isBefore(a,"day")&&(e.date.isSame(o,"day")?t.push("rangepicker-day-hover-range","rangepicker-day-hover-start"):e.date.isSame(a,"day")?t.push("rangepicker-day-hover-range","rangepicker-day-hover-end"):e.date.isAfter(o,"day")&&e.date.isBefore(a,"day")&&t.push("rangepicker-day-hover-range","rangepicker-day-hover-middle"))}return t}function ae(e,t){c.value=e,r.showTooltip&&T.value&&!R.value&&function(e){const t=e.target.getBoundingClientRect();J.value={left:`${t.left+t.width/2}px`,top:t.top-10+"px",transform:"translateX(-50%) translateY(-100%)"}}(t)}function oe(){c.value=null}function ne(){q.value&&m.value--}function re(){W.value&&m.value++}function le(){u.value||(u.value=!0,setTimeout(()=>{A.value=!1,l("update:isOpen",!1),u.value=!1},200))}function ie(){T.value&&R.value&&l("update:modelValue",{startDate:T.value.format(r.format),endDate:R.value.format(r.format)}),le()}function se(){var e,t;(null==(e=r.modelValue)?void 0:e.startDate)?T.value=o(r.modelValue.startDate):T.value=null,(null==(t=r.modelValue)?void 0:t.endDate)?R.value=o(r.modelValue.endDate):R.value=null,le()}function de(e){A.value&&"Escape"===e.key&&le()}return t.watch(()=>r.isOpen,e=>{A.value=e,e&&G()}),t.watch(()=>r.close,e=>{e&&le()}),t.watch(()=>r.modelValue,e=>{(null==e?void 0:e.startDate)?T.value=o(e.startDate):T.value=null,(null==e?void 0:e.endDate)?R.value=o(e.endDate):R.value=null},{immediate:!0,deep:!0}),t.watch([X,A],()=>{A.value&&G()}),a.onClickOutside(d,()=>{A.value&&"mobile"!==r.variant&&le()}),t.onMounted(()=>{document.addEventListener("keydown",de),r.isOpen&&G()}),t.onUnmounted(()=>{document.removeEventListener("keydown",de)}),(a,o)=>(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"mobile"===e.variant?"slide-up":"fade"},{default:t.withCtx(()=>{var a;return[A.value||u.value?(t.openBlock(),t.createElementBlock("div",v,[t.createElementVNode("div",{class:"rangepicker-backdrop",onClick:le}),t.createElementVNode("div",{ref_key:"calendarRef",ref:d,"data-version":t.unref("1.2.14"),class:t.normalizeClass(["rangepicker-container",["mobile"===e.variant?"rangepicker-mobile":""]]),style:t.normalizeStyle({...Q.value,...e.colorStyles,borderRadius:r.borderRadius})},[t.createElementVNode("div",y,[t.createElementVNode("div",g,[t.createElementVNode("div",null,[e.label?(t.openBlock(),t.createElementBlock("p",k,t.toDisplayString(e.label),1)):t.createCommentVNode("",!0),t.createElementVNode("p",b,t.toDisplayString(Z.value||e.placeholder||"Select dates"),1)]),U.value>0?(t.openBlock(),t.createElementBlock("p",D,t.toDisplayString(U.value)+" "+t.toDisplayString(1===U.value?"night":"nights"),1)):t.createCommentVNode("",!0)])]),t.createElementVNode("div",w,[t.createElementVNode("div",M,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(H.value,(a,n)=>(t.openBlock(),t.createElementBlock("div",{key:a.month.format("YYYY-MM"),class:"rangepicker-month"},[t.createElementVNode("div",x,["mobile"===e.variant||0===n?(t.openBlock(),t.createElementBlock("button",{key:0,class:"rangepicker-nav-button",disabled:!q.value,"aria-label":"Previous month",onClick:ne},[...o[0]||(o[0]=[t.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",class:"arch-h-5 arch-w-5",viewBox:"0 0 20 20",fill:"currentColor"},[t.createElementVNode("path",{"fill-rule":"evenodd",d:"M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z","clip-rule":"evenodd"})],-1)])],8,B)):(t.openBlock(),t.createElementBlock("div",S)),t.createElementVNode("span",V,t.toDisplayString(a.month.format("MMMM YYYY")),1),"mobile"===e.variant||n===H.value.length-1?(t.openBlock(),t.createElementBlock("button",{key:2,class:"rangepicker-nav-button",disabled:!W.value,"aria-label":"Next month",onClick:re},[...o[1]||(o[1]=[t.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",class:"arch-h-5 arch-w-5",viewBox:"0 0 20 20",fill:"currentColor"},[t.createElementVNode("path",{"fill-rule":"evenodd",d:"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z","clip-rule":"evenodd"})],-1)])],8,Y)):(t.openBlock(),t.createElementBlock("div",C))]),t.createElementVNode("div",N,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(j.value,e=>(t.openBlock(),t.createElementBlock("div",{key:e,class:"rangepicker-weekday"},t.toDisplayString(e),1))),128))]),t.createElementVNode("div",{class:"rangepicker-grid",onMouseleave:oe},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.days,e=>(t.openBlock(),t.createElementBlock("button",{key:e.date.unix(),class:t.normalizeClass(te(e)),disabled:e.isDisabled,"aria-label":e.date.format("MMMM D, YYYY"),onClick:t=>function(e,t){if(t.preventDefault(),!e.isDisabled)if(l("dateSelected",e.date),!T.value||T.value&&R.value)T.value=e.date,R.value=null;else{if(e.date.isBefore(T.value,"day")?(R.value=T.value,T.value=e.date):R.value=e.date,r.minDays&&R.value.diff(T.value,"day")<r.minDays)return T.value=e.date,void(R.value=null);if(r.maxDays&&R.value.diff(T.value,"day")>r.maxDays)return T.value=e.date,void(R.value=null);l("rangeSelected",T.value,R.value),r.autoApply&&ie()}}(e,t),onMouseenter:t=>ae(e,t)},[t.createElementVNode("span",null,t.toDisplayString(e.date.date()),1)],42,E))),128))],32)]))),128))]),e.autoApply?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",O,[t.createElementVNode("button",{class:"arch-rounded-lg arch-px-4 arch-py-2 arch-text-sm arch-font-medium arch-text-gray-700 arch-transition-colors hover:arch-bg-gray-100",onClick:se}," Cancel "),t.createElementVNode("button",{class:"arch-rounded-lg arch-px-4 arch-py-2 arch-text-sm arch-font-medium arch-text-white arch-transition-colors disabled:arch-cursor-not-allowed disabled:arch-opacity-50",style:t.normalizeStyle({backgroundColor:(null==(a=e.colorStyles)?void 0:a["--color-primary"])?`rgb(${e.colorStyles["--color-primary"]})`:"rgb(37 99 235)"}),disabled:!T.value||!R.value,onClick:ie}," Apply ",12,L)]))]),ee.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"rangepicker-tooltip",style:t.normalizeStyle(J.value)},[t.createElementVNode("div",$,t.toDisplayString(K.value),1)],4)):t.createCommentVNode("",!0)],14,h)])):t.createCommentVNode("",!0)]}),_:1},8,["name"])]))}}),[["__scopeId","data-v-08df566e"]]),R={class:"rangepicker-input-container"},_=["id","value","placeholder","readonly","name"],z=A(t.defineComponent({inheritAttrs:!1,__name:"RangepickerInput",props:{id:{},name:{},placeholder:{default:"Select dates"},readonly:{type:Boolean,default:!0},class:{},modelValue:{},close:{type:Boolean},variant:{default:"desktop"},primaryColor:{},secondaryColor:{},fontFamily:{},borderRadius:{},showClearButton:{type:Boolean,default:!0},autoApply:{type:Boolean},allowRepick:{type:Boolean},dropdowns:{},startDate:{},minDate:{},maxDate:{},format:{},numberOfColumns:{},numberOfMonths:{},singleMode:{type:Boolean},tooltipText:{},tooltipNumber:{},inlineMode:{type:Boolean},minDays:{},maxDays:{},showTooltip:{type:Boolean}},emits:["update:modelValue","focusin"],setup(e,{emit:a}){function o(e){if(3===(e=e.replace(/^#/,"")).length&&(e=e.split("").map(e=>e+e).join("")),6!==e.length)return console.warn(`[Rangepicker] Invalid hex color: ${e}`),null;const t=Number.parseInt(e.substring(0,2),16),a=Number.parseInt(e.substring(2,4),16),o=Number.parseInt(e.substring(4,6),16);return Number.isNaN(t)||Number.isNaN(a)||Number.isNaN(o)?null:`${t} ${a} ${o}`}const n=e,r=a,l=t.ref(null),i=t.ref(!1);function s(e){if(!e)return{startDate:"",endDate:""};const t=e.split(" - ");return 2===t.length?{startDate:t[0].trim(),endDate:t[1].trim()}:{startDate:"",endDate:""}}t.watch(()=>null==n?void 0:n.close,e=>{e&&l.value.blur()});const d=t.ref(s(n.modelValue)),u=t.computed(()=>n.modelValue||"");function c(){i.value=!0}function m(){r("focusin"),c()}function p(e){d.value=e;const t=`${e.startDate} - ${e.endDate}`;r("update:modelValue",t)}function f(){d.value={startDate:"",endDate:""},r("update:modelValue",""),i.value=!1}t.watch(()=>n.modelValue,e=>{d.value=s(e)});const v=t.computed(()=>{const e={};if(n.primaryColor){const t=o(n.primaryColor);t&&(e["--color-primary"]=t)}if(n.secondaryColor){const t=o(n.secondaryColor);t&&(e["--color-secondary"]=t)}return n.fontFamily&&(e["--rangepicker-font-family"]=n.fontFamily),e});return(a,o)=>(t.openBlock(),t.createElementBlock("div",t.mergeProps(a.$attrs,{class:"rangepicker-input-wrapper",style:v.value}),[t.createElementVNode("div",R,[t.createElementVNode("input",{id:e.id,ref_key:"inputRef",ref:l,type:"text",value:u.value,placeholder:e.placeholder,readonly:e.readonly,name:e.name,class:t.normalizeClass((null==n?void 0:n.class)?n.class:"rangepicker-input block w-full h-full bg-transparent border-0 shadow-none outline-none cursor-pointer font-inherit text-inherit p-0"),onClick:c,onFocus:m},null,42,_),e.showClearButton&&u.value?(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:"rangepicker-clear-button",onClick:t.withModifiers(f,["stop"]),"aria-label":"Clear dates"},[...o[2]||(o[2]=[t.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",class:"arch-h-4 arch-w-4",viewBox:"0 0 20 20",fill:"currentColor"},[t.createElementVNode("path",{"fill-rule":"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z","clip-rule":"evenodd"})],-1)])])):t.createCommentVNode("",!0)]),t.createVNode(T,{modelValue:d.value,"onUpdate:modelValue":[o[0]||(o[0]=e=>d.value=e),p],"is-open":i.value,"onUpdate:isOpen":o[1]||(o[1]=e=>i.value=e),"trigger-element":l.value,"min-date":e.minDate,"max-date":e.maxDate,"min-days":e.minDays,"max-days":e.maxDays,"value-of-months":e.numberOfMonths||2,"value-of-columns":e.numberOfColumns||2,format:e.format||"DD MMM YYYY","auto-apply":!1!==e.autoApply,"show-tooltip":!1!==e.showTooltip,variant:e.variant,close:n.close,"color-styles":v.value,"border-radius":e.borderRadius},null,8,["modelValue","is-open","trigger-element","min-date","max-date","min-days","max-days","value-of-months","value-of-columns","format","auto-apply","show-tooltip","variant","close","color-styles","border-radius"])],16))}}),[["__scopeId","data-v-1132af89"]]);e.Rangepicker=T,e.RangepickerInput=z,e.default=z,e.useRangepicker=function(e,a={}){const o=t.ref(!1),n=t.ref({startDate:"",endDate:""});return{isOpen:o,dateRange:n,open:()=>{o.value=!0},close:()=>{o.value=!1},toggle:()=>{o.value=!o.value},options:a}},Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue"),require("@vueuse/core"),require("dayjs")):"function"==typeof define&&define.amd?define(["exports","vue","@vueuse/core","dayjs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Rangepicker={},e.Vue,e.VueUse,e.dayjs)}(this,function(e,t,a,o){"use strict";"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;function n(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var r={exports:{}};r.exports=function(e,t,a){t.prototype.isBetween=function(e,t,o,n){var r=a(e),l=a(t),i="("===(n=n||"()")[0],s=")"===n[1];return(i?this.isAfter(r,o):!this.isBefore(r,o))&&(s?this.isBefore(l,o):!this.isAfter(l,o))||(i?this.isBefore(r,o):!this.isAfter(r,o))&&(s?this.isAfter(l,o):!this.isBefore(l,o))}};const l=n(r.exports);var i={exports:{}};!function(e){e.exports=function(e,t){t.prototype.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)}}}(i);const s=n(i.exports);var d={exports:{}};!function(e){e.exports=function(e,t){t.prototype.isSameOrBefore=function(e,t){return this.isSame(e,t)||this.isBefore(e,t)}}}(d);const u=n(d.exports);var c={exports:{}};!function(e){e.exports=function(){var e={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},t=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,a=/\d/,o=/\d\d/,n=/\d\d?/,r=/\d*[^-_:/,()\s\d]+/,l={},i=function(e){return(e=+e)+(e>68?1900:2e3)},s=function(e){return function(t){this[e]=+t}},d=[/[+-]\d\d:?(\d\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if("Z"===e)return 0;var t=e.match(/([+-]|\d\d)/g),a=60*t[1]+(+t[2]||0);return 0===a?0:"+"===t[0]?-a:a}(e)}],u=function(e){var t=l[e];return t&&(t.indexOf?t:t.s.concat(t.f))},c=function(e,t){var a,o=l.meridiem;if(o){for(var n=1;n<=24;n+=1)if(e.indexOf(o(n,0,t))>-1){a=n>12;break}}else a=e===(t?"pm":"PM");return a},m={A:[r,function(e){this.afternoon=c(e,!1)}],a:[r,function(e){this.afternoon=c(e,!0)}],Q:[a,function(e){this.month=3*(e-1)+1}],S:[a,function(e){this.milliseconds=100*+e}],SS:[o,function(e){this.milliseconds=10*+e}],SSS:[/\d{3}/,function(e){this.milliseconds=+e}],s:[n,s("seconds")],ss:[n,s("seconds")],m:[n,s("minutes")],mm:[n,s("minutes")],H:[n,s("hours")],h:[n,s("hours")],HH:[n,s("hours")],hh:[n,s("hours")],D:[n,s("day")],DD:[o,s("day")],Do:[r,function(e){var t=l.ordinal,a=e.match(/\d+/);if(this.day=a[0],t)for(var o=1;o<=31;o+=1)t(o).replace(/\[|\]/g,"")===e&&(this.day=o)}],w:[n,s("week")],ww:[o,s("week")],M:[n,s("month")],MM:[o,s("month")],MMM:[r,function(e){var t=u("months"),a=(u("monthsShort")||t.map(function(e){return e.slice(0,3)})).indexOf(e)+1;if(a<1)throw new Error;this.month=a%12||a}],MMMM:[r,function(e){var t=u("months").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t}],Y:[/[+-]?\d+/,s("year")],YY:[o,function(e){this.year=i(e)}],YYYY:[/\d{4}/,s("year")],Z:d,ZZ:d};function p(a){var o,n;o=a,n=l&&l.formats;for(var r=(a=o.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(t,a,o){var r=o&&o.toUpperCase();return a||n[o]||e[o]||n[r].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(e,t,a){return t||a.slice(1)})})).match(t),i=r.length,s=0;s<i;s+=1){var d=r[s],u=m[d],c=u&&u[0],p=u&&u[1];r[s]=p?{regex:c,parser:p}:d.replace(/^\[|\]$/g,"")}return function(e){for(var t={},a=0,o=0;a<i;a+=1){var n=r[a];if("string"==typeof n)o+=n.length;else{var l=n.regex,s=n.parser,d=e.slice(o),u=l.exec(d)[0];s.call(t,u),e=e.replace(u,"")}}return function(e){var t=e.afternoon;if(void 0!==t){var a=e.hours;t?a<12&&(e.hours+=12):12===a&&(e.hours=0),delete e.afternoon}}(t),t}}return function(e,t,a){a.p.customParseFormat=!0,e&&e.parseTwoDigitYear&&(i=e.parseTwoDigitYear);var o=t.prototype,n=o.parse;o.parse=function(e){var t=e.date,o=e.utc,r=e.args;this.$u=o;var i=r[1];if("string"==typeof i){var s=!0===r[2],d=!0===r[3],u=s||d,c=r[2];d&&(c=r[2]),l=this.$locale(),!s&&c&&(l=a.Ls[c]),this.$d=function(e,t,a,o){try{if(["x","X"].indexOf(t)>-1)return new Date(("X"===t?1e3:1)*e);var n=p(t)(e),r=n.year,l=n.month,i=n.day,s=n.hours,d=n.minutes,u=n.seconds,c=n.milliseconds,m=n.zone,f=n.week,v=new Date,h=i||(r||l?1:v.getDate()),y=r||v.getFullYear(),g=0;r&&!l||(g=l>0?l-1:v.getMonth());var k,b=s||0,D=d||0,w=u||0,M=c||0;return m?new Date(Date.UTC(y,g,h,b,D,w,M+60*m.offset*1e3)):a?new Date(Date.UTC(y,g,h,b,D,w,M)):(k=new Date(y,g,h,b,D,w,M),f&&(k=o(k).week(f).toDate()),k)}catch(x){return new Date("")}}(t,i,o,a),this.init(),c&&!0!==c&&(this.$L=this.locale(c).$L),u&&t!=this.format(i)&&(this.$d=new Date("")),l={}}else if(i instanceof Array)for(var m=i.length,f=1;f<=m;f+=1){r[1]=i[f-1];var v=a.apply(this,r);if(v.isValid()){this.$d=v.$d,this.$L=v.$L,this.init();break}f===m&&(this.$d=new Date(""))}else n.call(this,e)}}}()}(c);const m=n(c.exports);function p(e,t=o()){const a=t.add(e,"month").startOf("month"),n=a.day(),r=a.daysInMonth(),l=a.subtract(1,"month").daysInMonth(),i=[];for(let o=n-1;o>=0;o--){const e=a.subtract(1,"month").date(l-o);i.push({date:e,isPrevMonth:!0,isCurrentMonth:!1,isNextMonth:!1})}for(let o=1;o<=r;o++){const e=a.date(o);i.push({date:e,isPrevMonth:!1,isCurrentMonth:!0,isNextMonth:!1})}const s=42-i.length;for(let o=1;o<=s;o++){const e=a.add(1,"month").date(o);i.push({date:e,isPrevMonth:!1,isCurrentMonth:!1,isNextMonth:!0})}return{month:a,days:i}}function f(e,t,a,n,r={}){const{startDate:l=null,endDate:i=null,minDate:s=null,maxDate:d=null,disabledDates:u=[],holidays:c=[]}=r,m=s&&e.isBefore(s,"day")||d&&e.isAfter(d,"day")||u.some(t=>t.isSame(e,"day")),p=c.some(t=>t.isSame(e,"day")),f=l&&e.isSame(l,"day")||i&&e.isSame(i,"day"),v=l&&i&&e.isAfter(l,"day")&&e.isBefore(i,"day"),h=e.isSame(o(),"day"),y=0===e.day()||6===e.day();return{date:e,isPrevMonth:t,isCurrentMonth:a,isNextMonth:n,isDisabled:m,isHoliday:p,isWeekend:y,isSelected:f,isInRange:v,isToday:h}}o.extend(l),o.extend(s),o.extend(u),o.extend(m);const v={key:0,class:"rangepicker-overlay"},h={class:"rangepicker-header"},y={class:"arch-flex arch-items-center arch-justify-between"},g={key:0,class:"arch-mb-1 arch-text-xs arch-font-medium arch-text-gray-500"},k={class:"arch-text-sm arch-font-semibold arch-text-gray-900"},b={key:0,class:"arch-mt-1 arch-text-xs arch-text-gray-500"},D={class:"rangepicker-body"},w={class:"rangepicker-month-grid"},M={class:"rangepicker-month-header"},x=["disabled"],B={key:1,class:"arch-w-8"},S={class:"rangepicker-month-title"},V=["disabled"],Y={key:3,class:"arch-w-8"},C={class:"rangepicker-weekdays"},N=["disabled","aria-label","onClick","onMouseenter"],E={key:0,class:"arch-mt-4 arch-flex arch-items-center arch-justify-end arch-gap-2 arch-border-t arch-border-gray-200 arch-pt-4"},O=["disabled"],L={class:"arch-flex arch-items-center arch-gap-1"},$=(e,t)=>{const a=e.__vccOpts||e;for(const[o,n]of t)a[o]=n;return a},A=$(t.defineComponent({__name:"Rangepicker",props:{modelValue:{},isOpen:{type:Boolean,default:!1},variant:{default:"desktop"},minDate:{},maxDate:{},minDays:{},maxDays:{},close:{type:Boolean},valueOfMonths:{default:2},valueOfColumns:{default:2},disabledDates:{},holidays:{},format:{default:"YYYY-MM-DD"},delimiter:{default:" - "},placeholder:{},label:{},showTooltip:{type:Boolean,default:!0},autoApply:{type:Boolean,default:!1},position:{default:"auto"},triggerElement:{},colorStyles:{},borderRadius:{default:"0.75rem"}},emits:["update:modelValue","update:isOpen","dateSelected","rangeSelected"],setup(e,{emit:n}){const r=e,l=n,i=a.useBreakpoints(a.breakpointsTailwind).smallerOrEqual("lg"),s=t.computed(()=>i.value?1:r.valueOfMonths);t.computed(()=>i.value?1:r.valueOfColumns);const d=t.ref(null),u=t.ref(!1),c=t.ref(null),m=t.ref(0),$=t.ref(r.isOpen),A=t.ref(null),T=t.ref(null),R=t.computed(()=>r.minDate?o(r.minDate):null),_=t.computed(()=>r.maxDate?o(r.maxDate):null),z=t.computed(()=>{var e;return(null==(e=r.disabledDates)?void 0:e.map(e=>o(e)))||[]}),I=t.computed(()=>{var e;return(null==(e=r.holidays)?void 0:e.map(e=>o(e)))||[]}),P=t.computed(()=>function(e="en",t="short"){const a=o().startOf("week"),n=[];for(let o=0;o<7;o++){const e=a.add(o,"day");n.push("short"===t?e.format("ddd"):e.format("dd"))}return n}("en","narrow")),j=t.computed(()=>"mobile"===r.variant?1:s.value),F=t.computed(()=>function(e,t=0,a={}){const o=[];for(let n=0;n<e;n++){const{month:e,days:r}=p(t+n),l=r.map(e=>f(e.date,e.isPrevMonth,e.isCurrentMonth,e.isNextMonth,a));o.push({month:e,days:l})}return o}(j.value,m.value,{startDate:A.value,endDate:T.value,minDate:R.value,maxDate:_.value,disabledDates:z.value,holidays:I.value})),H=t.computed(()=>A.value&&T.value?T.value.diff(A.value,"day"):0),U=t.computed(()=>A.value||T.value?A.value&&!T.value?A.value.format(r.format):A.value&&T.value?`${A.value.format(r.format)}${r.delimiter}${T.value.format(r.format)}`:"":""),Z=t.computed(()=>{if(!R.value)return!0;return o().add(m.value,"month").startOf("month").isAfter(R.value,"month")}),q=t.computed(()=>{if(!_.value)return!0;return o().add(m.value+j.value-1,"month").endOf("month").isBefore(_.value,"month")}),{width:W}=a.useWindowSize(),X=t.ref({});function Q(){"mobile"!==r.variant?t.nextTick(()=>{const e=function(e,t,a="auto"){if(!e||!t)return{left:0};const o=e.getBoundingClientRect(),n=t.getBoundingClientRect(),r=window.innerHeight,l=window.innerWidth,i=o.top,s=r-o.bottom,d={left:o.left};return"auto"===a?s>=n.height||s>i?d.top=o.bottom+8:d.bottom=r-o.top+8:"top"===a?d.bottom=r-o.top+8:d.top=o.bottom+8,d.left+n.width>l&&(d.left=l-n.width-16),d.left<16&&(d.left=16),d}(r.triggerElement,d.value,r.position);X.value={left:`${e.left}px`,...void 0!==e.top&&{top:`${e.top}px`},...void 0!==e.bottom&&{bottom:`${e.bottom}px`},...e.transform&&{transform:e.transform},"--border-radius-day":r.borderRadius}}):X.value={"--border-radius-day":r.borderRadius}}const G=t.ref({}),J=t.computed(()=>{if(!c.value||!A.value)return"";const e=c.value.date.diff(A.value,"day");return e<=0?"":`${e} ${1===e?"night":"nights"}`}),K=t.computed(()=>r.showTooltip&&c.value&&A.value&&!T.value&&c.value.date.isAfter(A.value,"day"));function ee(e){const t=["rangepicker-day"];if(e.isCurrentMonth||t.push("rangepicker-day-other-month"),e.isDisabled&&t.push("rangepicker-day-disabled"),e.isToday&&t.push("rangepicker-day-today"),e.isWeekend&&!e.isSelected&&t.push("rangepicker-day-weekend"),e.isHoliday&&t.push("rangepicker-day-holiday"),e.isSelected&&(A.value&&T.value&&e.date.isSame(A.value,"day")&&e.date.isSame(T.value,"day")?t.push("rangepicker-day-selected-single"):A.value&&e.date.isSame(A.value,"day")?t.push("rangepicker-day-selected-start"):T.value&&e.date.isSame(T.value,"day")?t.push("rangepicker-day-selected-end"):t.push("rangepicker-day-selected")),e.isInRange&&t.push("rangepicker-day-in-range"),A.value&&!T.value&&c.value){const a=A.value,o=c.value.date;o.isAfter(a,"day")?e.date.isSame(a,"day")?t.push("rangepicker-day-hover-range","rangepicker-day-hover-start"):e.date.isSame(o,"day")?t.push("rangepicker-day-hover-range","rangepicker-day-hover-end"):e.date.isAfter(a,"day")&&e.date.isBefore(o,"day")&&t.push("rangepicker-day-hover-range","rangepicker-day-hover-middle"):o.isBefore(a,"day")&&(e.date.isSame(o,"day")?t.push("rangepicker-day-hover-range","rangepicker-day-hover-start"):e.date.isSame(a,"day")?t.push("rangepicker-day-hover-range","rangepicker-day-hover-end"):e.date.isAfter(o,"day")&&e.date.isBefore(a,"day")&&t.push("rangepicker-day-hover-range","rangepicker-day-hover-middle"))}return t}function te(e,t){c.value=e,r.showTooltip&&A.value&&!T.value&&function(e){const t=e.target.getBoundingClientRect();G.value={left:`${t.left+t.width/2}px`,top:t.top-10+"px",transform:"translateX(-50%) translateY(-100%)"}}(t)}function ae(){c.value=null}function oe(){Z.value&&m.value--}function ne(){q.value&&m.value++}function re(){u.value||(u.value=!0,setTimeout(()=>{$.value=!1,l("update:isOpen",!1),u.value=!1},200))}function le(){A.value&&T.value&&l("update:modelValue",{startDate:A.value.format(r.format),endDate:T.value.format(r.format)}),re()}function ie(){var e,t;(null==(e=r.modelValue)?void 0:e.startDate)?A.value=o(r.modelValue.startDate):A.value=null,(null==(t=r.modelValue)?void 0:t.endDate)?T.value=o(r.modelValue.endDate):T.value=null,re()}function se(e){$.value&&"Escape"===e.key&&re()}return t.watch(()=>r.isOpen,e=>{$.value=e,e&&Q()}),t.watch(()=>r.close,e=>{e&&re()}),t.watch(()=>r.modelValue,e=>{(null==e?void 0:e.startDate)?A.value=o(e.startDate):A.value=null,(null==e?void 0:e.endDate)?T.value=o(e.endDate):T.value=null},{immediate:!0,deep:!0}),t.watch([W,$],()=>{$.value&&Q()}),a.onClickOutside(d,()=>{$.value&&"mobile"!==r.variant&&re()}),t.onMounted(()=>{document.addEventListener("keydown",se),r.isOpen&&Q()}),t.onUnmounted(()=>{document.removeEventListener("keydown",se)}),(a,o)=>(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"mobile"===e.variant?"slide-up":"fade"},{default:t.withCtx(()=>{var a;return[$.value||u.value?(t.openBlock(),t.createElementBlock("div",v,[t.createElementVNode("div",{class:"rangepicker-backdrop",onClick:re}),t.createElementVNode("div",{ref_key:"calendarRef",ref:d,"data-version":10,class:t.normalizeClass(["rangepicker-container",["mobile"===e.variant?"rangepicker-mobile":""]]),style:t.normalizeStyle({...X.value,...e.colorStyles,borderRadius:r.borderRadius})},[t.createElementVNode("div",h,[t.createElementVNode("div",y,[t.createElementVNode("div",null,[e.label?(t.openBlock(),t.createElementBlock("p",g,t.toDisplayString(e.label),1)):t.createCommentVNode("",!0),t.createElementVNode("p",k,t.toDisplayString(U.value||e.placeholder||"Select dates"),1)]),H.value>0?(t.openBlock(),t.createElementBlock("p",b,t.toDisplayString(H.value)+" "+t.toDisplayString(1===H.value?"night":"nights"),1)):t.createCommentVNode("",!0)])]),t.createElementVNode("div",D,[t.createElementVNode("div",w,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(F.value,(a,n)=>(t.openBlock(),t.createElementBlock("div",{key:a.month.format("YYYY-MM"),class:"rangepicker-month"},[t.createElementVNode("div",M,["mobile"===e.variant||0===n?(t.openBlock(),t.createElementBlock("button",{key:0,class:"rangepicker-nav-button",disabled:!Z.value,"aria-label":"Previous month",onClick:oe},[...o[0]||(o[0]=[t.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",class:"arch-h-5 arch-w-5",viewBox:"0 0 20 20",fill:"currentColor"},[t.createElementVNode("path",{"fill-rule":"evenodd",d:"M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z","clip-rule":"evenodd"})],-1)])],8,x)):(t.openBlock(),t.createElementBlock("div",B)),t.createElementVNode("span",S,t.toDisplayString(a.month.format("MMMM YYYY")),1),"mobile"===e.variant||n===F.value.length-1?(t.openBlock(),t.createElementBlock("button",{key:2,class:"rangepicker-nav-button",disabled:!q.value,"aria-label":"Next month",onClick:ne},[...o[1]||(o[1]=[t.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",class:"arch-h-5 arch-w-5",viewBox:"0 0 20 20",fill:"currentColor"},[t.createElementVNode("path",{"fill-rule":"evenodd",d:"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z","clip-rule":"evenodd"})],-1)])],8,V)):(t.openBlock(),t.createElementBlock("div",Y))]),t.createElementVNode("div",C,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(P.value,e=>(t.openBlock(),t.createElementBlock("div",{key:e,class:"rangepicker-weekday"},t.toDisplayString(e),1))),128))]),t.createElementVNode("div",{class:"rangepicker-grid",onMouseleave:ae},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.days,e=>(t.openBlock(),t.createElementBlock("button",{key:e.date.unix(),class:t.normalizeClass(ee(e)),disabled:e.isDisabled,"aria-label":e.date.format("MMMM D, YYYY"),onClick:t=>function(e,t){if(t.preventDefault(),!e.isDisabled)if(l("dateSelected",e.date),!A.value||A.value&&T.value)A.value=e.date,T.value=null;else{if(e.date.isBefore(A.value,"day")?(T.value=A.value,A.value=e.date):T.value=e.date,r.minDays&&T.value.diff(A.value,"day")<r.minDays)return A.value=e.date,void(T.value=null);if(r.maxDays&&T.value.diff(A.value,"day")>r.maxDays)return A.value=e.date,void(T.value=null);l("rangeSelected",A.value,T.value),r.autoApply&&le()}}(e,t),onMouseenter:t=>te(e,t)},[t.createElementVNode("span",null,t.toDisplayString(e.date.date()),1)],42,N))),128))],32)]))),128))]),e.autoApply?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",E,[t.createElementVNode("button",{class:"arch-rounded-lg arch-px-4 arch-py-2 arch-text-sm arch-font-medium arch-text-gray-700 arch-transition-colors hover:arch-bg-gray-100",onClick:ie}," Cancel "),t.createElementVNode("button",{class:"arch-rounded-lg arch-px-4 arch-py-2 arch-text-sm arch-font-medium arch-text-white arch-transition-colors disabled:arch-cursor-not-allowed disabled:arch-opacity-50",style:t.normalizeStyle({backgroundColor:(null==(a=e.colorStyles)?void 0:a["--color-primary"])?`rgb(${e.colorStyles["--color-primary"]})`:"rgb(37 99 235)"}),disabled:!A.value||!T.value,onClick:le}," Apply ",12,O)]))]),K.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"rangepicker-tooltip",style:t.normalizeStyle(G.value)},[t.createElementVNode("div",L,t.toDisplayString(J.value),1)],4)):t.createCommentVNode("",!0)],6)])):t.createCommentVNode("",!0)]}),_:1},8,["name"])]))}}),[["__scopeId","data-v-373603fd"]]),T={class:"rangepicker-input-container"},R=["id","value","placeholder","readonly","name"],_=$(t.defineComponent({inheritAttrs:!1,__name:"RangepickerInput",props:{id:{},name:{},placeholder:{default:"Select dates"},readonly:{type:Boolean,default:!0},class:{},modelValue:{},close:{type:Boolean},variant:{default:"desktop"},primaryColor:{},secondaryColor:{},fontFamily:{},borderRadius:{},showClearButton:{type:Boolean,default:!0},autoApply:{type:Boolean},allowRepick:{type:Boolean},dropdowns:{},startDate:{},minDate:{},maxDate:{},format:{},numberOfColumns:{},numberOfMonths:{},singleMode:{type:Boolean},tooltipText:{},tooltipNumber:{},inlineMode:{type:Boolean},minDays:{},maxDays:{},showTooltip:{type:Boolean}},emits:["update:modelValue","focusin"],setup(e,{emit:a}){function o(e){if(3===(e=e.replace(/^#/,"")).length&&(e=e.split("").map(e=>e+e).join("")),6!==e.length)return console.warn(`[Rangepicker] Invalid hex color: ${e}`),null;const t=Number.parseInt(e.substring(0,2),16),a=Number.parseInt(e.substring(2,4),16),o=Number.parseInt(e.substring(4,6),16);return Number.isNaN(t)||Number.isNaN(a)||Number.isNaN(o)?null:`${t} ${a} ${o}`}const n=e,r=a,l=t.ref(null),i=t.ref(!1);function s(e){if(!e)return{startDate:"",endDate:""};const t=e.split(" - ");return 2===t.length?{startDate:t[0].trim(),endDate:t[1].trim()}:{startDate:"",endDate:""}}t.watch(()=>null==n?void 0:n.close,e=>{e&&l.value.blur()});const d=t.ref(s(n.modelValue)),u=t.computed(()=>n.modelValue||"");function c(){i.value=!0}function m(){r("focusin"),c()}function p(e){d.value=e;const t=`${e.startDate} - ${e.endDate}`;r("update:modelValue",t)}function f(){d.value={startDate:"",endDate:""},r("update:modelValue",""),i.value=!1}t.watch(()=>n.modelValue,e=>{d.value=s(e)});const v=t.computed(()=>{const e={};if(n.primaryColor){const t=o(n.primaryColor);t&&(e["--color-primary"]=t)}if(n.secondaryColor){const t=o(n.secondaryColor);t&&(e["--color-secondary"]=t)}return n.fontFamily&&(e["--rangepicker-font-family"]=n.fontFamily),e});return(a,o)=>(t.openBlock(),t.createElementBlock("div",t.mergeProps(a.$attrs,{class:"rangepicker-input-wrapper",style:v.value}),[t.createElementVNode("div",T,[t.createElementVNode("input",{id:e.id,ref_key:"inputRef",ref:l,type:"text",value:u.value,placeholder:e.placeholder,readonly:e.readonly,name:e.name,class:t.normalizeClass((null==n?void 0:n.class)?n.class:"rangepicker-input block w-full h-full bg-transparent border-0 shadow-none outline-none cursor-pointer font-inherit text-inherit p-0"),onClick:c,onFocus:m},null,42,R),e.showClearButton&&u.value?(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:"rangepicker-clear-button",onClick:t.withModifiers(f,["stop"]),"aria-label":"Clear dates"},[...o[2]||(o[2]=[t.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",class:"arch-h-4 arch-w-4",viewBox:"0 0 20 20",fill:"currentColor"},[t.createElementVNode("path",{"fill-rule":"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z","clip-rule":"evenodd"})],-1)])])):t.createCommentVNode("",!0)]),t.createVNode(A,{modelValue:d.value,"onUpdate:modelValue":[o[0]||(o[0]=e=>d.value=e),p],"is-open":i.value,"onUpdate:isOpen":o[1]||(o[1]=e=>i.value=e),"trigger-element":l.value,"min-date":e.minDate,"max-date":e.maxDate,"min-days":e.minDays,"max-days":e.maxDays,"value-of-months":e.numberOfMonths||2,"value-of-columns":e.numberOfColumns||2,format:e.format||"DD MMM YYYY","auto-apply":!1!==e.autoApply,"show-tooltip":!1!==e.showTooltip,variant:e.variant,close:n.close,"color-styles":v.value,"border-radius":e.borderRadius},null,8,["modelValue","is-open","trigger-element","min-date","max-date","min-days","max-days","value-of-months","value-of-columns","format","auto-apply","show-tooltip","variant","close","color-styles","border-radius"])],16))}}),[["__scopeId","data-v-1132af89"]]);e.Rangepicker=A,e.RangepickerInput=_,e.default=_,e.useRangepicker=function(e,a={}){const o=t.ref(!1),n=t.ref({startDate:"",endDate:""});return{isOpen:o,dateRange:n,open:()=>{o.value=!0},close:()=>{o.value=!1},toggle:()=>{o.value=!o.value},options:a}},Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
2
2
|
//# sourceMappingURL=rangepicker.umd.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rangepicker.umd.cjs","sources":["../../../node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/plugin/isBetween.js","../../../node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/plugin/isSameOrAfter.js","../../../node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/plugin/isSameOrBefore.js","../../../node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/plugin/customParseFormat.js","../src/utils/calendar.ts","../src/utils/date.ts","../src/Rangepicker.vue","../src/utils/position.ts","../src/RangepickerInput.vue","../src/index.ts"],"sourcesContent":["!function(e,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isBetween=i()}(this,(function(){\"use strict\";return function(e,i,t){i.prototype.isBetween=function(e,i,s,f){var n=t(e),o=t(i),r=\"(\"===(f=f||\"()\")[0],u=\")\"===f[1];return(r?this.isAfter(n,s):!this.isBefore(n,s))&&(u?this.isBefore(o,s):!this.isAfter(o,s))||(r?this.isBefore(n,s):!this.isAfter(n,s))&&(u?this.isAfter(o,s):!this.isBefore(o,s))}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isSameOrAfter=t()}(this,(function(){\"use strict\";return function(e,t){t.prototype.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)}}}));","!function(e,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isSameOrBefore=i()}(this,(function(){\"use strict\";return function(e,i){i.prototype.isSameOrBefore=function(e,i){return this.isSame(e,i)||this.isBefore(e,i)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_customParseFormat=t()}(this,(function(){\"use strict\";var e={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"},t=/(\\[[^[]*\\])|([-_:/.,()\\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\\d/,r=/\\d\\d/,i=/\\d\\d?/,o=/\\d*[^-_:/,()\\s\\d]+/,s={},a=function(e){return(e=+e)+(e>68?1900:2e3)};var f=function(e){return function(t){this[e]=+t}},h=[/[+-]\\d\\d:?(\\d\\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if(\"Z\"===e)return 0;var t=e.match(/([+-]|\\d\\d)/g),n=60*t[1]+(+t[2]||0);return 0===n?0:\"+\"===t[0]?-n:n}(e)}],u=function(e){var t=s[e];return t&&(t.indexOf?t:t.s.concat(t.f))},d=function(e,t){var n,r=s.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?\"pm\":\"PM\");return n},c={A:[o,function(e){this.afternoon=d(e,!1)}],a:[o,function(e){this.afternoon=d(e,!0)}],Q:[n,function(e){this.month=3*(e-1)+1}],S:[n,function(e){this.milliseconds=100*+e}],SS:[r,function(e){this.milliseconds=10*+e}],SSS:[/\\d{3}/,function(e){this.milliseconds=+e}],s:[i,f(\"seconds\")],ss:[i,f(\"seconds\")],m:[i,f(\"minutes\")],mm:[i,f(\"minutes\")],H:[i,f(\"hours\")],h:[i,f(\"hours\")],HH:[i,f(\"hours\")],hh:[i,f(\"hours\")],D:[i,f(\"day\")],DD:[r,f(\"day\")],Do:[o,function(e){var t=s.ordinal,n=e.match(/\\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\\[|\\]/g,\"\")===e&&(this.day=r)}],w:[i,f(\"week\")],ww:[r,f(\"week\")],M:[i,f(\"month\")],MM:[r,f(\"month\")],MMM:[o,function(e){var t=u(\"months\"),n=(u(\"monthsShort\")||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[o,function(e){var t=u(\"months\").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t}],Y:[/[+-]?\\d+/,f(\"year\")],YY:[r,function(e){this.year=a(e)}],YYYY:[/\\d{4}/,f(\"year\")],Z:h,ZZ:h};function l(n){var r,i;r=n,i=s&&s.formats;for(var o=(n=r.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var o=r&&r.toUpperCase();return n||i[r]||e[r]||i[o].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),a=o.length,f=0;f<a;f+=1){var h=o[f],u=c[h],d=u&&u[0],l=u&&u[1];o[f]=l?{regex:d,parser:l}:h.replace(/^\\[|\\]$/g,\"\")}return function(e){for(var t={},n=0,r=0;n<a;n+=1){var i=o[n];if(\"string\"==typeof i)r+=i.length;else{var s=i.regex,f=i.parser,h=e.slice(r),u=s.exec(h)[0];f.call(t,u),e=e.replace(u,\"\")}}return function(e){var t=e.afternoon;if(void 0!==t){var n=e.hours;t?n<12&&(e.hours+=12):12===n&&(e.hours=0),delete e.afternoon}}(t),t}}return function(e,t,n){n.p.customParseFormat=!0,e&&e.parseTwoDigitYear&&(a=e.parseTwoDigitYear);var r=t.prototype,i=r.parse;r.parse=function(e){var t=e.date,r=e.utc,o=e.args;this.$u=r;var a=o[1];if(\"string\"==typeof a){var f=!0===o[2],h=!0===o[3],u=f||h,d=o[2];h&&(d=o[2]),s=this.$locale(),!f&&d&&(s=n.Ls[d]),this.$d=function(e,t,n,r){try{if([\"x\",\"X\"].indexOf(t)>-1)return new Date((\"X\"===t?1e3:1)*e);var i=l(t)(e),o=i.year,s=i.month,a=i.day,f=i.hours,h=i.minutes,u=i.seconds,d=i.milliseconds,c=i.zone,m=i.week,M=new Date,Y=a||(o||s?1:M.getDate()),p=o||M.getFullYear(),v=0;o&&!s||(v=s>0?s-1:M.getMonth());var D,w=f||0,g=h||0,y=u||0,L=d||0;return c?new Date(Date.UTC(p,v,Y,w,g,y,L+60*c.offset*1e3)):n?new Date(Date.UTC(p,v,Y,w,g,y,L)):(D=new Date(p,v,Y,w,g,y,L),m&&(D=r(D).week(m).toDate()),D)}catch(e){return new Date(\"\")}}(t,a,r,n),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(a)&&(this.$d=new Date(\"\")),s={}}else if(a instanceof Array)for(var c=a.length,m=1;m<=c;m+=1){o[1]=a[m-1];var M=n.apply(this,o);if(M.isValid()){this.$d=M.$d,this.$L=M.$L,this.init();break}m===c&&(this.$d=new Date(\"\"))}else i.call(this,e)}}}));","import type { CalendarDay, CalendarMonth } from '../types'\nimport { type Dayjs, dayjs } from './date'\n\nexport function getMonthDays(\n monthOffset: number,\n currentDate: Dayjs = dayjs(),\n): {\n month: Dayjs\n days: Array<{\n date: Dayjs\n isPrevMonth: boolean\n isCurrentMonth: boolean\n isNextMonth: boolean\n }>\n} {\n const month = currentDate.add(monthOffset, 'month').startOf('month')\n const firstDayOfMonth = month.day()\n const daysInMonth = month.daysInMonth()\n const daysInPrevMonth = month.subtract(1, 'month').daysInMonth()\n\n const days: Array<{\n date: Dayjs\n isPrevMonth: boolean\n isCurrentMonth: boolean\n isNextMonth: boolean\n }> = []\n\n // Previous month days\n for (let i = firstDayOfMonth - 1; i >= 0; i--) {\n const date = month.subtract(1, 'month').date(daysInPrevMonth - i)\n days.push({\n date,\n isPrevMonth: true,\n isCurrentMonth: false,\n isNextMonth: false,\n })\n }\n\n // Current month days\n for (let i = 1; i <= daysInMonth; i++) {\n const date = month.date(i)\n days.push({\n date,\n isPrevMonth: false,\n isCurrentMonth: true,\n isNextMonth: false,\n })\n }\n\n // Next month days to complete the grid\n const remainingDays = 42 - days.length // 6 weeks * 7 days\n for (let i = 1; i <= remainingDays; i++) {\n const date = month.add(1, 'month').date(i)\n days.push({\n date,\n isPrevMonth: false,\n isCurrentMonth: false,\n isNextMonth: true,\n })\n }\n\n return { month, days }\n}\n\nexport function createCalendarDay(\n date: Dayjs,\n isPrevMonth: boolean,\n isCurrentMonth: boolean,\n isNextMonth: boolean,\n options: {\n startDate?: Dayjs | null\n endDate?: Dayjs | null\n minDate?: Dayjs | null\n maxDate?: Dayjs | null\n disabledDates?: Dayjs[]\n holidays?: Dayjs[]\n } = {},\n): CalendarDay {\n const {\n startDate = null,\n endDate = null,\n minDate = null,\n maxDate = null,\n disabledDates = [],\n holidays = [],\n } = options\n\n const isDisabled =\n (minDate && date.isBefore(minDate, 'day')) ||\n (maxDate && date.isAfter(maxDate, 'day')) ||\n disabledDates.some(d => d.isSame(date, 'day'))\n\n const isHoliday = holidays.some(h => h.isSame(date, 'day'))\n\n const isSelected = (startDate && date.isSame(startDate, 'day')) || (endDate && date.isSame(endDate, 'day'))\n\n const isInRange = startDate && endDate && date.isAfter(startDate, 'day') && date.isBefore(endDate, 'day')\n\n const isToday = date.isSame(dayjs(), 'day')\n\n const isWeekend = date.day() === 0 || date.day() === 6\n\n return {\n date,\n isPrevMonth,\n isCurrentMonth,\n isNextMonth,\n isDisabled,\n isHoliday,\n isWeekend,\n isSelected,\n isInRange,\n isToday,\n }\n}\n\nexport function generateCalendarMonths(\n numberOfMonths: number,\n startOffset: number = 0,\n options: {\n startDate?: Dayjs | null\n endDate?: Dayjs | null\n minDate?: Dayjs | null\n maxDate?: Dayjs | null\n disabledDates?: Dayjs[]\n holidays?: Dayjs[]\n } = {},\n): CalendarMonth[] {\n const months: CalendarMonth[] = []\n\n for (let i = 0; i < numberOfMonths; i++) {\n const { month, days } = getMonthDays(startOffset + i)\n\n const calendarDays = days.map(day =>\n createCalendarDay(day.date, day.isPrevMonth, day.isCurrentMonth, day.isNextMonth, options),\n )\n\n months.push({\n month,\n days: calendarDays,\n })\n }\n\n return months\n}\n\nexport function getWeekDays(locale: string = 'en', format: 'short' | 'narrow' = 'short'): string[] {\n const weekStart = dayjs().startOf('week')\n const days: string[] = []\n\n for (let i = 0; i < 7; i++) {\n const day = weekStart.add(i, 'day')\n days.push(format === 'short' ? day.format('ddd') : day.format('dd'))\n }\n\n return days\n}\n","import type { Dayjs } from 'dayjs'\nimport dayjs from 'dayjs'\nimport isBetween from 'dayjs/plugin/isBetween'\nimport isSameOrAfter from 'dayjs/plugin/isSameOrAfter'\nimport isSameOrBefore from 'dayjs/plugin/isSameOrBefore'\nimport customParseFormat from 'dayjs/plugin/customParseFormat'\n\ndayjs.extend(isBetween)\ndayjs.extend(isSameOrAfter)\ndayjs.extend(isSameOrBefore)\ndayjs.extend(customParseFormat)\n\nexport { dayjs }\nexport type { Dayjs }\n\nexport function parseDate(date: string | Date | Dayjs, format?: string): Dayjs {\n if (dayjs.isDayjs(date)) return date\n return format ? dayjs(date, format) : dayjs(date)\n}\n\nexport function formatDate(date: Dayjs, format: string = 'YYYY-MM-DD'): string {\n return date.format(format)\n}\n\nexport function isDateInRange(date: Dayjs, start: Dayjs, end: Dayjs): boolean {\n return date.isBetween(start, end, 'day', '[]')\n}\n\nexport function getDaysBetween(start: Dayjs, end: Dayjs): number {\n return end.diff(start, 'day')\n}\n\nexport function isWeekend(date: Dayjs): boolean {\n const day = date.day()\n return day === 0 || day === 6 // Sunday or Saturday\n}\n\nexport function isToday(date: Dayjs): boolean {\n return date.isSame(dayjs(), 'day')\n}\n","<script setup lang=\"ts\">\nimport {\n computed,\nnextTick,\nonMounted,\nonUnmounted,\nref,\nwatch,\n} from 'vue'\nimport {\n breakpointsTailwind,\nonClickOutside,\nuseBreakpoints,\nuseWindowSize,\n} from '@vueuse/core'\nimport type { Dayjs } from 'dayjs'\nimport { dayjs } from './utils/date'\nimport { generateCalendarMonths, getWeekDays } from './utils/calendar'\nimport { calculatePosition } from './utils/position'\nimport type { CalendarDay, RangepickerProps } from './types'\n\nconst props = withDefaults(defineProps<RangepickerProps>(), {\n isOpen: false,\n variant: 'desktop',\n valueOfMonths: 2,\n valueOfColumns: 2,\n format: 'YYYY-MM-DD',\n delimiter: ' - ',\n showTooltip: true,\n autoApply: false,\n position: 'auto',\n borderRadius: '0.75rem',\n})\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: { startDate: string; endDate: string }]\n 'update:isOpen': [value: boolean]\n \"dateSelected\": [date: Dayjs]\n \"rangeSelected\": [start: Dayjs, end: Dayjs]\n}>()\nconst breakpoints = useBreakpoints(breakpointsTailwind)\nconst isMobile = breakpoints.smallerOrEqual('lg')\nconst numberOfMonths = computed(() => (isMobile.value ? 1 : props.valueOfMonths))\nconst numberOfColumns = computed(() => (isMobile.value ? 1 : props.valueOfColumns))\n\n// Refs\nconst calendarRef = ref<HTMLElement | null>(null)\nconst isFadingOut = ref(false)\nconst hoveredDay = ref<CalendarDay | null>(null)\nconst monthOffset = ref(0)\n\n// Local state\nconst localIsOpen = ref(props.isOpen)\nconst localStartDate = ref<Dayjs | null>(null)\nconst localEndDate = ref<Dayjs | null>(null)\n\n// Parse dates from props\nconst parsedMinDate = computed(() => (props.minDate ? dayjs(props.minDate) : null))\nconst parsedMaxDate = computed(() => (props.maxDate ? dayjs(props.maxDate) : null))\nconst parsedDisabledDates = computed(() => props.disabledDates?.map(d => dayjs(d)) || [])\nconst parsedHolidays = computed(() => props.holidays?.map(h => dayjs(h)) || [])\n\n// Calendar data\nconst weekdays = computed(() => getWeekDays('en', 'narrow'))\n\n// For mobile view, show only 1 month\nconst effectiveNumberOfMonths = computed(() => (props.variant === 'mobile' ? 1 : numberOfMonths.value))\n\nconst calendarMonths = computed(() =>\n generateCalendarMonths(effectiveNumberOfMonths.value, monthOffset.value, {\n startDate: localStartDate.value,\n endDate: localEndDate.value,\n minDate: parsedMinDate.value,\n maxDate: parsedMaxDate.value,\n disabledDates: parsedDisabledDates.value,\n holidays: parsedHolidays.value,\n }),\n)\n\nconst nightCount = computed(() => {\n if (!localStartDate.value || !localEndDate.value) return 0\n return localEndDate.value.diff(localStartDate.value, 'day')\n})\n\nconst formattedDateRange = computed(() => {\n if (!localStartDate.value && !localEndDate.value) return ''\n else if (localStartDate.value && !localEndDate.value) return localStartDate.value.format(props.format)\n else if (localStartDate.value && localEndDate.value)\n return `${localStartDate.value.format(props.format)}${props.delimiter}${localEndDate.value.format(props.format)}`\n else return ''\n})\n\n// Navigation\nconst canNavigatePrevious = computed(() => {\n if (!parsedMinDate.value) return true\n const firstMonth = dayjs().add(monthOffset.value, 'month').startOf('month')\n return firstMonth.isAfter(parsedMinDate.value, 'month')\n})\n\nconst canNavigateNext = computed(() => {\n if (!parsedMaxDate.value) return true\n const lastMonth = dayjs()\n .add(monthOffset.value + effectiveNumberOfMonths.value - 1, 'month')\n .endOf('month')\n return lastMonth.isBefore(parsedMaxDate.value, 'month')\n})\n\n// Positioning\nconst { width: windowWidth } = useWindowSize()\nconst calendarStyle = ref<Record<string, string>>({})\n\nfunction updatePosition() {\n if (props.variant === 'mobile') {\n calendarStyle.value = {\n '--border-radius-day': props.borderRadius,\n }\n return\n }\n\n nextTick(() => {\n const position = calculatePosition(props.triggerElement, calendarRef.value, props.position)\n\n calendarStyle.value = {\n \"left\": `${position.left}px`,\n ...(position.top !== undefined && { top: `${position.top}px` }),\n ...(position.bottom !== undefined && { bottom: `${position.bottom}px` }),\n ...(position.transform && { transform: position.transform }),\n '--border-radius-day': props.borderRadius,\n }\n })\n}\n\n// Tooltip\nconst tooltipStyle = ref<Record<string, string>>({})\nconst packageVersion = __ARCH_RANGEPICKER_VERSION__\nconst tooltipText = computed(() => {\n if (!hoveredDay.value || !localStartDate.value) return ''\n const nights = hoveredDay.value.date.diff(localStartDate.value, 'day')\n if (nights <= 0) return ''\n return `${nights} ${nights === 1 ? 'night' : 'nights'}`\n})\n\nconst showTooltipComputed = computed(() => {\n return (\n props.showTooltip &&\n hoveredDay.value &&\n localStartDate.value &&\n !localEndDate.value &&\n hoveredDay.value.date.isAfter(localStartDate.value, 'day')\n )\n})\n\n// Methods\nfunction getDayClasses(day: CalendarDay) {\n const classes = ['rangepicker-day']\n\n if (!day.isCurrentMonth) classes.push('rangepicker-day-other-month')\n\n if (day.isDisabled) classes.push('rangepicker-day-disabled')\n\n if (day.isToday) classes.push('rangepicker-day-today')\n\n if (day.isWeekend && !day.isSelected) classes.push('rangepicker-day-weekend')\n\n if (day.isHoliday) classes.push('rangepicker-day-holiday')\n\n if (day.isSelected) {\n if (\n localStartDate.value &&\n localEndDate.value &&\n day.date.isSame(localStartDate.value, 'day') &&\n day.date.isSame(localEndDate.value, 'day')\n ) {\n classes.push('rangepicker-day-selected-single')\n}\n else if (localStartDate.value && day.date.isSame(localStartDate.value, 'day')) {\n classes.push('rangepicker-day-selected-start')\n}\n else if (localEndDate.value && day.date.isSame(localEndDate.value, 'day')) {\n classes.push('rangepicker-day-selected-end')\n}\n else { classes.push('rangepicker-day-selected')\n}\n }\n\n if (day.isInRange) classes.push('rangepicker-day-in-range')\n\n // Add hover effect for potential range\n if (localStartDate.value && !localEndDate.value && hoveredDay.value) {\n const start = localStartDate.value\n const hovered = hoveredDay.value.date\n if (hovered.isAfter(start, 'day')) {\n if (day.date.isSame(start, 'day')) {\n classes.push('rangepicker-day-hover-range', 'rangepicker-day-hover-start')\n } else if (day.date.isSame(hovered, 'day')) {\n classes.push('rangepicker-day-hover-range', 'rangepicker-day-hover-end')\n } else if (day.date.isAfter(start, 'day') && day.date.isBefore(hovered, 'day')) {\n classes.push('rangepicker-day-hover-range', 'rangepicker-day-hover-middle')\n }\n } else if (hovered.isBefore(start, 'day')) {\n if (day.date.isSame(hovered, 'day')) {\n classes.push('rangepicker-day-hover-range', 'rangepicker-day-hover-start')\n } else if (day.date.isSame(start, 'day')) {\n classes.push('rangepicker-day-hover-range', 'rangepicker-day-hover-end')\n } else if (day.date.isAfter(hovered, 'day') && day.date.isBefore(start, 'day')) {\n classes.push('rangepicker-day-hover-range', 'rangepicker-day-hover-middle')\n }\n }\n }\n\n return classes\n}\n\nfunction selectDate(day: CalendarDay, event: MouseEvent) {\n event.preventDefault()\n if (day.isDisabled) return\n\n emit('dateSelected', day.date)\n\n // Range selection logic\n if (!localStartDate.value || (localStartDate.value && localEndDate.value)) {\n // Start new range\n localStartDate.value = day.date\n localEndDate.value = null\n } else {\n // Complete range\n if (day.date.isBefore(localStartDate.value, 'day')) {\n // Swap if end is before start\n localEndDate.value = localStartDate.value\n localStartDate.value = day.date\n } else {\n localEndDate.value = day.date\n }\n\n // Validate min/max days\n if (props.minDays) {\n const days = localEndDate.value.diff(localStartDate.value, 'day')\n if (days < props.minDays) {\n // Invalid range, reset\n localStartDate.value = day.date\n localEndDate.value = null\n return\n }\n }\n\n if (props.maxDays) {\n const days = localEndDate.value.diff(localStartDate.value, 'day')\n if (days > props.maxDays) {\n // Invalid range, reset\n localStartDate.value = day.date\n localEndDate.value = null\n return\n }\n }\n\n emit('rangeSelected', localStartDate.value, localEndDate.value)\n\n if (props.autoApply) apply()\n }\n}\n\nfunction handleDayHover(day: CalendarDay, event: MouseEvent) {\n hoveredDay.value = day\n\n if (props.showTooltip && localStartDate.value && !localEndDate.value) updateTooltipPosition(event)\n}\n\nfunction updateTooltipPosition(event: MouseEvent) {\n const rect = (event.target as HTMLElement).getBoundingClientRect()\n tooltipStyle.value = {\n left: `${rect.left + rect.width / 2}px`,\n top: `${rect.top - 10}px`,\n transform: 'translateX(-50%) translateY(-100%)',\n }\n}\n\nfunction handleDayLeave() {\n hoveredDay.value = null\n}\n\nfunction previousMonth() {\n if (canNavigatePrevious.value) monthOffset.value--\n}\n\nfunction nextMonth() {\n if (canNavigateNext.value) monthOffset.value++\n}\n\nfunction close() {\n if (isFadingOut.value) return\n isFadingOut.value = true\n setTimeout(() => {\n localIsOpen.value = false\n emit('update:isOpen', false)\n isFadingOut.value = false\n }, 200) // match fade-leave-active duration\n}\n\nfunction apply() {\n if (localStartDate.value && localEndDate.value) {\n emit('update:modelValue', {\n startDate: localStartDate.value.format(props.format),\n endDate: localEndDate.value.format(props.format),\n })\n }\n close()\n}\n\nfunction cancel() {\n // Reset to initial values\n if (props.modelValue?.startDate) localStartDate.value = dayjs(props.modelValue.startDate)\n else localStartDate.value = null\n\n if (props.modelValue?.endDate) localEndDate.value = dayjs(props.modelValue.endDate)\n else localEndDate.value = null\n\n close()\n}\n\n// Watch props\nwatch(\n () => props.isOpen,\n (newVal) => {\n localIsOpen.value = newVal\n if (newVal) updatePosition()\n },\n)\n\n// Watch props\nwatch(\n () => props.close,\n (newVal) => {\n if (newVal) close()\n },\n)\n\nwatch(\n () => props.modelValue,\n (newVal) => {\n if (newVal?.startDate) localStartDate.value = dayjs(newVal.startDate)\n else localStartDate.value = null\n\n if (newVal?.endDate) localEndDate.value = dayjs(newVal.endDate)\n else localEndDate.value = null\n },\n { immediate: true, deep: true },\n)\n\nwatch([windowWidth, localIsOpen], () => {\n if (localIsOpen.value) updatePosition()\n})\n\n// Click outside to close\nonClickOutside(calendarRef, () => {\n if (localIsOpen.value && props.variant !== 'mobile') close()\n})\n\n// Keyboard navigation\nfunction handleKeydown(e: KeyboardEvent) {\n if (!localIsOpen.value) return\n\n if (e.key === 'Escape') close()\n}\n\nonMounted(() => {\n document.addEventListener('keydown', handleKeydown)\n if (props.isOpen) updatePosition()\n})\n\nonUnmounted(() => {\n document.removeEventListener('keydown', handleKeydown)\n})\n</script>\n\n<template>\n <Teleport to=\"body\">\n <Transition :name=\"variant === 'mobile' ? 'slide-up' : 'fade'\">\n <div v-if=\"localIsOpen || isFadingOut\" class=\"rangepicker-overlay\">\n <!-- Backdrop -->\n <div class=\"rangepicker-backdrop\" @click=\"close\" />\n\n <!-- Calendar Container -->\n <div\n ref=\"calendarRef\"\n :data-version=\"packageVersion\"\n class=\"rangepicker-container\"\n :class=\"[variant === 'mobile' ? 'rangepicker-mobile' : '']\"\n :style=\"{ ...calendarStyle, ...colorStyles, borderRadius: props.borderRadius }\"\n >\n <!-- Header -->\n <div class=\"rangepicker-header\">\n <div class=\"arch-flex arch-items-center arch-justify-between\">\n <div>\n <p v-if=\"label\" class=\"arch-mb-1 arch-text-xs arch-font-medium arch-text-gray-500\">\n {{ label }}\n </p>\n <p class=\"arch-text-sm arch-font-semibold arch-text-gray-900\">\n {{ formattedDateRange || placeholder || 'Select dates' }}\n </p>\n </div>\n <p v-if=\"nightCount > 0\" class=\"arch-mt-1 arch-text-xs arch-text-gray-500\">\n {{ nightCount }} {{ nightCount === 1 ? 'night' : 'nights' }}\n </p>\n <!-- <button\n class=\"rangepicker-nav-button\"\n aria-label=\"Close\"\n @click=\"close\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"arch-h-5 arch-w-5\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\"\n clip-rule=\"evenodd\"\n />\n </svg>\n </button> -->\n </div>\n </div>\n\n <!-- Calendar Body -->\n <div class=\"rangepicker-body\">\n <div class=\"rangepicker-month-grid\">\n <div\n v-for=\"(monthData, index) in calendarMonths\"\n :key=\"monthData.month.format('YYYY-MM')\"\n class=\"rangepicker-month\"\n >\n <!-- Month Header -->\n <div class=\"rangepicker-month-header\">\n <button\n v-if=\"variant === 'mobile' || index === 0\"\n class=\"rangepicker-nav-button\"\n :disabled=\"!canNavigatePrevious\"\n aria-label=\"Previous month\"\n @click=\"previousMonth\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"arch-h-5 arch-w-5\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z\"\n clip-rule=\"evenodd\"\n />\n </svg>\n </button>\n <div v-else class=\"arch-w-8\"></div>\n\n <span class=\"rangepicker-month-title\">\n {{ monthData.month.format('MMMM YYYY') }}\n </span>\n\n <button\n v-if=\"variant === 'mobile' || index === calendarMonths.length - 1\"\n class=\"rangepicker-nav-button\"\n :disabled=\"!canNavigateNext\"\n aria-label=\"Next month\"\n @click=\"nextMonth\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"arch-h-5 arch-w-5\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z\"\n clip-rule=\"evenodd\"\n />\n </svg>\n </button>\n <div v-else class=\"arch-w-8\"></div>\n </div>\n\n <!-- Weekday Headers -->\n <div class=\"rangepicker-weekdays\">\n <div v-for=\"weekday in weekdays\" :key=\"weekday\" class=\"rangepicker-weekday\">\n {{ weekday }}\n </div>\n </div>\n\n <!-- Calendar Grid -->\n <div class=\"rangepicker-grid\" @mouseleave=\"handleDayLeave\">\n <button\n v-for=\"day in monthData.days\"\n :key=\"day.date.unix()\"\n :class=\"getDayClasses(day)\"\n :disabled=\"day.isDisabled\"\n :aria-label=\"day.date.format('MMMM D, YYYY')\"\n @click=\"e => selectDate(day, e)\"\n @mouseenter=\"e => handleDayHover(day, e)\"\n >\n <span>{{ day.date.date() }}</span>\n </button>\n </div>\n </div>\n </div>\n\n <!-- Apply/Cancel Buttons (if not autoApply) -->\n <div\n v-if=\"!autoApply\"\n class=\"arch-mt-4 arch-flex arch-items-center arch-justify-end arch-gap-2 arch-border-t arch-border-gray-200 arch-pt-4\"\n >\n <button\n class=\"arch-rounded-lg arch-px-4 arch-py-2 arch-text-sm arch-font-medium arch-text-gray-700 arch-transition-colors hover:arch-bg-gray-100\"\n @click=\"cancel\"\n >\n Cancel\n </button>\n <button\n class=\"arch-rounded-lg arch-px-4 arch-py-2 arch-text-sm arch-font-medium arch-text-white arch-transition-colors disabled:arch-cursor-not-allowed disabled:arch-opacity-50\"\n :style=\"{\n backgroundColor: colorStyles?.['--color-primary']\n ? `rgb(${colorStyles['--color-primary']})`\n : 'rgb(37 99 235)',\n }\"\n :disabled=\"!localStartDate || !localEndDate\"\n @click=\"apply\"\n >\n Apply\n </button>\n </div>\n </div>\n\n <!-- Tooltip -->\n <div v-if=\"showTooltipComputed\" class=\"rangepicker-tooltip\" :style=\"tooltipStyle\">\n <div class=\"arch-flex arch-items-center arch-gap-1\">\n {{ tooltipText }}\n </div>\n </div>\n </div>\n </div>\n </Transition>\n </Teleport>\n</template>\n\n<style lang=\"scss\" scoped>\n@use './styles/rangepicker.scss';\n</style>\n","export interface PositionResult {\n top?: number\n bottom?: number\n left: number\n transform?: string\n}\n\nexport function calculatePosition(\n triggerElement: HTMLElement | null,\n calendarElement: HTMLElement | null,\n preferredPosition: 'auto' | 'top' | 'bottom' = 'auto',\n): PositionResult {\n if (!triggerElement || !calendarElement) return { left: 0 }\n\n const triggerRect = triggerElement.getBoundingClientRect()\n const calendarRect = calendarElement.getBoundingClientRect()\n const viewportHeight = window.innerHeight\n const viewportWidth = window.innerWidth\n\n // Calculate available space\n const spaceAbove = triggerRect.top\n const spaceBelow = viewportHeight - triggerRect.bottom\n\n // Determine vertical position\n const position: PositionResult = { left: triggerRect.left }\n\n if (preferredPosition === 'auto') {\n if (spaceBelow >= calendarRect.height || spaceBelow > spaceAbove) {\n // Position below\n position.top = triggerRect.bottom + 8\n } else {\n // Position above\n position.bottom = viewportHeight - triggerRect.top + 8\n }\n } else if (preferredPosition === 'top') {\n position.bottom = viewportHeight - triggerRect.top + 8\n } else {\n position.top = triggerRect.bottom + 8\n }\n\n // Adjust horizontal position to keep within viewport\n if (position.left + calendarRect.width > viewportWidth) position.left = viewportWidth - calendarRect.width - 16\n\n if (position.left < 16) position.left = 16\n\n return position\n}\n","<script setup lang=\"ts\">\nimport {\n computed,\nref,\nwatch,\n} from 'vue'\nimport Rangepicker from './Rangepicker.vue'\nimport type { RangepickerInputProps } from './types'\n\n// Prevent Vue from auto-applying non-prop attrs (class, style, etc.) to root element.\n// We manually spread $attrs on the wrapper so class/style from the consumer\n// always lands on the outer wrapper div — standard Vue component behavior.\ndefineOptions({ inheritAttrs: false })\n\n// Helper function to convert HEX to RGB\nfunction hexToRgb(hex: string): string | null {\n // Remove # if present\n hex = hex.replace(/^#/, '')\n\n // Handle 3-digit hex\n if (hex.length === 3) {\n hex = hex\n .split('')\n .map(char => char + char)\n .join('')\n }\n\n if (hex.length !== 6) {\n console.warn(`[Rangepicker] Invalid hex color: ${hex}`)\n return null\n }\n\n const r = Number.parseInt(hex.substring(0, 2), 16)\n const g = Number.parseInt(hex.substring(2, 4), 16)\n const b = Number.parseInt(hex.substring(4, 6), 16)\n\n if (Number.isNaN(r) || Number.isNaN(g) || Number.isNaN(b)) {\n return null\n }\n\n return `${r} ${g} ${b}`\n}\n\nconst props = withDefaults(defineProps<RangepickerInputProps>(), {\n readonly: true,\n variant: 'desktop',\n placeholder: 'Select dates',\n showClearButton: true,\n})\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: string]\n \"focusin\": []\n}>()\n\n// Refs\nconst inputRef = ref<HTMLInputElement | null>(null)\nconst isOpen = ref(false)\n\n// Parse the modelValue into start/end dates\nfunction parseValue(value?: string) {\n if (!value) return { startDate: '', endDate: '' }\n\n const parts = value.split(' - ')\n if (parts.length === 2) {\n return {\n startDate: parts[0].trim(),\n endDate: parts[1].trim(),\n }\n }\n return { startDate: '', endDate: '' }\n}\n\nwatch(\n () => props?.close,\n (cur) => {\n if (cur) inputRef.value.blur()\n },\n)\nconst localValue = ref(parseValue(props.modelValue))\n\nconst displayValue = computed(() => {\n return props.modelValue || ''\n})\n\n// The inner input fills the wrapper — sizing/padding/border come from the\n// wrapper via $attrs (class/style passed by the consumer).\nconst inputClass =\n 'rangepicker-input block w-full h-full bg-transparent border-0 shadow-none outline-none cursor-pointer font-inherit text-inherit p-0'\n\nfunction openPicker() {\n isOpen.value = true\n}\n\nfunction onFocus() {\n emit('focusin')\n openPicker()\n}\n\nfunction handleUpdate(value: { startDate: string; endDate: string }) {\n localValue.value = value\n const formatted = `${value.startDate} - ${value.endDate}`\n emit('update:modelValue', formatted)\n}\n\nfunction clearValue() {\n localValue.value = { startDate: '', endDate: '' }\n emit('update:modelValue', '')\n isOpen.value = false\n}\n\nwatch(\n () => props.modelValue,\n (newVal) => {\n localValue.value = parseValue(newVal)\n },\n)\n\n// Compute CSS variables for scoped styling\nconst colorStyles = computed(() => {\n const styles: Record<string, string> = {}\n\n if (props.primaryColor) {\n const rgb = hexToRgb(props.primaryColor)\n if (rgb) {\n styles['--color-primary'] = rgb\n }\n }\n\n if (props.secondaryColor) {\n const rgb = hexToRgb(props.secondaryColor)\n if (rgb) {\n styles['--color-secondary'] = rgb\n }\n }\n\n if (props.fontFamily) {\n styles['--rangepicker-font-family'] = props.fontFamily\n }\n\n return styles\n})\n</script>\n\n<template>\n <div v-bind=\"$attrs\" class=\"rangepicker-input-wrapper\" :style=\"colorStyles\">\n <div class=\"rangepicker-input-container\">\n <input\n :id=\"id\"\n ref=\"inputRef\"\n type=\"text\"\n :value=\"displayValue\"\n :placeholder=\"placeholder\"\n :readonly=\"readonly\"\n :name=\"name\"\n :class=\"props?.class ? props.class : inputClass\"\n @click=\"openPicker\"\n @focus=\"onFocus\"\n />\n\n <button\n v-if=\"showClearButton && displayValue\"\n type=\"button\"\n class=\"rangepicker-clear-button\"\n @click.stop=\"clearValue\"\n aria-label=\"Clear dates\"\n >\n <svg\nxmlns=\"http://www.w3.org/2000/svg\"\nclass=\"arch-h-4 arch-w-4\"\nviewBox=\"0 0 20 20\"\nfill=\"currentColor\">\n <path\n fill-rule=\"evenodd\"\n d=\"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z\"\n clip-rule=\"evenodd\"\n />\n </svg>\n </button>\n </div>\n\n <Rangepicker\n v-model=\"localValue\"\n v-model:is-open=\"isOpen\"\n :trigger-element=\"inputRef\"\n :min-date=\"minDate\"\n :max-date=\"maxDate\"\n :min-days=\"minDays\"\n :max-days=\"maxDays\"\n :value-of-months=\"numberOfMonths || 2\"\n :value-of-columns=\"numberOfColumns || 2\"\n :format=\"format || 'DD MMM YYYY'\"\n :auto-apply=\"autoApply !== false\"\n :show-tooltip=\"showTooltip !== false\"\n :variant=\"variant\"\n :close=\"props.close\"\n :color-styles=\"colorStyles\"\n :border-radius=\"borderRadius\"\n @update:model-value=\"handleUpdate\"\n />\n </div>\n</template>\n\n<style scoped lang=\"scss\">\n@use './styles/rangepicker.scss';\n\n.rangepicker-input-wrapper {\n position: relative;\n display: flex;\n align-items: center;\n width: 100%;\n font-family: var(--rangepicker-font-family, inherit);\n}\n\n.rangepicker-input-container {\n position: relative;\n display: flex;\n align-items: center;\n}\n\n.rangepicker-input {\n cursor: pointer;\n font-family: inherit;\n flex: 1;\n padding-right: 2.5rem;\n}\n\n.rangepicker-clear-button {\n position: absolute;\n right: 0.5rem;\n top: 50%;\n transform: translateY(-50%);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0.25rem;\n background: transparent;\n border: none;\n border-radius: 0.375rem;\n color: #6b7280;\n cursor: pointer;\n transition: all 0.2s;\n z-index: 1;\n\n &:hover {\n color: #374151;\n background: #f3f4f6;\n }\n\n &:active {\n transform: translateY(-50%) scale(0.95);\n }\n\n &:focus {\n outline: none;\n box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.5);\n }\n}\n</style>\n","import { ref } from 'vue'\nimport './styles/rangepicker.scss'\nimport Rangepicker from './Rangepicker.vue'\nimport RangepickerInput from './RangepickerInput.vue'\nimport type {\n DateRange,\n RangepickerProps,\n RangepickerEmits,\n CalendarDay,\n CalendarMonth,\n RangepickerInputProps,\n} from './types'\n\n// Default export - RangepickerInput (Litepicker-compatible wrapper)\nexport default RangepickerInput\n\n// Named exports\nexport { Rangepicker, RangepickerInput }\n\n// Type exports\nexport type { RangepickerProps, RangepickerInputProps, RangepickerEmits, DateRange, CalendarDay, CalendarMonth }\n\n// Vue 3 composable for easy integration\nexport function useRangepicker(triggerRef: any, options: Partial<RangepickerProps> = {}) {\n const isOpen = ref(false)\n const dateRange = ref<DateRange>({ startDate: '', endDate: '' })\n\n const open = () => {\n isOpen.value = true\n }\n const close = () => {\n isOpen.value = false\n }\n const toggle = () => {\n isOpen.value = !isOpen.value\n }\n\n return {\n isOpen,\n dateRange,\n open,\n close,\n toggle,\n options,\n }\n}\n"],"names":["exports","e","i","t","prototype","isBetween","s","f","n","o","r","u","this","isAfter","isBefore","module","isSameOrAfter","isSame","isSameOrBefore","LTS","LT","L","LL","LLL","LLLL","a","h","zone","offset","match","indexOf","concat","d","meridiem","c","A","afternoon","Q","month","S","milliseconds","SS","SSS","ss","m","mm","H","HH","hh","D","DD","Do","ordinal","day","replace","w","ww","M","MM","MMM","map","slice","Error","MMMM","Y","YY","year","YYYY","Z","ZZ","l","formats","toUpperCase","length","regex","parser","exec","call","hours","p","customParseFormat","parseTwoDigitYear","parse","date","utc","args","$u","$locale","Ls","$d","Date","minutes","seconds","week","getDate","getFullYear","v","getMonth","g","y","UTC","toDate","init","$L","locale","format","Array","apply","isValid","getMonthDays","monthOffset","currentDate","dayjs","add","startOf","firstDayOfMonth","daysInMonth","daysInPrevMonth","subtract","days","push","isPrevMonth","isCurrentMonth","isNextMonth","remainingDays","createCalendarDay","options","startDate","endDate","minDate","maxDate","disabledDates","holidays","isDisabled","some","isHoliday","isSelected","isInRange","isToday","isWeekend","extend","props","__props","emit","__emit","isMobile","useBreakpoints","breakpointsTailwind","smallerOrEqual","numberOfMonths","computed","value","valueOfMonths","valueOfColumns","calendarRef","ref","isFadingOut","hoveredDay","localIsOpen","isOpen","localStartDate","localEndDate","parsedMinDate","parsedMaxDate","parsedDisabledDates","_a","parsedHolidays","weekdays","weekStart","getWeekDays","effectiveNumberOfMonths","variant","calendarMonths","startOffset","months","calendarDays","generateCalendarMonths","nightCount","diff","formattedDateRange","delimiter","canNavigatePrevious","canNavigateNext","endOf","width","windowWidth","useWindowSize","calendarStyle","updatePosition","nextTick","position","triggerElement","calendarElement","preferredPosition","left","triggerRect","getBoundingClientRect","calendarRect","viewportHeight","window","innerHeight","viewportWidth","innerWidth","spaceAbove","top","spaceBelow","bottom","height","calculatePosition","transform","borderRadius","tooltipStyle","tooltipText","nights","showTooltipComputed","showTooltip","getDayClasses","classes","start","hovered","handleDayHover","event","rect","target","handleDayLeave","previousMonth","nextMonth","close","setTimeout","cancel","modelValue","_b","handleKeydown","key","watch","newVal","immediate","deep","onClickOutside","onMounted","document","addEventListener","onUnmounted","removeEventListener","_createBlock","_Teleport","to","_createVNode","_Transition","name","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","class","onClick","_unref","_normalizeClass","style","_hoisted_3","_hoisted_4","label","_hoisted_5","_toDisplayString","_hoisted_6","placeholder","_hoisted_7","_hoisted_8","_hoisted_9","_Fragment","_renderList","monthData","index","_hoisted_10","disabled","xmlns","viewBox","fill","_hoisted_12","_hoisted_13","_hoisted_15","_hoisted_16","weekday","onMouseleave","unix","preventDefault","minDays","maxDays","autoApply","selectDate","onMouseenter","_hoisted_18","_normalizeStyle","colorStyles","_hoisted_19","_hoisted_20","hexToRgb","hex","split","char","join","console","warn","Number","parseInt","substring","b","isNaN","inputRef","parseValue","parts","trim","cur","blur","localValue","displayValue","openPicker","onFocus","handleUpdate","formatted","clearValue","styles","primaryColor","rgb","secondaryColor","fontFamily","_mergeProps","_ctx","$attrs","id","type","readonly","showClearButton","Rangepicker","$event","numberOfColumns","triggerRef","dateRange","open","toggle"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
|
|
1
|
+
{"version":3,"file":"rangepicker.umd.cjs","sources":["../../../node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/plugin/isBetween.js","../../../node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/plugin/isSameOrAfter.js","../../../node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/plugin/isSameOrBefore.js","../../../node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/plugin/customParseFormat.js","../src/utils/calendar.ts","../src/utils/date.ts","../src/Rangepicker.vue","../src/utils/position.ts","../src/RangepickerInput.vue","../src/index.ts"],"sourcesContent":["!function(e,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isBetween=i()}(this,(function(){\"use strict\";return function(e,i,t){i.prototype.isBetween=function(e,i,s,f){var n=t(e),o=t(i),r=\"(\"===(f=f||\"()\")[0],u=\")\"===f[1];return(r?this.isAfter(n,s):!this.isBefore(n,s))&&(u?this.isBefore(o,s):!this.isAfter(o,s))||(r?this.isBefore(n,s):!this.isAfter(n,s))&&(u?this.isAfter(o,s):!this.isBefore(o,s))}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isSameOrAfter=t()}(this,(function(){\"use strict\";return function(e,t){t.prototype.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)}}}));","!function(e,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isSameOrBefore=i()}(this,(function(){\"use strict\";return function(e,i){i.prototype.isSameOrBefore=function(e,i){return this.isSame(e,i)||this.isBefore(e,i)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_customParseFormat=t()}(this,(function(){\"use strict\";var e={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"},t=/(\\[[^[]*\\])|([-_:/.,()\\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\\d/,r=/\\d\\d/,i=/\\d\\d?/,o=/\\d*[^-_:/,()\\s\\d]+/,s={},a=function(e){return(e=+e)+(e>68?1900:2e3)};var f=function(e){return function(t){this[e]=+t}},h=[/[+-]\\d\\d:?(\\d\\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if(\"Z\"===e)return 0;var t=e.match(/([+-]|\\d\\d)/g),n=60*t[1]+(+t[2]||0);return 0===n?0:\"+\"===t[0]?-n:n}(e)}],u=function(e){var t=s[e];return t&&(t.indexOf?t:t.s.concat(t.f))},d=function(e,t){var n,r=s.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?\"pm\":\"PM\");return n},c={A:[o,function(e){this.afternoon=d(e,!1)}],a:[o,function(e){this.afternoon=d(e,!0)}],Q:[n,function(e){this.month=3*(e-1)+1}],S:[n,function(e){this.milliseconds=100*+e}],SS:[r,function(e){this.milliseconds=10*+e}],SSS:[/\\d{3}/,function(e){this.milliseconds=+e}],s:[i,f(\"seconds\")],ss:[i,f(\"seconds\")],m:[i,f(\"minutes\")],mm:[i,f(\"minutes\")],H:[i,f(\"hours\")],h:[i,f(\"hours\")],HH:[i,f(\"hours\")],hh:[i,f(\"hours\")],D:[i,f(\"day\")],DD:[r,f(\"day\")],Do:[o,function(e){var t=s.ordinal,n=e.match(/\\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\\[|\\]/g,\"\")===e&&(this.day=r)}],w:[i,f(\"week\")],ww:[r,f(\"week\")],M:[i,f(\"month\")],MM:[r,f(\"month\")],MMM:[o,function(e){var t=u(\"months\"),n=(u(\"monthsShort\")||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[o,function(e){var t=u(\"months\").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t}],Y:[/[+-]?\\d+/,f(\"year\")],YY:[r,function(e){this.year=a(e)}],YYYY:[/\\d{4}/,f(\"year\")],Z:h,ZZ:h};function l(n){var r,i;r=n,i=s&&s.formats;for(var o=(n=r.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var o=r&&r.toUpperCase();return n||i[r]||e[r]||i[o].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),a=o.length,f=0;f<a;f+=1){var h=o[f],u=c[h],d=u&&u[0],l=u&&u[1];o[f]=l?{regex:d,parser:l}:h.replace(/^\\[|\\]$/g,\"\")}return function(e){for(var t={},n=0,r=0;n<a;n+=1){var i=o[n];if(\"string\"==typeof i)r+=i.length;else{var s=i.regex,f=i.parser,h=e.slice(r),u=s.exec(h)[0];f.call(t,u),e=e.replace(u,\"\")}}return function(e){var t=e.afternoon;if(void 0!==t){var n=e.hours;t?n<12&&(e.hours+=12):12===n&&(e.hours=0),delete e.afternoon}}(t),t}}return function(e,t,n){n.p.customParseFormat=!0,e&&e.parseTwoDigitYear&&(a=e.parseTwoDigitYear);var r=t.prototype,i=r.parse;r.parse=function(e){var t=e.date,r=e.utc,o=e.args;this.$u=r;var a=o[1];if(\"string\"==typeof a){var f=!0===o[2],h=!0===o[3],u=f||h,d=o[2];h&&(d=o[2]),s=this.$locale(),!f&&d&&(s=n.Ls[d]),this.$d=function(e,t,n,r){try{if([\"x\",\"X\"].indexOf(t)>-1)return new Date((\"X\"===t?1e3:1)*e);var i=l(t)(e),o=i.year,s=i.month,a=i.day,f=i.hours,h=i.minutes,u=i.seconds,d=i.milliseconds,c=i.zone,m=i.week,M=new Date,Y=a||(o||s?1:M.getDate()),p=o||M.getFullYear(),v=0;o&&!s||(v=s>0?s-1:M.getMonth());var D,w=f||0,g=h||0,y=u||0,L=d||0;return c?new Date(Date.UTC(p,v,Y,w,g,y,L+60*c.offset*1e3)):n?new Date(Date.UTC(p,v,Y,w,g,y,L)):(D=new Date(p,v,Y,w,g,y,L),m&&(D=r(D).week(m).toDate()),D)}catch(e){return new Date(\"\")}}(t,a,r,n),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(a)&&(this.$d=new Date(\"\")),s={}}else if(a instanceof Array)for(var c=a.length,m=1;m<=c;m+=1){o[1]=a[m-1];var M=n.apply(this,o);if(M.isValid()){this.$d=M.$d,this.$L=M.$L,this.init();break}m===c&&(this.$d=new Date(\"\"))}else i.call(this,e)}}}));","import type { CalendarDay, CalendarMonth } from '../types'\nimport { type Dayjs, dayjs } from './date'\n\nexport function getMonthDays(\n monthOffset: number,\n currentDate: Dayjs = dayjs(),\n): {\n month: Dayjs\n days: Array<{\n date: Dayjs\n isPrevMonth: boolean\n isCurrentMonth: boolean\n isNextMonth: boolean\n }>\n} {\n const month = currentDate.add(monthOffset, 'month').startOf('month')\n const firstDayOfMonth = month.day()\n const daysInMonth = month.daysInMonth()\n const daysInPrevMonth = month.subtract(1, 'month').daysInMonth()\n\n const days: Array<{\n date: Dayjs\n isPrevMonth: boolean\n isCurrentMonth: boolean\n isNextMonth: boolean\n }> = []\n\n // Previous month days\n for (let i = firstDayOfMonth - 1; i >= 0; i--) {\n const date = month.subtract(1, 'month').date(daysInPrevMonth - i)\n days.push({\n date,\n isPrevMonth: true,\n isCurrentMonth: false,\n isNextMonth: false,\n })\n }\n\n // Current month days\n for (let i = 1; i <= daysInMonth; i++) {\n const date = month.date(i)\n days.push({\n date,\n isPrevMonth: false,\n isCurrentMonth: true,\n isNextMonth: false,\n })\n }\n\n // Next month days to complete the grid\n const remainingDays = 42 - days.length // 6 weeks * 7 days\n for (let i = 1; i <= remainingDays; i++) {\n const date = month.add(1, 'month').date(i)\n days.push({\n date,\n isPrevMonth: false,\n isCurrentMonth: false,\n isNextMonth: true,\n })\n }\n\n return { month, days }\n}\n\nexport function createCalendarDay(\n date: Dayjs,\n isPrevMonth: boolean,\n isCurrentMonth: boolean,\n isNextMonth: boolean,\n options: {\n startDate?: Dayjs | null\n endDate?: Dayjs | null\n minDate?: Dayjs | null\n maxDate?: Dayjs | null\n disabledDates?: Dayjs[]\n holidays?: Dayjs[]\n } = {},\n): CalendarDay {\n const {\n startDate = null,\n endDate = null,\n minDate = null,\n maxDate = null,\n disabledDates = [],\n holidays = [],\n } = options\n\n const isDisabled =\n (minDate && date.isBefore(minDate, 'day')) ||\n (maxDate && date.isAfter(maxDate, 'day')) ||\n disabledDates.some(d => d.isSame(date, 'day'))\n\n const isHoliday = holidays.some(h => h.isSame(date, 'day'))\n\n const isSelected = (startDate && date.isSame(startDate, 'day')) || (endDate && date.isSame(endDate, 'day'))\n\n const isInRange = startDate && endDate && date.isAfter(startDate, 'day') && date.isBefore(endDate, 'day')\n\n const isToday = date.isSame(dayjs(), 'day')\n\n const isWeekend = date.day() === 0 || date.day() === 6\n\n return {\n date,\n isPrevMonth,\n isCurrentMonth,\n isNextMonth,\n isDisabled,\n isHoliday,\n isWeekend,\n isSelected,\n isInRange,\n isToday,\n }\n}\n\nexport function generateCalendarMonths(\n numberOfMonths: number,\n startOffset: number = 0,\n options: {\n startDate?: Dayjs | null\n endDate?: Dayjs | null\n minDate?: Dayjs | null\n maxDate?: Dayjs | null\n disabledDates?: Dayjs[]\n holidays?: Dayjs[]\n } = {},\n): CalendarMonth[] {\n const months: CalendarMonth[] = []\n\n for (let i = 0; i < numberOfMonths; i++) {\n const { month, days } = getMonthDays(startOffset + i)\n\n const calendarDays = days.map(day =>\n createCalendarDay(day.date, day.isPrevMonth, day.isCurrentMonth, day.isNextMonth, options),\n )\n\n months.push({\n month,\n days: calendarDays,\n })\n }\n\n return months\n}\n\nexport function getWeekDays(locale: string = 'en', format: 'short' | 'narrow' = 'short'): string[] {\n const weekStart = dayjs().startOf('week')\n const days: string[] = []\n\n for (let i = 0; i < 7; i++) {\n const day = weekStart.add(i, 'day')\n days.push(format === 'short' ? day.format('ddd') : day.format('dd'))\n }\n\n return days\n}\n","import type { Dayjs } from 'dayjs'\nimport dayjs from 'dayjs'\nimport isBetween from 'dayjs/plugin/isBetween'\nimport isSameOrAfter from 'dayjs/plugin/isSameOrAfter'\nimport isSameOrBefore from 'dayjs/plugin/isSameOrBefore'\nimport customParseFormat from 'dayjs/plugin/customParseFormat'\n\ndayjs.extend(isBetween)\ndayjs.extend(isSameOrAfter)\ndayjs.extend(isSameOrBefore)\ndayjs.extend(customParseFormat)\n\nexport { dayjs }\nexport type { Dayjs }\n\nexport function parseDate(date: string | Date | Dayjs, format?: string): Dayjs {\n if (dayjs.isDayjs(date)) return date\n return format ? dayjs(date, format) : dayjs(date)\n}\n\nexport function formatDate(date: Dayjs, format: string = 'YYYY-MM-DD'): string {\n return date.format(format)\n}\n\nexport function isDateInRange(date: Dayjs, start: Dayjs, end: Dayjs): boolean {\n return date.isBetween(start, end, 'day', '[]')\n}\n\nexport function getDaysBetween(start: Dayjs, end: Dayjs): number {\n return end.diff(start, 'day')\n}\n\nexport function isWeekend(date: Dayjs): boolean {\n const day = date.day()\n return day === 0 || day === 6 // Sunday or Saturday\n}\n\nexport function isToday(date: Dayjs): boolean {\n return date.isSame(dayjs(), 'day')\n}\n","<script setup lang=\"ts\">\nimport {\n computed,\nnextTick,\nonMounted,\nonUnmounted,\nref,\nwatch,\n} from 'vue'\nimport {\n breakpointsTailwind,\nonClickOutside,\nuseBreakpoints,\nuseWindowSize,\n} from '@vueuse/core'\nimport type { Dayjs } from 'dayjs'\nimport { dayjs } from './utils/date'\nimport { generateCalendarMonths, getWeekDays } from './utils/calendar'\nimport { calculatePosition } from './utils/position'\nimport type { CalendarDay, RangepickerProps } from './types'\n\nconst props = withDefaults(defineProps<RangepickerProps>(), {\n isOpen: false,\n variant: 'desktop',\n valueOfMonths: 2,\n valueOfColumns: 2,\n format: 'YYYY-MM-DD',\n delimiter: ' - ',\n showTooltip: true,\n autoApply: false,\n position: 'auto',\n borderRadius: '0.75rem',\n})\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: { startDate: string; endDate: string }]\n 'update:isOpen': [value: boolean]\n \"dateSelected\": [date: Dayjs]\n \"rangeSelected\": [start: Dayjs, end: Dayjs]\n}>()\nconst breakpoints = useBreakpoints(breakpointsTailwind)\nconst isMobile = breakpoints.smallerOrEqual('lg')\nconst numberOfMonths = computed(() => (isMobile.value ? 1 : props.valueOfMonths))\nconst numberOfColumns = computed(() => (isMobile.value ? 1 : props.valueOfColumns))\n\n// Refs\nconst calendarRef = ref<HTMLElement | null>(null)\nconst isFadingOut = ref(false)\nconst hoveredDay = ref<CalendarDay | null>(null)\nconst monthOffset = ref(0)\n\n// Local state\nconst localIsOpen = ref(props.isOpen)\nconst localStartDate = ref<Dayjs | null>(null)\nconst localEndDate = ref<Dayjs | null>(null)\n\n// Parse dates from props\nconst parsedMinDate = computed(() => (props.minDate ? dayjs(props.minDate) : null))\nconst parsedMaxDate = computed(() => (props.maxDate ? dayjs(props.maxDate) : null))\nconst parsedDisabledDates = computed(() => props.disabledDates?.map(d => dayjs(d)) || [])\nconst parsedHolidays = computed(() => props.holidays?.map(h => dayjs(h)) || [])\n\n// Calendar data\nconst weekdays = computed(() => getWeekDays('en', 'narrow'))\n\n// For mobile view, show only 1 month\nconst effectiveNumberOfMonths = computed(() => (props.variant === 'mobile' ? 1 : numberOfMonths.value))\n\nconst calendarMonths = computed(() =>\n generateCalendarMonths(effectiveNumberOfMonths.value, monthOffset.value, {\n startDate: localStartDate.value,\n endDate: localEndDate.value,\n minDate: parsedMinDate.value,\n maxDate: parsedMaxDate.value,\n disabledDates: parsedDisabledDates.value,\n holidays: parsedHolidays.value,\n }),\n)\n\nconst nightCount = computed(() => {\n if (!localStartDate.value || !localEndDate.value) return 0\n return localEndDate.value.diff(localStartDate.value, 'day')\n})\n\nconst formattedDateRange = computed(() => {\n if (!localStartDate.value && !localEndDate.value) return ''\n else if (localStartDate.value && !localEndDate.value) return localStartDate.value.format(props.format)\n else if (localStartDate.value && localEndDate.value)\n return `${localStartDate.value.format(props.format)}${props.delimiter}${localEndDate.value.format(props.format)}`\n else return ''\n})\n\n// Navigation\nconst canNavigatePrevious = computed(() => {\n if (!parsedMinDate.value) return true\n const firstMonth = dayjs().add(monthOffset.value, 'month').startOf('month')\n return firstMonth.isAfter(parsedMinDate.value, 'month')\n})\n\nconst canNavigateNext = computed(() => {\n if (!parsedMaxDate.value) return true\n const lastMonth = dayjs()\n .add(monthOffset.value + effectiveNumberOfMonths.value - 1, 'month')\n .endOf('month')\n return lastMonth.isBefore(parsedMaxDate.value, 'month')\n})\n\n// Positioning\nconst { width: windowWidth } = useWindowSize()\nconst calendarStyle = ref<Record<string, string>>({})\n\nfunction updatePosition() {\n if (props.variant === 'mobile') {\n calendarStyle.value = {\n '--border-radius-day': props.borderRadius,\n }\n return\n }\n\n nextTick(() => {\n const position = calculatePosition(props.triggerElement, calendarRef.value, props.position)\n\n calendarStyle.value = {\n \"left\": `${position.left}px`,\n ...(position.top !== undefined && { top: `${position.top}px` }),\n ...(position.bottom !== undefined && { bottom: `${position.bottom}px` }),\n ...(position.transform && { transform: position.transform }),\n '--border-radius-day': props.borderRadius,\n }\n })\n}\n\n// Tooltip\nconst tooltipStyle = ref<Record<string, string>>({})\nconst packageVersion = 10.0\nconst tooltipText = computed(() => {\n if (!hoveredDay.value || !localStartDate.value) return ''\n const nights = hoveredDay.value.date.diff(localStartDate.value, 'day')\n if (nights <= 0) return ''\n return `${nights} ${nights === 1 ? 'night' : 'nights'}`\n})\n\nconst showTooltipComputed = computed(() => {\n return (\n props.showTooltip &&\n hoveredDay.value &&\n localStartDate.value &&\n !localEndDate.value &&\n hoveredDay.value.date.isAfter(localStartDate.value, 'day')\n )\n})\n\n// Methods\nfunction getDayClasses(day: CalendarDay) {\n const classes = ['rangepicker-day']\n\n if (!day.isCurrentMonth) classes.push('rangepicker-day-other-month')\n\n if (day.isDisabled) classes.push('rangepicker-day-disabled')\n\n if (day.isToday) classes.push('rangepicker-day-today')\n\n if (day.isWeekend && !day.isSelected) classes.push('rangepicker-day-weekend')\n\n if (day.isHoliday) classes.push('rangepicker-day-holiday')\n\n if (day.isSelected) {\n if (\n localStartDate.value &&\n localEndDate.value &&\n day.date.isSame(localStartDate.value, 'day') &&\n day.date.isSame(localEndDate.value, 'day')\n ) {\n classes.push('rangepicker-day-selected-single')\n}\n else if (localStartDate.value && day.date.isSame(localStartDate.value, 'day')) {\n classes.push('rangepicker-day-selected-start')\n}\n else if (localEndDate.value && day.date.isSame(localEndDate.value, 'day')) {\n classes.push('rangepicker-day-selected-end')\n}\n else { classes.push('rangepicker-day-selected')\n}\n }\n\n if (day.isInRange) classes.push('rangepicker-day-in-range')\n\n // Add hover effect for potential range\n if (localStartDate.value && !localEndDate.value && hoveredDay.value) {\n const start = localStartDate.value\n const hovered = hoveredDay.value.date\n if (hovered.isAfter(start, 'day')) {\n if (day.date.isSame(start, 'day')) {\n classes.push('rangepicker-day-hover-range', 'rangepicker-day-hover-start')\n } else if (day.date.isSame(hovered, 'day')) {\n classes.push('rangepicker-day-hover-range', 'rangepicker-day-hover-end')\n } else if (day.date.isAfter(start, 'day') && day.date.isBefore(hovered, 'day')) {\n classes.push('rangepicker-day-hover-range', 'rangepicker-day-hover-middle')\n }\n } else if (hovered.isBefore(start, 'day')) {\n if (day.date.isSame(hovered, 'day')) {\n classes.push('rangepicker-day-hover-range', 'rangepicker-day-hover-start')\n } else if (day.date.isSame(start, 'day')) {\n classes.push('rangepicker-day-hover-range', 'rangepicker-day-hover-end')\n } else if (day.date.isAfter(hovered, 'day') && day.date.isBefore(start, 'day')) {\n classes.push('rangepicker-day-hover-range', 'rangepicker-day-hover-middle')\n }\n }\n }\n\n return classes\n}\n\nfunction selectDate(day: CalendarDay, event: MouseEvent) {\n event.preventDefault()\n if (day.isDisabled) return\n\n emit('dateSelected', day.date)\n\n // Range selection logic\n if (!localStartDate.value || (localStartDate.value && localEndDate.value)) {\n // Start new range\n localStartDate.value = day.date\n localEndDate.value = null\n } else {\n // Complete range\n if (day.date.isBefore(localStartDate.value, 'day')) {\n // Swap if end is before start\n localEndDate.value = localStartDate.value\n localStartDate.value = day.date\n } else {\n localEndDate.value = day.date\n }\n\n // Validate min/max days\n if (props.minDays) {\n const days = localEndDate.value.diff(localStartDate.value, 'day')\n if (days < props.minDays) {\n // Invalid range, reset\n localStartDate.value = day.date\n localEndDate.value = null\n return\n }\n }\n\n if (props.maxDays) {\n const days = localEndDate.value.diff(localStartDate.value, 'day')\n if (days > props.maxDays) {\n // Invalid range, reset\n localStartDate.value = day.date\n localEndDate.value = null\n return\n }\n }\n\n emit('rangeSelected', localStartDate.value, localEndDate.value)\n\n if (props.autoApply) apply()\n }\n}\n\nfunction handleDayHover(day: CalendarDay, event: MouseEvent) {\n hoveredDay.value = day\n\n if (props.showTooltip && localStartDate.value && !localEndDate.value) updateTooltipPosition(event)\n}\n\nfunction updateTooltipPosition(event: MouseEvent) {\n const rect = (event.target as HTMLElement).getBoundingClientRect()\n tooltipStyle.value = {\n left: `${rect.left + rect.width / 2}px`,\n top: `${rect.top - 10}px`,\n transform: 'translateX(-50%) translateY(-100%)',\n }\n}\n\nfunction handleDayLeave() {\n hoveredDay.value = null\n}\n\nfunction previousMonth() {\n if (canNavigatePrevious.value) monthOffset.value--\n}\n\nfunction nextMonth() {\n if (canNavigateNext.value) monthOffset.value++\n}\n\nfunction close() {\n if (isFadingOut.value) return\n isFadingOut.value = true\n setTimeout(() => {\n localIsOpen.value = false\n emit('update:isOpen', false)\n isFadingOut.value = false\n }, 200) // match fade-leave-active duration\n}\n\nfunction apply() {\n if (localStartDate.value && localEndDate.value) {\n emit('update:modelValue', {\n startDate: localStartDate.value.format(props.format),\n endDate: localEndDate.value.format(props.format),\n })\n }\n close()\n}\n\nfunction cancel() {\n // Reset to initial values\n if (props.modelValue?.startDate) localStartDate.value = dayjs(props.modelValue.startDate)\n else localStartDate.value = null\n\n if (props.modelValue?.endDate) localEndDate.value = dayjs(props.modelValue.endDate)\n else localEndDate.value = null\n\n close()\n}\n\n// Watch props\nwatch(\n () => props.isOpen,\n (newVal) => {\n localIsOpen.value = newVal\n if (newVal) updatePosition()\n },\n)\n\n// Watch props\nwatch(\n () => props.close,\n (newVal) => {\n if (newVal) close()\n },\n)\n\nwatch(\n () => props.modelValue,\n (newVal) => {\n if (newVal?.startDate) localStartDate.value = dayjs(newVal.startDate)\n else localStartDate.value = null\n\n if (newVal?.endDate) localEndDate.value = dayjs(newVal.endDate)\n else localEndDate.value = null\n },\n { immediate: true, deep: true },\n)\n\nwatch([windowWidth, localIsOpen], () => {\n if (localIsOpen.value) updatePosition()\n})\n\n// Click outside to close\nonClickOutside(calendarRef, () => {\n if (localIsOpen.value && props.variant !== 'mobile') close()\n})\n\n// Keyboard navigation\nfunction handleKeydown(e: KeyboardEvent) {\n if (!localIsOpen.value) return\n\n if (e.key === 'Escape') close()\n}\n\nonMounted(() => {\n document.addEventListener('keydown', handleKeydown)\n if (props.isOpen) updatePosition()\n})\n\nonUnmounted(() => {\n document.removeEventListener('keydown', handleKeydown)\n})\n</script>\n\n<template>\n <Teleport to=\"body\">\n <Transition :name=\"variant === 'mobile' ? 'slide-up' : 'fade'\">\n <div v-if=\"localIsOpen || isFadingOut\" class=\"rangepicker-overlay\">\n <!-- Backdrop -->\n <div class=\"rangepicker-backdrop\" @click=\"close\" />\n\n <!-- Calendar Container -->\n <div\n ref=\"calendarRef\"\n :data-version=\"packageVersion\"\n class=\"rangepicker-container\"\n :class=\"[variant === 'mobile' ? 'rangepicker-mobile' : '']\"\n :style=\"{ ...calendarStyle, ...colorStyles, borderRadius: props.borderRadius }\"\n >\n <!-- Header -->\n <div class=\"rangepicker-header\">\n <div class=\"arch-flex arch-items-center arch-justify-between\">\n <div>\n <p v-if=\"label\" class=\"arch-mb-1 arch-text-xs arch-font-medium arch-text-gray-500\">\n {{ label }}\n </p>\n <p class=\"arch-text-sm arch-font-semibold arch-text-gray-900\">\n {{ formattedDateRange || placeholder || 'Select dates' }}\n </p>\n </div>\n <p v-if=\"nightCount > 0\" class=\"arch-mt-1 arch-text-xs arch-text-gray-500\">\n {{ nightCount }} {{ nightCount === 1 ? 'night' : 'nights' }}\n </p>\n <!-- <button\n class=\"rangepicker-nav-button\"\n aria-label=\"Close\"\n @click=\"close\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"arch-h-5 arch-w-5\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\"\n clip-rule=\"evenodd\"\n />\n </svg>\n </button> -->\n </div>\n </div>\n\n <!-- Calendar Body -->\n <div class=\"rangepicker-body\">\n <div class=\"rangepicker-month-grid\">\n <div\n v-for=\"(monthData, index) in calendarMonths\"\n :key=\"monthData.month.format('YYYY-MM')\"\n class=\"rangepicker-month\"\n >\n <!-- Month Header -->\n <div class=\"rangepicker-month-header\">\n <button\n v-if=\"variant === 'mobile' || index === 0\"\n class=\"rangepicker-nav-button\"\n :disabled=\"!canNavigatePrevious\"\n aria-label=\"Previous month\"\n @click=\"previousMonth\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"arch-h-5 arch-w-5\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z\"\n clip-rule=\"evenodd\"\n />\n </svg>\n </button>\n <div v-else class=\"arch-w-8\"></div>\n\n <span class=\"rangepicker-month-title\">\n {{ monthData.month.format('MMMM YYYY') }}\n </span>\n\n <button\n v-if=\"variant === 'mobile' || index === calendarMonths.length - 1\"\n class=\"rangepicker-nav-button\"\n :disabled=\"!canNavigateNext\"\n aria-label=\"Next month\"\n @click=\"nextMonth\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"arch-h-5 arch-w-5\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z\"\n clip-rule=\"evenodd\"\n />\n </svg>\n </button>\n <div v-else class=\"arch-w-8\"></div>\n </div>\n\n <!-- Weekday Headers -->\n <div class=\"rangepicker-weekdays\">\n <div v-for=\"weekday in weekdays\" :key=\"weekday\" class=\"rangepicker-weekday\">\n {{ weekday }}\n </div>\n </div>\n\n <!-- Calendar Grid -->\n <div class=\"rangepicker-grid\" @mouseleave=\"handleDayLeave\">\n <button\n v-for=\"day in monthData.days\"\n :key=\"day.date.unix()\"\n :class=\"getDayClasses(day)\"\n :disabled=\"day.isDisabled\"\n :aria-label=\"day.date.format('MMMM D, YYYY')\"\n @click=\"e => selectDate(day, e)\"\n @mouseenter=\"e => handleDayHover(day, e)\"\n >\n <span>{{ day.date.date() }}</span>\n </button>\n </div>\n </div>\n </div>\n\n <!-- Apply/Cancel Buttons (if not autoApply) -->\n <div\n v-if=\"!autoApply\"\n class=\"arch-mt-4 arch-flex arch-items-center arch-justify-end arch-gap-2 arch-border-t arch-border-gray-200 arch-pt-4\"\n >\n <button\n class=\"arch-rounded-lg arch-px-4 arch-py-2 arch-text-sm arch-font-medium arch-text-gray-700 arch-transition-colors hover:arch-bg-gray-100\"\n @click=\"cancel\"\n >\n Cancel\n </button>\n <button\n class=\"arch-rounded-lg arch-px-4 arch-py-2 arch-text-sm arch-font-medium arch-text-white arch-transition-colors disabled:arch-cursor-not-allowed disabled:arch-opacity-50\"\n :style=\"{\n backgroundColor: colorStyles?.['--color-primary']\n ? `rgb(${colorStyles['--color-primary']})`\n : 'rgb(37 99 235)',\n }\"\n :disabled=\"!localStartDate || !localEndDate\"\n @click=\"apply\"\n >\n Apply\n </button>\n </div>\n </div>\n\n <!-- Tooltip -->\n <div v-if=\"showTooltipComputed\" class=\"rangepicker-tooltip\" :style=\"tooltipStyle\">\n <div class=\"arch-flex arch-items-center arch-gap-1\">\n {{ tooltipText }}\n </div>\n </div>\n </div>\n </div>\n </Transition>\n </Teleport>\n</template>\n\n<style lang=\"scss\" scoped>\n@use './styles/rangepicker.scss';\n</style>\n","export interface PositionResult {\n top?: number\n bottom?: number\n left: number\n transform?: string\n}\n\nexport function calculatePosition(\n triggerElement: HTMLElement | null,\n calendarElement: HTMLElement | null,\n preferredPosition: 'auto' | 'top' | 'bottom' = 'auto',\n): PositionResult {\n if (!triggerElement || !calendarElement) return { left: 0 }\n\n const triggerRect = triggerElement.getBoundingClientRect()\n const calendarRect = calendarElement.getBoundingClientRect()\n const viewportHeight = window.innerHeight\n const viewportWidth = window.innerWidth\n\n // Calculate available space\n const spaceAbove = triggerRect.top\n const spaceBelow = viewportHeight - triggerRect.bottom\n\n // Determine vertical position\n const position: PositionResult = { left: triggerRect.left }\n\n if (preferredPosition === 'auto') {\n if (spaceBelow >= calendarRect.height || spaceBelow > spaceAbove) {\n // Position below\n position.top = triggerRect.bottom + 8\n } else {\n // Position above\n position.bottom = viewportHeight - triggerRect.top + 8\n }\n } else if (preferredPosition === 'top') {\n position.bottom = viewportHeight - triggerRect.top + 8\n } else {\n position.top = triggerRect.bottom + 8\n }\n\n // Adjust horizontal position to keep within viewport\n if (position.left + calendarRect.width > viewportWidth) position.left = viewportWidth - calendarRect.width - 16\n\n if (position.left < 16) position.left = 16\n\n return position\n}\n","<script setup lang=\"ts\">\nimport {\n computed,\nref,\nwatch,\n} from 'vue'\nimport Rangepicker from './Rangepicker.vue'\nimport type { RangepickerInputProps } from './types'\n\n// Prevent Vue from auto-applying non-prop attrs (class, style, etc.) to root element.\n// We manually spread $attrs on the wrapper so class/style from the consumer\n// always lands on the outer wrapper div — standard Vue component behavior.\ndefineOptions({ inheritAttrs: false })\n\n// Helper function to convert HEX to RGB\nfunction hexToRgb(hex: string): string | null {\n // Remove # if present\n hex = hex.replace(/^#/, '')\n\n // Handle 3-digit hex\n if (hex.length === 3) {\n hex = hex\n .split('')\n .map(char => char + char)\n .join('')\n }\n\n if (hex.length !== 6) {\n console.warn(`[Rangepicker] Invalid hex color: ${hex}`)\n return null\n }\n\n const r = Number.parseInt(hex.substring(0, 2), 16)\n const g = Number.parseInt(hex.substring(2, 4), 16)\n const b = Number.parseInt(hex.substring(4, 6), 16)\n\n if (Number.isNaN(r) || Number.isNaN(g) || Number.isNaN(b)) {\n return null\n }\n\n return `${r} ${g} ${b}`\n}\n\nconst props = withDefaults(defineProps<RangepickerInputProps>(), {\n readonly: true,\n variant: 'desktop',\n placeholder: 'Select dates',\n showClearButton: true,\n})\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: string]\n \"focusin\": []\n}>()\n\n// Refs\nconst inputRef = ref<HTMLInputElement | null>(null)\nconst isOpen = ref(false)\n\n// Parse the modelValue into start/end dates\nfunction parseValue(value?: string) {\n if (!value) return { startDate: '', endDate: '' }\n\n const parts = value.split(' - ')\n if (parts.length === 2) {\n return {\n startDate: parts[0].trim(),\n endDate: parts[1].trim(),\n }\n }\n return { startDate: '', endDate: '' }\n}\n\nwatch(\n () => props?.close,\n (cur) => {\n if (cur) inputRef.value.blur()\n },\n)\nconst localValue = ref(parseValue(props.modelValue))\n\nconst displayValue = computed(() => {\n return props.modelValue || ''\n})\n\n// The inner input fills the wrapper — sizing/padding/border come from the\n// wrapper via $attrs (class/style passed by the consumer).\nconst inputClass =\n 'rangepicker-input block w-full h-full bg-transparent border-0 shadow-none outline-none cursor-pointer font-inherit text-inherit p-0'\n\nfunction openPicker() {\n isOpen.value = true\n}\n\nfunction onFocus() {\n emit('focusin')\n openPicker()\n}\n\nfunction handleUpdate(value: { startDate: string; endDate: string }) {\n localValue.value = value\n const formatted = `${value.startDate} - ${value.endDate}`\n emit('update:modelValue', formatted)\n}\n\nfunction clearValue() {\n localValue.value = { startDate: '', endDate: '' }\n emit('update:modelValue', '')\n isOpen.value = false\n}\n\nwatch(\n () => props.modelValue,\n (newVal) => {\n localValue.value = parseValue(newVal)\n },\n)\n\n// Compute CSS variables for scoped styling\nconst colorStyles = computed(() => {\n const styles: Record<string, string> = {}\n\n if (props.primaryColor) {\n const rgb = hexToRgb(props.primaryColor)\n if (rgb) {\n styles['--color-primary'] = rgb\n }\n }\n\n if (props.secondaryColor) {\n const rgb = hexToRgb(props.secondaryColor)\n if (rgb) {\n styles['--color-secondary'] = rgb\n }\n }\n\n if (props.fontFamily) {\n styles['--rangepicker-font-family'] = props.fontFamily\n }\n\n return styles\n})\n</script>\n\n<template>\n <div v-bind=\"$attrs\" class=\"rangepicker-input-wrapper\" :style=\"colorStyles\">\n <div class=\"rangepicker-input-container\">\n <input\n :id=\"id\"\n ref=\"inputRef\"\n type=\"text\"\n :value=\"displayValue\"\n :placeholder=\"placeholder\"\n :readonly=\"readonly\"\n :name=\"name\"\n :class=\"props?.class ? props.class : inputClass\"\n @click=\"openPicker\"\n @focus=\"onFocus\"\n />\n\n <button\n v-if=\"showClearButton && displayValue\"\n type=\"button\"\n class=\"rangepicker-clear-button\"\n @click.stop=\"clearValue\"\n aria-label=\"Clear dates\"\n >\n <svg\nxmlns=\"http://www.w3.org/2000/svg\"\nclass=\"arch-h-4 arch-w-4\"\nviewBox=\"0 0 20 20\"\nfill=\"currentColor\">\n <path\n fill-rule=\"evenodd\"\n d=\"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z\"\n clip-rule=\"evenodd\"\n />\n </svg>\n </button>\n </div>\n\n <Rangepicker\n v-model=\"localValue\"\n v-model:is-open=\"isOpen\"\n :trigger-element=\"inputRef\"\n :min-date=\"minDate\"\n :max-date=\"maxDate\"\n :min-days=\"minDays\"\n :max-days=\"maxDays\"\n :value-of-months=\"numberOfMonths || 2\"\n :value-of-columns=\"numberOfColumns || 2\"\n :format=\"format || 'DD MMM YYYY'\"\n :auto-apply=\"autoApply !== false\"\n :show-tooltip=\"showTooltip !== false\"\n :variant=\"variant\"\n :close=\"props.close\"\n :color-styles=\"colorStyles\"\n :border-radius=\"borderRadius\"\n @update:model-value=\"handleUpdate\"\n />\n </div>\n</template>\n\n<style scoped lang=\"scss\">\n@use './styles/rangepicker.scss';\n\n.rangepicker-input-wrapper {\n position: relative;\n display: flex;\n align-items: center;\n width: 100%;\n font-family: var(--rangepicker-font-family, inherit);\n}\n\n.rangepicker-input-container {\n position: relative;\n display: flex;\n align-items: center;\n}\n\n.rangepicker-input {\n cursor: pointer;\n font-family: inherit;\n flex: 1;\n padding-right: 2.5rem;\n}\n\n.rangepicker-clear-button {\n position: absolute;\n right: 0.5rem;\n top: 50%;\n transform: translateY(-50%);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0.25rem;\n background: transparent;\n border: none;\n border-radius: 0.375rem;\n color: #6b7280;\n cursor: pointer;\n transition: all 0.2s;\n z-index: 1;\n\n &:hover {\n color: #374151;\n background: #f3f4f6;\n }\n\n &:active {\n transform: translateY(-50%) scale(0.95);\n }\n\n &:focus {\n outline: none;\n box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.5);\n }\n}\n</style>\n","import { ref } from 'vue'\nimport './styles/rangepicker.scss'\nimport Rangepicker from './Rangepicker.vue'\nimport RangepickerInput from './RangepickerInput.vue'\nimport type {\n DateRange,\n RangepickerProps,\n RangepickerEmits,\n CalendarDay,\n CalendarMonth,\n RangepickerInputProps,\n} from './types'\n\n// Default export - RangepickerInput (Litepicker-compatible wrapper)\nexport default RangepickerInput\n\n// Named exports\nexport { Rangepicker, RangepickerInput }\n\n// Type exports\nexport type { RangepickerProps, RangepickerInputProps, RangepickerEmits, DateRange, CalendarDay, CalendarMonth }\n\n// Vue 3 composable for easy integration\nexport function useRangepicker(triggerRef: any, options: Partial<RangepickerProps> = {}) {\n const isOpen = ref(false)\n const dateRange = ref<DateRange>({ startDate: '', endDate: '' })\n\n const open = () => {\n isOpen.value = true\n }\n const close = () => {\n isOpen.value = false\n }\n const toggle = () => {\n isOpen.value = !isOpen.value\n }\n\n return {\n isOpen,\n dateRange,\n open,\n close,\n toggle,\n options,\n }\n}\n"],"names":["exports","e","i","t","prototype","isBetween","s","f","n","o","r","u","this","isAfter","isBefore","module","isSameOrAfter","isSame","isSameOrBefore","LTS","LT","L","LL","LLL","LLLL","a","h","zone","offset","match","indexOf","concat","d","meridiem","c","A","afternoon","Q","month","S","milliseconds","SS","SSS","ss","m","mm","H","HH","hh","D","DD","Do","ordinal","day","replace","w","ww","M","MM","MMM","map","slice","Error","MMMM","Y","YY","year","YYYY","Z","ZZ","l","formats","toUpperCase","length","regex","parser","exec","call","hours","p","customParseFormat","parseTwoDigitYear","parse","date","utc","args","$u","$locale","Ls","$d","Date","minutes","seconds","week","getDate","getFullYear","v","getMonth","g","y","UTC","toDate","init","$L","locale","format","Array","apply","isValid","getMonthDays","monthOffset","currentDate","dayjs","add","startOf","firstDayOfMonth","daysInMonth","daysInPrevMonth","subtract","days","push","isPrevMonth","isCurrentMonth","isNextMonth","remainingDays","createCalendarDay","options","startDate","endDate","minDate","maxDate","disabledDates","holidays","isDisabled","some","isHoliday","isSelected","isInRange","isToday","isWeekend","extend","props","__props","emit","__emit","isMobile","useBreakpoints","breakpointsTailwind","smallerOrEqual","numberOfMonths","computed","value","valueOfMonths","valueOfColumns","calendarRef","ref","isFadingOut","hoveredDay","localIsOpen","isOpen","localStartDate","localEndDate","parsedMinDate","parsedMaxDate","parsedDisabledDates","_a","parsedHolidays","weekdays","weekStart","getWeekDays","effectiveNumberOfMonths","variant","calendarMonths","startOffset","months","calendarDays","generateCalendarMonths","nightCount","diff","formattedDateRange","delimiter","canNavigatePrevious","canNavigateNext","endOf","width","windowWidth","useWindowSize","calendarStyle","updatePosition","nextTick","position","triggerElement","calendarElement","preferredPosition","left","triggerRect","getBoundingClientRect","calendarRect","viewportHeight","window","innerHeight","viewportWidth","innerWidth","spaceAbove","top","spaceBelow","bottom","height","calculatePosition","transform","borderRadius","tooltipStyle","tooltipText","nights","showTooltipComputed","showTooltip","getDayClasses","classes","start","hovered","handleDayHover","event","rect","target","handleDayLeave","previousMonth","nextMonth","close","setTimeout","cancel","modelValue","_b","handleKeydown","key","watch","newVal","immediate","deep","onClickOutside","onMounted","document","addEventListener","onUnmounted","removeEventListener","_createBlock","_Teleport","to","_createVNode","_Transition","name","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","class","onClick","_normalizeClass","style","_hoisted_2","_hoisted_3","label","_hoisted_4","_toDisplayString","_hoisted_5","placeholder","_hoisted_6","_hoisted_7","_hoisted_8","_Fragment","_renderList","monthData","index","_hoisted_9","disabled","xmlns","viewBox","fill","_hoisted_11","_hoisted_12","_hoisted_14","_hoisted_15","weekday","onMouseleave","unix","preventDefault","minDays","maxDays","autoApply","selectDate","onMouseenter","_hoisted_17","_normalizeStyle","colorStyles","_hoisted_18","_hoisted_19","hexToRgb","hex","split","char","join","console","warn","Number","parseInt","substring","b","isNaN","inputRef","parseValue","parts","trim","cur","blur","localValue","displayValue","openPicker","onFocus","handleUpdate","formatted","clearValue","styles","primaryColor","rgb","secondaryColor","fontFamily","_mergeProps","_ctx","$attrs","id","type","readonly","showClearButton","Rangepicker","$event","numberOfColumns","triggerRef","dateRange","open","toggle"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.arch-mb-1{margin-bottom:.25rem}.arch-mt-1{margin-top:.25rem}.arch-mt-4{margin-top:1rem}.arch-flex{display:flex}.arch-h-4{height:1rem}.arch-h-5{height:1.25rem}.arch-w-4{width:1rem}.arch-w-5{width:1.25rem}.arch-w-8{width:2rem}.arch-max-w-\[0\%\]{max-width:0%}.arch-max-w-\[1\%\]{max-width:1%}.arch-max-w-\[10\%\]{max-width:10%}.arch-max-w-\[100\%\]{max-width:100%}.arch-max-w-\[11\%\]{max-width:11%}.arch-max-w-\[12\%\]{max-width:12%}.arch-max-w-\[13\%\]{max-width:13%}.arch-max-w-\[14\%\]{max-width:14%}.arch-max-w-\[15\%\]{max-width:15%}.arch-max-w-\[16\%\]{max-width:16%}.arch-max-w-\[17\%\]{max-width:17%}.arch-max-w-\[18\%\]{max-width:18%}.arch-max-w-\[19\%\]{max-width:19%}.arch-max-w-\[2\%\]{max-width:2%}.arch-max-w-\[20\%\]{max-width:20%}.arch-max-w-\[21\%\]{max-width:21%}.arch-max-w-\[22\%\]{max-width:22%}.arch-max-w-\[23\%\]{max-width:23%}.arch-max-w-\[24\%\]{max-width:24%}.arch-max-w-\[25\%\]{max-width:25%}.arch-max-w-\[26\%\]{max-width:26%}.arch-max-w-\[27\%\]{max-width:27%}.arch-max-w-\[28\%\]{max-width:28%}.arch-max-w-\[29\%\]{max-width:29%}.arch-max-w-\[3\%\]{max-width:3%}.arch-max-w-\[30\%\]{max-width:30%}.arch-max-w-\[31\%\]{max-width:31%}.arch-max-w-\[32\%\]{max-width:32%}.arch-max-w-\[33\%\]{max-width:33%}.arch-max-w-\[34\%\]{max-width:34%}.arch-max-w-\[35\%\]{max-width:35%}.arch-max-w-\[36\%\]{max-width:36%}.arch-max-w-\[37\%\]{max-width:37%}.arch-max-w-\[38\%\]{max-width:38%}.arch-max-w-\[39\%\]{max-width:39%}.arch-max-w-\[4\%\]{max-width:4%}.arch-max-w-\[40\%\]{max-width:40%}.arch-max-w-\[41\%\]{max-width:41%}.arch-max-w-\[42\%\]{max-width:42%}.arch-max-w-\[43\%\]{max-width:43%}.arch-max-w-\[44\%\]{max-width:44%}.arch-max-w-\[45\%\]{max-width:45%}.arch-max-w-\[46\%\]{max-width:46%}.arch-max-w-\[47\%\]{max-width:47%}.arch-max-w-\[48\%\]{max-width:48%}.arch-max-w-\[49\%\]{max-width:49%}.arch-max-w-\[5\%\]{max-width:5%}.arch-max-w-\[50\%\]{max-width:50%}.arch-max-w-\[51\%\]{max-width:51%}.arch-max-w-\[52\%\]{max-width:52%}.arch-max-w-\[53\%\]{max-width:53%}.arch-max-w-\[54\%\]{max-width:54%}.arch-max-w-\[55\%\]{max-width:55%}.arch-max-w-\[56\%\]{max-width:56%}.arch-max-w-\[57\%\]{max-width:57%}.arch-max-w-\[58\%\]{max-width:58%}.arch-max-w-\[59\%\]{max-width:59%}.arch-max-w-\[6\%\]{max-width:6%}.arch-max-w-\[60\%\]{max-width:60%}.arch-max-w-\[61\%\]{max-width:61%}.arch-max-w-\[62\%\]{max-width:62%}.arch-max-w-\[63\%\]{max-width:63%}.arch-max-w-\[64\%\]{max-width:64%}.arch-max-w-\[65\%\]{max-width:65%}.arch-max-w-\[66\%\]{max-width:66%}.arch-max-w-\[67\%\]{max-width:67%}.arch-max-w-\[68\%\]{max-width:68%}.arch-max-w-\[69\%\]{max-width:69%}.arch-max-w-\[7\%\]{max-width:7%}.arch-max-w-\[70\%\]{max-width:70%}.arch-max-w-\[71\%\]{max-width:71%}.arch-max-w-\[72\%\]{max-width:72%}.arch-max-w-\[73\%\]{max-width:73%}.arch-max-w-\[74\%\]{max-width:74%}.arch-max-w-\[75\%\]{max-width:75%}.arch-max-w-\[76\%\]{max-width:76%}.arch-max-w-\[77\%\]{max-width:77%}.arch-max-w-\[78\%\]{max-width:78%}.arch-max-w-\[79\%\]{max-width:79%}.arch-max-w-\[8\%\]{max-width:8%}.arch-max-w-\[80\%\]{max-width:80%}.arch-max-w-\[81\%\]{max-width:81%}.arch-max-w-\[82\%\]{max-width:82%}.arch-max-w-\[83\%\]{max-width:83%}.arch-max-w-\[84\%\]{max-width:84%}.arch-max-w-\[85\%\]{max-width:85%}.arch-max-w-\[86\%\]{max-width:86%}.arch-max-w-\[87\%\]{max-width:87%}.arch-max-w-\[88\%\]{max-width:88%}.arch-max-w-\[89\%\]{max-width:89%}.arch-max-w-\[9\%\]{max-width:9%}.arch-max-w-\[90\%\]{max-width:90%}.arch-max-w-\[91\%\]{max-width:91%}.arch-max-w-\[92\%\]{max-width:92%}.arch-max-w-\[93\%\]{max-width:93%}.arch-max-w-\[94\%\]{max-width:94%}.arch-max-w-\[95\%\]{max-width:95%}.arch-max-w-\[96\%\]{max-width:96%}.arch-max-w-\[97\%\]{max-width:97%}.arch-max-w-\[98\%\]{max-width:98%}.arch-max-w-\[99\%\]{max-width:99%}.arch-items-center{align-items:center}.arch-justify-end{justify-content:flex-end}.arch-justify-between{justify-content:space-between}.arch-gap-1{gap:.25rem}.arch-gap-2{gap:.5rem}.arch-rounded-lg{border-radius:.5rem}.arch-border-t{border-top-width:1px}.arch-border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.arch-px-4{padding-left:1rem;padding-right:1rem}.arch-py-2{padding-top:.5rem;padding-bottom:.5rem}.arch-pt-4{padding-top:1rem}.arch-text-sm{font-size:.875rem;line-height:1.25rem}.arch-text-xs{font-size:.75rem;line-height:1rem}.arch-font-medium{font-weight:500}.arch-font-semibold{font-weight:600}.arch-text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.arch-text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.arch-text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.arch-text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.arch-transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.25s}:root{--rangepicker-font-family: inherit;--color-primary: 22 163 74;--color-secondary: 100 116 139;--font-family: inherit}.rangepicker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999999}.rangepicker-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#0003}.rangepicker-container{position:fixed;z-index:105;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@media not all and (min-width: 1024px){.rangepicker-container{left:0;right:0;margin-left:auto;margin-right:auto;width:90%}}.rangepicker-container{font-family:var(--rangepicker-font-family, inherit);border-radius:.75rem}.rangepicker-header{border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding:1rem}.rangepicker-body{padding:1rem}.rangepicker-month-grid{display:grid;gap:1.5rem}@media (min-width: 1024px){.rangepicker-month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media not all and (min-width: 1024px){.rangepicker-month{width:100%;min-width:74vw}}@media (min-width: 1024px){.rangepicker-month{min-width:280px}}.rangepicker-month-header{margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between}.rangepicker-month-title{font-size:1.125rem;line-height:1.75rem;font-weight:600;--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.rangepicker-nav-button{display:flex;height:2rem;width:2rem;align-items:center;justify-content:center;border-radius:.5rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.25s}.rangepicker-nav-button:disabled{cursor:not-allowed;opacity:.3}.rangepicker-nav-button:hover:not(:disabled){background-color:rgb(var(--color-primary)/.2)}.rangepicker-weekdays{margin-bottom:.5rem;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem}.rangepicker-weekday{text-align:center;font-size:.75rem;line-height:1rem;font-weight:500;text-transform:uppercase;--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.rangepicker-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem}.rangepicker-day{display:flex;aspect-ratio:1 / 1;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;justify-content:center;border-radius:9999px;font-size:.875rem;line-height:1.25rem;font-weight:500}.rangepicker-day:not(.rangepicker-day-disabled):hover{background-color:rgb(var(--color-secondary)/.2)}.rangepicker-day-selected{background-color:rgb(var(--color-primary));color:#fff}.rangepicker-day-selected:hover{background-color:rgb(var(--color-secondary))}.rangepicker-day-selected-single{background-color:rgb(var(--color-primary));color:#fff}.rangepicker-day-selected-single:hover{background-color:rgb(var(--color-secondary))}.rangepicker-day-selected-start{background-color:rgb(var(--color-primary))!important;color:#fff!important;position:relative;border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:9999px!important;border-bottom-left-radius:9999px!important}.rangepicker-day-selected-start:hover{background-color:rgb(var(--color-secondary))}.rangepicker-day-selected-end{background-color:rgb(var(--color-primary));color:#fff;position:relative;border-radius:0 9999px 9999px 0/0px 9999px 9999px 0px}.rangepicker-day-selected-end:hover{background-color:rgb(var(--color-secondary))}.rangepicker-day-in-range{background:rgb(var(--color-primary)/.8);color:#fff;position:relative;border-radius:0}.rangepicker-day-in-range:hover{background:linear-gradient(to right,rgb(var(--color-primary)/.5),rgb(var(--color-primary)/.6))}.rangepicker-day-hover-range{--tw-bg-opacity: 1;background-color:rgb(245 245 245 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.rangepicker-day-hover-start{border-radius:9999px 0 0 9999px/9999px 0px 0px 9999px}.rangepicker-day-hover-middle{border-radius:0}.rangepicker-day-hover-end{background-color:rgb(var(--color-primary))!important;color:#fff;border-radius:0 9999px 9999px 0/0px 9999px 9999px 0px}.rangepicker-day-disabled{cursor:not-allowed;--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.rangepicker-day-disabled:hover{background-color:transparent}.rangepicker-day-today{border:2px solid rgb(var(--color-secondary));border-radius:var(--border-radius-day, 9999px)}.rangepicker-day-weekout{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.rangepicker-day-other-month{background-color:transparent!important;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.rangepicker-day-holiday{position:relative}.rangepicker-day-holiday:after{position:absolute;top:.25rem;right:.25rem;height:.375rem;width:.375rem;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1));content:""}.rangepicker-tooltip{position:fixed;z-index:20;border-radius:.5rem;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:rgb(var(--color-secondary));pointer-events:none}.rangepicker-tooltip:after{position:absolute;top:100%;left:50%;--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));content:""}.rangepicker-mobile{position:fixed;left:0;right:0;bottom:0;top:auto;max-width:100%;border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.rangepicker-mobile .rangepicker-body{max-height:70vh;overflow-y:auto}.rangepicker-mobile .rangepicker-month-grid{grid-template-columns:repeat(1,minmax(0,1fr))}.rangepicker-mobile .rangepicker-month{width:100%;min-width:100%}.slide-up-enter-active,.slide-up-leave-active{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.slide-up-enter-from,.slide-up-leave-to{--tw-translate-y: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.fade-enter-active,.fade-leave-active{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.fade-enter-from,.fade-leave-to{opacity:0}.hover\:arch-bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.disabled\:arch-cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:arch-opacity-50:disabled{opacity:.5}.arch-mb-1[data-v-08df566e]{margin-bottom:.25rem}.arch-mt-1[data-v-08df566e]{margin-top:.25rem}.arch-mt-4[data-v-08df566e]{margin-top:1rem}.arch-flex[data-v-08df566e]{display:flex}.arch-h-4[data-v-08df566e]{height:1rem}.arch-h-5[data-v-08df566e]{height:1.25rem}.arch-w-4[data-v-08df566e]{width:1rem}.arch-w-5[data-v-08df566e]{width:1.25rem}.arch-w-8[data-v-08df566e]{width:2rem}.arch-max-w-\[0\%\][data-v-08df566e]{max-width:0%}.arch-max-w-\[1\%\][data-v-08df566e]{max-width:1%}.arch-max-w-\[10\%\][data-v-08df566e]{max-width:10%}.arch-max-w-\[100\%\][data-v-08df566e]{max-width:100%}.arch-max-w-\[11\%\][data-v-08df566e]{max-width:11%}.arch-max-w-\[12\%\][data-v-08df566e]{max-width:12%}.arch-max-w-\[13\%\][data-v-08df566e]{max-width:13%}.arch-max-w-\[14\%\][data-v-08df566e]{max-width:14%}.arch-max-w-\[15\%\][data-v-08df566e]{max-width:15%}.arch-max-w-\[16\%\][data-v-08df566e]{max-width:16%}.arch-max-w-\[17\%\][data-v-08df566e]{max-width:17%}.arch-max-w-\[18\%\][data-v-08df566e]{max-width:18%}.arch-max-w-\[19\%\][data-v-08df566e]{max-width:19%}.arch-max-w-\[2\%\][data-v-08df566e]{max-width:2%}.arch-max-w-\[20\%\][data-v-08df566e]{max-width:20%}.arch-max-w-\[21\%\][data-v-08df566e]{max-width:21%}.arch-max-w-\[22\%\][data-v-08df566e]{max-width:22%}.arch-max-w-\[23\%\][data-v-08df566e]{max-width:23%}.arch-max-w-\[24\%\][data-v-08df566e]{max-width:24%}.arch-max-w-\[25\%\][data-v-08df566e]{max-width:25%}.arch-max-w-\[26\%\][data-v-08df566e]{max-width:26%}.arch-max-w-\[27\%\][data-v-08df566e]{max-width:27%}.arch-max-w-\[28\%\][data-v-08df566e]{max-width:28%}.arch-max-w-\[29\%\][data-v-08df566e]{max-width:29%}.arch-max-w-\[3\%\][data-v-08df566e]{max-width:3%}.arch-max-w-\[30\%\][data-v-08df566e]{max-width:30%}.arch-max-w-\[31\%\][data-v-08df566e]{max-width:31%}.arch-max-w-\[32\%\][data-v-08df566e]{max-width:32%}.arch-max-w-\[33\%\][data-v-08df566e]{max-width:33%}.arch-max-w-\[34\%\][data-v-08df566e]{max-width:34%}.arch-max-w-\[35\%\][data-v-08df566e]{max-width:35%}.arch-max-w-\[36\%\][data-v-08df566e]{max-width:36%}.arch-max-w-\[37\%\][data-v-08df566e]{max-width:37%}.arch-max-w-\[38\%\][data-v-08df566e]{max-width:38%}.arch-max-w-\[39\%\][data-v-08df566e]{max-width:39%}.arch-max-w-\[4\%\][data-v-08df566e]{max-width:4%}.arch-max-w-\[40\%\][data-v-08df566e]{max-width:40%}.arch-max-w-\[41\%\][data-v-08df566e]{max-width:41%}.arch-max-w-\[42\%\][data-v-08df566e]{max-width:42%}.arch-max-w-\[43\%\][data-v-08df566e]{max-width:43%}.arch-max-w-\[44\%\][data-v-08df566e]{max-width:44%}.arch-max-w-\[45\%\][data-v-08df566e]{max-width:45%}.arch-max-w-\[46\%\][data-v-08df566e]{max-width:46%}.arch-max-w-\[47\%\][data-v-08df566e]{max-width:47%}.arch-max-w-\[48\%\][data-v-08df566e]{max-width:48%}.arch-max-w-\[49\%\][data-v-08df566e]{max-width:49%}.arch-max-w-\[5\%\][data-v-08df566e]{max-width:5%}.arch-max-w-\[50\%\][data-v-08df566e]{max-width:50%}.arch-max-w-\[51\%\][data-v-08df566e]{max-width:51%}.arch-max-w-\[52\%\][data-v-08df566e]{max-width:52%}.arch-max-w-\[53\%\][data-v-08df566e]{max-width:53%}.arch-max-w-\[54\%\][data-v-08df566e]{max-width:54%}.arch-max-w-\[55\%\][data-v-08df566e]{max-width:55%}.arch-max-w-\[56\%\][data-v-08df566e]{max-width:56%}.arch-max-w-\[57\%\][data-v-08df566e]{max-width:57%}.arch-max-w-\[58\%\][data-v-08df566e]{max-width:58%}.arch-max-w-\[59\%\][data-v-08df566e]{max-width:59%}.arch-max-w-\[6\%\][data-v-08df566e]{max-width:6%}.arch-max-w-\[60\%\][data-v-08df566e]{max-width:60%}.arch-max-w-\[61\%\][data-v-08df566e]{max-width:61%}.arch-max-w-\[62\%\][data-v-08df566e]{max-width:62%}.arch-max-w-\[63\%\][data-v-08df566e]{max-width:63%}.arch-max-w-\[64\%\][data-v-08df566e]{max-width:64%}.arch-max-w-\[65\%\][data-v-08df566e]{max-width:65%}.arch-max-w-\[66\%\][data-v-08df566e]{max-width:66%}.arch-max-w-\[67\%\][data-v-08df566e]{max-width:67%}.arch-max-w-\[68\%\][data-v-08df566e]{max-width:68%}.arch-max-w-\[69\%\][data-v-08df566e]{max-width:69%}.arch-max-w-\[7\%\][data-v-08df566e]{max-width:7%}.arch-max-w-\[70\%\][data-v-08df566e]{max-width:70%}.arch-max-w-\[71\%\][data-v-08df566e]{max-width:71%}.arch-max-w-\[72\%\][data-v-08df566e]{max-width:72%}.arch-max-w-\[73\%\][data-v-08df566e]{max-width:73%}.arch-max-w-\[74\%\][data-v-08df566e]{max-width:74%}.arch-max-w-\[75\%\][data-v-08df566e]{max-width:75%}.arch-max-w-\[76\%\][data-v-08df566e]{max-width:76%}.arch-max-w-\[77\%\][data-v-08df566e]{max-width:77%}.arch-max-w-\[78\%\][data-v-08df566e]{max-width:78%}.arch-max-w-\[79\%\][data-v-08df566e]{max-width:79%}.arch-max-w-\[8\%\][data-v-08df566e]{max-width:8%}.arch-max-w-\[80\%\][data-v-08df566e]{max-width:80%}.arch-max-w-\[81\%\][data-v-08df566e]{max-width:81%}.arch-max-w-\[82\%\][data-v-08df566e]{max-width:82%}.arch-max-w-\[83\%\][data-v-08df566e]{max-width:83%}.arch-max-w-\[84\%\][data-v-08df566e]{max-width:84%}.arch-max-w-\[85\%\][data-v-08df566e]{max-width:85%}.arch-max-w-\[86\%\][data-v-08df566e]{max-width:86%}.arch-max-w-\[87\%\][data-v-08df566e]{max-width:87%}.arch-max-w-\[88\%\][data-v-08df566e]{max-width:88%}.arch-max-w-\[89\%\][data-v-08df566e]{max-width:89%}.arch-max-w-\[9\%\][data-v-08df566e]{max-width:9%}.arch-max-w-\[90\%\][data-v-08df566e]{max-width:90%}.arch-max-w-\[91\%\][data-v-08df566e]{max-width:91%}.arch-max-w-\[92\%\][data-v-08df566e]{max-width:92%}.arch-max-w-\[93\%\][data-v-08df566e]{max-width:93%}.arch-max-w-\[94\%\][data-v-08df566e]{max-width:94%}.arch-max-w-\[95\%\][data-v-08df566e]{max-width:95%}.arch-max-w-\[96\%\][data-v-08df566e]{max-width:96%}.arch-max-w-\[97\%\][data-v-08df566e]{max-width:97%}.arch-max-w-\[98\%\][data-v-08df566e]{max-width:98%}.arch-max-w-\[99\%\][data-v-08df566e]{max-width:99%}.arch-items-center[data-v-08df566e]{align-items:center}.arch-justify-end[data-v-08df566e]{justify-content:flex-end}.arch-justify-between[data-v-08df566e]{justify-content:space-between}.arch-gap-1[data-v-08df566e]{gap:.25rem}.arch-gap-2[data-v-08df566e]{gap:.5rem}.arch-rounded-lg[data-v-08df566e]{border-radius:.5rem}.arch-border-t[data-v-08df566e]{border-top-width:1px}.arch-border-gray-200[data-v-08df566e]{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.arch-px-4[data-v-08df566e]{padding-left:1rem;padding-right:1rem}.arch-py-2[data-v-08df566e]{padding-top:.5rem;padding-bottom:.5rem}.arch-pt-4[data-v-08df566e]{padding-top:1rem}.arch-text-sm[data-v-08df566e]{font-size:.875rem;line-height:1.25rem}.arch-text-xs[data-v-08df566e]{font-size:.75rem;line-height:1rem}.arch-font-medium[data-v-08df566e]{font-weight:500}.arch-font-semibold[data-v-08df566e]{font-weight:600}.arch-text-gray-500[data-v-08df566e]{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.arch-text-gray-700[data-v-08df566e]{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.arch-text-gray-900[data-v-08df566e]{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.arch-text-white[data-v-08df566e]{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.arch-transition-colors[data-v-08df566e]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.25s}[data-v-08df566e]:root{--rangepicker-font-family: inherit;--color-primary: 22 163 74;--color-secondary: 100 116 139;--font-family: inherit}.rangepicker-overlay[data-v-08df566e]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999999}.rangepicker-backdrop[data-v-08df566e]{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#0003}.rangepicker-container[data-v-08df566e]{position:fixed;z-index:105;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@media not all and (min-width: 1024px){.rangepicker-container[data-v-08df566e]{left:0;right:0;margin-left:auto;margin-right:auto;width:90%}}.rangepicker-container[data-v-08df566e]{font-family:var(--rangepicker-font-family, inherit);border-radius:.75rem}.rangepicker-header[data-v-08df566e]{border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding:1rem}.rangepicker-body[data-v-08df566e]{padding:1rem}.rangepicker-month-grid[data-v-08df566e]{display:grid;gap:1.5rem}@media (min-width: 1024px){.rangepicker-month-grid[data-v-08df566e]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media not all and (min-width: 1024px){.rangepicker-month[data-v-08df566e]{width:100%;min-width:74vw}}@media (min-width: 1024px){.rangepicker-month[data-v-08df566e]{min-width:280px}}.rangepicker-month-header[data-v-08df566e]{margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between}.rangepicker-month-title[data-v-08df566e]{font-size:1.125rem;line-height:1.75rem;font-weight:600;--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.rangepicker-nav-button[data-v-08df566e]{display:flex;height:2rem;width:2rem;align-items:center;justify-content:center;border-radius:.5rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.25s}.rangepicker-nav-button[data-v-08df566e]:disabled{cursor:not-allowed;opacity:.3}.rangepicker-nav-button[data-v-08df566e]:hover:not(:disabled){background-color:rgb(var(--color-primary)/.2)}.rangepicker-weekdays[data-v-08df566e]{margin-bottom:.5rem;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem}.rangepicker-weekday[data-v-08df566e]{text-align:center;font-size:.75rem;line-height:1rem;font-weight:500;text-transform:uppercase;--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.rangepicker-grid[data-v-08df566e]{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem}.rangepicker-day[data-v-08df566e]{display:flex;aspect-ratio:1 / 1;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;justify-content:center;border-radius:9999px;font-size:.875rem;line-height:1.25rem;font-weight:500}.rangepicker-day[data-v-08df566e]:not(.rangepicker-day-disabled):hover{background-color:rgb(var(--color-secondary)/.2)}.rangepicker-day-selected[data-v-08df566e]{background-color:rgb(var(--color-primary));color:#fff}.rangepicker-day-selected[data-v-08df566e]:hover{background-color:rgb(var(--color-secondary))}.rangepicker-day-selected-single[data-v-08df566e]{background-color:rgb(var(--color-primary));color:#fff}.rangepicker-day-selected-single[data-v-08df566e]:hover{background-color:rgb(var(--color-secondary))}.rangepicker-day-selected-start[data-v-08df566e]{background-color:rgb(var(--color-primary))!important;color:#fff!important;position:relative;border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:9999px!important;border-bottom-left-radius:9999px!important}.rangepicker-day-selected-start[data-v-08df566e]:hover{background-color:rgb(var(--color-secondary))}.rangepicker-day-selected-end[data-v-08df566e]{background-color:rgb(var(--color-primary));color:#fff;position:relative;border-radius:0 9999px 9999px 0/0px 9999px 9999px 0px}.rangepicker-day-selected-end[data-v-08df566e]:hover{background-color:rgb(var(--color-secondary))}.rangepicker-day-in-range[data-v-08df566e]{background:rgb(var(--color-primary)/.8);color:#fff;position:relative;border-radius:0}.rangepicker-day-in-range[data-v-08df566e]:hover{background:linear-gradient(to right,rgb(var(--color-primary)/.5),rgb(var(--color-primary)/.6))}.rangepicker-day-hover-range[data-v-08df566e]{--tw-bg-opacity: 1;background-color:rgb(245 245 245 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.rangepicker-day-hover-start[data-v-08df566e]{border-radius:9999px 0 0 9999px/9999px 0px 0px 9999px}.rangepicker-day-hover-middle[data-v-08df566e]{border-radius:0}.rangepicker-day-hover-end[data-v-08df566e]{background-color:rgb(var(--color-primary))!important;color:#fff;border-radius:0 9999px 9999px 0/0px 9999px 9999px 0px}.rangepicker-day-disabled[data-v-08df566e]{cursor:not-allowed;--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.rangepicker-day-disabled[data-v-08df566e]:hover{background-color:transparent}.rangepicker-day-today[data-v-08df566e]{border:2px solid rgb(var(--color-secondary));border-radius:var(--border-radius-day, 9999px)}.rangepicker-day-weekout[data-v-08df566e]{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.rangepicker-day-other-month[data-v-08df566e]{background-color:transparent!important;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.rangepicker-day-holiday[data-v-08df566e]{position:relative}.rangepicker-day-holiday[data-v-08df566e]:after{position:absolute;top:.25rem;right:.25rem;height:.375rem;width:.375rem;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1));content:""}.rangepicker-tooltip[data-v-08df566e]{position:fixed;z-index:20;border-radius:.5rem;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:rgb(var(--color-secondary));pointer-events:none}.rangepicker-tooltip[data-v-08df566e]:after{position:absolute;top:100%;left:50%;--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));content:""}.rangepicker-mobile[data-v-08df566e]{position:fixed;left:0;right:0;bottom:0;top:auto;max-width:100%;border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.rangepicker-mobile .rangepicker-body[data-v-08df566e]{max-height:70vh;overflow-y:auto}.rangepicker-mobile .rangepicker-month-grid[data-v-08df566e]{grid-template-columns:repeat(1,minmax(0,1fr))}.rangepicker-mobile .rangepicker-month[data-v-08df566e]{width:100%;min-width:100%}.slide-up-enter-active[data-v-08df566e],.slide-up-leave-active[data-v-08df566e]{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.slide-up-enter-from[data-v-08df566e],.slide-up-leave-to[data-v-08df566e]{--tw-translate-y: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.fade-enter-active[data-v-08df566e],.fade-leave-active[data-v-08df566e]{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.fade-enter-from[data-v-08df566e],.fade-leave-to[data-v-08df566e]{opacity:0}.hover\:arch-bg-gray-100[data-v-08df566e]:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.disabled\:arch-cursor-not-allowed[data-v-08df566e]:disabled{cursor:not-allowed}.disabled\:arch-opacity-50[data-v-08df566e]:disabled{opacity:.5}.arch-mb-1[data-v-1132af89]{margin-bottom:.25rem}.arch-mt-1[data-v-1132af89]{margin-top:.25rem}.arch-mt-4[data-v-1132af89]{margin-top:1rem}.arch-flex[data-v-1132af89]{display:flex}.arch-h-4[data-v-1132af89]{height:1rem}.arch-h-5[data-v-1132af89]{height:1.25rem}.arch-w-4[data-v-1132af89]{width:1rem}.arch-w-5[data-v-1132af89]{width:1.25rem}.arch-w-8[data-v-1132af89]{width:2rem}.arch-max-w-\[0\%\][data-v-1132af89]{max-width:0%}.arch-max-w-\[1\%\][data-v-1132af89]{max-width:1%}.arch-max-w-\[10\%\][data-v-1132af89]{max-width:10%}.arch-max-w-\[100\%\][data-v-1132af89]{max-width:100%}.arch-max-w-\[11\%\][data-v-1132af89]{max-width:11%}.arch-max-w-\[12\%\][data-v-1132af89]{max-width:12%}.arch-max-w-\[13\%\][data-v-1132af89]{max-width:13%}.arch-max-w-\[14\%\][data-v-1132af89]{max-width:14%}.arch-max-w-\[15\%\][data-v-1132af89]{max-width:15%}.arch-max-w-\[16\%\][data-v-1132af89]{max-width:16%}.arch-max-w-\[17\%\][data-v-1132af89]{max-width:17%}.arch-max-w-\[18\%\][data-v-1132af89]{max-width:18%}.arch-max-w-\[19\%\][data-v-1132af89]{max-width:19%}.arch-max-w-\[2\%\][data-v-1132af89]{max-width:2%}.arch-max-w-\[20\%\][data-v-1132af89]{max-width:20%}.arch-max-w-\[21\%\][data-v-1132af89]{max-width:21%}.arch-max-w-\[22\%\][data-v-1132af89]{max-width:22%}.arch-max-w-\[23\%\][data-v-1132af89]{max-width:23%}.arch-max-w-\[24\%\][data-v-1132af89]{max-width:24%}.arch-max-w-\[25\%\][data-v-1132af89]{max-width:25%}.arch-max-w-\[26\%\][data-v-1132af89]{max-width:26%}.arch-max-w-\[27\%\][data-v-1132af89]{max-width:27%}.arch-max-w-\[28\%\][data-v-1132af89]{max-width:28%}.arch-max-w-\[29\%\][data-v-1132af89]{max-width:29%}.arch-max-w-\[3\%\][data-v-1132af89]{max-width:3%}.arch-max-w-\[30\%\][data-v-1132af89]{max-width:30%}.arch-max-w-\[31\%\][data-v-1132af89]{max-width:31%}.arch-max-w-\[32\%\][data-v-1132af89]{max-width:32%}.arch-max-w-\[33\%\][data-v-1132af89]{max-width:33%}.arch-max-w-\[34\%\][data-v-1132af89]{max-width:34%}.arch-max-w-\[35\%\][data-v-1132af89]{max-width:35%}.arch-max-w-\[36\%\][data-v-1132af89]{max-width:36%}.arch-max-w-\[37\%\][data-v-1132af89]{max-width:37%}.arch-max-w-\[38\%\][data-v-1132af89]{max-width:38%}.arch-max-w-\[39\%\][data-v-1132af89]{max-width:39%}.arch-max-w-\[4\%\][data-v-1132af89]{max-width:4%}.arch-max-w-\[40\%\][data-v-1132af89]{max-width:40%}.arch-max-w-\[41\%\][data-v-1132af89]{max-width:41%}.arch-max-w-\[42\%\][data-v-1132af89]{max-width:42%}.arch-max-w-\[43\%\][data-v-1132af89]{max-width:43%}.arch-max-w-\[44\%\][data-v-1132af89]{max-width:44%}.arch-max-w-\[45\%\][data-v-1132af89]{max-width:45%}.arch-max-w-\[46\%\][data-v-1132af89]{max-width:46%}.arch-max-w-\[47\%\][data-v-1132af89]{max-width:47%}.arch-max-w-\[48\%\][data-v-1132af89]{max-width:48%}.arch-max-w-\[49\%\][data-v-1132af89]{max-width:49%}.arch-max-w-\[5\%\][data-v-1132af89]{max-width:5%}.arch-max-w-\[50\%\][data-v-1132af89]{max-width:50%}.arch-max-w-\[51\%\][data-v-1132af89]{max-width:51%}.arch-max-w-\[52\%\][data-v-1132af89]{max-width:52%}.arch-max-w-\[53\%\][data-v-1132af89]{max-width:53%}.arch-max-w-\[54\%\][data-v-1132af89]{max-width:54%}.arch-max-w-\[55\%\][data-v-1132af89]{max-width:55%}.arch-max-w-\[56\%\][data-v-1132af89]{max-width:56%}.arch-max-w-\[57\%\][data-v-1132af89]{max-width:57%}.arch-max-w-\[58\%\][data-v-1132af89]{max-width:58%}.arch-max-w-\[59\%\][data-v-1132af89]{max-width:59%}.arch-max-w-\[6\%\][data-v-1132af89]{max-width:6%}.arch-max-w-\[60\%\][data-v-1132af89]{max-width:60%}.arch-max-w-\[61\%\][data-v-1132af89]{max-width:61%}.arch-max-w-\[62\%\][data-v-1132af89]{max-width:62%}.arch-max-w-\[63\%\][data-v-1132af89]{max-width:63%}.arch-max-w-\[64\%\][data-v-1132af89]{max-width:64%}.arch-max-w-\[65\%\][data-v-1132af89]{max-width:65%}.arch-max-w-\[66\%\][data-v-1132af89]{max-width:66%}.arch-max-w-\[67\%\][data-v-1132af89]{max-width:67%}.arch-max-w-\[68\%\][data-v-1132af89]{max-width:68%}.arch-max-w-\[69\%\][data-v-1132af89]{max-width:69%}.arch-max-w-\[7\%\][data-v-1132af89]{max-width:7%}.arch-max-w-\[70\%\][data-v-1132af89]{max-width:70%}.arch-max-w-\[71\%\][data-v-1132af89]{max-width:71%}.arch-max-w-\[72\%\][data-v-1132af89]{max-width:72%}.arch-max-w-\[73\%\][data-v-1132af89]{max-width:73%}.arch-max-w-\[74\%\][data-v-1132af89]{max-width:74%}.arch-max-w-\[75\%\][data-v-1132af89]{max-width:75%}.arch-max-w-\[76\%\][data-v-1132af89]{max-width:76%}.arch-max-w-\[77\%\][data-v-1132af89]{max-width:77%}.arch-max-w-\[78\%\][data-v-1132af89]{max-width:78%}.arch-max-w-\[79\%\][data-v-1132af89]{max-width:79%}.arch-max-w-\[8\%\][data-v-1132af89]{max-width:8%}.arch-max-w-\[80\%\][data-v-1132af89]{max-width:80%}.arch-max-w-\[81\%\][data-v-1132af89]{max-width:81%}.arch-max-w-\[82\%\][data-v-1132af89]{max-width:82%}.arch-max-w-\[83\%\][data-v-1132af89]{max-width:83%}.arch-max-w-\[84\%\][data-v-1132af89]{max-width:84%}.arch-max-w-\[85\%\][data-v-1132af89]{max-width:85%}.arch-max-w-\[86\%\][data-v-1132af89]{max-width:86%}.arch-max-w-\[87\%\][data-v-1132af89]{max-width:87%}.arch-max-w-\[88\%\][data-v-1132af89]{max-width:88%}.arch-max-w-\[89\%\][data-v-1132af89]{max-width:89%}.arch-max-w-\[9\%\][data-v-1132af89]{max-width:9%}.arch-max-w-\[90\%\][data-v-1132af89]{max-width:90%}.arch-max-w-\[91\%\][data-v-1132af89]{max-width:91%}.arch-max-w-\[92\%\][data-v-1132af89]{max-width:92%}.arch-max-w-\[93\%\][data-v-1132af89]{max-width:93%}.arch-max-w-\[94\%\][data-v-1132af89]{max-width:94%}.arch-max-w-\[95\%\][data-v-1132af89]{max-width:95%}.arch-max-w-\[96\%\][data-v-1132af89]{max-width:96%}.arch-max-w-\[97\%\][data-v-1132af89]{max-width:97%}.arch-max-w-\[98\%\][data-v-1132af89]{max-width:98%}.arch-max-w-\[99\%\][data-v-1132af89]{max-width:99%}.arch-items-center[data-v-1132af89]{align-items:center}.arch-justify-end[data-v-1132af89]{justify-content:flex-end}.arch-justify-between[data-v-1132af89]{justify-content:space-between}.arch-gap-1[data-v-1132af89]{gap:.25rem}.arch-gap-2[data-v-1132af89]{gap:.5rem}.arch-rounded-lg[data-v-1132af89]{border-radius:.5rem}.arch-border-t[data-v-1132af89]{border-top-width:1px}.arch-border-gray-200[data-v-1132af89]{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.arch-px-4[data-v-1132af89]{padding-left:1rem;padding-right:1rem}.arch-py-2[data-v-1132af89]{padding-top:.5rem;padding-bottom:.5rem}.arch-pt-4[data-v-1132af89]{padding-top:1rem}.arch-text-sm[data-v-1132af89]{font-size:.875rem;line-height:1.25rem}.arch-text-xs[data-v-1132af89]{font-size:.75rem;line-height:1rem}.arch-font-medium[data-v-1132af89]{font-weight:500}.arch-font-semibold[data-v-1132af89]{font-weight:600}.arch-text-gray-500[data-v-1132af89]{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.arch-text-gray-700[data-v-1132af89]{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.arch-text-gray-900[data-v-1132af89]{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.arch-text-white[data-v-1132af89]{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.arch-transition-colors[data-v-1132af89]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.25s}[data-v-1132af89]:root{--rangepicker-font-family: inherit;--color-primary: 22 163 74;--color-secondary: 100 116 139;--font-family: inherit}.rangepicker-overlay[data-v-1132af89]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999999}.rangepicker-backdrop[data-v-1132af89]{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#0003}.rangepicker-container[data-v-1132af89]{position:fixed;z-index:105;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@media not all and (min-width: 1024px){.rangepicker-container[data-v-1132af89]{left:0;right:0;margin-left:auto;margin-right:auto;width:90%}}.rangepicker-container[data-v-1132af89]{font-family:var(--rangepicker-font-family, inherit);border-radius:.75rem}.rangepicker-header[data-v-1132af89]{border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding:1rem}.rangepicker-body[data-v-1132af89]{padding:1rem}.rangepicker-month-grid[data-v-1132af89]{display:grid;gap:1.5rem}@media (min-width: 1024px){.rangepicker-month-grid[data-v-1132af89]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media not all and (min-width: 1024px){.rangepicker-month[data-v-1132af89]{width:100%;min-width:74vw}}@media (min-width: 1024px){.rangepicker-month[data-v-1132af89]{min-width:280px}}.rangepicker-month-header[data-v-1132af89]{margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between}.rangepicker-month-title[data-v-1132af89]{font-size:1.125rem;line-height:1.75rem;font-weight:600;--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.rangepicker-nav-button[data-v-1132af89]{display:flex;height:2rem;width:2rem;align-items:center;justify-content:center;border-radius:.5rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.25s}.rangepicker-nav-button[data-v-1132af89]:disabled{cursor:not-allowed;opacity:.3}.rangepicker-nav-button[data-v-1132af89]:hover:not(:disabled){background-color:rgb(var(--color-primary)/.2)}.rangepicker-weekdays[data-v-1132af89]{margin-bottom:.5rem;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem}.rangepicker-weekday[data-v-1132af89]{text-align:center;font-size:.75rem;line-height:1rem;font-weight:500;text-transform:uppercase;--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.rangepicker-grid[data-v-1132af89]{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem}.rangepicker-day[data-v-1132af89]{display:flex;aspect-ratio:1 / 1;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;justify-content:center;border-radius:9999px;font-size:.875rem;line-height:1.25rem;font-weight:500}.rangepicker-day[data-v-1132af89]:not(.rangepicker-day-disabled):hover{background-color:rgb(var(--color-secondary)/.2)}.rangepicker-day-selected[data-v-1132af89]{background-color:rgb(var(--color-primary));color:#fff}.rangepicker-day-selected[data-v-1132af89]:hover{background-color:rgb(var(--color-secondary))}.rangepicker-day-selected-single[data-v-1132af89]{background-color:rgb(var(--color-primary));color:#fff}.rangepicker-day-selected-single[data-v-1132af89]:hover{background-color:rgb(var(--color-secondary))}.rangepicker-day-selected-start[data-v-1132af89]{background-color:rgb(var(--color-primary))!important;color:#fff!important;position:relative;border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:9999px!important;border-bottom-left-radius:9999px!important}.rangepicker-day-selected-start[data-v-1132af89]:hover{background-color:rgb(var(--color-secondary))}.rangepicker-day-selected-end[data-v-1132af89]{background-color:rgb(var(--color-primary));color:#fff;position:relative;border-radius:0 9999px 9999px 0/0px 9999px 9999px 0px}.rangepicker-day-selected-end[data-v-1132af89]:hover{background-color:rgb(var(--color-secondary))}.rangepicker-day-in-range[data-v-1132af89]{background:rgb(var(--color-primary)/.8);color:#fff;position:relative;border-radius:0}.rangepicker-day-in-range[data-v-1132af89]:hover{background:linear-gradient(to right,rgb(var(--color-primary)/.5),rgb(var(--color-primary)/.6))}.rangepicker-day-hover-range[data-v-1132af89]{--tw-bg-opacity: 1;background-color:rgb(245 245 245 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.rangepicker-day-hover-start[data-v-1132af89]{border-radius:9999px 0 0 9999px/9999px 0px 0px 9999px}.rangepicker-day-hover-middle[data-v-1132af89]{border-radius:0}.rangepicker-day-hover-end[data-v-1132af89]{background-color:rgb(var(--color-primary))!important;color:#fff;border-radius:0 9999px 9999px 0/0px 9999px 9999px 0px}.rangepicker-day-disabled[data-v-1132af89]{cursor:not-allowed;--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.rangepicker-day-disabled[data-v-1132af89]:hover{background-color:transparent}.rangepicker-day-today[data-v-1132af89]{border:2px solid rgb(var(--color-secondary));border-radius:var(--border-radius-day, 9999px)}.rangepicker-day-weekout[data-v-1132af89]{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.rangepicker-day-other-month[data-v-1132af89]{background-color:transparent!important;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.rangepicker-day-holiday[data-v-1132af89]{position:relative}.rangepicker-day-holiday[data-v-1132af89]:after{position:absolute;top:.25rem;right:.25rem;height:.375rem;width:.375rem;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1));content:""}.rangepicker-tooltip[data-v-1132af89]{position:fixed;z-index:20;border-radius:.5rem;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:rgb(var(--color-secondary));pointer-events:none}.rangepicker-tooltip[data-v-1132af89]:after{position:absolute;top:100%;left:50%;--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));content:""}.rangepicker-mobile[data-v-1132af89]{position:fixed;left:0;right:0;bottom:0;top:auto;max-width:100%;border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.rangepicker-mobile .rangepicker-body[data-v-1132af89]{max-height:70vh;overflow-y:auto}.rangepicker-mobile .rangepicker-month-grid[data-v-1132af89]{grid-template-columns:repeat(1,minmax(0,1fr))}.rangepicker-mobile .rangepicker-month[data-v-1132af89]{width:100%;min-width:100%}.slide-up-enter-active[data-v-1132af89],.slide-up-leave-active[data-v-1132af89]{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.slide-up-enter-from[data-v-1132af89],.slide-up-leave-to[data-v-1132af89]{--tw-translate-y: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.fade-enter-active[data-v-1132af89],.fade-leave-active[data-v-1132af89]{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.fade-enter-from[data-v-1132af89],.fade-leave-to[data-v-1132af89]{opacity:0}.rangepicker-input-wrapper[data-v-1132af89]{position:relative;display:flex;align-items:center;width:100%;font-family:var(--rangepicker-font-family, inherit)}.rangepicker-input-container[data-v-1132af89]{position:relative;display:flex;align-items:center}.rangepicker-input[data-v-1132af89]{cursor:pointer;font-family:inherit;flex:1;padding-right:2.5rem}.rangepicker-clear-button[data-v-1132af89]{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;padding:.25rem;background:transparent;border:none;border-radius:.375rem;color:#6b7280;cursor:pointer;transition:all .2s;z-index:1}.rangepicker-clear-button[data-v-1132af89]:hover{color:#374151;background:#f3f4f6}.rangepicker-clear-button[data-v-1132af89]:active{transform:translateY(-50%) scale(.95)}.rangepicker-clear-button[data-v-1132af89]:focus{outline:none;box-shadow:0 0 0 2px #3b82f680}.hover\:arch-bg-gray-100[data-v-1132af89]:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.disabled\:arch-cursor-not-allowed[data-v-1132af89]:disabled{cursor:not-allowed}.disabled\:arch-opacity-50[data-v-1132af89]:disabled{opacity:.5}
|
|
1
|
+
.arch-mb-1{margin-bottom:.25rem}.arch-mt-1{margin-top:.25rem}.arch-mt-4{margin-top:1rem}.arch-flex{display:flex}.arch-h-4{height:1rem}.arch-h-5{height:1.25rem}.arch-w-4{width:1rem}.arch-w-5{width:1.25rem}.arch-w-8{width:2rem}.arch-max-w-\[0\%\]{max-width:0%}.arch-max-w-\[1\%\]{max-width:1%}.arch-max-w-\[10\%\]{max-width:10%}.arch-max-w-\[100\%\]{max-width:100%}.arch-max-w-\[11\%\]{max-width:11%}.arch-max-w-\[12\%\]{max-width:12%}.arch-max-w-\[13\%\]{max-width:13%}.arch-max-w-\[14\%\]{max-width:14%}.arch-max-w-\[15\%\]{max-width:15%}.arch-max-w-\[16\%\]{max-width:16%}.arch-max-w-\[17\%\]{max-width:17%}.arch-max-w-\[18\%\]{max-width:18%}.arch-max-w-\[19\%\]{max-width:19%}.arch-max-w-\[2\%\]{max-width:2%}.arch-max-w-\[20\%\]{max-width:20%}.arch-max-w-\[21\%\]{max-width:21%}.arch-max-w-\[22\%\]{max-width:22%}.arch-max-w-\[23\%\]{max-width:23%}.arch-max-w-\[24\%\]{max-width:24%}.arch-max-w-\[25\%\]{max-width:25%}.arch-max-w-\[26\%\]{max-width:26%}.arch-max-w-\[27\%\]{max-width:27%}.arch-max-w-\[28\%\]{max-width:28%}.arch-max-w-\[29\%\]{max-width:29%}.arch-max-w-\[3\%\]{max-width:3%}.arch-max-w-\[30\%\]{max-width:30%}.arch-max-w-\[31\%\]{max-width:31%}.arch-max-w-\[32\%\]{max-width:32%}.arch-max-w-\[33\%\]{max-width:33%}.arch-max-w-\[34\%\]{max-width:34%}.arch-max-w-\[35\%\]{max-width:35%}.arch-max-w-\[36\%\]{max-width:36%}.arch-max-w-\[37\%\]{max-width:37%}.arch-max-w-\[38\%\]{max-width:38%}.arch-max-w-\[39\%\]{max-width:39%}.arch-max-w-\[4\%\]{max-width:4%}.arch-max-w-\[40\%\]{max-width:40%}.arch-max-w-\[41\%\]{max-width:41%}.arch-max-w-\[42\%\]{max-width:42%}.arch-max-w-\[43\%\]{max-width:43%}.arch-max-w-\[44\%\]{max-width:44%}.arch-max-w-\[45\%\]{max-width:45%}.arch-max-w-\[46\%\]{max-width:46%}.arch-max-w-\[47\%\]{max-width:47%}.arch-max-w-\[48\%\]{max-width:48%}.arch-max-w-\[49\%\]{max-width:49%}.arch-max-w-\[5\%\]{max-width:5%}.arch-max-w-\[50\%\]{max-width:50%}.arch-max-w-\[51\%\]{max-width:51%}.arch-max-w-\[52\%\]{max-width:52%}.arch-max-w-\[53\%\]{max-width:53%}.arch-max-w-\[54\%\]{max-width:54%}.arch-max-w-\[55\%\]{max-width:55%}.arch-max-w-\[56\%\]{max-width:56%}.arch-max-w-\[57\%\]{max-width:57%}.arch-max-w-\[58\%\]{max-width:58%}.arch-max-w-\[59\%\]{max-width:59%}.arch-max-w-\[6\%\]{max-width:6%}.arch-max-w-\[60\%\]{max-width:60%}.arch-max-w-\[61\%\]{max-width:61%}.arch-max-w-\[62\%\]{max-width:62%}.arch-max-w-\[63\%\]{max-width:63%}.arch-max-w-\[64\%\]{max-width:64%}.arch-max-w-\[65\%\]{max-width:65%}.arch-max-w-\[66\%\]{max-width:66%}.arch-max-w-\[67\%\]{max-width:67%}.arch-max-w-\[68\%\]{max-width:68%}.arch-max-w-\[69\%\]{max-width:69%}.arch-max-w-\[7\%\]{max-width:7%}.arch-max-w-\[70\%\]{max-width:70%}.arch-max-w-\[71\%\]{max-width:71%}.arch-max-w-\[72\%\]{max-width:72%}.arch-max-w-\[73\%\]{max-width:73%}.arch-max-w-\[74\%\]{max-width:74%}.arch-max-w-\[75\%\]{max-width:75%}.arch-max-w-\[76\%\]{max-width:76%}.arch-max-w-\[77\%\]{max-width:77%}.arch-max-w-\[78\%\]{max-width:78%}.arch-max-w-\[79\%\]{max-width:79%}.arch-max-w-\[8\%\]{max-width:8%}.arch-max-w-\[80\%\]{max-width:80%}.arch-max-w-\[81\%\]{max-width:81%}.arch-max-w-\[82\%\]{max-width:82%}.arch-max-w-\[83\%\]{max-width:83%}.arch-max-w-\[84\%\]{max-width:84%}.arch-max-w-\[85\%\]{max-width:85%}.arch-max-w-\[86\%\]{max-width:86%}.arch-max-w-\[87\%\]{max-width:87%}.arch-max-w-\[88\%\]{max-width:88%}.arch-max-w-\[89\%\]{max-width:89%}.arch-max-w-\[9\%\]{max-width:9%}.arch-max-w-\[90\%\]{max-width:90%}.arch-max-w-\[91\%\]{max-width:91%}.arch-max-w-\[92\%\]{max-width:92%}.arch-max-w-\[93\%\]{max-width:93%}.arch-max-w-\[94\%\]{max-width:94%}.arch-max-w-\[95\%\]{max-width:95%}.arch-max-w-\[96\%\]{max-width:96%}.arch-max-w-\[97\%\]{max-width:97%}.arch-max-w-\[98\%\]{max-width:98%}.arch-max-w-\[99\%\]{max-width:99%}.arch-items-center{align-items:center}.arch-justify-end{justify-content:flex-end}.arch-justify-between{justify-content:space-between}.arch-gap-1{gap:.25rem}.arch-gap-2{gap:.5rem}.arch-rounded-lg{border-radius:.5rem}.arch-border-t{border-top-width:1px}.arch-border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.arch-px-4{padding-left:1rem;padding-right:1rem}.arch-py-2{padding-top:.5rem;padding-bottom:.5rem}.arch-pt-4{padding-top:1rem}.arch-text-sm{font-size:.875rem;line-height:1.25rem}.arch-text-xs{font-size:.75rem;line-height:1rem}.arch-font-medium{font-weight:500}.arch-font-semibold{font-weight:600}.arch-text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.arch-text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.arch-text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.arch-text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.arch-transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.25s}:root{--rangepicker-font-family: inherit;--color-primary: 22 163 74;--color-secondary: 100 116 139;--font-family: inherit}.rangepicker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999999}.rangepicker-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#0003}.rangepicker-container{position:fixed;z-index:105;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@media not all and (min-width: 1024px){.rangepicker-container{left:0;right:0;margin-left:auto;margin-right:auto;width:90%}}.rangepicker-container{font-family:var(--rangepicker-font-family, inherit);border-radius:.75rem}.rangepicker-header{border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding:1rem}.rangepicker-body{padding:1rem}.rangepicker-month-grid{display:grid;gap:1.5rem}@media (min-width: 1024px){.rangepicker-month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media not all and (min-width: 1024px){.rangepicker-month{width:100%;min-width:74vw}}@media (min-width: 1024px){.rangepicker-month{min-width:280px}}.rangepicker-month-header{margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between}.rangepicker-month-title{font-size:1.125rem;line-height:1.75rem;font-weight:600;--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.rangepicker-nav-button{display:flex;height:2rem;width:2rem;align-items:center;justify-content:center;border-radius:.5rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.25s}.rangepicker-nav-button:disabled{cursor:not-allowed;opacity:.3}.rangepicker-nav-button:hover:not(:disabled){background-color:rgb(var(--color-primary)/.2)}.rangepicker-weekdays{margin-bottom:.5rem;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem}.rangepicker-weekday{text-align:center;font-size:.75rem;line-height:1rem;font-weight:500;text-transform:uppercase;--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.rangepicker-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem}.rangepicker-day{display:flex;aspect-ratio:1 / 1;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;justify-content:center;border-radius:9999px;font-size:.875rem;line-height:1.25rem;font-weight:500}.rangepicker-day:not(.rangepicker-day-disabled):hover{background-color:rgb(var(--color-secondary)/.2)}.rangepicker-day-selected{background-color:rgb(var(--color-primary));color:#fff}.rangepicker-day-selected:hover{background-color:rgb(var(--color-secondary))}.rangepicker-day-selected-single{background-color:rgb(var(--color-primary));color:#fff}.rangepicker-day-selected-single:hover{background-color:rgb(var(--color-secondary))}.rangepicker-day-selected-start{background-color:rgb(var(--color-primary))!important;color:#fff!important;position:relative;border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:9999px!important;border-bottom-left-radius:9999px!important}.rangepicker-day-selected-start:hover{background-color:rgb(var(--color-secondary))}.rangepicker-day-selected-end{background-color:rgb(var(--color-primary));color:#fff;position:relative;border-radius:0 9999px 9999px 0/0px 9999px 9999px 0px}.rangepicker-day-selected-end:hover{background-color:rgb(var(--color-secondary))}.rangepicker-day-in-range{background:rgb(var(--color-primary)/.8);color:#fff;position:relative;border-radius:0}.rangepicker-day-in-range:hover{background:linear-gradient(to right,rgb(var(--color-primary)/.5),rgb(var(--color-primary)/.6))}.rangepicker-day-hover-range{--tw-bg-opacity: 1;background-color:rgb(229 229 229 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.rangepicker-day-hover-start{border-radius:9999px 0 0 9999px/9999px 0px 0px 9999px}.rangepicker-day-hover-middle{border-radius:0}.rangepicker-day-hover-end{background-color:rgb(var(--color-primary))!important;color:#fff;border-radius:0 9999px 9999px 0/0px 9999px 9999px 0px}.rangepicker-day-disabled{cursor:not-allowed;--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.rangepicker-day-disabled:hover{background-color:transparent}.rangepicker-day-today{border:2px solid rgb(var(--color-secondary));border-radius:var(--border-radius-day, 9999px)}.rangepicker-day-weekout{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.rangepicker-day-other-month{background-color:transparent!important;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.rangepicker-day-holiday{position:relative}.rangepicker-day-holiday:after{position:absolute;top:.25rem;right:.25rem;height:.375rem;width:.375rem;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1));content:""}.rangepicker-tooltip{position:fixed;z-index:20;border-radius:.5rem;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:rgb(var(--color-secondary));pointer-events:none}.rangepicker-tooltip:after{position:absolute;top:100%;left:50%;--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));content:""}.rangepicker-mobile{position:fixed;left:0;right:0;bottom:0;top:auto;max-width:100%;border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.rangepicker-mobile .rangepicker-body{max-height:70vh;overflow-y:auto}.rangepicker-mobile .rangepicker-month-grid{grid-template-columns:repeat(1,minmax(0,1fr))}.rangepicker-mobile .rangepicker-month{width:100%;min-width:100%}.slide-up-enter-active,.slide-up-leave-active{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.slide-up-enter-from,.slide-up-leave-to{--tw-translate-y: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.fade-enter-active,.fade-leave-active{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.fade-enter-from,.fade-leave-to{opacity:0}.hover\:arch-bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.disabled\:arch-cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:arch-opacity-50:disabled{opacity:.5}.arch-mb-1[data-v-373603fd]{margin-bottom:.25rem}.arch-mt-1[data-v-373603fd]{margin-top:.25rem}.arch-mt-4[data-v-373603fd]{margin-top:1rem}.arch-flex[data-v-373603fd]{display:flex}.arch-h-4[data-v-373603fd]{height:1rem}.arch-h-5[data-v-373603fd]{height:1.25rem}.arch-w-4[data-v-373603fd]{width:1rem}.arch-w-5[data-v-373603fd]{width:1.25rem}.arch-w-8[data-v-373603fd]{width:2rem}.arch-max-w-\[0\%\][data-v-373603fd]{max-width:0%}.arch-max-w-\[1\%\][data-v-373603fd]{max-width:1%}.arch-max-w-\[10\%\][data-v-373603fd]{max-width:10%}.arch-max-w-\[100\%\][data-v-373603fd]{max-width:100%}.arch-max-w-\[11\%\][data-v-373603fd]{max-width:11%}.arch-max-w-\[12\%\][data-v-373603fd]{max-width:12%}.arch-max-w-\[13\%\][data-v-373603fd]{max-width:13%}.arch-max-w-\[14\%\][data-v-373603fd]{max-width:14%}.arch-max-w-\[15\%\][data-v-373603fd]{max-width:15%}.arch-max-w-\[16\%\][data-v-373603fd]{max-width:16%}.arch-max-w-\[17\%\][data-v-373603fd]{max-width:17%}.arch-max-w-\[18\%\][data-v-373603fd]{max-width:18%}.arch-max-w-\[19\%\][data-v-373603fd]{max-width:19%}.arch-max-w-\[2\%\][data-v-373603fd]{max-width:2%}.arch-max-w-\[20\%\][data-v-373603fd]{max-width:20%}.arch-max-w-\[21\%\][data-v-373603fd]{max-width:21%}.arch-max-w-\[22\%\][data-v-373603fd]{max-width:22%}.arch-max-w-\[23\%\][data-v-373603fd]{max-width:23%}.arch-max-w-\[24\%\][data-v-373603fd]{max-width:24%}.arch-max-w-\[25\%\][data-v-373603fd]{max-width:25%}.arch-max-w-\[26\%\][data-v-373603fd]{max-width:26%}.arch-max-w-\[27\%\][data-v-373603fd]{max-width:27%}.arch-max-w-\[28\%\][data-v-373603fd]{max-width:28%}.arch-max-w-\[29\%\][data-v-373603fd]{max-width:29%}.arch-max-w-\[3\%\][data-v-373603fd]{max-width:3%}.arch-max-w-\[30\%\][data-v-373603fd]{max-width:30%}.arch-max-w-\[31\%\][data-v-373603fd]{max-width:31%}.arch-max-w-\[32\%\][data-v-373603fd]{max-width:32%}.arch-max-w-\[33\%\][data-v-373603fd]{max-width:33%}.arch-max-w-\[34\%\][data-v-373603fd]{max-width:34%}.arch-max-w-\[35\%\][data-v-373603fd]{max-width:35%}.arch-max-w-\[36\%\][data-v-373603fd]{max-width:36%}.arch-max-w-\[37\%\][data-v-373603fd]{max-width:37%}.arch-max-w-\[38\%\][data-v-373603fd]{max-width:38%}.arch-max-w-\[39\%\][data-v-373603fd]{max-width:39%}.arch-max-w-\[4\%\][data-v-373603fd]{max-width:4%}.arch-max-w-\[40\%\][data-v-373603fd]{max-width:40%}.arch-max-w-\[41\%\][data-v-373603fd]{max-width:41%}.arch-max-w-\[42\%\][data-v-373603fd]{max-width:42%}.arch-max-w-\[43\%\][data-v-373603fd]{max-width:43%}.arch-max-w-\[44\%\][data-v-373603fd]{max-width:44%}.arch-max-w-\[45\%\][data-v-373603fd]{max-width:45%}.arch-max-w-\[46\%\][data-v-373603fd]{max-width:46%}.arch-max-w-\[47\%\][data-v-373603fd]{max-width:47%}.arch-max-w-\[48\%\][data-v-373603fd]{max-width:48%}.arch-max-w-\[49\%\][data-v-373603fd]{max-width:49%}.arch-max-w-\[5\%\][data-v-373603fd]{max-width:5%}.arch-max-w-\[50\%\][data-v-373603fd]{max-width:50%}.arch-max-w-\[51\%\][data-v-373603fd]{max-width:51%}.arch-max-w-\[52\%\][data-v-373603fd]{max-width:52%}.arch-max-w-\[53\%\][data-v-373603fd]{max-width:53%}.arch-max-w-\[54\%\][data-v-373603fd]{max-width:54%}.arch-max-w-\[55\%\][data-v-373603fd]{max-width:55%}.arch-max-w-\[56\%\][data-v-373603fd]{max-width:56%}.arch-max-w-\[57\%\][data-v-373603fd]{max-width:57%}.arch-max-w-\[58\%\][data-v-373603fd]{max-width:58%}.arch-max-w-\[59\%\][data-v-373603fd]{max-width:59%}.arch-max-w-\[6\%\][data-v-373603fd]{max-width:6%}.arch-max-w-\[60\%\][data-v-373603fd]{max-width:60%}.arch-max-w-\[61\%\][data-v-373603fd]{max-width:61%}.arch-max-w-\[62\%\][data-v-373603fd]{max-width:62%}.arch-max-w-\[63\%\][data-v-373603fd]{max-width:63%}.arch-max-w-\[64\%\][data-v-373603fd]{max-width:64%}.arch-max-w-\[65\%\][data-v-373603fd]{max-width:65%}.arch-max-w-\[66\%\][data-v-373603fd]{max-width:66%}.arch-max-w-\[67\%\][data-v-373603fd]{max-width:67%}.arch-max-w-\[68\%\][data-v-373603fd]{max-width:68%}.arch-max-w-\[69\%\][data-v-373603fd]{max-width:69%}.arch-max-w-\[7\%\][data-v-373603fd]{max-width:7%}.arch-max-w-\[70\%\][data-v-373603fd]{max-width:70%}.arch-max-w-\[71\%\][data-v-373603fd]{max-width:71%}.arch-max-w-\[72\%\][data-v-373603fd]{max-width:72%}.arch-max-w-\[73\%\][data-v-373603fd]{max-width:73%}.arch-max-w-\[74\%\][data-v-373603fd]{max-width:74%}.arch-max-w-\[75\%\][data-v-373603fd]{max-width:75%}.arch-max-w-\[76\%\][data-v-373603fd]{max-width:76%}.arch-max-w-\[77\%\][data-v-373603fd]{max-width:77%}.arch-max-w-\[78\%\][data-v-373603fd]{max-width:78%}.arch-max-w-\[79\%\][data-v-373603fd]{max-width:79%}.arch-max-w-\[8\%\][data-v-373603fd]{max-width:8%}.arch-max-w-\[80\%\][data-v-373603fd]{max-width:80%}.arch-max-w-\[81\%\][data-v-373603fd]{max-width:81%}.arch-max-w-\[82\%\][data-v-373603fd]{max-width:82%}.arch-max-w-\[83\%\][data-v-373603fd]{max-width:83%}.arch-max-w-\[84\%\][data-v-373603fd]{max-width:84%}.arch-max-w-\[85\%\][data-v-373603fd]{max-width:85%}.arch-max-w-\[86\%\][data-v-373603fd]{max-width:86%}.arch-max-w-\[87\%\][data-v-373603fd]{max-width:87%}.arch-max-w-\[88\%\][data-v-373603fd]{max-width:88%}.arch-max-w-\[89\%\][data-v-373603fd]{max-width:89%}.arch-max-w-\[9\%\][data-v-373603fd]{max-width:9%}.arch-max-w-\[90\%\][data-v-373603fd]{max-width:90%}.arch-max-w-\[91\%\][data-v-373603fd]{max-width:91%}.arch-max-w-\[92\%\][data-v-373603fd]{max-width:92%}.arch-max-w-\[93\%\][data-v-373603fd]{max-width:93%}.arch-max-w-\[94\%\][data-v-373603fd]{max-width:94%}.arch-max-w-\[95\%\][data-v-373603fd]{max-width:95%}.arch-max-w-\[96\%\][data-v-373603fd]{max-width:96%}.arch-max-w-\[97\%\][data-v-373603fd]{max-width:97%}.arch-max-w-\[98\%\][data-v-373603fd]{max-width:98%}.arch-max-w-\[99\%\][data-v-373603fd]{max-width:99%}.arch-items-center[data-v-373603fd]{align-items:center}.arch-justify-end[data-v-373603fd]{justify-content:flex-end}.arch-justify-between[data-v-373603fd]{justify-content:space-between}.arch-gap-1[data-v-373603fd]{gap:.25rem}.arch-gap-2[data-v-373603fd]{gap:.5rem}.arch-rounded-lg[data-v-373603fd]{border-radius:.5rem}.arch-border-t[data-v-373603fd]{border-top-width:1px}.arch-border-gray-200[data-v-373603fd]{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.arch-px-4[data-v-373603fd]{padding-left:1rem;padding-right:1rem}.arch-py-2[data-v-373603fd]{padding-top:.5rem;padding-bottom:.5rem}.arch-pt-4[data-v-373603fd]{padding-top:1rem}.arch-text-sm[data-v-373603fd]{font-size:.875rem;line-height:1.25rem}.arch-text-xs[data-v-373603fd]{font-size:.75rem;line-height:1rem}.arch-font-medium[data-v-373603fd]{font-weight:500}.arch-font-semibold[data-v-373603fd]{font-weight:600}.arch-text-gray-500[data-v-373603fd]{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.arch-text-gray-700[data-v-373603fd]{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.arch-text-gray-900[data-v-373603fd]{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.arch-text-white[data-v-373603fd]{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.arch-transition-colors[data-v-373603fd]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.25s}[data-v-373603fd]:root{--rangepicker-font-family: inherit;--color-primary: 22 163 74;--color-secondary: 100 116 139;--font-family: inherit}.rangepicker-overlay[data-v-373603fd]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999999}.rangepicker-backdrop[data-v-373603fd]{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#0003}.rangepicker-container[data-v-373603fd]{position:fixed;z-index:105;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@media not all and (min-width: 1024px){.rangepicker-container[data-v-373603fd]{left:0;right:0;margin-left:auto;margin-right:auto;width:90%}}.rangepicker-container[data-v-373603fd]{font-family:var(--rangepicker-font-family, inherit);border-radius:.75rem}.rangepicker-header[data-v-373603fd]{border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding:1rem}.rangepicker-body[data-v-373603fd]{padding:1rem}.rangepicker-month-grid[data-v-373603fd]{display:grid;gap:1.5rem}@media (min-width: 1024px){.rangepicker-month-grid[data-v-373603fd]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media not all and (min-width: 1024px){.rangepicker-month[data-v-373603fd]{width:100%;min-width:74vw}}@media (min-width: 1024px){.rangepicker-month[data-v-373603fd]{min-width:280px}}.rangepicker-month-header[data-v-373603fd]{margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between}.rangepicker-month-title[data-v-373603fd]{font-size:1.125rem;line-height:1.75rem;font-weight:600;--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.rangepicker-nav-button[data-v-373603fd]{display:flex;height:2rem;width:2rem;align-items:center;justify-content:center;border-radius:.5rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.25s}.rangepicker-nav-button[data-v-373603fd]:disabled{cursor:not-allowed;opacity:.3}.rangepicker-nav-button[data-v-373603fd]:hover:not(:disabled){background-color:rgb(var(--color-primary)/.2)}.rangepicker-weekdays[data-v-373603fd]{margin-bottom:.5rem;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem}.rangepicker-weekday[data-v-373603fd]{text-align:center;font-size:.75rem;line-height:1rem;font-weight:500;text-transform:uppercase;--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.rangepicker-grid[data-v-373603fd]{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem}.rangepicker-day[data-v-373603fd]{display:flex;aspect-ratio:1 / 1;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;justify-content:center;border-radius:9999px;font-size:.875rem;line-height:1.25rem;font-weight:500}.rangepicker-day[data-v-373603fd]:not(.rangepicker-day-disabled):hover{background-color:rgb(var(--color-secondary)/.2)}.rangepicker-day-selected[data-v-373603fd]{background-color:rgb(var(--color-primary));color:#fff}.rangepicker-day-selected[data-v-373603fd]:hover{background-color:rgb(var(--color-secondary))}.rangepicker-day-selected-single[data-v-373603fd]{background-color:rgb(var(--color-primary));color:#fff}.rangepicker-day-selected-single[data-v-373603fd]:hover{background-color:rgb(var(--color-secondary))}.rangepicker-day-selected-start[data-v-373603fd]{background-color:rgb(var(--color-primary))!important;color:#fff!important;position:relative;border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:9999px!important;border-bottom-left-radius:9999px!important}.rangepicker-day-selected-start[data-v-373603fd]:hover{background-color:rgb(var(--color-secondary))}.rangepicker-day-selected-end[data-v-373603fd]{background-color:rgb(var(--color-primary));color:#fff;position:relative;border-radius:0 9999px 9999px 0/0px 9999px 9999px 0px}.rangepicker-day-selected-end[data-v-373603fd]:hover{background-color:rgb(var(--color-secondary))}.rangepicker-day-in-range[data-v-373603fd]{background:rgb(var(--color-primary)/.8);color:#fff;position:relative;border-radius:0}.rangepicker-day-in-range[data-v-373603fd]:hover{background:linear-gradient(to right,rgb(var(--color-primary)/.5),rgb(var(--color-primary)/.6))}.rangepicker-day-hover-range[data-v-373603fd]{--tw-bg-opacity: 1;background-color:rgb(229 229 229 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.rangepicker-day-hover-start[data-v-373603fd]{border-radius:9999px 0 0 9999px/9999px 0px 0px 9999px}.rangepicker-day-hover-middle[data-v-373603fd]{border-radius:0}.rangepicker-day-hover-end[data-v-373603fd]{background-color:rgb(var(--color-primary))!important;color:#fff;border-radius:0 9999px 9999px 0/0px 9999px 9999px 0px}.rangepicker-day-disabled[data-v-373603fd]{cursor:not-allowed;--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.rangepicker-day-disabled[data-v-373603fd]:hover{background-color:transparent}.rangepicker-day-today[data-v-373603fd]{border:2px solid rgb(var(--color-secondary));border-radius:var(--border-radius-day, 9999px)}.rangepicker-day-weekout[data-v-373603fd]{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.rangepicker-day-other-month[data-v-373603fd]{background-color:transparent!important;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.rangepicker-day-holiday[data-v-373603fd]{position:relative}.rangepicker-day-holiday[data-v-373603fd]:after{position:absolute;top:.25rem;right:.25rem;height:.375rem;width:.375rem;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1));content:""}.rangepicker-tooltip[data-v-373603fd]{position:fixed;z-index:20;border-radius:.5rem;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:rgb(var(--color-secondary));pointer-events:none}.rangepicker-tooltip[data-v-373603fd]:after{position:absolute;top:100%;left:50%;--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));content:""}.rangepicker-mobile[data-v-373603fd]{position:fixed;left:0;right:0;bottom:0;top:auto;max-width:100%;border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.rangepicker-mobile .rangepicker-body[data-v-373603fd]{max-height:70vh;overflow-y:auto}.rangepicker-mobile .rangepicker-month-grid[data-v-373603fd]{grid-template-columns:repeat(1,minmax(0,1fr))}.rangepicker-mobile .rangepicker-month[data-v-373603fd]{width:100%;min-width:100%}.slide-up-enter-active[data-v-373603fd],.slide-up-leave-active[data-v-373603fd]{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.slide-up-enter-from[data-v-373603fd],.slide-up-leave-to[data-v-373603fd]{--tw-translate-y: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.fade-enter-active[data-v-373603fd],.fade-leave-active[data-v-373603fd]{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.fade-enter-from[data-v-373603fd],.fade-leave-to[data-v-373603fd]{opacity:0}.hover\:arch-bg-gray-100[data-v-373603fd]:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.disabled\:arch-cursor-not-allowed[data-v-373603fd]:disabled{cursor:not-allowed}.disabled\:arch-opacity-50[data-v-373603fd]:disabled{opacity:.5}.arch-mb-1[data-v-1132af89]{margin-bottom:.25rem}.arch-mt-1[data-v-1132af89]{margin-top:.25rem}.arch-mt-4[data-v-1132af89]{margin-top:1rem}.arch-flex[data-v-1132af89]{display:flex}.arch-h-4[data-v-1132af89]{height:1rem}.arch-h-5[data-v-1132af89]{height:1.25rem}.arch-w-4[data-v-1132af89]{width:1rem}.arch-w-5[data-v-1132af89]{width:1.25rem}.arch-w-8[data-v-1132af89]{width:2rem}.arch-max-w-\[0\%\][data-v-1132af89]{max-width:0%}.arch-max-w-\[1\%\][data-v-1132af89]{max-width:1%}.arch-max-w-\[10\%\][data-v-1132af89]{max-width:10%}.arch-max-w-\[100\%\][data-v-1132af89]{max-width:100%}.arch-max-w-\[11\%\][data-v-1132af89]{max-width:11%}.arch-max-w-\[12\%\][data-v-1132af89]{max-width:12%}.arch-max-w-\[13\%\][data-v-1132af89]{max-width:13%}.arch-max-w-\[14\%\][data-v-1132af89]{max-width:14%}.arch-max-w-\[15\%\][data-v-1132af89]{max-width:15%}.arch-max-w-\[16\%\][data-v-1132af89]{max-width:16%}.arch-max-w-\[17\%\][data-v-1132af89]{max-width:17%}.arch-max-w-\[18\%\][data-v-1132af89]{max-width:18%}.arch-max-w-\[19\%\][data-v-1132af89]{max-width:19%}.arch-max-w-\[2\%\][data-v-1132af89]{max-width:2%}.arch-max-w-\[20\%\][data-v-1132af89]{max-width:20%}.arch-max-w-\[21\%\][data-v-1132af89]{max-width:21%}.arch-max-w-\[22\%\][data-v-1132af89]{max-width:22%}.arch-max-w-\[23\%\][data-v-1132af89]{max-width:23%}.arch-max-w-\[24\%\][data-v-1132af89]{max-width:24%}.arch-max-w-\[25\%\][data-v-1132af89]{max-width:25%}.arch-max-w-\[26\%\][data-v-1132af89]{max-width:26%}.arch-max-w-\[27\%\][data-v-1132af89]{max-width:27%}.arch-max-w-\[28\%\][data-v-1132af89]{max-width:28%}.arch-max-w-\[29\%\][data-v-1132af89]{max-width:29%}.arch-max-w-\[3\%\][data-v-1132af89]{max-width:3%}.arch-max-w-\[30\%\][data-v-1132af89]{max-width:30%}.arch-max-w-\[31\%\][data-v-1132af89]{max-width:31%}.arch-max-w-\[32\%\][data-v-1132af89]{max-width:32%}.arch-max-w-\[33\%\][data-v-1132af89]{max-width:33%}.arch-max-w-\[34\%\][data-v-1132af89]{max-width:34%}.arch-max-w-\[35\%\][data-v-1132af89]{max-width:35%}.arch-max-w-\[36\%\][data-v-1132af89]{max-width:36%}.arch-max-w-\[37\%\][data-v-1132af89]{max-width:37%}.arch-max-w-\[38\%\][data-v-1132af89]{max-width:38%}.arch-max-w-\[39\%\][data-v-1132af89]{max-width:39%}.arch-max-w-\[4\%\][data-v-1132af89]{max-width:4%}.arch-max-w-\[40\%\][data-v-1132af89]{max-width:40%}.arch-max-w-\[41\%\][data-v-1132af89]{max-width:41%}.arch-max-w-\[42\%\][data-v-1132af89]{max-width:42%}.arch-max-w-\[43\%\][data-v-1132af89]{max-width:43%}.arch-max-w-\[44\%\][data-v-1132af89]{max-width:44%}.arch-max-w-\[45\%\][data-v-1132af89]{max-width:45%}.arch-max-w-\[46\%\][data-v-1132af89]{max-width:46%}.arch-max-w-\[47\%\][data-v-1132af89]{max-width:47%}.arch-max-w-\[48\%\][data-v-1132af89]{max-width:48%}.arch-max-w-\[49\%\][data-v-1132af89]{max-width:49%}.arch-max-w-\[5\%\][data-v-1132af89]{max-width:5%}.arch-max-w-\[50\%\][data-v-1132af89]{max-width:50%}.arch-max-w-\[51\%\][data-v-1132af89]{max-width:51%}.arch-max-w-\[52\%\][data-v-1132af89]{max-width:52%}.arch-max-w-\[53\%\][data-v-1132af89]{max-width:53%}.arch-max-w-\[54\%\][data-v-1132af89]{max-width:54%}.arch-max-w-\[55\%\][data-v-1132af89]{max-width:55%}.arch-max-w-\[56\%\][data-v-1132af89]{max-width:56%}.arch-max-w-\[57\%\][data-v-1132af89]{max-width:57%}.arch-max-w-\[58\%\][data-v-1132af89]{max-width:58%}.arch-max-w-\[59\%\][data-v-1132af89]{max-width:59%}.arch-max-w-\[6\%\][data-v-1132af89]{max-width:6%}.arch-max-w-\[60\%\][data-v-1132af89]{max-width:60%}.arch-max-w-\[61\%\][data-v-1132af89]{max-width:61%}.arch-max-w-\[62\%\][data-v-1132af89]{max-width:62%}.arch-max-w-\[63\%\][data-v-1132af89]{max-width:63%}.arch-max-w-\[64\%\][data-v-1132af89]{max-width:64%}.arch-max-w-\[65\%\][data-v-1132af89]{max-width:65%}.arch-max-w-\[66\%\][data-v-1132af89]{max-width:66%}.arch-max-w-\[67\%\][data-v-1132af89]{max-width:67%}.arch-max-w-\[68\%\][data-v-1132af89]{max-width:68%}.arch-max-w-\[69\%\][data-v-1132af89]{max-width:69%}.arch-max-w-\[7\%\][data-v-1132af89]{max-width:7%}.arch-max-w-\[70\%\][data-v-1132af89]{max-width:70%}.arch-max-w-\[71\%\][data-v-1132af89]{max-width:71%}.arch-max-w-\[72\%\][data-v-1132af89]{max-width:72%}.arch-max-w-\[73\%\][data-v-1132af89]{max-width:73%}.arch-max-w-\[74\%\][data-v-1132af89]{max-width:74%}.arch-max-w-\[75\%\][data-v-1132af89]{max-width:75%}.arch-max-w-\[76\%\][data-v-1132af89]{max-width:76%}.arch-max-w-\[77\%\][data-v-1132af89]{max-width:77%}.arch-max-w-\[78\%\][data-v-1132af89]{max-width:78%}.arch-max-w-\[79\%\][data-v-1132af89]{max-width:79%}.arch-max-w-\[8\%\][data-v-1132af89]{max-width:8%}.arch-max-w-\[80\%\][data-v-1132af89]{max-width:80%}.arch-max-w-\[81\%\][data-v-1132af89]{max-width:81%}.arch-max-w-\[82\%\][data-v-1132af89]{max-width:82%}.arch-max-w-\[83\%\][data-v-1132af89]{max-width:83%}.arch-max-w-\[84\%\][data-v-1132af89]{max-width:84%}.arch-max-w-\[85\%\][data-v-1132af89]{max-width:85%}.arch-max-w-\[86\%\][data-v-1132af89]{max-width:86%}.arch-max-w-\[87\%\][data-v-1132af89]{max-width:87%}.arch-max-w-\[88\%\][data-v-1132af89]{max-width:88%}.arch-max-w-\[89\%\][data-v-1132af89]{max-width:89%}.arch-max-w-\[9\%\][data-v-1132af89]{max-width:9%}.arch-max-w-\[90\%\][data-v-1132af89]{max-width:90%}.arch-max-w-\[91\%\][data-v-1132af89]{max-width:91%}.arch-max-w-\[92\%\][data-v-1132af89]{max-width:92%}.arch-max-w-\[93\%\][data-v-1132af89]{max-width:93%}.arch-max-w-\[94\%\][data-v-1132af89]{max-width:94%}.arch-max-w-\[95\%\][data-v-1132af89]{max-width:95%}.arch-max-w-\[96\%\][data-v-1132af89]{max-width:96%}.arch-max-w-\[97\%\][data-v-1132af89]{max-width:97%}.arch-max-w-\[98\%\][data-v-1132af89]{max-width:98%}.arch-max-w-\[99\%\][data-v-1132af89]{max-width:99%}.arch-items-center[data-v-1132af89]{align-items:center}.arch-justify-end[data-v-1132af89]{justify-content:flex-end}.arch-justify-between[data-v-1132af89]{justify-content:space-between}.arch-gap-1[data-v-1132af89]{gap:.25rem}.arch-gap-2[data-v-1132af89]{gap:.5rem}.arch-rounded-lg[data-v-1132af89]{border-radius:.5rem}.arch-border-t[data-v-1132af89]{border-top-width:1px}.arch-border-gray-200[data-v-1132af89]{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.arch-px-4[data-v-1132af89]{padding-left:1rem;padding-right:1rem}.arch-py-2[data-v-1132af89]{padding-top:.5rem;padding-bottom:.5rem}.arch-pt-4[data-v-1132af89]{padding-top:1rem}.arch-text-sm[data-v-1132af89]{font-size:.875rem;line-height:1.25rem}.arch-text-xs[data-v-1132af89]{font-size:.75rem;line-height:1rem}.arch-font-medium[data-v-1132af89]{font-weight:500}.arch-font-semibold[data-v-1132af89]{font-weight:600}.arch-text-gray-500[data-v-1132af89]{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.arch-text-gray-700[data-v-1132af89]{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.arch-text-gray-900[data-v-1132af89]{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.arch-text-white[data-v-1132af89]{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.arch-transition-colors[data-v-1132af89]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.25s}[data-v-1132af89]:root{--rangepicker-font-family: inherit;--color-primary: 22 163 74;--color-secondary: 100 116 139;--font-family: inherit}.rangepicker-overlay[data-v-1132af89]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999999}.rangepicker-backdrop[data-v-1132af89]{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#0003}.rangepicker-container[data-v-1132af89]{position:fixed;z-index:105;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@media not all and (min-width: 1024px){.rangepicker-container[data-v-1132af89]{left:0;right:0;margin-left:auto;margin-right:auto;width:90%}}.rangepicker-container[data-v-1132af89]{font-family:var(--rangepicker-font-family, inherit);border-radius:.75rem}.rangepicker-header[data-v-1132af89]{border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding:1rem}.rangepicker-body[data-v-1132af89]{padding:1rem}.rangepicker-month-grid[data-v-1132af89]{display:grid;gap:1.5rem}@media (min-width: 1024px){.rangepicker-month-grid[data-v-1132af89]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media not all and (min-width: 1024px){.rangepicker-month[data-v-1132af89]{width:100%;min-width:74vw}}@media (min-width: 1024px){.rangepicker-month[data-v-1132af89]{min-width:280px}}.rangepicker-month-header[data-v-1132af89]{margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between}.rangepicker-month-title[data-v-1132af89]{font-size:1.125rem;line-height:1.75rem;font-weight:600;--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.rangepicker-nav-button[data-v-1132af89]{display:flex;height:2rem;width:2rem;align-items:center;justify-content:center;border-radius:.5rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.25s}.rangepicker-nav-button[data-v-1132af89]:disabled{cursor:not-allowed;opacity:.3}.rangepicker-nav-button[data-v-1132af89]:hover:not(:disabled){background-color:rgb(var(--color-primary)/.2)}.rangepicker-weekdays[data-v-1132af89]{margin-bottom:.5rem;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem}.rangepicker-weekday[data-v-1132af89]{text-align:center;font-size:.75rem;line-height:1rem;font-weight:500;text-transform:uppercase;--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.rangepicker-grid[data-v-1132af89]{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem}.rangepicker-day[data-v-1132af89]{display:flex;aspect-ratio:1 / 1;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;justify-content:center;border-radius:9999px;font-size:.875rem;line-height:1.25rem;font-weight:500}.rangepicker-day[data-v-1132af89]:not(.rangepicker-day-disabled):hover{background-color:rgb(var(--color-secondary)/.2)}.rangepicker-day-selected[data-v-1132af89]{background-color:rgb(var(--color-primary));color:#fff}.rangepicker-day-selected[data-v-1132af89]:hover{background-color:rgb(var(--color-secondary))}.rangepicker-day-selected-single[data-v-1132af89]{background-color:rgb(var(--color-primary));color:#fff}.rangepicker-day-selected-single[data-v-1132af89]:hover{background-color:rgb(var(--color-secondary))}.rangepicker-day-selected-start[data-v-1132af89]{background-color:rgb(var(--color-primary))!important;color:#fff!important;position:relative;border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:9999px!important;border-bottom-left-radius:9999px!important}.rangepicker-day-selected-start[data-v-1132af89]:hover{background-color:rgb(var(--color-secondary))}.rangepicker-day-selected-end[data-v-1132af89]{background-color:rgb(var(--color-primary));color:#fff;position:relative;border-radius:0 9999px 9999px 0/0px 9999px 9999px 0px}.rangepicker-day-selected-end[data-v-1132af89]:hover{background-color:rgb(var(--color-secondary))}.rangepicker-day-in-range[data-v-1132af89]{background:rgb(var(--color-primary)/.8);color:#fff;position:relative;border-radius:0}.rangepicker-day-in-range[data-v-1132af89]:hover{background:linear-gradient(to right,rgb(var(--color-primary)/.5),rgb(var(--color-primary)/.6))}.rangepicker-day-hover-range[data-v-1132af89]{--tw-bg-opacity: 1;background-color:rgb(229 229 229 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.rangepicker-day-hover-start[data-v-1132af89]{border-radius:9999px 0 0 9999px/9999px 0px 0px 9999px}.rangepicker-day-hover-middle[data-v-1132af89]{border-radius:0}.rangepicker-day-hover-end[data-v-1132af89]{background-color:rgb(var(--color-primary))!important;color:#fff;border-radius:0 9999px 9999px 0/0px 9999px 9999px 0px}.rangepicker-day-disabled[data-v-1132af89]{cursor:not-allowed;--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.rangepicker-day-disabled[data-v-1132af89]:hover{background-color:transparent}.rangepicker-day-today[data-v-1132af89]{border:2px solid rgb(var(--color-secondary));border-radius:var(--border-radius-day, 9999px)}.rangepicker-day-weekout[data-v-1132af89]{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.rangepicker-day-other-month[data-v-1132af89]{background-color:transparent!important;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.rangepicker-day-holiday[data-v-1132af89]{position:relative}.rangepicker-day-holiday[data-v-1132af89]:after{position:absolute;top:.25rem;right:.25rem;height:.375rem;width:.375rem;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1));content:""}.rangepicker-tooltip[data-v-1132af89]{position:fixed;z-index:20;border-radius:.5rem;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:rgb(var(--color-secondary));pointer-events:none}.rangepicker-tooltip[data-v-1132af89]:after{position:absolute;top:100%;left:50%;--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));content:""}.rangepicker-mobile[data-v-1132af89]{position:fixed;left:0;right:0;bottom:0;top:auto;max-width:100%;border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.rangepicker-mobile .rangepicker-body[data-v-1132af89]{max-height:70vh;overflow-y:auto}.rangepicker-mobile .rangepicker-month-grid[data-v-1132af89]{grid-template-columns:repeat(1,minmax(0,1fr))}.rangepicker-mobile .rangepicker-month[data-v-1132af89]{width:100%;min-width:100%}.slide-up-enter-active[data-v-1132af89],.slide-up-leave-active[data-v-1132af89]{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.slide-up-enter-from[data-v-1132af89],.slide-up-leave-to[data-v-1132af89]{--tw-translate-y: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.fade-enter-active[data-v-1132af89],.fade-leave-active[data-v-1132af89]{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.fade-enter-from[data-v-1132af89],.fade-leave-to[data-v-1132af89]{opacity:0}.rangepicker-input-wrapper[data-v-1132af89]{position:relative;display:flex;align-items:center;width:100%;font-family:var(--rangepicker-font-family, inherit)}.rangepicker-input-container[data-v-1132af89]{position:relative;display:flex;align-items:center}.rangepicker-input[data-v-1132af89]{cursor:pointer;font-family:inherit;flex:1;padding-right:2.5rem}.rangepicker-clear-button[data-v-1132af89]{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;padding:.25rem;background:transparent;border:none;border-radius:.375rem;color:#6b7280;cursor:pointer;transition:all .2s;z-index:1}.rangepicker-clear-button[data-v-1132af89]:hover{color:#374151;background:#f3f4f6}.rangepicker-clear-button[data-v-1132af89]:active{transform:translateY(-50%) scale(.95)}.rangepicker-clear-button[data-v-1132af89]:focus{outline:none;box-shadow:0 0 0 2px #3b82f680}.hover\:arch-bg-gray-100[data-v-1132af89]:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.disabled\:arch-cursor-not-allowed[data-v-1132af89]:disabled{cursor:not-allowed}.disabled\:arch-opacity-50[data-v-1132af89]:disabled{opacity:.5}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@archpublicwebsite/rangepicker",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.15",
|
|
4
4
|
"description": "Custom date range picker component for PBA Hotel Apps",
|
|
5
5
|
"author": "Archipelago International",
|
|
6
6
|
"license": "MIT",
|
|
@@ -45,7 +45,8 @@
|
|
|
45
45
|
"prepublishOnly": "npm run build",
|
|
46
46
|
"version:patch": "node ../../scripts/bump-version.mjs patch",
|
|
47
47
|
"version:minor": "node ../../scripts/bump-version.mjs minor",
|
|
48
|
-
"version:major": "node ../../scripts/bump-version.mjs major"
|
|
48
|
+
"version:major": "node ../../scripts/bump-version.mjs major",
|
|
49
|
+
"postversion": "git push && git push --tags"
|
|
49
50
|
},
|
|
50
51
|
"dependencies": {
|
|
51
52
|
"@vueuse/core": "^11.0.0",
|