@maizzle/framework 6.0.2 → 6.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
- import { $n as toRef, Bt as onUnmounted, E as withModifiers, Et as mergeDefaults, G as createBaseVNode, Gn as reactive, H as cloneVNode, Hn as onScopeDispose, Ht as openBlock, It as onMounted, J as createElementBlock, Jt as renderList, K as createBlock, L as Teleport, Mt as onBeforeUnmount, N as Fragment, Ot as mergeProps, Pn as getCurrentScope, Qn as toRaw, Qt as resolveDynamicComponent, Sn as withCtx, St as inject, T as withKeys, Tn as withMemo, Vn as markRaw, Vt as onUpdated, W as computed, Wt as provide, Xn as shallowRef, Yn as shallowReadonly, Yt as renderSlot, _n as watch, bn as watchSyncEffect, cr as normalizeStyle, dt as getCurrentInstance, er as toRefs, et as createTextVNode, fn as useSlots, ir as camelize, jt as onBeforeMount, k as Comment, kt as nextTick, ln as useId$1, lr as toDisplayString, mt as h, n as vue_runtime_esm_bundler_exports, nr as triggerRef, on as toHandlers, pt as guardReactiveProps, q as createCommentVNode, qn as ref, rr as unref, rt as defineComponent, sr as normalizeProps, tr as toValue$1, tt as createVNode, ur as toHandlerKey, vn as watchEffect, w as vShow, wn as withDirectives, yn as watchPostEffect, zn as isRef } from "./vue.runtime.esm-bundler-N1X0OxKs.js";
2
- import { computedEager, createEventHook, createGlobalState, createSharedComposable, isClient, isIOS, reactiveComputed, reactiveOmit, refAutoReset, syncRef, tryOnBeforeUnmount, tryOnScopeDispose, useDebounceFn, useTimeout, useTimeoutFn, watchOnce } from "./@vueuse_shared.js";
3
- import { defaultWindow, onKeyStroke, unrefElement, useEventListener, useFocusWithin, useMounted, useParentElement, useRafFn, useResizeObserver, useVModel } from "./@vueuse_core.js";
1
+ import { $n as toRef, Bt as onUnmounted, E as withModifiers, Et as mergeDefaults, G as createBaseVNode, Gn as reactive, H as cloneVNode, Hn as onScopeDispose, Ht as openBlock, It as onMounted, J as createElementBlock, Jt as renderList, K as createBlock, L as Teleport, Mt as onBeforeUnmount, N as Fragment, Ot as mergeProps, Pn as getCurrentScope, Qn as toRaw, Qt as resolveDynamicComponent, Sn as withCtx, St as inject, T as withKeys, Tn as withMemo, Vn as markRaw, Vt as onUpdated, W as computed, Wt as provide, Xn as shallowRef, Yn as shallowReadonly, Yt as renderSlot, _n as watch, bn as watchSyncEffect, cn as useAttrs, cr as normalizeStyle, dt as getCurrentInstance, er as toRefs, et as createTextVNode, fn as useSlots, ir as camelize, jt as onBeforeMount, k as Comment, kt as nextTick, ln as useId$1, lr as toDisplayString, mt as h, n as vue_runtime_esm_bundler_exports, nr as triggerRef, on as toHandlers, pt as guardReactiveProps, q as createCommentVNode, qn as ref, rr as unref, rt as defineComponent, sr as normalizeProps, tr as toValue$1, tt as createVNode, ur as toHandlerKey, vn as watchEffect, w as vShow, wn as withDirectives, yn as watchPostEffect, zn as isRef } from "./vue.runtime.esm-bundler-Dz9O_TVp.js";
2
+ import { createEventHook, createGlobalState, createSharedComposable, isClient, isIOS, reactiveComputed, reactiveOmit, refAutoReset, syncRef, tryOnBeforeUnmount, tryOnScopeDispose, useDebounceFn, useTimeout, useTimeoutFn, watchOnce } from "./@vueuse_shared.js";
3
+ import { defaultWindow, onKeyStroke, unrefElement, useActiveElement, useEventListener, useFocusWithin, useMounted, useParentElement, useRafFn, useResizeObserver, useVModel } from "./@vueuse_core.js";
4
4
  //#region ../../home/cosmin/Work/maizzle/framework/node_modules/ohash/dist/shared/ohash.D__AXeF1.mjs
