@mkbabb/glass-ui 3.0.0 → 3.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{CardFooter-Yi0xtLLd.js → CardFooter-CSGcJkqa.js} +1 -1
- package/dist/{CommandShortcut-BNDzfFnB.js → CommandShortcut-DWT19a2Y.js} +3 -3
- package/dist/{ContextMenuSubContent-DLEyeqbh.js → ContextMenuSubContent-gAFxJ-qi.js} +4 -4
- package/dist/{DataTable-Ce00dbHD.js → DataTable-R8-Zidms.js} +3 -3
- package/dist/{DialogContent-DSo7PKlU.js → DialogContent-2fALDSvc.js} +3 -3
- package/dist/{DialogFooter-D5KY6sCX.js → DialogFooter-ClrNEOVU.js} +2 -2
- package/dist/{DiscoGlyph-wRA02zAJ.js → DiscoGlyph-C3JfMnRV.js} +1 -1
- package/dist/{GlyphFace-BnPMUZ16.js → GlyphFace-BRS8vUb7.js} +1 -1
- package/dist/HoverPopover-CWFCfLx3.js +96 -0
- package/dist/{IconTooltip-GIeWdo64.js → IconTooltip-BkaA7tZ2.js} +1 -1
- package/dist/{Input-CBvqW8kZ.js → Input-DDpFn568.js} +3 -5
- package/dist/Label-DJty89bp.js +36 -0
- package/dist/{MetricBadge-DRBB18Xq.js → MetricBadge-DmAihkXd.js} +1 -1
- package/dist/{Notification-D97JO0fK.js → Notification-OqIpADml.js} +3 -3
- package/dist/NumberFieldContent-DTH9gb_N.js +141 -0
- package/dist/{PopoverContent-BCH4eYs8.js → PopoverContent-EiklFrna.js} +1 -1
- package/dist/{Progress-CCH-2UBR.js → Progress-FApA9fm_.js} +1 -1
- package/dist/{ScrollingText-7P8skg5W.js → ScrollingText-BFd0i2zJ.js} +2 -2
- package/dist/{SelectScrollDownButton-BwTexKeY.js → SelectScrollDownButton-Dth8-wXQ.js} +4 -4
- package/dist/{Toaster-CY8gJu9E.js → Toaster-Bjlunvq4.js} +1 -1
- package/dist/UnderlineTabs-DAWMLmJG.js +37 -0
- package/dist/animated-digit.js +2 -2
- package/dist/api/index.d.ts +2 -0
- package/dist/api.js +1 -1
- package/dist/aurora.js +3 -3
- package/dist/badge.js +1 -1
- package/dist/{button-BlOW34DT.js → button-C0aHmBbt.js} +2 -0
- package/dist/button.js +1 -1
- package/dist/card.js +1 -1
- package/dist/carousel.js +5 -5
- package/dist/{check-Nuw7H9Yh.js → check-dwgetki8.js} +1 -1
- package/dist/{chevron-down-Du2b9vY_.js → chevron-down-DILQA1t6.js} +1 -1
- package/dist/{chevron-right-CtDxpE3w.js → chevron-right-fS7fal2t.js} +1 -1
- package/dist/{chevron-up-CenYokvI.js → chevron-up-BtYjYQOS.js} +1 -1
- package/dist/collapsible.js +1 -1
- package/dist/command.js +1 -1
- package/dist/components/custom/dialog-native/GlassDialogNative.vue.d.ts +57 -0
- package/dist/components/custom/dialog-native/index.d.ts +1 -0
- package/dist/components/custom/dock/composables/useLayerTransition.d.ts +20 -10
- package/dist/components/custom/hover-popover/HoverPopover.vue.d.ts +26 -4
- package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +16 -2
- package/dist/components/custom/labeled-field/LabeledInput.vue.d.ts +17 -1
- package/dist/components/custom/labeled-field/LabeledSelect.vue.d.ts +2 -0
- package/dist/components/custom/labeled-field/LabeledSlider.vue.d.ts +2 -0
- package/dist/components/custom/labeled-field/LabeledSwitch.vue.d.ts +2 -0
- package/dist/components/ui/input/Input.vue.d.ts +10 -7
- package/dist/components/ui/label/Label.vue.d.ts +8 -0
- package/dist/components/ui/textarea/Textarea.vue.d.ts +45 -8
- package/dist/composables/dom/index.d.ts +1 -0
- package/dist/composables/dom/useUserInvalidAria.d.ts +32 -0
- package/dist/composables/motion/core/index.d.ts +2 -0
- package/dist/composables/motion/supportsCssTimeline.d.ts +8 -0
- package/dist/composables/motion/useRAFLoop.d.ts +7 -0
- package/dist/composables/motion/useScrollProgress.d.ts +6 -2
- package/dist/composables/motion/useStaggerReveal.d.ts +6 -0
- package/dist/composables/motion/useViewTransition.d.ts +31 -0
- package/dist/composables/motion/useYieldToMain.d.ts +29 -0
- package/dist/configurator.js +1 -1
- package/dist/confirm-dialog.js +3 -3
- package/dist/context-menu.js +2 -2
- package/dist/controls.js +2 -2
- package/dist/{createLucideIcon-rHu18UQW.js → createLucideIcon-Bn9a1b70.js} +2 -2
- package/dist/dark.js +1 -1
- package/dist/data-table.js +1 -1
- package/dist/dialog.js +2 -2
- package/dist/disco-glyph.js +1 -1
- package/dist/dock.js +215 -196
- package/dist/dom.js +5 -4
- package/dist/{dropdown-menu-gHSkffW7.js → dropdown-menu-BvRUamNs.js} +4 -4
- package/dist/dropdown-menu.js +1 -1
- package/dist/expandable-container.js +4 -4
- package/dist/forms.d.ts +1 -0
- package/dist/forms.js +47 -42
- package/dist/glass-carousel.js +1 -1
- package/dist/glass-panel.js +2 -2
- package/dist/glass-ui.css +1 -1
- package/dist/glass-ui.js +156 -275
- package/dist/glyph-face.js +2 -2
- package/dist/header-ribbon.js +1 -1
- package/dist/hover-card.js +1 -1
- package/dist/hover-popover.js +1 -1
- package/dist/icon-tooltip.js +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/instrument-chassis.js +1 -1
- package/dist/instrument-rail.js +1 -1
- package/dist/keyboard.js +1 -1
- package/dist/label.js +1 -1
- package/dist/labeled-field.js +96 -57
- package/dist/metric-badge.js +1 -1
- package/dist/metric-stack.js +1 -1
- package/dist/{minimize-2-C_oyKVwZ.js → minimize-2-LsCJ_eNt.js} +1 -1
- package/dist/motion-core.js +135 -98
- package/dist/motion.js +3 -3
- package/dist/notification.js +1 -1
- package/dist/number-field.d.ts +1 -0
- package/dist/number-field.js +2 -0
- package/dist/paper-backdrop.js +1 -1
- package/dist/popover.js +1 -1
- package/dist/progress.js +1 -1
- package/dist/pulse.js +1 -1
- package/dist/reactive.js +2 -2
- package/dist/responsive-tabs.js +3 -3
- package/dist/scrolling-text.js +1 -1
- package/dist/{search-7XEx_6hq.js → search-DBAiUABx.js} +1 -1
- package/dist/search.js +7 -7
- package/dist/select.js +3 -3
- package/dist/separator.js +1 -1
- package/dist/{sheet-BsBdO5jq.js → sheet-CukNDezz.js} +53 -53
- package/dist/sheet.js +1 -1
- package/dist/{slider-BQaLYFLh.js → slider-DJvHkTRe.js} +3 -3
- package/dist/slider.js +1 -1
- package/dist/sortable-list.js +2 -2
- package/dist/styles/animations.css +77 -0
- package/dist/styles/cards.css +6 -2
- package/dist/styles/dock.css +37 -14
- package/dist/styles/glass.css +89 -6
- package/dist/styles/index.css +10 -1
- package/dist/styles/scroll-driven.css +72 -0
- package/dist/styles/theme.css +3 -0
- package/dist/styles/tokens.css +237 -24
- package/dist/styles/typography.css +21 -0
- package/dist/styles/utilities.css +176 -23
- package/dist/styles/view-transition.css +62 -0
- package/dist/switch.d.ts +1 -0
- package/dist/switch.js +2 -0
- package/dist/tabs.js +40 -36
- package/dist/timeline.js +2 -2
- package/dist/toast.js +1 -1
- package/dist/toggle-group.js +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{useAnimatedNumber-2l13GibX.js → useAnimatedNumber-DKQYVB7s.js} +1 -1
- package/dist/{useConfiguratorState-BpZi8QJu.js → useConfiguratorState-CtRBE0m_.js} +8 -6
- package/dist/{useIdleReady-DlzJicQH.js → useIdleReady-Cmkhm03v.js} +1 -1
- package/dist/{useTouchGate-BhhEMlwJ.js → useTouchGate-D9Zvrzyc.js} +1 -1
- package/dist/useUserInvalidAria-DVu1eTXG.js +29 -0
- package/dist/useViewTransition-DYIK6Gzb.js +16 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/moveBefore.d.ts +15 -0
- package/dist/{x-Cb3NE2Ne.js → x-q7pJa83X.js} +1 -1
- package/package.json +19 -4
- package/src/styles/animations.css +77 -0
- package/src/styles/cards.css +6 -2
- package/src/styles/dock.css +37 -14
- package/src/styles/glass.css +89 -6
- package/src/styles/index.css +10 -1
- package/src/styles/scroll-driven.css +72 -0
- package/src/styles/theme.css +3 -0
- package/src/styles/tokens.css +237 -24
- package/src/styles/typography.css +21 -0
- package/src/styles/utilities.css +176 -23
- package/src/styles/view-transition.css +62 -0
- package/dist/HoverPopover-Btv4RQfv.js +0 -80
- package/dist/Label-C8QMJSsf.js +0 -32
- package/dist/UnderlineTabs-BtrUcXn-.js +0 -64
- /package/dist/{CollapsibleContent-DHRuXE3P.js → CollapsibleContent-CVMOcYlV.js} +0 -0
- /package/dist/{ContextMenuContent-CvXfU5qz.js → ContextMenuContent-otjFIu8v.js} +0 -0
- /package/dist/{HoverCardContent-4nN5-5bz.js → HoverCardContent-DaGrgJBO.js} +0 -0
- /package/dist/{InstrumentChassis-DOaVYyWq.js → InstrumentChassis-CnHTMxds.js} +0 -0
- /package/dist/{InstrumentRail-jHDqXj70.js → InstrumentRail-C6dEbi8E.js} +0 -0
- /package/dist/{ModalOverlay-DKLVY-cj.js → ModalOverlay-iWiAgbYH.js} +0 -0
- /package/dist/{PaperBackdrop-Bc2drCqJ.js → PaperBackdrop-CeZ-w0R0.js} +0 -0
- /package/dist/{SelectGroup-O69GTQ77.js → SelectGroup-DdR4tdDY.js} +0 -0
- /package/dist/{SelectSeparator-GTHxKO0a.js → SelectSeparator-CXm_hlqA.js} +0 -0
- /package/dist/{Separator-_NCypg_C.js → Separator-D8AUMhxY.js} +0 -0
- /package/dist/{Switch-CL0uxu8F.js → Switch-Cr1t_F_U.js} +0 -0
- /package/dist/{ToggleGroupItem-BYG_8M9M.js → ToggleGroupItem-OesUouE7.js} +0 -0
- /package/dist/{TooltipProvider-C5QLSPto.js → TooltipProvider-DE78vbEP.js} +0 -0
- /package/dist/{_plugin-vue_export-helper-n-_DRHWS.js → _plugin-vue_export-helper-Dq1MygBL.js} +0 -0
- /package/dist/{badge-BbxVKZfw.js → badge-x46my_Fo.js} +0 -0
- /package/dist/{constants-D-8FN28s.js → constants-DwBwnG8N.js} +0 -0
- /package/dist/{dockContext-BDGSrwsV.js → dockContext-D5NZCWJs.js} +0 -0
- /package/dist/{keys-DVkcUktU.js → keys-CaTQS-vx.js} +0 -0
- /package/dist/{menuItemVariants-B2nDL7zH.js → menuItemVariants-BsbGNq9C.js} +0 -0
- /package/dist/{presets-BMzCDrmR.js → presets-a-D93K1S.js} +0 -0
- /package/dist/{useGlassRenderer-DMDdMH55.js → useGlassRenderer-Ds-nmrGz.js} +0 -0
- /package/dist/{useGlobalDark-PMiP5Jku.js → useGlobalDark-B0WvLJE3.js} +0 -0
- /package/dist/{useIntersectionPause-CXYfYg_C.js → useIntersectionPause-IY2CwPQb.js} +0 -0
- /package/dist/{useInterval-COlTCeVa.js → useInterval-DVgGUf_y.js} +0 -0
- /package/dist/{useKeyboardShortcuts-CPO4AhLx.js → useKeyboardShortcuts-Dpw_RUcB.js} +0 -0
- /package/dist/{useResizeObserver-F4aRR4Cj.js → useResizeObserver-Cg9npuM3.js} +0 -0
- /package/dist/{useSortable-Ck0rBJ4g.js → useSortable-Cq2Y1JLO.js} +0 -0
- /package/dist/{useSpringMount-BTRBNzXP.js → useSpringMount-Cfk1XK1R.js} +0 -0
- /package/dist/{useTimer-lp5NlH4w.js → useTimer-NAaj9zNq.js} +0 -0
package/dist/button.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, t } from "./button-
|
|
1
|
+
import { n as e, t } from "./button-C0aHmBbt.js";
|
|
2
2
|
export { e as Button, t as buttonVariants };
|
package/dist/card.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as e, i as t, n, o as r, r as i, t as a } from "./CardFooter-
|
|
1
|
+
import { a as e, i as t, n, o as r, r as i, t as a } from "./CardFooter-CSGcJkqa.js";
|
|
2
2
|
export { r as Card, n as CardContent, i as CardDescription, a as CardFooter, e as CardHeader, t as CardTitle };
|
package/dist/carousel.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { t as e } from "./cn-DJXf4yaB.js";
|
|
2
|
-
import { t } from "./createLucideIcon-
|
|
3
|
-
import { t as n } from "./chevron-down-
|
|
4
|
-
import { t as r } from "./chevron-right-
|
|
5
|
-
import { t as i } from "./chevron-up-
|
|
6
|
-
import { n as a } from "./button-
|
|
2
|
+
import { t } from "./createLucideIcon-Bn9a1b70.js";
|
|
3
|
+
import { t as n } from "./chevron-down-DILQA1t6.js";
|
|
4
|
+
import { t as r } from "./chevron-right-fS7fal2t.js";
|
|
5
|
+
import { t as i } from "./chevron-up-BtYjYQOS.js";
|
|
6
|
+
import { n as a } from "./button-C0aHmBbt.js";
|
|
7
7
|
import { Fragment as o, computed as s, createBlock as c, createCommentVNode as l, createElementBlock as u, createElementVNode as d, createVNode as f, defineComponent as p, mergeProps as m, normalizeClass as h, onMounted as g, openBlock as _, ref as v, renderList as y, renderSlot as b, resolveDynamicComponent as x, toDisplayString as S, unref as C, watch as w, withCtx as T } from "vue";
|
|
8
8
|
import { createInjectionState as E } from "@vueuse/core";
|
|
9
9
|
import D from "embla-carousel-vue";
|
package/dist/collapsible.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, r as t, t as n } from "./CollapsibleContent-
|
|
1
|
+
import { n as e, r as t, t as n } from "./CollapsibleContent-CVMOcYlV.js";
|
|
2
2
|
export { t as Collapsible, n as CollapsibleContent, e as CollapsibleTrigger };
|
package/dist/command.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c } from "./CommandShortcut-
|
|
1
|
+
import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c } from "./CommandShortcut-DWT19a2Y.js";
|
|
2
2
|
export { r as Command, t as CommandDialog, s as CommandEmpty, a as CommandGroup, e as CommandInput, n as CommandItem, o as CommandList, i as CommandSeparator, c as CommandShortcut };
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* <GlassDialogNative> — the native-`<dialog>` glass pilot (AQ.W6 §Design 5).
|
|
3
|
+
*
|
|
4
|
+
* A real `<dialog class="glass-top-layer">` top-layer surface. Entry/exit is
|
|
5
|
+
* PURE CSS from the `.glass-top-layer` grammar (`@starting-style` + `overlay` +
|
|
6
|
+
* `allow-discrete` + a glass `::backdrop`; animations.css §TOP-LAYER) — no
|
|
7
|
+
* per-frame JS, no `useSpringMount`. Light-dismiss is the native `closedby="any"`
|
|
8
|
+
* with a ≤ 12-LOC backdrop-click shim as the feature-detected fallback for
|
|
9
|
+
* engines without `HTMLDialogElement.closedBy`.
|
|
10
|
+
*
|
|
11
|
+
* DISPOSITION (W8 overfitting audit): this is the simple-confirm/settings PILOT
|
|
12
|
+
* only — one heading, optional short form, a close action. reka-ui `Dialog` is
|
|
13
|
+
* UNCHANGED and stays the default for every compound focus-trap case (nested
|
|
14
|
+
* focus zones, async content, the drag-dismiss `spring` opt-in). The pilot ships
|
|
15
|
+
* gated to a demo story (its consumer) pending the muster J.W6 ≥2-consumer
|
|
16
|
+
* adoption; it is NOT on the public barrel or a flat subpath yet (no overfit
|
|
17
|
+
* surface). `commandfor`/`command` (Baseline LIMITED) is the PREFERRED trigger
|
|
18
|
+
* wiring where supported; the JS `showModal()`/`close()` path (exposed below)
|
|
19
|
+
* is the kept default for non-supporting targets.
|
|
20
|
+
*
|
|
21
|
+
* Baseline: `<dialog>` + `showModal` = Widely; `dialog-closedby` = Newly
|
|
22
|
+
* (≤ 20-LOC shim fallback); `invoker-commands` (`commandfor`) = LIMITED
|
|
23
|
+
* (progressive — the JS open path stays default).
|
|
24
|
+
*/
|
|
25
|
+
type __VLS_Props = {
|
|
26
|
+
/** Light-dismiss on backdrop/Esc — `closedby="any"`. Default true. */
|
|
27
|
+
lightDismiss?: boolean;
|
|
28
|
+
/** id so a sibling `<button commandfor=… command="show-modal">` can
|
|
29
|
+
* target this dialog (the declarative-open path). */
|
|
30
|
+
id?: string;
|
|
31
|
+
/** `aria-labelledby` target — the id of the consumer's heading. */
|
|
32
|
+
labelledby?: string;
|
|
33
|
+
/** Class merged onto the `<dialog>` surface. */
|
|
34
|
+
class?: string;
|
|
35
|
+
};
|
|
36
|
+
declare function showModal(): void;
|
|
37
|
+
declare function close(returnValue?: string): void;
|
|
38
|
+
declare var __VLS_1: {
|
|
39
|
+
close: typeof close;
|
|
40
|
+
};
|
|
41
|
+
type __VLS_Slots = {} & {
|
|
42
|
+
default?: (props: typeof __VLS_1) => any;
|
|
43
|
+
};
|
|
44
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
|
|
45
|
+
showModal: typeof showModal;
|
|
46
|
+
close: typeof close;
|
|
47
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
48
|
+
lightDismiss: boolean;
|
|
49
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
50
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
51
|
+
declare const _default: typeof __VLS_export;
|
|
52
|
+
export default _default;
|
|
53
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
54
|
+
new (): {
|
|
55
|
+
$slots: S;
|
|
56
|
+
};
|
|
57
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as GlassDialogNative } from "./GlassDialogNative.vue";
|
|
@@ -19,16 +19,26 @@ export interface UseLayerTransitionReturn {
|
|
|
19
19
|
leavingLayer: Ref<string | null>;
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
|
-
* Coordinates
|
|
23
|
-
*
|
|
22
|
+
* Coordinates the crossfade + size animation between grid-stacked dock layer
|
|
23
|
+
* panes. Reusable at any nesting level (the inner `<DockLayerGroup>` pair AND
|
|
24
|
+
* the outer GlassDock collapsed↔expanded pair).
|
|
24
25
|
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
26
|
+
* AQ.W6 §Design 7 — the swap FORKS on View-Transitions support:
|
|
27
|
+
*
|
|
28
|
+
* - **Native path** (`document.startViewTransition` present): the layer swap is
|
|
29
|
+
* wrapped in `startViewTransition(() => mutate())`. The browser snapshots the
|
|
30
|
+
* container + panes (tagged `view-transition-name` in `dock.css`) and morphs
|
|
31
|
+
* the size + crossfades the pane content with ZERO `getBoundingClientRect`
|
|
32
|
+
* reads. No pin/measure/re-pin dance, no inline size, no rAF.
|
|
33
|
+
*
|
|
34
|
+
* - **Fallback path** (no `startViewTransition`): the existing axis-aware FLIP
|
|
35
|
+
* runs verbatim, KEPT as the sole feature-detected fallback (no alias — one
|
|
36
|
+
* path or the other runs per swap, never both):
|
|
37
|
+
* 1. Capture current container size
|
|
38
|
+
* 2. Pin container to that size
|
|
39
|
+
* 3. Swap classes: old layer → leaving, new layer → active
|
|
40
|
+
* 4. nextTick: measure new natural size, re-pin to old
|
|
41
|
+
* 5. Animate to new size via CSS transition
|
|
42
|
+
* 6. On transitionend(size), clear inline size
|
|
33
43
|
*/
|
|
34
44
|
export declare function useLayerTransition(options: UseLayerTransitionOptions): UseLayerTransitionReturn;
|
|
@@ -40,14 +40,35 @@ type __VLS_Props = {
|
|
|
40
40
|
* as "inside the dock".
|
|
41
41
|
*/
|
|
42
42
|
keepDockOpen?: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* AQ.W6 — opt into the native `interestfor` + `popover="hint"` path
|
|
45
|
+
* when the browser supports interest invokers. Default `false` →
|
|
46
|
+
* reka-ui `HoverCard` (the unchanged default). When `true` AND the
|
|
47
|
+
* engine supports interest invokers, the trigger carries
|
|
48
|
+
* `interestfor` (an implicit anchor) and the panel renders as a
|
|
49
|
+
* `popover="hint"` top-layer surface driven by the `.glass-top-layer`
|
|
50
|
+
* grammar. When `true` but unsupported, it falls straight through to
|
|
51
|
+
* the reka-ui HoverCard — zero behaviour change.
|
|
52
|
+
*
|
|
53
|
+
* Baseline: `interest-invokers` + `popover-hint` = LIMITED →
|
|
54
|
+
* progressive-enhancement only; reka-ui stays the default path. No
|
|
55
|
+
* polyfill (substrate cannot drag one).
|
|
56
|
+
*/
|
|
57
|
+
native?: boolean;
|
|
43
58
|
};
|
|
44
|
-
declare var
|
|
59
|
+
declare var __VLS_1: {}, __VLS_3: {}, __VLS_5: {}, __VLS_20: {}, __VLS_22: {}, __VLS_36: {};
|
|
45
60
|
type __VLS_Slots = {} & {
|
|
46
|
-
trigger?: (props: typeof
|
|
61
|
+
trigger?: (props: typeof __VLS_1) => any;
|
|
62
|
+
} & {
|
|
63
|
+
default?: (props: typeof __VLS_3) => any;
|
|
64
|
+
} & {
|
|
65
|
+
content?: (props: typeof __VLS_5) => any;
|
|
66
|
+
} & {
|
|
67
|
+
trigger?: (props: typeof __VLS_20) => any;
|
|
47
68
|
} & {
|
|
48
|
-
default?: (props: typeof
|
|
69
|
+
default?: (props: typeof __VLS_22) => any;
|
|
49
70
|
} & {
|
|
50
|
-
content?: (props: typeof
|
|
71
|
+
content?: (props: typeof __VLS_36) => any;
|
|
51
72
|
};
|
|
52
73
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
53
74
|
"update:open": (open: boolean) => any;
|
|
@@ -60,6 +81,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
|
|
|
60
81
|
closeDelay: number;
|
|
61
82
|
hoverOpenDelay: number;
|
|
62
83
|
keepDockOpen: boolean;
|
|
84
|
+
native: boolean;
|
|
63
85
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
64
86
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
65
87
|
declare const _default: typeof __VLS_export;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type HTMLAttributes } from "vue";
|
|
2
2
|
/**
|
|
3
3
|
* LabeledField — parent SFC for the labeled-field family (V.W3.T5 / A5 §5.5).
|
|
4
4
|
*
|
|
@@ -15,15 +15,29 @@ import type { HTMLAttributes } from "vue";
|
|
|
15
15
|
* paints the canonical typography (font-display + body-size + muted-fg +
|
|
16
16
|
* cursor-help). The previous mixed `text-base` / `text-lg` literals
|
|
17
17
|
* harmonise on a single body-size token.
|
|
18
|
+
*
|
|
19
|
+
* AQ.W4 §W4.5 — `required` threads a `aria-hidden` asterisk onto the label
|
|
20
|
+
* (the `required` attr on the slotted control is the semantic carrier). The
|
|
21
|
+
* `error` slot renders an error-message region that the W3.1c
|
|
22
|
+
* `:has(:user-invalid)` group rule reveals; it carries `aria-live="polite"`
|
|
23
|
+
* so the message is announced when shown. The region's id is exposed as the
|
|
24
|
+
* default slot's `errorId` slot-prop so the slotted control can bind
|
|
25
|
+
* `aria-errormessage="errorId"` (the four wrappers auto-wire it; a raw
|
|
26
|
+
* `<LabeledField>` slot binds it manually).
|
|
18
27
|
*/
|
|
19
28
|
type __VLS_Props = {
|
|
20
29
|
label: string;
|
|
21
30
|
tooltip?: string;
|
|
22
31
|
labelClass?: HTMLAttributes["class"];
|
|
32
|
+
required?: boolean;
|
|
23
33
|
};
|
|
24
|
-
declare var __VLS_7: {
|
|
34
|
+
declare var __VLS_7: {
|
|
35
|
+
errorId: string;
|
|
36
|
+
}, __VLS_9: {};
|
|
25
37
|
type __VLS_Slots = {} & {
|
|
26
38
|
default?: (props: typeof __VLS_7) => any;
|
|
39
|
+
} & {
|
|
40
|
+
error?: (props: typeof __VLS_9) => any;
|
|
27
41
|
};
|
|
28
42
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
29
43
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
@@ -5,11 +5,27 @@ type __VLS_Props = {
|
|
|
5
5
|
labelClass?: string;
|
|
6
6
|
inputClass?: string;
|
|
7
7
|
type?: string;
|
|
8
|
+
/**
|
|
9
|
+
* AQ.W4 §W4.5 — mark the field required. Threads the `aria-hidden`
|
|
10
|
+
* asterisk onto the label AND sets the native `required` attribute on the
|
|
11
|
+
* inner `<Input>` (the semantic carrier that drives `:user-invalid`).
|
|
12
|
+
*/
|
|
13
|
+
required?: boolean;
|
|
8
14
|
};
|
|
9
|
-
declare
|
|
15
|
+
declare var __VLS_17: {};
|
|
16
|
+
type __VLS_Slots = {} & {
|
|
17
|
+
error?: (props: typeof __VLS_17) => any;
|
|
18
|
+
};
|
|
19
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
10
20
|
"update:modelValue": (value: string) => any;
|
|
11
21
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
12
22
|
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
13
23
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
24
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
14
25
|
declare const _default: typeof __VLS_export;
|
|
15
26
|
export default _default;
|
|
27
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
28
|
+
new (): {
|
|
29
|
+
$slots: S;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
@@ -6,6 +6,8 @@ type __VLS_Props = {
|
|
|
6
6
|
label: string;
|
|
7
7
|
tooltip: string;
|
|
8
8
|
labelClass?: string;
|
|
9
|
+
/** AQ.W4 §W4.5 — thread the required-field asterisk onto the label. */
|
|
10
|
+
required?: boolean;
|
|
9
11
|
};
|
|
10
12
|
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
11
13
|
"update:open": (value: boolean) => any;
|
|
@@ -6,6 +6,8 @@ type __VLS_Props = {
|
|
|
6
6
|
min: number;
|
|
7
7
|
max: number;
|
|
8
8
|
step: number;
|
|
9
|
+
/** AQ.W4 §W4.5 — thread the required-field asterisk onto the label. */
|
|
10
|
+
required?: boolean;
|
|
9
11
|
};
|
|
10
12
|
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
11
13
|
"update:modelValue": (value: number) => any;
|
|
@@ -3,6 +3,8 @@ type __VLS_Props = {
|
|
|
3
3
|
label: string;
|
|
4
4
|
tooltip: string;
|
|
5
5
|
labelClass?: string;
|
|
6
|
+
/** AQ.W4 §W4.5 — thread the required-field asterisk onto the label. */
|
|
7
|
+
required?: boolean;
|
|
6
8
|
};
|
|
7
9
|
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
8
10
|
"update:checked": (value: boolean) => any;
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import type { HTMLAttributes } from 'vue';
|
|
2
|
-
|
|
2
|
+
declare const _default: typeof __VLS_export;
|
|
3
|
+
export default _default;
|
|
4
|
+
declare const __VLS_export: import("vue").DefineComponent<{
|
|
3
5
|
defaultValue?: string | number;
|
|
4
6
|
modelValue?: string | number;
|
|
5
|
-
class?: HTMLAttributes[
|
|
6
|
-
}
|
|
7
|
-
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
7
|
+
class?: HTMLAttributes["class"];
|
|
8
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
8
9
|
"update:modelValue": (payload: string | number) => any;
|
|
9
|
-
}, string, import("vue").PublicProps, Readonly<
|
|
10
|
+
}, string, import("vue").PublicProps, Readonly<{
|
|
11
|
+
defaultValue?: string | number;
|
|
12
|
+
modelValue?: string | number;
|
|
13
|
+
class?: HTMLAttributes["class"];
|
|
14
|
+
}> & Readonly<{
|
|
10
15
|
"onUpdate:modelValue"?: ((payload: string | number) => any) | undefined;
|
|
11
16
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
12
|
-
declare const _default: typeof __VLS_export;
|
|
13
|
-
export default _default;
|
|
@@ -2,6 +2,14 @@ import { type HTMLAttributes } from 'vue';
|
|
|
2
2
|
import { type LabelProps } from 'reka-ui';
|
|
3
3
|
type __VLS_Props = LabelProps & {
|
|
4
4
|
class?: HTMLAttributes['class'];
|
|
5
|
+
/**
|
|
6
|
+
* AQ.W4 §W4.5 — render a required-field asterisk after the label text.
|
|
7
|
+
* The asterisk is decorative-to-AT (the `required` attribute on the input
|
|
8
|
+
* is the semantic carrier), so it is marked `aria-hidden`. Indicate
|
|
9
|
+
* required fields visually BEFORE interaction (required-field-feedback
|
|
10
|
+
* guide).
|
|
11
|
+
*/
|
|
12
|
+
required?: boolean;
|
|
5
13
|
};
|
|
6
14
|
declare var __VLS_8: {};
|
|
7
15
|
type __VLS_Slots = {} & {
|
|
@@ -1,13 +1,50 @@
|
|
|
1
1
|
import type { HTMLAttributes } from 'vue';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
declare const _default: typeof __VLS_export;
|
|
3
|
+
export default _default;
|
|
4
|
+
declare const __VLS_export: import("vue").DefineComponent<{
|
|
5
|
+
class?: HTMLAttributes["class"];
|
|
4
6
|
defaultValue?: string | number;
|
|
5
7
|
modelValue?: string | number;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
+
/**
|
|
9
|
+
* AQ.W4 §W4.3 — opt into `field-sizing: content` auto-grow. When `true`,
|
|
10
|
+
* the textarea grows vertically with its content between a 3-line floor
|
|
11
|
+
* and a `--textarea-autosize-max` ceiling (default `12lh`), then scrolls;
|
|
12
|
+
* the manual resize handle stays. Default `false` keeps the fixed
|
|
13
|
+
* `min-h-20` height (the unchanged no-op fallback).
|
|
14
|
+
*
|
|
15
|
+
* `field-sizing` is Baseline Newly (Chromium 2024) — on a non-supporting
|
|
16
|
+
* engine the element degrades to the fixed `min-block-size: 3lh` floor
|
|
17
|
+
* with standard scroll (no JS, no polyfill).
|
|
18
|
+
*
|
|
19
|
+
* Caveat: a grid/flex parent stretches children, defeating `field-sizing`.
|
|
20
|
+
* Inside a flex column, add `align-self: start` on the `<Textarea>` so it
|
|
21
|
+
* sizes to content rather than the track.
|
|
22
|
+
*/
|
|
23
|
+
autosize?: boolean;
|
|
24
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
8
25
|
"update:modelValue": (payload: string | number) => any;
|
|
9
|
-
}, string, import("vue").PublicProps, Readonly<
|
|
26
|
+
}, string, import("vue").PublicProps, Readonly<{
|
|
27
|
+
class?: HTMLAttributes["class"];
|
|
28
|
+
defaultValue?: string | number;
|
|
29
|
+
modelValue?: string | number;
|
|
30
|
+
/**
|
|
31
|
+
* AQ.W4 §W4.3 — opt into `field-sizing: content` auto-grow. When `true`,
|
|
32
|
+
* the textarea grows vertically with its content between a 3-line floor
|
|
33
|
+
* and a `--textarea-autosize-max` ceiling (default `12lh`), then scrolls;
|
|
34
|
+
* the manual resize handle stays. Default `false` keeps the fixed
|
|
35
|
+
* `min-h-20` height (the unchanged no-op fallback).
|
|
36
|
+
*
|
|
37
|
+
* `field-sizing` is Baseline Newly (Chromium 2024) — on a non-supporting
|
|
38
|
+
* engine the element degrades to the fixed `min-block-size: 3lh` floor
|
|
39
|
+
* with standard scroll (no JS, no polyfill).
|
|
40
|
+
*
|
|
41
|
+
* Caveat: a grid/flex parent stretches children, defeating `field-sizing`.
|
|
42
|
+
* Inside a flex column, add `align-self: start` on the `<Textarea>` so it
|
|
43
|
+
* sizes to content rather than the track.
|
|
44
|
+
*/
|
|
45
|
+
autosize?: boolean;
|
|
46
|
+
}> & Readonly<{
|
|
10
47
|
"onUpdate:modelValue"?: ((payload: string | number) => any) | undefined;
|
|
11
|
-
}>, {
|
|
12
|
-
|
|
13
|
-
|
|
48
|
+
}>, {
|
|
49
|
+
autosize: boolean;
|
|
50
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export interface UseUserInvalidAriaOptions {
|
|
2
|
+
/**
|
|
3
|
+
* Also toggle the `.user-invalid-fallback` / `.user-valid-fallback`
|
|
4
|
+
* classes the W4.1 CSS rungs key off (for engines without `:user-invalid`
|
|
5
|
+
* support).
|
|
6
|
+
*
|
|
7
|
+
* Default: auto — `true` only when `CSS.supports('selector(:user-invalid)')`
|
|
8
|
+
* resolves `false`. Pass an explicit boolean to force the path (e.g. for a
|
|
9
|
+
* test that stubs feature detection).
|
|
10
|
+
*/
|
|
11
|
+
fallbackClasses?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface UseUserInvalidAriaReturn {
|
|
14
|
+
/**
|
|
15
|
+
* Attach the bridge to a scope root (a `<form>`, `<fieldset>`, or field
|
|
16
|
+
* wrapper). Wires capture-phase `blur` + `input` + `submit` listeners that
|
|
17
|
+
* sync `aria-invalid` (and, in fallback mode, the validity classes) on the
|
|
18
|
+
* scope's form controls. Idempotent per call; returns a stop fn that
|
|
19
|
+
* removes the listeners and clears the per-control interaction tracking.
|
|
20
|
+
*/
|
|
21
|
+
bind: (root: HTMLElement) => () => void;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* The `:user-invalid` → `aria-invalid` bridge. Wired on `blur` (capture —
|
|
25
|
+
* show error on field-exit), `input` (clear error on correction), and
|
|
26
|
+
* `submit` (sync all controls; submission counts as interaction). The setting
|
|
27
|
+
* of `aria-invalid="true"` is gated on first interaction per control (a
|
|
28
|
+
* `WeakSet`) so a pristine required-empty field is never flagged on mount;
|
|
29
|
+
* the `input` handler only CLEARS — never sets — so a programmatic `v-model`
|
|
30
|
+
* write can at worst clear a stale error, never mint a false one.
|
|
31
|
+
*/
|
|
32
|
+
export declare function useUserInvalidAria(opts?: UseUserInvalidAriaOptions): UseUserInvalidAriaReturn;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Genuine support for a `scroll()` timeline (the `.scroll-progress` recipe). */
|
|
2
|
+
export declare function supportsScrollTimeline(): boolean;
|
|
3
|
+
/**
|
|
4
|
+
* Genuine support for a `view()` timeline + `animation-range` (the
|
|
5
|
+
* `[data-scroll-reveal]` recipe). The `view()` value carries the range probe
|
|
6
|
+
* implicitly — an engine new enough for `view()` carries `animation-range`.
|
|
7
|
+
*/
|
|
8
|
+
export declare function supportsViewTimeline(): boolean;
|
|
@@ -35,6 +35,13 @@ export interface RAFLoopControls {
|
|
|
35
35
|
resume: () => void;
|
|
36
36
|
/** Stop the loop and detach document/media listeners. */
|
|
37
37
|
dispose: () => void;
|
|
38
|
+
/**
|
|
39
|
+
* Yield to the main thread between chunks of heavy per-frame work (the INP
|
|
40
|
+
* lever). Native `scheduler.yield()` when available, else a MessageChannel/
|
|
41
|
+
* setTimeout fallback. `await` it inside the frame callback when a single
|
|
42
|
+
* frame's work would otherwise block input/paint. See {@link yieldToMain}.
|
|
43
|
+
*/
|
|
44
|
+
yieldToMain: () => Promise<void>;
|
|
38
45
|
}
|
|
39
46
|
/**
|
|
40
47
|
* Scope-aware requestAnimationFrame loop with manual controls plus document
|
|
@@ -16,8 +16,12 @@ interface ScrollProgressConfig {
|
|
|
16
16
|
* `Ref<number>` in [0, 1]. Drives things like scroll-linked typography
|
|
17
17
|
* axes, parallax depth, or progress indicators.
|
|
18
18
|
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
19
|
+
* AQ.W5: on an engine with native scroll-driven animations, the listener +
|
|
20
|
+
* `ResizeObserver` machinery does NOT attach — prefer the `.scroll-progress`
|
|
21
|
+
* CSS recipe (scroll-driven.css), which runs the same 0..1 axis on the
|
|
22
|
+
* compositor. This composable is the feature-detected fallback (the sole writer
|
|
23
|
+
* when the native feature is absent); `computeProgress()` still runs once on
|
|
24
|
+
* mount for a correct initial value.
|
|
21
25
|
*/
|
|
22
26
|
export declare function useScrollProgress(options: ScrollProgressConfig): Ref<number>;
|
|
23
27
|
export {};
|
|
@@ -13,6 +13,12 @@ interface StaggerRevealConfig {
|
|
|
13
13
|
* gets a staggered `revealed` flag once it crosses the viewport threshold.
|
|
14
14
|
* Consumers bind the flag to a Tailwind class (e.g. `opacity-100 translate-y-0`)
|
|
15
15
|
* and let CSS transitions handle the visual entry.
|
|
16
|
+
*
|
|
17
|
+
* AQ.W5: on an engine with native `view()` timelines, no `IntersectionObserver`
|
|
18
|
+
* is constructed — prefer the `[data-scroll-reveal]` CSS recipe
|
|
19
|
+
* (scroll-driven.css). This composable is the feature-detected fallback (the
|
|
20
|
+
* sole writer when the native feature is absent); under native, `register()`
|
|
21
|
+
* reveals immediately so the terminal state is correct and the CSS animates.
|
|
16
22
|
*/
|
|
17
23
|
export declare function useStaggerReveal(options?: StaggerRevealConfig): {
|
|
18
24
|
targets: import("vue").Ref<HTMLElement[], HTMLElement[]>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export interface ViewTransitionResult {
|
|
2
|
+
/**
|
|
3
|
+
* Resolves when the transition's `finished` promise settles (or
|
|
4
|
+
* immediately in the fallback path). Use to route focus per the a11y
|
|
5
|
+
* MANDATORY: `await startViewTransition(mutate).finished; el.focus()`.
|
|
6
|
+
* Never rejects — a skipped/aborted transition settles cleanly.
|
|
7
|
+
*/
|
|
8
|
+
finished: Promise<void>;
|
|
9
|
+
/** True when the native API ran; false when the instant fallback ran. */
|
|
10
|
+
transitioned: boolean;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* True when `document.startViewTransition` is available — the feature-detected
|
|
14
|
+
* predicate consumers gate optional VT-only styling on.
|
|
15
|
+
*/
|
|
16
|
+
export declare function supportsViewTransitions(): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Wrap a synchronous DOM mutation in `document.startViewTransition` with an
|
|
19
|
+
* instant fallback. `mutate` performs the DOM/state change and is called
|
|
20
|
+
* synchronously in BOTH paths (native and fallback), so the post-mutation DOM
|
|
21
|
+
* is identical regardless of support.
|
|
22
|
+
*
|
|
23
|
+
* @param mutate the synchronous DOM/state change to animate between.
|
|
24
|
+
* @returns `{ finished, transitioned }` — await `finished` to route focus.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* const { finished } = startViewTransition(() => { rows.value = reranked });
|
|
28
|
+
* await finished; // animation done
|
|
29
|
+
* firstRow.value?.focus(); // consumer routes focus (the a11y MANDATORY)
|
|
30
|
+
*/
|
|
31
|
+
export declare function startViewTransition(mutate: () => void): ViewTransitionResult;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Yield control to the main thread, returning a promise that resolves after the
|
|
3
|
+
* browser has had a chance to run pending input/render work. Native
|
|
4
|
+
* `scheduler.yield()` when available; otherwise a `MessageChannel` macrotask
|
|
5
|
+
* (with a `setTimeout(0)` floor). Await it between chunks of a long task to keep
|
|
6
|
+
* input responsive (the INP lever).
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* for (const chunk of chunks) {
|
|
10
|
+
* processChunk(chunk);
|
|
11
|
+
* await yieldToMain(); // let the browser breathe between chunks
|
|
12
|
+
* }
|
|
13
|
+
*/
|
|
14
|
+
export declare function yieldToMain(): Promise<void>;
|
|
15
|
+
export interface UseYieldToMainReturn {
|
|
16
|
+
/** True when the native `scheduler.yield()` is available (vs the fallback). */
|
|
17
|
+
readonly hasNativeYield: boolean;
|
|
18
|
+
/** Yield to the main thread. Native `scheduler.yield()` or the fallback. */
|
|
19
|
+
yield: () => Promise<void>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Composable wrapper over {@link yieldToMain} that exposes the native-yield
|
|
23
|
+
* feature flag alongside the bound `yield` function. Consumers loop their work
|
|
24
|
+
* units and `await ctx.yield()` between chunks to keep input responsive.
|
|
25
|
+
*
|
|
26
|
+
* Pure-native (no `vue` import) — call it from setup or anywhere; it owns no
|
|
27
|
+
* reactive state and no lifecycle, so it has no cleanup obligation.
|
|
28
|
+
*/
|
|
29
|
+
export declare function useYieldToMain(): UseYieldToMainReturn;
|
package/dist/configurator.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "./useConfiguratorState-
|
|
1
|
+
import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "./useConfiguratorState-CtRBE0m_.js";
|
|
2
2
|
export { e as CONFIGURATOR_DENSITY_KEY, t as Configurator, i as ConfiguratorLayer, n as ConfiguratorRow, r as provideConfiguratorDensity, o as useConfiguratorState, a as useOptionalConfiguratorDensity };
|
package/dist/confirm-dialog.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { t as e } from "./createLucideIcon-
|
|
2
|
-
import { n as t } from "./button-
|
|
3
|
-
import { t as n } from "./_plugin-vue_export-helper-
|
|
1
|
+
import { t as e } from "./createLucideIcon-Bn9a1b70.js";
|
|
2
|
+
import { n as t } from "./button-C0aHmBbt.js";
|
|
3
|
+
import { t as n } from "./_plugin-vue_export-helper-Dq1MygBL.js";
|
|
4
4
|
import { Transition as r, createBlock as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createTextVNode as c, createVNode as l, defineComponent as u, mergeModels as d, openBlock as f, renderSlot as p, toDisplayString as m, unref as h, useModel as g, withCtx as _, withKeys as v, withModifiers as y } from "vue";
|
|
5
5
|
var b = e("loader-circle", [["path", {
|
|
6
6
|
d: "M21 12a9 9 0 1 1-6.219-8.56",
|
package/dist/context-menu.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c } from "./ContextMenuSubContent-
|
|
2
|
-
import { n as l, r as u, t as d } from "./ContextMenuContent-
|
|
1
|
+
import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c } from "./ContextMenuSubContent-gAFxJ-qi.js";
|
|
2
|
+
import { n as l, r as u, t as d } from "./ContextMenuContent-otjFIu8v.js";
|
|
3
3
|
export { u as ContextMenu, s as ContextMenuCheckboxItem, d as ContextMenuContent, t as ContextMenuItem, o as ContextMenuLabel, r as ContextMenuRadioGroup, a as ContextMenuRadioItem, n as ContextMenuSeparator, e as ContextMenuShortcut, c as ContextMenuSubContent, i as ContextMenuSubTrigger, l as ContextMenuTrigger };
|
package/dist/controls.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as e } from "./cn-DJXf4yaB.js";
|
|
2
|
-
import { t } from "./_plugin-vue_export-helper-
|
|
3
|
-
import { t as n } from "./useGlobalDark-
|
|
2
|
+
import { t } from "./_plugin-vue_export-helper-Dq1MygBL.js";
|
|
3
|
+
import { t as n } from "./useGlobalDark-B0WvLJE3.js";
|
|
4
4
|
import { computed as r, createBlock as i, createElementVNode as a, defineComponent as o, mergeProps as s, openBlock as c, resolveDynamicComponent as l, unref as u, useAttrs as d, watchEffect as f, withCtx as p } from "vue";
|
|
5
5
|
//#endregion
|
|
6
6
|
//#region src/components/custom/controls/DarkModeToggle.vue
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { computed as e, h as t, inject as n } from "vue";
|
|
2
|
-
//#region
|
|
2
|
+
//#region node_modules/@lucide/vue/dist/esm/shared/src/utils/isEmptyString.mjs
|
|
3
3
|
var r = (e) => e === "", i = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), a = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), o = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), s = (e) => {
|
|
4
4
|
let t = o(e);
|
|
5
5
|
return t.charAt(0).toUpperCase() + t.slice(1);
|
|
@@ -18,7 +18,7 @@ function u() {
|
|
|
18
18
|
return n(l, {});
|
|
19
19
|
}
|
|
20
20
|
//#endregion
|
|
21
|
-
//#region
|
|
21
|
+
//#region node_modules/@lucide/vue/dist/esm/Icon.mjs
|
|
22
22
|
var d = ({ name: n, iconNode: o, absoluteStrokeWidth: l, "absolute-stroke-width": d, strokeWidth: f, "stroke-width": p, size: m, color: h, ...g }, { slots: _ }) => {
|
|
23
23
|
let { size: v, color: y, strokeWidth: b = 2, absoluteStrokeWidth: x = !1, class: S = "" } = u(), C = e(() => {
|
|
24
24
|
let e = r(l) || r(d) || l === !0 || d === !0 || x === !0, t = f || p || b || c["stroke-width"];
|