bootstrap-vue-next
Version:
Seamless integration of Vue 3, Bootstrap 5, and TypeScript for modern, type-safe UI development
5,210 lines • 157 kB
JavaScript
import { S as useVModel, f as useEventListener } from "./dist-9-XTMhb-.js";
import { t as useDefaults } from "./useDefaults-BzP4qZBu.js";
import { t as useId$1 } from "./useId-Fh-Arhb7.js";
import { A as toDate, B as $ad063034c8620db8$export$a5a3b454ada2268e, C as getNextLastDayOfWeek, E as isBefore, F as $ad063034c8620db8$export$5a8da0c44a3afdf2, I as $ad063034c8620db8$export$629b0a497aa65267, L as $ad063034c8620db8$export$91b62ebf2ba703ee, M as $2aaf608024c21ca1$export$99faa760c7908e4f, O as isBetween, P as $ad063034c8620db8$export$2061056d06d7cdf7, R as $ad063034c8620db8$export$a18c89cbd24170ff, S as getLastFirstDayOfWeek, T as isAfter, U as $ad063034c8620db8$export$ea39ec197993aef0, V as $ad063034c8620db8$export$aa8b41735afcabd2, b as getDefaultDate, d as useDateFormatter, f as chunk, k as isBetweenInclusive, m as handleCalendarInitialFocus, u as useLocale, v as areAllDaysBetweenValid, y as getDaysInMonth, z as $ad063034c8620db8$export$a2258d9c4118825c } from "./useDateField-CQZb799C.js";
import { a as useDirection, l as createContext, n as usePrimitiveElement, r as Primitive } from "./VisuallyHidden-BYzyjJiY.js";
import { a as FocusScope_default, c as useId$2, d as useForwardProps, f as useFocusGuards, i as Teleport_default, l as useHideOthers, n as PopperAnchor_default, o as DismissableLayer_default, p as useBodyScrollLock, r as PopperRoot_default, s as Presence_default, t as PopperContent_default, u as useForwardPropsEmits } from "./PopperContent-C9eeL6LH.js";
import { t as useKbd } from "./useKbd-DRsaFU_f.js";
import { i as reactiveOmit } from "./dist-B-regXAP.js";
import { t as useForwardExpose } from "./useForwardExpose-DDvk7mir.js";
import { i as DateFieldRoot_default, n as DateRangeFieldRoot_default, r as DateFieldInput_default, t as DateRangeFieldInput_default } from "./DateRangeFieldInput-Cbzjg8iF.js";
import { Fragment, computed, createBlock, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, guardReactiveProps, isRef, mergeModels, mergeProps, nextTick, normalizeClass, normalizeProps, onMounted, openBlock, ref, renderList, renderSlot, resolveDynamicComponent, toDisplayString, toRefs, unref, useModel, watch, withCtx, withKeys, withModifiers } from "vue";
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/date/calendar.js
/**
* Retrieves an array of date values representing the days between
* the provided start and end dates.
*/
function getDaysBetween(start, end) {
const days = [];
let dCurrent = start.add({ days: 1 });
const dEnd = end;
while (dCurrent.compare(dEnd) < 0) {
days.push(dCurrent);
dCurrent = dCurrent.add({ days: 1 });
}
return days;
}
function createMonth(props) {
const { dateObj, weekStartsOn, fixedWeeks, locale } = props;
const daysInMonth = getDaysInMonth(dateObj);
const datesArray = Array.from({ length: daysInMonth }, (_, i) => dateObj.set({ day: i + 1 }));
const firstDayOfMonth = $ad063034c8620db8$export$a5a3b454ada2268e(dateObj);
const lastDayOfMonth = $ad063034c8620db8$export$a2258d9c4118825c(dateObj);
const lastSunday = getLastFirstDayOfWeek(firstDayOfMonth, weekStartsOn, locale);
const nextSaturday = getNextLastDayOfWeek(lastDayOfMonth, weekStartsOn, locale);
const lastMonthDays = getDaysBetween(lastSunday.subtract({ days: 1 }), firstDayOfMonth);
const nextMonthDays = getDaysBetween(lastDayOfMonth, nextSaturday.add({ days: 1 }));
const totalDays = lastMonthDays.length + datesArray.length + nextMonthDays.length;
if (fixedWeeks && totalDays < 42) {
const extraDays = 42 - totalDays;
let startFrom = nextMonthDays.at(-1);
if (!startFrom) startFrom = $ad063034c8620db8$export$a2258d9c4118825c(dateObj);
const extraDaysArray = Array.from({ length: extraDays }, (_, i) => {
const incr = i + 1;
return startFrom.add({ days: incr });
});
nextMonthDays.push(...extraDaysArray);
}
const allDays = lastMonthDays.concat(datesArray, nextMonthDays);
return {
value: dateObj,
cells: allDays,
rows: chunk(allDays, 7)
};
}
function createMonths(props) {
const { numberOfMonths, dateObj, ...monthProps } = props;
const months = [];
if (!numberOfMonths || numberOfMonths === 1) {
months.push(createMonth({
...monthProps,
dateObj
}));
return months;
}
months.push(createMonth({
...monthProps,
dateObj
}));
for (let i = 1; i < numberOfMonths; i++) {
const nextMonth = dateObj.add({ months: i });
months.push(createMonth({
...monthProps,
dateObj: nextMonth
}));
}
return months;
}
/**
* It's better to use `getWeekStart` from `@internationalized/date`,
* but sadly it is not yet exported from the package.
* And the `Intl.Locale` API is not supported well enough yet.
*/
function getWeekStartsOn(locale) {
const monday = new $2aaf608024c21ca1$export$99faa760c7908e4f(2025, 1, 6);
return (1 - $ad063034c8620db8$export$2061056d06d7cdf7(monday, locale) + 7) % 7;
}
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/Calendar/useCalendar.js
function useCalendarState(props) {
function isDateSelected(dateObj) {
if (Array.isArray(props.date.value)) return props.date.value.some((d) => $ad063034c8620db8$export$ea39ec197993aef0(d, dateObj));
else if (!props.date.value) return false;
else return $ad063034c8620db8$export$ea39ec197993aef0(props.date.value, dateObj);
}
return {
isDateSelected,
isInvalid: computed(() => {
if (Array.isArray(props.date.value)) {
if (!props.date.value.length) return false;
for (const dateObj of props.date.value) {
if (props.isDateDisabled?.(dateObj)) return true;
if (props.isDateUnavailable?.(dateObj)) return true;
}
} else {
if (!props.date.value) return false;
if (props.isDateDisabled?.(props.date.value)) return true;
if (props.isDateUnavailable?.(props.date.value)) return true;
}
return false;
}),
hasSelectedDate: computed(() => {
return Array.isArray(props.date.value) ? props.date.value.length > 0 : !!props.date.value;
}),
isSelectedDateDisabled: computed(() => {
if (Array.isArray(props.date.value)) {
if (!props.date.value.length) return false;
return props.date.value.some((dateObj) => props.isDateDisabled?.(dateObj));
}
if (!props.date.value) return false;
return !!props.isDateDisabled?.(props.date.value);
})
};
}
function handleNextDisabled(lastPeriodInView, nextPageFunc) {
const firstPeriodOfNextPage = nextPageFunc(lastPeriodInView);
const diff = firstPeriodOfNextPage.compare(lastPeriodInView);
const duration = {};
if (diff >= 7) duration.day = 1;
if (diff >= getDaysInMonth(lastPeriodInView)) duration.month = 1;
return firstPeriodOfNextPage.set({ ...duration });
}
function handlePrevDisabled(firstPeriodInView, prevPageFunc) {
const lastPeriodOfPrevPage = prevPageFunc(firstPeriodInView);
const diff = firstPeriodInView.compare(lastPeriodOfPrevPage);
const duration = {};
if (diff >= 7) duration.day = 35;
if (diff >= getDaysInMonth(firstPeriodInView)) duration.month = 13;
return lastPeriodOfPrevPage.set({ ...duration });
}
function handleNextPage(date, nextPageFunc) {
return nextPageFunc(date);
}
function handlePrevPage(date, prevPageFunc) {
return prevPageFunc(date);
}
function useCalendar(props) {
const formatter = useDateFormatter(props.locale.value);
const headingFormatOptions = computed(() => {
const options = { calendar: props.placeholder.value.calendar.identifier };
if (props.placeholder.value.calendar.identifier === "gregory" && props.placeholder.value.era === "BC") options.era = "short";
return options;
});
const grid = ref(createMonths({
dateObj: props.placeholder.value,
weekStartsOn: props.weekStartsOn.value,
locale: props.locale.value,
fixedWeeks: props.fixedWeeks.value,
numberOfMonths: props.numberOfMonths.value
}));
const visibleView = computed(() => {
return grid.value.map((month) => month.value);
});
function isOutsideVisibleView(date) {
return !visibleView.value.some((month) => $ad063034c8620db8$export$5a8da0c44a3afdf2(date, month));
}
const isNextButtonDisabled = (nextPageFunc) => {
if (!props.maxValue.value || !grid.value.length) return false;
if (props.disabled.value) return true;
const lastPeriodInView = grid.value.at(-1).value;
if (!nextPageFunc && !props.nextPage.value) {
const firstPeriodOfNextPage$1 = lastPeriodInView.add({ months: 1 }).set({ day: 1 });
return isAfter(firstPeriodOfNextPage$1, props.maxValue.value);
}
const firstPeriodOfNextPage = handleNextDisabled(lastPeriodInView, nextPageFunc || props.nextPage.value);
return isAfter(firstPeriodOfNextPage, props.maxValue.value);
};
const isPrevButtonDisabled = (prevPageFunc) => {
if (!props.minValue.value || !grid.value.length) return false;
if (props.disabled.value) return true;
const firstPeriodInView = grid.value[0].value;
if (!prevPageFunc && !props.prevPage.value) {
const lastPeriodOfPrevPage$1 = firstPeriodInView.subtract({ months: 1 }).set({ day: 35 });
return isBefore(lastPeriodOfPrevPage$1, props.minValue.value);
}
const lastPeriodOfPrevPage = handlePrevDisabled(firstPeriodInView, prevPageFunc || props.prevPage.value);
return isBefore(lastPeriodOfPrevPage, props.minValue.value);
};
function isDateDisabled(dateObj) {
if (props.isDateDisabled?.(dateObj) || props.disabled.value) return true;
if (props.maxValue.value && isAfter(dateObj, props.maxValue.value)) return true;
if (props.minValue.value && isBefore(dateObj, props.minValue.value)) return true;
return false;
}
const isDateUnavailable = (date) => {
if (props.isDateUnavailable?.(date)) return true;
return false;
};
const weekdays = computed(() => {
if (!grid.value.length) return [];
return grid.value[0].rows[0].map((date) => {
return formatter.dayOfWeek(toDate(date), props.weekdayFormat.value);
});
});
const nextPage = (nextPageFunc) => {
const firstDate = grid.value[0].value;
if (!nextPageFunc && !props.nextPage.value) {
const newGrid$1 = createMonths({
dateObj: firstDate.add({ months: props.pagedNavigation.value ? props.numberOfMonths.value : 1 }),
weekStartsOn: props.weekStartsOn.value,
locale: props.locale.value,
fixedWeeks: props.fixedWeeks.value,
numberOfMonths: props.numberOfMonths.value
});
grid.value = newGrid$1;
props.placeholder.value = newGrid$1[0].value.set({ day: 1 });
return;
}
const newGrid = createMonths({
dateObj: handleNextPage(firstDate, nextPageFunc || props.nextPage.value),
weekStartsOn: props.weekStartsOn.value,
locale: props.locale.value,
fixedWeeks: props.fixedWeeks.value,
numberOfMonths: props.numberOfMonths.value
});
grid.value = newGrid;
const duration = {};
if (!nextPageFunc) {
const diff = newGrid[0].value.compare(firstDate);
if (diff >= getDaysInMonth(firstDate)) duration.day = 1;
if (diff >= 365) duration.month = 1;
}
props.placeholder.value = newGrid[0].value.set({ ...duration });
};
const prevPage = (prevPageFunc) => {
const firstDate = grid.value[0].value;
if (!prevPageFunc && !props.prevPage.value) {
const newGrid$1 = createMonths({
dateObj: firstDate.subtract({ months: props.pagedNavigation.value ? props.numberOfMonths.value : 1 }),
weekStartsOn: props.weekStartsOn.value,
locale: props.locale.value,
fixedWeeks: props.fixedWeeks.value,
numberOfMonths: props.numberOfMonths.value
});
grid.value = newGrid$1;
props.placeholder.value = newGrid$1[0].value.set({ day: 1 });
return;
}
const newGrid = createMonths({
dateObj: handlePrevPage(firstDate, prevPageFunc || props.prevPage.value),
weekStartsOn: props.weekStartsOn.value,
locale: props.locale.value,
fixedWeeks: props.fixedWeeks.value,
numberOfMonths: props.numberOfMonths.value
});
grid.value = newGrid;
const duration = {};
if (!prevPageFunc) {
const diff = firstDate.compare(newGrid[0].value);
if (diff >= getDaysInMonth(firstDate)) duration.day = 1;
if (diff >= 365) duration.month = 1;
}
props.placeholder.value = newGrid[0].value.set({ ...duration });
};
watch(props.placeholder, (value) => {
if (visibleView.value.some((month) => $ad063034c8620db8$export$5a8da0c44a3afdf2(month, value))) return;
grid.value = createMonths({
dateObj: value,
weekStartsOn: props.weekStartsOn.value,
locale: props.locale.value,
fixedWeeks: props.fixedWeeks.value,
numberOfMonths: props.numberOfMonths.value
});
});
watch([
props.locale,
props.weekStartsOn,
props.fixedWeeks,
props.numberOfMonths
], () => {
grid.value = createMonths({
dateObj: props.placeholder.value,
weekStartsOn: props.weekStartsOn.value,
locale: props.locale.value,
fixedWeeks: props.fixedWeeks.value,
numberOfMonths: props.numberOfMonths.value
});
});
const headingValue = computed(() => {
if (!grid.value.length) return "";
if (props.locale.value !== formatter.getLocale()) formatter.setLocale(props.locale.value);
if (grid.value.length === 1) {
const month = grid.value[0].value;
return `${formatter.fullMonthAndYear(toDate(month), headingFormatOptions.value)}`;
}
const startMonth = toDate(grid.value[0].value);
const endMonth = toDate(grid.value.at(-1).value);
const startMonthName = formatter.fullMonth(startMonth, headingFormatOptions.value);
const endMonthName = formatter.fullMonth(endMonth, headingFormatOptions.value);
const startMonthYear = formatter.fullYear(startMonth, headingFormatOptions.value);
const endMonthYear = formatter.fullYear(endMonth, headingFormatOptions.value);
return startMonthYear === endMonthYear ? `${startMonthName} - ${endMonthName} ${endMonthYear}` : `${startMonthName} ${startMonthYear} - ${endMonthName} ${endMonthYear}`;
});
return {
isDateDisabled,
isDateUnavailable,
isNextButtonDisabled,
isPrevButtonDisabled,
grid,
weekdays,
visibleView,
isOutsideVisibleView,
formatter,
nextPage,
prevPage,
headingValue,
fullCalendarLabel: computed(() => `${props.calendarLabel.value ?? "Event Date"}, ${headingValue.value}`),
isPlaceholderFocusable: computed(() => {
return !(isDateDisabled(props.placeholder.value) || isDateUnavailable(props.placeholder.value) || isOutsideVisibleView(props.placeholder.value));
}),
firstFocusableDate: computed(() => {
for (const month of grid.value) {
if (props.minValue.value && isBefore(month.value, props.minValue.value)) continue;
const daysInMonth = getDaysInMonth(month.value);
const startDay = props.minValue.value && $ad063034c8620db8$export$a18c89cbd24170ff(props.minValue.value, month.value) ? props.minValue.value.day : 1;
for (let day = startDay; day <= daysInMonth; day++) {
const date = month.value.set({ day });
if (isDateDisabled(date) || isDateUnavailable(date)) continue;
return date;
}
}
})
};
}
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/Calendar/CalendarRoot.js
var _hoisted_1$3 = { style: {
"border": "0px",
"clip": "rect(0px, 0px, 0px, 0px)",
"clip-path": "inset(50%)",
"height": "1px",
"margin": "-1px",
"overflow": "hidden",
"padding": "0px",
"position": "absolute",
"white-space": "nowrap",
"width": "1px"
} };
var _hoisted_2$1 = {
role: "heading",
"aria-level": "2"
};
var [injectCalendarRootContext, provideCalendarRootContext] = /*#__PURE__*/ createContext("CalendarRoot");
var CalendarRoot_default = /* @__PURE__ */ defineComponent({
__name: "CalendarRoot",
props: {
defaultValue: {
type: null,
required: false,
default: void 0
},
defaultPlaceholder: {
type: null,
required: false
},
placeholder: {
type: null,
required: false,
default: void 0
},
pagedNavigation: {
type: Boolean,
required: false,
default: false
},
preventDeselect: {
type: Boolean,
required: false,
default: false
},
weekStartsOn: {
type: Number,
required: false
},
weekdayFormat: {
type: String,
required: false,
default: "narrow"
},
calendarLabel: {
type: String,
required: false
},
fixedWeeks: {
type: Boolean,
required: false,
default: false
},
maxValue: {
type: null,
required: false
},
minValue: {
type: null,
required: false
},
locale: {
type: String,
required: false
},
numberOfMonths: {
type: Number,
required: false,
default: 1
},
disabled: {
type: Boolean,
required: false,
default: false
},
readonly: {
type: Boolean,
required: false,
default: false
},
initialFocus: {
type: Boolean,
required: false,
default: false
},
isDateDisabled: {
type: Function,
required: false,
default: void 0
},
isDateUnavailable: {
type: Function,
required: false,
default: void 0
},
dir: {
type: String,
required: false
},
nextPage: {
type: Function,
required: false
},
prevPage: {
type: Function,
required: false
},
modelValue: {
type: null,
required: false
},
multiple: {
type: Boolean,
required: false,
default: false
},
disableDaysOutsideCurrentView: {
type: Boolean,
required: false,
default: false
},
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false,
default: "div"
}
},
emits: ["update:modelValue", "update:placeholder"],
setup(__props, { emit: __emit }) {
const props = __props;
const emits = __emit;
const { disabled, readonly, initialFocus, pagedNavigation, weekdayFormat, fixedWeeks, multiple, minValue, maxValue, numberOfMonths, preventDeselect, isDateDisabled: propsIsDateDisabled, isDateUnavailable: propsIsDateUnavailable, calendarLabel, defaultValue, nextPage: propsNextPage, prevPage: propsPrevPage, dir: propDir, locale: propLocale, disableDaysOutsideCurrentView } = toRefs(props);
const { primitiveElement, currentElement: parentElement } = usePrimitiveElement();
const locale = useLocale(propLocale);
const dir = useDirection(propDir);
const weekStartsOn = computed(() => props.weekStartsOn ?? getWeekStartsOn(locale.value));
const modelValue = useVModel(props, "modelValue", emits, {
defaultValue: defaultValue.value,
passive: props.modelValue === void 0
});
const defaultDate = getDefaultDate({
defaultPlaceholder: props.placeholder,
defaultValue: modelValue.value,
locale: props.locale
});
const placeholder = useVModel(props, "placeholder", emits, {
defaultValue: props.defaultPlaceholder ?? defaultDate.copy(),
passive: props.placeholder === void 0
});
function onPlaceholderChange(value) {
placeholder.value = value.copy();
}
const { fullCalendarLabel, headingValue, isDateDisabled, isDateUnavailable, isNextButtonDisabled, isPrevButtonDisabled, weekdays, isOutsideVisibleView, nextPage, prevPage, formatter, grid, isPlaceholderFocusable, firstFocusableDate } = useCalendar({
locale,
placeholder,
weekStartsOn,
fixedWeeks,
numberOfMonths,
minValue,
maxValue,
disabled,
weekdayFormat,
pagedNavigation,
isDateDisabled: propsIsDateDisabled.value,
isDateUnavailable: propsIsDateUnavailable.value,
calendarLabel,
nextPage: propsNextPage,
prevPage: propsPrevPage
});
const { isInvalid, isDateSelected, hasSelectedDate, isSelectedDateDisabled } = useCalendarState({
date: modelValue,
isDateDisabled,
isDateUnavailable
});
watch(modelValue, (_modelValue) => {
if (Array.isArray(_modelValue) && _modelValue.length) {
const lastValue = _modelValue.at(-1);
if (lastValue && !$ad063034c8620db8$export$91b62ebf2ba703ee(placeholder.value, lastValue)) onPlaceholderChange(lastValue);
} else if (!Array.isArray(_modelValue) && _modelValue && !$ad063034c8620db8$export$91b62ebf2ba703ee(placeholder.value, _modelValue)) onPlaceholderChange(_modelValue);
});
function onDateChange(value) {
if (!multiple.value) {
if (!modelValue.value) {
modelValue.value = value.copy();
return;
}
if (!preventDeselect.value && $ad063034c8620db8$export$91b62ebf2ba703ee(modelValue.value, value)) {
placeholder.value = value.copy();
modelValue.value = void 0;
} else modelValue.value = value.copy();
} else if (!modelValue.value) modelValue.value = [value.copy()];
else if (Array.isArray(modelValue.value)) {
if (modelValue.value.findIndex((date) => $ad063034c8620db8$export$ea39ec197993aef0(date, value)) === -1) modelValue.value = [...modelValue.value, value];
else if (!preventDeselect.value) {
const next = modelValue.value.filter((date) => !$ad063034c8620db8$export$ea39ec197993aef0(date, value));
if (!next.length) {
placeholder.value = value.copy();
modelValue.value = void 0;
return;
}
modelValue.value = next.map((date) => date.copy());
}
}
}
onMounted(() => {
if (initialFocus.value) handleCalendarInitialFocus(parentElement.value);
});
provideCalendarRootContext({
isDateUnavailable,
dir,
isDateDisabled,
locale,
formatter,
modelValue,
placeholder,
disabled,
initialFocus,
pagedNavigation,
grid,
weekDays: weekdays,
weekStartsOn,
weekdayFormat,
fixedWeeks,
multiple,
numberOfMonths,
readonly,
preventDeselect,
fullCalendarLabel,
headingValue,
isInvalid,
isDateSelected,
isNextButtonDisabled,
isPrevButtonDisabled,
isOutsideVisibleView,
nextPage,
prevPage,
parentElement,
onPlaceholderChange,
onDateChange,
disableDaysOutsideCurrentView,
minValue,
maxValue,
isPlaceholderFocusable,
firstFocusableDate,
hasSelectedDate,
isSelectedDateDisabled
});
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(Primitive), {
ref_key: "primitiveElement",
ref: primitiveElement,
as: _ctx.as,
"as-child": _ctx.asChild,
"aria-label": unref(fullCalendarLabel),
"data-readonly": unref(readonly) ? "" : void 0,
"data-disabled": unref(disabled) ? "" : void 0,
"data-invalid": unref(isInvalid) ? "" : void 0,
dir: unref(dir)
}, {
default: withCtx(() => [renderSlot(_ctx.$slots, "default", {
date: unref(placeholder),
grid: unref(grid),
weekDays: unref(weekdays),
weekStartsOn: weekStartsOn.value,
locale: unref(locale),
fixedWeeks: unref(fixedWeeks),
modelValue: unref(modelValue)
}), createElementVNode("div", _hoisted_1$3, [createElementVNode("div", _hoisted_2$1, toDisplayString(unref(fullCalendarLabel)), 1)])]),
_: 3
}, 8, [
"as",
"as-child",
"aria-label",
"data-readonly",
"data-disabled",
"data-invalid",
"dir"
]);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/Calendar/CalendarCell.js
var CalendarCell_default = /* @__PURE__ */ defineComponent({
__name: "CalendarCell",
props: {
date: {
type: null,
required: true
},
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false,
default: "td"
}
},
setup(__props) {
const rootContext = injectCalendarRootContext();
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(Primitive), {
as: _ctx.as,
"as-child": _ctx.asChild,
role: "gridcell",
"aria-selected": unref(rootContext).isDateSelected(_ctx.date) ? true : void 0,
"aria-disabled": unref(rootContext).isDateDisabled(_ctx.date) || unref(rootContext).isDateUnavailable?.(_ctx.date) || unref(rootContext).disableDaysOutsideCurrentView.value,
"data-disabled": unref(rootContext).isDateDisabled(_ctx.date) || unref(rootContext).disableDaysOutsideCurrentView.value ? "" : void 0
}, {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 8, [
"as",
"as-child",
"aria-selected",
"aria-disabled",
"data-disabled"
]);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/Calendar/CalendarCellTrigger.js
var CalendarCellTrigger_default = /* @__PURE__ */ defineComponent({
__name: "CalendarCellTrigger",
props: {
day: {
type: null,
required: true
},
month: {
type: null,
required: true
},
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false,
default: "div"
}
},
setup(__props) {
const props = __props;
const kbd = useKbd();
const rootContext = injectCalendarRootContext();
const { primitiveElement, currentElement } = usePrimitiveElement();
const dayValue = computed(() => props.day.day.toLocaleString(rootContext.locale.value));
const labelText = computed(() => {
return rootContext.formatter.custom(toDate(props.day), {
weekday: "long",
month: "long",
day: "numeric",
year: "numeric"
});
});
const isUnavailable = computed(() => rootContext.isDateUnavailable?.(props.day) ?? false);
const isDateToday = computed(() => {
return $ad063034c8620db8$export$629b0a497aa65267(props.day, $ad063034c8620db8$export$aa8b41735afcabd2());
});
const isOutsideView = computed(() => {
return !$ad063034c8620db8$export$a18c89cbd24170ff(props.day, props.month);
});
const isOutsideVisibleView = computed(() => rootContext.isOutsideVisibleView(props.day));
const isDisabled = computed(() => rootContext.isDateDisabled(props.day) || rootContext.disableDaysOutsideCurrentView.value && isOutsideView.value);
const isFocusedDate = computed(() => {
if (isOutsideView.value || isDisabled.value) return false;
if (!rootContext.disabled.value && rootContext.isPlaceholderFocusable.value && $ad063034c8620db8$export$ea39ec197993aef0(props.day, rootContext.placeholder.value)) return true;
if ((!rootContext.hasSelectedDate.value || rootContext.isSelectedDateDisabled.value) && !rootContext.isPlaceholderFocusable.value) return rootContext.firstFocusableDate.value && $ad063034c8620db8$export$ea39ec197993aef0(props.day, rootContext.firstFocusableDate.value);
return false;
});
const isSelectedDate = computed(() => rootContext.isDateSelected(props.day));
function changeDate(date) {
if (rootContext.readonly.value) return;
if (rootContext.isDateDisabled(date) || rootContext.isDateUnavailable?.(date)) return;
rootContext.onDateChange(date);
}
function handleClick() {
if (isDisabled.value) return;
changeDate(props.day);
}
function handleArrowKey(e) {
if (isDisabled.value) return;
if ((e.code === kbd.ENTER || e.code === kbd.SPACE_CODE) && (e.ctrlKey || e.metaKey || e.altKey)) return;
e.preventDefault();
e.stopPropagation();
const parentElement = rootContext.parentElement.value;
const indexIncrementation = 7;
const sign = rootContext.dir.value === "rtl" ? -1 : 1;
switch (e.code) {
case kbd.ARROW_RIGHT:
shiftFocus(props.day, sign);
break;
case kbd.ARROW_LEFT:
shiftFocus(props.day, -sign);
break;
case kbd.ARROW_UP:
shiftFocus(props.day, -7);
break;
case kbd.ARROW_DOWN:
shiftFocus(props.day, indexIncrementation);
break;
case kbd.ENTER:
case kbd.SPACE_CODE: changeDate(props.day);
}
function shiftFocus(day, add) {
const candidateDayValue = day.add({ days: add });
if (rootContext.minValue.value && candidateDayValue.compare(rootContext.minValue.value) < 0 || rootContext.maxValue.value && candidateDayValue.compare(rootContext.maxValue.value) > 0) return;
const candidateDay = parentElement.querySelector(`[data-value='${candidateDayValue.toString()}']:not([data-outside-view])`);
if (!candidateDay) {
if (add > 0) {
if (rootContext.isNextButtonDisabled()) return;
rootContext.nextPage();
} else {
if (rootContext.isPrevButtonDisabled()) return;
rootContext.prevPage();
}
nextTick(() => {
shiftFocus(day, add);
});
return;
}
if (candidateDay && candidateDay.hasAttribute("data-disabled")) return shiftFocus(candidateDayValue, add);
rootContext.onPlaceholderChange(candidateDayValue);
candidateDay?.focus();
}
}
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(Primitive), {
ref_key: "primitiveElement",
ref: primitiveElement,
as: props.as,
"as-child": props.asChild,
role: "button",
"aria-label": labelText.value,
"data-reka-calendar-cell-trigger": "",
"aria-disabled": isDisabled.value || isUnavailable.value ? true : void 0,
"data-selected": isSelectedDate.value ? true : void 0,
"data-value": _ctx.day.toString(),
"data-disabled": isDisabled.value ? "" : void 0,
"data-unavailable": isUnavailable.value ? "" : void 0,
"data-today": isDateToday.value ? "" : void 0,
"data-outside-view": isOutsideView.value ? "" : void 0,
"data-outside-visible-view": isOutsideVisibleView.value ? "" : void 0,
"data-focused": isFocusedDate.value ? "" : void 0,
tabindex: isFocusedDate.value ? 0 : isOutsideView.value || isDisabled.value ? void 0 : -1,
onClick: handleClick,
onKeydown: withKeys(handleArrowKey, [
"up",
"down",
"left",
"right",
"space",
"enter"
])
}, {
default: withCtx(() => [renderSlot(_ctx.$slots, "default", {
dayValue: dayValue.value,
disabled: isDisabled.value,
today: isDateToday.value,
selected: isSelectedDate.value,
outsideView: isOutsideView.value,
outsideVisibleView: isOutsideVisibleView.value,
unavailable: isUnavailable.value
}, () => [createTextVNode(toDisplayString(dayValue.value), 1)])]),
_: 3
}, 8, [
"as",
"as-child",
"aria-label",
"aria-disabled",
"data-selected",
"data-value",
"data-disabled",
"data-unavailable",
"data-today",
"data-outside-view",
"data-outside-visible-view",
"data-focused",
"tabindex"
]);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/Calendar/CalendarGrid.js
var CalendarGrid_default = /* @__PURE__ */ defineComponent({
__name: "CalendarGrid",
props: {
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false,
default: "table"
}
},
setup(__props) {
const props = __props;
const rootContext = injectCalendarRootContext();
const disabled = computed(() => rootContext.disabled.value ? true : void 0);
const readonly = computed(() => rootContext.readonly.value ? true : void 0);
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(Primitive), mergeProps(props, {
tabindex: "-1",
role: "application",
"aria-readonly": readonly.value,
"aria-disabled": disabled.value,
"data-readonly": readonly.value && "",
"data-disabled": disabled.value && ""
}), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16, [
"aria-readonly",
"aria-disabled",
"data-readonly",
"data-disabled"
]);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/Calendar/CalendarGridBody.js
var CalendarGridBody_default = /* @__PURE__ */ defineComponent({
__name: "CalendarGridBody",
props: {
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false,
default: "tbody"
}
},
setup(__props) {
const props = __props;
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(Primitive), normalizeProps(guardReactiveProps(props)), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/Calendar/CalendarGridHead.js
var CalendarGridHead_default = /* @__PURE__ */ defineComponent({
__name: "CalendarGridHead",
props: {
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false,
default: "thead"
}
},
setup(__props) {
const props = __props;
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(Primitive), mergeProps(props, { "aria-hidden": "true" }), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/Calendar/CalendarGridRow.js
var CalendarGridRow_default = /* @__PURE__ */ defineComponent({
__name: "CalendarGridRow",
props: {
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false,
default: "tr"
}
},
setup(__props) {
const props = __props;
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(Primitive), normalizeProps(guardReactiveProps(props)), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/Calendar/CalendarHeadCell.js
var CalendarHeadCell_default = /* @__PURE__ */ defineComponent({
__name: "CalendarHeadCell",
props: {
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false,
default: "th"
}
},
setup(__props) {
const props = __props;
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(Primitive), normalizeProps(guardReactiveProps(props)), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/Calendar/CalendarHeader.js
var CalendarHeader_default = /* @__PURE__ */ defineComponent({
__name: "CalendarHeader",
props: {
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false,
default: "div"
}
},
setup(__props) {
const props = __props;
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(Primitive), normalizeProps(guardReactiveProps(props)), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/Calendar/CalendarHeading.js
var CalendarHeading_default = /* @__PURE__ */ defineComponent({
__name: "CalendarHeading",
props: {
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false,
default: "div"
}
},
setup(__props) {
const props = __props;
const rootContext = injectCalendarRootContext();
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(Primitive), mergeProps(props, { "data-disabled": unref(rootContext).disabled.value ? "" : void 0 }), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default", { headingValue: unref(rootContext).headingValue.value }, () => [createTextVNode(toDisplayString(unref(rootContext).headingValue.value), 1)])]),
_: 3
}, 16, ["data-disabled"]);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/Calendar/CalendarNext.js
var CalendarNext_default = /* @__PURE__ */ defineComponent({
__name: "CalendarNext",
props: {
nextPage: {
type: Function,
required: false
},
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false,
default: "button"
}
},
setup(__props) {
const props = __props;
const disabled = computed(() => rootContext.disabled.value || rootContext.isNextButtonDisabled(props.nextPage));
const rootContext = injectCalendarRootContext();
function handleClick() {
if (disabled.value) return;
rootContext.nextPage(props.nextPage);
}
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(Primitive), {
as: props.as,
"as-child": props.asChild,
"aria-label": "Next page",
type: props.as === "button" ? "button" : void 0,
"aria-disabled": disabled.value || void 0,
"data-disabled": disabled.value || void 0,
disabled: disabled.value,
onClick: handleClick
}, {
default: withCtx(() => [renderSlot(_ctx.$slots, "default", { disabled: disabled.value }, () => [_cache[0] || (_cache[0] = createTextVNode(" Next page "))])]),
_: 3
}, 8, [
"as",
"as-child",
"type",
"aria-disabled",
"data-disabled",
"disabled"
]);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/Calendar/CalendarPrev.js
var CalendarPrev_default = /* @__PURE__ */ defineComponent({
__name: "CalendarPrev",
props: {
prevPage: {
type: Function,
required: false
},
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false,
default: "button"
}
},
setup(__props) {
const props = __props;
const disabled = computed(() => rootContext.disabled.value || rootContext.isPrevButtonDisabled(props.prevPage));
const rootContext = injectCalendarRootContext();
function handleClick() {
if (disabled.value) return;
rootContext.prevPage(props.prevPage);
}
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(Primitive), {
"aria-label": "Previous page",
as: props.as,
"as-child": props.asChild,
type: props.as === "button" ? "button" : void 0,
"aria-disabled": disabled.value || void 0,
"data-disabled": disabled.value || void 0,
disabled: disabled.value,
onClick: handleClick
}, {
default: withCtx(() => [renderSlot(_ctx.$slots, "default", { disabled: disabled.value }, () => [_cache[0] || (_cache[0] = createTextVNode(" Prev page "))])]),
_: 3
}, 8, [
"as",
"as-child",
"type",
"aria-disabled",
"data-disabled",
"disabled"
]);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/Popover/PopoverRoot.js
var [injectPopoverRootContext, providePopoverRootContext] = /*#__PURE__*/ createContext("PopoverRoot");
var PopoverRoot_default = /* @__PURE__ */ defineComponent({
__name: "PopoverRoot",
props: {
defaultOpen: {
type: Boolean,
required: false,
default: false
},
open: {
type: Boolean,
required: false,
default: void 0
},
modal: {
type: Boolean,
required: false,
default: false
}
},
emits: ["update:open"],
setup(__props, { emit: __emit }) {
const props = __props;
const emit = __emit;
const { modal } = toRefs(props);
const open = useVModel(props, "open", emit, {
defaultValue: props.defaultOpen,
passive: props.open === void 0
});
providePopoverRootContext({
contentId: "",
triggerId: "",
modal,
open,
onOpenChange: (value) => {
open.value = value;
},
onOpenToggle: () => {
open.value = !open.value;
},
triggerElement: ref(),
hasCustomAnchor: ref(false)
});
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(PopperRoot_default), null, {
default: withCtx(() => [renderSlot(_ctx.$slots, "default", {
open: unref(open),
close: () => open.value = false
})]),
_: 3
});
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/DatePicker/DatePickerRoot.js
var [injectDatePickerRootContext, provideDatePickerRootContext] = /*#__PURE__*/ createContext("DatePickerRoot");
var DatePickerRoot_default = /* @__PURE__ */ defineComponent({
inheritAttrs: false,
__name: "DatePickerRoot",
props: {
defaultValue: {
type: null,
required: false,
default: void 0
},
defaultPlaceholder: {
type: null,
required: false
},
placeholder: {
type: null,
required: false,
default: void 0
},
modelValue: {
type: null,
required: false
},
hourCycle: {
type: null,
required: false
},
step: {
type: Object,
required: false
},
stepSnapping: {
type: Boolean,
required: false
},
granularity: {
type: String,
required: false
},
hideTimeZone: {
type: Boolean,
required: false
},
maxValue: {
type: null,
required: false
},
minValue: {
type: null,
required: false
},
locale: {
type: String,
required: false
},
disabled: {
type: Boolean,
required: false,
default: false
},
readonly: {
type: Boolean,
required: false,
default: false
},
isDateUnavailable: {
type: Function,
required: false,
default: void 0
},
id: {
type: String,
required: false
},
dir: {
type: String,
required: false
},
name: {
type: String,
required: false
},
required: {
type: Boolean,
required: false
},
defaultOpen: {
type: Boolean,
required: false,
default: false
},
open: {
type: Boolean,
required: false,
default: void 0
},
modal: {
type: Boolean,
required: false,
default: false
},
isDateDisabled: {
type: Function,
required: false,
default: void 0
},
pagedNavigation: {
type: Boolean,
required: false,
default: false
},
weekStartsOn: {
type: Number,
required: false
},
weekdayFormat: {
type: String,
required: false,
default: "narrow"
},
fixedWeeks: {
type: Boolean,
required: false,
default: false
},
numberOfMonths: {
type: Number,
required: false,
default: 1
},
preventDeselect: {
type: Boolean,
required: false,
default: false
},
closeOnSelect: {
type: Boolean,
required: false,
default: false
}
},
emits: [
"update:open",
"update:modelValue",
"update:placeholder"
],
setup(__props, { emit: __emit }) {
const props = __props;
const emits = __emit;
const { locale: propLocale, disabled, readonly, pagedNavigation, weekdayFormat, fixedWeeks, numberOfMonths, preventDeselect, isDateDisabled: propsIsDateDisabled, isDateUnavailable: propsIsDateUnavailable, defaultOpen, modal, id, name, required, minValue, maxValue, granularity, hideTimeZone, hourCycle, defaultValue, dir: propDir, step, closeOnSelect } = toRefs(props);
const dir = useDirection(propDir);
const locale = useLocale(propLocale);
const weekStartsOn = computed(() => props.weekStartsOn ?? getWeekStartsOn(locale.value));
const modelValue = useVModel(props, "modelValue", emits, {
defaultValue: defaultValue.value,
passive: props.modelValue === void 0
});
const defaultDate = computed(() => getDefaultDate({
defaultPlaceholder: props.placeholder,
granularity: props.granularity,
defaultValue: modelValue.value,
locale: locale.value
}));
const placeholder = useVModel(props, "placeholder", emits, {
defaultValue: props.defaultPlaceholder ?? defaultDate.value.copy(),
passive: props.placeholder === void 0
});
const open = useVModel(props, "open", emits, {
defaultValue: defaultOpen.value,
passive: props.open === void 0
});
const dateFieldRef = ref();
/**
* Reset time fields on DateValue instances that support time granularity.
*/
function resetTime(date) {
if (!("hour" in date)) return date;
return date.set({
hour: 0,
minute: 0,
second: 0,
millisecond: 0
});
}
watch(modelValue, (value) => {
if (value && value.compare(placeholder.value) !== 0) placeholder.value = value.copy();
else if (!value && "hour" in placeholder.value) placeholder.value = resetTime(placeholder.value);
if (closeOnSelect.value) open.value = false;
});
provideDatePickerRootContext({
isDateUnavailable: propsIsDateUnavailable.value,
isDateDisabled: propsIsDateDisabled.value,
locale,
disabled,
pagedNavigation,
weekStartsOn,
weekdayFormat,
fixedWeeks,
numberOfMonths,
readonly,
preventDeselect,
modelValue,
placeholder,
defaultOpen,
modal,
open,
id,
name,
required,
minValue,
maxValue,
granularity,
hideTimeZone,
hourCycle,
dateFieldRef,
dir,
step,
onDateChange(date) {
if (!date) modelValue.value = void 0;
else if (!modelValue.value) modelValue.value = date.copy();
else if (!preventDeselect.value && date && modelValue.value.compare(date) === 0) modelValue.value = void 0;
else modelValue.value = date.copy();
},
onPlaceholderChange(date) {
placeholder.value = date.copy();
},
closeOnSelect
});
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(PopoverRoot_default), {
open: unref(open),
"onUpdate:open": _cache[0] || (_cache[0] = ($event) => isRef(open) ? open.value = $event : null),
"default-open": unref(defaultOpen),
modal: unref(modal)
}, {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 8, [
"open",
"default-open",
"modal"
]);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/DatePicker/DatePickerCalendar.js
var DatePickerCalendar_default = /* @__PURE__ */ defineComponent({
__name: "DatePickerCalendar",
setup(__props) {
const rootContext = injectDatePickerRootContext();
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(CalendarRoot_default), mergeProps({
isDateDisabled: unref(rootContext).isDateDisabled,
isDateUnavailable: unref(rootContext).isDateUnavailable,
minValue: unref(rootContext).minValue.value,
maxValue: unref(rootContext).maxValue.value,
locale: unref(rootContext).locale.value,
disabled: unref(rootContext).disabled.value,
pagedNavigation: unref(rootContext).pagedNavigation.value,
weekStartsOn: unref(rootContext).weekStartsOn.value,
weekdayFormat: unref(rootContext).weekdayFormat.value,
fixedWeeks: unref(rootContext).fixedWeeks.value,
numberOfMonths: unref(rootContext).numberOfMonths.value,
readonly: unref(rootContext).readonly.value,
preventDeselect: unref(rootContext).preventDeselect.value,
dir: unref(rootContext).dir.value
}, {
"model-value": unref(rootContext).modelValue.value,
placeholder: unref(rootContext).placeholder.value,
multiple: false,
"onUpdate:modelValue": _cache[0] || (_cache[0] = (date) => {
if (date && unref(rootContext).modelValue.value && unref($ad063034c8620db8$export$91b62ebf2ba703ee)(date, unref(rootContext).modelValue.value)) return;
unref(rootContext).onDateChange(date);
}),
"onUpdate:placeholder": _cache[1] || (_cache[1] = (date) => {
if (unref($ad063034c8620db8$export$91b62ebf2ba703ee)(date, unref(rootContext).placeholder.value)) return;
unref(rootContext).onPlaceholderChange(date);
})
}), {
default: withCtx(({ weekDays, grid, date, weekStartsOn, locale, fixedWeeks }) => [renderSlot(_ctx.$slots, "default", {
date,
grid,
weekDays,
weekStartsOn,
locale,
fixedWeeks
})]),
_: 3
}, 16, ["model-value", "placeholder"]);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/DatePicker/DatePickerCell.js
var DatePickerCell_default = /* @__PURE__ */ defineComponent({
__name: "DatePickerCell",
props: {
date: {
type: null,
required: true
},
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false
}
},
setup(__props) {
const props = __props;
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(CalendarCell_default), normalizeProps(guardReactiveProps(props)), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/DatePicker/DatePickerCellTrigger.js
var DatePickerCellTrigger_default = /* @__PURE__ */ defineComponent({
__name: "DatePickerCellTrigger",
props: {
day: {
type: null,
required: true
},
month: {
type: null,
required: true
},
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false
}
},
setup(__props) {
const props = __props;
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(CalendarCellTrigger_default), normalizeProps(guardReactiveProps(props)), {
default: withCtx((slotProps) => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps)))]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/Popover/PopoverContentImpl.js
var PopoverContentImpl_default = /* @__PURE__ */ defineComponent({
__name: "PopoverContentImpl",
props: {
trapFocus: {
type: Boolean,
required: false
},
memoDependencies: {
type: Array,
required: false
},
side: {
type: null,
required: false
},
sideOffset: {
type: Number,
required: false
},
sideFlip: {
type: Boolean,
required: false
},
align: {
type: null,
required: false
},
alignOffset: {
type: Number,
required: false
},
alignFlip: {
type: Boolean,
required: false
},
avoidCollisions: {
type: Boolean,
required: false
},
collisionBoundary: {
type: null,
required: false
},
collisionPadding: {
type: [Number, Object],
required: false
},
arrowPadding: {
type: Number,
required: false
},
hideShiftedArrow: {
type: Boolean,
required: false
},
sticky: {
type: String,
required: false
},
hideWhenDetached: {
type: Boolean,
required: false
},
positionStrategy: {
type: String,
required: false
},
updatePositionStrategy: {
type: String,
required: false
},
disableUpdateOnLayoutShift: {
type: Boolean,
required: false
},
prioritizePosition: {
type: Boolean,
required: false
},
reference: {
type: null,
required: false
},
dir: {
type: String,
required: false
},
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false
},
disableOutsidePointerEvents: {
type: Boolean,
required: false
}
},
emits: [
"escapeKeyDown",
"pointerDownOutside",
"focusOutside",
"interactOutside",
"openAutoFocus",
"closeAutoFocus"
],
setup(__props, { emit: __emit }) {
const props = __props;
const emits = __emit;
const forwarded = useForwardProps(reactiveOmit(props, "trapFocus", "disableOutsidePointerEvents"));
const { forwardRef } = useForwardExpose();
const rootContext = injectPopoverRootContext();
useFocusGuards();
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(FocusScope_default), {
"as-child": "",
loop: "",
trapped: _ctx.trapFocus,
onMountAutoFocus: _cache[5] || (_cache[5] = ($event) => emits("openAutoFocus", $event)),
onUnmountAutoFocus: _cache[6] || (_cache[6] = ($event) => emits("closeAutoFocus", $event))
}, {
default: withCtx(() => [createVNode(unref(DismissableLayer_default), {
"as-child": "",
"disable-outside-pointer-events": _ctx.disableOutsidePointerEvents,
onPointerDownOutside: _cache[0] || (_cache[0] = ($event) => emits("pointerDownOutside", $event)),
onInteractOutside: _cache[1] || (_cache[1] = ($event) => emits("interactOutside", $event)),
onEscapeKeyDown: _cache[2] || (_cache[2] = ($event) => emits("escapeKeyDown", $event)),
onFocusOutside: _cache[3] || (_cache[3] = ($event) => emits("focusOutside", $event)),
onDismiss: _cache[4] || (_cache[4] = ($event) => unref(rootContext).onOpenChange(false))
}, {
default: withCtx(() => [createVNode(unref(PopperContent_default), mergeProps(unref(forwarded), {
id: unref(rootContext).contentId,
ref: unref(forwardRef),
"data-state": unref(rootContext).open.value ? "open" : "closed",
"aria-labelledby": unref(rootContext).triggerId,
style: {
"--reka-popover-content-transform-origin": "var(--reka-popper-transform-origin)",
"--reka-popover-content-available-width": "var(--reka-popper-available-width)",
"--reka-popover-content-available-height": "var(--reka-popper-available-height)",
"--reka-popover-trigger-width": "var(--reka-popper-anchor-width)",
"--reka-popover-trigger-height": "var(--reka-popper-anchor-height)"
},
role: "dialog"
}), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16, [
"id",
"data-state",
"aria-labelledby"
])]),
_: 3
}, 8, ["disable-outside-pointer-events"])]),
_: 3
}, 8, ["trapped"]);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/Popover/PopoverContentModal.js
var PopoverContentModal_default = /* @__PURE__ */ defineComponent({
__name: "PopoverContentModal",
props: {
memoDependencies: {
type: Array,
required: false
},
side: {
type: null,
required: false
},
sideOffset: {
type: Number,
required: false
},
sideFlip: {
type: Boolean,
required: false
},
align: {
type: null,
required: false
},
alignOffset: {
type: Number,
required: false
},
alignFlip: {
type: Boolean,
required: false
},
avoidCollisions: {
type: Boolean,
required: false
},
collisionBoundary: {
type: null,
required: false
},
collisionPadding: {
type: [Number, Object],
required: false
},
arrowPadding: {
type: Number,
required: false
},
hideShiftedArrow: {
type: Boolean,
required: false
},
sticky: {
type: String,
required: false
},
hideWhenDetached: {
type: Boolean,
required: false
},
positionStrategy: {
type: String,
required: false
},
updatePositionStrategy: {
type: String,
required: false
},
disableUpdateOnLayoutShift: {
type: Boolean,
required: false
},
prioritizePosition: {
type: Boolean,
required: false
},
reference: {
type: null,
required: false
},
dir: {
type: String,
required: false
},
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false
},
disableOutsidePointerEvents: {
type: Boolean,
required: false
}
},
emits: [
"escapeKeyDown",
"pointerDownOutside",
"focusOutside",
"interactOutside",
"openAutoFocus",
"closeAutoFocus"
],
setup(__props, { emit: __emit }) {
const props = __props;
const emits = __emit;
const rootContext = injectPopoverRootContext();
const isRightClickOutsideRef = ref(false);
useBodyScrollLock(true);
const forwarded = useForwardPropsEmits(props, emits);
const { forwardRef, currentElement } = useForwardExpose();
useHideOthers(currentElement);
return (_ctx, _cache) => {
return openBlock(), createBlock(PopoverContentImpl_default, mergeProps(unref(forwarded), {
ref: unref(forwardRef),
"trap-focus": unref(rootContext).open.value,
"disable-outside-pointer-events": "",
onCloseAutoFocus: _cache[0] || (_cache[0] = withModifiers((event) => {
emits("closeAutoFocus", event);
if (!isRightClickOutsideRef.value) unref(rootContext).triggerElement.value?.focus();
}, ["prevent"])),
onPointerDownOutside: _cache[1] || (_cache[1] = (event) => {
emits("pointerDownOutside", event);
const originalEvent = event.detail.originalEvent;
const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;
const isRightClick = originalEvent.button === 2 || ctrlLeftClick;
isRightClickOutsideRef.value = isRightClick;
}),
onFocusOutside: _cache[2] || (_cache[2] = withModifiers(() => {}, ["prevent"]))
}), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16, ["trap-focus"]);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/Popover/PopoverContentNonModal.js
var PopoverContentNonModal_default = /* @__PURE__ */ defineComponent({
__name: "PopoverContentNonModal",
props: {
memoDependencies: {
type: Array,
required: false
},
side: {
type: null,
required: false
},
sideOffset: {
type: Number,
required: false
},
sideFlip: {
type: Boolean,
required: false
},
align: {
type: null,
required: false
},
alignOffset: {
type: Number,
required: false
},
alignFlip: {
type: Boolean,
required: false
},
avoidCollisions: {
type: Boolean,
required: false
},
collisionBoundary: {
type: null,
required: false
},
collisionPadding: {
type: [Number, Object],
required: false
},
arrowPadding: {
type: Number,
required: false
},
hideShiftedArrow: {
type: Boolean,
required: false
},
sticky: {
type: String,
required: false
},
hideWhenDetached: {
type: Boolean,
required: false
},
positionStrategy: {
type: String,
required: false
},
updatePositionStrategy: {
type: String,
required: false
},
disableUpdateOnLayoutShift: {
type: Boolean,
required: false
},
prioritizePosition: {
type: Boolean,
required: false
},
reference: {
type: null,
required: false
},
dir: {
type: String,
required: false
},
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false
},
disableOutsidePointerEvents: {
type: Boolean,
required: false
}
},
emits: [
"escapeKeyDown",
"pointerDownOutside",
"focusOutside",
"interactOutside",
"openAutoFocus",
"closeAutoFocus"
],
setup(__props, { emit: __emit }) {
const props = __props;
const emits = __emit;
const rootContext = injectPopoverRootContext();
const hasInteractedOutsideRef = ref(false);
const hasPointerDownOutsideRef = ref(false);
const forwarded = useForwardPropsEmits(props, emits);
return (_ctx, _cache) => {
return openBlock(), createBlock(PopoverContentImpl_default, mergeProps(unref(forwarded), {
"trap-focus": false,
"disable-outside-pointer-events": false,
onCloseAutoFocus: _cache[0] || (_cache[0] = (event) => {
emits("closeAutoFocus", event);
if (!event.defaultPrevented) {
if (!hasInteractedOutsideRef.value) unref(rootContext).triggerElement.value?.focus();
event.preventDefault();
}
hasInteractedOutsideRef.value = false;
hasPointerDownOutsideRef.value = false;
}),
onInteractOutside: _cache[1] || (_cache[1] = async (event) => {
emits("interactOutside", event);
if (!event.defaultPrevented) {
hasInteractedOutsideRef.value = true;
if (event.detail.originalEvent.type === "pointerdown") hasPointerDownOutsideRef.value = true;
}
const target = event.target;
if (unref(rootContext).triggerElement.value?.contains(target)) event.preventDefault();
if (event.detail.originalEvent.type === "focusin" && hasPointerDownOutsideRef.value) event.preventDefault();
})
}), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/Popover/PopoverContent.js
var PopoverContent_default = /* @__PURE__ */ defineComponent({
__name: "PopoverContent",
props: {
forceMount: {
type: Boolean,
required: false
},
memoDependencies: {
type: Array,
required: false
},
side: {
type: null,
required: false
},
sideOffset: {
type: Number,
required: false
},
sideFlip: {
type: Boolean,
required: false
},
align: {
type: null,
required: false
},
alignOffset: {
type: Number,
required: false
},
alignFlip: {
type: Boolean,
required: false
},
avoidCollisions: {
type: Boolean,
required: false
},
collisionBoundary: {
type: null,
required: false
},
collisionPadding: {
type: [Number, Object],
required: false
},
arrowPadding: {
type: Number,
required: false
},
hideShiftedArrow: {
type: Boolean,
required: false
},
sticky: {
type: String,
required: false
},
hideWhenDetached: {
type: Boolean,
required: false
},
positionStrategy: {
type: String,
required: false
},
updatePositionStrategy: {
type: String,
required: false
},
disableUpdateOnLayoutShift: {
type: Boolean,
required: false
},
prioritizePosition: {
type: Boolean,
required: false
},
reference: {
type: null,
required: false
},
dir: {
type: String,
required: false
},
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false
},
disableOutsidePointerEvents: {
type: Boolean,
required: false
}
},
emits: [
"escapeKeyDown",
"pointerDownOutside",
"focusOutside",
"interactOutside",
"openAutoFocus",
"closeAutoFocus"
],
setup(__props, { emit: __emit }) {
const props = __props;
const emits = __emit;
const rootContext = injectPopoverRootContext();
const forwarded = useForwardPropsEmits(props, emits);
const { forwardRef } = useForwardExpose();
rootContext.contentId ||= useId$2(void 0, "reka-popover-content");
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(Presence_default), { present: _ctx.forceMount || unref(rootContext).open.value }, {
default: withCtx(() => [unref(rootContext).modal.value ? (openBlock(), createBlock(PopoverContentModal_default, mergeProps({ key: 0 }, unref(forwarded), { ref: unref(forwardRef) }), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16)) : (openBlock(), createBlock(PopoverContentNonModal_default, mergeProps({ key: 1 }, unref(forwarded), { ref: unref(forwardRef) }), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16))]),
_: 3
}, 8, ["present"]);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/Popover/PopoverPortal.js
var PopoverPortal_default = /* @__PURE__ */ defineComponent({
__name: "PopoverPortal",
props: {
to: {
type: null,
required: false
},
disabled: {
type: Boolean,
required: false
},
defer: {
type: Boolean,
required: false
},
forceMount: {
type: Boolean,
required: false
}
},
setup(__props) {
const props = __props;
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(Teleport_default), normalizeProps(guardReactiveProps(props)), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/DatePicker/DatePickerContent.js
var DatePickerContent_default = /* @__PURE__ */ defineComponent({
__name: "DatePickerContent",
props: {
portal: {
type: Object,
required: false
},
forceMount: {
type: Boolean,
required: false
},
memoDependencies: {
type: Array,
required: false
},
side: {
type: null,
required: false
},
sideOffset: {
type: Number,
required: false
},
sideFlip: {
type: Boolean,
required: false
},
align: {
type: null,
required: false
},
alignOffset: {
type: Number,
required: false
},
alignFlip: {
type: Boolean,
required: false
},
avoidCollisions: {
type: Boolean,
required: false
},
collisionBoundary: {
type: null,
required: false
},
collisionPadding: {
type: [Number, Object],
required: false
},
arrowPadding: {
type: Number,
required: false
},
hideShiftedArrow: {
type: Boolean,
required: false
},
sticky: {
type: String,
required: false
},
hideWhenDetached: {
type: Boolean,
required: false
},
positionStrategy: {
type: String,
required: false
},
updatePositionStrategy: {
type: String,
required: false
},
disableUpdateOnLayoutShift: {
type: Boolean,
required: false
},
prioritizePosition: {
type: Boolean,
required: false
},
reference: {
type: null,
required: false
},
dir: {
type: String,
required: false
},
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false
},
disableOutsidePointerEvents: {
type: Boolean,
required: false
}
},
emits: [
"escapeKeyDown",
"pointerDownOutside",
"focusOutside",
"interactOutside",
"openAutoFocus",
"closeAutoFocus"
],
setup(__props, { emit: __emit }) {
const props = __props;
const emits = __emit;
const propsToForward = computed(() => ({
...props,
portal: void 0
}));
const forwarded = useForwardPropsEmits(propsToForward, emits);
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(PopoverPortal_default), normalizeProps(guardReactiveProps(_ctx.portal)), {
default: withCtx(() => [createVNode(unref(PopoverContent_default), mergeProps({
...unref(forwarded),
..._ctx.$attrs
}, { onOpenAutoFocus: _cache[0] || (_cache[0] = (event) => {
emits("openAutoFocus", event);
if (!event.defaultPrevented && event.target) {
unref(handleCalendarInitialFocus)(event.target);
event.preventDefault();
}
}) }), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16)]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/DatePicker/DatePickerField.js
var DatePickerField_default = /* @__PURE__ */ defineComponent({
__name: "DatePickerField",
setup(__props) {
const rootContext = injectDatePickerRootContext();
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(DateFieldRoot_default), mergeProps({
ref: unref(rootContext).dateFieldRef,
"model-value": unref(rootContext).modelValue.value,
placeholder: unref(rootContext).placeholder.value
}, {
id: unref(rootContext).id.value,
name: unref(rootContext).name.value,
disabled: unref(rootContext).disabled.value,
minValue: unref(rootContext).minValue.value,
maxValue: unref(rootContext).maxValue.value,
readonly: unref(rootContext).readonly.value,
hourCycle: unref(rootContext).hourCycle.value,
granularity: unref(rootContext).granularity.value,
hideTimeZone: unref(rootContext).hideTimeZone.value,
locale: unref(rootContext).locale.value,
isDateUnavailable: unref(rootContext).isDateUnavailable,
required: unref(rootContext).required.value,
dir: unref(rootContext).dir.value,
step: unref(rootContext).step.value
}, {
"onUpdate:modelValue": _cache[0] || (_cache[0] = (date) => {
if (date && unref(rootContext).modelValue.value && date.compare(unref(rootContext).modelValue.value) === 0) return;
unref(rootContext).onDateChange(date);
}),
"onUpdate:placeholder": _cache[1] || (_cache[1] = (date) => {
if (date.compare(unref(rootContext).placeholder.value) === 0) return;
unref(rootContext).onPlaceholderChange(date);
})
}), {
default: withCtx(({ segments, modelValue }) => [renderSlot(_ctx.$slots, "default", {
segments,
modelValue
})]),
_: 3
}, 16, ["model-value", "placeholder"]);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/DatePicker/DatePickerGrid.js
var DatePickerGrid_default = /* @__PURE__ */ defineComponent({
__name: "DatePickerGrid",
props: {
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false
}
},
setup(__props) {
const props = __props;
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(CalendarGrid_default), normalizeProps(guardReactiveProps(props)), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/DatePicker/DatePickerGridBody.js
var DatePickerGridBody_default = /* @__PURE__ */ defineComponent({
__name: "DatePickerGridBody",
props: {
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false
}
},
setup(__props) {
const props = __props;
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(CalendarGridBody_default), normalizeProps(guardReactiveProps(props)), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/DatePicker/DatePickerGridHead.js
var DatePickerGridHead_default = /* @__PURE__ */ defineComponent({
__name: "DatePickerGridHead",
props: {
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false
}
},
setup(__props) {
const props = __props;
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(CalendarGridHead_default), normalizeProps(guardReactiveProps(props)), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/DatePicker/DatePickerGridRow.js
var DatePickerGridRow_default = /* @__PURE__ */ defineComponent({
__name: "DatePickerGridRow",
props: {
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false
}
},
setup(__props) {
const props = __props;
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(CalendarGridRow_default), normalizeProps(guardReactiveProps(props)), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/DatePicker/DatePickerHeadCell.js
var DatePickerHeadCell_default = /* @__PURE__ */ defineComponent({
__name: "DatePickerHeadCell",
props: {
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false
}
},
setup(__props) {
const props = __props;
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(CalendarHeadCell_default), normalizeProps(guardReactiveProps(props)), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/DatePicker/DatePickerHeader.js
var DatePickerHeader_default = /* @__PURE__ */ defineComponent({
__name: "DatePickerHeader",
props: {
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false
}
},
setup(__props) {
const props = __props;
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(CalendarHeader_default), normalizeProps(guardReactiveProps(props)), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/DatePicker/DatePickerHeading.js
var DatePickerHeading_default = /* @__PURE__ */ defineComponent({
__name: "DatePickerHeading",
props: {
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false
}
},
setup(__props) {
const props = __props;
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(CalendarHeading_default), normalizeProps(guardReactiveProps(props)), {
default: withCtx(({ headingValue }) => [renderSlot(_ctx.$slots, "default", { headingValue }, () => [createTextVNode(toDisplayString(headingValue), 1)])]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/DatePicker/DatePickerInput.js
var DatePickerInput_default = /* @__PURE__ */ defineComponent({
__name: "DatePickerInput",
props: {
part: {
type: null,
required: true
},
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false
}
},
setup(__props) {
const props = __props;
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(DateFieldInput_default), normalizeProps(guardReactiveProps(props)), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/DatePicker/DatePickerNext.js
var DatePickerNext_default = /* @__PURE__ */ defineComponent({
__name: "DatePickerNext",
props: {
nextPage: {
type: Function,
required: false
},
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false
}
},
setup(__props) {
const props = __props;
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(CalendarNext_default), normalizeProps(guardReactiveProps(props)), {
default: withCtx((slotProps) => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps)))]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/DatePicker/DatePickerPrev.js
var DatePickerPrev_default = /* @__PURE__ */ defineComponent({
__name: "DatePickerPrev",
props: {
prevPage: {
type: Function,
required: false
},
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false
}
},
setup(__props) {
const props = __props;
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(CalendarPrev_default), normalizeProps(guardReactiveProps(props)), {
default: withCtx((slotProps) => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps)))]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/Popover/PopoverTrigger.js
var PopoverTrigger_default = /* @__PURE__ */ defineComponent({
__name: "PopoverTrigger",
props: {
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false,
default: "button"
}
},
setup(__props) {
const props = __props;
const rootContext = injectPopoverRootContext();
const { forwardRef, currentElement: triggerElement } = useForwardExpose();
rootContext.triggerId ||= useId$2(void 0, "reka-popover-trigger");
onMounted(() => {
rootContext.triggerElement.value = triggerElement.value;
});
return (_ctx, _cache) => {
return openBlock(), createBlock(resolveDynamicComponent(unref(rootContext).hasCustomAnchor.value ? unref(Primitive) : unref(PopperAnchor_default)), { "as-child": "" }, {
default: withCtx(() => [createVNode(unref(Primitive), {
id: unref(rootContext).triggerId,
ref: unref(forwardRef),
type: _ctx.as === "button" ? "button" : void 0,
"aria-haspopup": "dialog",
"aria-expanded": unref(rootContext).open.value,
"aria-controls": unref(rootContext).contentId,
"data-state": unref(rootContext).open.value ? "open" : "closed",
as: _ctx.as,
"as-child": props.asChild,
onClick: unref(rootContext).onOpenToggle
}, {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 8, [
"id",
"type",
"aria-expanded",
"aria-controls",
"data-state",
"as",
"as-child",
"onClick"
])]),
_: 3
});
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/DatePicker/DatePickerTrigger.js
var DatePickerTrigger_default = /* @__PURE__ */ defineComponent({
__name: "DatePickerTrigger",
props: {
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false
}
},
setup(__props) {
const props = __props;
const rootContext = injectDatePickerRootContext();
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(PopoverTrigger_default), mergeProps({ "data-reka-date-field-segment": "trigger" }, props, {
disabled: unref(rootContext).disabled.value,
onFocusin: _cache[0] || (_cache[0] = (e) => {
unref(rootContext).dateFieldRef.value?.setFocusedElement(e.target);
})
}), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16, ["disabled"]);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/DateRangePicker/DateRangePickerRoot.js
var [injectDateRangePickerRootContext, provideDateRangePickerRootContext] = /*#__PURE__*/ createContext("DateRangePickerRoot");
var DateRangePickerRoot_default = /* @__PURE__ */ defineComponent({
inheritAttrs: false,
__name: "DateRangePickerRoot",
props: {
defaultValue: {
type: Object,
required: false,
default: () => ({
start: void 0,
end: void 0
})
},
defaultPlaceholder: {
type: null,
required: false
},
placeholder: {
type: null,
required: false,
default: void 0
},
modelValue: {
type: [Object, null],
required: false
},
hourCycle: {
type: null,
required: false
},
step: {
type: Object,
required: false
},
granularity: {
type: String,
required: false
},
hideTimeZone: {
type: Boolean,
required: false
},
maxValue: {
type: null,
required: false
},
minValue: {
type: null,
required: false
},
locale: {
type: String,
required: false
},
disabled: {
type: Boolean,
required: false,
default: false
},
readonly: {
type: Boolean,
required: false,
default: false
},
isDateUnavailable: {
type: Function,
required: false,
default: void 0
},
id: {
type: String,
required: false
},
dir: {
type: String,
required: false
},
name: {
type: String,
required: false
},
required: {
type: Boolean,
required: false
},
defaultOpen: {
type: Boolean,
required: false,
default: false
},
open: {
type: Boolean,
required: false,
default: void 0
},
modal: {
type: Boolean,
required: false,
default: false
},
isDateDisabled: {
type: Function,
required: false,
default: void 0
},
pagedNavigation: {
type: Boolean,
required: false,
default: false
},
weekStartsOn: {
type: Number,
required: false
},
weekdayFormat: {
type: String,
required: false,
default: "narrow"
},
fixedWeeks: {
type: Boolean,
required: false,
default: false
},
numberOfMonths: {
type: Number,
required: false,
default: 1
},
preventDeselect: {
type: Boolean,
required: false,
default: false
},
isDateHighlightable: {
type: Function,
required: false,
default: void 0
},
allowNonContiguousRanges: {
type: Boolean,
required: false,
default: false
},
fixedDate: {
type: String,
required: false
},
maximumDays: {
type: Number,
required: false,
default: void 0
},
closeOnSelect: {
type: Boolean,
required: false,
default: false
}
},
emits: [
"update:open",
"update:modelValue",
"update:placeholder",
"update:startValue"
],
setup(__props, { emit: __emit }) {
const props = __props;
const emits = __emit;
const { locale: propLocale, disabled, readonly, pagedNavigation, weekdayFormat, fixedWeeks, numberOfMonths, preventDeselect, isDateDisabled: propsIsDateDisabled, isDateUnavailable: propsIsDateUnavailable, isDateHighlightable: propsIsDateHighlightable, defaultOpen, modal, id, name, required, minValue, maxValue, granularity, hideTimeZone, hourCycle, dir: propsDir, allowNonContiguousRanges, fixedDate, maximumDays, step, closeOnSelect } = toRefs(props);
const dir = useDirection(propsDir);
const locale = useLocale(propLocale);
const weekStartsOn = computed(() => props.weekStartsOn ?? getWeekStartsOn(locale.value));
const modelValue = useVModel(props, "modelValue", emits, {
defaultValue: props.defaultValue ?? {
start: void 0,
end: void 0
},
passive: props.modelValue === void 0
});
const defaultDate = getDefaultDate({
defaultPlaceholder: props.placeholder,
granularity: props.granularity,
defaultValue: modelValue.value?.start,
locale: locale.value
});
const placeholder = useVModel(props, "placeholder", emits, {
defaultValue: props.defaultPlaceholder ?? defaultDate.copy(),
passive: props.placeholder === void 0
});
const open = useVModel(props, "open", emits, {
defaultValue: defaultOpen.value,
passive: props.open === void 0
});
const dateFieldRef = ref();
watch(modelValue, (value) => {
if (value && value.start && value.start.compare(placeholder.value) !== 0) placeholder.value = value.start.copy();
if (value.start && value.end) {
if (closeOnSelect.value) open.value = false;
}
});
provideDateRangePickerRootContext({
allowNonContiguousRanges,
isDateUnavailable: propsIsDateUnavailable.value,
isDateDisabled: propsIsDateDisabled.value,
isDateHighlightable: propsIsDateHighlightable.value,
locale,
disabled,
pagedNavigation,
weekStartsOn,
weekdayFormat,
fixedWeeks,
numberOfMonths,
readonly,
preventDeselect,
modelValue,
placeholder,
defaultOpen,
modal,
open,
id,
name,
required,
minValue,
maxValue,
granularity,
hideTimeZone,
hourCycle,
dateFieldRef,
dir,
fixedDate,
maximumDays,
step,
onStartValueChange(date) {
emits("update:startValue", date);
},
onDateChange(date) {
modelValue.value = {
start: date.start?.copy(),
end: date.end?.copy()
};
},
onPlaceholderChange(date) {
placeholder.value = date.copy();
},
closeOnSelect
});
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(PopoverRoot_default), {
open: unref(open),
"onUpdate:open": _cache[0] || (_cache[0] = ($event) => isRef(open) ? open.value = $event : null),
"default-open": unref(defaultOpen),
modal: unref(modal)
}, {
default: withCtx(() => [renderSlot(_ctx.$slots, "default", {
modelValue: unref(modelValue),
open: unref(open)
})]),
_: 3
}, 8, [
"open",
"default-open",
"modal"
]);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/RangeCalendar/useRangeCalendar.js
function useRangeCalendarState(props) {
const isStartInvalid = computed(() => {
if (!props.start.value) return false;
if (props.isDateDisabled(props.start.value)) return true;
return false;
});
const isEndInvalid = computed(() => {
if (!props.end.value) return false;
if (props.isDateDisabled(props.end.value)) return true;
return false;
});
const isInvalid = computed(() => {
if (isStartInvalid.value || isEndInvalid.value) return true;
if (props.start.value && props.end.value && isBefore(props.end.value, props.start.value)) return true;
return false;
});
const isSelectionStart = (date) => {
if (!props.start.value) return false;
return $ad063034c8620db8$export$ea39ec197993aef0(props.start.value, date);
};
const isSelectionEnd = (date) => {
if (!props.end.value) return false;
return $ad063034c8620db8$export$ea39ec197993aef0(props.end.value, date);
};
const isSelected = (date) => {
if (props.start.value && $ad063034c8620db8$export$ea39ec197993aef0(props.start.value, date)) return true;
if (props.end.value && $ad063034c8620db8$export$ea39ec197993aef0(props.end.value, date)) return true;
if (props.end.value && props.start.value) return isBetween(date, props.start.value, props.end.value);
return false;
};
const rangeIsDateDisabled = (date) => {
if (props.isDateDisabled(date)) return true;
if (props.maximumDays?.value) {
if (props.start.value && props.end.value) {
if (props.fixedDate.value) {
const diff = getDaysBetween(props.start.value, props.end.value).length;
if (diff <= props.maximumDays.value) {
const daysLeft = props.maximumDays.value - diff - 1;
const startLimit = props.start.value.subtract({ days: daysLeft });
const endLimit = props.end.value.add({ days: daysLeft });
return !isBetween(date, startLimit, endLimit);
}
}
return false;
}
if (props.start.value) {
const maxDate = props.start.value.add({ days: props.maximumDays.value });
const minDate = props.start.value.subtract({ days: props.maximumDays.value });
return !isBetween(date, minDate, maxDate);
}
}
return false;
};
const isDateHighlightable = (date) => {
if (props.isDateHighlightable?.(date)) return true;
return false;
};
const highlightedRange = computed(() => {
if (props.start.value && props.end.value && !props.fixedDate.value) return null;
if (!props.start.value || !props.focusedValue.value) return null;
const isStartBeforeFocused = isBefore(props.start.value, props.focusedValue.value);
const start = isStartBeforeFocused ? props.start.value : props.focusedValue.value;
const end = isStartBeforeFocused ? props.focusedValue.value : props.start.value;
if ($ad063034c8620db8$export$ea39ec197993aef0(start, end)) return {
start,
end
};
if (props.maximumDays?.value && !props.end.value) {
const maximumDays = props.maximumDays.value;
const anchor = props.start.value;
const focused = props.focusedValue.value;
if (!isBefore(focused, anchor)) return {
start: anchor,
end: anchor.add({ days: maximumDays - 1 })
};
return {
start: anchor.subtract({ days: maximumDays - 1 }),
end: anchor
};
}
if (areAllDaysBetweenValid(start, end, props.allowNonContiguousRanges.value ? () => false : props.isDateUnavailable, rangeIsDateDisabled, props.isDateHighlightable)) return {
start,
end
};
return null;
});
const isHighlightedStart = (date) => {
if (!highlightedRange.value || !highlightedRange.value.start) return false;
return $ad063034c8620db8$export$ea39ec197993aef0(highlightedRange.value.start, date);
};
const isHighlightedEnd = (date) => {
if (!highlightedRange.value || !highlightedRange.value.end) return false;
return $ad063034c8620db8$export$ea39ec197993aef0(highlightedRange.value.end, date);
};
const hasSelectedDate = computed(() => {
return !!(props.start.value || props.end.value);
});
const isStartDateDisabled = computed(() => {
return !!(props.start.value && props.isDateDisabled(props.start.value));
});
const isEndDateDisabled = computed(() => {
return !!(props.end.value && props.isDateDisabled(props.end.value));
});
return {
isInvalid,
isSelected,
isDateHighlightable,
highlightedRange,
isSelectionStart,
isSelectionEnd,
isHighlightedStart,
isHighlightedEnd,
isDateDisabled: rangeIsDateDisabled,
hasSelectedDate,
isSelectedDisabled: computed(() => {
const hasStart = !!props.start.value;
const hasEnd = !!props.end.value;
if (!hasStart && !hasEnd) return false;
if (hasStart && hasEnd) return isStartDateDisabled.value && isEndDateDisabled.value;
return hasStart && isStartDateDisabled.value || hasEnd && isEndDateDisabled.value;
}),
selectedFocusableDate: computed(() => {
if (props.start.value && !isStartDateDisabled.value) return props.start.value;
if (props.end.value && !isEndDateDisabled.value) return props.end.value;
})
};
}
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/RangeCalendar/RangeCalendarRoot.js
var _hoisted_1$2 = { style: {
"border": "0px",
"clip": "rect(0px, 0px, 0px, 0px)",
"clip-path": "inset(50%)",
"height": "1px",
"margin": "-1px",
"overflow": "hidden",
"padding": "0px",
"position": "absolute",
"white-space": "nowrap",
"width": "1px"
} };
var _hoisted_2 = {
role: "heading",
"aria-level": "2"
};
var [injectRangeCalendarRootContext, provideRangeCalendarRootContext] = /*#__PURE__*/ createContext("RangeCalendarRoot");
var RangeCalendarRoot_default = /* @__PURE__ */ defineComponent({
__name: "RangeCalendarRoot",
props: {
defaultPlaceholder: {
type: null,
required: false
},
defaultValue: {
type: Object,
required: false,
default: () => ({
start: void 0,
end: void 0
})
},
modelValue: {
type: [Object, null],
required: false
},
placeholder: {
type: null,
required: false,
default: void 0
},
allowNonContiguousRanges: {
type: Boolean,
required: false,
default: false
},
pagedNavigation: {
type: Boolean,
required: false,
default: false
},
preventDeselect: {
type: Boolean,
required: false,
default: false
},
maximumDays: {
type: Number,
required: false,
default: void 0
},
weekStartsOn: {
type: Number,
required: false
},
weekdayFormat: {
type: String,
required: false,
default: "narrow"
},
calendarLabel: {
type: String,
required: false
},
fixedWeeks: {
type: Boolean,
required: false,
default: false
},
maxValue: {
type: null,
required: false
},
minValue: {
type: null,
required: false
},
locale: {
type: String,
required: false
},
numberOfMonths: {
type: Number,
required: false,
default: 1
},
disabled: {
type: Boolean,
required: false,
default: false
},
readonly: {
type: Boolean,
required: false,
default: false
},
initialFocus: {
type: Boolean,
required: false,
default: false
},
isDateDisabled: {
type: Function,
required: false,
default: void 0
},
isDateUnavailable: {
type: Function,
required: false,
default: void 0
},
isDateHighlightable: {
type: Function,
required: false,
default: void 0
},
dir: {
type: String,
required: false
},
nextPage: {
type: Function,
required: false
},
prevPage: {
type: Function,
required: false
},
disableDaysOutsideCurrentView: {
type: Boolean,
required: false,
default: false
},
fixedDate: {
type: String,
required: false
},
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false,
default: "div"
}
},
emits: [
"update:modelValue",
"update:validModelValue",
"update:placeholder",
"update:startValue"
],
setup(__props, { emit: __emit }) {
const props = __props;
const emits = __emit;
const { disabled, readonly, initialFocus, pagedNavigation, weekdayFormat, fixedWeeks, numberOfMonths, preventDeselect, isDateUnavailable: propsIsDateUnavailable, isDateHighlightable: propsIsDateHighlightable, isDateDisabled: propsIsDateDisabled, calendarLabel, maxValue, minValue, dir: propDir, locale: propLocale, nextPage: propsNextPage, prevPage: propsPrevPage, allowNonContiguousRanges, disableDaysOutsideCurrentView, fixedDate, maximumDays } = toRefs(props);
const { primitiveElement, currentElement: parentElement } = usePrimitiveElement();
const dir = useDirection(propDir);
const locale = useLocale(propLocale);
const weekStartsOn = computed(() => props.weekStartsOn ?? getWeekStartsOn(locale.value));
const lastPressedDateValue = ref();
const focusedValue = ref();
const isEditing = ref(false);
const modelValue = useVModel(props, "modelValue", emits, {
defaultValue: props.defaultValue ?? {
start: void 0,
end: void 0
},
passive: props.modelValue === void 0
});
const normalizeRange = (value) => value ?? {
start: void 0,
end: void 0
};
const normalizedModelValue = computed(() => normalizeRange(modelValue.value));
const validModelValue = ref(normalizeRange(modelValue.value));
watch(validModelValue, (value) => {
emits("update:validModelValue", value);
});
const defaultDate = getDefaultDate({
defaultPlaceholder: props.placeholder,
defaultValue: normalizeRange(modelValue.value).start,
locale: props.locale
});
const startValue = ref(normalizeRange(modelValue.value).start);
const endValue = ref(normalizeRange(modelValue.value).end);
const placeholder = useVModel(props, "placeholder", emits, {
defaultValue: props.defaultPlaceholder ?? defaultDate.copy(),
passive: props.placeholder === void 0
});
function onPlaceholderChange(value) {
placeholder.value = value.copy();
}
const { fullCalendarLabel, headingValue, isDateDisabled, isDateUnavailable, isNextButtonDisabled, isPrevButtonDisabled, grid, weekdays, isOutsideVisibleView, nextPage, prevPage, formatter, isPlaceholderFocusable, firstFocusableDate } = useCalendar({
locale,
placeholder,
weekStartsOn,
fixedWeeks,
numberOfMonths,
minValue,
maxValue,
disabled,
weekdayFormat,
pagedNavigation,
isDateDisabled: propsIsDateDisabled.value,
isDateUnavailable: propsIsDateUnavailable.value,
calendarLabel,
nextPage: propsNextPage,
prevPage: propsPrevPage
});
const { isInvalid, isSelected, isDateHighlightable, highlightedRange, isSelectionStart, isSelectionEnd, isHighlightedStart, isHighlightedEnd, isDateDisabled: rangeIsDateDisabled, hasSelectedDate, isSelectedDisabled, selectedFocusableDate } = useRangeCalendarState({
start: startValue,
end: endValue,
isDateDisabled,
isDateUnavailable,
isDateHighlightable: propsIsDateHighlightable.value,
focusedValue,
allowNonContiguousRanges,
fixedDate,
maximumDays
});
watch(modelValue, (_modelValue) => {
const next = normalizeRange(_modelValue);
if (!(!next.start && !startValue.value || !!next.start && !!startValue.value && $ad063034c8620db8$export$91b62ebf2ba703ee(next.start, startValue.value))) startValue.value = next.start?.copy?.();
if (!(!next.end && !endValue.value || !!next.end && !!endValue.value && $ad063034c8620db8$export$91b62ebf2ba703ee(next.end, endValue.value))) endValue.value = next.end?.copy?.();
});
watch(startValue, (_startValue) => {
if (_startValue && !$ad063034c8620db8$export$91b62ebf2ba703ee(_startValue, placeholder.value)) onPlaceholderChange(_startValue);
emits("update:startValue", _startValue);
});
watch([startValue, endValue], ([_startValue, _endValue]) => {
const value = modelValue.value;
if (value && value.start && value.end && _startValue && _endValue && $ad063034c8620db8$export$91b62ebf2ba703ee(value.start, _startValue) && $ad063034c8620db8$export$91b62ebf2ba703ee(value.end, _endValue)) return;
isEditing.value = true;
if (_endValue && _startValue) {
const nextValue = isBefore(_endValue, _startValue) ? {
start: _endValue.copy(),
end: _startValue.copy()
} : {
start: _startValue.copy(),
end: _endValue.copy()
};
modelValue.value = {
start: nextValue.start,
end: nextValue.end
};
isEditing.value = false;
validModelValue.value = {
start: nextValue.start.copy(),
end: nextValue.end.copy()
};
} else modelValue.value = _startValue ? {
start: _startValue.copy(),
end: void 0
} : {
start: _endValue?.copy(),
end: void 0
};
});
const kbd = useKbd();
useEventListener(parentElement, "keydown", (ev) => {
if (ev.key === kbd.ESCAPE && isEditing.value) {
startValue.value = validModelValue.value.start?.copy();
endValue.value = validModelValue.value.end?.copy();
}
});
provideRangeCalendarRootContext({
isDateUnavailable,
isDateHighlightable,
startValue,
endValue,
formatter,
modelValue: normalizedModelValue,
placeholder,
disabled,
initialFocus,
pagedNavigation,
grid,
weekDays: weekdays,
weekStartsOn,
weekdayFormat,
fixedWeeks,
numberOfMonths,
readonly,
preventDeselect,
fullCalendarLabel,
headingValue,
isInvalid,
isDateDisabled: rangeIsDateDisabled,
allowNonContiguousRanges,
highlightedRange,
focusedValue,
lastPressedDateValue,
isSelected,
isSelectionEnd,
isSelectionStart,
isNextButtonDisabled,
isPrevButtonDisabled,
isOutsideVisibleView,
nextPage,
prevPage,
parentElement,
onPlaceholderChange,
locale,
dir,
isHighlightedStart,
isHighlightedEnd,
disableDaysOutsideCurrentView,
fixedDate,
maximumDays,
minValue,
maxValue,
isPlaceholderFocusable,
firstFocusableDate,
hasSelectedDate,
isSelectedDisabled,
selectedFocusableDate
});
onMounted(() => {
if (initialFocus.value) handleCalendarInitialFocus(parentElement.value);
});
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(Primitive), {
ref_key: "primitiveElement",
ref: primitiveElement,
as: _ctx.as,
"as-child": _ctx.asChild,
"aria-label": unref(fullCalendarLabel),
"data-readonly": unref(readonly) ? "" : void 0,
"data-disabled": unref(disabled) ? "" : void 0,
"data-invalid": unref(isInvalid) ? "" : void 0,
dir: unref(dir)
}, {
default: withCtx(() => [createElementVNode("div", _hoisted_1$2, [createElementVNode("div", _hoisted_2, toDisplayString(unref(fullCalendarLabel)), 1)]), renderSlot(_ctx.$slots, "default", {
date: unref(placeholder),
grid: unref(grid),
weekDays: unref(weekdays),
weekStartsOn: weekStartsOn.value,
locale: unref(locale),
fixedWeeks: unref(fixedWeeks),
modelValue: normalizedModelValue.value
})]),
_: 3
}, 8, [
"as",
"as-child",
"aria-label",
"data-readonly",
"data-disabled",
"data-invalid",
"dir"
]);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/DateRangePicker/DateRangePickerCalendar.js
var DateRangePickerCalendar_default = /* @__PURE__ */ defineComponent({
__name: "DateRangePickerCalendar",
setup(__props) {
const rootContext = injectDateRangePickerRootContext();
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(RangeCalendarRoot_default), mergeProps({
allowNonContiguousRanges: unref(rootContext).allowNonContiguousRanges.value,
isDateDisabled: unref(rootContext).isDateDisabled,
isDateUnavailable: unref(rootContext).isDateUnavailable,
isDateHighlightable: unref(rootContext).isDateHighlightable,
locale: unref(rootContext).locale.value,
disabled: unref(rootContext).disabled.value,
pagedNavigation: unref(rootContext).pagedNavigation.value,
weekStartsOn: unref(rootContext).weekStartsOn.value,
weekdayFormat: unref(rootContext).weekdayFormat.value,
fixedWeeks: unref(rootContext).fixedWeeks.value,
numberOfMonths: unref(rootContext).numberOfMonths.value,
readonly: unref(rootContext).readonly.value,
preventDeselect: unref(rootContext).preventDeselect.value,
minValue: unref(rootContext).minValue.value,
maxValue: unref(rootContext).maxValue.value,
dir: unref(rootContext).dir.value,
fixedDate: unref(rootContext).fixedDate.value,
maximumDays: unref(rootContext).maximumDays?.value
}, {
"model-value": unref(rootContext).modelValue.value,
placeholder: unref(rootContext).placeholder.value,
"onUpdate:startValue": _cache[0] || (_cache[0] = (date) => {
unref(rootContext).onStartValueChange(date);
}),
"onUpdate:modelValue": _cache[1] || (_cache[1] = (date) => {
if (date.start && unref(rootContext).modelValue.value?.start && date.end && unref(rootContext).modelValue.value?.end && unref($ad063034c8620db8$export$91b62ebf2ba703ee)(date.start, unref(rootContext).modelValue.value?.start) && unref($ad063034c8620db8$export$91b62ebf2ba703ee)(date.end, unref(rootContext).modelValue.value?.end)) return;
unref(rootContext).onDateChange(date);
}),
"onUpdate:placeholder": _cache[2] || (_cache[2] = (date) => {
if (unref($ad063034c8620db8$export$91b62ebf2ba703ee)(date, unref(rootContext).placeholder.value)) return;
unref(rootContext).onPlaceholderChange(date);
})
}), {
default: withCtx(({ weekDays, grid, date, weekStartsOn, locale, fixedWeeks }) => [renderSlot(_ctx.$slots, "default", {
date,
grid,
weekDays,
weekStartsOn,
locale,
fixedWeeks
})]),
_: 3
}, 16, ["model-value", "placeholder"]);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/RangeCalendar/RangeCalendarCell.js
var RangeCalendarCell_default = /* @__PURE__ */ defineComponent({
__name: "RangeCalendarCell",
props: {
date: {
type: null,
required: true
},
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false,
default: "td"
}
},
setup(__props) {
const rootContext = injectRangeCalendarRootContext();
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(Primitive), {
as: _ctx.as,
"as-child": _ctx.asChild,
role: "gridcell",
"aria-selected": unref(rootContext).isSelected(_ctx.date) ? true : void 0,
"aria-disabled": unref(rootContext).isDateDisabled(_ctx.date) || unref(rootContext).isDateUnavailable?.(_ctx.date) || unref(rootContext).disableDaysOutsideCurrentView.value,
"data-disabled": unref(rootContext).isDateDisabled(_ctx.date) || unref(rootContext).disableDaysOutsideCurrentView.value ? "" : void 0
}, {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 8, [
"as",
"as-child",
"aria-selected",
"aria-disabled",
"data-disabled"
]);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/DateRangePicker/DateRangePickerCell.js
var DateRangePickerCell_default = /* @__PURE__ */ defineComponent({
__name: "DateRangePickerCell",
props: {
date: {
type: null,
required: true
},
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false
}
},
setup(__props) {
const props = __props;
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(RangeCalendarCell_default), normalizeProps(guardReactiveProps(props)), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/RangeCalendar/RangeCalendarCellTrigger.js
var RangeCalendarCellTrigger_default = /* @__PURE__ */ defineComponent({
__name: "RangeCalendarCellTrigger",
props: {
day: {
type: null,
required: true
},
month: {
type: null,
required: true
},
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false,
default: "div"
}
},
setup(__props) {
const props = __props;
const rootContext = injectRangeCalendarRootContext();
const kbd = useKbd();
const { primitiveElement, currentElement } = usePrimitiveElement();
const labelText = computed(() => rootContext.formatter.custom(toDate(props.day), {
weekday: "long",
month: "long",
day: "numeric",
year: "numeric"
}));
const isUnavailable = computed(() => rootContext.isDateUnavailable?.(props.day) ?? false);
const isSelectedDate = computed(() => rootContext.isSelected(props.day));
const isSelectionStart = computed(() => rootContext.isSelectionStart(props.day));
const isSelectionEnd = computed(() => rootContext.isSelectionEnd(props.day));
const isHighlightStart = computed(() => rootContext.isHighlightedStart(props.day));
const isHighlightEnd = computed(() => rootContext.isHighlightedEnd(props.day));
const isHighlighted = computed(() => rootContext.highlightedRange.value ? isBetweenInclusive(props.day, rootContext.highlightedRange.value.start, rootContext.highlightedRange.value.end) : false);
const allowNonContiguousRanges = computed(() => rootContext.allowNonContiguousRanges.value);
const isDateToday = computed(() => {
return $ad063034c8620db8$export$629b0a497aa65267(props.day, $ad063034c8620db8$export$aa8b41735afcabd2());
});
const isOutsideView = computed(() => {
return !$ad063034c8620db8$export$a18c89cbd24170ff(props.day, props.month);
});
const isOutsideVisibleView = computed(() => rootContext.isOutsideVisibleView(props.day));
const isDisabled = computed(() => rootContext.isDateDisabled(props.day) || rootContext.disableDaysOutsideCurrentView.value && isOutsideView.value);
const dayValue = computed(() => props.day.day.toLocaleString(rootContext.locale.value));
const isFocusedDate = computed(() => {
if (isOutsideView.value || isDisabled.value) return false;
if (!rootContext.disabled.value && rootContext.isPlaceholderFocusable.value && $ad063034c8620db8$export$ea39ec197993aef0(props.day, rootContext.placeholder.value)) return true;
if (!rootContext.disabled.value && rootContext.selectedFocusableDate.value && !rootContext.isPlaceholderFocusable.value) return $ad063034c8620db8$export$ea39ec197993aef0(props.day, rootContext.selectedFocusableDate.value);
if (!rootContext.disabled.value && (!rootContext.hasSelectedDate.value || rootContext.isSelectedDisabled.value) && !rootContext.isPlaceholderFocusable.value) return rootContext.firstFocusableDate.value && $ad063034c8620db8$export$ea39ec197993aef0(props.day, rootContext.firstFocusableDate.value);
return false;
});
function changeDate(e, date) {
if (rootContext.readonly.value) return;
if (rootContext.isDateDisabled(date) || rootContext.isDateUnavailable?.(date)) return;
if (rootContext.startValue.value && rootContext.highlightedRange.value === null) {
if ($ad063034c8620db8$export$ea39ec197993aef0(date, rootContext.startValue.value) && !rootContext.preventDeselect.value && !rootContext.endValue.value) {
rootContext.startValue.value = void 0;
rootContext.onPlaceholderChange(date);
rootContext.lastPressedDateValue.value = date.copy();
return;
} else if (!rootContext.endValue.value) {
e.preventDefault();
if (rootContext.lastPressedDateValue.value && $ad063034c8620db8$export$ea39ec197993aef0(rootContext.lastPressedDateValue.value, date)) rootContext.startValue.value = date.copy();
rootContext.lastPressedDateValue.value = date.copy();
return;
}
}
rootContext.lastPressedDateValue.value = date.copy();
if (rootContext.startValue.value && rootContext.endValue.value && $ad063034c8620db8$export$ea39ec197993aef0(rootContext.startValue.value, rootContext.endValue.value) && $ad063034c8620db8$export$ea39ec197993aef0(rootContext.startValue.value, date) && !rootContext.preventDeselect.value) {
rootContext.startValue.value = void 0;
rootContext.endValue.value = void 0;
rootContext.onPlaceholderChange(date);
return;
}
if (!rootContext.startValue.value) rootContext.startValue.value = date.copy();
else if (!rootContext.endValue.value) rootContext.endValue.value = date.copy();
else if (rootContext.endValue.value && rootContext.startValue.value) {
if (!rootContext.fixedDate.value) {
rootContext.endValue.value = void 0;
rootContext.startValue.value = date.copy();
} else if (rootContext.fixedDate.value === "start") if (date.compare(rootContext.startValue.value) < 0) rootContext.startValue.value = date.copy();
else rootContext.endValue.value = date.copy();
else if (rootContext.fixedDate.value === "end") if (date.compare(rootContext.endValue.value) > 0) rootContext.endValue.value = date.copy();
else rootContext.startValue.value = date.copy();
}
}
function handleClick(e) {
if (isDisabled.value) return;
changeDate(e, props.day);
}
function handleFocus() {
if (isDisabled.value || rootContext.isDateUnavailable?.(props.day)) return;
rootContext.focusedValue.value = props.day.copy();
}
function handleArrowKey(e) {
if (isDisabled.value) return;
if ((e.code === kbd.ENTER || e.code === kbd.SPACE_CODE) && (e.ctrlKey || e.metaKey || e.altKey)) return;
e.preventDefault();
e.stopPropagation();
const parentElement = rootContext.parentElement.value;
const indexIncrementation = 7;
const sign = rootContext.dir.value === "rtl" ? -1 : 1;
switch (e.code) {
case kbd.ARROW_RIGHT:
shiftFocus(props.day, sign);
break;
case kbd.ARROW_LEFT:
shiftFocus(props.day, -sign);
break;
case kbd.ARROW_UP:
shiftFocus(props.day, -7);
break;
case kbd.ARROW_DOWN:
shiftFocus(props.day, indexIncrementation);
break;
case kbd.ENTER:
case kbd.SPACE_CODE: changeDate(e, props.day);
}
function shiftFocus(day, add) {
const candidateDayValue = day.add({ days: add });
if (rootContext.minValue.value && candidateDayValue.compare(rootContext.minValue.value) < 0 || rootContext.maxValue.value && candidateDayValue.compare(rootContext.maxValue.value) > 0) return;
const candidateDay = parentElement.querySelector(`[data-value='${candidateDayValue.toString()}']:not([data-outside-view])`);
if (!candidateDay) {
if (add > 0) {
if (rootContext.isNextButtonDisabled()) return;
rootContext.nextPage();
} else {
if (rootContext.isPrevButtonDisabled()) return;
rootContext.prevPage();
}
nextTick(() => {
shiftFocus(day, add);
});
return;
}
if (candidateDay && candidateDay.hasAttribute("data-disabled")) return shiftFocus(candidateDayValue, add);
rootContext.onPlaceholderChange(candidateDayValue);
candidateDay?.focus();
}
}
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(Primitive), {
ref_key: "primitiveElement",
ref: primitiveElement,
as: _ctx.as,
"as-child": _ctx.asChild,
role: "button",
"aria-label": labelText.value,
"data-reka-calendar-cell-trigger": "",
"aria-pressed": isSelectedDate.value && (allowNonContiguousRanges.value || !isUnavailable.value) ? true : void 0,
"aria-disabled": isDisabled.value || isUnavailable.value ? true : void 0,
"data-highlighted": isHighlighted.value && (allowNonContiguousRanges.value || !isUnavailable.value) ? "" : void 0,
"data-selection-start": isSelectionStart.value ? true : void 0,
"data-selection-end": isSelectionEnd.value ? true : void 0,
"data-highlighted-start": isHighlightStart.value ? true : void 0,
"data-highlighted-end": isHighlightEnd.value ? true : void 0,
"data-selected": isSelectedDate.value && (allowNonContiguousRanges.value || !isUnavailable.value) ? true : void 0,
"data-outside-visible-view": isOutsideVisibleView.value ? "" : void 0,
"data-value": _ctx.day.toString(),
"data-disabled": isDisabled.value ? "" : void 0,
"data-unavailable": isUnavailable.value ? "" : void 0,
"data-today": isDateToday.value ? "" : void 0,
"data-outside-view": isOutsideView.value ? "" : void 0,
"data-focused": isFocusedDate.value ? "" : void 0,
tabindex: isFocusedDate.value ? 0 : isOutsideView.value || isDisabled.value ? void 0 : -1,
onClick: handleClick,
onFocusin: handleFocus,
onMouseenter: handleFocus,
onKeydown: withKeys(handleArrowKey, [
"up",
"down",
"left",
"right",
"enter",
"space"
])
}, {
default: withCtx(() => [renderSlot(_ctx.$slots, "default", {
dayValue: dayValue.value,
disabled: isDisabled.value,
today: isDateToday.value,
selected: isSelectedDate.value,
outsideView: isOutsideView.value,
outsideVisibleView: isOutsideVisibleView.value,
unavailable: isUnavailable.value,
highlighted: isHighlighted.value && (allowNonContiguousRanges.value || !isUnavailable.value),
highlightedStart: isHighlightStart.value,
highlightedEnd: isHighlightEnd.value,
selectionStart: isSelectionStart.value,
selectionEnd: isSelectionEnd.value
}, () => [createTextVNode(toDisplayString(dayValue.value), 1)])]),
_: 3
}, 8, [
"as",
"as-child",
"aria-label",
"aria-pressed",
"aria-disabled",
"data-highlighted",
"data-selection-start",
"data-selection-end",
"data-highlighted-start",
"data-highlighted-end",
"data-selected",
"data-outside-visible-view",
"data-value",
"data-disabled",
"data-unavailable",
"data-today",
"data-outside-view",
"data-focused",
"tabindex"
]);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/DateRangePicker/DateRangePickerCellTrigger.js
var DateRangePickerCellTrigger_default = /* @__PURE__ */ defineComponent({
__name: "DateRangePickerCellTrigger",
props: {
day: {
type: null,
required: true
},
month: {
type: null,
required: true
},
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false
}
},
setup(__props) {
const props = __props;
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(RangeCalendarCellTrigger_default), normalizeProps(guardReactiveProps(props)), {
default: withCtx((slotProps) => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps)))]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/DateRangePicker/DateRangePickerContent.js
var DateRangePickerContent_default = /* @__PURE__ */ defineComponent({
__name: "DateRangePickerContent",
props: {
portal: {
type: Object,
required: false
},
forceMount: {
type: Boolean,
required: false
},
memoDependencies: {
type: Array,
required: false
},
side: {
type: null,
required: false
},
sideOffset: {
type: Number,
required: false
},
sideFlip: {
type: Boolean,
required: false
},
align: {
type: null,
required: false
},
alignOffset: {
type: Number,
required: false
},
alignFlip: {
type: Boolean,
required: false
},
avoidCollisions: {
type: Boolean,
required: false
},
collisionBoundary: {
type: null,
required: false
},
collisionPadding: {
type: [Number, Object],
required: false
},
arrowPadding: {
type: Number,
required: false
},
hideShiftedArrow: {
type: Boolean,
required: false
},
sticky: {
type: String,
required: false
},
hideWhenDetached: {
type: Boolean,
required: false
},
positionStrategy: {
type: String,
required: false
},
updatePositionStrategy: {
type: String,
required: false
},
disableUpdateOnLayoutShift: {
type: Boolean,
required: false
},
prioritizePosition: {
type: Boolean,
required: false
},
reference: {
type: null,
required: false
},
dir: {
type: String,
required: false
},
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false
},
disableOutsidePointerEvents: {
type: Boolean,
required: false
}
},
emits: [
"escapeKeyDown",
"pointerDownOutside",
"focusOutside",
"interactOutside",
"openAutoFocus",
"closeAutoFocus"
],
setup(__props, { emit: __emit }) {
const props = __props;
const emits = __emit;
const propsToForward = computed(() => ({
...props,
portal: void 0
}));
const forwarded = useForwardPropsEmits(propsToForward, emits);
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(PopoverPortal_default), normalizeProps(guardReactiveProps(_ctx.portal)), {
default: withCtx(() => [createVNode(unref(PopoverContent_default), mergeProps({
...unref(forwarded),
..._ctx.$attrs
}, { onOpenAutoFocus: _cache[0] || (_cache[0] = (event) => {
emits("openAutoFocus", event);
if (!event.defaultPrevented && event.target) {
unref(handleCalendarInitialFocus)(event.target);
event.preventDefault();
}
}) }), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16)]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/DateRangePicker/DateRangePickerField.js
var DateRangePickerField_default = /* @__PURE__ */ defineComponent({
__name: "DateRangePickerField",
setup(__props) {
const rootContext = injectDateRangePickerRootContext();
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(DateRangeFieldRoot_default), mergeProps({
ref: unref(rootContext).dateFieldRef,
"model-value": unref(rootContext).modelValue.value,
placeholder: unref(rootContext).placeholder.value
}, {
id: unref(rootContext).id.value,
name: unref(rootContext).name.value,
disabled: unref(rootContext).disabled.value,
minValue: unref(rootContext).minValue.value,
maxValue: unref(rootContext).maxValue.value,
readonly: unref(rootContext).readonly.value,
hourCycle: unref(rootContext).hourCycle.value,
granularity: unref(rootContext).granularity.value,
hideTimeZone: unref(rootContext).hideTimeZone.value,
locale: unref(rootContext).locale.value,
isDateUnavailable: unref(rootContext).isDateUnavailable,
required: unref(rootContext).required.value,
dir: unref(rootContext).dir.value,
step: unref(rootContext).step.value
}, {
"onUpdate:modelValue": _cache[0] || (_cache[0] = (date) => {
if (date.start && unref(rootContext).modelValue.value.start && date.end && unref(rootContext).modelValue.value.end && date.start.compare(unref(rootContext).modelValue.value.start) === 0 && date.end.compare(unref(rootContext).modelValue.value.end) === 0) return;
unref(rootContext).onDateChange(date);
}),
"onUpdate:placeholder": _cache[1] || (_cache[1] = (date) => {
if (unref($ad063034c8620db8$export$91b62ebf2ba703ee)(date, unref(rootContext).placeholder.value) && date.compare(unref(rootContext).placeholder.value) === 0) return;
unref(rootContext).onPlaceholderChange(date);
})
}), {
default: withCtx(({ segments, modelValue }) => [renderSlot(_ctx.$slots, "default", {
segments,
modelValue
})]),
_: 3
}, 16, ["model-value", "placeholder"]);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/RangeCalendar/RangeCalendarGrid.js
var RangeCalendarGrid_default = /* @__PURE__ */ defineComponent({
__name: "RangeCalendarGrid",
props: {
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false,
default: "table"
}
},
setup(__props) {
const props = __props;
const rootContext = injectRangeCalendarRootContext();
const disabled = computed(() => rootContext.disabled.value ? true : void 0);
const readonly = computed(() => rootContext.readonly.value ? true : void 0);
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(Primitive), mergeProps(props, {
tabindex: "-1",
role: "application",
"aria-readonly": readonly.value,
"aria-disabled": disabled.value,
"data-readonly": readonly.value && "",
"data-disabled": disabled.value && "",
onMouseleave: _cache[0] || (_cache[0] = ($event) => unref(rootContext).focusedValue.value = void 0)
}), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16, [
"aria-readonly",
"aria-disabled",
"data-readonly",
"data-disabled"
]);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/DateRangePicker/DateRangePickerGrid.js
var DateRangePickerGrid_default = /* @__PURE__ */ defineComponent({
__name: "DateRangePickerGrid",
props: {
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false
}
},
setup(__props) {
const props = __props;
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(RangeCalendarGrid_default), normalizeProps(guardReactiveProps(props)), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/RangeCalendar/RangeCalendarGridBody.js
var RangeCalendarGridBody_default = /* @__PURE__ */ defineComponent({
__name: "RangeCalendarGridBody",
props: {
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false,
default: "tbody"
}
},
setup(__props) {
const props = __props;
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(Primitive), normalizeProps(guardReactiveProps(props)), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/DateRangePicker/DateRangePickerGridBody.js
var DateRangePickerGridBody_default = /* @__PURE__ */ defineComponent({
__name: "DateRangePickerGridBody",
props: {
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false
}
},
setup(__props) {
const props = __props;
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(RangeCalendarGridBody_default), normalizeProps(guardReactiveProps(props)), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/RangeCalendar/RangeCalendarGridHead.js
var RangeCalendarGridHead_default = /* @__PURE__ */ defineComponent({
__name: "RangeCalendarGridHead",
props: {
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false,
default: "thead"
}
},
setup(__props) {
const props = __props;
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(Primitive), mergeProps(props, { "aria-hidden": "true" }), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/DateRangePicker/DateRangePickerGridHead.js
var DateRangePickerGridHead_default = /* @__PURE__ */ defineComponent({
__name: "DateRangePickerGridHead",
props: {
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false
}
},
setup(__props) {
const props = __props;
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(RangeCalendarGridHead_default), normalizeProps(guardReactiveProps(props)), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/RangeCalendar/RangeCalendarGridRow.js
var RangeCalendarGridRow_default = /* @__PURE__ */ defineComponent({
__name: "RangeCalendarGridRow",
props: {
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false,
default: "tr"
}
},
setup(__props) {
const props = __props;
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(Primitive), normalizeProps(guardReactiveProps(props)), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/DateRangePicker/DateRangePickerGridRow.js
var DateRangePickerGridRow_default = /* @__PURE__ */ defineComponent({
__name: "DateRangePickerGridRow",
props: {
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false
}
},
setup(__props) {
const props = __props;
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(RangeCalendarGridRow_default), normalizeProps(guardReactiveProps(props)), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/RangeCalendar/RangeCalendarHeadCell.js
var RangeCalendarHeadCell_default = /* @__PURE__ */ defineComponent({
__name: "RangeCalendarHeadCell",
props: {
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false,
default: "th"
}
},
setup(__props) {
const props = __props;
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(Primitive), normalizeProps(guardReactiveProps(props)), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/DateRangePicker/DateRangePickerHeadCell.js
var DateRangePickerHeadCell_default = /* @__PURE__ */ defineComponent({
__name: "DateRangePickerHeadCell",
props: {
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false
}
},
setup(__props) {
const props = __props;
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(RangeCalendarHeadCell_default), normalizeProps(guardReactiveProps(props)), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/RangeCalendar/RangeCalendarHeader.js
var RangeCalendarHeader_default = /* @__PURE__ */ defineComponent({
__name: "RangeCalendarHeader",
props: {
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false,
default: "div"
}
},
setup(__props) {
const props = __props;
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(Primitive), normalizeProps(guardReactiveProps(props)), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/DateRangePicker/DateRangePickerHeader.js
var DateRangePickerHeader_default = /* @__PURE__ */ defineComponent({
__name: "DateRangePickerHeader",
props: {
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false
}
},
setup(__props) {
const props = __props;
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(RangeCalendarHeader_default), normalizeProps(guardReactiveProps(props)), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/RangeCalendar/RangeCalendarHeading.js
var RangeCalendarHeading_default = /* @__PURE__ */ defineComponent({
__name: "RangeCalendarHeading",
props: {
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false,
default: "div"
}
},
setup(__props) {
const props = __props;
const rootContext = injectRangeCalendarRootContext();
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(Primitive), mergeProps(props, { "data-disabled": unref(rootContext).disabled.value ? "" : void 0 }), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default", { headingValue: unref(rootContext).headingValue.value }, () => [createTextVNode(toDisplayString(unref(rootContext).headingValue.value), 1)])]),
_: 3
}, 16, ["data-disabled"]);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/DateRangePicker/DateRangePickerHeading.js
var DateRangePickerHeading_default = /* @__PURE__ */ defineComponent({
__name: "DateRangePickerHeading",
props: {
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false
}
},
setup(__props) {
const props = __props;
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(RangeCalendarHeading_default), normalizeProps(guardReactiveProps(props)), {
default: withCtx(({ headingValue }) => [renderSlot(_ctx.$slots, "default", { headingValue }, () => [createTextVNode(toDisplayString(headingValue), 1)])]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/DateRangePicker/DateRangePickerInput.js
var DateRangePickerInput_default = /* @__PURE__ */ defineComponent({
__name: "DateRangePickerInput",
props: {
part: {
type: null,
required: true
},
type: {
type: String,
required: true
},
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false
}
},
setup(__props) {
const props = __props;
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(DateRangeFieldInput_default), normalizeProps(guardReactiveProps(props)), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/RangeCalendar/RangeCalendarNext.js
var RangeCalendarNext_default = /* @__PURE__ */ defineComponent({
__name: "RangeCalendarNext",
props: {
nextPage: {
type: Function,
required: false
},
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false,
default: "button"
}
},
setup(__props) {
const props = __props;
const disabled = computed(() => rootContext.disabled.value || rootContext.isNextButtonDisabled(props.nextPage));
const rootContext = injectRangeCalendarRootContext();
function handleClick() {
if (disabled.value) return;
rootContext.nextPage(props.nextPage);
}
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(Primitive), {
as: props.as,
"as-child": props.asChild,
"aria-label": "Next page",
type: props.as === "button" ? "button" : void 0,
"aria-disabled": disabled.value || void 0,
"data-disabled": disabled.value || void 0,
disabled: disabled.value,
onClick: handleClick
}, {
default: withCtx(() => [renderSlot(_ctx.$slots, "default", { disabled: disabled.value }, () => [_cache[0] || (_cache[0] = createTextVNode(" Next page "))])]),
_: 3
}, 8, [
"as",
"as-child",
"type",
"aria-disabled",
"data-disabled",
"disabled"
]);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/DateRangePicker/DateRangePickerNext.js
var DateRangePickerNext_default = /* @__PURE__ */ defineComponent({
__name: "DateRangePickerNext",
props: {
nextPage: {
type: Function,
required: false
},
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false
}
},
setup(__props) {
const props = __props;
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(RangeCalendarNext_default), normalizeProps(guardReactiveProps(props)), {
default: withCtx((slotProps) => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps)))]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/RangeCalendar/RangeCalendarPrev.js
var RangeCalendarPrev_default = /* @__PURE__ */ defineComponent({
__name: "RangeCalendarPrev",
props: {
prevPage: {
type: Function,
required: false
},
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false,
default: "button"
}
},
setup(__props) {
const props = __props;
const disabled = computed(() => rootContext.disabled.value || rootContext.isPrevButtonDisabled(props.prevPage));
const rootContext = injectRangeCalendarRootContext();
function handleClick() {
if (disabled.value) return;
rootContext.prevPage(props.prevPage);
}
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(Primitive), {
as: props.as,
"as-child": props.asChild,
"aria-label": "Previous page",
type: props.as === "button" ? "button" : void 0,
"aria-disabled": disabled.value || void 0,
"data-disabled": disabled.value || void 0,
disabled: disabled.value,
onClick: handleClick
}, {
default: withCtx(() => [renderSlot(_ctx.$slots, "default", { disabled: disabled.value }, () => [_cache[0] || (_cache[0] = createTextVNode(" Prev page "))])]),
_: 3
}, 8, [
"as",
"as-child",
"type",
"aria-disabled",
"data-disabled",
"disabled"
]);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/DateRangePicker/DateRangePickerPrev.js
var DateRangePickerPrev_default = /* @__PURE__ */ defineComponent({
__name: "DateRangePickerPrev",
props: {
prevPage: {
type: Function,
required: false
},
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false
}
},
setup(__props) {
const props = __props;
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(RangeCalendarPrev_default), normalizeProps(guardReactiveProps(props)), {
default: withCtx((slotProps) => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps)))]),
_: 3
}, 16);
};
}
});
//#endregion
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/DateRangePicker/DateRangePickerTrigger.js
var DateRangePickerTrigger_default = /* @__PURE__ */ defineComponent({
__name: "DateRangePickerTrigger",
props: {
asChild: {
type: Boolean,
required: false
},
as: {
type: null,
required: false
}
},
setup(__props) {
const props = __props;
const rootContext = injectDateRangePickerRootContext();
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(PopoverTrigger_default), mergeProps({ "data-reka-date-field-segment": "trigger" }, props, {
disabled: unref(rootContext).disabled.value,
onFocusin: _cache[0] || (_cache[0] = (e) => {
unref(rootContext).dateFieldRef.value?.setFocusedElement(e.target);
})
}), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16, ["disabled"]);
};
}
});
//#endregion
//#region src/components/BDatePicker/BDatePicker.vue?vue&type=script&setup=true&lang.ts
var _hoisted_1$1 = { class: "d-flex gap-2" };
//#endregion
//#region src/components/BDatePicker/BDatePicker.vue
var BDatePicker_default = /* @__PURE__ */ defineComponent({
__name: "BDatePicker",
props: /*@__PURE__*/ mergeModels({
closeOnSelect: {
type: Boolean,
default: true
},
defaultOpen: {
type: Boolean,
default: false
},
defaultPlaceholder: { default: void 0 },
defaultValue: { default: void 0 },
dir: { default: void 0 },
disabled: {
type: Boolean,
default: false
},
fixedWeeks: {
type: Boolean,
default: false
},
granularity: { default: void 0 },
hideTimeZone: {
type: Boolean,
default: void 0
},
hourCycle: { default: void 0 },
id: { default: void 0 },
isDateDisabled: {
type: Function,
default: void 0
},
isDateUnavailable: {
type: Function,
default: void 0
},
locale: { default: void 0 },
maxValue: { default: void 0 },
minValue: { default: void 0 },
modal: {
type: Boolean,
default: false
},
name: { default: void 0 },
numberOfMonths: { default: 1 },
pagedNavigation: {
type: Boolean,
default: false
},
preventDeselect: {
type: Boolean,
default: false
},
readonly: {
type: Boolean,
default: false
},
required: {
type: Boolean,
default: false
},
size: { default: void 0 },
state: {
type: [Boolean, null],
default: null
},
step: { default: void 0 },
weekStartsOn: { default: void 0 },
weekdayFormat: { default: void 0 }
}, {
"modelValue": { default: null },
"modelModifiers": {},
"open": {
type: Boolean,
default: false
},
"openModifiers": {},
"placeholder": {},
"placeholderModifiers": {}
}),
emits: [
"update:modelValue",
"update:open",
"update:placeholder"
],
setup(__props) {
const props = useDefaults(__props, "BDatePicker");
const modelValue = useModel(__props, "modelValue");
const openModel = useModel(__props, "open");
const placeholderModel = useModel(__props, "placeholder");
const computedId = useId$1(() => props.id, "date-picker");
const computedFieldClasses = computed(() => ({
"disabled": props.disabled,
"readonly": props.readonly,
"is-valid": props.state === true,
"is-invalid": props.state === false,
[`form-control-${props.size}`]: props.size !== void 0
}));
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(DatePickerRoot_default), {
id: unref(computedId),
modelValue: modelValue.value,
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => modelValue.value = $event),
open: openModel.value,
"onUpdate:open": _cache[1] || (_cache[1] = ($event) => openModel.value = $event),
placeholder: placeholderModel.value,
"onUpdate:placeholder": _cache[2] || (_cache[2] = ($event) => placeholderModel.value = $event),
"default-value": unref(props).defaultValue,
"default-placeholder": unref(props).defaultPlaceholder,
"hour-cycle": unref(props).hourCycle,
step: unref(props).step,
granularity: unref(props).granularity,
"hide-time-zone": unref(props).hideTimeZone,
"max-value": unref(props).maxValue,
"min-value": unref(props).minValue,
locale: unref(props).locale,
disabled: unref(props).disabled,
readonly: unref(props).readonly,
name: unref(props).name,
required: unref(props).required,
dir: unref(props).dir,
"is-date-unavailable": unref(props).isDateUnavailable,
"is-date-disabled": unref(props).isDateDisabled,
"close-on-select": unref(props).closeOnSelect,
"default-open": unref(props).defaultOpen,
modal: unref(props).modal,
"number-of-months": unref(props).numberOfMonths,
"paged-navigation": unref(props).pagedNavigation,
"week-starts-on": unref(props).weekStartsOn,
"weekday-format": unref(props).weekdayFormat,
"fixed-weeks": unref(props).fixedWeeks,
"prevent-deselect": unref(props).preventDeselect
}, {
default: withCtx(() => [createVNode(unref(DatePickerField_default), { class: normalizeClass(["b-date-picker-field form-control d-inline-flex align-items-center gap-0", computedFieldClasses.value]) }, {
default: withCtx(({ segments }) => [renderSlot(_ctx.$slots, "field", { segments }, () => [(openBlock(true), createElementBlock(Fragment, null, renderList(segments, ({ part, value }) => {
return openBlock(), createElementBlock(Fragment, { key: part }, [part === "literal" ? (openBlock(), createBlock(unref(DatePickerInput_default), {
key: 0,
part,
class: "b-date-picker-literal"
}, {
default: withCtx(() => [createTextVNode(toDisplayString(value), 1)]),
_: 2
}, 1032, ["part"])) : (openBlock(), createBlock(unref(DatePickerInput_default), {
key: 1,
part,
class: "b-date-picker-segment"
}, {
default: withCtx(() => [createTextVNode(toDisplayString(value), 1)]),
_: 2
}, 1032, ["part"]))], 64);
}), 128))]), createVNode(unref(DatePickerTrigger_default), {
class: normalizeClass(["btn btn-outline-secondary b-date-picker-trigger ms-auto", [unref(props).size ? `btn-${unref(props).size}` : ""]]),
disabled: unref(props).disabled
}, {
default: withCtx(() => [renderSlot(_ctx.$slots, "trigger-icon", {}, () => [_cache[3] || (_cache[3] = createElementVNode("svg", {
xmlns: "http://www.w3.org/2000/svg",
width: "16",
height: "16",
fill: "currentColor",
viewBox: "0 0 16 16"
}, [createElementVNode("path", { d: "M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5M1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z" })], -1))])]),
_: 3
}, 8, ["class", "disabled"])]),
_: 3
}, 8, ["class"]), createVNode(unref(DatePickerContent_default), {
"side-offset": 4,
class: "b-date-picker-content dropdown-menu show p-2"
}, {
default: withCtx(() => [createVNode(unref(DatePickerCalendar_default), null, {
default: withCtx(({ weekDays, grid }) => [renderSlot(_ctx.$slots, "calendar", {
weekDays,
grid
}, () => [createVNode(unref(DatePickerHeader_default), { class: "d-flex align-items-center justify-content-between mb-2" }, {
default: withCtx(() => [
createVNode(unref(DatePickerPrev_default), { class: "btn btn-sm btn-outline-secondary" }, {
default: withCtx(() => [renderSlot(_ctx.$slots, "prev-icon", {}, () => [_cache[4] || (_cache[4] = createElementVNode("svg", {
xmlns: "http://www.w3.org/2000/svg",
width: "16",
height: "16",
fill: "currentColor",
viewBox: "0 0 16 16"
}, [createElementVNode("path", {
"fill-rule": "evenodd",
d: "M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0"
})], -1))])]),
_: 3
}),
createVNode(unref(DatePickerHeading_default), { class: "fw-semibold" }),
createVNode(unref(DatePickerNext_default), { class: "btn btn-sm btn-outline-secondary" }, {
default: withCtx(() => [renderSlot(_ctx.$slots, "next-icon", {}, () => [_cache[5] || (_cache[5] = createElementVNode("svg", {
xmlns: "http://www.w3.org/2000/svg",
width: "16",
height: "16",
fill: "currentColor",
viewBox: "0 0 16 16"
}, [createElementVNode("path", {
"fill-rule": "evenodd",
d: "M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708"
})], -1))])]),
_: 3
})
]),
_: 3
}), createElementVNode("div", _hoisted_1$1, [(openBlock(true), createElementBlock(Fragment, null, renderList(grid, (month) => {
return openBlock(), createBlock(unref(DatePickerGrid_default), { key: month.value.toString() }, {
default: withCtx(() => [createVNode(unref(DatePickerGridHead_default), null, {
default: withCtx(() => [createVNode(unref(DatePickerGridRow_default), { class: "b-date-picker-weekdays" }, {
default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(weekDays, (day) => {
return openBlock(), createBlock(unref(DatePickerHeadCell_default), {
key: day,
class: "b-date-picker-head-cell"
}, {
default: withCtx(() => [createTextVNode(toDisplayString(day), 1)]),
_: 2
}, 1024);
}), 128))]),
_: 2
}, 1024)]),
_: 2
}, 1024), createVNode(unref(DatePickerGridBody_default), null, {
default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(month.rows, (weekDates, index) => {
return openBlock(), createBlock(unref(DatePickerGridRow_default), { key: `weekDate-${index}` }, {
default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(weekDates, (weekDate) => {
return openBlock(), createBlock(unref(DatePickerCell_default), {
key: weekDate.toString(),
date: weekDate,
class: "b-date-picker-cell"
}, {
default: withCtx(() => [createVNode(unref(DatePickerCellTrigger_default), {
day: weekDate,
month: month.value,
class: "b-date-picker-cell-trigger"
}, null, 8, ["day", "month"])]),
_: 2
}, 1032, ["date"]);
}), 128))]),
_: 2
}, 1024);
}), 128))]),
_: 2
}, 1024)]),
_: 2
}, 1024);
}), 128))])])]),
_: 3
})]),
_: 3
})]),
_: 3
}, 8, [
"id",
"modelValue",
"open",
"placeholder",
"default-value",
"default-placeholder",
"hour-cycle",
"step",
"granularity",
"hide-time-zone",
"max-value",
"min-value",
"locale",
"disabled",
"readonly",
"name",
"required",
"dir",
"is-date-unavailable",
"is-date-disabled",
"close-on-select",
"default-open",
"modal",
"number-of-months",
"paged-navigation",
"week-starts-on",
"weekday-format",
"fixed-weeks",
"prevent-deselect"
]);
};
}
});
//#endregion
//#region src/components/BDatePicker/BDateRangePicker.vue?vue&type=script&setup=true&lang.ts
var _hoisted_1 = { class: "d-flex gap-2" };
//#endregion
//#region src/components/BDatePicker/BDateRangePicker.vue
var BDateRangePicker_default = /* @__PURE__ */ defineComponent({
__name: "BDateRangePicker",
props: /*@__PURE__*/ mergeModels({
allowNonContiguousRanges: {
type: Boolean,
default: false
},
closeOnSelect: {
type: Boolean,
default: true
},
defaultOpen: {
type: Boolean,
default: false
},
defaultPlaceholder: { default: void 0 },
defaultValue: { default: void 0 },
dir: { default: void 0 },
disabled: {
type: Boolean,
default: false
},
fixedDate: { default: void 0 },
fixedWeeks: {
type: Boolean,
default: false
},
granularity: { default: void 0 },
hideTimeZone: {
type: Boolean,
default: void 0
},
hourCycle: { default: void 0 },
id: { default: void 0 },
isDateDisabled: {
type: Function,
default: void 0
},
isDateHighlightable: {
type: Function,
default: void 0
},
isDateUnavailable: {
type: Function,
default: void 0
},
locale: { default: void 0 },
maxValue: { default: void 0 },
maximumDays: { default: void 0 },
minValue: { default: void 0 },
modal: {
type: Boolean,
default: false
},
name: { default: void 0 },
numberOfMonths: { default: 1 },
pagedNavigation: {
type: Boolean,
default: false
},
preventDeselect: {
type: Boolean,
default: false
},
readonly: {
type: Boolean,
default: false
},
required: {
type: Boolean,
default: false
},
size: { default: void 0 },
state: {
type: [Boolean, null],
default: null
},
step: { default: void 0 },
weekStartsOn: { default: void 0 },
weekdayFormat: { default: void 0 }
}, {
"modelValue": { default: null },
"modelModifiers": {},
"open": {
type: Boolean,
default: false
},
"openModifiers": {},
"placeholder": {},
"placeholderModifiers": {}
}),
emits: /*@__PURE__*/ mergeModels(["update:placeholder", "update:startValue"], [
"update:modelValue",
"update:open",
"update:placeholder"
]),
setup(__props, { emit: __emit }) {
const props = useDefaults(__props, "BDateRangePicker");
const emit = __emit;
const modelValue = useModel(__props, "modelValue");
const openModel = useModel(__props, "open");
const placeholderModel = useModel(__props, "placeholder");
const computedId = useId$1(() => props.id, "date-range-picker");
const computedFieldClasses = computed(() => ({
"disabled": props.disabled,
"readonly": props.readonly,
"is-valid": props.state === true,
"is-invalid": props.state === false,
[`form-control-${props.size}`]: props.size !== void 0
}));
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(DateRangePickerRoot_default), {
id: unref(computedId),
modelValue: modelValue.value,
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => modelValue.value = $event),
open: openModel.value,
"onUpdate:open": _cache[1] || (_cache[1] = ($event) => openModel.value = $event),
placeholder: placeholderModel.value,
"onUpdate:placeholder": _cache[2] || (_cache[2] = ($event) => placeholderModel.value = $event),
"default-value": unref(props).defaultValue,
"default-placeholder": unref(props).defaultPlaceholder,
"hour-cycle": unref(props).hourCycle,
step: unref(props).step,
granularity: unref(props).granularity,
"hide-time-zone": unref(props).hideTimeZone,
"max-value": unref(props).maxValue,
"min-value": unref(props).minValue,
locale: unref(props).locale,
disabled: unref(props).disabled,
readonly: unref(props).readonly,
name: unref(props).name,
required: unref(props).required,
dir: unref(props).dir,
"is-date-unavailable": unref(props).isDateUnavailable,
"is-date-disabled": unref(props).isDateDisabled,
"close-on-select": unref(props).closeOnSelect,
"default-open": unref(props).defaultOpen,
modal: unref(props).modal,
"number-of-months": unref(props).numberOfMonths,
"paged-navigation": unref(props).pagedNavigation,
"week-starts-on": unref(props).weekStartsOn,
"weekday-format": unref(props).weekdayFormat,
"fixed-weeks": unref(props).fixedWeeks,
"prevent-deselect": unref(props).preventDeselect,
"allow-non-contiguous-ranges": unref(props).allowNonContiguousRanges,
"fixed-date": unref(props).fixedDate,
"maximum-days": unref(props).maximumDays,
"is-date-highlightable": unref(props).isDateHighlightable,
"onUpdate:startValue": _cache[3] || (_cache[3] = (val) => emit("update:startValue", val))
}, {
default: withCtx(() => [createVNode(unref(DateRangePickerField_default), { class: normalizeClass(["b-date-range-picker-field form-control d-inline-flex align-items-center gap-0", computedFieldClasses.value]) }, {
default: withCtx(({ segments }) => [renderSlot(_ctx.$slots, "field", { segments }, () => [
(openBlock(true), createElementBlock(Fragment, null, renderList(segments.start, ({ part, value }) => {
return openBlock(), createElementBlock(Fragment, { key: `start-${part}` }, [part === "literal" ? (openBlock(), createBlock(unref(DateRangePickerInput_default), {
key: 0,
type: "start",
part,
class: "b-date-range-picker-literal"
}, {
default: withCtx(() => [createTextVNode(toDisplayString(value), 1)]),
_: 2
}, 1032, ["part"])) : (openBlock(), createBlock(unref(DateRangePickerInput_default), {
key: 1,
type: "start",
part,
class: "b-date-range-picker-segment"
}, {
default: withCtx(() => [createTextVNode(toDisplayString(value), 1)]),
_: 2
}, 1032, ["part"]))], 64);
}), 128)),
_cache[4] || (_cache[4] = createElementVNode("span", {
class: "b-date-range-picker-separator",
"aria-hidden": "true"
}, " – ", -1)),
(openBlock(true), createElementBlock(Fragment, null, renderList(segments.end, ({ part, value }) => {
return openBlock(), createElementBlock(Fragment, { key: `end-${part}` }, [part === "literal" ? (openBlock(), createBlock(unref(DateRangePickerInput_default), {
key: 0,
type: "end",
part,
class: "b-date-range-picker-literal"
}, {
default: withCtx(() => [createTextVNode(toDisplayString(value), 1)]),
_: 2
}, 1032, ["part"])) : (openBlock(), createBlock(unref(DateRangePickerInput_default), {
key: 1,
type: "end",
part,
class: "b-date-range-picker-segment"
}, {
default: withCtx(() => [createTextVNode(toDisplayString(value), 1)]),
_: 2
}, 1032, ["part"]))], 64);
}), 128))
]), createVNode(unref(DateRangePickerTrigger_default), {
class: normalizeClass(["btn btn-outline-secondary b-date-range-picker-trigger ms-auto", [unref(props).size ? `btn-${unref(props).size}` : ""]]),
disabled: unref(props).disabled
}, {
default: withCtx(() => [renderSlot(_ctx.$slots, "trigger-icon", {}, () => [_cache[5] || (_cache[5] = createElementVNode("svg", {
xmlns: "http://www.w3.org/2000/svg",
width: "16",
height: "16",
fill: "currentColor",
viewBox: "0 0 16 16"
}, [createElementVNode("path", { d: "M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5M1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z" })], -1))])]),
_: 3
}, 8, ["class", "disabled"])]),
_: 3
}, 8, ["class"]), createVNode(unref(DateRangePickerContent_default), {
"side-offset": 4,
class: "b-date-range-picker-content dropdown-menu show p-2"
}, {
default: withCtx(() => [createVNode(unref(DateRangePickerCalendar_default), null, {
default: withCtx(({ weekDays, grid }) => [renderSlot(_ctx.$slots, "calendar", {
weekDays,
grid
}, () => [createVNode(unref(DateRangePickerHeader_default), { class: "d-flex align-items-center justify-content-between mb-2" }, {
default: withCtx(() => [
createVNode(unref(DateRangePickerPrev_default), { class: "btn btn-sm btn-outline-secondary" }, {
default: withCtx(() => [renderSlot(_ctx.$slots, "prev-icon", {}, () => [_cache[6] || (_cache[6] = createElementVNode("svg", {
xmlns: "http://www.w3.org/2000/svg",
width: "16",
height: "16",
fill: "currentColor",
viewBox: "0 0 16 16"
}, [createElementVNode("path", {
"fill-rule": "evenodd",
d: "M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0"
})], -1))])]),
_: 3
}),
createVNode(unref(DateRangePickerHeading_default), { class: "fw-semibold" }),
createVNode(unref(DateRangePickerNext_default), { class: "btn btn-sm btn-outline-secondary" }, {
default: withCtx(() => [renderSlot(_ctx.$slots, "next-icon", {}, () => [_cache[7] || (_cache[7] = createElementVNode("svg", {
xmlns: "http://www.w3.org/2000/svg",
width: "16",
height: "16",
fill: "currentColor",
viewBox: "0 0 16 16"
}, [createElementVNode("path", {
"fill-rule": "evenodd",
d: "M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708"
})], -1))])]),
_: 3
})
]),
_: 3
}), createElementVNode("div", _hoisted_1, [(openBlock(true), createElementBlock(Fragment, null, renderList(grid, (month) => {
return openBlock(), createBlock(unref(DateRangePickerGrid_default), { key: month.value.toString() }, {
default: withCtx(() => [createVNode(unref(DateRangePickerGridHead_default), null, {
default: withCtx(() => [createVNode(unref(DateRangePickerGridRow_default), { class: "b-date-range-picker-weekdays" }, {
default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(weekDays, (day) => {
return openBlock(), createBlock(unref(DateRangePickerHeadCell_default), {
key: day,
class: "b-date-range-picker-head-cell"
}, {
default: withCtx(() => [createTextVNode(toDisplayString(day), 1)]),
_: 2
}, 1024);
}), 128))]),
_: 2
}, 1024)]),
_: 2
}, 1024), createVNode(unref(DateRangePickerGridBody_default), null, {
default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(month.rows, (weekDates, index) => {
return openBlock(), createBlock(unref(DateRangePickerGridRow_default), { key: `weekDate-${index}` }, {
default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(weekDates, (weekDate) => {
return openBlock(), createBlock(unref(DateRangePickerCell_default), {
key: weekDate.toString(),
date: weekDate,
class: "b-date-range-picker-cell"
}, {
default: withCtx(() => [createVNode(unref(DateRangePickerCellTrigger_default), {
day: weekDate,
month: month.value,
class: "b-date-range-picker-cell-trigger"
}, null, 8, ["day", "month"])]),
_: 2
}, 1032, ["date"]);
}), 128))]),
_: 2
}, 1024);
}), 128))]),
_: 2
}, 1024)]),
_: 2
}, 1024);
}), 128))])])]),
_: 3
})]),
_: 3
})]),
_: 3
}, 8, [
"id",
"modelValue",
"open",
"placeholder",
"default-value",
"default-placeholder",
"hour-cycle",
"step",
"granularity",
"hide-time-zone",
"max-value",
"min-value",
"locale",
"disabled",
"readonly",
"name",
"required",
"dir",
"is-date-unavailable",
"is-date-disabled",
"close-on-select",
"default-open",
"modal",
"number-of-months",
"paged-navigation",
"week-starts-on",
"weekday-format",
"fixed-weeks",
"prevent-deselect",
"allow-non-contiguous-ranges",
"fixed-date",
"maximum-days",
"is-date-highlightable"
]);
};
}
});
//#endregion
export { BDatePicker_default as n, BDateRangePicker_default as t };
//# sourceMappingURL=BDatePicker-AVTYcVLy.js.map