5
5
  function serialize(o) {
6
6
  return typeof o == "string" ? `'${o}'` : new c().serialize(o);
@@ -162,7 +162,7 @@ var isBrowser = typeof document !== "undefined";
162
162
  * @returns The `clamp` function returns the value of `value` constrained within the range defined by
163
163
  * `min` and `max`.
164
164
  */
165
- function clamp$1(value, min = Number.NEGATIVE_INFINITY, max = Number.POSITIVE_INFINITY) {
165
+ function clamp$2(value, min = Number.NEGATIVE_INFINITY, max = Number.POSITIVE_INFINITY) {
166
166
  return Math.min(max, Math.max(min, value));
167
167
  }
168
168
  /**
@@ -377,6 +377,11 @@ var ConfigProvider_default = /* @__PURE__ */ defineComponent({
377
377
  required: false,
378
378
  default: void 0
379
379
  },
380
+ teleportTo: {
381
+ type: null,
382
+ required: false,
383
+ default: void 0
384
+ },
380
385
  useId: {
381
386
  type: Function,
382
387
  required: false,
@@ -385,12 +390,13 @@ var ConfigProvider_default = /* @__PURE__ */ defineComponent({
385
390
  },
386
391
  setup(__props) {
387
392
  const props = __props;
388
- const { dir, locale, scrollBody, nonce } = toRefs(props);
393
+ const { dir, locale, scrollBody, nonce, teleportTo } = toRefs(props);
389
394
  provideConfigProviderContext({
390
395
  dir,
391
396
  locale,
392
397
  scrollBody,
393
398
  nonce,
399
+ teleportTo,
394
400
  useId: props.useId
395
401
  });
396
402
  return (_ctx, _cache) => {
@@ -2662,7 +2668,7 @@ function handleCalendarInitialFocus(calendar) {
2662
2668
  if (selectedDay) return selectedDay.focus();
2663
2669
  const today = calendar.querySelector("[data-today]");
2664
2670
  if (today) return today.focus();
2665
- const firstDay = calendar.querySelector("[data-reka-calendar-day]");
2671
+ const firstDay = calendar.querySelector("[data-value]:not([data-outside-view]):not([data-disabled])");
2666
2672
  if (firstDay) return firstDay.focus();
2667
2673
  }
2668
2674
  function normalizeHourCycle(hourCycle) {
@@ -2947,7 +2953,12 @@ function useDirection(dir) {
2947
2953
  /**
2948
2954
  * The `useEmitAsProps` function is a TypeScript utility that converts emitted events into props for a
2949
2955
  * Vue component.
2956
+ *
2957
+ * @template Name - The event name string union type.
2958
+ * @template Fn - The emit function type.
2959
+ *
2950
2960
  * @param emit - The `emit` parameter is a function that is used to emit events from a component. It
2961
+ *
2951
2962
  * takes two parameters: `name` which is the name of the event to be emitted, and `...args` which are
2952
2963
  * the arguments to be passed along with the event.
2953
2964
  * @returns The function `useEmitAsProps` returns an object that maps event names to functions that
@@ -3141,18 +3152,6 @@ function useForwardProps(props) {
3141
3152
  }
3142
3153
  //#endregion
3143
3154
  //#region ../../home/cosmin/Work/maizzle/framework/node_modules/reka-ui/dist/shared/useForwardPropsEmits.js
3144
- /**
3145
- * The function `useForwardPropsEmits` takes in props and an optional emit function, and returns a
3146
- * computed object that combines the parsed props and emits as props.
3147
- * @param {T} props - The `props` parameter is of type `T`, which is a generic type that extends the
3148
- * parameters of the `useForwardProps` function. It represents the props object that is passed to the
3149
- * `useForwardProps` function.
3150
- * @param [emit] - The `emit` parameter is a function that can be used to emit events. It takes two
3151
- * arguments: `name`, which is the name of the event to be emitted, and `args`, which are the arguments
3152
- * to be passed along with the event.
3153
- * @returns a computed property that combines the parsed
3154
- * props and emits as props.
3155
- */
3156
3155
  function useForwardPropsEmits(props, emit) {
3157
3156
  const parsedProps = useForwardProps(props);
3158
3157
  const emitsAsProps = emit ? useEmitAsProps(emit) : {};
@@ -3162,6 +3161,29 @@ function useForwardPropsEmits(props, emit) {
3162
3161
  }));
3163
3162
  }
3164
3163
  //#endregion
3164
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/reka-ui/dist/shared/useForwardScopeId.js
3165
+ /**
3166
+ * Returns the parent component's `<style scoped>` id (e.g. `data-v-xxxxxxx`) as a
3167
+ * bindable attribute object, so it can be manually forwarded onto the chosen root
3168
+ * element of a multi-root component.
3169
+ *
3170
+ * Vue only auto-applies the parent's scope id to a **single-root** component's root.
3171
+ * When a component renders multiple root nodes (e.g. an interactive control plus a
3172
+ * sibling hidden form input), that fallthrough is dropped and the parent's scoped
3173
+ * styles can no longer reach the component. Spread the returned object onto the
3174
+ * element that should stay styleable by the parent.
3175
+ *
3176
+ * @example
3177
+ * ```ts
3178
+ * const scopeIdAttrs = useForwardScopeId()
3179
+ * // <Primitive v-bind="{ ...$attrs, ...scopeIdAttrs }" />
3180
+ * ```
3181
+ */
3182
+ function useForwardScopeId() {
3183
+ const scopeId = (getCurrentInstance()?.vnode)?.scopeId;
3184
+ return scopeId ? { [scopeId]: "" } : {};
3185
+ }
3186
+ //#endregion
3165
3187
  //#region ../../home/cosmin/Work/maizzle/framework/node_modules/reka-ui/dist/shared/useGraceArea.js
3166
3188
  function useGraceArea(triggerElement, containerElement) {
3167
3189
  const isPointerInTransit = refAutoReset(false, 300);
@@ -3486,18 +3508,20 @@ function useHideOthers(target) {
3486
3508
  //#region ../../home/cosmin/Work/maizzle/framework/node_modules/reka-ui/dist/shared/useId.js
3487
3509
  var count = 0;
3488
3510
  /**
3489
- * The `useId` function generates a unique identifier using a provided deterministic ID or a default
3490
- * one prefixed with "reka-", or the provided one via `useId` props from `<ConfigProvider>`.
3511
+ * The `useId` function generates a unique identifier using a provided deterministic ID,
3512
+ * a configured `<ConfigProvider>` ID source, Vue's native `useId`, or a fallback counter.
3491
3513
  * @param {string | null | undefined} [deterministicId] - The `useId` function you provided takes an
3492
3514
  * optional parameter `deterministicId`, which can be a string, null, or undefined. If
3493
3515
  * `deterministicId` is provided, the function will return it. Otherwise, it will generate an id using
3494
- * the `useId` function obtained
3516
+ * the configured ID source.
3495
3517
  */
3496
3518
  function useId(deterministicId, prefix = "reka") {
3497
3519
  if (deterministicId) return deterministicId;
3498
3520
  let id;
3499
- if ("useId" in vue_runtime_esm_bundler_exports) id = useId$1?.();
3500
- else id = injectConfigProviderContext({ useId: void 0 }).useId?.() ?? `${++count}`;
3521
+ const configProviderContext = injectConfigProviderContext({ useId: void 0 });
3522
+ if (configProviderContext.useId) id = configProviderContext.useId();
3523
+ else if ("useId" in vue_runtime_esm_bundler_exports) id = useId$1?.();
3524
+ else id = `${++count}`;
3501
3525
  return prefix ? `${prefix}-${id}` : id;
3502
3526
  }
3503
3527
  //#endregion
@@ -3600,6 +3624,7 @@ function useSize(element) {
3600
3624
  const size = ref();
3601
3625
  const width = computed(() => size.value?.width ?? 0);
3602
3626
  const height = computed(() => size.value?.height ?? 0);
3627
+ let resizeObserver;
3603
3628
  onMounted(() => {
3604
3629
  const el = unrefElement(element);
3605
3630
  if (el) {
@@ -3607,7 +3632,7 @@ function useSize(element) {
3607
3632
  width: el.offsetWidth,
3608
3633
  height: el.offsetHeight
3609
3634
  };
3610
- const resizeObserver = new ResizeObserver((entries) => {
3635
+ resizeObserver = new ResizeObserver((entries) => {
3611
3636
  if (!Array.isArray(entries)) return;
3612
3637
  if (!entries.length) return;
3613
3638
  const entry = entries[0];
@@ -3628,9 +3653,12 @@ function useSize(element) {
3628
3653
  };
3629
3654
  });
3630
3655
  resizeObserver.observe(el, { box: "border-box" });
3631
- return () => resizeObserver.unobserve(el);
3632
3656
  } else size.value = void 0;
3633
3657
  });
3658
+ onUnmounted(() => {
3659
+ resizeObserver?.disconnect();
3660
+ resizeObserver = void 0;
3661
+ });
3634
3662
  return {
3635
3663
  width,
3636
3664
  height
@@ -3839,6 +3867,12 @@ function usePresence(present, node) {
3839
3867
  onUnmounted(() => {
3840
3868
  watcher();
3841
3869
  stateWatcher();
3870
+ if (node.value) {
3871
+ node.value.removeEventListener("animationstart", handleAnimationStart);
3872
+ node.value.removeEventListener("animationcancel", handleAnimationEnd);
3873
+ node.value.removeEventListener("animationend", handleAnimationEnd);
3874
+ }
3875
+ if (timeoutId !== void 0) ownerWindow?.clearTimeout(timeoutId);
3842
3876
  });
3843
3877
  return { isPresent: computed(() => ["mounted", "unmountSuspended"].includes(state.value)) };
3844
3878
  }
@@ -4568,6 +4602,11 @@ var DialogRoot_default = /* @__PURE__ */ defineComponent({
4568
4602
  type: Boolean,
4569
4603
  required: false,
4570
4604
  default: true
4605
+ },
4606
+ unmountOnHide: {
4607
+ type: Boolean,
4608
+ required: false,
4609
+ default: true
4571
4610
  }
4572
4611
  },
4573
4612
  emits: ["update:open"],
@@ -4579,10 +4618,11 @@ var DialogRoot_default = /* @__PURE__ */ defineComponent({
4579
4618
  });
4580
4619
  const triggerElement = ref();
4581
4620
  const contentElement = ref();
4582
- const { modal } = toRefs(props);
4621
+ const { modal, unmountOnHide } = toRefs(props);
4583
4622
  provideDialogRootContext({
4584
4623
  open,
4585
4624
  modal,
4625
+ unmountOnHide,
4586
4626
  openModal: () => {
4587
4627
  open.value = true;
4588
4628
  },
@@ -4772,6 +4812,11 @@ var DismissableLayer_default = /* @__PURE__ */ defineComponent({
4772
4812
  as: {
4773
4813
  type: null,
4774
4814
  required: false
4815
+ },
4816
+ present: {
4817
+ type: Boolean,
4818
+ required: false,
4819
+ default: true
4775
4820
  }
4776
4821
  },
4777
4822
  emits: [
@@ -4801,37 +4846,50 @@ var DismissableLayer_default = /* @__PURE__ */ defineComponent({
4801
4846
  });
4802
4847
  const pointerDownOutside = usePointerDownOutside(async (event) => {
4803
4848
  const isPointerDownOnBranch = [...context.branches].some((branch) => branch?.contains(event.target));
4804
- if (!isPointerEventsEnabled.value || isPointerDownOnBranch) return;
4849
+ if (!props.present || !isPointerEventsEnabled.value || isPointerDownOnBranch) return;
4805
4850
  emits("pointerDownOutside", event);
4806
4851
  emits("interactOutside", event);
4807
4852
  await nextTick();
4808
4853
  if (!event.defaultPrevented) emits("dismiss");
4809
4854
  }, layerElement);
4810
4855
  const focusOutside = useFocusOutside((event) => {
4811
- if ([...context.branches].some((branch) => branch?.contains(event.target))) return;
4856
+ const isFocusInBranch = [...context.branches].some((branch) => branch?.contains(event.target));
4857
+ if (!props.present || isFocusInBranch) return;
4812
4858
  emits("focusOutside", event);
4813
4859
  emits("interactOutside", event);
4814
4860
  if (!event.defaultPrevented) emits("dismiss");
4815
4861
  }, layerElement);
4816
4862
  onKeyStroke("Escape", (event) => {
4863
+ if (!props.present) return;
4817
4864
  if (!(index.value === layers.value.size - 1)) return;
4818
4865
  emits("escapeKeyDown", event);
4819
4866
  if (!event.defaultPrevented) emits("dismiss");
4820
4867
  });
4821
- watchEffect((cleanupFn) => {
4822
- if (!layerElement.value) return;
4823
- if (props.disableOutsidePointerEvents) {
4868
+ watch([
4869
+ layerElement,
4870
+ () => props.disableOutsidePointerEvents,
4871
+ () => props.present
4872
+ ], ([element, disableOutsidePointerEvents, present], _, onCleanup) => {
4873
+ if (!element || !present) return;
4874
+ if (disableOutsidePointerEvents) {
4824
4875
  if (context.layersWithOutsidePointerEventsDisabled.size === 0) {
4825
4876
  context.originalBodyPointerEvents = ownerDocument.value.body.style.pointerEvents;
4826
4877
  ownerDocument.value.body.style.pointerEvents = "none";
4827
4878
  }
4828
- context.layersWithOutsidePointerEventsDisabled.add(layerElement.value);
4879
+ context.layersWithOutsidePointerEventsDisabled.add(element);
4880
+ onCleanup(() => {
4881
+ context.layersWithOutsidePointerEventsDisabled.delete(element);
4882
+ if (context.layersWithOutsidePointerEventsDisabled.size === 0 && !isNullish(context.originalBodyPointerEvents)) ownerDocument.value.body.style.pointerEvents = context.originalBodyPointerEvents;
4883
+ });
4829
4884
  }
4830
- layers.value.add(layerElement.value);
4831
- cleanupFn(() => {
4832
- if (props.disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1 && !isNullish(context.originalBodyPointerEvents)) ownerDocument.value.body.style.pointerEvents = context.originalBodyPointerEvents;
4885
+ }, { immediate: true });
4886
+ watch([layerElement, () => props.present], ([element, present], _, onCleanup) => {
4887
+ if (!element || !present) return;
4888
+ layers.value.add(element);
4889
+ onCleanup(() => {
4890
+ layers.value.delete(element);
4833
4891
  });
4834
- });
4892
+ }, { immediate: true });
4835
4893
  watchEffect((cleanupFn) => {
4836
4894
  cleanupFn(() => {
4837
4895
  if (!layerElement.value) return;
@@ -5008,6 +5066,11 @@ var FocusScope_default = /* @__PURE__ */ defineComponent({
5008
5066
  required: false,
5009
5067
  default: false
5010
5068
  },
5069
+ present: {
5070
+ type: Boolean,
5071
+ required: false,
5072
+ default: true
5073
+ },
5011
5074
  asChild: {
5012
5075
  type: Boolean,
5013
5076
  required: false
@@ -5068,23 +5131,25 @@ var FocusScope_default = /* @__PURE__ */ defineComponent({
5068
5131
  mutationObserver.disconnect();
5069
5132
  });
5070
5133
  });
5134
+ function dispatchMountAutoFocus(container, previouslyFocusedElement) {
5135
+ const mountEvent = new CustomEvent(AUTOFOCUS_ON_MOUNT, EVENT_OPTIONS$1);
5136
+ const handleMountAutoFocus = (ev) => emits("mountAutoFocus", ev);
5137
+ container.addEventListener(AUTOFOCUS_ON_MOUNT, handleMountAutoFocus);
5138
+ container.dispatchEvent(mountEvent);
5139
+ container.removeEventListener(AUTOFOCUS_ON_MOUNT, handleMountAutoFocus);
5140
+ if (!mountEvent.defaultPrevented) {
5141
+ focusFirst$3(getTabbableCandidates$1(container), { select: true });
5142
+ if (getActiveElement() === previouslyFocusedElement) focus(container);
5143
+ }
5144
+ }
5071
5145
  watchEffect(async (cleanupFn) => {
5072
5146
  const container = currentElement.value;
5073
5147
  await nextTick();
5074
5148
  if (!container) return;
5075
- focusScopesStack.add(focusScope);
5149
+ if (props.present !== false) focusScopesStack.add(focusScope);
5076
5150
  const previouslyFocusedElement = getActiveElement();
5077
- if (!container.contains(previouslyFocusedElement)) {
5078
- const mountEvent = new CustomEvent(AUTOFOCUS_ON_MOUNT, EVENT_OPTIONS$1);
5079
- container.addEventListener(AUTOFOCUS_ON_MOUNT, (ev) => emits("mountAutoFocus", ev));
5080
- container.dispatchEvent(mountEvent);
5081
- if (!mountEvent.defaultPrevented) {
5082
- focusFirst$3(getTabbableCandidates$1(container), { select: true });
5083
- if (getActiveElement() === previouslyFocusedElement) focus(container);
5084
- }
5085
- }
5151
+ if (!container.contains(previouslyFocusedElement) && props.present !== false) dispatchMountAutoFocus(container, previouslyFocusedElement);
5086
5152
  cleanupFn(() => {
5087
- container.removeEventListener(AUTOFOCUS_ON_MOUNT, (ev) => emits("mountAutoFocus", ev));
5088
5153
  const unmountEvent = new CustomEvent(AUTOFOCUS_ON_UNMOUNT, EVENT_OPTIONS$1);
5089
5154
  const unmountEventHandler = (ev) => {
5090
5155
  emits("unmountAutoFocus", ev);
@@ -5100,6 +5165,20 @@ var FocusScope_default = /* @__PURE__ */ defineComponent({
5100
5165
  }, 0);
5101
5166
  });
5102
5167
  });
5168
+ watch(() => props.present, async (present, prevPresent) => {
5169
+ if (!isClient) return;
5170
+ if (present === false && prevPresent === true) {
5171
+ focusScopesStack.remove(focusScope);
5172
+ return;
5173
+ }
5174
+ if (present !== true || prevPresent !== false) return;
5175
+ focusScopesStack.add(focusScope);
5176
+ await nextTick();
5177
+ const container = currentElement.value;
5178
+ if (!container) return;
5179
+ const previouslyFocusedElement = getActiveElement();
5180
+ if (!container.contains(previouslyFocusedElement)) dispatchMountAutoFocus(container, previouslyFocusedElement);
5181
+ });
5103
5182
  function handleKeyDown(event) {
5104
5183
  if (!props.loop && !props.trapped) return;
5105
5184
  if (focusScope.paused) return;
@@ -5239,6 +5318,10 @@ var DialogContentImpl_default = /* @__PURE__ */ defineComponent({
5239
5318
  as: {
5240
5319
  type: null,
5241
5320
  required: false
5321
+ },
5322
+ present: {
5323
+ type: Boolean,
5324
+ required: false
5242
5325
  }
5243
5326
  },
5244
5327
  emits: [
@@ -5273,6 +5356,7 @@ var DialogContentImpl_default = /* @__PURE__ */ defineComponent({
5273
5356
  "as-child": "",
5274
5357
  loop: "",
5275
5358
  trapped: props.trapFocus,
5359
+ present: props.present,
5276
5360
  onMountAutoFocus: _cache[5] || (_cache[5] = ($event) => emits("openAutoFocus", $event)),
5277
5361
  onUnmountAutoFocus: _cache[6] || (_cache[6] = ($event) => emits("closeAutoFocus", $event))
5278
5362
  }, {
@@ -5281,6 +5365,7 @@ var DialogContentImpl_default = /* @__PURE__ */ defineComponent({
5281
5365
  ref: unref(forwardRef),
5282
5366
  as: _ctx.as,
5283
5367
  "as-child": _ctx.asChild,
5368
+ present: props.present,
5284
5369
  "disable-outside-pointer-events": _ctx.disableOutsidePointerEvents,
5285
5370
  role: "dialog",
5286
5371
  "aria-describedby": unref(rootContext).descriptionId,
@@ -5299,13 +5384,14 @@ var DialogContentImpl_default = /* @__PURE__ */ defineComponent({
5299
5384
  "id",
5300
5385
  "as",
5301
5386
  "as-child",
5387
+ "present",
5302
5388
  "disable-outside-pointer-events",
5303
5389
  "aria-describedby",
5304
5390
  "aria-labelledby",
5305
5391
  "data-state"
5306
5392
  ])]),
5307
5393
  _: 3
5308
- }, 8, ["trapped"]);
5394
+ }, 8, ["trapped", "present"]);
5309
5395
  };
5310
5396
  }
5311
5397
  });
@@ -5324,7 +5410,8 @@ var DialogContentModal_default = /* @__PURE__ */ defineComponent({
5324
5410
  },
5325
5411
  disableOutsidePointerEvents: {
5326
5412
  type: Boolean,
5327
- required: false
5413
+ required: false,
5414
+ default: true
5328
5415
  },
5329
5416
  asChild: {
5330
5417
  type: Boolean,
@@ -5333,6 +5420,10 @@ var DialogContentModal_default = /* @__PURE__ */ defineComponent({
5333
5420
  as: {
5334
5421
  type: null,
5335
5422
  required: false
5423
+ },
5424
+ present: {
5425
+ type: Boolean,
5426
+ required: true
5336
5427
  }
5337
5428
  },
5338
5429
  emits: [
@@ -5349,15 +5440,23 @@ var DialogContentModal_default = /* @__PURE__ */ defineComponent({
5349
5440
  const rootContext = injectDialogRootContext();
5350
5441
  const emitsAsProps = useEmitAsProps(emits);
5351
5442
  const { forwardRef, currentElement } = useForwardExpose();
5352
- useHideOthers(currentElement);
5443
+ useHideOthers(computed(() => props.present ? currentElement.value : void 0));
5444
+ const forwardedProps = computed(() => {
5445
+ const { present: _, ...rest } = props;
5446
+ return rest;
5447
+ });
5448
+ watch(() => props.present, (isPresent, wasPresent) => {
5449
+ if (!isPresent && wasPresent) rootContext.triggerElement.value?.focus();
5450
+ });
5353
5451
  return (_ctx, _cache) => {
5354
5452
  return openBlock(), createBlock(DialogContentImpl_default, mergeProps({
5355
- ...props,
5453
+ ...forwardedProps.value,
5356
5454
  ...unref(emitsAsProps)
5357
5455
  }, {
5358
5456
  ref: unref(forwardRef),
5457
+ present: _ctx.present,
5359
5458
  "trap-focus": unref(rootContext).open.value,
5360
- "disable-outside-pointer-events": true,
5459
+ "disable-outside-pointer-events": props.disableOutsidePointerEvents,
5361
5460
  onCloseAutoFocus: _cache[0] || (_cache[0] = (event) => {
5362
5461
  if (!event.defaultPrevented) {
5363
5462
  event.preventDefault();
@@ -5375,7 +5474,11 @@ var DialogContentModal_default = /* @__PURE__ */ defineComponent({
5375
5474
  }), {
5376
5475
  default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
5377
5476
  _: 3
5378
- }, 16, ["trap-focus"]);
5477
+ }, 16, [
5478
+ "present",
5479
+ "trap-focus",
5480
+ "disable-outside-pointer-events"
5481
+ ]);
5379
5482
  };
5380
5483
  }
5381
5484
  });
@@ -5403,6 +5506,10 @@ var DialogContentNonModal_default = /* @__PURE__ */ defineComponent({
5403
5506
  as: {
5404
5507
  type: null,
5405
5508
  required: false
5509
+ },
5510
+ present: {
5511
+ type: Boolean,
5512
+ required: true
5406
5513
  }
5407
5514
  },
5408
5515
  emits: [
@@ -5420,11 +5527,23 @@ var DialogContentNonModal_default = /* @__PURE__ */ defineComponent({
5420
5527
  const rootContext = injectDialogRootContext();
5421
5528
  const hasInteractedOutsideRef = ref(false);
5422
5529
  const hasPointerDownOutsideRef = ref(false);
5530
+ const forwardedProps = computed(() => {
5531
+ const { present: _, ...rest } = props;
5532
+ return rest;
5533
+ });
5534
+ watch(() => props.present, (isPresent, wasPresent) => {
5535
+ if (!isPresent && wasPresent) {
5536
+ if (!hasInteractedOutsideRef.value) rootContext.triggerElement.value?.focus();
5537
+ hasInteractedOutsideRef.value = false;
5538
+ hasPointerDownOutsideRef.value = false;
5539
+ }
5540
+ });
5423
5541
  return (_ctx, _cache) => {
5424
5542
  return openBlock(), createBlock(DialogContentImpl_default, mergeProps({
5425
- ...props,
5543
+ ...forwardedProps.value,
5426
5544
  ...unref(emitsAsProps)
5427
5545
  }, {
5546
+ present: _ctx.present,
5428
5547
  "trap-focus": false,
5429
5548
  "disable-outside-pointer-events": false,
5430
5549
  onCloseAutoFocus: _cache[0] || (_cache[0] = (event) => {
@@ -5447,7 +5566,7 @@ var DialogContentNonModal_default = /* @__PURE__ */ defineComponent({
5447
5566
  }), {
5448
5567
  default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
5449
5568
  _: 3
5450
- }, 16);
5569
+ }, 16, ["present"]);
5451
5570
  };
5452
5571
  }
5453
5572
  });
@@ -5462,7 +5581,8 @@ var DialogContent_default = /* @__PURE__ */ defineComponent({
5462
5581
  },
5463
5582
  disableOutsidePointerEvents: {
5464
5583
  type: Boolean,
5465
- required: false
5584
+ required: false,
5585
+ default: void 0
5466
5586
  },
5467
5587
  asChild: {
5468
5588
  type: Boolean,
@@ -5488,30 +5608,35 @@ var DialogContent_default = /* @__PURE__ */ defineComponent({
5488
5608
  const emitsAsProps = useEmitAsProps(emits);
5489
5609
  const { forwardRef } = useForwardExpose();
5490
5610
  return (_ctx, _cache) => {
5491
- return openBlock(), createBlock(unref(Presence_default), { present: _ctx.forceMount || unref(rootContext).open.value }, {
5492
- default: withCtx(() => [unref(rootContext).modal.value ? (openBlock(), createBlock(DialogContentModal_default, mergeProps({
5611
+ return openBlock(), createBlock(unref(Presence_default), {
5612
+ present: _ctx.forceMount || unref(rootContext).open.value,
5613
+ "force-mount": _ctx.forceMount || !unref(rootContext).unmountOnHide.value
5614
+ }, {
5615
+ default: withCtx(({ present }) => [unref(rootContext).modal.value ? withDirectives((openBlock(), createBlock(DialogContentModal_default, mergeProps({
5493
5616
  key: 0,
5494
- ref: unref(forwardRef)
5617
+ ref: unref(forwardRef),
5618
+ present: unref(rootContext).unmountOnHide.value || present
5495
5619
  }, {
5496
5620
  ...props,
5497
5621
  ...unref(emitsAsProps),
5498
5622
  ..._ctx.$attrs
5499
5623
  }), {
5500
5624
  default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
5501
- _: 3
5502
- }, 16)) : (openBlock(), createBlock(DialogContentNonModal_default, mergeProps({
5625
+ _: 2
5626
+ }, 1040, ["present"])), [[vShow, unref(rootContext).unmountOnHide.value || present]]) : withDirectives((openBlock(), createBlock(DialogContentNonModal_default, mergeProps({
5503
5627
  key: 1,
5504
- ref: unref(forwardRef)
5628
+ ref: unref(forwardRef),
5629
+ present: unref(rootContext).unmountOnHide.value || present
5505
5630
  }, {
5506
5631
  ...props,
5507
5632
  ...unref(emitsAsProps),
5508
5633
  ..._ctx.$attrs
5509
5634
  }), {
5510
5635
  default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
5511
- _: 3
5512
- }, 16))]),
5636
+ _: 2
5637
+ }, 1040, ["present"])), [[vShow, unref(rootContext).unmountOnHide.value || present]])]),
5513
5638
  _: 3
5514
- }, 8, ["present"]);
5639
+ }, 8, ["present", "force-mount"]);
5515
5640
  };
5516
5641
  }
5517
5642
  });
@@ -5554,11 +5679,18 @@ var DialogOverlayImpl_default = /* @__PURE__ */ defineComponent({
5554
5679
  as: {
5555
5680
  type: null,
5556
5681
  required: false
5682
+ },
5683
+ present: {
5684
+ type: Boolean,
5685
+ required: false,
5686
+ default: true
5557
5687
  }
5558
5688
  },
5559
5689
  setup(__props) {
5690
+ const props = __props;
5560
5691
  const rootContext = injectDialogRootContext();
5561
- useBodyScrollLock(true);
5692
+ const scrollLocked = useBodyScrollLock(props.present);
5693
+ watch(() => props.present, (val) => scrollLocked.value = val);
5562
5694
  useForwardExpose();
5563
5695
  return (_ctx, _cache) => {
5564
5696
  return openBlock(), createBlock(unref(Primitive), {
@@ -5606,18 +5738,24 @@ var DialogOverlay_default = /* @__PURE__ */ defineComponent({
5606
5738
  return (_ctx, _cache) => {
5607
5739
  return unref(rootContext)?.modal.value ? (openBlock(), createBlock(unref(Presence_default), {
5608
5740
  key: 0,
5609
- present: _ctx.forceMount || unref(rootContext).open.value
5741
+ present: _ctx.forceMount || unref(rootContext).open.value,
5742
+ "force-mount": _ctx.forceMount || !unref(rootContext).unmountOnHide.value
5610
5743
  }, {
5611
- default: withCtx(() => [createVNode(DialogOverlayImpl_default, mergeProps(_ctx.$attrs, {
5744
+ default: withCtx(({ present }) => [withDirectives(createVNode(DialogOverlayImpl_default, mergeProps(_ctx.$attrs, {
5612
5745
  ref: unref(forwardRef),
5613
5746
  as: _ctx.as,
5614
- "as-child": _ctx.asChild
5747
+ "as-child": _ctx.asChild,
5748
+ present: unref(rootContext).unmountOnHide.value || present
5615
5749
  }), {
5616
5750
  default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
5617
- _: 3
5618
- }, 16, ["as", "as-child"])]),
5751
+ _: 2
5752
+ }, 1040, [
5753
+ "as",
5754
+ "as-child",
5755
+ "present"
5756
+ ]), [[vShow, unref(rootContext).unmountOnHide.value || present]])]),
5619
5757
  _: 3
5620
- }, 8, ["present"])) : createCommentVNode("v-if", true);
5758
+ }, 8, ["present", "force-mount"])) : createCommentVNode("v-if", true);
5621
5759
  };
5622
5760
  }
5623
5761
  });
@@ -5628,8 +5766,7 @@ var Teleport_default = /* @__PURE__ */ defineComponent({
5628
5766
  props: {
5629
5767
  to: {
5630
5768
  type: null,
5631
- required: false,
5632
- default: "body"
5769
+ required: false
5633
5770
  },
5634
5771
  disabled: {
5635
5772
  type: Boolean,
@@ -5645,11 +5782,14 @@ var Teleport_default = /* @__PURE__ */ defineComponent({
5645
5782
  }
5646
5783
  },
5647
5784
  setup(__props) {
5785
+ const props = __props;
5786
+ const configContext = injectConfigProviderContext({});
5787
+ const target = computed(() => props.to ?? configContext.teleportTo?.value ?? "body");
5648
5788
  const isMounted = useMounted();
5649
5789
  return (_ctx, _cache) => {
5650
5790
  return unref(isMounted) || _ctx.forceMount ? (openBlock(), createBlock(Teleport, {
5651
5791
  key: 0,
5652
- to: _ctx.to,
5792
+ to: target.value,
5653
5793
  disabled: _ctx.disabled,
5654
5794
  defer: _ctx.defer
5655
5795
  }, [renderSlot(_ctx.$slots, "default")], 8, [
@@ -5802,7 +5942,8 @@ var AlertDialogContent_default = /* @__PURE__ */ defineComponent({
5802
5942
  },
5803
5943
  disableOutsidePointerEvents: {
5804
5944
  type: Boolean,
5805
- required: false
5945
+ required: false,
5946
+ default: void 0
5806
5947
  },
5807
5948
  asChild: {
5808
5949
  type: Boolean,
@@ -5978,6 +6119,10 @@ var AlertDialogRoot_default = /* @__PURE__ */ defineComponent({
5978
6119
  defaultOpen: {
5979
6120
  type: Boolean,
5980
6121
  required: false
6122
+ },
6123
+ unmountOnHide: {
6124
+ type: Boolean,
6125
+ required: false
5981
6126
  }
5982
6127
  },
5983
6128
  emits: ["update:open"],
@@ -6108,7 +6253,8 @@ function useCollection(options = {}) {
6108
6253
  const collectionNode = context.collectionRef.value;
6109
6254
  if (!collectionNode) return [];
6110
6255
  const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));
6111
- const orderedItems = Array.from(context.itemMap.value.values()).sort((a, b) => orderedNodes.indexOf(a.ref) - orderedNodes.indexOf(b.ref));
6256
+ const orderMap = new Map(orderedNodes.map((node, index) => [node, index]));
6257
+ const orderedItems = Array.from(context.itemMap.value.values()).sort((a, b) => (orderMap.get(a.ref) ?? -1) - (orderMap.get(b.ref) ?? -1));
6112
6258
  if (includeDisabledItem) return orderedItems;
6113
6259
  else return orderedItems.filter((i) => i.ref.dataset.disabled !== "");
6114
6260
  };
@@ -6182,7 +6328,7 @@ var VisuallyHidden_default = /* @__PURE__ */ defineComponent({
6182
6328
  return openBlock(), createBlock(unref(Primitive), {
6183
6329
  as: _ctx.as,
6184
6330
  "as-child": _ctx.asChild,
6185
- "aria-hidden": _ctx.feature === "focusable" ? "true" : void 0,
6331
+ "aria-hidden": _ctx.feature === "focusable" || _ctx.feature === "fully-hidden" ? "true" : void 0,
6186
6332
  "data-hidden": _ctx.feature === "fully-hidden" ? "" : void 0,
6187
6333
  tabindex: _ctx.feature === "fully-hidden" ? "-1" : void 0,
6188
6334
  style: {
@@ -6541,6 +6687,7 @@ var ListboxRoot_default = /* @__PURE__ */ defineComponent({
6541
6687
  }
6542
6688
  function onKeydownEnter(event) {
6543
6689
  if (highlightedElement.value && highlightedElement.value.isConnected) {
6690
+ if (event.ctrlKey || event.metaKey || event.altKey) return;
6544
6691
  event.preventDefault();
6545
6692
  event.stopPropagation();
6546
6693
  if (!isComposing.value) highlightedElement.value.click();
@@ -6634,7 +6781,10 @@ var ListboxRoot_default = /* @__PURE__ */ defineComponent({
6634
6781
  async function highlightSelected(event, scroll = true) {
6635
6782
  if (!isClient) return;
6636
6783
  await nextTick();
6637
- if (isVirtual.value) virtualFocusHook.trigger(event);
6784
+ if (isVirtual.value) virtualFocusHook.trigger({
6785
+ event,
6786
+ scroll
6787
+ });
6638
6788
  else {
6639
6789
  const collection = getCollectionItem();
6640
6790
  const item = collection.find((i) => i.dataset.state === "checked");
@@ -8249,7 +8399,7 @@ var ListboxVirtualizer_default = /* @__PURE__ */ defineComponent({
8249
8399
  })
8250
8400
  };
8251
8401
  }));
8252
- rootContext.virtualFocusHook.on((event) => {
8402
+ rootContext.virtualFocusHook.on(({ event, scroll }) => {
8253
8403
  const index = props.options.findIndex((option) => {
8254
8404
  if (Array.isArray(rootContext.modelValue.value)) return compare$2(option, rootContext.modelValue.value[0], rootContext.by);
8255
8405
  else return compare$2(option, rootContext.modelValue.value, rootContext.by);
@@ -8260,11 +8410,15 @@ var ListboxVirtualizer_default = /* @__PURE__ */ defineComponent({
8260
8410
  requestAnimationFrame(() => {
8261
8411
  const item = queryCheckedElement(parentEl.value);
8262
8412
  if (item) {
8263
- rootContext.changeHighlight(item);
8413
+ rootContext.changeHighlight(item, scroll, scroll ? void 0 : false);
8264
8414
  if (event) item?.focus();
8265
8415
  }
8266
8416
  });
8267
- } else rootContext.highlightFirstItem();
8417
+ } else if (scroll) rootContext.highlightFirstItem();
8418
+ else requestAnimationFrame(() => {
8419
+ const item = getItems().find((i) => i.ref.dataset.disabled !== "")?.ref;
8420
+ if (item) rootContext.changeHighlight(item, false, false);
8421
+ });
8268
8422
  });
8269
8423
  rootContext.virtualHighlightHook.on((value) => {
8270
8424
  const index = props.options.findIndex((option) => {
@@ -8409,7 +8563,7 @@ var PopperAnchor_default = /* @__PURE__ */ defineComponent({
8409
8563
  });
8410
8564
  //#endregion
8411
8565
  //#region ../../home/cosmin/Work/maizzle/framework/node_modules/reka-ui/dist/component/Arrow.js
8412
- var _hoisted_1$10 = {
8566
+ var _hoisted_1$11 = {
8413
8567
  key: 0,
8414
8568
  d: "M0 0L6 6L12 0"
8415
8569
  };
@@ -8454,7 +8608,7 @@ var Arrow_default = /* @__PURE__ */ defineComponent({
8454
8608
  viewBox: _ctx.asChild ? void 0 : "0 0 12 6",
8455
8609
  preserveAspectRatio: _ctx.asChild ? void 0 : "none"
8456
8610
  }), {
8457
- default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, () => [!_ctx.rounded ? (openBlock(), createElementBlock("path", _hoisted_1$10)) : (openBlock(), createElementBlock("path", _hoisted_2$6))])]),
8611
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, () => [!_ctx.rounded ? (openBlock(), createElementBlock("path", _hoisted_1$11)) : (openBlock(), createElementBlock("path", _hoisted_2$6))])]),
8458
8612
  _: 3
8459
8613
  }, 16, [
8460
8614
  "width",
@@ -8480,7 +8634,12 @@ function transformOrigin(options) {
8480
8634
  const arrowWidth = isArrowHidden ? 0 : options.arrowWidth;
8481
8635
  const arrowHeight = isArrowHidden ? 0 : options.arrowHeight;
8482
8636
  const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);
8483
- const noArrowAlign = {
8637
+ const noArrowAlignX = {
8638
+ start: options.dir === "rtl" ? "100%" : "0%",
8639
+ center: "50%",
8640
+ end: options.dir === "rtl" ? "0%" : "100%"
8641
+ }[placedAlign];
8642
+ const noArrowAlignY = {
8484
8643
  start: "0%",
8485
8644
  center: "50%",
8486
8645
  end: "100%"
@@ -8490,17 +8649,17 @@ function transformOrigin(options) {
8490
8649
  let x = "";
8491
8650
  let y = "";
8492
8651
  if (placedSide === "bottom") {
8493
- x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;
8652
+ x = isArrowHidden ? noArrowAlignX : `${arrowXCenter}px`;
8494
8653
  y = `${-arrowHeight}px`;
8495
8654
  } else if (placedSide === "top") {
8496
- x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;
8655
+ x = isArrowHidden ? noArrowAlignX : `${arrowXCenter}px`;
8497
8656
  y = `${rects.floating.height + arrowHeight}px`;
8498
8657
  } else if (placedSide === "right") {
8499
8658
  x = `${-arrowHeight}px`;
8500
- y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;
8659
+ y = isArrowHidden ? noArrowAlignY : `${arrowYCenter}px`;
8501
8660
  } else if (placedSide === "left") {
8502
8661
  x = `${rects.floating.width + arrowHeight}px`;
8503
- y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;
8662
+ y = isArrowHidden ? noArrowAlignY : `${arrowYCenter}px`;
8504
8663
  }
8505
8664
  return { data: {
8506
8665
  x,
@@ -8539,7 +8698,7 @@ var oppositeSideMap = {
8539
8698
  bottom: "top",
8540
8699
  top: "bottom"
8541
8700
  };
8542
- function clamp(start, value, end) {
8701
+ function clamp$1(start, value, end) {
8543
8702
  return max(start, min(value, end));
8544
8703
  }
8545
8704
  function evaluate(value, param) {
@@ -8849,7 +9008,7 @@ var arrow$2 = (options) => ({
8849
9008
  const min$1 = minPadding;
8850
9009
  const max = clientSize - arrowDimensions[length] - maxPadding;
8851
9010
  const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;
8852
- const offset = clamp(min$1, center, max);
9011
+ const offset = clamp$1(min$1, center, max);
8853
9012
  const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;
8854
9013
  const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;
8855
9014
  return {
@@ -9075,14 +9234,14 @@ var shift$1 = function(options) {
9075
9234
  const maxSide = mainAxis === "y" ? "bottom" : "right";
9076
9235
  const min = mainAxisCoord + overflow[minSide];
9077
9236
  const max = mainAxisCoord - overflow[maxSide];
9078
- mainAxisCoord = clamp(min, mainAxisCoord, max);
9237
+ mainAxisCoord = clamp$1(min, mainAxisCoord, max);
9079
9238
  }
9080
9239
  if (checkCrossAxis) {
9081
9240
  const minSide = crossAxis === "y" ? "top" : "left";
9082
9241
  const maxSide = crossAxis === "y" ? "bottom" : "right";
9083
9242
  const min = crossAxisCoord + overflow[minSide];
9084
9243
  const max = crossAxisCoord - overflow[maxSide];
9085
- crossAxisCoord = clamp(min, crossAxisCoord, max);
9244
+ crossAxisCoord = clamp$1(min, crossAxisCoord, max);
9086
9245
  }
9087
9246
  const limitedCoords = limiter.fn({
9088
9247
  ...state,
@@ -10014,6 +10173,7 @@ function useFloating(reference, floating, options) {
10014
10173
  }
10015
10174
  //#endregion
10016
10175
  //#region ../../home/cosmin/Work/maizzle/framework/node_modules/reka-ui/dist/Popper/PopperContent.js
10176
+ var _hoisted_1$10 = ["dir"];
10017
10177
  var PopperContentPropsDefaultValue = {
10018
10178
  side: "bottom",
10019
10179
  sideOffset: 0,
@@ -10037,6 +10197,10 @@ var PopperContent_default = /* @__PURE__ */ defineComponent({
10037
10197
  inheritAttrs: false,
10038
10198
  __name: "PopperContent",
10039
10199
  props: /* @__PURE__ */ mergeDefaults({
10200
+ memoDependencies: {
10201
+ type: Array,
10202
+ required: false
10203
+ },
10040
10204
  side: {
10041
10205
  type: null,
10042
10206
  required: false
@@ -10109,6 +10273,10 @@ var PopperContent_default = /* @__PURE__ */ defineComponent({
10109
10273
  type: null,
10110
10274
  required: false
10111
10275
  },
10276
+ dir: {
10277
+ type: String,
10278
+ required: false
10279
+ },
10112
10280
  asChild: {
10113
10281
  type: Boolean,
10114
10282
  required: false
@@ -10124,6 +10292,7 @@ var PopperContent_default = /* @__PURE__ */ defineComponent({
10124
10292
  const emits = __emit;
10125
10293
  const rootContext = injectPopperRootContext();
10126
10294
  const { forwardRef, currentElement: contentElement } = useForwardExpose();
10295
+ const dir = useDirection(computed(() => props.dir));
10127
10296
  const floatingRef = ref();
10128
10297
  const arrow$1 = ref();
10129
10298
  const { width: arrowWidth, height: arrowHeight } = useSize(arrow$1);
@@ -10153,7 +10322,7 @@ var PopperContent_default = /* @__PURE__ */ defineComponent({
10153
10322
  crossAxis: props.alignFlip
10154
10323
  };
10155
10324
  });
10156
- const computedMiddleware = computedEager(() => {
10325
+ const computedMiddleware = computed(() => {
10157
10326
  return [
10158
10327
  offset({
10159
10328
  mainAxis: props.sideOffset + arrowHeight.value,
@@ -10190,7 +10359,8 @@ var PopperContent_default = /* @__PURE__ */ defineComponent({
10190
10359
  }),
10191
10360
  transformOrigin({
10192
10361
  arrowWidth: arrowWidth.value,
10193
- arrowHeight: arrowHeight.value
10362
+ arrowHeight: arrowHeight.value,
10363
+ dir: dir.value
10194
10364
  }),
10195
10365
  props.hideWhenDetached && hide({
10196
10366
  strategy: "referenceHidden",
@@ -10234,6 +10404,7 @@ var PopperContent_default = /* @__PURE__ */ defineComponent({
10234
10404
  ref_key: "floatingRef",
10235
10405
  ref: floatingRef,
10236
10406
  "data-reka-popper-content-wrapper": "",
10407
+ dir: unref(dir),
10237
10408
  style: normalizeStyle({
10238
10409
  ...unref(floatingStyles),
10239
10410
  transform: unref(isPositioned) ? unref(floatingStyles).transform : "translate(0, -200%)",
@@ -10245,9 +10416,20 @@ var PopperContent_default = /* @__PURE__ */ defineComponent({
10245
10416
  pointerEvents: "none"
10246
10417
  }
10247
10418
  })
10248
- }, [createVNode(unref(Primitive), mergeProps({ ref: unref(forwardRef) }, _ctx.$attrs, {
10419
+ }, [props.memoDependencies ? withMemo([
10420
+ props.asChild,
10421
+ props.as,
10422
+ placedSide.value,
10423
+ placedAlign.value,
10424
+ unref(isPositioned),
10425
+ ...Object.values(_ctx.$attrs),
10426
+ ...props.memoDependencies
10427
+ ], () => (openBlock(), createBlock(unref(Primitive), mergeProps({
10428
+ key: 0,
10429
+ ref: unref(forwardRef)
10430
+ }, _ctx.$attrs, {
10249
10431
  "as-child": props.asChild,
10250
- as: _ctx.as,
10432
+ as: props.as,
10251
10433
  "data-side": placedSide.value,
10252
10434
  "data-align": placedAlign.value,
10253
10435
  style: { animation: !unref(isPositioned) ? "none" : void 0 }
@@ -10260,7 +10442,27 @@ var PopperContent_default = /* @__PURE__ */ defineComponent({
10260
10442
  "data-side",
10261
10443
  "data-align",
10262
10444
  "style"
10263
- ])], 4);
10445
+ ])), _cache, 0) : (openBlock(), createBlock(unref(Primitive), mergeProps({
10446
+ key: 1,
10447
+ ref: unref(forwardRef)
10448
+ }, _ctx.$attrs, {
10449
+ "as-child": props.asChild,
10450
+ as: props.as,
10451
+ "data-side": placedSide.value,
10452
+ "data-align": placedAlign.value,
10453
+ dir: unref(dir),
10454
+ style: { animation: !unref(isPositioned) ? "none" : void 0 }
10455
+ }), {
10456
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
10457
+ _: 3
10458
+ }, 16, [
10459
+ "as-child",
10460
+ "as",
10461
+ "data-side",
10462
+ "data-align",
10463
+ "dir",
10464
+ "style"
10465
+ ]))], 12, _hoisted_1$10);
10264
10466
  };
10265
10467
  }
10266
10468
  });
@@ -10995,6 +11197,10 @@ var ComboboxContentImpl_default = /* @__PURE__ */ defineComponent({
10995
11197
  type: Boolean,
10996
11198
  required: false
10997
11199
  },
11200
+ memoDependencies: {
11201
+ type: Array,
11202
+ required: false
11203
+ },
10998
11204
  side: {
10999
11205
  type: null,
11000
11206
  required: false
@@ -11067,6 +11273,10 @@ var ComboboxContentImpl_default = /* @__PURE__ */ defineComponent({
11067
11273
  type: null,
11068
11274
  required: false
11069
11275
  },
11276
+ dir: {
11277
+ type: String,
11278
+ required: false
11279
+ },
11070
11280
  asChild: {
11071
11281
  type: Boolean,
11072
11282
  required: false
@@ -11120,6 +11330,11 @@ var ComboboxContentImpl_default = /* @__PURE__ */ defineComponent({
11120
11330
  const activeElement = getActiveElement();
11121
11331
  if (isInputWithinContent.value && (!activeElement || activeElement === document.body)) rootContext.triggerElement.value?.focus();
11122
11332
  });
11333
+ function isEventTargetWithinCombobox(target) {
11334
+ if (rootContext.parentElement.value?.contains(target)) return true;
11335
+ const control = (target instanceof Element ? target.closest("label") : null)?.control;
11336
+ return !!control && !!rootContext.parentElement.value?.contains(control);
11337
+ }
11123
11338
  return (_ctx, _cache) => {
11124
11339
  return openBlock(), createBlock(unref(ListboxContent_default), { "as-child": "" }, {
11125
11340
  default: withCtx(() => [createVNode(unref(FocusScope_default), {
@@ -11132,13 +11347,13 @@ var ComboboxContentImpl_default = /* @__PURE__ */ defineComponent({
11132
11347
  "disable-outside-pointer-events": _ctx.disableOutsidePointerEvents,
11133
11348
  onDismiss: _cache[0] || (_cache[0] = ($event) => unref(rootContext).onOpenChange(false)),
11134
11349
  onFocusOutside: _cache[1] || (_cache[1] = (ev) => {
11135
- if (unref(rootContext).parentElement.value?.contains(ev.target)) ev.preventDefault();
11350
+ if (isEventTargetWithinCombobox(ev.target)) ev.preventDefault();
11136
11351
  emits("focusOutside", ev);
11137
11352
  }),
11138
11353
  onInteractOutside: _cache[2] || (_cache[2] = ($event) => emits("interactOutside", $event)),
11139
11354
  onEscapeKeyDown: _cache[3] || (_cache[3] = ($event) => emits("escapeKeyDown", $event)),
11140
11355
  onPointerDownOutside: _cache[4] || (_cache[4] = (ev) => {
11141
- if (unref(rootContext).parentElement.value?.contains(ev.target)) ev.preventDefault();
11356
+ if (isEventTargetWithinCombobox(ev.target)) ev.preventDefault();
11142
11357
  emits("pointerDownOutside", ev);
11143
11358
  })
11144
11359
  }, {
@@ -11148,6 +11363,7 @@ var ComboboxContentImpl_default = /* @__PURE__ */ defineComponent({
11148
11363
  }, {
11149
11364
  id: unref(rootContext).contentId,
11150
11365
  ref: unref(forwardRef),
11366
+ "memo-dependencies": unref(position) === "popper" ? [unref(rootContext).filterSearch.value, unref(rootContext).filterState.value] : void 0,
11151
11367
  "data-state": unref(rootContext).open.value ? "open" : "closed",
11152
11368
  "data-empty": isEmpty.value ? "" : void 0,
11153
11369
  style: {
@@ -11161,6 +11377,7 @@ var ComboboxContentImpl_default = /* @__PURE__ */ defineComponent({
11161
11377
  _: 3
11162
11378
  }, 16, [
11163
11379
  "id",
11380
+ "memo-dependencies",
11164
11381
  "data-state",
11165
11382
  "data-empty",
11166
11383
  "style"
@@ -11275,6 +11492,10 @@ var ComboboxContent_default = /* @__PURE__ */ defineComponent({
11275
11492
  type: Boolean,
11276
11493
  required: false
11277
11494
  },
11495
+ memoDependencies: {
11496
+ type: Array,
11497
+ required: false
11498
+ },
11278
11499
  side: {
11279
11500
  type: null,
11280
11501
  required: false
@@ -11347,6 +11568,10 @@ var ComboboxContent_default = /* @__PURE__ */ defineComponent({
11347
11568
  type: null,
11348
11569
  required: false
11349
11570
  },
11571
+ dir: {
11572
+ type: String,
11573
+ required: false
11574
+ },
11350
11575
  asChild: {
11351
11576
  type: Boolean,
11352
11577
  required: false
@@ -11654,7 +11879,16 @@ var ComboboxItem_default = /* @__PURE__ */ defineComponent({
11654
11879
  rootContext.allItems.value.delete(id);
11655
11880
  });
11656
11881
  return (_ctx, _cache) => {
11657
- return isRender.value ? (openBlock(), createBlock(unref(ListboxItem_default), mergeProps({ key: 0 }, props, {
11882
+ return isRender.value ? withMemo([
11883
+ isRender.value,
11884
+ unref(rootContext).filterSearch.value,
11885
+ unref(rootContext).disabled.value,
11886
+ _ctx.disabled,
11887
+ props.value,
11888
+ props.as,
11889
+ props.asChild,
11890
+ ...Object.values(_ctx.$attrs)
11891
+ ], () => (openBlock(), createBlock(unref(ListboxItem_default), mergeProps({ key: 0 }, props, {
11658
11892
  id: unref(id),
11659
11893
  ref_key: "primitiveElement",
11660
11894
  ref: primitiveElement,
@@ -11671,7 +11905,7 @@ var ComboboxItem_default = /* @__PURE__ */ defineComponent({
11671
11905
  }), {
11672
11906
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(_ctx.value), 1)])]),
11673
11907
  _: 3
11674
- }, 16, ["id", "disabled"])) : createCommentVNode("v-if", true);
11908
+ }, 16, ["id", "disabled"])), _cache, 1) : createCommentVNode("v-if", true);
11675
11909
  };
11676
11910
  }
11677
11911
  });
@@ -14172,6 +14406,7 @@ var CalendarCellTrigger_default = /* @__PURE__ */ defineComponent({
14172
14406
  }
14173
14407
  function handleArrowKey(e) {
14174
14408
  if (isDisabled.value) return;
14409
+ if ((e.code === kbd.ENTER || e.code === kbd.SPACE_CODE) && (e.ctrlKey || e.metaKey || e.altKey)) return;
14175
14410
  e.preventDefault();
14176
14411
  e.stopPropagation();
14177
14412
  const parentElement = rootContext.parentElement.value;
@@ -14235,14 +14470,14 @@ var CalendarCellTrigger_default = /* @__PURE__ */ defineComponent({
14235
14470
  "data-focused": isFocusedDate.value ? "" : void 0,
14236
14471
  tabindex: isFocusedDate.value ? 0 : isOutsideView.value || isDisabled.value ? void 0 : -1,
14237
14472
  onClick: handleClick,
14238
- onKeydown: [withKeys(handleArrowKey, [
14473
+ onKeydown: withKeys(handleArrowKey, [
14239
14474
  "up",
14240
14475
  "down",
14241
14476
  "left",
14242
14477
  "right",
14243
14478
  "space",
14244
14479
  "enter"
14245
- ]), _cache[0] || (_cache[0] = withKeys(withModifiers(() => {}, ["prevent"]), ["enter"]))]
14480
+ ])
14246
14481
  }, {
14247
14482
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", {
14248
14483
  dayValue: dayValue.value,
@@ -14736,6 +14971,11 @@ var RovingFocusItem_default = /* @__PURE__ */ defineComponent({
14736
14971
  onUnmounted(() => {
14737
14972
  if (props.focusable) context.onFocusableItemRemove();
14738
14973
  });
14974
+ watch(() => props.focusable, (newVal, oldVal) => {
14975
+ if (newVal === oldVal) return;
14976
+ if (newVal) context.onFocusableItemAdd();
14977
+ else context.onFocusableItemRemove();
14978
+ });
14739
14979
  function handleKeydown(event) {
14740
14980
  if (event.key === "Tab" && event.shiftKey) {
14741
14981
  context.onItemShiftTab();
@@ -14981,13 +15221,21 @@ var CheckboxRoot_default = /* @__PURE__ */ defineComponent({
14981
15221
  else modelValue.value = isChecked.value ? props.falseValue : props.trueValue;
14982
15222
  }
14983
15223
  const isFormControl = useFormControl(currentElement);
14984
- const ariaLabel = computed(() => props.id && currentElement.value ? document.querySelector(`[for="${props.id}"]`)?.innerText : void 0);
15224
+ const scopeIdAttrs = useForwardScopeId();
15225
+ const attrs = useAttrs();
15226
+ const ariaLabel = computed(() => {
15227
+ if (attrs["aria-label"]) return void 0;
15228
+ return props.id && currentElement.value ? document.querySelector(`[for="${props.id}"]`)?.innerText : void 0;
15229
+ });
14985
15230
  provideCheckboxRootContext({
14986
15231
  disabled,
14987
15232
  state: checkboxState
14988
15233
  });
14989
15234
  return (_ctx, _cache) => {
14990
- return openBlock(), createBlock(resolveDynamicComponent(unref(checkboxGroupContext)?.rovingFocus.value ? unref(RovingFocusItem_default) : unref(Primitive)), mergeProps(_ctx.$attrs, {
15235
+ return openBlock(), createElementBlock(Fragment, null, [(openBlock(), createBlock(resolveDynamicComponent(unref(checkboxGroupContext)?.rovingFocus.value ? unref(RovingFocusItem_default) : unref(Primitive)), mergeProps({
15236
+ ..._ctx.$attrs,
15237
+ ...unref(scopeIdAttrs)
15238
+ }, {
14991
15239
  id: _ctx.id,
14992
15240
  ref: unref(forwardRef),
14993
15241
  role: "checkbox",
@@ -15007,21 +15255,7 @@ var CheckboxRoot_default = /* @__PURE__ */ defineComponent({
15007
15255
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", {
15008
15256
  modelValue: unref(modelValue),
15009
15257
  state: checkboxState.value
15010
- }), unref(isFormControl) && _ctx.name && !unref(checkboxGroupContext) ? (openBlock(), createBlock(unref(VisuallyHiddenInput_default), {
15011
- key: 0,
15012
- type: "checkbox",
15013
- checked: !!checkboxState.value,
15014
- name: _ctx.name,
15015
- value: _ctx.value,
15016
- disabled: disabled.value,
15017
- required: _ctx.required
15018
- }, null, 8, [
15019
- "checked",
15020
- "name",
15021
- "value",
15022
- "disabled",
15023
- "required"
15024
- ])) : createCommentVNode("v-if", true)]),
15258
+ })]),
15025
15259
  _: 3
15026
15260
  }, 16, [
15027
15261
  "id",
@@ -15036,7 +15270,21 @@ var CheckboxRoot_default = /* @__PURE__ */ defineComponent({
15036
15270
  "disabled",
15037
15271
  "focusable",
15038
15272
  "onKeydown"
15039
- ]);
15273
+ ])), unref(isFormControl) && _ctx.name && !unref(checkboxGroupContext) ? (openBlock(), createBlock(unref(VisuallyHiddenInput_default), mergeProps({
15274
+ key: 0,
15275
+ type: "checkbox",
15276
+ checked: !!checkboxState.value,
15277
+ name: _ctx.name,
15278
+ value: _ctx.value,
15279
+ disabled: disabled.value,
15280
+ required: _ctx.required
15281
+ }, unref(scopeIdAttrs)), null, 16, [
15282
+ "checked",
15283
+ "name",
15284
+ "value",
15285
+ "disabled",
15286
+ "required"
15287
+ ])) : createCommentVNode("v-if", true)], 64);
15040
15288
  };
15041
15289
  }
15042
15290
  });
@@ -16366,7 +16614,7 @@ function linearScale$2(input, output) {
16366
16614
  }
16367
16615
  function convertValueToPercentage$1(value, min, max) {
16368
16616
  if (max === min) return 0;
16369
- return clamp$1(100 / (max - min) * (value - min), 0, 100);
16617
+ return clamp$2(100 / (max - min) * (value - min), 0, 100);
16370
16618
  }
16371
16619
  //#endregion
16372
16620
  //#region ../../home/cosmin/Work/maizzle/framework/node_modules/reka-ui/dist/ColorArea/ColorAreaArea.js
@@ -16933,7 +17181,7 @@ function getNextSortedValues(prevValues = [], nextValue, atIndex) {
16933
17181
  return nextValues.sort((a, b) => a - b);
16934
17182
  }
16935
17183
  function convertValueToPercentage(value, min, max) {
16936
- return clamp$1(100 / (max - min) * (value - min), 0, 100);
17184
+ return clamp$2(100 / (max - min) * (value - min), 0, 100);
16937
17185
  }
16938
17186
  /**
16939
17187
  * Returns a label for each thumb when there are two or more thumbs
@@ -17312,7 +17560,7 @@ var SliderRoot_default = /* @__PURE__ */ defineComponent({
17312
17560
  }
17313
17561
  function updateValues(value, atIndex, { commit } = { commit: false }) {
17314
17562
  const decimalCount = getDecimalCount(step.value);
17315
- const nextValue = clamp$1(roundValue(Math.round((value - min.value) / step.value) * step.value + min.value, decimalCount), min.value, max.value);
17563
+ const nextValue = clamp$2(roundValue(Math.round((value - min.value) / step.value) * step.value + min.value, decimalCount), min.value, max.value);
17316
17564
  const nextValues = getNextSortedValues(currentModelValue.value, nextValue, atIndex);
17317
17565
  if (hasMinStepsBetweenValues(nextValues, minStepsBetweenThumbs.value * step.value)) {
17318
17566
  valueIndexToChangeRef.value = nextValues.indexOf(nextValue);
@@ -18379,6 +18627,10 @@ var MenuContentImpl_default = /* @__PURE__ */ defineComponent({
18379
18627
  type: Boolean,
18380
18628
  required: false
18381
18629
  },
18630
+ memoDependencies: {
18631
+ type: Array,
18632
+ required: false
18633
+ },
18382
18634
  side: {
18383
18635
  type: null,
18384
18636
  required: false
@@ -18509,6 +18761,7 @@ var MenuContentImpl_default = /* @__PURE__ */ defineComponent({
18509
18761
  const activeSubmenuContext = ref();
18510
18762
  watch(highlightedElement, (el) => {
18511
18763
  if (activeSubmenuContext.value && (el === void 0 || el !== activeSubmenuContext.value.trigger.value)) {
18764
+ if (el === void 0) return;
18512
18765
  activeSubmenuContext.value.onOpenChange(false);
18513
18766
  activeSubmenuContext.value = void 0;
18514
18767
  }
@@ -18546,7 +18799,7 @@ var MenuContentImpl_default = /* @__PURE__ */ defineComponent({
18546
18799
  if (event.code === "Space") return;
18547
18800
  const collectionItems = rovingFocusGroupRef.value?.getItems() ?? [];
18548
18801
  if (isKeyDownInside) {
18549
- if (event.key === "Tab") event.preventDefault();
18802
+ if (event.key === "Tab" && rootContext.modal.value) event.preventDefault();
18550
18803
  if (!isModifierKey && isCharacterKey && !isKeyDownInTextField) handleTypeaheadSearch(event.key, collectionItems);
18551
18804
  }
18552
18805
  if (event.target !== contentElement.value) return;
@@ -18959,6 +19212,10 @@ var MenuRootContentModal_default = /* @__PURE__ */ defineComponent({
18959
19212
  type: Boolean,
18960
19213
  required: false
18961
19214
  },
19215
+ memoDependencies: {
19216
+ type: Array,
19217
+ required: false
19218
+ },
18962
19219
  side: {
18963
19220
  type: null,
18964
19221
  required: false
@@ -19080,6 +19337,10 @@ var MenuRootContentNonModal_default = /* @__PURE__ */ defineComponent({
19080
19337
  type: Boolean,
19081
19338
  required: false
19082
19339
  },
19340
+ memoDependencies: {
19341
+ type: Array,
19342
+ required: false
19343
+ },
19083
19344
  side: {
19084
19345
  type: null,
19085
19346
  required: false
@@ -19199,6 +19460,10 @@ var MenuContent_default = /* @__PURE__ */ defineComponent({
19199
19460
  type: Boolean,
19200
19461
  required: false
19201
19462
  },
19463
+ memoDependencies: {
19464
+ type: Array,
19465
+ required: false
19466
+ },
19202
19467
  side: {
19203
19468
  type: null,
19204
19469
  required: false
@@ -19578,6 +19843,10 @@ var MenuSubContent_default = /* @__PURE__ */ defineComponent({
19578
19843
  type: Boolean,
19579
19844
  required: false
19580
19845
  },
19846
+ memoDependencies: {
19847
+ type: Array,
19848
+ required: false
19849
+ },
19581
19850
  sideOffset: {
19582
19851
  type: Number,
19583
19852
  required: false
@@ -20020,6 +20289,10 @@ var ContextMenuContent_default = /* @__PURE__ */ defineComponent({
20020
20289
  type: Boolean,
20021
20290
  required: false
20022
20291
  },
20292
+ memoDependencies: {
20293
+ type: Array,
20294
+ required: false
20295
+ },
20023
20296
  sideFlip: {
20024
20297
  type: Boolean,
20025
20298
  required: false
@@ -20425,6 +20698,10 @@ var ContextMenuSubContent_default = /* @__PURE__ */ defineComponent({
20425
20698
  type: Boolean,
20426
20699
  required: false
20427
20700
  },
20701
+ memoDependencies: {
20702
+ type: Array,
20703
+ required: false
20704
+ },
20428
20705
  sideOffset: {
20429
20706
  type: Number,
20430
20707
  required: false
@@ -20704,6 +20981,11 @@ var DateFieldRoot_default = /* @__PURE__ */ defineComponent({
20704
20981
  type: Object,
20705
20982
  required: false
20706
20983
  },
20984
+ stepSnapping: {
20985
+ type: Boolean,
20986
+ required: false,
20987
+ default: false
20988
+ },
20707
20989
  granularity: {
20708
20990
  type: String,
20709
20991
  required: false
@@ -20768,7 +21050,7 @@ var DateFieldRoot_default = /* @__PURE__ */ defineComponent({
20768
21050
  setup(__props, { expose: __expose, emit: __emit }) {
20769
21051
  const props = __props;
20770
21052
  const emits = __emit;
20771
- const { disabled, readonly, isDateUnavailable: propsIsDateUnavailable, granularity, defaultValue, dir: propDir, locale: propLocale } = toRefs(props);
21053
+ const { disabled, readonly, isDateUnavailable: propsIsDateUnavailable, granularity, defaultValue, stepSnapping, dir: propDir, locale: propLocale } = toRefs(props);
20772
21054
  const locale = useLocale(propLocale);
20773
21055
  const dir = useDirection(propDir);
20774
21056
  const formatter = useDateFormatter(locale.value, { hourCycle: normalizeHourCycle(props.hourCycle) });
@@ -20873,6 +21155,7 @@ var DateFieldRoot_default = /* @__PURE__ */ defineComponent({
20873
21155
  formatter,
20874
21156
  hourCycle: props.hourCycle,
20875
21157
  step,
21158
+ stepSnapping,
20876
21159
  readonly,
20877
21160
  segmentValues,
20878
21161
  isInvalid,
@@ -20956,12 +21239,13 @@ var DateFieldInput_default = /* @__PURE__ */ defineComponent({
20956
21239
  const props = __props;
20957
21240
  const rootContext = injectDateFieldRootContext();
20958
21241
  const hasLeftFocus = ref(true);
20959
- const { handleSegmentClick, handleSegmentKeydown, handleSegmentBeforeInput, handleSegmentCompositionStart, handleSegmentCompositionEnd, attributes } = useDateField({
21242
+ const { handleSegmentClick, handleSegmentKeydown, handleSegmentFocusOut, handleSegmentBeforeInput, handleSegmentCompositionStart, handleSegmentCompositionEnd, attributes } = useDateField({
20960
21243
  hasLeftFocus,
20961
21244
  lastKeyZero: ref(false),
20962
21245
  placeholder: rootContext.placeholder,
20963
21246
  hourCycle: rootContext.hourCycle,
20964
21247
  step: rootContext.step,
21248
+ stepSnapping: rootContext.stepSnapping,
20965
21249
  segmentValues: rootContext.segmentValues,
20966
21250
  formatter: rootContext.formatter,
20967
21251
  part: props.part,
@@ -20993,6 +21277,7 @@ var DateFieldInput_default = /* @__PURE__ */ defineComponent({
20993
21277
  compositionend: unref(handleSegmentCompositionEnd),
20994
21278
  focusout: () => {
20995
21279
  hasLeftFocus.value = true;
21280
+ unref(handleSegmentFocusOut)();
20996
21281
  },
20997
21282
  focusin: (e) => {
20998
21283
  unref(rootContext).setFocusedElement(e.target);
@@ -21243,6 +21528,10 @@ var DatePickerRoot_default = /* @__PURE__ */ defineComponent({
21243
21528
  type: Object,
21244
21529
  required: false
21245
21530
  },
21531
+ stepSnapping: {
21532
+ type: Boolean,
21533
+ required: false
21534
+ },
21246
21535
  granularity: {
21247
21536
  type: String,
21248
21537
  required: false
@@ -21630,6 +21919,10 @@ var PopoverContentImpl_default = /* @__PURE__ */ defineComponent({
21630
21919
  type: Boolean,
21631
21920
  required: false
21632
21921
  },
21922
+ memoDependencies: {
21923
+ type: Array,
21924
+ required: false
21925
+ },
21633
21926
  side: {
21634
21927
  type: null,
21635
21928
  required: false
@@ -21702,6 +21995,10 @@ var PopoverContentImpl_default = /* @__PURE__ */ defineComponent({
21702
21995
  type: null,
21703
21996
  required: false
21704
21997
  },
21998
+ dir: {
21999
+ type: String,
22000
+ required: false
22001
+ },
21705
22002
  asChild: {
21706
22003
  type: Boolean,
21707
22004
  required: false
@@ -21780,6 +22077,10 @@ var PopoverContentImpl_default = /* @__PURE__ */ defineComponent({
21780
22077
  var PopoverContentModal_default = /* @__PURE__ */ defineComponent({
21781
22078
  __name: "PopoverContentModal",
21782
22079
  props: {
22080
+ memoDependencies: {
22081
+ type: Array,
22082
+ required: false
22083
+ },
21783
22084
  side: {
21784
22085
  type: null,
21785
22086
  required: false
@@ -21852,6 +22153,10 @@ var PopoverContentModal_default = /* @__PURE__ */ defineComponent({
21852
22153
  type: null,
21853
22154
  required: false
21854
22155
  },
22156
+ dir: {
22157
+ type: String,
22158
+ required: false
22159
+ },
21855
22160
  asChild: {
21856
22161
  type: Boolean,
21857
22162
  required: false
@@ -21910,6 +22215,10 @@ var PopoverContentModal_default = /* @__PURE__ */ defineComponent({
21910
22215
  var PopoverContentNonModal_default = /* @__PURE__ */ defineComponent({
21911
22216
  __name: "PopoverContentNonModal",
21912
22217
  props: {
22218
+ memoDependencies: {
22219
+ type: Array,
22220
+ required: false
22221
+ },
21913
22222
  side: {
21914
22223
  type: null,
21915
22224
  required: false
@@ -21982,6 +22291,10 @@ var PopoverContentNonModal_default = /* @__PURE__ */ defineComponent({
21982
22291
  type: null,
21983
22292
  required: false
21984
22293
  },
22294
+ dir: {
22295
+ type: String,
22296
+ required: false
22297
+ },
21985
22298
  asChild: {
21986
22299
  type: Boolean,
21987
22300
  required: false
@@ -22049,6 +22362,10 @@ var PopoverContent_default = /* @__PURE__ */ defineComponent({
22049
22362
  type: Boolean,
22050
22363
  required: false
22051
22364
  },
22365
+ memoDependencies: {
22366
+ type: Array,
22367
+ required: false
22368
+ },
22052
22369
  side: {
22053
22370
  type: null,
22054
22371
  required: false
@@ -22121,6 +22438,10 @@ var PopoverContent_default = /* @__PURE__ */ defineComponent({
22121
22438
  type: null,
22122
22439
  required: false
22123
22440
  },
22441
+ dir: {
22442
+ type: String,
22443
+ required: false
22444
+ },
22124
22445
  asChild: {
22125
22446
  type: Boolean,
22126
22447
  required: false
@@ -22208,6 +22529,10 @@ var DatePickerContent_default = /* @__PURE__ */ defineComponent({
22208
22529
  type: Boolean,
22209
22530
  required: false
22210
22531
  },
22532
+ memoDependencies: {
22533
+ type: Array,
22534
+ required: false
22535
+ },
22211
22536
  side: {
22212
22537
  type: null,
22213
22538
  required: false
@@ -22280,6 +22605,10 @@ var DatePickerContent_default = /* @__PURE__ */ defineComponent({
22280
22605
  type: null,
22281
22606
  required: false
22282
22607
  },
22608
+ dir: {
22609
+ type: String,
22610
+ required: false
22611
+ },
22283
22612
  asChild: {
22284
22613
  type: Boolean,
22285
22614
  required: false
@@ -24162,6 +24491,7 @@ var RangeCalendarCellTrigger_default = /* @__PURE__ */ defineComponent({
24162
24491
  }
24163
24492
  function handleArrowKey(e) {
24164
24493
  if (isDisabled.value) return;
24494
+ if ((e.code === kbd.ENTER || e.code === kbd.SPACE_CODE) && (e.ctrlKey || e.metaKey || e.altKey)) return;
24165
24495
  e.preventDefault();
24166
24496
  e.stopPropagation();
24167
24497
  const parentElement = rootContext.parentElement.value;
@@ -24350,6 +24680,10 @@ var DateRangePickerContent_default = /* @__PURE__ */ defineComponent({
24350
24680
  type: Boolean,
24351
24681
  required: false
24352
24682
  },
24683
+ memoDependencies: {
24684
+ type: Array,
24685
+ required: false
24686
+ },
24353
24687
  side: {
24354
24688
  type: null,
24355
24689
  required: false
@@ -24422,6 +24756,10 @@ var DateRangePickerContent_default = /* @__PURE__ */ defineComponent({
24422
24756
  type: null,
24423
24757
  required: false
24424
24758
  },
24759
+ dir: {
24760
+ type: String,
24761
+ required: false
24762
+ },
24425
24763
  asChild: {
24426
24764
  type: Boolean,
24427
24765
  required: false
@@ -25096,6 +25434,1723 @@ var DateRangePickerTrigger_default = /* @__PURE__ */ defineComponent({
25096
25434
  }
25097
25435
  });
25098
25436
  //#endregion
25437
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/reka-ui/dist/Drawer/DrawerProvider.js
25438
+ var [injectDrawerProviderContext, provideDrawerProviderContext] = /*#__PURE__*/ createContext("DrawerProvider");
25439
+ var DrawerProvider_default = /* @__PURE__ */ defineComponent({
25440
+ __name: "DrawerProvider",
25441
+ setup(__props) {
25442
+ function createVisualStateStore() {
25443
+ let state = {
25444
+ swipeProgress: 0,
25445
+ frontmostHeight: 0
25446
+ };
25447
+ const listeners = /* @__PURE__ */ new Set();
25448
+ return {
25449
+ getSnapshot: () => state,
25450
+ set(next) {
25451
+ const nextProgress = next.swipeProgress !== void 0 ? Number.isFinite(next.swipeProgress) ? next.swipeProgress : 0 : state.swipeProgress;
25452
+ const nextHeight = next.frontmostHeight !== void 0 ? Number.isFinite(next.frontmostHeight) ? next.frontmostHeight : 0 : state.frontmostHeight;
25453
+ if (nextProgress === state.swipeProgress && nextHeight === state.frontmostHeight) return;
25454
+ state = {
25455
+ swipeProgress: nextProgress,
25456
+ frontmostHeight: nextHeight
25457
+ };
25458
+ listeners.forEach((l) => l());
25459
+ },
25460
+ subscribe(listener) {
25461
+ listeners.add(listener);
25462
+ return () => listeners.delete(listener);
25463
+ }
25464
+ };
25465
+ }
25466
+ const openById = ref(/* @__PURE__ */ new Map());
25467
+ const visualStateStore = createVisualStateStore();
25468
+ provideDrawerProviderContext({
25469
+ active: computed(() => {
25470
+ for (const open of openById.value.values()) if (open) return true;
25471
+ return false;
25472
+ }),
25473
+ setDrawerOpen(id, open) {
25474
+ if (openById.value.get(id) === open) return;
25475
+ const next = new Map(openById.value);
25476
+ next.set(id, open);
25477
+ openById.value = next;
25478
+ },
25479
+ removeDrawer(id) {
25480
+ if (!openById.value.has(id)) return;
25481
+ const next = new Map(openById.value);
25482
+ next.delete(id);
25483
+ openById.value = next;
25484
+ },
25485
+ visualStateStore
25486
+ });
25487
+ return (_ctx, _cache) => {
25488
+ return renderSlot(_ctx.$slots, "default");
25489
+ };
25490
+ }
25491
+ });
25492
+ //#endregion
25493
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/reka-ui/dist/Drawer/utils.js
25494
+ var DRAWER_CSS_VARS = {
25495
+ swipeMovementX: "--drawer-swipe-movement-x",
25496
+ swipeMovementY: "--drawer-swipe-movement-y",
25497
+ snapPointOffset: "--drawer-snap-point-offset",
25498
+ height: "--drawer-height",
25499
+ frontmostHeight: "--drawer-frontmost-height",
25500
+ swipeProgress: "--drawer-swipe-progress",
25501
+ swipeStrength: "--drawer-swipe-strength",
25502
+ nestedDrawers: "--nested-drawers"
25503
+ };
25504
+ function createNestedSwipeProgressStore() {
25505
+ let progress = 0;
25506
+ const listeners = /* @__PURE__ */ new Set();
25507
+ return {
25508
+ getSnapshot: () => progress,
25509
+ subscribe(listener) {
25510
+ listeners.add(listener);
25511
+ return () => listeners.delete(listener);
25512
+ },
25513
+ set(next) {
25514
+ if (next !== progress) {
25515
+ progress = next;
25516
+ listeners.forEach((l) => l());
25517
+ }
25518
+ }
25519
+ };
25520
+ }
25521
+ function getDisplacement(direction, deltaX, deltaY) {
25522
+ switch (direction) {
25523
+ case "up": return -deltaY;
25524
+ case "down": return deltaY;
25525
+ case "left": return -deltaX;
25526
+ case "right": return deltaX;
25527
+ default: return 0;
25528
+ }
25529
+ }
25530
+ var MIN_SWIPE_RELEASE_VELOCITY = .2;
25531
+ var MAX_SWIPE_RELEASE_VELOCITY = 4;
25532
+ var MIN_SWIPE_RELEASE_DURATION_MS = 80;
25533
+ var MAX_SWIPE_RELEASE_DURATION_MS = 360;
25534
+ var MIN_SWIPE_RELEASE_SCALAR = .1;
25535
+ var MAX_SWIPE_RELEASE_SCALAR = 1;
25536
+ function clamp(v, lo, hi) {
25537
+ return Math.max(lo, Math.min(hi, v));
25538
+ }
25539
+ /**
25540
+ * Computes a 0.1 - 1.0 scalar for the `--drawer-swipe-strength` CSS var.
25541
+ * Ported from BaseUI `DrawerViewport.tsx:resolveSwipeRelease` (lines 243-337).
25542
+ *
25543
+ * The scalar is derived from how much further the drawer still has to travel
25544
+ * vs how fast the user flung it. A short remaining distance with high velocity
25545
+ * → near-zero scalar (fast release). A long distance / low velocity → near-1
25546
+ * (default release).
25547
+ *
25548
+ * Returns `null` when the formula is degenerate (no velocity, no distance, or
25549
+ * moving in the wrong direction).
25550
+ */
25551
+ function computeSwipeReleaseScalar(params) {
25552
+ const { direction, size, axisDelta, snapPointOffset, releaseVelocity } = params;
25553
+ if (!Number.isFinite(size) || size <= 0) return null;
25554
+ let baseOffset = 0;
25555
+ if (direction === "down" || direction === "right") baseOffset = snapPointOffset;
25556
+ else if (direction === "up" || direction === "left") baseOffset = -snapPointOffset;
25557
+ const translation = baseOffset + axisDelta;
25558
+ const translationAlongDirection = direction === "left" || direction === "up" ? -translation : translation;
25559
+ const remainingDistance = Math.max(0, size - translationAlongDirection);
25560
+ if (!Number.isFinite(remainingDistance) || remainingDistance <= 0) return null;
25561
+ const directionalVelocity = direction === "left" || direction === "up" ? -releaseVelocity : releaseVelocity;
25562
+ if (!Number.isFinite(directionalVelocity) || directionalVelocity <= MIN_SWIPE_RELEASE_VELOCITY) return null;
25563
+ const durationMs = clamp(remainingDistance / clamp(directionalVelocity, MIN_SWIPE_RELEASE_VELOCITY, MAX_SWIPE_RELEASE_VELOCITY), MIN_SWIPE_RELEASE_DURATION_MS, MAX_SWIPE_RELEASE_DURATION_MS);
25564
+ if (!Number.isFinite(durationMs)) return null;
25565
+ const scalar = clamp(MIN_SWIPE_RELEASE_SCALAR + (durationMs - MIN_SWIPE_RELEASE_DURATION_MS) / (MAX_SWIPE_RELEASE_DURATION_MS - MIN_SWIPE_RELEASE_DURATION_MS) * (MAX_SWIPE_RELEASE_SCALAR - MIN_SWIPE_RELEASE_SCALAR), MIN_SWIPE_RELEASE_SCALAR, MAX_SWIPE_RELEASE_SCALAR);
25566
+ if (!Number.isFinite(scalar) || scalar <= 0) return null;
25567
+ return scalar;
25568
+ }
25569
+ var MATRIX_RE = /matrix(?:3d)?\(([^)]+)\)/;
25570
+ function getElementTransform(element) {
25571
+ const transform = window.getComputedStyle(element).transform;
25572
+ let x = 0;
25573
+ let y = 0;
25574
+ let scale = 1;
25575
+ if (transform && transform !== "none") {
25576
+ const matrix = transform.match(MATRIX_RE);
25577
+ if (matrix) {
25578
+ const v = matrix[1].split(", ").map(Number);
25579
+ if (v.length === 6) {
25580
+ x = v[4];
25581
+ y = v[5];
25582
+ scale = Math.sqrt(v[0] * v[0] + v[1] * v[1]);
25583
+ } else if (v.length === 16) {
25584
+ x = v[12];
25585
+ y = v[13];
25586
+ scale = v[0];
25587
+ }
25588
+ }
25589
+ }
25590
+ return {
25591
+ x,
25592
+ y,
25593
+ scale
25594
+ };
25595
+ }
25596
+ var drawerCssVarsRegistered = false;
25597
+ /**
25598
+ * Removes CSS variable inheritance for high-frequency drawer swipe vars.
25599
+ * Uses proper syntax types matching BaseUI:
25600
+ * - Length vars (<length>) with initialValue '0px' for use in calc()/translateY()
25601
+ * - Number vars (<number>) for opacity/strength scalars
25602
+ */
25603
+ function registerDrawerCssProperties() {
25604
+ if (drawerCssVarsRegistered || typeof CSS === "undefined" || !CSS.registerProperty) return;
25605
+ const lengthVars = [
25606
+ DRAWER_CSS_VARS.swipeMovementX,
25607
+ DRAWER_CSS_VARS.swipeMovementY,
25608
+ DRAWER_CSS_VARS.snapPointOffset
25609
+ ];
25610
+ for (const name of lengthVars) try {
25611
+ CSS.registerProperty({
25612
+ name,
25613
+ syntax: "<length>",
25614
+ inherits: false,
25615
+ initialValue: "0px"
25616
+ });
25617
+ } catch {}
25618
+ const numberVars = [{
25619
+ name: DRAWER_CSS_VARS.swipeProgress,
25620
+ initialValue: "0"
25621
+ }, {
25622
+ name: DRAWER_CSS_VARS.swipeStrength,
25623
+ initialValue: "1"
25624
+ }];
25625
+ for (const { name, initialValue } of numberVars) try {
25626
+ CSS.registerProperty({
25627
+ name,
25628
+ syntax: "<number>",
25629
+ inherits: false,
25630
+ initialValue
25631
+ });
25632
+ } catch {}
25633
+ drawerCssVarsRegistered = true;
25634
+ }
25635
+ //#endregion
25636
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/reka-ui/dist/Drawer/DrawerRoot.js
25637
+ var [injectDrawerRootContext, provideDrawerRootContext] = /*#__PURE__*/ createContext("DrawerRoot");
25638
+ var DrawerRoot_default = /* @__PURE__ */ defineComponent({
25639
+ __name: "DrawerRoot",
25640
+ props: {
25641
+ open: {
25642
+ type: Boolean,
25643
+ required: false,
25644
+ default: void 0
25645
+ },
25646
+ defaultOpen: {
25647
+ type: Boolean,
25648
+ required: false,
25649
+ default: false
25650
+ },
25651
+ modal: {
25652
+ type: [Boolean, String],
25653
+ required: false,
25654
+ default: true
25655
+ },
25656
+ swipeDirection: {
25657
+ type: String,
25658
+ required: false,
25659
+ default: "down"
25660
+ },
25661
+ snapPoints: {
25662
+ type: Array,
25663
+ required: false,
25664
+ default: void 0
25665
+ },
25666
+ snapPoint: {
25667
+ type: [
25668
+ Number,
25669
+ String,
25670
+ null
25671
+ ],
25672
+ required: false,
25673
+ default: void 0
25674
+ },
25675
+ defaultSnapPoint: {
25676
+ type: [
25677
+ Number,
25678
+ String,
25679
+ null
25680
+ ],
25681
+ required: false,
25682
+ default: void 0
25683
+ },
25684
+ snapToSequentialPoints: {
25685
+ type: Boolean,
25686
+ required: false,
25687
+ default: false
25688
+ }
25689
+ },
25690
+ emits: [
25691
+ "update:open",
25692
+ "update:openComplete",
25693
+ "update:snapPoint"
25694
+ ],
25695
+ setup(__props, { emit: __emit }) {
25696
+ const props = __props;
25697
+ const emit = __emit;
25698
+ const uncontrolledOpen = ref(props.defaultOpen);
25699
+ const open = computed({
25700
+ get: () => props.open ?? uncontrolledOpen.value,
25701
+ set: (value) => {
25702
+ uncontrolledOpen.value = value;
25703
+ }
25704
+ });
25705
+ const activeSnapPoint = useVModel(props, "snapPoint", emit, {
25706
+ defaultValue: props.defaultSnapPoint ?? null,
25707
+ passive: props.snapPoint === void 0,
25708
+ eventName: "update:snapPoint"
25709
+ });
25710
+ const { modal, swipeDirection, snapPoints, snapToSequentialPoints } = toRefs(props);
25711
+ const triggerElement = ref();
25712
+ const contentElement = ref();
25713
+ const popupHeight = ref(0);
25714
+ const frontmostHeight = ref(0);
25715
+ const hasNestedDrawer = ref(false);
25716
+ const nestedOpenDrawerCount = ref(0);
25717
+ const nestedSwiping = ref(false);
25718
+ const isSwiping = ref(false);
25719
+ const nestedSwipeProgressStore = createNestedSwipeProgressStore();
25720
+ const parentContext = injectDrawerRootContext(null);
25721
+ const providerContext = injectDrawerProviderContext(null);
25722
+ const contentId = useId(void 0, "reka-drawer-content");
25723
+ const titleId = useId(void 0, "reka-drawer-title");
25724
+ const descriptionId = useId(void 0, "reka-drawer-description");
25725
+ provideDrawerRootContext({
25726
+ open,
25727
+ modal,
25728
+ swipeDirection,
25729
+ snapPoints,
25730
+ activeSnapPoint,
25731
+ snapToSequentialPoints,
25732
+ popupHeight,
25733
+ frontmostHeight,
25734
+ hasNestedDrawer,
25735
+ nestedOpenDrawerCount,
25736
+ nestedSwiping,
25737
+ isSwiping,
25738
+ nestedSwipeProgressStore,
25739
+ onOpenChange(value, reason) {
25740
+ if (open.value === value) return;
25741
+ const details = reason ? { reason } : void 0;
25742
+ uncontrolledOpen.value = value;
25743
+ emit("update:open", value, details);
25744
+ },
25745
+ notifyOpenComplete(value) {
25746
+ emit("update:openComplete", value);
25747
+ },
25748
+ setActiveSnapPoint(point) {
25749
+ activeSnapPoint.value = point;
25750
+ },
25751
+ onPopupHeightChange(h$1) {
25752
+ popupHeight.value = h$1;
25753
+ providerContext?.visualStateStore.set({ frontmostHeight: h$1 });
25754
+ },
25755
+ onNestedFrontmostHeightChange(h$1) {
25756
+ frontmostHeight.value = h$1;
25757
+ },
25758
+ onNestedDrawerPresenceChange(present) {
25759
+ if (present) nestedOpenDrawerCount.value++;
25760
+ else nestedOpenDrawerCount.value = Math.max(0, nestedOpenDrawerCount.value - 1);
25761
+ hasNestedDrawer.value = nestedOpenDrawerCount.value > 0;
25762
+ parentContext?.notifyParentHasNestedDrawer?.(present);
25763
+ },
25764
+ onNestedSwipingChange(swiping) {
25765
+ nestedSwiping.value = swiping;
25766
+ parentContext?.notifyParentSwipingChange?.(swiping);
25767
+ },
25768
+ onNestedSwipeProgressChange(progress) {
25769
+ nestedSwipeProgressStore.set(progress);
25770
+ parentContext?.notifyParentSwipeProgressChange?.(progress);
25771
+ providerContext?.visualStateStore.set({ swipeProgress: progress });
25772
+ },
25773
+ onSwipingChange(swiping) {
25774
+ isSwiping.value = swiping;
25775
+ },
25776
+ notifyParentFrontmostHeight: parentContext?.onNestedFrontmostHeightChange,
25777
+ notifyParentSwipingChange: parentContext?.onNestedSwipingChange,
25778
+ notifyParentSwipeProgressChange: parentContext?.onNestedSwipeProgressChange,
25779
+ notifyParentHasNestedDrawer: parentContext?.onNestedDrawerPresenceChange,
25780
+ triggerElement,
25781
+ contentElement,
25782
+ contentId,
25783
+ titleId,
25784
+ descriptionId
25785
+ });
25786
+ function handleClose() {
25787
+ if (!open.value) return;
25788
+ uncontrolledOpen.value = false;
25789
+ emit("update:open", false, { reason: "close-press" });
25790
+ }
25791
+ watch(open, (isOpen) => {
25792
+ if (isOpen) providerContext?.setDrawerOpen(contentId, true);
25793
+ else providerContext?.setDrawerOpen(contentId, false);
25794
+ }, { immediate: true });
25795
+ onUnmounted(() => {
25796
+ providerContext?.removeDrawer(contentId);
25797
+ });
25798
+ return (_ctx, _cache) => {
25799
+ return renderSlot(_ctx.$slots, "default", {
25800
+ open: open.value,
25801
+ close: handleClose
25802
+ });
25803
+ };
25804
+ }
25805
+ });
25806
+ //#endregion
25807
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/reka-ui/dist/Drawer/DrawerClose.js
25808
+ var DrawerClose_default = /* @__PURE__ */ defineComponent({
25809
+ __name: "DrawerClose",
25810
+ props: {
25811
+ asChild: {
25812
+ type: Boolean,
25813
+ required: false
25814
+ },
25815
+ as: {
25816
+ type: null,
25817
+ required: false,
25818
+ default: "button"
25819
+ }
25820
+ },
25821
+ setup(__props) {
25822
+ const props = __props;
25823
+ useForwardExpose();
25824
+ const rootContext = injectDrawerRootContext();
25825
+ return (_ctx, _cache) => {
25826
+ return openBlock(), createBlock(unref(Primitive), mergeProps(props, {
25827
+ type: _ctx.as === "button" ? "button" : void 0,
25828
+ onClick: _cache[0] || (_cache[0] = ($event) => unref(rootContext).onOpenChange(false, "close-press"))
25829
+ }), {
25830
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
25831
+ _: 3
25832
+ }, 16, ["type"]);
25833
+ };
25834
+ }
25835
+ });
25836
+ //#endregion
25837
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/reka-ui/dist/composables/useDrawerSnapPoints.js
25838
+ var SNAP_VELOCITY_THRESHOLD = .5;
25839
+ var SNAP_VELOCITY_MULTIPLIER = 300;
25840
+ var MAX_SNAP_VELOCITY = 4;
25841
+ var FAST_SWIPE_VELOCITY = .5;
25842
+ function parseSnapPoint(value, viewportHeight, rootFontSize) {
25843
+ let result = null;
25844
+ if (typeof value === "number") result = value >= 0 && value <= 1 ? value * viewportHeight : value;
25845
+ else if (value.endsWith("rem")) result = Number.parseFloat(value) * rootFontSize;
25846
+ else if (value.endsWith("px")) result = Number.parseFloat(value);
25847
+ if (result == null || !Number.isFinite(result) || result < 0) return null;
25848
+ return Math.round(result);
25849
+ }
25850
+ function useDrawerSnapPoints(options) {
25851
+ const { snapPoints, activeSnapPoint, popupHeight, viewportRef, onSnapPointChange } = options;
25852
+ const viewportHeight = ref(typeof window !== "undefined" ? window.innerHeight : 0);
25853
+ const rootFontSize = ref(typeof document !== "undefined" ? Number.parseFloat(getComputedStyle(document.documentElement).fontSize) || 16 : 16);
25854
+ if (typeof window !== "undefined") useEventListener(window, "resize", () => {
25855
+ viewportHeight.value = window.innerHeight;
25856
+ });
25857
+ const resolvedSnapPoints = computed(() => {
25858
+ const points = snapPoints.value;
25859
+ if (!points || points.length === 0) return [];
25860
+ const vh = viewportHeight.value;
25861
+ const fs = rootFontSize.value;
25862
+ const ph = popupHeight.value;
25863
+ const resolved = [];
25864
+ for (const pt of points) {
25865
+ const height = parseSnapPoint(pt, vh, fs);
25866
+ if (height == null) continue;
25867
+ if (resolved.some((r) => Math.abs(r.height - height) <= 1)) continue;
25868
+ const clampedHeight = Math.min(height, Math.min(ph, vh));
25869
+ resolved.push({
25870
+ value: pt,
25871
+ height: clampedHeight,
25872
+ offset: Math.max(0, ph - clampedHeight)
25873
+ });
25874
+ }
25875
+ return resolved.sort((a, b) => a.height - b.height);
25876
+ });
25877
+ /**
25878
+ * Resolve the currently-active snap point to its resolved entry, matching by
25879
+ * raw value OR by parsed-height equivalence. This lets a controlled drawer use
25880
+ * interchangeable representations (`'16rem'` vs `256`, `0.5` vs `400`) without
25881
+ * the release math falling back to offset `0` and jumping to the wrong target.
25882
+ */
25883
+ function findActiveResolvedPoint() {
25884
+ if (!activeSnapPoint.value || resolvedSnapPoints.value.length === 0) return void 0;
25885
+ const activeHeight = parseSnapPoint(activeSnapPoint.value, viewportHeight.value, rootFontSize.value);
25886
+ return resolvedSnapPoints.value.find((r) => r.value === activeSnapPoint.value || activeHeight != null && Math.abs(r.height - activeHeight) <= 1);
25887
+ }
25888
+ const activeSnapPointOffset = computed(() => findActiveResolvedPoint()?.offset ?? null);
25889
+ /**
25890
+ * BaseUI-parity snap release math (ported from `DrawerViewport.tsx` lines ~577-714).
25891
+ *
25892
+ * Takes a **dismiss-signed** drag delta (positive = dismiss direction, negative =
25893
+ * open direction) and the raw velocity vector. Computes a velocity-boosted target
25894
+ * offset, then either dismisses, snaps to the closest point, or (in sequential
25895
+ * mode) advances one step based on physical crossing + fast-swipe velocity.
25896
+ */
25897
+ function snapToNearest(dragDelta, velocity, direction, sequential) {
25898
+ const points = resolvedSnapPoints.value;
25899
+ if (points.length === 0) return;
25900
+ const ph = popupHeight.value;
25901
+ const axisVel = direction === "up" || direction === "down" ? velocity.y : velocity.x;
25902
+ const velSigned = direction === "up" || direction === "left" ? -axisVel : axisVel;
25903
+ const activePoint = findActiveResolvedPoint();
25904
+ const currentOffset = activePoint?.offset ?? 0;
25905
+ const dragTargetOffset = Math.max(0, Math.min(ph, currentOffset + dragDelta));
25906
+ let targetOffset = dragTargetOffset;
25907
+ if (Math.abs(velSigned) >= SNAP_VELOCITY_THRESHOLD) targetOffset = dragTargetOffset + Math.max(-4, Math.min(MAX_SNAP_VELOCITY, velSigned)) * SNAP_VELOCITY_MULTIPLIER;
25908
+ let closest = points[0];
25909
+ let closestDist = Math.abs(targetOffset - closest.offset);
25910
+ for (const p of points) {
25911
+ const d = Math.abs(targetOffset - p.offset);
25912
+ if (d < closestDist) {
25913
+ closest = p;
25914
+ closestDist = d;
25915
+ }
25916
+ }
25917
+ if (Math.abs(targetOffset - ph) < closestDist) {
25918
+ onSnapPointChange(null);
25919
+ return;
25920
+ }
25921
+ if (sequential) {
25922
+ const sorted = [...points].sort((a, b) => a.offset - b.offset);
25923
+ const currentIdx = activePoint ? sorted.indexOf(activePoint) : -1;
25924
+ if (currentIdx < 0) {
25925
+ onSnapPointChange(closest.value);
25926
+ return;
25927
+ }
25928
+ const dragDir = Math.sign(dragDelta);
25929
+ const shouldAdvance = Math.sign(velSigned) === dragDir && Math.abs(velSigned) >= FAST_SWIPE_VELOCITY;
25930
+ const adjacent = sorted[Math.max(0, Math.min(sorted.length - 1, currentIdx + dragDir))];
25931
+ if (shouldAdvance) {
25932
+ onSnapPointChange(adjacent.value);
25933
+ return;
25934
+ }
25935
+ onSnapPointChange((dragDir > 0 ? targetOffset > adjacent.offset : targetOffset < adjacent.offset) ? adjacent.value : activeSnapPoint.value ?? closest.value);
25936
+ return;
25937
+ }
25938
+ onSnapPointChange(closest.value);
25939
+ }
25940
+ return {
25941
+ resolvedSnapPoints,
25942
+ activeSnapPointOffset,
25943
+ viewportHeight,
25944
+ snapToNearest
25945
+ };
25946
+ }
25947
+ //#endregion
25948
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/reka-ui/dist/composables/useSwipeDismiss.js
25949
+ var DEFAULT_SWIPE_THRESHOLD = 40;
25950
+ var REVERSE_CANCEL_THRESHOLD = 10;
25951
+ var MIN_DRAG_THRESHOLD = 1;
25952
+ var MIN_RELEASE_VELOCITY_DURATION_MS = 16;
25953
+ var MAX_RELEASE_VELOCITY_AGE_MS = 80;
25954
+ var DEFAULT_IGNORE_SELECTOR = "button,a,input,select,textarea,label,[role=\"button\"]";
25955
+ function findScrollableAncestor(el, axis) {
25956
+ if (!el || el === document.body) return null;
25957
+ const style = window.getComputedStyle(el);
25958
+ const overflow = axis === "vertical" ? style.overflowY : style.overflowX;
25959
+ if ((overflow === "auto" || overflow === "scroll") && (axis === "vertical" ? el.scrollHeight > el.clientHeight : el.scrollWidth > el.clientWidth)) return el;
25960
+ return findScrollableAncestor(el.parentElement, axis);
25961
+ }
25962
+ /**
25963
+ * Returns whether the user can start a swipe dismiss from a scrollable element
25964
+ * based on the scroll position and drag direction.
25965
+ * Ported from BaseUI `useSwipeDismiss.ts:canSwipeFromScrollEdgeOnPendingMove`.
25966
+ *
25967
+ * Returns:
25968
+ * true → swipe is allowed (scroll is at the relevant edge)
25969
+ * false → swipe is blocked (user is scrolling, not dismissing)
25970
+ * null → the drag is not along a recognized axis; caller should fall through
25971
+ */
25972
+ function canSwipeFromScrollEdge(scrollTarget, deltaX, deltaY, flags) {
25973
+ const absDx = Math.abs(deltaX);
25974
+ const absDy = Math.abs(deltaY);
25975
+ if (flags.hasVertical && deltaY !== 0 && (!flags.hasHorizontal || absDy >= absDx)) {
25976
+ const maxScrollTop = Math.max(0, scrollTarget.scrollHeight - scrollTarget.clientHeight);
25977
+ const atTop = scrollTarget.scrollTop <= 0;
25978
+ const atBottom = scrollTarget.scrollTop >= maxScrollTop;
25979
+ const movingDown = deltaY > 0;
25980
+ const movingUp = deltaY < 0;
25981
+ const canSwipeDown = movingDown && atTop && flags.allowDown;
25982
+ const canSwipeUp = movingUp && atBottom && flags.allowUp;
25983
+ return canSwipeDown || canSwipeUp;
25984
+ }
25985
+ if (flags.hasHorizontal && deltaX !== 0 && (!flags.hasVertical || absDx > absDy)) {
25986
+ const maxScrollLeft = Math.max(0, scrollTarget.scrollWidth - scrollTarget.clientWidth);
25987
+ const atLeft = scrollTarget.scrollLeft <= 0;
25988
+ const atRight = scrollTarget.scrollLeft >= maxScrollLeft;
25989
+ const movingRight = deltaX > 0;
25990
+ const movingLeft = deltaX < 0;
25991
+ const canSwipeRight = movingRight && atLeft && flags.allowRight;
25992
+ const canSwipeLeft = movingLeft && atRight && flags.allowLeft;
25993
+ return canSwipeRight || canSwipeLeft;
25994
+ }
25995
+ return null;
25996
+ }
25997
+ function useSwipeDismiss(options) {
25998
+ const { elementRef, directions, movementCssVars, swipeThreshold: swipeThresholdProp, canStart, onDismiss, onProgress, onCancel, onSwipeStart, onRelease, onSwipingChange } = options;
25999
+ const hasVertical = computed(() => toValue$1(directions).includes("up") || toValue$1(directions).includes("down"));
26000
+ const hasHorizontal = computed(() => toValue$1(directions).includes("left") || toValue$1(directions).includes("right"));
26001
+ const allowUp = computed(() => toValue$1(directions).includes("up"));
26002
+ const allowDown = computed(() => toValue$1(directions).includes("down"));
26003
+ const allowLeft = computed(() => toValue$1(directions).includes("left"));
26004
+ const allowRight = computed(() => toValue$1(directions).includes("right"));
26005
+ const isSwiping = ref(false);
26006
+ const swipeDirection = ref(void 0);
26007
+ const dragOffset = ref({
26008
+ x: 0,
26009
+ y: 0
26010
+ });
26011
+ let dragStartPos = {
26012
+ x: 0,
26013
+ y: 0
26014
+ };
26015
+ let intendedDirection;
26016
+ let maxDisplacement = 0;
26017
+ let cancelledSwipe = false;
26018
+ let isFirstMove = false;
26019
+ let pendingSwipe = false;
26020
+ let pendingSwipeStartPos = null;
26021
+ let swipeFromScrollable = false;
26022
+ let scrollableAncestor = null;
26023
+ let elementSize = {
26024
+ width: 0,
26025
+ height: 0
26026
+ };
26027
+ let swipeProgress = 0;
26028
+ let lastDragSample = null;
26029
+ let lastVelocity = {
26030
+ x: 0,
26031
+ y: 0
26032
+ };
26033
+ let lockedAxis = null;
26034
+ let activePointerId = null;
26035
+ let pointerStarted = false;
26036
+ function getThreshold(el, dir) {
26037
+ if (typeof swipeThresholdProp === "function") return Math.max(0, swipeThresholdProp({
26038
+ element: el,
26039
+ direction: dir
26040
+ }));
26041
+ return typeof swipeThresholdProp === "number" ? swipeThresholdProp : DEFAULT_SWIPE_THRESHOLD;
26042
+ }
26043
+ function setSwiping(next) {
26044
+ if (isSwiping.value === next) return;
26045
+ isSwiping.value = next;
26046
+ onSwipingChange?.(next);
26047
+ }
26048
+ function recordSample(offset, time) {
26049
+ if (lastDragSample && time > lastDragSample.time) {
26050
+ const dt = Math.max(time - lastDragSample.time, MIN_RELEASE_VELOCITY_DURATION_MS);
26051
+ lastVelocity = {
26052
+ x: (offset.x - lastDragSample.x) / dt,
26053
+ y: (offset.y - lastDragSample.y) / dt
26054
+ };
26055
+ }
26056
+ lastDragSample = {
26057
+ x: offset.x,
26058
+ y: offset.y,
26059
+ time
26060
+ };
26061
+ }
26062
+ function setCssVars(el, x, y) {
26063
+ el.style.setProperty(movementCssVars.x, `${x}px`);
26064
+ el.style.setProperty(movementCssVars.y, `${y}px`);
26065
+ }
26066
+ function clearCssVars(el) {
26067
+ el.style.setProperty(movementCssVars.x, "0px");
26068
+ el.style.setProperty(movementCssVars.y, "0px");
26069
+ }
26070
+ function reset() {
26071
+ setSwiping(false);
26072
+ swipeDirection.value = void 0;
26073
+ dragOffset.value = {
26074
+ x: 0,
26075
+ y: 0
26076
+ };
26077
+ dragStartPos = {
26078
+ x: 0,
26079
+ y: 0
26080
+ };
26081
+ intendedDirection = void 0;
26082
+ maxDisplacement = 0;
26083
+ cancelledSwipe = false;
26084
+ isFirstMove = false;
26085
+ pendingSwipe = false;
26086
+ pendingSwipeStartPos = null;
26087
+ swipeFromScrollable = false;
26088
+ scrollableAncestor = null;
26089
+ elementSize = {
26090
+ width: 0,
26091
+ height: 0
26092
+ };
26093
+ swipeProgress = 0;
26094
+ lastDragSample = null;
26095
+ lastVelocity = {
26096
+ x: 0,
26097
+ y: 0
26098
+ };
26099
+ lockedAxis = null;
26100
+ activePointerId = null;
26101
+ pointerStarted = false;
26102
+ }
26103
+ function startSwipe(el, pos) {
26104
+ getElementTransform(el);
26105
+ dragStartPos = pos;
26106
+ pendingSwipeStartPos = pos;
26107
+ elementSize = {
26108
+ width: el.offsetWidth,
26109
+ height: el.offsetHeight
26110
+ };
26111
+ isFirstMove = true;
26112
+ pendingSwipe = true;
26113
+ }
26114
+ /**
26115
+ * Applies sqrt-damping to any axis moving in a disallowed direction.
26116
+ * Axes moving in an allowed direction pass through linearly.
26117
+ * Ported from BaseUI `useSwipeDismiss.ts:applyDirectionalDamping`.
26118
+ */
26119
+ function applyDirectionalDamping(deltaX, deltaY) {
26120
+ const exponent = (value) => value >= 0 ? value ** .5 : -(Math.abs(value) ** .5);
26121
+ const dampAxis = (delta, allowNegative, allowPositive) => {
26122
+ if (!allowNegative && delta < 0) return exponent(delta);
26123
+ if (!allowPositive && delta > 0) return exponent(delta);
26124
+ return delta;
26125
+ };
26126
+ return {
26127
+ x: hasHorizontal.value ? dampAxis(deltaX, allowLeft.value, allowRight.value) : exponent(deltaX),
26128
+ y: hasVertical.value ? dampAxis(deltaY, allowUp.value, allowDown.value) : exponent(deltaY)
26129
+ };
26130
+ }
26131
+ function processMove(el, pos, time) {
26132
+ const rawDx = pos.x - dragStartPos.x;
26133
+ const rawDy = pos.y - dragStartPos.y;
26134
+ if (isFirstMove) {
26135
+ isFirstMove = false;
26136
+ const absX = Math.abs(rawDx);
26137
+ const absY = Math.abs(rawDy);
26138
+ if (hasVertical.value && hasHorizontal.value) lockedAxis = absX > absY ? "horizontal" : "vertical";
26139
+ else if (hasVertical.value) lockedAxis = "vertical";
26140
+ else lockedAxis = "horizontal";
26141
+ }
26142
+ const dx = lockedAxis === "vertical" ? 0 : rawDx;
26143
+ const dy = lockedAxis === "horizontal" ? 0 : rawDy;
26144
+ const dir = toValue$1(directions).find((d) => getDisplacement(d, dx, dy) > 0);
26145
+ if (pendingSwipe && pendingSwipeStartPos) {
26146
+ if (!dir) return;
26147
+ const pending = getDisplacement(dir, pos.x - pendingSwipeStartPos.x, pos.y - pendingSwipeStartPos.y);
26148
+ if (Math.abs(pending) < MIN_DRAG_THRESHOLD) return;
26149
+ pendingSwipe = false;
26150
+ intendedDirection = dir;
26151
+ swipeDirection.value = dir;
26152
+ setSwiping(true);
26153
+ onSwipeStart?.();
26154
+ }
26155
+ if (!isSwiping.value) return;
26156
+ const currentDir = intendedDirection ?? toValue$1(directions)[0];
26157
+ const displacement = getDisplacement(currentDir, dx, dy);
26158
+ if (!cancelledSwipe) {
26159
+ maxDisplacement = Math.max(maxDisplacement, displacement);
26160
+ if (maxDisplacement > DEFAULT_SWIPE_THRESHOLD / 2 && maxDisplacement - displacement > REVERSE_CANCEL_THRESHOLD) cancelledSwipe = true;
26161
+ }
26162
+ const damped = applyDirectionalDamping(dx, dy);
26163
+ dragOffset.value = {
26164
+ x: damped.x,
26165
+ y: damped.y
26166
+ };
26167
+ setCssVars(el, damped.x, damped.y);
26168
+ recordSample({
26169
+ x: damped.x,
26170
+ y: damped.y
26171
+ }, time);
26172
+ const currentEl = elementRef.value;
26173
+ if (currentEl) {
26174
+ const dim = currentDir === "up" || currentDir === "down" ? elementSize.height || currentEl.offsetHeight : elementSize.width || currentEl.offsetWidth;
26175
+ const threshold = getThreshold(currentEl, currentDir);
26176
+ const p = Math.min(1, Math.max(0, displacement / (dim + threshold)));
26177
+ if (p !== swipeProgress) {
26178
+ swipeProgress = p;
26179
+ onProgress?.(p, {
26180
+ deltaX: damped.x,
26181
+ deltaY: damped.y,
26182
+ direction: currentDir
26183
+ });
26184
+ }
26185
+ }
26186
+ }
26187
+ function finishSwipe(el) {
26188
+ if (!isSwiping.value) {
26189
+ reset();
26190
+ return;
26191
+ }
26192
+ const displacement = getDisplacement(intendedDirection ?? toValue$1(directions)[0], dragOffset.value.x, dragOffset.value.y);
26193
+ const threshold = getThreshold(el, intendedDirection ?? toValue$1(directions)[0]);
26194
+ const now = performance.now();
26195
+ const velocity = (lastDragSample ? now - lastDragSample.time : Infinity) > MAX_RELEASE_VELOCITY_AGE_MS ? {
26196
+ x: 0,
26197
+ y: 0
26198
+ } : lastVelocity;
26199
+ if (!(onRelease?.(velocity) === true)) {
26200
+ const velInDirection = getDisplacement(intendedDirection ?? toValue$1(directions)[0], velocity.x, velocity.y);
26201
+ if (!cancelledSwipe && (displacement >= threshold || velInDirection > .3)) {
26202
+ el.setAttribute("data-swipe-dismissed", "");
26203
+ onDismiss?.();
26204
+ } else {
26205
+ clearCssVars(el);
26206
+ onCancel?.();
26207
+ }
26208
+ }
26209
+ reset();
26210
+ }
26211
+ function onPointerDown(e) {
26212
+ if (!toValue$1(options.enabled)) return;
26213
+ if (e.pointerType === "touch") return;
26214
+ if (e.button !== 0) return;
26215
+ if (canStart && !canStart()) return;
26216
+ if (e.target?.closest(DEFAULT_IGNORE_SELECTOR)) return;
26217
+ const el = elementRef.value;
26218
+ if (!el) return;
26219
+ startSwipe(el, {
26220
+ x: e.clientX,
26221
+ y: e.clientY
26222
+ });
26223
+ activePointerId = e.pointerId;
26224
+ pointerStarted = true;
26225
+ try {
26226
+ el.setPointerCapture(e.pointerId);
26227
+ } catch {}
26228
+ }
26229
+ function onPointerMove(e) {
26230
+ if (!pointerStarted || e.pointerId !== activePointerId) return;
26231
+ const el = elementRef.value;
26232
+ if (!el) return;
26233
+ if ((e.buttons & 1) === 0) return;
26234
+ processMove(el, {
26235
+ x: e.clientX,
26236
+ y: e.clientY
26237
+ }, e.timeStamp);
26238
+ }
26239
+ function onPointerUp(e) {
26240
+ if (!pointerStarted || e.pointerId !== activePointerId) return;
26241
+ const el = elementRef.value;
26242
+ if (!el) return;
26243
+ finishSwipe(el);
26244
+ }
26245
+ function onTouchStart(e) {
26246
+ if (!toValue$1(options.enabled)) return;
26247
+ if (canStart && !canStart()) return;
26248
+ const target = e.target;
26249
+ if (target?.closest(DEFAULT_IGNORE_SELECTOR)) return;
26250
+ const el = elementRef.value;
26251
+ if (!el) return;
26252
+ if (!options.ignoreScrollableAncestors) {
26253
+ const scrollable = findScrollableAncestor(target, hasVertical.value ? "vertical" : "horizontal");
26254
+ if (scrollable) {
26255
+ swipeFromScrollable = true;
26256
+ scrollableAncestor = scrollable;
26257
+ }
26258
+ }
26259
+ const t = e.touches[0];
26260
+ if (!t) return;
26261
+ startSwipe(el, {
26262
+ x: t.clientX,
26263
+ y: t.clientY
26264
+ });
26265
+ }
26266
+ function onTouchMove(e) {
26267
+ const el = elementRef.value;
26268
+ if (!el || !pendingSwipe && !isSwiping.value) return;
26269
+ const t = e.touches[0];
26270
+ if (!t) return;
26271
+ const pos = {
26272
+ x: t.clientX,
26273
+ y: t.clientY
26274
+ };
26275
+ if (swipeFromScrollable && pendingSwipe && scrollableAncestor) {
26276
+ const dx = pos.x - dragStartPos.x;
26277
+ const dy = pos.y - dragStartPos.y;
26278
+ const allowed = canSwipeFromScrollEdge(scrollableAncestor, dx, dy, {
26279
+ hasVertical: hasVertical.value,
26280
+ hasHorizontal: hasHorizontal.value,
26281
+ allowUp: allowUp.value,
26282
+ allowDown: allowDown.value,
26283
+ allowLeft: allowLeft.value,
26284
+ allowRight: allowRight.value
26285
+ });
26286
+ if (allowed === false) {
26287
+ reset();
26288
+ return;
26289
+ }
26290
+ if (allowed === true) {
26291
+ swipeFromScrollable = false;
26292
+ scrollableAncestor = null;
26293
+ }
26294
+ }
26295
+ const wasSwiping = isSwiping.value;
26296
+ processMove(el, pos, e.timeStamp);
26297
+ if (wasSwiping || isSwiping.value) e.preventDefault();
26298
+ }
26299
+ function onTouchEnd() {
26300
+ const el = elementRef.value;
26301
+ if (!el) return;
26302
+ finishSwipe(el);
26303
+ }
26304
+ const cleanups = [];
26305
+ watch(() => elementRef.value, (el) => {
26306
+ cleanups.forEach((fn) => fn());
26307
+ cleanups.length = 0;
26308
+ if (!el) return;
26309
+ cleanups.push(useEventListener(el, "pointerdown", onPointerDown), useEventListener(el, "pointermove", onPointerMove), useEventListener(el, "pointerup", onPointerUp), useEventListener(el, "pointercancel", onPointerUp), useEventListener(el, "touchstart", onTouchStart, { passive: true }), useEventListener(el, "touchmove", onTouchMove, { passive: false }), useEventListener(el, "touchend", onTouchEnd), useEventListener(el, "touchcancel", onTouchEnd));
26310
+ }, { immediate: true });
26311
+ onUnmounted(() => {
26312
+ cleanups.forEach((fn) => fn());
26313
+ cleanups.length = 0;
26314
+ reset();
26315
+ });
26316
+ return {
26317
+ isSwiping,
26318
+ swipeDirection,
26319
+ dragOffset
26320
+ };
26321
+ }
26322
+ //#endregion
26323
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/reka-ui/dist/Drawer/DrawerContentImpl.js
26324
+ var DrawerContentImpl_default = /* @__PURE__ */ defineComponent({
26325
+ __name: "DrawerContentImpl",
26326
+ props: {
26327
+ trapFocus: {
26328
+ type: Boolean,
26329
+ required: false
26330
+ },
26331
+ initialFocus: {
26332
+ type: [Boolean, null],
26333
+ required: false,
26334
+ skipCheck: true
26335
+ },
26336
+ finalFocus: {
26337
+ type: [Boolean, null],
26338
+ required: false,
26339
+ skipCheck: true
26340
+ },
26341
+ disableOutsidePointerEvents: {
26342
+ type: Boolean,
26343
+ required: false
26344
+ },
26345
+ asChild: {
26346
+ type: Boolean,
26347
+ required: false
26348
+ },
26349
+ as: {
26350
+ type: null,
26351
+ required: false
26352
+ }
26353
+ },
26354
+ emits: [
26355
+ "escapeKeyDown",
26356
+ "pointerDownOutside",
26357
+ "focusOutside",
26358
+ "interactOutside",
26359
+ "openAutoFocus",
26360
+ "closeAutoFocus"
26361
+ ],
26362
+ setup(__props, { emit: __emit }) {
26363
+ const props = __props;
26364
+ const emits = __emit;
26365
+ const rootContext = injectDrawerRootContext();
26366
+ const { forwardRef, currentElement } = useForwardExpose();
26367
+ registerDrawerCssProperties();
26368
+ const { activeSnapPointOffset, snapToNearest } = useDrawerSnapPoints({
26369
+ snapPoints: rootContext.snapPoints,
26370
+ activeSnapPoint: rootContext.activeSnapPoint,
26371
+ popupHeight: rootContext.popupHeight,
26372
+ viewportRef: currentElement,
26373
+ onSnapPointChange: (point) => {
26374
+ if (point === null) rootContext.onOpenChange(false);
26375
+ else rootContext.setActiveSnapPoint(point);
26376
+ }
26377
+ });
26378
+ function writeSnapPointOffset() {
26379
+ const el = currentElement.value;
26380
+ if (!el) return;
26381
+ const offset = activeSnapPointOffset.value;
26382
+ if (offset != null) {
26383
+ const dir = rootContext.swipeDirection.value;
26384
+ const signedOffset = dir === "up" || dir === "left" ? -offset : offset;
26385
+ el.style.setProperty(DRAWER_CSS_VARS.snapPointOffset, `${signedOffset}px`);
26386
+ } else el.style.setProperty(DRAWER_CSS_VARS.snapPointOffset, "0px");
26387
+ }
26388
+ watch(activeSnapPointOffset, writeSnapPointOffset);
26389
+ useResizeObserver(currentElement, ([entry]) => {
26390
+ if (!entry) return;
26391
+ if (rootContext.hasNestedDrawer.value && rootContext.popupHeight.value > 0) return;
26392
+ const h$1 = entry.contentRect.height;
26393
+ rootContext.onPopupHeightChange(h$1);
26394
+ currentElement.value?.style.setProperty(DRAWER_CSS_VARS.height, `${h$1}px`);
26395
+ });
26396
+ watch(() => rootContext.frontmostHeight.value, (h$1) => {
26397
+ currentElement.value?.style.setProperty(DRAWER_CSS_VARS.frontmostHeight, `${h$1}px`);
26398
+ });
26399
+ const hasSnapPoints = computed(() => (rootContext.snapPoints.value?.length ?? 0) > 0);
26400
+ const swipeDirections = computed(() => {
26401
+ const dismiss = rootContext.swipeDirection.value;
26402
+ if (!hasSnapPoints.value) return [dismiss];
26403
+ return [dismiss, {
26404
+ up: "down",
26405
+ down: "up",
26406
+ left: "right",
26407
+ right: "left"
26408
+ }[dismiss]];
26409
+ });
26410
+ let lastRawDelta = {
26411
+ x: 0,
26412
+ y: 0
26413
+ };
26414
+ const { isSwiping, dragOffset } = useSwipeDismiss({
26415
+ enabled: computed(() => rootContext.open.value),
26416
+ elementRef: currentElement,
26417
+ directions: swipeDirections,
26418
+ movementCssVars: {
26419
+ x: DRAWER_CSS_VARS.swipeMovementX,
26420
+ y: DRAWER_CSS_VARS.swipeMovementY
26421
+ },
26422
+ canStart: () => !rootContext.nestedSwiping.value,
26423
+ onDismiss() {
26424
+ if (!hasSnapPoints.value) rootContext.onOpenChange(false, "swipe");
26425
+ },
26426
+ onRelease(velocity) {
26427
+ const el = currentElement.value;
26428
+ if (el) {
26429
+ const dir = rootContext.swipeDirection.value;
26430
+ const size = dir === "left" || dir === "right" ? el.offsetWidth : el.offsetHeight;
26431
+ const axisDelta = dir === "left" || dir === "right" ? lastRawDelta.x : lastRawDelta.y;
26432
+ const releaseVelocity = dir === "left" || dir === "right" ? velocity.x : velocity.y;
26433
+ const scalar = computeSwipeReleaseScalar({
26434
+ direction: dir,
26435
+ size,
26436
+ axisDelta,
26437
+ snapPointOffset: activeSnapPointOffset.value ?? 0,
26438
+ releaseVelocity
26439
+ });
26440
+ if (scalar != null) el.style.setProperty(DRAWER_CSS_VARS.swipeStrength, `${scalar}`);
26441
+ else el.style.setProperty(DRAWER_CSS_VARS.swipeStrength, "1");
26442
+ }
26443
+ if (hasSnapPoints.value) {
26444
+ const dir = rootContext.swipeDirection.value;
26445
+ snapToNearest(getDisplacement(dir, lastRawDelta.x, lastRawDelta.y), velocity, dir, rootContext.snapToSequentialPoints.value);
26446
+ if (el) {
26447
+ writeSnapPointOffset();
26448
+ el.style.setProperty(DRAWER_CSS_VARS.swipeMovementX, "0px");
26449
+ el.style.setProperty(DRAWER_CSS_VARS.swipeMovementY, "0px");
26450
+ }
26451
+ }
26452
+ return hasSnapPoints.value;
26453
+ },
26454
+ onSwipingChange(swiping) {
26455
+ rootContext.onSwipingChange(swiping);
26456
+ rootContext.onNestedSwipingChange(swiping);
26457
+ },
26458
+ onProgress(progress, details) {
26459
+ if (details) lastRawDelta = {
26460
+ x: details.deltaX,
26461
+ y: details.deltaY
26462
+ };
26463
+ rootContext.onNestedSwipeProgressChange(progress);
26464
+ }
26465
+ });
26466
+ let pendingDismissReason;
26467
+ function onDismiss() {
26468
+ if (isSwiping.value) return;
26469
+ rootContext.onOpenChange(false, pendingDismissReason ?? "outside-press");
26470
+ pendingDismissReason = void 0;
26471
+ }
26472
+ function onEscapeKeyDown(event) {
26473
+ pendingDismissReason = "escape-key";
26474
+ emits("escapeKeyDown", event);
26475
+ }
26476
+ function onPointerDownOutside(event) {
26477
+ if (isSwiping.value) {
26478
+ event.preventDefault();
26479
+ return;
26480
+ }
26481
+ pendingDismissReason = "outside-press";
26482
+ emits("pointerDownOutside", event);
26483
+ }
26484
+ function onFocusOutside(event) {
26485
+ if (isSwiping.value) {
26486
+ event.preventDefault();
26487
+ return;
26488
+ }
26489
+ emits("focusOutside", event);
26490
+ }
26491
+ function onInteractOutside(event) {
26492
+ if (isSwiping.value) {
26493
+ event.preventDefault();
26494
+ return;
26495
+ }
26496
+ emits("interactOutside", event);
26497
+ }
26498
+ let openCompleteCleanup;
26499
+ function clearOpenCompleteListener() {
26500
+ openCompleteCleanup?.();
26501
+ openCompleteCleanup = void 0;
26502
+ }
26503
+ watch(() => rootContext.open.value, (isOpen) => {
26504
+ clearOpenCompleteListener();
26505
+ const el = currentElement.value;
26506
+ if (!el) {
26507
+ rootContext.notifyOpenComplete(isOpen);
26508
+ return;
26509
+ }
26510
+ const handler = (event) => {
26511
+ if (event.target !== el) return;
26512
+ clearOpenCompleteListener();
26513
+ rootContext.notifyOpenComplete(isOpen);
26514
+ };
26515
+ el.addEventListener("transitionend", handler);
26516
+ el.addEventListener("animationend", handler);
26517
+ openCompleteCleanup = () => {
26518
+ el.removeEventListener("transitionend", handler);
26519
+ el.removeEventListener("animationend", handler);
26520
+ };
26521
+ });
26522
+ const dataAttributes = computed(() => {
26523
+ const attrs = {
26524
+ "data-state": rootContext.open.value ? "open" : "closed",
26525
+ "data-swipe-direction": rootContext.swipeDirection.value
26526
+ };
26527
+ if (isSwiping.value) attrs["data-swiping"] = "";
26528
+ if (rootContext.hasNestedDrawer.value) attrs["data-nested-drawer-open"] = "";
26529
+ return attrs;
26530
+ });
26531
+ watch(() => rootContext.nestedOpenDrawerCount.value, (n) => {
26532
+ currentElement.value?.style.setProperty(DRAWER_CSS_VARS.nestedDrawers, `${n}`);
26533
+ });
26534
+ let unsubscribeNestedProgress;
26535
+ onMounted(() => {
26536
+ rootContext.contentElement.value = currentElement.value;
26537
+ rootContext.notifyParentHasNestedDrawer?.(true);
26538
+ currentElement.value?.style.setProperty(DRAWER_CSS_VARS.nestedDrawers, `${rootContext.nestedOpenDrawerCount.value}`);
26539
+ writeSnapPointOffset();
26540
+ unsubscribeNestedProgress = rootContext.nestedSwipeProgressStore.subscribe(() => {
26541
+ const progress = rootContext.nestedSwipeProgressStore.getSnapshot();
26542
+ currentElement.value?.style.setProperty(DRAWER_CSS_VARS.swipeProgress, `${progress}`);
26543
+ });
26544
+ });
26545
+ onUnmounted(() => {
26546
+ rootContext.notifyParentHasNestedDrawer?.(false);
26547
+ unsubscribeNestedProgress?.();
26548
+ clearOpenCompleteListener();
26549
+ });
26550
+ onMounted(() => {
26551
+ if (!document.getElementById(rootContext.titleId)) console.warn(`Warning: \`DrawerContent\` requires a \`DrawerTitle\` for accessibility.`);
26552
+ });
26553
+ return (_ctx, _cache) => {
26554
+ return openBlock(), createBlock(unref(FocusScope_default), {
26555
+ "as-child": "",
26556
+ loop: "",
26557
+ trapped: props.trapFocus,
26558
+ onMountAutoFocus: _cache[0] || (_cache[0] = ($event) => emits("openAutoFocus", $event)),
26559
+ onUnmountAutoFocus: _cache[1] || (_cache[1] = ($event) => emits("closeAutoFocus", $event))
26560
+ }, {
26561
+ default: withCtx(() => [createVNode(unref(DismissableLayer_default), mergeProps({
26562
+ id: unref(rootContext).contentId,
26563
+ ref: unref(forwardRef),
26564
+ as: _ctx.as,
26565
+ "as-child": _ctx.asChild,
26566
+ "disable-outside-pointer-events": _ctx.disableOutsidePointerEvents,
26567
+ role: "dialog",
26568
+ "aria-describedby": unref(rootContext).descriptionId,
26569
+ "aria-labelledby": unref(rootContext).titleId
26570
+ }, {
26571
+ ...dataAttributes.value,
26572
+ ..._ctx.$attrs
26573
+ }, {
26574
+ onDismiss,
26575
+ onEscapeKeyDown,
26576
+ onFocusOutside,
26577
+ onInteractOutside,
26578
+ onPointerDownOutside
26579
+ }), {
26580
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
26581
+ _: 3
26582
+ }, 16, [
26583
+ "id",
26584
+ "as",
26585
+ "as-child",
26586
+ "disable-outside-pointer-events",
26587
+ "aria-describedby",
26588
+ "aria-labelledby"
26589
+ ])]),
26590
+ _: 3
26591
+ }, 8, ["trapped"]);
26592
+ };
26593
+ }
26594
+ });
26595
+ //#endregion
26596
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/reka-ui/dist/Drawer/DrawerContent.js
26597
+ var DrawerContent_default = /* @__PURE__ */ defineComponent({
26598
+ __name: "DrawerContent",
26599
+ props: {
26600
+ forceMount: {
26601
+ type: Boolean,
26602
+ required: false
26603
+ },
26604
+ initialFocus: {
26605
+ type: [Boolean, null],
26606
+ required: false,
26607
+ skipCheck: true
26608
+ },
26609
+ finalFocus: {
26610
+ type: [Boolean, null],
26611
+ required: false,
26612
+ skipCheck: true
26613
+ },
26614
+ disableOutsidePointerEvents: {
26615
+ type: Boolean,
26616
+ required: false
26617
+ },
26618
+ asChild: {
26619
+ type: Boolean,
26620
+ required: false
26621
+ },
26622
+ as: {
26623
+ type: null,
26624
+ required: false
26625
+ }
26626
+ },
26627
+ emits: [
26628
+ "escapeKeyDown",
26629
+ "pointerDownOutside",
26630
+ "focusOutside",
26631
+ "interactOutside",
26632
+ "openAutoFocus",
26633
+ "closeAutoFocus"
26634
+ ],
26635
+ setup(__props, { emit: __emit }) {
26636
+ const props = __props;
26637
+ const emits = __emit;
26638
+ const rootContext = injectDrawerRootContext();
26639
+ const emitsAsProps = useEmitAsProps(emits);
26640
+ const { forwardRef, currentElement } = useForwardExpose();
26641
+ const hasInteractedOutside = ref(false);
26642
+ const hasPointerDownOutside = ref(false);
26643
+ const isFullModal = computed(() => rootContext.modal.value === true);
26644
+ const isTrapFocusOnly = computed(() => rootContext.modal.value === "trap-focus");
26645
+ const shouldTrapFocus = computed(() => (isFullModal.value || isTrapFocusOnly.value) && rootContext.open.value);
26646
+ useHideOthers(computed(() => isFullModal.value ? currentElement.value : void 0));
26647
+ function onCloseAutoFocusNonModal(e) {
26648
+ if (!e.defaultPrevented) {
26649
+ if (!hasInteractedOutside.value) rootContext.triggerElement.value?.focus();
26650
+ e.preventDefault();
26651
+ }
26652
+ hasInteractedOutside.value = false;
26653
+ hasPointerDownOutside.value = false;
26654
+ }
26655
+ function onInteractOutsideNonModal(e) {
26656
+ if (!e.defaultPrevented) {
26657
+ hasInteractedOutside.value = true;
26658
+ if (e.detail.originalEvent.type === "pointerdown") hasPointerDownOutside.value = true;
26659
+ }
26660
+ const target = e.target;
26661
+ if (rootContext.triggerElement.value?.contains(target)) e.preventDefault();
26662
+ if (e.detail.originalEvent.type === "focusin" && hasPointerDownOutside.value) e.preventDefault();
26663
+ }
26664
+ return (_ctx, _cache) => {
26665
+ return openBlock(), createBlock(unref(Presence_default), { present: _ctx.forceMount || unref(rootContext).open.value }, {
26666
+ default: withCtx(() => [isFullModal.value ? (openBlock(), createBlock(DrawerContentImpl_default, mergeProps({
26667
+ key: 0,
26668
+ ref: unref(forwardRef)
26669
+ }, {
26670
+ ...props,
26671
+ ...unref(emitsAsProps),
26672
+ ..._ctx.$attrs
26673
+ }, {
26674
+ "trap-focus": shouldTrapFocus.value,
26675
+ "disable-outside-pointer-events": true,
26676
+ onCloseAutoFocus: _cache[0] || (_cache[0] = (e) => {
26677
+ if (!e.defaultPrevented) {
26678
+ e.preventDefault();
26679
+ unref(rootContext).triggerElement.value?.focus();
26680
+ }
26681
+ }),
26682
+ onPointerDownOutside: _cache[1] || (_cache[1] = (e) => {
26683
+ const orig = e.detail.originalEvent;
26684
+ if (orig.button === 2 || orig.button === 0 && orig.ctrlKey) e.preventDefault();
26685
+ }),
26686
+ onFocusOutside: _cache[2] || (_cache[2] = (e) => e.preventDefault())
26687
+ }), {
26688
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
26689
+ _: 3
26690
+ }, 16, ["trap-focus"])) : (openBlock(), createBlock(DrawerContentImpl_default, mergeProps({
26691
+ key: 1,
26692
+ ref: unref(forwardRef)
26693
+ }, {
26694
+ ...props,
26695
+ ...unref(emitsAsProps),
26696
+ ..._ctx.$attrs
26697
+ }, {
26698
+ "trap-focus": shouldTrapFocus.value,
26699
+ "disable-outside-pointer-events": false,
26700
+ onCloseAutoFocus: onCloseAutoFocusNonModal,
26701
+ onInteractOutside: onInteractOutsideNonModal
26702
+ }), {
26703
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
26704
+ _: 3
26705
+ }, 16, ["trap-focus"]))]),
26706
+ _: 3
26707
+ }, 8, ["present"]);
26708
+ };
26709
+ }
26710
+ });
26711
+ //#endregion
26712
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/reka-ui/dist/Drawer/DrawerDescription.js
26713
+ var DrawerDescription_default = /* @__PURE__ */ defineComponent({
26714
+ __name: "DrawerDescription",
26715
+ props: {
26716
+ asChild: {
26717
+ type: Boolean,
26718
+ required: false
26719
+ },
26720
+ as: {
26721
+ type: null,
26722
+ required: false,
26723
+ default: "p"
26724
+ }
26725
+ },
26726
+ setup(__props) {
26727
+ const props = __props;
26728
+ useForwardExpose();
26729
+ const rootContext = injectDrawerRootContext();
26730
+ return (_ctx, _cache) => {
26731
+ return openBlock(), createBlock(unref(Primitive), mergeProps(props, { id: unref(rootContext).descriptionId }), {
26732
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
26733
+ _: 3
26734
+ }, 16, ["id"]);
26735
+ };
26736
+ }
26737
+ });
26738
+ //#endregion
26739
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/reka-ui/dist/Drawer/DrawerHandle.js
26740
+ var DrawerHandle_default = /* @__PURE__ */ defineComponent({
26741
+ __name: "DrawerHandle",
26742
+ props: {
26743
+ asChild: {
26744
+ type: Boolean,
26745
+ required: false
26746
+ },
26747
+ as: {
26748
+ type: null,
26749
+ required: false,
26750
+ default: "div"
26751
+ }
26752
+ },
26753
+ setup(__props) {
26754
+ const props = __props;
26755
+ useForwardExpose();
26756
+ const rootContext = injectDrawerRootContext();
26757
+ return (_ctx, _cache) => {
26758
+ return openBlock(), createBlock(unref(Primitive), mergeProps(props, {
26759
+ "aria-hidden": "true",
26760
+ "data-state": unref(rootContext).open.value ? "open" : "closed"
26761
+ }), {
26762
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
26763
+ _: 3
26764
+ }, 16, ["data-state"]);
26765
+ };
26766
+ }
26767
+ });
26768
+ //#endregion
26769
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/reka-ui/dist/Drawer/DrawerIndent.js
26770
+ var DrawerIndent_default = /* @__PURE__ */ defineComponent({
26771
+ __name: "DrawerIndent",
26772
+ props: {
26773
+ asChild: {
26774
+ type: Boolean,
26775
+ required: false
26776
+ },
26777
+ as: {
26778
+ type: null,
26779
+ required: false,
26780
+ default: "div"
26781
+ }
26782
+ },
26783
+ setup(__props) {
26784
+ const props = __props;
26785
+ const { forwardRef, currentElement } = useForwardExpose();
26786
+ const providerContext = injectDrawerProviderContext(null);
26787
+ let unsubscribe;
26788
+ onMounted(() => {
26789
+ const store = providerContext?.visualStateStore;
26790
+ if (!store) return;
26791
+ const el = currentElement.value;
26792
+ if (!el) return;
26793
+ const sync = () => {
26794
+ const { swipeProgress, frontmostHeight } = store.getSnapshot();
26795
+ el.style.setProperty(DRAWER_CSS_VARS.swipeProgress, swipeProgress > 0 ? `${swipeProgress}` : "0");
26796
+ if (frontmostHeight > 0) el.style.setProperty(DRAWER_CSS_VARS.height, `${frontmostHeight}px`);
26797
+ else el.style.removeProperty(DRAWER_CSS_VARS.height);
26798
+ };
26799
+ sync();
26800
+ unsubscribe = store.subscribe(sync);
26801
+ });
26802
+ onUnmounted(() => {
26803
+ unsubscribe?.();
26804
+ const el = currentElement.value;
26805
+ if (el) {
26806
+ el.style.setProperty(DRAWER_CSS_VARS.swipeProgress, "0");
26807
+ el.style.removeProperty(DRAWER_CSS_VARS.height);
26808
+ }
26809
+ });
26810
+ return (_ctx, _cache) => {
26811
+ return openBlock(), createBlock(unref(Primitive), mergeProps(props, {
26812
+ ref: unref(forwardRef),
26813
+ "data-active": unref(providerContext)?.active.value ? "" : void 0,
26814
+ "data-inactive": unref(providerContext)?.active.value === false ? "" : void 0,
26815
+ style: { [unref(DRAWER_CSS_VARS).swipeProgress]: "0" }
26816
+ }), {
26817
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
26818
+ _: 3
26819
+ }, 16, [
26820
+ "data-active",
26821
+ "data-inactive",
26822
+ "style"
26823
+ ]);
26824
+ };
26825
+ }
26826
+ });
26827
+ //#endregion
26828
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/reka-ui/dist/Drawer/DrawerIndentBackground.js
26829
+ var DrawerIndentBackground_default = /* @__PURE__ */ defineComponent({
26830
+ __name: "DrawerIndentBackground",
26831
+ props: {
26832
+ asChild: {
26833
+ type: Boolean,
26834
+ required: false
26835
+ },
26836
+ as: {
26837
+ type: null,
26838
+ required: false,
26839
+ default: "div"
26840
+ }
26841
+ },
26842
+ setup(__props) {
26843
+ const props = __props;
26844
+ const { forwardRef } = useForwardExpose();
26845
+ const providerContext = injectDrawerProviderContext(null);
26846
+ return (_ctx, _cache) => {
26847
+ return openBlock(), createBlock(unref(Primitive), mergeProps(props, {
26848
+ ref: unref(forwardRef),
26849
+ "data-active": unref(providerContext)?.active.value ? "" : void 0,
26850
+ "data-inactive": !unref(providerContext)?.active.value ? "" : void 0
26851
+ }), {
26852
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
26853
+ _: 3
26854
+ }, 16, ["data-active", "data-inactive"]);
26855
+ };
26856
+ }
26857
+ });
26858
+ //#endregion
26859
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/reka-ui/dist/Drawer/DrawerOverlayImpl.js
26860
+ var DrawerOverlayImpl_default = /* @__PURE__ */ defineComponent({
26861
+ __name: "DrawerOverlayImpl",
26862
+ props: {
26863
+ asChild: {
26864
+ type: Boolean,
26865
+ required: false
26866
+ },
26867
+ as: {
26868
+ type: null,
26869
+ required: false
26870
+ }
26871
+ },
26872
+ setup(__props) {
26873
+ const rootContext = injectDrawerRootContext();
26874
+ const locked = useBodyScrollLock(rootContext.open.value);
26875
+ watch(() => rootContext.open.value, (open) => {
26876
+ locked.value = open;
26877
+ }, { immediate: true });
26878
+ useForwardExpose();
26879
+ const dataAttributes = computed(() => {
26880
+ const attrs = {
26881
+ "data-state": rootContext.open.value ? "open" : "closed",
26882
+ "data-swipe-direction": rootContext.swipeDirection.value
26883
+ };
26884
+ if (rootContext.isSwiping.value) attrs["data-swiping"] = "";
26885
+ return attrs;
26886
+ });
26887
+ return (_ctx, _cache) => {
26888
+ return openBlock(), createBlock(unref(Primitive), mergeProps({
26889
+ as: _ctx.as,
26890
+ "as-child": _ctx.asChild
26891
+ }, dataAttributes.value, { style: {
26892
+ pointerEvents: "auto",
26893
+ userSelect: "none",
26894
+ [unref(DRAWER_CSS_VARS).swipeProgress]: "0",
26895
+ [unref(DRAWER_CSS_VARS).swipeStrength]: "1"
26896
+ } }), {
26897
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
26898
+ _: 3
26899
+ }, 16, [
26900
+ "as",
26901
+ "as-child",
26902
+ "style"
26903
+ ]);
26904
+ };
26905
+ }
26906
+ });
26907
+ //#endregion
26908
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/reka-ui/dist/Drawer/DrawerOverlay.js
26909
+ var DrawerOverlay_default = /* @__PURE__ */ defineComponent({
26910
+ __name: "DrawerOverlay",
26911
+ props: {
26912
+ forceMount: {
26913
+ type: Boolean,
26914
+ required: false,
26915
+ default: false
26916
+ },
26917
+ forceRender: {
26918
+ type: Boolean,
26919
+ required: false,
26920
+ default: false
26921
+ },
26922
+ asChild: {
26923
+ type: Boolean,
26924
+ required: false
26925
+ },
26926
+ as: {
26927
+ type: null,
26928
+ required: false
26929
+ }
26930
+ },
26931
+ setup(__props) {
26932
+ const rootContext = injectDrawerRootContext();
26933
+ const isNested = !!rootContext.notifyParentHasNestedDrawer;
26934
+ const { forwardRef } = useForwardExpose();
26935
+ return (_ctx, _cache) => {
26936
+ return unref(rootContext).modal.value && (!isNested || _ctx.forceRender) ? (openBlock(), createBlock(unref(Presence_default), {
26937
+ key: 0,
26938
+ present: _ctx.forceMount || unref(rootContext).open.value
26939
+ }, {
26940
+ default: withCtx(() => [createVNode(DrawerOverlayImpl_default, mergeProps(_ctx.$attrs, {
26941
+ ref: unref(forwardRef),
26942
+ as: _ctx.as,
26943
+ "as-child": _ctx.asChild
26944
+ }), {
26945
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
26946
+ _: 3
26947
+ }, 16, ["as", "as-child"])]),
26948
+ _: 3
26949
+ }, 8, ["present"])) : createCommentVNode("v-if", true);
26950
+ };
26951
+ }
26952
+ });
26953
+ //#endregion
26954
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/reka-ui/dist/Drawer/DrawerPortal.js
26955
+ var DrawerPortal_default = /* @__PURE__ */ defineComponent({
26956
+ __name: "DrawerPortal",
26957
+ props: {
26958
+ to: {
26959
+ type: null,
26960
+ required: false
26961
+ },
26962
+ disabled: {
26963
+ type: Boolean,
26964
+ required: false
26965
+ },
26966
+ defer: {
26967
+ type: Boolean,
26968
+ required: false
26969
+ },
26970
+ forceMount: {
26971
+ type: Boolean,
26972
+ required: false
26973
+ }
26974
+ },
26975
+ setup(__props) {
26976
+ return (_ctx, _cache) => {
26977
+ return openBlock(), createBlock(unref(Teleport_default), normalizeProps(guardReactiveProps(_ctx.$props)), {
26978
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
26979
+ _: 3
26980
+ }, 16);
26981
+ };
26982
+ }
26983
+ });
26984
+ //#endregion
26985
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/reka-ui/dist/Drawer/DrawerSwipeArea.js
26986
+ var DrawerSwipeArea_default = /* @__PURE__ */ defineComponent({
26987
+ __name: "DrawerSwipeArea",
26988
+ props: {
26989
+ swipeDirection: {
26990
+ type: String,
26991
+ required: false
26992
+ },
26993
+ disabled: {
26994
+ type: Boolean,
26995
+ required: false,
26996
+ default: false
26997
+ },
26998
+ asChild: {
26999
+ type: Boolean,
27000
+ required: false
27001
+ },
27002
+ as: {
27003
+ type: null,
27004
+ required: false,
27005
+ default: "div"
27006
+ }
27007
+ },
27008
+ setup(__props) {
27009
+ const props = __props;
27010
+ const { forwardRef, currentElement } = useForwardExpose();
27011
+ const rootContext = injectDrawerRootContext();
27012
+ const OPPOSITE = {
27013
+ up: "down",
27014
+ down: "up",
27015
+ left: "right",
27016
+ right: "left"
27017
+ };
27018
+ const openDirection = computed(() => {
27019
+ if (props.swipeDirection) return props.swipeDirection;
27020
+ return OPPOSITE[rootContext.swipeDirection.value] ?? "up";
27021
+ });
27022
+ useSwipeDismiss({
27023
+ enabled: computed(() => !props.disabled && !rootContext.open.value),
27024
+ elementRef: currentElement,
27025
+ directions: computed(() => [openDirection.value]),
27026
+ movementCssVars: {
27027
+ x: DRAWER_CSS_VARS.swipeMovementX,
27028
+ y: DRAWER_CSS_VARS.swipeMovementY
27029
+ },
27030
+ onDismiss() {
27031
+ rootContext.onOpenChange(true, "swipe");
27032
+ },
27033
+ onSwipingChange(swiping) {
27034
+ rootContext.onNestedSwipingChange(swiping);
27035
+ }
27036
+ });
27037
+ return (_ctx, _cache) => {
27038
+ return openBlock(), createBlock(unref(Primitive), mergeProps(props, {
27039
+ ref: unref(forwardRef),
27040
+ "data-state": unref(rootContext).open.value ? "open" : "closed",
27041
+ "data-swipe-direction": openDirection.value
27042
+ }), {
27043
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
27044
+ _: 3
27045
+ }, 16, ["data-state", "data-swipe-direction"]);
27046
+ };
27047
+ }
27048
+ });
27049
+ //#endregion
27050
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/reka-ui/dist/Drawer/DrawerTitle.js
27051
+ var DrawerTitle_default = /* @__PURE__ */ defineComponent({
27052
+ __name: "DrawerTitle",
27053
+ props: {
27054
+ asChild: {
27055
+ type: Boolean,
27056
+ required: false
27057
+ },
27058
+ as: {
27059
+ type: null,
27060
+ required: false,
27061
+ default: "h2"
27062
+ }
27063
+ },
27064
+ setup(__props) {
27065
+ const props = __props;
27066
+ const rootContext = injectDrawerRootContext();
27067
+ useForwardExpose();
27068
+ return (_ctx, _cache) => {
27069
+ return openBlock(), createBlock(unref(Primitive), mergeProps(props, { id: unref(rootContext).titleId }), {
27070
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
27071
+ _: 3
27072
+ }, 16, ["id"]);
27073
+ };
27074
+ }
27075
+ });
27076
+ //#endregion
27077
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/reka-ui/dist/Drawer/DrawerTrigger.js
27078
+ var DrawerTrigger_default = /* @__PURE__ */ defineComponent({
27079
+ __name: "DrawerTrigger",
27080
+ props: {
27081
+ asChild: {
27082
+ type: Boolean,
27083
+ required: false
27084
+ },
27085
+ as: {
27086
+ type: null,
27087
+ required: false,
27088
+ default: "button"
27089
+ }
27090
+ },
27091
+ setup(__props) {
27092
+ const props = __props;
27093
+ const rootContext = injectDrawerRootContext();
27094
+ const { forwardRef, currentElement } = useForwardExpose();
27095
+ watch(currentElement, (el) => {
27096
+ rootContext.triggerElement.value = el;
27097
+ }, { immediate: true });
27098
+ onUnmounted(() => {
27099
+ if (rootContext.triggerElement.value === currentElement.value) rootContext.triggerElement.value = void 0;
27100
+ });
27101
+ return (_ctx, _cache) => {
27102
+ return openBlock(), createBlock(unref(Primitive), mergeProps(props, {
27103
+ ref: unref(forwardRef),
27104
+ type: _ctx.as === "button" ? "button" : void 0,
27105
+ "aria-haspopup": "dialog",
27106
+ "aria-expanded": unref(rootContext).open.value,
27107
+ "aria-controls": unref(rootContext).open.value ? unref(rootContext).contentId : void 0,
27108
+ "data-state": unref(rootContext).open.value ? "open" : "closed",
27109
+ onClick: _cache[0] || (_cache[0] = ($event) => unref(rootContext).onOpenChange(true, "trigger-press"))
27110
+ }), {
27111
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
27112
+ _: 3
27113
+ }, 16, [
27114
+ "type",
27115
+ "aria-expanded",
27116
+ "aria-controls",
27117
+ "data-state"
27118
+ ]);
27119
+ };
27120
+ }
27121
+ });
27122
+ //#endregion
27123
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/reka-ui/dist/Drawer/DrawerViewport.js
27124
+ var DrawerViewport_default = /* @__PURE__ */ defineComponent({
27125
+ __name: "DrawerViewport",
27126
+ props: {
27127
+ asChild: {
27128
+ type: Boolean,
27129
+ required: false
27130
+ },
27131
+ as: {
27132
+ type: null,
27133
+ required: false,
27134
+ default: "div"
27135
+ }
27136
+ },
27137
+ setup(__props) {
27138
+ const props = __props;
27139
+ const { forwardRef } = useForwardExpose();
27140
+ const rootContext = injectDrawerRootContext();
27141
+ return (_ctx, _cache) => {
27142
+ return openBlock(), createBlock(unref(Primitive), mergeProps(props, {
27143
+ ref: unref(forwardRef),
27144
+ "data-drawer-viewport": "",
27145
+ "data-state": unref(rootContext).open.value ? "open" : "closed"
27146
+ }), {
27147
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
27148
+ _: 3
27149
+ }, 16, ["data-state"]);
27150
+ };
27151
+ }
27152
+ });
27153
+ //#endregion
25099
27154
  //#region ../../home/cosmin/Work/maizzle/framework/node_modules/reka-ui/dist/DropdownMenu/DropdownMenuArrow.js
25100
27155
  var DropdownMenuArrow_default = /* @__PURE__ */ defineComponent({
25101
27156
  __name: "DropdownMenuArrow",
@@ -25258,6 +27313,10 @@ var DropdownMenuContent_default = /* @__PURE__ */ defineComponent({
25258
27313
  type: Boolean,
25259
27314
  required: false
25260
27315
  },
27316
+ memoDependencies: {
27317
+ type: Array,
27318
+ required: false
27319
+ },
25261
27320
  side: {
25262
27321
  type: null,
25263
27322
  required: false
@@ -25807,6 +27866,10 @@ var DropdownMenuSubContent_default = /* @__PURE__ */ defineComponent({
25807
27866
  type: Boolean,
25808
27867
  required: false
25809
27868
  },
27869
+ memoDependencies: {
27870
+ type: Array,
27871
+ required: false
27872
+ },
25810
27873
  sideOffset: {
25811
27874
  type: Number,
25812
27875
  required: false
@@ -26585,13 +28648,18 @@ var HoverCardRoot_default = /* @__PURE__ */ defineComponent({
26585
28648
  type: Number,
26586
28649
  required: false,
26587
28650
  default: 300
28651
+ },
28652
+ enableTouch: {
28653
+ type: Boolean,
28654
+ required: false,
28655
+ default: false
26588
28656
  }
26589
28657
  },
26590
28658
  emits: ["update:open"],
26591
28659
  setup(__props, { emit: __emit }) {
26592
28660
  const props = __props;
26593
28661
  const emit = __emit;
26594
- const { openDelay, closeDelay } = toRefs(props);
28662
+ const { openDelay, closeDelay, enableTouch } = toRefs(props);
26595
28663
  useForwardExpose();
26596
28664
  const open = useVModel(props, "open", emit, {
26597
28665
  defaultValue: props.defaultOpen,
@@ -26612,6 +28680,7 @@ var HoverCardRoot_default = /* @__PURE__ */ defineComponent({
26612
28680
  if (!hasSelectionRef.value && !isPointerDownOnContentRef.value) closeTimerRef.value = window.setTimeout(() => open.value = false, closeDelay.value);
26613
28681
  }
26614
28682
  function handleDismiss() {
28683
+ clearTimeout(openTimerRef.value);
26615
28684
  open.value = false;
26616
28685
  }
26617
28686
  provideHoverCardRootContext({
@@ -26625,7 +28694,8 @@ var HoverCardRoot_default = /* @__PURE__ */ defineComponent({
26625
28694
  hasSelectionRef,
26626
28695
  isPointerDownOnContentRef,
26627
28696
  isPointerInTransitRef,
26628
- triggerElement
28697
+ triggerElement,
28698
+ enableTouch
26629
28699
  });
26630
28700
  return (_ctx, _cache) => {
26631
28701
  return openBlock(), createBlock(unref(PopperRoot_default), null, {
@@ -26657,6 +28727,10 @@ function getTabbableNodes(container) {
26657
28727
  var HoverCardContentImpl_default = /* @__PURE__ */ defineComponent({
26658
28728
  __name: "HoverCardContentImpl",
26659
28729
  props: {
28730
+ memoDependencies: {
28731
+ type: Array,
28732
+ required: false
28733
+ },
26660
28734
  side: {
26661
28735
  type: null,
26662
28736
  required: false
@@ -26729,6 +28803,10 @@ var HoverCardContentImpl_default = /* @__PURE__ */ defineComponent({
26729
28803
  type: null,
26730
28804
  required: false
26731
28805
  },
28806
+ dir: {
28807
+ type: String,
28808
+ required: false
28809
+ },
26732
28810
  asChild: {
26733
28811
  type: Boolean,
26734
28812
  required: false
@@ -26837,6 +28915,10 @@ var HoverCardContent_default = /* @__PURE__ */ defineComponent({
26837
28915
  type: Boolean,
26838
28916
  required: false
26839
28917
  },
28918
+ memoDependencies: {
28919
+ type: Array,
28920
+ required: false
28921
+ },
26840
28922
  side: {
26841
28923
  type: null,
26842
28924
  required: false
@@ -26909,6 +28991,10 @@ var HoverCardContent_default = /* @__PURE__ */ defineComponent({
26909
28991
  type: null,
26910
28992
  required: false
26911
28993
  },
28994
+ dir: {
28995
+ type: String,
28996
+ required: false
28997
+ },
26912
28998
  asChild: {
26913
28999
  type: Boolean,
26914
29000
  required: false
@@ -27002,6 +29088,11 @@ var HoverCardTrigger_default = /* @__PURE__ */ defineComponent({
27002
29088
  if (!rootContext.isPointerInTransitRef.value && !rootContext.open.value) rootContext.onClose();
27003
29089
  }, 0);
27004
29090
  }
29091
+ function handleTouch(event) {
29092
+ if (!rootContext.enableTouch.value || event.pointerType !== "touch") return;
29093
+ if (rootContext.open.value) rootContext.onDismiss();
29094
+ else rootContext.onOpenChange(true);
29095
+ }
27005
29096
  return (_ctx, _cache) => {
27006
29097
  return openBlock(), createBlock(unref(PopperAnchor_default), {
27007
29098
  "as-child": "",
@@ -27015,6 +29106,7 @@ var HoverCardTrigger_default = /* @__PURE__ */ defineComponent({
27015
29106
  "data-grace-area-trigger": "",
27016
29107
  onPointerenter: _cache[0] || (_cache[0] = ($event) => unref(excludeTouch)(unref(rootContext).onOpen)($event)),
27017
29108
  onPointerleave: _cache[1] || (_cache[1] = ($event) => unref(excludeTouch)(handleLeave)($event)),
29109
+ onPointerup: handleTouch,
27018
29110
  onFocus: _cache[2] || (_cache[2] = ($event) => unref(rootContext).onOpen()),
27019
29111
  onBlur: _cache[3] || (_cache[3] = ($event) => unref(rootContext).onClose())
27020
29112
  }, {
@@ -27282,6 +29374,10 @@ var MenubarContent_default = /* @__PURE__ */ defineComponent({
27282
29374
  type: Boolean,
27283
29375
  required: false
27284
29376
  },
29377
+ memoDependencies: {
29378
+ type: Array,
29379
+ required: false
29380
+ },
27285
29381
  side: {
27286
29382
  type: null,
27287
29383
  required: false
@@ -27719,6 +29815,10 @@ var MenubarSubContent_default = /* @__PURE__ */ defineComponent({
27719
29815
  type: Boolean,
27720
29816
  required: false
27721
29817
  },
29818
+ memoDependencies: {
29819
+ type: Array,
29820
+ required: false
29821
+ },
27722
29822
  sideOffset: {
27723
29823
  type: Number,
27724
29824
  required: false
@@ -28455,6 +30555,7 @@ var MonthPickerCellTrigger_default = /* @__PURE__ */ defineComponent({
28455
30555
  }
28456
30556
  function handleArrowKey(e) {
28457
30557
  if (isDisabled.value) return;
30558
+ if ((e.code === kbd.ENTER || e.code === kbd.SPACE_CODE) && (e.ctrlKey || e.metaKey || e.altKey)) return;
28458
30559
  e.preventDefault();
28459
30560
  e.stopPropagation();
28460
30561
  const parentElement = rootContext.parentElement.value;
@@ -28540,7 +30641,7 @@ var MonthPickerCellTrigger_default = /* @__PURE__ */ defineComponent({
28540
30641
  "data-focused": isFocusedMonth.value ? "" : void 0,
28541
30642
  tabindex: isFocusedMonth.value ? 0 : isDisabled.value ? void 0 : -1,
28542
30643
  onClick: handleClick,
28543
- onKeydown: [withKeys(handleArrowKey, [
30644
+ onKeydown: withKeys(handleArrowKey, [
28544
30645
  "up",
28545
30646
  "down",
28546
30647
  "left",
@@ -28549,7 +30650,7 @@ var MonthPickerCellTrigger_default = /* @__PURE__ */ defineComponent({
28549
30650
  "enter",
28550
30651
  "page-up",
28551
30652
  "page-down"
28552
- ]), _cache[0] || (_cache[0] = withKeys(withModifiers(() => {}, ["prevent"]), ["enter"]))]
30653
+ ])
28553
30654
  }, {
28554
30655
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", {
28555
30656
  monthValue: shortMonthValue.value,
@@ -29386,6 +31487,7 @@ var MonthRangePickerCellTrigger_default = /* @__PURE__ */ defineComponent({
29386
31487
  }
29387
31488
  function handleArrowKey(e) {
29388
31489
  if (isDisabled.value) return;
31490
+ if ((e.code === kbd.ENTER || e.code === kbd.SPACE_CODE) && (e.ctrlKey || e.metaKey || e.altKey)) return;
29389
31491
  e.preventDefault();
29390
31492
  e.stopPropagation();
29391
31493
  const parentElement = rootContext.parentElement.value;
@@ -29481,7 +31583,7 @@ var MonthRangePickerCellTrigger_default = /* @__PURE__ */ defineComponent({
29481
31583
  onClick: handleClick,
29482
31584
  onFocusin: handleFocus,
29483
31585
  onMouseenter: handleFocus,
29484
- onKeydown: [withKeys(handleArrowKey, [
31586
+ onKeydown: withKeys(handleArrowKey, [
29485
31587
  "up",
29486
31588
  "down",
29487
31589
  "left",
@@ -29490,7 +31592,7 @@ var MonthRangePickerCellTrigger_default = /* @__PURE__ */ defineComponent({
29490
31592
  "enter",
29491
31593
  "page-up",
29492
31594
  "page-down"
29493
- ]), _cache[0] || (_cache[0] = withKeys(withModifiers(() => {}, ["prevent"]), ["enter"]))]
31595
+ ])
29494
31596
  }, {
29495
31597
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", {
29496
31598
  monthValue: shortMonthValue.value,
@@ -31386,15 +33488,37 @@ var NumberFieldRoot_default = /* @__PURE__ */ defineComponent({
31386
33488
  const locale = useLocale(propLocale);
31387
33489
  const isFormControl = useFormControl(currentElement);
31388
33490
  const inputEl = ref();
31389
- const isDecreaseDisabled = computed(() => !isNullish(modelValue.value) && (clampInputValue(modelValue.value) === min.value || min.value && !isNaN(modelValue.value) ? handleDecimalOperation("-", modelValue.value, step.value) < min.value : false));
31390
- const isIncreaseDisabled = computed(() => !isNullish(modelValue.value) && (clampInputValue(modelValue.value) === max.value || max.value && !isNaN(modelValue.value) ? handleDecimalOperation("+", modelValue.value, step.value) > max.value : false));
33491
+ const isDecreaseDisabled = computed(() => {
33492
+ if (isNullish(modelValue.value) || isNaN(modelValue.value)) return false;
33493
+ return getNextValue("decrease", modelValue.value) >= modelValue.value;
33494
+ });
33495
+ const isIncreaseDisabled = computed(() => {
33496
+ if (isNullish(modelValue.value) || isNaN(modelValue.value)) return false;
33497
+ return getNextValue("increase", modelValue.value) <= modelValue.value;
33498
+ });
33499
+ function getNextValue(type, from, multiplier = 1) {
33500
+ const stepValue = step.value ?? 1;
33501
+ const operator = type === "increase" ? "+" : "-";
33502
+ let nextValue;
33503
+ if (stepSnapping.value && !isNaN(stepValue)) {
33504
+ const snapped = snapValueToStep(from, min.value, max.value, stepValue);
33505
+ if (snapped === from) nextValue = handleDecimalOperation(operator, from, stepValue * multiplier);
33506
+ else {
33507
+ const aligned = type === "increase" ? snapped > from ? snapped : handleDecimalOperation("+", snapped, stepValue) : snapped < from ? snapped : handleDecimalOperation("-", snapped, stepValue);
33508
+ nextValue = multiplier > 1 ? handleDecimalOperation(operator, aligned, stepValue * (multiplier - 1)) : aligned;
33509
+ }
33510
+ } else nextValue = handleDecimalOperation(operator, from, stepValue * multiplier);
33511
+ return clampInputValue(nextValue);
33512
+ }
31391
33513
  function handleChangingValue(type, multiplier = 1) {
31392
33514
  if (props.focusOnChange) inputEl.value?.focus();
31393
33515
  if (props.disabled || props.readonly) return;
31394
33516
  const currentInputValue = numberParser.parse(inputEl.value?.value ?? "");
31395
- if (isNaN(currentInputValue)) modelValue.value = min.value ?? 0;
31396
- else if (type === "increase") modelValue.value = clampInputValue(currentInputValue + (step.value ?? 1) * multiplier);
31397
- else modelValue.value = clampInputValue(currentInputValue - (step.value ?? 1) * multiplier);
33517
+ if (isNaN(currentInputValue)) {
33518
+ modelValue.value = clampInputValue(min.value ?? 0);
33519
+ return;
33520
+ }
33521
+ modelValue.value = getNextValue(type, currentInputValue, multiplier);
31398
33522
  }
31399
33523
  function handleIncrease(multiplier = 1) {
31400
33524
  handleChangingValue("increase", multiplier);
@@ -31421,7 +33545,7 @@ var NumberFieldRoot_default = /* @__PURE__ */ defineComponent({
31421
33545
  }
31422
33546
  function clampInputValue(val) {
31423
33547
  let clampedValue;
31424
- if (step.value === void 0 || isNaN(step.value) || !stepSnapping.value) clampedValue = clamp$1(val, min.value, max.value);
33548
+ if (step.value === void 0 || isNaN(step.value) || !stepSnapping.value) clampedValue = clamp$2(val, min.value, max.value);
31425
33549
  else clampedValue = snapValueToStep(val, min.value, max.value, step.value);
31426
33550
  clampedValue = numberParser.parse(numberFormatter.format(clampedValue));
31427
33551
  return clampedValue;
@@ -32623,6 +34747,7 @@ function handleSelect(event, value, callback) {
32623
34747
  //#endregion
32624
34748
  //#region ../../home/cosmin/Work/maizzle/framework/node_modules/reka-ui/dist/RadioGroup/Radio.js
32625
34749
  var Radio_default = /* @__PURE__ */ defineComponent({
34750
+ inheritAttrs: false,
32626
34751
  __name: "Radio",
32627
34752
  props: {
32628
34753
  id: {
@@ -32669,6 +34794,7 @@ var Radio_default = /* @__PURE__ */ defineComponent({
32669
34794
  const { value } = toRefs(props);
32670
34795
  const { forwardRef, currentElement: triggerElement } = useForwardExpose();
32671
34796
  const isFormControl = useFormControl(triggerElement);
34797
+ const scopeIdAttrs = useForwardScopeId();
32672
34798
  const ariaLabel = computed(() => props.id && triggerElement.value ? document.querySelector(`[for="${props.id}"]`)?.innerText ?? props.value : void 0);
32673
34799
  function handleClick(event) {
32674
34800
  if (props.disabled) return;
@@ -32680,13 +34806,13 @@ var Radio_default = /* @__PURE__ */ defineComponent({
32680
34806
  });
32681
34807
  }
32682
34808
  return (_ctx, _cache) => {
32683
- return openBlock(), createBlock(unref(Primitive), mergeProps(_ctx.$attrs, {
34809
+ return openBlock(), createElementBlock(Fragment, null, [createVNode(unref(Primitive), mergeProps({
32684
34810
  id: _ctx.id,
32685
34811
  ref: unref(forwardRef),
32686
34812
  role: "radio",
32687
34813
  type: _ctx.as === "button" ? "button" : void 0,
32688
34814
  as: _ctx.as,
32689
- "aria-checked": unref(checked),
34815
+ "aria-checked": unref(checked) ?? false,
32690
34816
  "aria-label": ariaLabel.value,
32691
34817
  "as-child": _ctx.asChild,
32692
34818
  disabled: _ctx.disabled ? "" : void 0,
@@ -32694,25 +34820,12 @@ var Radio_default = /* @__PURE__ */ defineComponent({
32694
34820
  "data-disabled": _ctx.disabled ? "" : void 0,
32695
34821
  value: unref(value),
32696
34822
  required: _ctx.required,
32697
- name: _ctx.name,
32698
- onClick: withModifiers(handleClick, ["stop"])
32699
- }), {
32700
- default: withCtx(() => [renderSlot(_ctx.$slots, "default", { checked: unref(checked) }), unref(isFormControl) && _ctx.name ? (openBlock(), createBlock(unref(VisuallyHiddenInput_default), {
32701
- key: 0,
32702
- type: "radio",
32703
- tabindex: "-1",
32704
- value: unref(value),
32705
- checked: !!unref(checked),
32706
- name: _ctx.name,
32707
- disabled: _ctx.disabled,
32708
- required: _ctx.required
32709
- }, null, 8, [
32710
- "value",
32711
- "checked",
32712
- "name",
32713
- "disabled",
32714
- "required"
32715
- ])) : createCommentVNode("v-if", true)]),
34823
+ name: _ctx.name
34824
+ }, {
34825
+ ...unref(scopeIdAttrs),
34826
+ ..._ctx.$attrs
34827
+ }, { onClick: withModifiers(handleClick, ["stop"]) }), {
34828
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", { checked: unref(checked) })]),
32716
34829
  _: 3
32717
34830
  }, 16, [
32718
34831
  "id",
@@ -32727,7 +34840,22 @@ var Radio_default = /* @__PURE__ */ defineComponent({
32727
34840
  "value",
32728
34841
  "required",
32729
34842
  "name"
32730
- ]);
34843
+ ]), unref(isFormControl) && _ctx.name ? (openBlock(), createBlock(unref(VisuallyHiddenInput_default), mergeProps({
34844
+ key: 0,
34845
+ type: "radio",
34846
+ tabindex: "-1",
34847
+ value: unref(value),
34848
+ checked: !!unref(checked),
34849
+ name: _ctx.name,
34850
+ disabled: _ctx.disabled,
34851
+ required: _ctx.required
34852
+ }, unref(scopeIdAttrs)), null, 16, [
34853
+ "value",
34854
+ "checked",
34855
+ "name",
34856
+ "disabled",
34857
+ "required"
34858
+ ])) : createCommentVNode("v-if", true)], 64);
32731
34859
  };
32732
34860
  }
32733
34861
  });
@@ -32926,6 +35054,7 @@ var RadioGroupItem_default = /* @__PURE__ */ defineComponent({
32926
35054
  if (isArrowKeyPressed.value) currentElement.value?.click();
32927
35055
  }, 0);
32928
35056
  }
35057
+ const scopeIdAttrs = useForwardScopeId();
32929
35058
  return (_ctx, _cache) => {
32930
35059
  return openBlock(), createBlock(unref(RovingFocusItem_default), {
32931
35060
  checked: checked.value,
@@ -32935,6 +35064,7 @@ var RadioGroupItem_default = /* @__PURE__ */ defineComponent({
32935
35064
  active: checked.value
32936
35065
  }, {
32937
35066
  default: withCtx(() => [createVNode(Radio_default, mergeProps({
35067
+ ...unref(scopeIdAttrs),
32938
35068
  ..._ctx.$attrs,
32939
35069
  ...props
32940
35070
  }, {
@@ -33013,6 +35143,227 @@ var RadioGroupIndicator_default = /* @__PURE__ */ defineComponent({
33013
35143
  }
33014
35144
  });
33015
35145
  //#endregion
35146
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/reka-ui/dist/Rating/RatingRoot.js
35147
+ var [injectRatingRootContext, provideRatingRootContext] = /*#__PURE__*/ createContext("RatingRoot");
35148
+ var RatingRoot_default = /* @__PURE__ */ defineComponent({
35149
+ __name: "RatingRoot",
35150
+ props: {
35151
+ defaultValue: {
35152
+ type: Number,
35153
+ required: false
35154
+ },
35155
+ modelValue: {
35156
+ type: Number,
35157
+ required: false
35158
+ },
35159
+ length: {
35160
+ type: Number,
35161
+ required: false,
35162
+ default: 5
35163
+ },
35164
+ clearable: {
35165
+ type: Boolean,
35166
+ required: false
35167
+ },
35168
+ hoverable: {
35169
+ type: Boolean,
35170
+ required: false
35171
+ },
35172
+ step: {
35173
+ type: Number,
35174
+ required: false,
35175
+ default: 1
35176
+ },
35177
+ disabled: {
35178
+ type: Boolean,
35179
+ required: false
35180
+ },
35181
+ orientation: {
35182
+ type: String,
35183
+ required: false,
35184
+ default: "horizontal"
35185
+ },
35186
+ dir: {
35187
+ type: String,
35188
+ required: false
35189
+ },
35190
+ loop: {
35191
+ type: Boolean,
35192
+ required: false
35193
+ },
35194
+ asChild: {
35195
+ type: Boolean,
35196
+ required: false
35197
+ },
35198
+ as: {
35199
+ type: null,
35200
+ required: false
35201
+ },
35202
+ name: {
35203
+ type: String,
35204
+ required: false
35205
+ },
35206
+ required: {
35207
+ type: Boolean,
35208
+ required: false
35209
+ }
35210
+ },
35211
+ emits: ["update:modelValue"],
35212
+ setup(__props, { emit: __emit }) {
35213
+ const props = __props;
35214
+ const emits = __emit;
35215
+ const { length, disabled, clearable, hoverable, step } = toRefs(props);
35216
+ useForwardExpose();
35217
+ const modelValue = useVModel(props, "modelValue", emits, {
35218
+ defaultValue: props.defaultValue,
35219
+ passive: props.modelValue === void 0
35220
+ });
35221
+ const items = computed(() => {
35222
+ return Array.from({ length: length.value }, (_, i) => i + 1);
35223
+ });
35224
+ const hoveredRating = ref(0);
35225
+ function changeModelValue(rating) {
35226
+ if (disabled.value) return;
35227
+ if (clearable.value && modelValue.value === rating) {
35228
+ hoveredRating.value = 0;
35229
+ modelValue.value = 0;
35230
+ } else modelValue.value = rating;
35231
+ }
35232
+ function changeHoveredRating(rating) {
35233
+ if (disabled.value || !hoverable.value) return;
35234
+ hoveredRating.value = rating;
35235
+ }
35236
+ provideRatingRootContext({
35237
+ modelValue,
35238
+ items,
35239
+ hoveredRating,
35240
+ disabled,
35241
+ step,
35242
+ changeModelValue,
35243
+ changeHoveredRating
35244
+ });
35245
+ return (_ctx, _cache) => {
35246
+ return openBlock(), createBlock(unref(RadioGroupRoot_default), mergeProps(unref(reactiveOmit)(props, "length", "clearable", "hoverable", "step"), { disabled: unref(disabled) }), {
35247
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", {
35248
+ items: items.value,
35249
+ modelValue: unref(modelValue)
35250
+ })]),
35251
+ _: 3
35252
+ }, 16, ["disabled"]);
35253
+ };
35254
+ }
35255
+ });
35256
+ //#endregion
35257
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/reka-ui/dist/Rating/RatingItem.js
35258
+ var [injectRatingItemContext, provideRatingItemContext] = /*#__PURE__*/ createContext("RatingItem");
35259
+ var RatingItem_default = /* @__PURE__ */ defineComponent({
35260
+ __name: "RatingItem",
35261
+ props: {
35262
+ item: {
35263
+ type: Number,
35264
+ required: true
35265
+ },
35266
+ asChild: {
35267
+ type: Boolean,
35268
+ required: false
35269
+ },
35270
+ as: {
35271
+ type: null,
35272
+ required: false,
35273
+ default: "label"
35274
+ }
35275
+ },
35276
+ setup(__props) {
35277
+ const props = __props;
35278
+ const rootContext = injectRatingRootContext();
35279
+ const steps = computed(() => {
35280
+ const groupStartValue = props.item - 1;
35281
+ const groupEndValue = props.item;
35282
+ const stepSize = rootContext.step.value;
35283
+ const numberOfSteps = Math.ceil((groupEndValue - groupStartValue) / stepSize);
35284
+ return Array.from({ length: numberOfSteps }, (_, index) => Number((groupStartValue + (index + 1) * stepSize).toFixed(2)));
35285
+ });
35286
+ provideRatingItemContext({ steps });
35287
+ return (_ctx, _cache) => {
35288
+ return openBlock(), createBlock(unref(Primitive), {
35289
+ as: _ctx.as,
35290
+ "as-child": _ctx.asChild
35291
+ }, {
35292
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", { steps: steps.value })]),
35293
+ _: 3
35294
+ }, 8, ["as", "as-child"]);
35295
+ };
35296
+ }
35297
+ });
35298
+ //#endregion
35299
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/reka-ui/dist/Rating/RatingItemIndicator.js
35300
+ var RatingItemIndicator_default = /* @__PURE__ */ defineComponent({
35301
+ __name: "RatingItemIndicator",
35302
+ props: {
35303
+ step: {
35304
+ type: Number,
35305
+ required: true
35306
+ },
35307
+ asChild: {
35308
+ type: Boolean,
35309
+ required: false
35310
+ },
35311
+ as: {
35312
+ type: null,
35313
+ required: false
35314
+ }
35315
+ },
35316
+ setup(__props) {
35317
+ const props = __props;
35318
+ const rootContext = injectRatingRootContext();
35319
+ const { currentElement, forwardRef } = useForwardExpose();
35320
+ const activeElement = useActiveElement();
35321
+ const itemContext = injectRatingItemContext();
35322
+ const isActive = computed(() => {
35323
+ return rootContext.hoveredRating.value > 0 && props.step <= rootContext.hoveredRating.value || rootContext.hoveredRating.value === 0 && props.step <= rootContext.modelValue.value;
35324
+ });
35325
+ const isVisible = computed(() => {
35326
+ return activeElement.value === currentElement.value || rootContext.step.value === 1 || props.step % 1 === 0 || props.step === rootContext.hoveredRating.value || props.step === rootContext.modelValue.value;
35327
+ });
35328
+ function handleMouseEnter() {
35329
+ rootContext.changeHoveredRating(props.step);
35330
+ }
35331
+ return (_ctx, _cache) => {
35332
+ return openBlock(), createBlock(unref(RadioGroupItem_default), {
35333
+ ref: unref(forwardRef),
35334
+ as: _ctx.as,
35335
+ "as-child": _ctx.asChild,
35336
+ style: normalizeStyle({
35337
+ ["--reka-rating-item-step-width"]: `${(_ctx.step % 1 || 1) * 100}%`,
35338
+ ["--reka-rating-item-step-opacity"]: isVisible.value ? 1 : 0,
35339
+ ["--reka-rating-item-step-z-index"]: unref(itemContext).steps.value.length - unref(itemContext).steps.value.indexOf(_ctx.step)
35340
+ }),
35341
+ value: _ctx.step,
35342
+ "data-state": isActive.value ? "active" : void 0,
35343
+ disabled: unref(rootContext).disabled.value,
35344
+ onSelect: _cache[0] || (_cache[0] = ($event) => unref(rootContext).changeModelValue(_ctx.step)),
35345
+ onMouseenter: handleMouseEnter
35346
+ }, {
35347
+ default: withCtx(() => [createVNode(unref(RadioGroupIndicator_default), {
35348
+ "force-mount": "",
35349
+ "as-child": ""
35350
+ }, {
35351
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
35352
+ _: 3
35353
+ })]),
35354
+ _: 3
35355
+ }, 8, [
35356
+ "as",
35357
+ "as-child",
35358
+ "style",
35359
+ "value",
35360
+ "data-state",
35361
+ "disabled"
35362
+ ]);
35363
+ };
35364
+ }
35365
+ });
35366
+ //#endregion
33016
35367
  //#region ../../home/cosmin/Work/maizzle/framework/node_modules/reka-ui/dist/ScrollArea/ScrollAreaRoot.js
33017
35368
  var [injectScrollAreaRootContext, provideScrollAreaRootContext] = /*#__PURE__*/ createContext("ScrollAreaRoot");
33018
35369
  var ScrollAreaRoot_default = /* @__PURE__ */ defineComponent({
@@ -33241,7 +35592,7 @@ function getThumbOffsetFromScroll(scrollPos, sizes, dir = "ltr") {
33241
35592
  const maxScrollPos = sizes.content - sizes.viewport;
33242
35593
  const maxThumbPos = scrollbar - thumbSizePx;
33243
35594
  const scrollClampRange = dir === "ltr" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];
33244
- const scrollWithoutMomentum = clamp$1(scrollPos, scrollClampRange[0], scrollClampRange[1]);
35595
+ const scrollWithoutMomentum = clamp$2(scrollPos, scrollClampRange[0], scrollClampRange[1]);
33245
35596
  return linearScale([0, maxScrollPos], [0, maxThumbPos])(scrollWithoutMomentum);
33246
35597
  }
33247
35598
  function toInt(value) {
@@ -33927,8 +36278,8 @@ var ScrollAreaThumb_default = /* @__PURE__ */ defineComponent({
33927
36278
  }
33928
36279
  });
33929
36280
  onUnmounted(() => {
33930
- viewport.value.removeEventListener("scroll", handleScroll);
33931
- rootContext.viewport.value?.removeEventListener("scroll", handleScroll);
36281
+ viewport.value?.removeEventListener("scroll", handleScroll);
36282
+ removeUnlinkedScrollListenerRef.value?.();
33932
36283
  });
33933
36284
  return (_ctx, _cache) => {
33934
36285
  return openBlock(), createBlock(unref(Primitive), {
@@ -34042,10 +36393,7 @@ function shouldShowPlaceholder(value) {
34042
36393
  }
34043
36394
  //#endregion
34044
36395
  //#region ../../home/cosmin/Work/maizzle/framework/node_modules/reka-ui/dist/Select/SelectRoot.js
34045
- var _hoisted_1$4 = {
34046
- key: 0,
34047
- value: ""
34048
- };
36396
+ var _hoisted_1$4 = ["value"];
34049
36397
  var [injectSelectRootContext, provideSelectRootContext] = /*#__PURE__*/ createContext("SelectRoot");
34050
36398
  var SelectRoot_default = /* @__PURE__ */ defineComponent({
34051
36399
  inheritAttrs: false,
@@ -34069,6 +36417,11 @@ var SelectRoot_default = /* @__PURE__ */ defineComponent({
34069
36417
  required: false,
34070
36418
  default: void 0
34071
36419
  },
36420
+ nullableValue: {
36421
+ type: String,
36422
+ required: false,
36423
+ default: ""
36424
+ },
34072
36425
  by: {
34073
36426
  type: [String, Function],
34074
36427
  required: false
@@ -34190,7 +36543,10 @@ var SelectRoot_default = /* @__PURE__ */ defineComponent({
34190
36543
  disabled: unref(disabled),
34191
36544
  value: unref(modelValue)
34192
36545
  }, {
34193
- default: withCtx(() => [unref(isNullish)(unref(modelValue)) ? (openBlock(), createElementBlock("option", _hoisted_1$4)) : createCommentVNode("v-if", true), (openBlock(true), createElementBlock(Fragment, null, renderList(Array.from(optionsSet.value), (option) => {
36546
+ default: withCtx(() => [unref(isNullish)(unref(modelValue)) ? (openBlock(), createElementBlock("option", {
36547
+ key: 0,
36548
+ value: _ctx.nullableValue
36549
+ }, null, 8, _hoisted_1$4)) : createCommentVNode("v-if", true), (openBlock(true), createElementBlock(Fragment, null, renderList(Array.from(optionsSet.value), (option) => {
34194
36550
  return openBlock(), createElementBlock("option", mergeProps({ key: option.value ?? "" }, { ref_for: true }, option), null, 16);
34195
36551
  }), 128))]),
34196
36552
  _: 1
@@ -34295,6 +36651,10 @@ var BubbleSelect_default = /* @__PURE__ */ defineComponent({
34295
36651
  var SelectPopperPosition_default = /* @__PURE__ */ defineComponent({
34296
36652
  __name: "SelectPopperPosition",
34297
36653
  props: {
36654
+ memoDependencies: {
36655
+ type: Array,
36656
+ required: false
36657
+ },
34298
36658
  side: {
34299
36659
  type: null,
34300
36660
  required: false
@@ -34369,6 +36729,10 @@ var SelectPopperPosition_default = /* @__PURE__ */ defineComponent({
34369
36729
  type: null,
34370
36730
  required: false
34371
36731
  },
36732
+ dir: {
36733
+ type: String,
36734
+ required: false
36735
+ },
34372
36736
  asChild: {
34373
36737
  type: Boolean,
34374
36738
  required: false
@@ -34416,6 +36780,10 @@ var SelectContentImpl_default = /* @__PURE__ */ defineComponent({
34416
36780
  required: false,
34417
36781
  default: true
34418
36782
  },
36783
+ memoDependencies: {
36784
+ type: Array,
36785
+ required: false
36786
+ },
34419
36787
  side: {
34420
36788
  type: null,
34421
36789
  required: false
@@ -34489,6 +36857,10 @@ var SelectContentImpl_default = /* @__PURE__ */ defineComponent({
34489
36857
  type: null,
34490
36858
  required: false
34491
36859
  },
36860
+ dir: {
36861
+ type: String,
36862
+ required: false
36863
+ },
34492
36864
  asChild: {
34493
36865
  type: Boolean,
34494
36866
  required: false
@@ -34720,7 +37092,7 @@ var SelectItemAlignedPosition_default = /* @__PURE__ */ defineComponent({
34720
37092
  const minContentWidth = triggerRect.width + leftDelta;
34721
37093
  const contentWidth = Math.max(minContentWidth, contentRect.width);
34722
37094
  const rightEdge = window.innerWidth - 10;
34723
- const clampedLeft = clamp$1(left, 10, Math.max(10, rightEdge - contentWidth));
37095
+ const clampedLeft = clamp$2(left, 10, Math.max(10, rightEdge - contentWidth));
34724
37096
  contentWrapperElement.value.style.minWidth = `${minContentWidth}px`;
34725
37097
  contentWrapperElement.value.style.left = `${clampedLeft}px`;
34726
37098
  } else {
@@ -34730,7 +37102,7 @@ var SelectItemAlignedPosition_default = /* @__PURE__ */ defineComponent({
34730
37102
  const minContentWidth = triggerRect.width + rightDelta;
34731
37103
  const contentWidth = Math.max(minContentWidth, contentRect.width);
34732
37104
  const leftEdge = window.innerWidth - 10;
34733
- const clampedRight = clamp$1(right, 10, Math.max(10, leftEdge - contentWidth));
37105
+ const clampedRight = clamp$2(right, 10, Math.max(10, leftEdge - contentWidth));
34734
37106
  contentWrapperElement.value.style.minWidth = `${minContentWidth}px`;
34735
37107
  contentWrapperElement.value.style.right = `${clampedRight}px`;
34736
37108
  }
@@ -34896,6 +37268,10 @@ var SelectContent_default = /* @__PURE__ */ defineComponent({
34896
37268
  type: Boolean,
34897
37269
  required: false
34898
37270
  },
37271
+ memoDependencies: {
37272
+ type: Array,
37273
+ required: false
37274
+ },
34899
37275
  side: {
34900
37276
  type: null,
34901
37277
  required: false
@@ -34968,6 +37344,10 @@ var SelectContent_default = /* @__PURE__ */ defineComponent({
34968
37344
  type: null,
34969
37345
  required: false
34970
37346
  },
37347
+ dir: {
37348
+ type: String,
37349
+ required: false
37350
+ },
34971
37351
  asChild: {
34972
37352
  type: Boolean,
34973
37353
  required: false
@@ -35581,6 +37961,26 @@ var SelectTrigger_default = /* @__PURE__ */ defineComponent({
35581
37961
  y: Math.round(event.pageY)
35582
37962
  };
35583
37963
  }
37964
+ function isPlainLeftClick(event) {
37965
+ return event.button === 0 && event.ctrlKey === false;
37966
+ }
37967
+ let openedFromPointerDown = false;
37968
+ function onTriggerPointerDown(event) {
37969
+ if (event.pointerType === "touch") return event.preventDefault();
37970
+ const target = event.target;
37971
+ if (target.hasPointerCapture(event.pointerId)) target.releasePointerCapture(event.pointerId);
37972
+ if (isPlainLeftClick(event)) {
37973
+ handlePointerOpen(event);
37974
+ openedFromPointerDown = true;
37975
+ }
37976
+ }
37977
+ function onTriggerMouseDown(event) {
37978
+ if (isPlainLeftClick(event)) event.preventDefault();
37979
+ }
37980
+ function onTriggerClick(event) {
37981
+ if (!openedFromPointerDown) event.currentTarget?.focus();
37982
+ openedFromPointerDown = false;
37983
+ }
35584
37984
  return (_ctx, _cache) => {
35585
37985
  return openBlock(), createBlock(unref(PopperAnchor_default), {
35586
37986
  "as-child": "",
@@ -35601,22 +38001,13 @@ var SelectTrigger_default = /* @__PURE__ */ defineComponent({
35601
38001
  "data-placeholder": unref(shouldShowPlaceholder)(unref(rootContext).modelValue?.value) ? "" : void 0,
35602
38002
  "as-child": _ctx.asChild,
35603
38003
  as: _ctx.as,
35604
- onClick: _cache[0] || (_cache[0] = (event) => {
35605
- (event?.currentTarget)?.focus();
35606
- }),
35607
- onPointerdown: _cache[1] || (_cache[1] = (event) => {
35608
- if (event.pointerType === "touch") return event.preventDefault();
35609
- const target = event.target;
35610
- if (target.hasPointerCapture(event.pointerId)) target.releasePointerCapture(event.pointerId);
35611
- if (event.button === 0 && event.ctrlKey === false) {
35612
- handlePointerOpen(event);
35613
- event.preventDefault();
35614
- }
35615
- }),
35616
- onPointerup: _cache[2] || (_cache[2] = withModifiers((event) => {
38004
+ onClick: onTriggerClick,
38005
+ onPointerdown: onTriggerPointerDown,
38006
+ onMousedown: onTriggerMouseDown,
38007
+ onPointerup: _cache[0] || (_cache[0] = withModifiers((event) => {
35617
38008
  if (event.pointerType === "touch") handlePointerOpen(event);
35618
38009
  }, ["prevent"])),
35619
- onKeydown: _cache[3] || (_cache[3] = (event) => {
38010
+ onKeydown: _cache[1] || (_cache[1] = (event) => {
35620
38011
  const isTypingAhead = unref(search) !== "";
35621
38012
  if (!(event.ctrlKey || event.altKey || event.metaKey) && event.key.length === 1) {
35622
38013
  if (isTypingAhead && event.key === " ") return;
@@ -36542,7 +38933,7 @@ function setGlobalCursorStyle(state, constraintFlags, nonce) {
36542
38933
  if (nonce) styleElement.nonce = nonce;
36543
38934
  document.head.appendChild(styleElement);
36544
38935
  }
36545
- styleElement.innerHTML = `*{cursor: ${style}!important;}`;
38936
+ styleElement.textContent = `*{cursor: ${style}!important;}`;
36546
38937
  }
36547
38938
  function computePanelFlexBoxStyle({ defaultSize, dragState, layout, panelData, panelIndex, precision = 3 }) {
36548
38939
  const size = layout[panelIndex];
@@ -37258,13 +39649,13 @@ var SplitterGroup_default = /* @__PURE__ */ defineComponent({
37258
39649
  const panelIndex = findPanelDataIndex(panelDataArray, panelData);
37259
39650
  const constraints = panelConstraintsArray?.[panelIndex] ?? panelData.constraints;
37260
39651
  return constraints.defaultSize === constraints.collapsedSize;
37261
- } else return panelSize === collapsedSize;
39652
+ } else return fuzzyCompareNumbers(panelSize, collapsedSize) <= 0;
37262
39653
  }
37263
39654
  function isPanelExpanded(panelData) {
37264
39655
  const { layout: layout$1, panelDataArray } = eagerValuesRef.value;
37265
39656
  const { collapsedSize = 0, collapsible, panelSize } = panelDataHelper(panelDataArray, panelData, layout$1, getPanelConstraintsInPercent() ?? void 0);
37266
39657
  assert(panelSize != null, `Panel size not found for panel "${panelData.id}"`);
37267
- return !collapsible || panelSize > collapsedSize;
39658
+ return !collapsible || fuzzyCompareNumbers(panelSize, collapsedSize) > 0;
37268
39659
  }
37269
39660
  providePanelGroupContext({
37270
39661
  direction,
@@ -38100,6 +40491,7 @@ var StepperTrigger_default = /* @__PURE__ */ defineComponent({
38100
40491
  //#region ../../home/cosmin/Work/maizzle/framework/node_modules/reka-ui/dist/Switch/SwitchRoot.js
38101
40492
  var [injectSwitchRootContext, provideSwitchRootContext] = /*#__PURE__*/ createContext("SwitchRoot");
38102
40493
  var SwitchRoot_default = /* @__PURE__ */ defineComponent({
40494
+ inheritAttrs: false,
38103
40495
  __name: "SwitchRoot",
38104
40496
  props: {
38105
40497
  defaultValue: {
@@ -38168,6 +40560,7 @@ var SwitchRoot_default = /* @__PURE__ */ defineComponent({
38168
40560
  }
38169
40561
  const { forwardRef, currentElement } = useForwardExpose();
38170
40562
  const isFormControl = useFormControl(currentElement);
40563
+ const scopeIdAttrs = useForwardScopeId();
38171
40564
  const ariaLabel = computed(() => props.id && currentElement.value ? document.querySelector(`[for="${props.id}"]`)?.innerText : void 0);
38172
40565
  provideSwitchRootContext({
38173
40566
  checked,
@@ -38175,7 +40568,7 @@ var SwitchRoot_default = /* @__PURE__ */ defineComponent({
38175
40568
  disabled
38176
40569
  });
38177
40570
  return (_ctx, _cache) => {
38178
- return openBlock(), createBlock(unref(Primitive), mergeProps(_ctx.$attrs, {
40571
+ return openBlock(), createElementBlock(Fragment, null, [createVNode(unref(Primitive), mergeProps({
38179
40572
  id: _ctx.id,
38180
40573
  ref: unref(forwardRef),
38181
40574
  role: "switch",
@@ -38188,28 +40581,18 @@ var SwitchRoot_default = /* @__PURE__ */ defineComponent({
38188
40581
  "data-disabled": unref(disabled) ? "" : void 0,
38189
40582
  "as-child": _ctx.asChild,
38190
40583
  as: _ctx.as,
38191
- disabled: unref(disabled),
40584
+ disabled: unref(disabled)
40585
+ }, {
40586
+ ...unref(scopeIdAttrs),
40587
+ ..._ctx.$attrs
40588
+ }, {
38192
40589
  onClick: toggleCheck,
38193
40590
  onKeydown: withKeys(withModifiers(toggleCheck, ["prevent"]), ["enter"])
38194
40591
  }), {
38195
40592
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", {
38196
40593
  modelValue: unref(modelValue),
38197
40594
  checked: checked.value
38198
- }), unref(isFormControl) && _ctx.name ? (openBlock(), createBlock(unref(VisuallyHiddenInput_default), {
38199
- key: 0,
38200
- type: "checkbox",
38201
- name: _ctx.name,
38202
- disabled: unref(disabled),
38203
- required: _ctx.required,
38204
- value: _ctx.value,
38205
- checked: checked.value
38206
- }, null, 8, [
38207
- "name",
38208
- "disabled",
38209
- "required",
38210
- "value",
38211
- "checked"
38212
- ])) : createCommentVNode("v-if", true)]),
40595
+ })]),
38213
40596
  _: 3
38214
40597
  }, 16, [
38215
40598
  "id",
@@ -38224,7 +40607,21 @@ var SwitchRoot_default = /* @__PURE__ */ defineComponent({
38224
40607
  "as",
38225
40608
  "disabled",
38226
40609
  "onKeydown"
38227
- ]);
40610
+ ]), unref(isFormControl) && _ctx.name ? (openBlock(), createBlock(unref(VisuallyHiddenInput_default), mergeProps({
40611
+ key: 0,
40612
+ type: "checkbox",
40613
+ name: _ctx.name,
40614
+ disabled: unref(disabled),
40615
+ required: _ctx.required,
40616
+ value: _ctx.value,
40617
+ checked: checked.value
40618
+ }, unref(scopeIdAttrs)), null, 16, [
40619
+ "name",
40620
+ "disabled",
40621
+ "required",
40622
+ "value",
40623
+ "checked"
40624
+ ])) : createCommentVNode("v-if", true)], 64);
38228
40625
  };
38229
40626
  }
38230
40627
  });
@@ -38462,6 +40859,7 @@ var TabsIndicator_default = /* @__PURE__ */ defineComponent({
38462
40859
  const isMounted = useMounted();
38463
40860
  const indicatorStyle = ref({
38464
40861
  size: null,
40862
+ thickness: null,
38465
40863
  position: null
38466
40864
  });
38467
40865
  const tabs = ref([]);
@@ -38480,16 +40878,19 @@ var TabsIndicator_default = /* @__PURE__ */ defineComponent({
38480
40878
  if (!activeTab) return;
38481
40879
  if (context.orientation.value === "horizontal") indicatorStyle.value = {
38482
40880
  size: activeTab.offsetWidth,
40881
+ thickness: activeTab.offsetHeight,
38483
40882
  position: activeTab.offsetLeft
38484
40883
  };
38485
40884
  else indicatorStyle.value = {
38486
40885
  size: activeTab.offsetHeight,
40886
+ thickness: activeTab.offsetWidth,
38487
40887
  position: activeTab.offsetTop
38488
40888
  };
38489
40889
  }
38490
40890
  return (_ctx, _cache) => {
38491
40891
  return unref(isMounted) && typeof indicatorStyle.value.size === "number" ? (openBlock(), createBlock(unref(Primitive), mergeProps({ key: 0 }, props, { style: {
38492
40892
  "--reka-tabs-indicator-size": `${indicatorStyle.value.size}px`,
40893
+ "--reka-tabs-indicator-thickness": `${indicatorStyle.value.thickness}px`,
38493
40894
  "--reka-tabs-indicator-position": `${indicatorStyle.value.position}px`
38494
40895
  } }), {
38495
40896
  default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
@@ -40948,6 +43349,7 @@ var ToggleGroupRoot_default = /* @__PURE__ */ defineComponent({
40948
43349
  //#endregion
40949
43350
  //#region ../../home/cosmin/Work/maizzle/framework/node_modules/reka-ui/dist/Toggle/Toggle.js
40950
43351
  var Toggle_default = /* @__PURE__ */ defineComponent({
43352
+ inheritAttrs: false,
40951
43353
  __name: "Toggle",
40952
43354
  props: {
40953
43355
  defaultValue: {
@@ -40987,6 +43389,7 @@ var Toggle_default = /* @__PURE__ */ defineComponent({
40987
43389
  const props = __props;
40988
43390
  const emits = __emit;
40989
43391
  const { forwardRef, currentElement } = useForwardExpose();
43392
+ const scopeIdAttrs = useForwardScopeId();
40990
43393
  const toggleGroupContext = injectToggleGroupRootContext(null);
40991
43394
  const modelValue = useVModel(props, "modelValue", emits, {
40992
43395
  defaultValue: props.defaultValue,
@@ -41000,7 +43403,7 @@ var Toggle_default = /* @__PURE__ */ defineComponent({
41000
43403
  });
41001
43404
  const isFormControl = useFormControl(currentElement);
41002
43405
  return (_ctx, _cache) => {
41003
- return openBlock(), createBlock(unref(Primitive), {
43406
+ return openBlock(), createElementBlock(Fragment, null, [createVNode(unref(Primitive), mergeProps({
41004
43407
  ref: unref(forwardRef),
41005
43408
  type: _ctx.as === "button" ? "button" : void 0,
41006
43409
  "as-child": props.asChild,
@@ -41008,27 +43411,19 @@ var Toggle_default = /* @__PURE__ */ defineComponent({
41008
43411
  "aria-pressed": unref(modelValue),
41009
43412
  "data-state": dataState.value,
41010
43413
  "data-disabled": _ctx.disabled ? "" : void 0,
41011
- disabled: _ctx.disabled,
41012
- onClick: togglePressed
43414
+ disabled: _ctx.disabled
41013
43415
  }, {
43416
+ ...unref(scopeIdAttrs),
43417
+ ..._ctx.$attrs
43418
+ }, { onClick: togglePressed }), {
41014
43419
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", {
41015
43420
  modelValue: unref(modelValue),
41016
43421
  disabled: _ctx.disabled,
41017
43422
  pressed: unref(modelValue),
41018
43423
  state: dataState.value
41019
- }), unref(isFormControl) && _ctx.name && !unref(toggleGroupContext) ? (openBlock(), createBlock(VisuallyHiddenInput_default, {
41020
- key: 0,
41021
- type: "checkbox",
41022
- name: _ctx.name,
41023
- value: unref(modelValue),
41024
- required: _ctx.required
41025
- }, null, 8, [
41026
- "name",
41027
- "value",
41028
- "required"
41029
- ])) : createCommentVNode("v-if", true)]),
43424
+ })]),
41030
43425
  _: 3
41031
- }, 8, [
43426
+ }, 16, [
41032
43427
  "type",
41033
43428
  "as-child",
41034
43429
  "as",
@@ -41036,7 +43431,17 @@ var Toggle_default = /* @__PURE__ */ defineComponent({
41036
43431
  "data-state",
41037
43432
  "data-disabled",
41038
43433
  "disabled"
41039
- ]);
43434
+ ]), unref(isFormControl) && _ctx.name && !unref(toggleGroupContext) ? (openBlock(), createBlock(VisuallyHiddenInput_default, mergeProps({
43435
+ key: 0,
43436
+ type: "checkbox",
43437
+ name: _ctx.name,
43438
+ value: unref(modelValue),
43439
+ required: _ctx.required
43440
+ }, unref(scopeIdAttrs)), null, 16, [
43441
+ "name",
43442
+ "value",
43443
+ "required"
43444
+ ])) : createCommentVNode("v-if", true)], 64);
41040
43445
  };
41041
43446
  }
41042
43447
  });
@@ -41069,12 +43474,16 @@ var ToggleGroupItem_default = /* @__PURE__ */ defineComponent({
41069
43474
  const disabled = computed(() => rootContext.disabled?.value || props.disabled);
41070
43475
  const pressed = computed(() => isValueEqualOrExist(rootContext.modelValue.value, props.value));
41071
43476
  const { forwardRef } = useForwardExpose();
43477
+ const scopeIdAttrs = useForwardScopeId();
41072
43478
  return (_ctx, _cache) => {
41073
43479
  return openBlock(), createBlock(resolveDynamicComponent(unref(rootContext).rovingFocus.value ? unref(RovingFocusItem_default) : unref(Primitive)), mergeProps({ "as-child": "" }, unref(rootContext).rovingFocus.value ? {
41074
43480
  focusable: !disabled.value,
41075
43481
  active: pressed.value
41076
43482
  } : {}), {
41077
- default: withCtx(() => [createVNode(unref(Toggle_default), mergeProps(props, {
43483
+ default: withCtx(() => [createVNode(unref(Toggle_default), mergeProps({
43484
+ ...unref(scopeIdAttrs),
43485
+ ...props
43486
+ }, {
41078
43487
  ref: unref(forwardRef),
41079
43488
  disabled: disabled.value,
41080
43489
  "model-value": pressed.value,
@@ -41366,13 +43775,16 @@ var ToolbarToggleItem_default = /* @__PURE__ */ defineComponent({
41366
43775
  const props = __props;
41367
43776
  const { forwardRef } = useForwardExpose();
41368
43777
  return (_ctx, _cache) => {
41369
- return openBlock(), createBlock(ToolbarButton_default, { "as-child": "" }, {
43778
+ return openBlock(), createBlock(ToolbarButton_default, {
43779
+ "as-child": "",
43780
+ disabled: props.disabled
43781
+ }, {
41370
43782
  default: withCtx(() => [createVNode(unref(ToggleGroupItem_default), mergeProps(props, { ref: unref(forwardRef) }), {
41371
43783
  default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
41372
43784
  _: 3
41373
43785
  }, 16)]),
41374
43786
  _: 3
41375
- });
43787
+ }, 8, ["disabled"]);
41376
43788
  };
41377
43789
  }
41378
43790
  });
@@ -42288,6 +44700,10 @@ var TreeItem_default = /* @__PURE__ */ defineComponent({
42288
44700
  type: Number,
42289
44701
  required: true
42290
44702
  },
44703
+ disabled: {
44704
+ type: Boolean,
44705
+ required: false
44706
+ },
42291
44707
  asChild: {
42292
44708
  type: Boolean,
42293
44709
  required: false
@@ -42320,7 +44736,9 @@ var TreeItem_default = /* @__PURE__ */ defineComponent({
42320
44736
  } else if (rootContext.propagateSelect.value && isSelected.value && hasChildren.value && Array.isArray(rootContext.modelValue.value)) return !flatten(rootContext.getChildren(props.value) || []).every((child) => rootContext.modelValue.value.find((v) => rootContext.getKey(v) === rootContext.getKey(child)));
42321
44737
  else return void 0;
42322
44738
  });
44739
+ const isDisabled = computed(() => rootContext.disabled.value || props.disabled);
42323
44740
  function handleKeydownRight(ev) {
44741
+ if (isDisabled.value) return;
42324
44742
  if (!hasChildren.value) return;
42325
44743
  if (isExpanded.value) {
42326
44744
  const collection = getItems().map((i) => i.ref);
@@ -42331,6 +44749,7 @@ var TreeItem_default = /* @__PURE__ */ defineComponent({
42331
44749
  } else handleToggleCustomEvent(ev);
42332
44750
  }
42333
44751
  function handleKeydownLeft(ev) {
44752
+ if (isDisabled.value) return;
42334
44753
  if (isExpanded.value) handleToggleCustomEvent(ev);
42335
44754
  else {
42336
44755
  const collection = getItems().map((i) => i.ref);
@@ -42341,11 +44760,13 @@ var TreeItem_default = /* @__PURE__ */ defineComponent({
42341
44760
  }
42342
44761
  }
42343
44762
  async function handleSelect(ev) {
44763
+ if (isDisabled.value) return;
42344
44764
  emits("select", ev);
42345
44765
  if (ev?.defaultPrevented) return;
42346
44766
  rootContext.onSelect(props.value);
42347
44767
  }
42348
44768
  async function handleToggle(ev) {
44769
+ if (isDisabled.value) return;
42349
44770
  emits("toggle", ev);
42350
44771
  if (ev?.defaultPrevented) return;
42351
44772
  rootContext.onToggle(props.value);
@@ -42372,6 +44793,7 @@ var TreeItem_default = /* @__PURE__ */ defineComponent({
42372
44793
  isExpanded,
42373
44794
  isSelected,
42374
44795
  isIndeterminate,
44796
+ isDisabled,
42375
44797
  handleToggle: () => rootContext.onToggle(props.value),
42376
44798
  handleSelect: () => rootContext.onSelect(props.value)
42377
44799
  });
@@ -42379,7 +44801,8 @@ var TreeItem_default = /* @__PURE__ */ defineComponent({
42379
44801
  return openBlock(), createBlock(unref(RovingFocusItem_default), {
42380
44802
  "as-child": "",
42381
44803
  value: _ctx.value,
42382
- "allow-shift-key": ""
44804
+ "allow-shift-key": "",
44805
+ focusable: !isDisabled.value
42383
44806
  }, {
42384
44807
  default: withCtx(() => [createVNode(unref(Primitive), mergeProps(_ctx.$attrs, {
42385
44808
  role: "treeitem",
@@ -42388,9 +44811,11 @@ var TreeItem_default = /* @__PURE__ */ defineComponent({
42388
44811
  "aria-selected": isSelected.value,
42389
44812
  "aria-expanded": hasChildren.value ? isExpanded.value : void 0,
42390
44813
  "aria-level": _ctx.level,
44814
+ "aria-disabled": isDisabled.value ? true : void 0,
42391
44815
  "data-indent": _ctx.level,
42392
44816
  "data-selected": isSelected.value ? "" : void 0,
42393
44817
  "data-expanded": isExpanded.value ? "" : void 0,
44818
+ "data-disabled": isDisabled.value ? "" : void 0,
42394
44819
  onKeydown: [
42395
44820
  withKeys(withModifiers(handleSelectCustomEvent, ["self", "prevent"]), ["enter", "space"]),
42396
44821
  _cache[0] || (_cache[0] = withKeys(withModifiers((ev) => unref(rootContext).dir.value === "ltr" ? handleKeydownRight(ev) : handleKeydownLeft(ev), ["prevent"]), ["right"])),
@@ -42405,6 +44830,7 @@ var TreeItem_default = /* @__PURE__ */ defineComponent({
42405
44830
  isExpanded: isExpanded.value,
42406
44831
  isSelected: isSelected.value,
42407
44832
  isIndeterminate: isIndeterminate.value,
44833
+ isDisabled: isDisabled.value,
42408
44834
  handleSelect: () => unref(rootContext).onSelect(_ctx.value),
42409
44835
  handleToggle: () => unref(rootContext).onToggle(_ctx.value)
42410
44836
  })]),
@@ -42415,13 +44841,15 @@ var TreeItem_default = /* @__PURE__ */ defineComponent({
42415
44841
  "aria-selected",
42416
44842
  "aria-expanded",
42417
44843
  "aria-level",
44844
+ "aria-disabled",
42418
44845
  "data-indent",
42419
44846
  "data-selected",
42420
44847
  "data-expanded",
44848
+ "data-disabled",
42421
44849
  "onKeydown"
42422
44850
  ])]),
42423
44851
  _: 3
42424
- }, 8, ["value"]);
44852
+ }, 8, ["value", "focusable"]);
42425
44853
  };
42426
44854
  }
42427
44855
  });
@@ -42535,7 +44963,8 @@ var TreeVirtualizer_default = /* @__PURE__ */ defineComponent({
42535
44963
  const index = intent === "first" ? 0 : rootContext.expandedItems.value.length - 1;
42536
44964
  virtualizer.value.scrollToIndex(index);
42537
44965
  requestAnimationFrame(() => {
42538
- const items = getItems();
44966
+ const items = getItems().filter((i) => i.ref.dataset.disabled !== "");
44967
+ if (!items.length) return;
42539
44968
  (intent === "first" ? items[0] : items.at(-1)).ref.focus();
42540
44969
  });
42541
44970
  } else if (intent === "prev" && event.key !== "ArrowUp") {
@@ -43130,6 +45559,7 @@ var YearPickerCellTrigger_default = /* @__PURE__ */ defineComponent({
43130
45559
  }
43131
45560
  function handleArrowKey(e) {
43132
45561
  if (isDisabled.value) return;
45562
+ if ((e.code === kbd.ENTER || e.code === kbd.SPACE_CODE) && (e.ctrlKey || e.metaKey || e.altKey)) return;
43133
45563
  e.preventDefault();
43134
45564
  e.stopPropagation();
43135
45565
  const parentElement = rootContext.parentElement.value;
@@ -43218,7 +45648,7 @@ var YearPickerCellTrigger_default = /* @__PURE__ */ defineComponent({
43218
45648
  "data-focused": isFocusedYear.value ? "" : void 0,
43219
45649
  tabindex: isFocusedYear.value ? 0 : isDisabled.value ? void 0 : -1,
43220
45650
  onClick: handleClick,
43221
- onKeydown: [withKeys(handleArrowKey, [
45651
+ onKeydown: withKeys(handleArrowKey, [
43222
45652
  "up",
43223
45653
  "down",
43224
45654
  "left",
@@ -43227,7 +45657,7 @@ var YearPickerCellTrigger_default = /* @__PURE__ */ defineComponent({
43227
45657
  "enter",
43228
45658
  "page-up",
43229
45659
  "page-down"
43230
- ]), _cache[0] || (_cache[0] = withKeys(withModifiers(() => {}, ["prevent"]), ["enter"]))]
45660
+ ])
43231
45661
  }, {
43232
45662
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", {
43233
45663
  yearValue: yearValue.value,
@@ -44066,6 +46496,7 @@ var YearRangePickerCellTrigger_default = /* @__PURE__ */ defineComponent({
44066
46496
  }
44067
46497
  function handleArrowKey(e) {
44068
46498
  if (isDisabled.value) return;
46499
+ if ((e.code === kbd.ENTER || e.code === kbd.SPACE_CODE) && (e.ctrlKey || e.metaKey || e.altKey)) return;
44069
46500
  e.preventDefault();
44070
46501
  e.stopPropagation();
44071
46502
  const parentElement = rootContext.parentElement.value;
@@ -44162,7 +46593,7 @@ var YearRangePickerCellTrigger_default = /* @__PURE__ */ defineComponent({
44162
46593
  onClick: handleClick,
44163
46594
  onFocusin: handleFocus,
44164
46595
  onMouseenter: handleFocus,
44165
- onKeydown: [withKeys(handleArrowKey, [
46596
+ onKeydown: withKeys(handleArrowKey, [
44166
46597
  "up",
44167
46598
  "down",
44168
46599
  "left",
@@ -44171,7 +46602,7 @@ var YearRangePickerCellTrigger_default = /* @__PURE__ */ defineComponent({
44171
46602
  "enter",
44172
46603
  "page-up",
44173
46604
  "page-down"
44174
- ]), _cache[0] || (_cache[0] = withKeys(withModifiers(() => {}, ["prevent"]), ["enter"]))]
46605
+ ])
44175
46606
  }, {
44176
46607
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", {
44177
46608
  yearValue: yearValue.value,
@@ -44459,6 +46890,6 @@ var YearRangePickerPrev_default = /* @__PURE__ */ defineComponent({
44459
46890
  }
44460
46891
  });
44461
46892
  //#endregion
44462
- export { AccordionContent_default as AccordionContent, AccordionHeader_default as AccordionHeader, AccordionItem_default as AccordionItem, AccordionRoot_default as AccordionRoot, AccordionTrigger_default as AccordionTrigger, AlertDialogAction_default as AlertDialogAction, AlertDialogCancel_default as AlertDialogCancel, AlertDialogContent_default as AlertDialogContent, AlertDialogDescription_default as AlertDialogDescription, AlertDialogOverlay_default as AlertDialogOverlay, AlertDialogPortal_default as AlertDialogPortal, AlertDialogRoot_default as AlertDialogRoot, AlertDialogTitle_default as AlertDialogTitle, AlertDialogTrigger_default as AlertDialogTrigger, AspectRatio_default as AspectRatio, ComboboxAnchor_default as AutocompleteAnchor, ComboboxAnchor_default as ComboboxAnchor, ComboboxArrow_default as AutocompleteArrow, ComboboxArrow_default as ComboboxArrow, ComboboxCancel_default as AutocompleteCancel, ComboboxCancel_default as ComboboxCancel, ComboboxContent_default as AutocompleteContent, ComboboxContent_default as ComboboxContent, ComboboxEmpty_default as AutocompleteEmpty, ComboboxEmpty_default as ComboboxEmpty, ComboboxGroup_default as AutocompleteGroup, ComboboxGroup_default as ComboboxGroup, AutocompleteInput_default as AutocompleteInput, ComboboxItem_default as AutocompleteItem, ComboboxItem_default as ComboboxItem, ComboboxItemIndicator_default as AutocompleteItemIndicator, ComboboxItemIndicator_default as ComboboxItemIndicator, ComboboxLabel_default as AutocompleteLabel, ComboboxLabel_default as ComboboxLabel, ComboboxPortal_default as AutocompletePortal, ComboboxPortal_default as ComboboxPortal, AutocompleteRoot_default as AutocompleteRoot, ComboboxSeparator_default as AutocompleteSeparator, ComboboxSeparator_default as ComboboxSeparator, ComboboxTrigger_default as AutocompleteTrigger, ComboboxTrigger_default as ComboboxTrigger, ComboboxViewport_default as AutocompleteViewport, ComboboxViewport_default as ComboboxViewport, ComboboxVirtualizer_default as AutocompleteVirtualizer, ComboboxVirtualizer_default as ComboboxVirtualizer, AvatarFallback_default as AvatarFallback, AvatarImage_default as AvatarImage, AvatarRoot_default as AvatarRoot, CalendarCell_default as CalendarCell, CalendarCellTrigger_default as CalendarCellTrigger, CalendarGrid_default as CalendarGrid, CalendarGridBody_default as CalendarGridBody, CalendarGridHead_default as CalendarGridHead, CalendarGridRow_default as CalendarGridRow, CalendarHeadCell_default as CalendarHeadCell, CalendarHeader_default as CalendarHeader, CalendarHeading_default as CalendarHeading, CalendarNext_default as CalendarNext, CalendarPrev_default as CalendarPrev, CalendarRoot_default as CalendarRoot, CheckboxGroupRoot_default as CheckboxGroupRoot, CheckboxIndicator_default as CheckboxIndicator, CheckboxRoot_default as CheckboxRoot, CollapsibleContent_default as CollapsibleContent, CollapsibleRoot_default as CollapsibleRoot, CollapsibleTrigger_default as CollapsibleTrigger, ColorAreaArea_default as ColorAreaArea, ColorAreaRoot_default as ColorAreaRoot, ColorAreaThumb_default as ColorAreaThumb, ColorFieldInput_default as ColorFieldInput, ColorFieldRoot_default as ColorFieldRoot, ColorSliderRoot_default as ColorSliderRoot, ColorSliderThumb_default as ColorSliderThumb, ColorSliderTrack_default as ColorSliderTrack, ColorSwatch_default as ColorSwatch, ColorSwatchPickerItem_default as ColorSwatchPickerItem, ColorSwatchPickerItemIndicator_default as ColorSwatchPickerItemIndicator, ColorSwatchPickerItemSwatch_default as ColorSwatchPickerItemSwatch, ColorSwatchPickerRoot_default as ColorSwatchPickerRoot, ComboboxInput_default as ComboboxInput, ComboboxRoot_default as ComboboxRoot, ConfigProvider_default as ConfigProvider, ContextMenuArrow_default as ContextMenuArrow, ContextMenuCheckboxItem_default as ContextMenuCheckboxItem, ContextMenuContent_default as ContextMenuContent, ContextMenuGroup_default as ContextMenuGroup, ContextMenuItem_default as ContextMenuItem, ContextMenuItemIndicator_default as ContextMenuItemIndicator, ContextMenuLabel_default as ContextMenuLabel, ContextMenuPortal_default as ContextMenuPortal, ContextMenuRadioGroup_default as ContextMenuRadioGroup, ContextMenuRadioItem_default as ContextMenuRadioItem, ContextMenuRoot_default as ContextMenuRoot, ContextMenuSeparator_default as ContextMenuSeparator, ContextMenuSub_default as ContextMenuSub, ContextMenuSubContent_default as ContextMenuSubContent, ContextMenuSubTrigger_default as ContextMenuSubTrigger, ContextMenuTrigger_default as ContextMenuTrigger, DateFieldInput_default as DateFieldInput, DateFieldRoot_default as DateFieldRoot, DatePickerAnchor_default as DatePickerAnchor, DatePickerArrow_default as DatePickerArrow, DatePickerCalendar_default as DatePickerCalendar, DatePickerCell_default as DatePickerCell, DatePickerCellTrigger_default as DatePickerCellTrigger, DatePickerClose_default as DatePickerClose, DatePickerContent_default as DatePickerContent, DatePickerField_default as DatePickerField, DatePickerGrid_default as DatePickerGrid, DatePickerGridBody_default as DatePickerGridBody, DatePickerGridHead_default as DatePickerGridHead, DatePickerGridRow_default as DatePickerGridRow, DatePickerHeadCell_default as DatePickerHeadCell, DatePickerHeader_default as DatePickerHeader, DatePickerHeading_default as DatePickerHeading, DatePickerInput_default as DatePickerInput, DatePickerNext_default as DatePickerNext, DatePickerPrev_default as DatePickerPrev, DatePickerRoot_default as DatePickerRoot, DatePickerTrigger_default as DatePickerTrigger, DateRangeFieldInput_default as DateRangeFieldInput, DateRangeFieldRoot_default as DateRangeFieldRoot, DateRangePickerAnchor_default as DateRangePickerAnchor, DateRangePickerArrow_default as DateRangePickerArrow, DateRangePickerCalendar_default as DateRangePickerCalendar, DateRangePickerCell_default as DateRangePickerCell, DateRangePickerCellTrigger_default as DateRangePickerCellTrigger, DateRangePickerClose_default as DateRangePickerClose, DateRangePickerContent_default as DateRangePickerContent, DateRangePickerField_default as DateRangePickerField, DateRangePickerGrid_default as DateRangePickerGrid, DateRangePickerGridBody_default as DateRangePickerGridBody, DateRangePickerGridHead_default as DateRangePickerGridHead, DateRangePickerGridRow_default as DateRangePickerGridRow, DateRangePickerHeadCell_default as DateRangePickerHeadCell, DateRangePickerHeader_default as DateRangePickerHeader, DateRangePickerHeading_default as DateRangePickerHeading, DateRangePickerInput_default as DateRangePickerInput, DateRangePickerNext_default as DateRangePickerNext, DateRangePickerPrev_default as DateRangePickerPrev, DateRangePickerRoot_default as DateRangePickerRoot, DateRangePickerTrigger_default as DateRangePickerTrigger, DialogClose_default as DialogClose, DialogContent_default as DialogContent, DialogDescription_default as DialogDescription, DialogOverlay_default as DialogOverlay, DialogPortal_default as DialogPortal, DialogRoot_default as DialogRoot, DialogTitle_default as DialogTitle, DialogTrigger_default as DialogTrigger, DropdownMenuArrow_default as DropdownMenuArrow, DropdownMenuCheckboxItem_default as DropdownMenuCheckboxItem, DropdownMenuContent_default as DropdownMenuContent, DropdownMenuFilter_default as DropdownMenuFilter, DropdownMenuGroup_default as DropdownMenuGroup, DropdownMenuItem_default as DropdownMenuItem, DropdownMenuItemIndicator_default as DropdownMenuItemIndicator, DropdownMenuLabel_default as DropdownMenuLabel, DropdownMenuPortal_default as DropdownMenuPortal, DropdownMenuRadioGroup_default as DropdownMenuRadioGroup, DropdownMenuRadioItem_default as DropdownMenuRadioItem, DropdownMenuRoot_default as DropdownMenuRoot, DropdownMenuSeparator_default as DropdownMenuSeparator, DropdownMenuSub_default as DropdownMenuSub, DropdownMenuSubContent_default as DropdownMenuSubContent, DropdownMenuSubTrigger_default as DropdownMenuSubTrigger, DropdownMenuTrigger_default as DropdownMenuTrigger, EditableArea_default as EditableArea, EditableCancelTrigger_default as EditableCancelTrigger, EditableEditTrigger_default as EditableEditTrigger, EditableInput_default as EditableInput, EditablePreview_default as EditablePreview, EditableRoot_default as EditableRoot, EditableSubmitTrigger_default as EditableSubmitTrigger, FocusScope_default as FocusScope, HoverCardArrow_default as HoverCardArrow, HoverCardContent_default as HoverCardContent, HoverCardPortal_default as HoverCardPortal, HoverCardRoot_default as HoverCardRoot, HoverCardTrigger_default as HoverCardTrigger, Label_default as Label, ListboxContent_default as ListboxContent, ListboxFilter_default as ListboxFilter, ListboxGroup_default as ListboxGroup, ListboxGroupLabel_default as ListboxGroupLabel, ListboxItem_default as ListboxItem, ListboxItemIndicator_default as ListboxItemIndicator, ListboxRoot_default as ListboxRoot, ListboxVirtualizer_default as ListboxVirtualizer, MenubarArrow_default as MenubarArrow, MenubarCheckboxItem_default as MenubarCheckboxItem, MenubarContent_default as MenubarContent, MenubarGroup_default as MenubarGroup, MenubarItem_default as MenubarItem, MenubarItemIndicator_default as MenubarItemIndicator, MenubarLabel_default as MenubarLabel, MenubarMenu_default as MenubarMenu, MenubarPortal_default as MenubarPortal, MenubarRadioGroup_default as MenubarRadioGroup, MenubarRadioItem_default as MenubarRadioItem, MenubarRoot_default as MenubarRoot, MenubarSeparator_default as MenubarSeparator, MenubarSub_default as MenubarSub, MenubarSubContent_default as MenubarSubContent, MenubarSubTrigger_default as MenubarSubTrigger, MenubarTrigger_default as MenubarTrigger, MonthPickerCell_default as MonthPickerCell, MonthPickerCellTrigger_default as MonthPickerCellTrigger, MonthPickerGrid_default as MonthPickerGrid, MonthPickerGridBody_default as MonthPickerGridBody, MonthPickerGridRow_default as MonthPickerGridRow, MonthPickerHeader_default as MonthPickerHeader, MonthPickerHeading_default as MonthPickerHeading, MonthPickerNext_default as MonthPickerNext, MonthPickerPrev_default as MonthPickerPrev, MonthPickerRoot_default as MonthPickerRoot, MonthRangePickerCell_default as MonthRangePickerCell, MonthRangePickerCellTrigger_default as MonthRangePickerCellTrigger, MonthRangePickerGrid_default as MonthRangePickerGrid, MonthRangePickerGridBody_default as MonthRangePickerGridBody, MonthRangePickerGridRow_default as MonthRangePickerGridRow, MonthRangePickerHeader_default as MonthRangePickerHeader, MonthRangePickerHeading_default as MonthRangePickerHeading, MonthRangePickerNext_default as MonthRangePickerNext, MonthRangePickerPrev_default as MonthRangePickerPrev, MonthRangePickerRoot_default as MonthRangePickerRoot, NavigationMenuContent_default as NavigationMenuContent, NavigationMenuIndicator_default as NavigationMenuIndicator, NavigationMenuItem_default as NavigationMenuItem, NavigationMenuLink_default as NavigationMenuLink, NavigationMenuList_default as NavigationMenuList, NavigationMenuRoot_default as NavigationMenuRoot, NavigationMenuSub_default as NavigationMenuSub, NavigationMenuTrigger_default as NavigationMenuTrigger, NavigationMenuViewport_default as NavigationMenuViewport, NumberFieldDecrement_default as NumberFieldDecrement, NumberFieldIncrement_default as NumberFieldIncrement, NumberFieldInput_default as NumberFieldInput, NumberFieldRoot_default as NumberFieldRoot, PaginationEllipsis_default as PaginationEllipsis, PaginationFirst_default as PaginationFirst, PaginationLast_default as PaginationLast, PaginationList_default as PaginationList, PaginationListItem_default as PaginationListItem, PaginationNext_default as PaginationNext, PaginationPrev_default as PaginationPrev, PaginationRoot_default as PaginationRoot, PinInputInput_default as PinInputInput, PinInputRoot_default as PinInputRoot, PopoverAnchor_default as PopoverAnchor, PopoverArrow_default as PopoverArrow, PopoverClose_default as PopoverClose, PopoverContent_default as PopoverContent, PopoverPortal_default as PopoverPortal, PopoverRoot_default as PopoverRoot, PopoverTrigger_default as PopoverTrigger, Presence_default as Presence, Primitive, ProgressIndicator_default as ProgressIndicator, ProgressRoot_default as ProgressRoot, RadioGroupIndicator_default as RadioGroupIndicator, RadioGroupItem_default as RadioGroupItem, RadioGroupRoot_default as RadioGroupRoot, RangeCalendarCell_default as RangeCalendarCell, RangeCalendarCellTrigger_default as RangeCalendarCellTrigger, RangeCalendarGrid_default as RangeCalendarGrid, RangeCalendarGridBody_default as RangeCalendarGridBody, RangeCalendarGridHead_default as RangeCalendarGridHead, RangeCalendarGridRow_default as RangeCalendarGridRow, RangeCalendarHeadCell_default as RangeCalendarHeadCell, RangeCalendarHeader_default as RangeCalendarHeader, RangeCalendarHeading_default as RangeCalendarHeading, RangeCalendarNext_default as RangeCalendarNext, RangeCalendarPrev_default as RangeCalendarPrev, RangeCalendarRoot_default as RangeCalendarRoot, RovingFocusGroup_default as RovingFocusGroup, RovingFocusItem_default as RovingFocusItem, ScrollAreaCorner_default as ScrollAreaCorner, ScrollAreaRoot_default as ScrollAreaRoot, ScrollAreaScrollbar_default as ScrollAreaScrollbar, ScrollAreaScrollbarGlimpse_default as ScrollAreaScrollbarGlimpse, ScrollAreaThumb_default as ScrollAreaThumb, ScrollAreaViewport_default as ScrollAreaViewport, SelectArrow_default as SelectArrow, SelectContent_default as SelectContent, SelectGroup_default as SelectGroup, SelectIcon_default as SelectIcon, SelectItem_default as SelectItem, SelectItemIndicator_default as SelectItemIndicator, SelectItemText_default as SelectItemText, SelectLabel_default as SelectLabel, SelectPortal_default as SelectPortal, SelectRoot_default as SelectRoot, SelectScrollDownButton_default as SelectScrollDownButton, SelectScrollUpButton_default as SelectScrollUpButton, SelectSeparator_default as SelectSeparator, SelectTrigger_default as SelectTrigger, SelectValue_default as SelectValue, SelectViewport_default as SelectViewport, Separator_default as Separator, SliderRange_default as SliderRange, SliderRoot_default as SliderRoot, SliderThumb_default as SliderThumb, SliderTrack_default as SliderTrack, Slot, SplitterGroup_default as SplitterGroup, SplitterPanel_default as SplitterPanel, SplitterResizeHandle_default as SplitterResizeHandle, StepperDescription_default as StepperDescription, StepperIndicator_default as StepperIndicator, StepperItem_default as StepperItem, StepperRoot_default as StepperRoot, StepperSeparator_default as StepperSeparator, StepperTitle_default as StepperTitle, StepperTrigger_default as StepperTrigger, SwitchRoot_default as SwitchRoot, SwitchThumb_default as SwitchThumb, TabsContent_default as TabsContent, TabsIndicator_default as TabsIndicator, TabsList_default as TabsList, TabsRoot_default as TabsRoot, TabsTrigger_default as TabsTrigger, TagsInputClear_default as TagsInputClear, TagsInputInput_default as TagsInputInput, TagsInputItem_default as TagsInputItem, TagsInputItemDelete_default as TagsInputItemDelete, TagsInputItemText_default as TagsInputItemText, TagsInputRoot_default as TagsInputRoot, TimeFieldInput_default as TimeFieldInput, TimeFieldRoot_default as TimeFieldRoot, TimeRangeFieldInput_default as TimeRangeFieldInput, TimeRangeFieldRoot_default as TimeRangeFieldRoot, ToastAction_default as ToastAction, ToastClose_default as ToastClose, ToastDescription_default as ToastDescription, ToastPortal_default as ToastPortal, ToastProvider_default as ToastProvider, ToastRoot_default as ToastRoot, ToastTitle_default as ToastTitle, ToastViewport_default as ToastViewport, Toggle_default as Toggle, ToggleGroupItem_default as ToggleGroupItem, ToggleGroupRoot_default as ToggleGroupRoot, ToolbarButton_default as ToolbarButton, ToolbarLink_default as ToolbarLink, ToolbarRoot_default as ToolbarRoot, ToolbarSeparator_default as ToolbarSeparator, ToolbarToggleGroup_default as ToolbarToggleGroup, ToolbarToggleItem_default as ToolbarToggleItem, TooltipArrow_default as TooltipArrow, TooltipContent_default as TooltipContent, TooltipPortal_default as TooltipPortal, TooltipProvider_default as TooltipProvider, TooltipRoot_default as TooltipRoot, TooltipTrigger_default as TooltipTrigger, TreeItem_default as TreeItem, TreeRoot_default as TreeRoot, TreeVirtualizer_default as TreeVirtualizer, Viewport_default as Viewport, VisuallyHidden_default as VisuallyHidden, YearPickerCell_default as YearPickerCell, YearPickerCellTrigger_default as YearPickerCellTrigger, YearPickerGrid_default as YearPickerGrid, YearPickerGridBody_default as YearPickerGridBody, YearPickerGridRow_default as YearPickerGridRow, YearPickerHeader_default as YearPickerHeader, YearPickerHeading_default as YearPickerHeading, YearPickerNext_default as YearPickerNext, YearPickerPrev_default as YearPickerPrev, YearPickerRoot_default as YearPickerRoot, YearRangePickerCell_default as YearRangePickerCell, YearRangePickerCellTrigger_default as YearRangePickerCellTrigger, YearRangePickerGrid_default as YearRangePickerGrid, YearRangePickerGridBody_default as YearRangePickerGridBody, YearRangePickerGridRow_default as YearRangePickerGridRow, YearRangePickerHeader_default as YearRangePickerHeader, YearRangePickerHeading_default as YearRangePickerHeading, YearRangePickerNext_default as YearRangePickerNext, YearRangePickerPrev_default as YearRangePickerPrev, YearRangePickerRoot_default as YearRangePickerRoot, colorToHex, colorToHsb, colorToHsl, colorToRgb, colorToString, convertToHsb, convertToHsl, convertToRgb, createContext, getAreaBackgroundStyle, getAreaGradient, getChannelName, getChannelRange, getChannelValue, getSliderBackgroundStyle, getSliderGradient, injectAccordionItemContext, injectAccordionRootContext, injectAlertDialogContentContext, injectAutocompleteRootContext, injectAvatarRootContext, injectCalendarRootContext, injectCheckboxGroupRootContext, injectCheckboxRootContext, injectCollapsibleRootContext, injectColorAreaRootContext, injectColorFieldRootContext, injectColorSliderRootContext, injectComboboxGroupContext, injectListboxItemContext as injectComboboxItemContext, injectListboxItemContext, injectComboboxRootContext, injectConfigProviderContext, injectContextMenuRootContext, injectDateFieldRootContext, injectDatePickerRootContext, injectDateRangeFieldRootContext, injectDateRangePickerRootContext, injectDialogRootContext, injectDropdownMenuRootContext, injectEditableRootContext, injectHoverCardRootContext, injectListboxGroupContext, injectListboxRootContext, injectMenubarMenuContext, injectMenubarRootContext, injectMonthPickerRootContext, injectMonthRangePickerRootContext, injectNavigationMenuContext, injectNavigationMenuItemContext, injectNumberFieldRootContext, injectPaginationRootContext, injectPinInputRootContext, injectPopoverRootContext, injectProgressRootContext, injectRadioGroupItemContext, injectRadioGroupRootContext, injectRangeCalendarRootContext, injectScrollAreaRootContext, injectScrollAreaScrollbarContext, injectSelectGroupContext, injectSelectItemContext, injectSelectRootContext, injectSliderRootContext, injectPanelGroupContext as injectSplitterGroupContext, injectStepperItemContext, injectStepperRootContext, injectSwitchRootContext, injectTabsRootContext, injectTagsInputItemContext, injectTagsInputRootContext, injectTimeFieldRootContext, injectTimeRangeFieldRootContext, injectToastProviderContext, injectToggleGroupRootContext, injectToolbarRootContext, injectTooltipProviderContext, injectTooltipRootContext, injectTreeRootContext, injectYearPickerRootContext, injectYearRangePickerRootContext, isValidColor, normalizeColor, parseColor, setChannelValue, setChannelValues, useBodyScrollLock, useDateFormatter, useDirection, useEmitAsProps, useFilter, useForwardExpose, useForwardProps, useForwardPropsEmits, useId, useLocale, useStateMachine, withDefault };
46893
+ export { AccordionContent_default as AccordionContent, AccordionHeader_default as AccordionHeader, AccordionItem_default as AccordionItem, AccordionRoot_default as AccordionRoot, AccordionTrigger_default as AccordionTrigger, AlertDialogAction_default as AlertDialogAction, AlertDialogCancel_default as AlertDialogCancel, AlertDialogContent_default as AlertDialogContent, AlertDialogDescription_default as AlertDialogDescription, AlertDialogOverlay_default as AlertDialogOverlay, AlertDialogPortal_default as AlertDialogPortal, AlertDialogRoot_default as AlertDialogRoot, AlertDialogTitle_default as AlertDialogTitle, AlertDialogTrigger_default as AlertDialogTrigger, AspectRatio_default as AspectRatio, ComboboxAnchor_default as AutocompleteAnchor, ComboboxAnchor_default as ComboboxAnchor, ComboboxArrow_default as AutocompleteArrow, ComboboxArrow_default as ComboboxArrow, ComboboxCancel_default as AutocompleteCancel, ComboboxCancel_default as ComboboxCancel, ComboboxContent_default as AutocompleteContent, ComboboxContent_default as ComboboxContent, ComboboxEmpty_default as AutocompleteEmpty, ComboboxEmpty_default as ComboboxEmpty, ComboboxGroup_default as AutocompleteGroup, ComboboxGroup_default as ComboboxGroup, AutocompleteInput_default as AutocompleteInput, ComboboxItem_default as AutocompleteItem, ComboboxItem_default as ComboboxItem, ComboboxItemIndicator_default as AutocompleteItemIndicator, ComboboxItemIndicator_default as ComboboxItemIndicator, ComboboxLabel_default as AutocompleteLabel, ComboboxLabel_default as ComboboxLabel, ComboboxPortal_default as AutocompletePortal, ComboboxPortal_default as ComboboxPortal, AutocompleteRoot_default as AutocompleteRoot, ComboboxSeparator_default as AutocompleteSeparator, ComboboxSeparator_default as ComboboxSeparator, ComboboxTrigger_default as AutocompleteTrigger, ComboboxTrigger_default as ComboboxTrigger, ComboboxViewport_default as AutocompleteViewport, ComboboxViewport_default as ComboboxViewport, ComboboxVirtualizer_default as AutocompleteVirtualizer, ComboboxVirtualizer_default as ComboboxVirtualizer, AvatarFallback_default as AvatarFallback, AvatarImage_default as AvatarImage, AvatarRoot_default as AvatarRoot, CalendarCell_default as CalendarCell, CalendarCellTrigger_default as CalendarCellTrigger, CalendarGrid_default as CalendarGrid, CalendarGridBody_default as CalendarGridBody, CalendarGridHead_default as CalendarGridHead, CalendarGridRow_default as CalendarGridRow, CalendarHeadCell_default as CalendarHeadCell, CalendarHeader_default as CalendarHeader, CalendarHeading_default as CalendarHeading, CalendarNext_default as CalendarNext, CalendarPrev_default as CalendarPrev, CalendarRoot_default as CalendarRoot, CheckboxGroupRoot_default as CheckboxGroupRoot, CheckboxIndicator_default as CheckboxIndicator, CheckboxRoot_default as CheckboxRoot, CollapsibleContent_default as CollapsibleContent, CollapsibleRoot_default as CollapsibleRoot, CollapsibleTrigger_default as CollapsibleTrigger, ColorAreaArea_default as ColorAreaArea, ColorAreaRoot_default as ColorAreaRoot, ColorAreaThumb_default as ColorAreaThumb, ColorFieldInput_default as ColorFieldInput, ColorFieldRoot_default as ColorFieldRoot, ColorSliderRoot_default as ColorSliderRoot, ColorSliderThumb_default as ColorSliderThumb, ColorSliderTrack_default as ColorSliderTrack, ColorSwatch_default as ColorSwatch, ColorSwatchPickerItem_default as ColorSwatchPickerItem, ColorSwatchPickerItemIndicator_default as ColorSwatchPickerItemIndicator, ColorSwatchPickerItemSwatch_default as ColorSwatchPickerItemSwatch, ColorSwatchPickerRoot_default as ColorSwatchPickerRoot, ComboboxInput_default as ComboboxInput, ComboboxRoot_default as ComboboxRoot, ConfigProvider_default as ConfigProvider, ContextMenuArrow_default as ContextMenuArrow, ContextMenuCheckboxItem_default as ContextMenuCheckboxItem, ContextMenuContent_default as ContextMenuContent, ContextMenuGroup_default as ContextMenuGroup, ContextMenuItem_default as ContextMenuItem, ContextMenuItemIndicator_default as ContextMenuItemIndicator, ContextMenuLabel_default as ContextMenuLabel, ContextMenuPortal_default as ContextMenuPortal, ContextMenuRadioGroup_default as ContextMenuRadioGroup, ContextMenuRadioItem_default as ContextMenuRadioItem, ContextMenuRoot_default as ContextMenuRoot, ContextMenuSeparator_default as ContextMenuSeparator, ContextMenuSub_default as ContextMenuSub, ContextMenuSubContent_default as ContextMenuSubContent, ContextMenuSubTrigger_default as ContextMenuSubTrigger, ContextMenuTrigger_default as ContextMenuTrigger, DateFieldInput_default as DateFieldInput, DateFieldRoot_default as DateFieldRoot, DatePickerAnchor_default as DatePickerAnchor, DatePickerArrow_default as DatePickerArrow, DatePickerCalendar_default as DatePickerCalendar, DatePickerCell_default as DatePickerCell, DatePickerCellTrigger_default as DatePickerCellTrigger, DatePickerClose_default as DatePickerClose, DatePickerContent_default as DatePickerContent, DatePickerField_default as DatePickerField, DatePickerGrid_default as DatePickerGrid, DatePickerGridBody_default as DatePickerGridBody, DatePickerGridHead_default as DatePickerGridHead, DatePickerGridRow_default as DatePickerGridRow, DatePickerHeadCell_default as DatePickerHeadCell, DatePickerHeader_default as DatePickerHeader, DatePickerHeading_default as DatePickerHeading, DatePickerInput_default as DatePickerInput, DatePickerNext_default as DatePickerNext, DatePickerPrev_default as DatePickerPrev, DatePickerRoot_default as DatePickerRoot, DatePickerTrigger_default as DatePickerTrigger, DateRangeFieldInput_default as DateRangeFieldInput, DateRangeFieldRoot_default as DateRangeFieldRoot, DateRangePickerAnchor_default as DateRangePickerAnchor, DateRangePickerArrow_default as DateRangePickerArrow, DateRangePickerCalendar_default as DateRangePickerCalendar, DateRangePickerCell_default as DateRangePickerCell, DateRangePickerCellTrigger_default as DateRangePickerCellTrigger, DateRangePickerClose_default as DateRangePickerClose, DateRangePickerContent_default as DateRangePickerContent, DateRangePickerField_default as DateRangePickerField, DateRangePickerGrid_default as DateRangePickerGrid, DateRangePickerGridBody_default as DateRangePickerGridBody, DateRangePickerGridHead_default as DateRangePickerGridHead, DateRangePickerGridRow_default as DateRangePickerGridRow, DateRangePickerHeadCell_default as DateRangePickerHeadCell, DateRangePickerHeader_default as DateRangePickerHeader, DateRangePickerHeading_default as DateRangePickerHeading, DateRangePickerInput_default as DateRangePickerInput, DateRangePickerNext_default as DateRangePickerNext, DateRangePickerPrev_default as DateRangePickerPrev, DateRangePickerRoot_default as DateRangePickerRoot, DateRangePickerTrigger_default as DateRangePickerTrigger, DialogClose_default as DialogClose, DialogContent_default as DialogContent, DialogDescription_default as DialogDescription, DialogOverlay_default as DialogOverlay, DialogPortal_default as DialogPortal, DialogRoot_default as DialogRoot, DialogTitle_default as DialogTitle, DialogTrigger_default as DialogTrigger, DrawerOverlay_default as DrawerBackdrop, DrawerOverlay_default as DrawerOverlay, DrawerClose_default as DrawerClose, DrawerContent_default as DrawerContent, DrawerContent_default as DrawerPopup, DrawerDescription_default as DrawerDescription, DrawerHandle_default as DrawerHandle, DrawerIndent_default as DrawerIndent, DrawerIndentBackground_default as DrawerIndentBackground, DrawerPortal_default as DrawerPortal, DrawerProvider_default as DrawerProvider, DrawerRoot_default as DrawerRoot, DrawerSwipeArea_default as DrawerSwipeArea, DrawerTitle_default as DrawerTitle, DrawerTrigger_default as DrawerTrigger, DrawerViewport_default as DrawerViewport, DropdownMenuArrow_default as DropdownMenuArrow, DropdownMenuCheckboxItem_default as DropdownMenuCheckboxItem, DropdownMenuContent_default as DropdownMenuContent, DropdownMenuFilter_default as DropdownMenuFilter, DropdownMenuGroup_default as DropdownMenuGroup, DropdownMenuItem_default as DropdownMenuItem, DropdownMenuItemIndicator_default as DropdownMenuItemIndicator, DropdownMenuLabel_default as DropdownMenuLabel, DropdownMenuPortal_default as DropdownMenuPortal, DropdownMenuRadioGroup_default as DropdownMenuRadioGroup, DropdownMenuRadioItem_default as DropdownMenuRadioItem, DropdownMenuRoot_default as DropdownMenuRoot, DropdownMenuSeparator_default as DropdownMenuSeparator, DropdownMenuSub_default as DropdownMenuSub, DropdownMenuSubContent_default as DropdownMenuSubContent, DropdownMenuSubTrigger_default as DropdownMenuSubTrigger, DropdownMenuTrigger_default as DropdownMenuTrigger, EditableArea_default as EditableArea, EditableCancelTrigger_default as EditableCancelTrigger, EditableEditTrigger_default as EditableEditTrigger, EditableInput_default as EditableInput, EditablePreview_default as EditablePreview, EditableRoot_default as EditableRoot, EditableSubmitTrigger_default as EditableSubmitTrigger, FocusScope_default as FocusScope, HoverCardArrow_default as HoverCardArrow, HoverCardContent_default as HoverCardContent, HoverCardPortal_default as HoverCardPortal, HoverCardRoot_default as HoverCardRoot, HoverCardTrigger_default as HoverCardTrigger, Label_default as Label, ListboxContent_default as ListboxContent, ListboxFilter_default as ListboxFilter, ListboxGroup_default as ListboxGroup, ListboxGroupLabel_default as ListboxGroupLabel, ListboxItem_default as ListboxItem, ListboxItemIndicator_default as ListboxItemIndicator, ListboxRoot_default as ListboxRoot, ListboxVirtualizer_default as ListboxVirtualizer, MenubarArrow_default as MenubarArrow, MenubarCheckboxItem_default as MenubarCheckboxItem, MenubarContent_default as MenubarContent, MenubarGroup_default as MenubarGroup, MenubarItem_default as MenubarItem, MenubarItemIndicator_default as MenubarItemIndicator, MenubarLabel_default as MenubarLabel, MenubarMenu_default as MenubarMenu, MenubarPortal_default as MenubarPortal, MenubarRadioGroup_default as MenubarRadioGroup, MenubarRadioItem_default as MenubarRadioItem, MenubarRoot_default as MenubarRoot, MenubarSeparator_default as MenubarSeparator, MenubarSub_default as MenubarSub, MenubarSubContent_default as MenubarSubContent, MenubarSubTrigger_default as MenubarSubTrigger, MenubarTrigger_default as MenubarTrigger, MonthPickerCell_default as MonthPickerCell, MonthPickerCellTrigger_default as MonthPickerCellTrigger, MonthPickerGrid_default as MonthPickerGrid, MonthPickerGridBody_default as MonthPickerGridBody, MonthPickerGridRow_default as MonthPickerGridRow, MonthPickerHeader_default as MonthPickerHeader, MonthPickerHeading_default as MonthPickerHeading, MonthPickerNext_default as MonthPickerNext, MonthPickerPrev_default as MonthPickerPrev, MonthPickerRoot_default as MonthPickerRoot, MonthRangePickerCell_default as MonthRangePickerCell, MonthRangePickerCellTrigger_default as MonthRangePickerCellTrigger, MonthRangePickerGrid_default as MonthRangePickerGrid, MonthRangePickerGridBody_default as MonthRangePickerGridBody, MonthRangePickerGridRow_default as MonthRangePickerGridRow, MonthRangePickerHeader_default as MonthRangePickerHeader, MonthRangePickerHeading_default as MonthRangePickerHeading, MonthRangePickerNext_default as MonthRangePickerNext, MonthRangePickerPrev_default as MonthRangePickerPrev, MonthRangePickerRoot_default as MonthRangePickerRoot, NavigationMenuContent_default as NavigationMenuContent, NavigationMenuIndicator_default as NavigationMenuIndicator, NavigationMenuItem_default as NavigationMenuItem, NavigationMenuLink_default as NavigationMenuLink, NavigationMenuList_default as NavigationMenuList, NavigationMenuRoot_default as NavigationMenuRoot, NavigationMenuSub_default as NavigationMenuSub, NavigationMenuTrigger_default as NavigationMenuTrigger, NavigationMenuViewport_default as NavigationMenuViewport, NumberFieldDecrement_default as NumberFieldDecrement, NumberFieldIncrement_default as NumberFieldIncrement, NumberFieldInput_default as NumberFieldInput, NumberFieldRoot_default as NumberFieldRoot, PaginationEllipsis_default as PaginationEllipsis, PaginationFirst_default as PaginationFirst, PaginationLast_default as PaginationLast, PaginationList_default as PaginationList, PaginationListItem_default as PaginationListItem, PaginationNext_default as PaginationNext, PaginationPrev_default as PaginationPrev, PaginationRoot_default as PaginationRoot, PinInputInput_default as PinInputInput, PinInputRoot_default as PinInputRoot, PopoverAnchor_default as PopoverAnchor, PopoverArrow_default as PopoverArrow, PopoverClose_default as PopoverClose, PopoverContent_default as PopoverContent, PopoverPortal_default as PopoverPortal, PopoverRoot_default as PopoverRoot, PopoverTrigger_default as PopoverTrigger, Presence_default as Presence, Primitive, ProgressIndicator_default as ProgressIndicator, ProgressRoot_default as ProgressRoot, RadioGroupIndicator_default as RadioGroupIndicator, RadioGroupItem_default as RadioGroupItem, RadioGroupRoot_default as RadioGroupRoot, RangeCalendarCell_default as RangeCalendarCell, RangeCalendarCellTrigger_default as RangeCalendarCellTrigger, RangeCalendarGrid_default as RangeCalendarGrid, RangeCalendarGridBody_default as RangeCalendarGridBody, RangeCalendarGridHead_default as RangeCalendarGridHead, RangeCalendarGridRow_default as RangeCalendarGridRow, RangeCalendarHeadCell_default as RangeCalendarHeadCell, RangeCalendarHeader_default as RangeCalendarHeader, RangeCalendarHeading_default as RangeCalendarHeading, RangeCalendarNext_default as RangeCalendarNext, RangeCalendarPrev_default as RangeCalendarPrev, RangeCalendarRoot_default as RangeCalendarRoot, RatingItem_default as RatingItem, RatingItemIndicator_default as RatingItemIndicator, RatingRoot_default as RatingRoot, RovingFocusGroup_default as RovingFocusGroup, RovingFocusItem_default as RovingFocusItem, ScrollAreaCorner_default as ScrollAreaCorner, ScrollAreaRoot_default as ScrollAreaRoot, ScrollAreaScrollbar_default as ScrollAreaScrollbar, ScrollAreaScrollbarGlimpse_default as ScrollAreaScrollbarGlimpse, ScrollAreaThumb_default as ScrollAreaThumb, ScrollAreaViewport_default as ScrollAreaViewport, SelectArrow_default as SelectArrow, SelectContent_default as SelectContent, SelectGroup_default as SelectGroup, SelectIcon_default as SelectIcon, SelectItem_default as SelectItem, SelectItemIndicator_default as SelectItemIndicator, SelectItemText_default as SelectItemText, SelectLabel_default as SelectLabel, SelectPortal_default as SelectPortal, SelectRoot_default as SelectRoot, SelectScrollDownButton_default as SelectScrollDownButton, SelectScrollUpButton_default as SelectScrollUpButton, SelectSeparator_default as SelectSeparator, SelectTrigger_default as SelectTrigger, SelectValue_default as SelectValue, SelectViewport_default as SelectViewport, Separator_default as Separator, SliderRange_default as SliderRange, SliderRoot_default as SliderRoot, SliderThumb_default as SliderThumb, SliderTrack_default as SliderTrack, Slot, SplitterGroup_default as SplitterGroup, SplitterPanel_default as SplitterPanel, SplitterResizeHandle_default as SplitterResizeHandle, StepperDescription_default as StepperDescription, StepperIndicator_default as StepperIndicator, StepperItem_default as StepperItem, StepperRoot_default as StepperRoot, StepperSeparator_default as StepperSeparator, StepperTitle_default as StepperTitle, StepperTrigger_default as StepperTrigger, SwitchRoot_default as SwitchRoot, SwitchThumb_default as SwitchThumb, TabsContent_default as TabsContent, TabsIndicator_default as TabsIndicator, TabsList_default as TabsList, TabsRoot_default as TabsRoot, TabsTrigger_default as TabsTrigger, TagsInputClear_default as TagsInputClear, TagsInputInput_default as TagsInputInput, TagsInputItem_default as TagsInputItem, TagsInputItemDelete_default as TagsInputItemDelete, TagsInputItemText_default as TagsInputItemText, TagsInputRoot_default as TagsInputRoot, TimeFieldInput_default as TimeFieldInput, TimeFieldRoot_default as TimeFieldRoot, TimeRangeFieldInput_default as TimeRangeFieldInput, TimeRangeFieldRoot_default as TimeRangeFieldRoot, ToastAction_default as ToastAction, ToastClose_default as ToastClose, ToastDescription_default as ToastDescription, ToastPortal_default as ToastPortal, ToastProvider_default as ToastProvider, ToastRoot_default as ToastRoot, ToastTitle_default as ToastTitle, ToastViewport_default as ToastViewport, Toggle_default as Toggle, ToggleGroupItem_default as ToggleGroupItem, ToggleGroupRoot_default as ToggleGroupRoot, ToolbarButton_default as ToolbarButton, ToolbarLink_default as ToolbarLink, ToolbarRoot_default as ToolbarRoot, ToolbarSeparator_default as ToolbarSeparator, ToolbarToggleGroup_default as ToolbarToggleGroup, ToolbarToggleItem_default as ToolbarToggleItem, TooltipArrow_default as TooltipArrow, TooltipContent_default as TooltipContent, TooltipPortal_default as TooltipPortal, TooltipProvider_default as TooltipProvider, TooltipRoot_default as TooltipRoot, TooltipTrigger_default as TooltipTrigger, TreeItem_default as TreeItem, TreeRoot_default as TreeRoot, TreeVirtualizer_default as TreeVirtualizer, Viewport_default as Viewport, VisuallyHidden_default as VisuallyHidden, YearPickerCell_default as YearPickerCell, YearPickerCellTrigger_default as YearPickerCellTrigger, YearPickerGrid_default as YearPickerGrid, YearPickerGridBody_default as YearPickerGridBody, YearPickerGridRow_default as YearPickerGridRow, YearPickerHeader_default as YearPickerHeader, YearPickerHeading_default as YearPickerHeading, YearPickerNext_default as YearPickerNext, YearPickerPrev_default as YearPickerPrev, YearPickerRoot_default as YearPickerRoot, YearRangePickerCell_default as YearRangePickerCell, YearRangePickerCellTrigger_default as YearRangePickerCellTrigger, YearRangePickerGrid_default as YearRangePickerGrid, YearRangePickerGridBody_default as YearRangePickerGridBody, YearRangePickerGridRow_default as YearRangePickerGridRow, YearRangePickerHeader_default as YearRangePickerHeader, YearRangePickerHeading_default as YearRangePickerHeading, YearRangePickerNext_default as YearRangePickerNext, YearRangePickerPrev_default as YearRangePickerPrev, YearRangePickerRoot_default as YearRangePickerRoot, colorToHex, colorToHsb, colorToHsl, colorToRgb, colorToString, convertToHsb, convertToHsl, convertToRgb, createContext, getAreaBackgroundStyle, getAreaGradient, getChannelName, getChannelRange, getChannelValue, getSliderBackgroundStyle, getSliderGradient, injectAccordionItemContext, injectAccordionRootContext, injectAlertDialogContentContext, injectAutocompleteRootContext, injectAvatarRootContext, injectCalendarRootContext, injectCheckboxGroupRootContext, injectCheckboxRootContext, injectCollapsibleRootContext, injectColorAreaRootContext, injectColorFieldRootContext, injectColorSliderRootContext, injectComboboxGroupContext, injectListboxItemContext as injectComboboxItemContext, injectListboxItemContext, injectComboboxRootContext, injectConfigProviderContext, injectContextMenuRootContext, injectDateFieldRootContext, injectDatePickerRootContext, injectDateRangeFieldRootContext, injectDateRangePickerRootContext, injectDialogRootContext, injectDrawerRootContext, injectDropdownMenuRootContext, injectEditableRootContext, injectHoverCardRootContext, injectListboxGroupContext, injectListboxRootContext, injectMenubarMenuContext, injectMenubarRootContext, injectMonthPickerRootContext, injectMonthRangePickerRootContext, injectNavigationMenuContext, injectNavigationMenuItemContext, injectNumberFieldRootContext, injectPaginationRootContext, injectPinInputRootContext, injectPopoverRootContext, injectProgressRootContext, injectRadioGroupItemContext, injectRadioGroupRootContext, injectRangeCalendarRootContext, injectRatingItemContext, injectRatingRootContext, injectScrollAreaRootContext, injectScrollAreaScrollbarContext, injectSelectGroupContext, injectSelectItemContext, injectSelectRootContext, injectSliderRootContext, injectPanelGroupContext as injectSplitterGroupContext, injectStepperItemContext, injectStepperRootContext, injectSwitchRootContext, injectTabsRootContext, injectTagsInputItemContext, injectTagsInputRootContext, injectTimeFieldRootContext, injectTimeRangeFieldRootContext, injectToastProviderContext, injectToggleGroupRootContext, injectToolbarRootContext, injectTooltipProviderContext, injectTooltipRootContext, injectTreeRootContext, injectYearPickerRootContext, injectYearRangePickerRootContext, isValidColor, normalizeColor, parseColor, setChannelValue, setChannelValues, useBodyScrollLock, useDateFormatter, useDirection, useEmitAsProps, useFilter, useForwardExpose, useForwardProps, useForwardPropsEmits, useId, useLocale, useStateMachine, withDefault };
44463
46894
 
44464
46895
  //# sourceMappingURL=reka-ui.js.map