UNPKG

bootstrap-vue-next

Version:

Seamless integration of Vue 3, Bootstrap 5, and TypeScript for modern, type-safe UI development

1 lines 54.4 kB
{"version":3,"file":"BDateField-CRFFJ4Sj.mjs","names":["today","getLocalTimeZone","toCalendarDateTime","Time"],"sources":["../../../node_modules/.pnpm/reka-ui@2.9.2_vue@3.5.31_typescript@5.9.3_/node_modules/reka-ui/dist/TimeRangeField/TimeRangeFieldRoot.js","../../../node_modules/.pnpm/reka-ui@2.9.2_vue@3.5.31_typescript@5.9.3_/node_modules/reka-ui/dist/TimeRangeField/TimeRangeFieldInput.js","../src/components/BDateField/BDateField.vue","../src/components/BDateField/BDateField.vue","../src/components/BDateField/BDateRangeField.vue","../src/components/BDateField/BDateRangeField.vue","../src/components/BDateField/BTimeRangeField.vue","../src/components/BDateField/BTimeRangeField.vue"],"sourcesContent":["import { createContext } from \"../shared/createContext.js\";\nimport { isNullish } from \"../shared/nullish.js\";\nimport { areAllDaysBetweenValid, getDefaultTime, isBefore, isBeforeOrSame } from \"../date/comparators.js\";\nimport { normalizeDateStep, normalizeHourCycle } from \"../date/utils.js\";\nimport { useDateFormatter } from \"../shared/useDateFormatter.js\";\nimport { useDirection } from \"../shared/useDirection.js\";\nimport { useKbd } from \"../shared/useKbd.js\";\nimport { useLocale } from \"../shared/useLocale.js\";\nimport { Primitive } from \"../Primitive/Primitive.js\";\nimport { usePrimitiveElement } from \"../Primitive/usePrimitiveElement.js\";\nimport { VisuallyHidden_default } from \"../VisuallyHidden/VisuallyHidden.js\";\nimport { createContent, initializeTimeSegmentValues, syncSegmentValues, syncTimeSegmentValues } from \"../date/parser.js\";\nimport { getTimeFieldSegmentElements, isSegmentNavigationKey } from \"../date/segment.js\";\nimport { computed, createBlock, createVNode, defineComponent, mergeProps, nextTick, onMounted, openBlock, ref, renderSlot, toRefs, unref, watch, withCtx, withKeys } from \"vue\";\nimport { useVModel } from \"@vueuse/core\";\nimport { Time, getLocalTimeZone, toCalendarDateTime, today } from \"@internationalized/date\";\n\n//#region src/TimeRangeField/TimeRangeFieldRoot.vue?vue&type=script&setup=true&lang.ts\nconst [injectTimeRangeFieldRootContext, provideTimeRangeFieldRootContext] = createContext(\"TimeRangeFieldRoot\");\nfunction convertValue(value, date = today(getLocalTimeZone())) {\n\tif (value && \"day\" in value) return value;\n\treturn toCalendarDateTime(date, value);\n}\nvar TimeRangeFieldRoot_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({\n\tinheritAttrs: false,\n\t__name: \"TimeRangeFieldRoot\",\n\tprops: {\n\t\tdefaultValue: {\n\t\t\ttype: Object,\n\t\t\trequired: false,\n\t\t\tdefault: void 0\n\t\t},\n\t\tdefaultPlaceholder: {\n\t\t\ttype: Object,\n\t\t\trequired: false\n\t\t},\n\t\tplaceholder: {\n\t\t\ttype: Object,\n\t\t\trequired: false,\n\t\t\tdefault: void 0\n\t\t},\n\t\tmodelValue: {\n\t\t\ttype: [Object, null],\n\t\t\trequired: false\n\t\t},\n\t\thourCycle: {\n\t\t\ttype: null,\n\t\t\trequired: false\n\t\t},\n\t\tstep: {\n\t\t\ttype: Object,\n\t\t\trequired: false\n\t\t},\n\t\tgranularity: {\n\t\t\ttype: String,\n\t\t\trequired: false\n\t\t},\n\t\thideTimeZone: {\n\t\t\ttype: Boolean,\n\t\t\trequired: false\n\t\t},\n\t\tmaxValue: {\n\t\t\ttype: Object,\n\t\t\trequired: false\n\t\t},\n\t\tminValue: {\n\t\t\ttype: Object,\n\t\t\trequired: false\n\t\t},\n\t\tlocale: {\n\t\t\ttype: String,\n\t\t\trequired: false\n\t\t},\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\trequired: false,\n\t\t\tdefault: false\n\t\t},\n\t\treadonly: {\n\t\t\ttype: Boolean,\n\t\t\trequired: false,\n\t\t\tdefault: false\n\t\t},\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: false\n\t\t},\n\t\tdir: {\n\t\t\ttype: String,\n\t\t\trequired: false\n\t\t},\n\t\tisTimeUnavailable: {\n\t\t\ttype: Function,\n\t\t\trequired: false,\n\t\t\tdefault: void 0\n\t\t},\n\t\tasChild: {\n\t\t\ttype: Boolean,\n\t\t\trequired: false\n\t\t},\n\t\tas: {\n\t\t\ttype: null,\n\t\t\trequired: false\n\t\t},\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: false\n\t\t},\n\t\trequired: {\n\t\t\ttype: Boolean,\n\t\t\trequired: false\n\t\t}\n\t},\n\temits: [\"update:modelValue\", \"update:placeholder\"],\n\tsetup(__props, { expose: __expose, emit: __emit }) {\n\t\tconst props = __props;\n\t\tconst emits = __emit;\n\t\tconst { disabled, readonly, granularity, defaultValue, minValue, maxValue, dir: propDir, locale: propLocale, isTimeUnavailable: propsIsTimeUnavailable } = toRefs(props);\n\t\tconst locale = useLocale(propLocale);\n\t\tconst dir = useDirection(propDir);\n\t\tconst formatter = useDateFormatter(locale.value, { hourCycle: normalizeHourCycle(props.hourCycle) });\n\t\tconst { primitiveElement, currentElement: parentElement } = usePrimitiveElement();\n\t\tconst segmentElements = ref(/* @__PURE__ */ new Set());\n\t\tconst step = computed(() => normalizeDateStep(props));\n\t\tconst convertedMinValue = computed(() => minValue.value ? convertValue(minValue.value) : void 0);\n\t\tconst convertedMaxValue = computed(() => maxValue.value ? convertValue(maxValue.value) : void 0);\n\t\tonMounted(() => {\n\t\t\tgetTimeFieldSegmentElements(parentElement.value).forEach((item) => segmentElements.value.add(item));\n\t\t});\n\t\tconst modelValue = useVModel(props, \"modelValue\", emits, {\n\t\t\tdefaultValue: defaultValue.value ?? {\n\t\t\t\tstart: void 0,\n\t\t\t\tend: void 0\n\t\t\t},\n\t\t\tpassive: props.modelValue === void 0\n\t\t});\n\t\tconst isStartInvalid = computed(() => {\n\t\t\tif (!modelValue.value?.start) return false;\n\t\t\tconst convertedStartValue$1 = convertValue(modelValue.value.start);\n\t\t\tif (propsIsTimeUnavailable.value?.(convertedStartValue$1)) return true;\n\t\t\tif (convertedMinValue.value && isBefore(convertedStartValue$1, convertedMinValue.value)) return true;\n\t\t\tif (convertedMaxValue.value && isBefore(convertedMaxValue.value, convertedStartValue$1)) return true;\n\t\t\treturn false;\n\t\t});\n\t\tconst isEndInvalid = computed(() => {\n\t\t\tif (!modelValue.value?.end) return false;\n\t\t\tconst convertedEndValue$1 = convertValue(modelValue.value.end);\n\t\t\tif (propsIsTimeUnavailable.value?.(convertedEndValue$1)) return true;\n\t\t\tif (convertedMinValue.value && isBefore(convertedEndValue$1, convertedMinValue.value)) return true;\n\t\t\tif (convertedMaxValue.value && isBefore(convertedMaxValue.value, convertedEndValue$1)) return true;\n\t\t\treturn false;\n\t\t});\n\t\tconst isInvalid = computed(() => {\n\t\t\tif (isStartInvalid.value || isEndInvalid.value) return true;\n\t\t\tif (!modelValue.value?.start || !modelValue.value?.end) return false;\n\t\t\tconst convertedModelValue$1 = {\n\t\t\t\tstart: convertValue(modelValue.value.start),\n\t\t\t\tend: convertValue(modelValue.value.end)\n\t\t\t};\n\t\t\tif (!isBeforeOrSame(convertedModelValue$1.start, convertedModelValue$1.end)) return true;\n\t\t\tif (propsIsTimeUnavailable.value !== void 0) {\n\t\t\t\tconst allValid = areAllDaysBetweenValid(convertedModelValue$1.start, convertedModelValue$1.end, propsIsTimeUnavailable.value, void 0);\n\t\t\t\tif (!allValid) return true;\n\t\t\t}\n\t\t\treturn false;\n\t\t});\n\t\tconst startValue = ref(modelValue.value?.start?.copy());\n\t\tconst endValue = ref(modelValue.value?.end?.copy());\n\t\twatch([startValue, endValue], ([_startValue, _endValue]) => {\n\t\t\tmodelValue.value = {\n\t\t\t\tstart: _startValue?.copy(),\n\t\t\t\tend: _endValue?.copy()\n\t\t\t};\n\t\t});\n\t\tconst convertedStartValue = computed({\n\t\t\tget() {\n\t\t\t\tif (isNullish(startValue.value)) return startValue.value;\n\t\t\t\treturn convertValue(startValue.value);\n\t\t\t},\n\t\t\tset(newValue) {\n\t\t\t\tif (newValue) startValue.value = startValue.value && \"day\" in startValue.value ? newValue : new Time(newValue.hour, newValue.minute, newValue.second, startValue.value?.millisecond);\n\t\t\t\telse startValue.value = newValue;\n\t\t\t\treturn newValue;\n\t\t\t}\n\t\t});\n\t\tconst convertedEndValue = computed({\n\t\t\tget() {\n\t\t\t\tif (isNullish(endValue.value)) return endValue.value;\n\t\t\t\treturn convertValue(endValue.value);\n\t\t\t},\n\t\t\tset(newValue) {\n\t\t\t\tif (newValue) endValue.value = endValue.value && \"day\" in endValue.value ? newValue : new Time(newValue.hour, newValue.minute, newValue.second, endValue.value?.millisecond);\n\t\t\t\telse endValue.value = newValue;\n\t\t\t\treturn newValue;\n\t\t\t}\n\t\t});\n\t\tconst convertedModelValue = computed(() => ({\n\t\t\tstart: convertedStartValue.value,\n\t\t\tend: convertedEndValue.value\n\t\t}));\n\t\tconst defaultDate = getDefaultTime({\n\t\t\tdefaultPlaceholder: props.placeholder,\n\t\t\tdefaultValue: modelValue.value?.start\n\t\t});\n\t\tconst placeholder = useVModel(props, \"placeholder\", emits, {\n\t\t\tdefaultValue: props.defaultPlaceholder ?? defaultDate.copy(),\n\t\t\tpassive: props.placeholder === void 0\n\t\t});\n\t\tconst convertedPlaceholder = computed({\n\t\t\tget() {\n\t\t\t\treturn convertValue(placeholder.value);\n\t\t\t},\n\t\t\tset(newValue) {\n\t\t\t\tif (newValue) placeholder.value = \"day\" in placeholder.value ? newValue.copy() : new Time(newValue.hour, newValue.minute, newValue.second, placeholder.value?.millisecond);\n\t\t\t\treturn newValue;\n\t\t\t}\n\t\t});\n\t\tconst inferredGranularity = computed(() => {\n\t\t\tif (granularity.value) return granularity.value;\n\t\t\treturn \"minute\";\n\t\t});\n\t\tconst initialSegments = initializeTimeSegmentValues(inferredGranularity.value);\n\t\tconst startSegmentValues = ref(convertedStartValue.value ? { ...syncTimeSegmentValues({\n\t\t\tvalue: convertedStartValue.value,\n\t\t\tformatter\n\t\t}) } : { ...initialSegments });\n\t\tconst endSegmentValues = ref(convertedEndValue.value ? { ...syncTimeSegmentValues({\n\t\t\tvalue: convertedEndValue.value,\n\t\t\tformatter\n\t\t}) } : { ...initialSegments });\n\t\tconst startSegmentContent = computed(() => createContent({\n\t\t\tgranularity: inferredGranularity.value,\n\t\t\tdateRef: convertedPlaceholder.value,\n\t\t\tformatter,\n\t\t\thideTimeZone: props.hideTimeZone,\n\t\t\thourCycle: props.hourCycle,\n\t\t\tsegmentValues: startSegmentValues.value,\n\t\t\tlocale,\n\t\t\tisTimeValue: true\n\t\t}));\n\t\tconst endSegmentContent = computed(() => createContent({\n\t\t\tgranularity: inferredGranularity.value,\n\t\t\tdateRef: convertedPlaceholder.value,\n\t\t\tformatter,\n\t\t\thideTimeZone: props.hideTimeZone,\n\t\t\thourCycle: props.hourCycle,\n\t\t\tsegmentValues: endSegmentValues.value,\n\t\t\tlocale,\n\t\t\tisTimeValue: true\n\t\t}));\n\t\tconst segmentContents = computed(() => ({\n\t\t\tstart: startSegmentContent.value.arr,\n\t\t\tend: endSegmentContent.value.arr\n\t\t}));\n\t\tconst editableSegmentContents = computed(() => ({\n\t\t\tstart: segmentContents.value.start.filter(({ part }) => part !== \"literal\"),\n\t\t\tend: segmentContents.value.end.filter(({ part }) => part !== \"literal\")\n\t\t}));\n\t\twatch(convertedModelValue, (_modelValue) => {\n\t\t\tconst isStartChanged = _modelValue?.start && convertedStartValue.value ? _modelValue.start.compare(convertedStartValue.value) !== 0 : _modelValue?.start !== convertedStartValue.value;\n\t\t\tif (isStartChanged) convertedStartValue.value = _modelValue?.start?.copy();\n\t\t\tconst isEndChanged = _modelValue?.end && convertedEndValue.value ? _modelValue.end.compare(convertedEndValue.value) !== 0 : _modelValue?.end !== convertedEndValue.value;\n\t\t\tif (isEndChanged) convertedEndValue.value = _modelValue?.end?.copy();\n\t\t});\n\t\twatch([convertedStartValue, locale], ([_startValue]) => {\n\t\t\tif (_startValue !== void 0) startSegmentValues.value = { ...syncSegmentValues({\n\t\t\t\tvalue: _startValue,\n\t\t\t\tformatter\n\t\t\t}) };\n\t\t\telse if (Object.values(startSegmentValues.value).every((value) => value !== null) && _startValue === void 0) startSegmentValues.value = { ...initialSegments };\n\t\t});\n\t\twatch(locale, (value) => {\n\t\t\tif (formatter.getLocale() !== value) {\n\t\t\t\tformatter.setLocale(value);\n\t\t\t\tnextTick(() => {\n\t\t\t\t\tsegmentElements.value.clear();\n\t\t\t\t\tgetTimeFieldSegmentElements(parentElement.value).forEach((item) => segmentElements.value.add(item));\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\twatch(convertedModelValue, (_modelValue) => {\n\t\t\tif (_modelValue && _modelValue.start !== void 0 && placeholder.value.compare(_modelValue.start) !== 0) placeholder.value = _modelValue.start.copy();\n\t\t});\n\t\twatch([convertedEndValue, locale], ([_endValue]) => {\n\t\t\tif (_endValue !== void 0) endSegmentValues.value = { ...syncSegmentValues({\n\t\t\t\tvalue: _endValue,\n\t\t\t\tformatter\n\t\t\t}) };\n\t\t\telse if (Object.values(endSegmentValues.value).every((value) => value !== null) && _endValue === void 0) endSegmentValues.value = { ...initialSegments };\n\t\t});\n\t\tconst currentFocusedElement = ref(null);\n\t\tconst currentSegmentIndex = computed(() => Array.from(segmentElements.value).findIndex((el) => el.getAttribute(\"data-reka-time-field-segment\") === currentFocusedElement.value?.getAttribute(\"data-reka-time-field-segment\") && el.getAttribute(\"data-reka-time-range-field-segment-type\") === currentFocusedElement.value?.getAttribute(\"data-reka-time-range-field-segment-type\")));\n\t\tconst nextFocusableSegment = computed(() => {\n\t\t\tconst sign = dir.value === \"rtl\" ? -1 : 1;\n\t\t\tconst nextCondition = sign < 0 ? currentSegmentIndex.value < 0 : currentSegmentIndex.value > segmentElements.value.size - 1;\n\t\t\tif (nextCondition) return null;\n\t\t\tconst segmentToFocus = Array.from(segmentElements.value)[currentSegmentIndex.value + sign];\n\t\t\treturn segmentToFocus;\n\t\t});\n\t\tconst prevFocusableSegment = computed(() => {\n\t\t\tconst sign = dir.value === \"rtl\" ? -1 : 1;\n\t\t\tconst prevCondition = sign > 0 ? currentSegmentIndex.value < 0 : currentSegmentIndex.value > segmentElements.value.size - 1;\n\t\t\tif (prevCondition) return null;\n\t\t\tconst segmentToFocus = Array.from(segmentElements.value)[currentSegmentIndex.value - sign];\n\t\t\treturn segmentToFocus;\n\t\t});\n\t\tconst kbd = useKbd();\n\t\tfunction handleKeydown(e) {\n\t\t\tif (!isSegmentNavigationKey(e.key)) return;\n\t\t\tif (e.key === kbd.ARROW_LEFT) prevFocusableSegment.value?.focus();\n\t\t\tif (e.key === kbd.ARROW_RIGHT) nextFocusableSegment.value?.focus();\n\t\t}\n\t\tfunction setFocusedElement(el) {\n\t\t\tcurrentFocusedElement.value = el;\n\t\t}\n\t\tprovideTimeRangeFieldRootContext({\n\t\t\tlocale,\n\t\t\tstartValue: convertedStartValue,\n\t\t\tendValue: convertedEndValue,\n\t\t\tplaceholder: convertedPlaceholder,\n\t\t\tdisabled,\n\t\t\tformatter,\n\t\t\thourCycle: props.hourCycle,\n\t\t\tstep,\n\t\t\treadonly,\n\t\t\tisInvalid,\n\t\t\tsegmentValues: {\n\t\t\t\tstart: startSegmentValues,\n\t\t\t\tend: endSegmentValues\n\t\t\t},\n\t\t\tsegmentContents: editableSegmentContents,\n\t\t\telements: segmentElements,\n\t\t\tsetFocusedElement,\n\t\t\tfocusNext() {\n\t\t\t\tnextFocusableSegment.value?.focus();\n\t\t\t}\n\t\t});\n\t\t__expose({ setFocusedElement });\n\t\treturn (_ctx, _cache) => {\n\t\t\treturn openBlock(), createBlock(unref(Primitive), mergeProps(_ctx.$attrs, {\n\t\t\t\tref_key: \"primitiveElement\",\n\t\t\t\tref: primitiveElement,\n\t\t\t\trole: \"group\",\n\t\t\t\t\"aria-disabled\": unref(disabled) ? true : void 0,\n\t\t\t\t\"data-disabled\": unref(disabled) ? \"\" : void 0,\n\t\t\t\t\"data-readonly\": unref(readonly) ? \"\" : void 0,\n\t\t\t\t\"data-invalid\": isInvalid.value ? \"\" : void 0,\n\t\t\t\tdir: unref(dir),\n\t\t\t\tonKeydown: withKeys(handleKeydown, [\"left\", \"right\"])\n\t\t\t}), {\n\t\t\t\tdefault: withCtx(() => [renderSlot(_ctx.$slots, \"default\", {\n\t\t\t\t\tmodelValue: unref(modelValue),\n\t\t\t\t\tsegments: segmentContents.value,\n\t\t\t\t\tisInvalid: isInvalid.value\n\t\t\t\t}), createVNode(unref(VisuallyHidden_default), {\n\t\t\t\t\tid: _ctx.id,\n\t\t\t\t\tas: \"input\",\n\t\t\t\t\tfeature: \"focusable\",\n\t\t\t\t\ttabindex: \"-1\",\n\t\t\t\t\tvalue: `${unref(modelValue)?.start?.toString()} - ${unref(modelValue)?.end?.toString()}`,\n\t\t\t\t\tname: _ctx.name,\n\t\t\t\t\tdisabled: unref(disabled),\n\t\t\t\t\trequired: _ctx.required,\n\t\t\t\t\tonFocus: _cache[0] || (_cache[0] = ($event) => Array.from(segmentElements.value)?.[0]?.focus())\n\t\t\t\t}, null, 8, [\n\t\t\t\t\t\"id\",\n\t\t\t\t\t\"value\",\n\t\t\t\t\t\"name\",\n\t\t\t\t\t\"disabled\",\n\t\t\t\t\t\"required\"\n\t\t\t\t])]),\n\t\t\t\t_: 3\n\t\t\t}, 16, [\n\t\t\t\t\"aria-disabled\",\n\t\t\t\t\"data-disabled\",\n\t\t\t\t\"data-readonly\",\n\t\t\t\t\"data-invalid\",\n\t\t\t\t\"dir\"\n\t\t\t]);\n\t\t};\n\t}\n});\n\n//#endregion\n//#region src/TimeRangeField/TimeRangeFieldRoot.vue\nvar TimeRangeFieldRoot_default = TimeRangeFieldRoot_vue_vue_type_script_setup_true_lang_default;\n\n//#endregion\nexport { TimeRangeFieldRoot_default, injectTimeRangeFieldRootContext };\n//# sourceMappingURL=TimeRangeFieldRoot.js.map","import { Primitive } from \"../Primitive/Primitive.js\";\nimport { useDateField } from \"../date/useDateField.js\";\nimport { injectTimeRangeFieldRootContext } from \"./TimeRangeFieldRoot.js\";\nimport { computed, createBlock, defineComponent, mergeProps, openBlock, ref, renderSlot, toHandlers, unref, withCtx } from \"vue\";\n\n//#region src/TimeRangeField/TimeRangeFieldInput.vue?vue&type=script&setup=true&lang.ts\nvar TimeRangeFieldInput_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({\n\t__name: \"TimeRangeFieldInput\",\n\tprops: {\n\t\tpart: {\n\t\t\ttype: null,\n\t\t\trequired: true\n\t\t},\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\trequired: true\n\t\t},\n\t\tasChild: {\n\t\t\ttype: Boolean,\n\t\t\trequired: false\n\t\t},\n\t\tas: {\n\t\t\ttype: null,\n\t\t\trequired: false\n\t\t}\n\t},\n\tsetup(__props) {\n\t\tconst props = __props;\n\t\tconst rootContext = injectTimeRangeFieldRootContext();\n\t\tconst hasLeftFocus = ref(true);\n\t\tconst lastKeyZero = ref(false);\n\t\tconst { handleSegmentClick, handleSegmentKeydown, attributes } = useDateField({\n\t\t\thasLeftFocus,\n\t\t\tlastKeyZero,\n\t\t\tplaceholder: rootContext.placeholder,\n\t\t\thourCycle: rootContext.hourCycle,\n\t\t\tstep: rootContext.step,\n\t\t\tsegmentValues: rootContext.segmentValues[props.type],\n\t\t\tformatter: rootContext.formatter,\n\t\t\tpart: props.part,\n\t\t\tdisabled: rootContext.disabled,\n\t\t\treadonly: rootContext.readonly,\n\t\t\tfocusNext: rootContext.focusNext,\n\t\t\tmodelValue: props.type === \"start\" ? rootContext.startValue : rootContext.endValue\n\t\t});\n\t\tconst disabled = computed(() => rootContext.disabled.value);\n\t\tconst readonly = computed(() => rootContext.readonly.value);\n\t\tconst isInvalid = computed(() => rootContext.isInvalid.value);\n\t\treturn (_ctx, _cache) => {\n\t\t\treturn openBlock(), createBlock(unref(Primitive), mergeProps({\n\t\t\t\tas: _ctx.as,\n\t\t\t\t\"as-child\": _ctx.asChild\n\t\t\t}, unref(attributes), {\n\t\t\t\tcontenteditable: disabled.value || readonly.value ? false : _ctx.part !== \"literal\",\n\t\t\t\t\"data-reka-time-field-segment\": _ctx.part,\n\t\t\t\t\"data-reka-time-range-field-segment-type\": _ctx.type,\n\t\t\t\t\"aria-disabled\": disabled.value ? true : void 0,\n\t\t\t\t\"aria-readonly\": readonly.value ? true : void 0,\n\t\t\t\t\"data-disabled\": disabled.value ? \"\" : void 0,\n\t\t\t\t\"data-invalid\": isInvalid.value ? \"\" : void 0,\n\t\t\t\t\"aria-invalid\": isInvalid.value ? true : void 0\n\t\t\t}, toHandlers(_ctx.part !== \"literal\" ? {\n\t\t\t\tmousedown: unref(handleSegmentClick),\n\t\t\t\tkeydown: unref(handleSegmentKeydown),\n\t\t\t\tfocusout: () => {\n\t\t\t\t\thasLeftFocus.value = true;\n\t\t\t\t},\n\t\t\t\tfocusin: (e) => {\n\t\t\t\t\tunref(rootContext).setFocusedElement(e.target);\n\t\t\t\t}\n\t\t\t} : {})), {\n\t\t\t\tdefault: withCtx(() => [renderSlot(_ctx.$slots, \"default\")]),\n\t\t\t\t_: 3\n\t\t\t}, 16, [\n\t\t\t\t\"as\",\n\t\t\t\t\"as-child\",\n\t\t\t\t\"contenteditable\",\n\t\t\t\t\"data-reka-time-field-segment\",\n\t\t\t\t\"data-reka-time-range-field-segment-type\",\n\t\t\t\t\"aria-disabled\",\n\t\t\t\t\"aria-readonly\",\n\t\t\t\t\"data-disabled\",\n\t\t\t\t\"data-invalid\",\n\t\t\t\t\"aria-invalid\"\n\t\t\t]);\n\t\t};\n\t}\n});\n\n//#endregion\n//#region src/TimeRangeField/TimeRangeFieldInput.vue\nvar TimeRangeFieldInput_default = TimeRangeFieldInput_vue_vue_type_script_setup_true_lang_default;\n\n//#endregion\nexport { TimeRangeFieldInput_default };\n//# sourceMappingURL=TimeRangeFieldInput.js.map","<template>\n <DateFieldRoot\n :id=\"computedId\"\n v-slot=\"{segments, isInvalid, modelValue: currentValue}\"\n v-model=\"modelValue\"\n v-model:placeholder=\"placeholderModel\"\n :default-value=\"props.defaultValue\"\n :default-placeholder=\"props.defaultPlaceholder\"\n :hour-cycle=\"props.hourCycle\"\n :step=\"props.step\"\n :granularity=\"props.granularity\"\n :hide-time-zone=\"props.hideTimeZone\"\n :max-value=\"props.maxValue\"\n :min-value=\"props.minValue\"\n :locale=\"props.locale\"\n :disabled=\"props.disabled\"\n :readonly=\"props.readonly\"\n :name=\"props.name\"\n :required=\"props.required\"\n :dir=\"props.dir\"\n :is-date-unavailable=\"props.isDateUnavailable\"\n :class=\"computedRootClasses\"\n class=\"b-date-field form-control d-inline-flex align-items-center gap-0\"\n >\n <slot :model-value=\"currentValue\" :segments=\"segments\" :is-invalid=\"isInvalid\">\n <template v-for=\"{part, value} in segments\" :key=\"part\">\n <DateFieldInput v-if=\"part === 'literal'\" :part=\"part\" class=\"b-date-field-literal\">\n {{ value }}\n </DateFieldInput>\n <DateFieldInput v-else :part=\"part\" class=\"b-date-field-segment\">\n {{ value }}\n </DateFieldInput>\n </template>\n </slot>\n </DateFieldRoot>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport {DateFieldInput, DateFieldRoot} from 'reka-ui'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BDateFieldSlots} from '../../types'\nimport type {BDateFieldProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(defineProps<Omit<BDateFieldProps, 'modelValue' | 'placeholder'>>(), {\n defaultPlaceholder: undefined,\n defaultValue: undefined,\n dir: undefined,\n disabled: false,\n granularity: undefined,\n hideTimeZone: undefined,\n hourCycle: undefined,\n id: undefined,\n isDateUnavailable: undefined,\n locale: undefined,\n maxValue: undefined,\n minValue: undefined,\n name: undefined,\n readonly: false,\n required: false,\n size: undefined,\n state: null,\n step: undefined,\n})\nconst props = useDefaults(_props, 'BDateField')\ndefineSlots<BDateFieldSlots>()\n\nconst modelValue = defineModel<Exclude<BDateFieldProps['modelValue'], undefined>>({\n default: null,\n})\n\nconst placeholderModel = defineModel<BDateFieldProps['placeholder']>('placeholder')\n\nconst computedId = useId(() => props.id, 'date-field')\n\nconst computedRootClasses = computed(() => ({\n 'disabled': props.disabled,\n 'readonly': props.readonly,\n 'is-valid': props.state === true,\n 'is-invalid': props.state === false,\n [`form-control-${props.size}`]: props.size !== undefined,\n}))\n</script>\n","<template>\n <DateFieldRoot\n :id=\"computedId\"\n v-slot=\"{segments, isInvalid, modelValue: currentValue}\"\n v-model=\"modelValue\"\n v-model:placeholder=\"placeholderModel\"\n :default-value=\"props.defaultValue\"\n :default-placeholder=\"props.defaultPlaceholder\"\n :hour-cycle=\"props.hourCycle\"\n :step=\"props.step\"\n :granularity=\"props.granularity\"\n :hide-time-zone=\"props.hideTimeZone\"\n :max-value=\"props.maxValue\"\n :min-value=\"props.minValue\"\n :locale=\"props.locale\"\n :disabled=\"props.disabled\"\n :readonly=\"props.readonly\"\n :name=\"props.name\"\n :required=\"props.required\"\n :dir=\"props.dir\"\n :is-date-unavailable=\"props.isDateUnavailable\"\n :class=\"computedRootClasses\"\n class=\"b-date-field form-control d-inline-flex align-items-center gap-0\"\n >\n <slot :model-value=\"currentValue\" :segments=\"segments\" :is-invalid=\"isInvalid\">\n <template v-for=\"{part, value} in segments\" :key=\"part\">\n <DateFieldInput v-if=\"part === 'literal'\" :part=\"part\" class=\"b-date-field-literal\">\n {{ value }}\n </DateFieldInput>\n <DateFieldInput v-else :part=\"part\" class=\"b-date-field-segment\">\n {{ value }}\n </DateFieldInput>\n </template>\n </slot>\n </DateFieldRoot>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport {DateFieldInput, DateFieldRoot} from 'reka-ui'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BDateFieldSlots} from '../../types'\nimport type {BDateFieldProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(defineProps<Omit<BDateFieldProps, 'modelValue' | 'placeholder'>>(), {\n defaultPlaceholder: undefined,\n defaultValue: undefined,\n dir: undefined,\n disabled: false,\n granularity: undefined,\n hideTimeZone: undefined,\n hourCycle: undefined,\n id: undefined,\n isDateUnavailable: undefined,\n locale: undefined,\n maxValue: undefined,\n minValue: undefined,\n name: undefined,\n readonly: false,\n required: false,\n size: undefined,\n state: null,\n step: undefined,\n})\nconst props = useDefaults(_props, 'BDateField')\ndefineSlots<BDateFieldSlots>()\n\nconst modelValue = defineModel<Exclude<BDateFieldProps['modelValue'], undefined>>({\n default: null,\n})\n\nconst placeholderModel = defineModel<BDateFieldProps['placeholder']>('placeholder')\n\nconst computedId = useId(() => props.id, 'date-field')\n\nconst computedRootClasses = computed(() => ({\n 'disabled': props.disabled,\n 'readonly': props.readonly,\n 'is-valid': props.state === true,\n 'is-invalid': props.state === false,\n [`form-control-${props.size}`]: props.size !== undefined,\n}))\n</script>\n","<template>\n <DateRangeFieldRoot\n :id=\"computedId\"\n v-slot=\"{segments, isInvalid, modelValue: currentValue}\"\n v-model=\"modelValue\"\n v-model:placeholder=\"placeholderModel\"\n :default-value=\"props.defaultValue\"\n :default-placeholder=\"props.defaultPlaceholder\"\n :hour-cycle=\"props.hourCycle\"\n :step=\"props.step\"\n :granularity=\"props.granularity\"\n :hide-time-zone=\"props.hideTimeZone\"\n :max-value=\"props.maxValue\"\n :min-value=\"props.minValue\"\n :locale=\"props.locale\"\n :disabled=\"props.disabled\"\n :readonly=\"props.readonly\"\n :name=\"props.name\"\n :required=\"props.required\"\n :dir=\"props.dir\"\n :is-date-unavailable=\"props.isDateUnavailable\"\n :class=\"computedRootClasses\"\n class=\"b-date-range-field form-control d-inline-flex align-items-center gap-0\"\n >\n <slot :model-value=\"currentValue\" :segments=\"segments\" :is-invalid=\"isInvalid\">\n <template v-for=\"{part, value} in segments.start\" :key=\"`start-${part}`\">\n <DateRangeFieldInput\n v-if=\"part === 'literal'\"\n type=\"start\"\n :part=\"part\"\n class=\"b-date-range-field-literal\"\n >\n {{ value }}\n </DateRangeFieldInput>\n <DateRangeFieldInput v-else type=\"start\" :part=\"part\" class=\"b-date-range-field-segment\">\n {{ value }}\n </DateRangeFieldInput>\n </template>\n <span class=\"b-date-range-field-separator\" aria-hidden=\"true\"> – </span>\n <template v-for=\"{part, value} in segments.end\" :key=\"`end-${part}`\">\n <DateRangeFieldInput\n v-if=\"part === 'literal'\"\n type=\"end\"\n :part=\"part\"\n class=\"b-date-range-field-literal\"\n >\n {{ value }}\n </DateRangeFieldInput>\n <DateRangeFieldInput v-else type=\"end\" :part=\"part\" class=\"b-date-range-field-segment\">\n {{ value }}\n </DateRangeFieldInput>\n </template>\n </slot>\n </DateRangeFieldRoot>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport {DateRangeFieldInput, DateRangeFieldRoot} from 'reka-ui'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BDateRangeFieldSlots} from '../../types'\nimport type {BDateRangeFieldProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(\n defineProps<Omit<BDateRangeFieldProps, 'modelValue' | 'placeholder'>>(),\n {\n defaultPlaceholder: undefined,\n defaultValue: undefined,\n dir: undefined,\n disabled: false,\n granularity: undefined,\n hideTimeZone: undefined,\n hourCycle: undefined,\n id: undefined,\n isDateUnavailable: undefined,\n locale: undefined,\n maxValue: undefined,\n minValue: undefined,\n name: undefined,\n readonly: false,\n required: false,\n size: undefined,\n state: null,\n step: undefined,\n }\n)\nconst props = useDefaults(_props, 'BDateRangeField')\ndefineSlots<BDateRangeFieldSlots>()\n\nconst modelValue = defineModel<Exclude<BDateRangeFieldProps['modelValue'], undefined>>({\n default: null,\n})\n\nconst placeholderModel = defineModel<BDateRangeFieldProps['placeholder']>('placeholder')\n\nconst computedId = useId(() => props.id, 'date-range-field')\n\nconst computedRootClasses = computed(() => ({\n 'disabled': props.disabled,\n 'readonly': props.readonly,\n 'is-valid': props.state === true,\n 'is-invalid': props.state === false,\n [`form-control-${props.size}`]: props.size !== undefined,\n}))\n</script>\n","<template>\n <DateRangeFieldRoot\n :id=\"computedId\"\n v-slot=\"{segments, isInvalid, modelValue: currentValue}\"\n v-model=\"modelValue\"\n v-model:placeholder=\"placeholderModel\"\n :default-value=\"props.defaultValue\"\n :default-placeholder=\"props.defaultPlaceholder\"\n :hour-cycle=\"props.hourCycle\"\n :step=\"props.step\"\n :granularity=\"props.granularity\"\n :hide-time-zone=\"props.hideTimeZone\"\n :max-value=\"props.maxValue\"\n :min-value=\"props.minValue\"\n :locale=\"props.locale\"\n :disabled=\"props.disabled\"\n :readonly=\"props.readonly\"\n :name=\"props.name\"\n :required=\"props.required\"\n :dir=\"props.dir\"\n :is-date-unavailable=\"props.isDateUnavailable\"\n :class=\"computedRootClasses\"\n class=\"b-date-range-field form-control d-inline-flex align-items-center gap-0\"\n >\n <slot :model-value=\"currentValue\" :segments=\"segments\" :is-invalid=\"isInvalid\">\n <template v-for=\"{part, value} in segments.start\" :key=\"`start-${part}`\">\n <DateRangeFieldInput\n v-if=\"part === 'literal'\"\n type=\"start\"\n :part=\"part\"\n class=\"b-date-range-field-literal\"\n >\n {{ value }}\n </DateRangeFieldInput>\n <DateRangeFieldInput v-else type=\"start\" :part=\"part\" class=\"b-date-range-field-segment\">\n {{ value }}\n </DateRangeFieldInput>\n </template>\n <span class=\"b-date-range-field-separator\" aria-hidden=\"true\"> – </span>\n <template v-for=\"{part, value} in segments.end\" :key=\"`end-${part}`\">\n <DateRangeFieldInput\n v-if=\"part === 'literal'\"\n type=\"end\"\n :part=\"part\"\n class=\"b-date-range-field-literal\"\n >\n {{ value }}\n </DateRangeFieldInput>\n <DateRangeFieldInput v-else type=\"end\" :part=\"part\" class=\"b-date-range-field-segment\">\n {{ value }}\n </DateRangeFieldInput>\n </template>\n </slot>\n </DateRangeFieldRoot>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport {DateRangeFieldInput, DateRangeFieldRoot} from 'reka-ui'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BDateRangeFieldSlots} from '../../types'\nimport type {BDateRangeFieldProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(\n defineProps<Omit<BDateRangeFieldProps, 'modelValue' | 'placeholder'>>(),\n {\n defaultPlaceholder: undefined,\n defaultValue: undefined,\n dir: undefined,\n disabled: false,\n granularity: undefined,\n hideTimeZone: undefined,\n hourCycle: undefined,\n id: undefined,\n isDateUnavailable: undefined,\n locale: undefined,\n maxValue: undefined,\n minValue: undefined,\n name: undefined,\n readonly: false,\n required: false,\n size: undefined,\n state: null,\n step: undefined,\n }\n)\nconst props = useDefaults(_props, 'BDateRangeField')\ndefineSlots<BDateRangeFieldSlots>()\n\nconst modelValue = defineModel<Exclude<BDateRangeFieldProps['modelValue'], undefined>>({\n default: null,\n})\n\nconst placeholderModel = defineModel<BDateRangeFieldProps['placeholder']>('placeholder')\n\nconst computedId = useId(() => props.id, 'date-range-field')\n\nconst computedRootClasses = computed(() => ({\n 'disabled': props.disabled,\n 'readonly': props.readonly,\n 'is-valid': props.state === true,\n 'is-invalid': props.state === false,\n [`form-control-${props.size}`]: props.size !== undefined,\n}))\n</script>\n","<template>\n <TimeRangeFieldRoot\n :id=\"computedId\"\n v-slot=\"{segments, isInvalid, modelValue: currentValue}\"\n v-model=\"modelValue\"\n v-model:placeholder=\"placeholderModel\"\n :default-value=\"props.defaultValue\"\n :default-placeholder=\"props.defaultPlaceholder\"\n :hour-cycle=\"props.hourCycle\"\n :step=\"props.step\"\n :granularity=\"props.granularity\"\n :hide-time-zone=\"props.hideTimeZone\"\n :max-value=\"props.maxValue\"\n :min-value=\"props.minValue\"\n :locale=\"props.locale\"\n :disabled=\"props.disabled\"\n :readonly=\"props.readonly\"\n :name=\"props.name\"\n :required=\"props.required\"\n :dir=\"props.dir\"\n :is-time-unavailable=\"props.isTimeUnavailable\"\n :class=\"computedRootClasses\"\n class=\"b-time-range-field form-control d-inline-flex align-items-center gap-0\"\n >\n <slot :model-value=\"currentValue\" :segments=\"segments\" :is-invalid=\"isInvalid\">\n <template v-for=\"{part, value} in segments.start\" :key=\"`start-${part}`\">\n <TimeRangeFieldInput\n v-if=\"part === 'literal'\"\n type=\"start\"\n :part=\"part\"\n class=\"b-time-range-field-literal\"\n >\n {{ value }}\n </TimeRangeFieldInput>\n <TimeRangeFieldInput v-else type=\"start\" :part=\"part\" class=\"b-time-range-field-segment\">\n {{ value }}\n </TimeRangeFieldInput>\n </template>\n <span class=\"b-time-range-field-separator\" aria-hidden=\"true\"> – </span>\n <template v-for=\"{part, value} in segments.end\" :key=\"`end-${part}`\">\n <TimeRangeFieldInput\n v-if=\"part === 'literal'\"\n type=\"end\"\n :part=\"part\"\n class=\"b-time-range-field-literal\"\n >\n {{ value }}\n </TimeRangeFieldInput>\n <TimeRangeFieldInput v-else type=\"end\" :part=\"part\" class=\"b-time-range-field-segment\">\n {{ value }}\n </TimeRangeFieldInput>\n </template>\n </slot>\n </TimeRangeFieldRoot>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport {TimeRangeFieldInput, TimeRangeFieldRoot} from 'reka-ui'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BTimeRangeFieldSlots} from '../../types'\nimport type {BTimeRangeFieldProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(\n defineProps<Omit<BTimeRangeFieldProps, 'modelValue' | 'placeholder'>>(),\n {\n defaultPlaceholder: undefined,\n defaultValue: undefined,\n dir: undefined,\n disabled: false,\n granularity: undefined,\n hideTimeZone: undefined,\n hourCycle: undefined,\n id: undefined,\n isTimeUnavailable: undefined,\n locale: undefined,\n maxValue: undefined,\n minValue: undefined,\n name: undefined,\n readonly: false,\n required: false,\n size: undefined,\n state: null,\n step: undefined,\n stepSnapping: false,\n }\n)\nconst props = useDefaults(_props, 'BTimeRangeField')\ndefineSlots<BTimeRangeFieldSlots>()\n\nconst modelValue = defineModel<Exclude<BTimeRangeFieldProps['modelValue'], undefined>>({\n default: null,\n})\n\nconst placeholderModel = defineModel<BTimeRangeFieldProps['placeholder']>('placeholder')\n\nconst computedId = useId(() => props.id, 'time-range-field')\n\nconst computedRootClasses = computed(() => ({\n 'disabled': props.disabled,\n 'readonly': props.readonly,\n 'is-valid': props.state === true,\n 'is-invalid': props.state === false,\n [`form-control-${props.size}`]: props.size !== undefined,\n}))\n</script>\n","<template>\n <TimeRangeFieldRoot\n :id=\"computedId\"\n v-slot=\"{segments, isInvalid, modelValue: currentValue}\"\n v-model=\"modelValue\"\n v-model:placeholder=\"placeholderModel\"\n :default-value=\"props.defaultValue\"\n :default-placeholder=\"props.defaultPlaceholder\"\n :hour-cycle=\"props.hourCycle\"\n :step=\"props.step\"\n :granularity=\"props.granularity\"\n :hide-time-zone=\"props.hideTimeZone\"\n :max-value=\"props.maxValue\"\n :min-value=\"props.minValue\"\n :locale=\"props.locale\"\n :disabled=\"props.disabled\"\n :readonly=\"props.readonly\"\n :name=\"props.name\"\n :required=\"props.required\"\n :dir=\"props.dir\"\n :is-time-unavailable=\"props.isTimeUnavailable\"\n :class=\"computedRootClasses\"\n class=\"b-time-range-field form-control d-inline-flex align-items-center gap-0\"\n >\n <slot :model-value=\"currentValue\" :segments=\"segments\" :is-invalid=\"isInvalid\">\n <template v-for=\"{part, value} in segments.start\" :key=\"`start-${part}`\">\n <TimeRangeFieldInput\n v-if=\"part === 'literal'\"\n type=\"start\"\n :part=\"part\"\n class=\"b-time-range-field-literal\"\n >\n {{ value }}\n </TimeRangeFieldInput>\n <TimeRangeFieldInput v-else type=\"start\" :part=\"part\" class=\"b-time-range-field-segment\">\n {{ value }}\n </TimeRangeFieldInput>\n </template>\n <span class=\"b-time-range-field-separator\" aria-hidden=\"true\"> – </span>\n <template v-for=\"{part, value} in segments.end\" :key=\"`end-${part}`\">\n <TimeRangeFieldInput\n v-if=\"part === 'literal'\"\n type=\"end\"\n :part=\"part\"\n class=\"b-time-range-field-literal\"\n >\n {{ value }}\n </TimeRangeFieldInput>\n <TimeRangeFieldInput v-else type=\"end\" :part=\"part\" class=\"b-time-range-field-segment\">\n {{ value }}\n </TimeRangeFieldInput>\n </template>\n </slot>\n </TimeRangeFieldRoot>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport {TimeRangeFieldInput, TimeRangeFieldRoot} from 'reka-ui'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BTimeRangeFieldSlots} from '../../types'\nimport type {BTimeRangeFieldProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(\n defineProps<Omit<BTimeRangeFieldProps, 'modelValue' | 'placeholder'>>(),\n {\n defaultPlaceholder: undefined,\n defaultValue: undefined,\n dir: undefined,\n disabled: false,\n granularity: undefined,\n hideTimeZone: undefined,\n hourCycle: undefined,\n id: undefined,\n isTimeUnavailable: undefined,\n locale: undefined,\n maxValue: undefined,\n minValue: undefined,\n name: undefined,\n readonly: false,\n required: false,\n size: undefined,\n state: null,\n step: undefined,\n stepSnapping: false,\n }\n)\nconst props = useDefaults(_props, 'BTimeRangeField')\ndefineSlots<BTimeRangeFieldSlots>()\n\nconst modelValue = defineModel<Exclude<BTimeRangeFieldProps['modelValue'], undefined>>({\n default: null,\n})\n\nconst placeholderModel = defineModel<BTimeRangeFieldProps['placeholder']>('placeholder')\n\nconst computedId = useId(() => props.id, 'time-range-field')\n\nconst computedRootClasses = computed(() => ({\n 'disabled': props.disabled,\n 'readonly': props.readonly,\n 'is-valid': props.state === true,\n 'is-invalid': props.state === false,\n [`form-control-${props.size}`]: props.size !== undefined,\n}))\n</script>\n"],"x_google_ignoreList":[0,1],"mappings":"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