@mkbabb/glass-ui 10.1.0 → 10.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.
Files changed (37) hide show
  1. package/MIGRATION.md +25 -0
  2. package/dist/aurora.js +29 -29
  3. package/dist/{command-C-5xSEJ2.js → command-CTQCaHVA.js} +1 -1
  4. package/dist/command.js +1 -1
  5. package/dist/components/_shared/overlay/participation.d.ts +13 -1
  6. package/dist/components/dock/GlassDock.vue.d.ts +5 -5
  7. package/dist/components/dock/composables/dockContext.d.ts +16 -2
  8. package/dist/components/sheet/styles.css +1 -1
  9. package/dist/components/skeleton/Skeleton.vue.d.ts +6 -0
  10. package/dist/content-BhcJH1bI.js +22 -0
  11. package/dist/data-table-Cs93-uY7.js +511 -0
  12. package/dist/data-table.js +1 -1
  13. package/dist/dock.js +417 -409
  14. package/dist/easing.js +3 -3
  15. package/dist/glass-ui.css +1 -1
  16. package/dist/glass-ui.js +8 -8
  17. package/dist/labeled-field.js +1 -1
  18. package/dist/{menu-BnmCOa3y.js → menu-DN29N6KR.js} +6 -3
  19. package/dist/menu.js +1 -1
  20. package/dist/motion-core.js +11 -11
  21. package/dist/participation-Cs_UX_Dc.js +55 -0
  22. package/dist/{popover-DA87hFBx.js → popover-CJpvT2E6.js} +9 -4
  23. package/dist/popover.js +1 -1
  24. package/dist/{select-fy3vtArm.js → select-5QMeUAU6.js} +26 -24
  25. package/dist/select.js +1 -1
  26. package/dist/{sheet-BQJyER59.js → sheet-DmJxgAHc.js} +1 -1
  27. package/dist/sheet.js +1 -1
  28. package/dist/{slider-5ChjjWSR.js → slider-D1zkobtO.js} +1 -1
  29. package/dist/slider.js +1 -1
  30. package/dist/{tabs-rdRXKXxd.js → tabs-C0PYq3Tb.js} +1 -1
  31. package/dist/tabs.js +1 -1
  32. package/dist/{tooltip-DhTHhtJN.js → tooltip-D7j6TsE4.js} +3 -3
  33. package/dist/tooltip.js +1 -1
  34. package/package.json +1 -1
  35. package/dist/content-So3j6SOe.js +0 -18
  36. package/dist/data-table-Ba_uTfPc.js +0 -493
  37. package/dist/participation-Di4UHbzk.js +0 -42
package/MIGRATION.md CHANGED
@@ -5,6 +5,31 @@ records the breaking changes that landed in that cut, newest first. Clean breaks
5
5
  — no legacy aliases, no back-compat shims (L invariant 4); every break is a one-line
6
6
  rename or import re-point per call site.
7
7
 
8
+ ## 10.1.1
9
+
10
+ One type-level change, below; no runtime break. Behaviour a consumer may notice:
11
+
12
+ - **`DockContext` gains a required `expanded: ComputedRef<boolean>`.** The dock's posture,
13
+ whose falling edge closes the overlays its seats opened. A consumer that calls the
14
+ exported `provideDockContext` itself (none of the sibling repos does) passes it. A
15
+ `GlassDock` provides it; nothing changes for a consumer that only reads the context.
16
+ - **A dock collapse closes the menus, popovers and selects its seats opened, and focus
17
+ that stood in them moves to the dock's summary.** The seats are the default slot's; an
18
+ overlay opened from `#persistent` or `#persistent-end` stays open, since its trigger is
19
+ still there. A consumer that closed them by hand on collapse can delete that code. To keep the dock open while an overlay is up, use the
20
+ existing `keepDockOpen` (Popover) or `keepOpen`/`release`.
21
+ - **The dock run no longer roves a seat that holds controls.** A container seat (a `div`
22
+ holding a ToggleGroup, a slider, a band of buttons) and a composite root seated directly
23
+ (a RadioGroup) keep their own tab order and their own arrow keys. Arrows travel only the
24
+ seats that are controls. Nothing to change unless a consumer relied on the run focusing
25
+ a container's first control.
26
+ - **Overlay content takes its z rung from its role.** `DropdownMenuContent` and
27
+ `DropdownMenuSubContent` now paint at `--z-popover`. A consumer that added `z-popover` (or
28
+ any z class) through `class` keeps its class: the consumer class merges last.
29
+ - **`SheetContent` carries the `fixed` utility.** Sheets that rendered in page flow now
30
+ open at their edge. A consumer override that positioned the sheet itself can be deleted.
31
+ - **New:** `<Skeleton shimmer>`.
32
+
8
33
  ## 10.0.0 — ~~UNRELEASED~~ [2026-09-22 · LIVE: tag `v10.0.0` at `dcb0f711`, published with provenance by `release.yml` run 35804200390 attempt 1, `latest` on the registry, unpacked 2,915,902 B = the ratchet datum]
9
34
 
10
35
  **Status.** `package.json` declares ~~`9.0.0`~~ `10.0.0` [2026-09-22 · at the cut, `58f0d243`]
package/dist/aurora.js CHANGED
@@ -1,8 +1,8 @@
1
- import { t as e } from "./_plugin-vue_export-helper-B3ysoDQm.js";
2
- import { t } from "./usePointerVelocityField-Lx26_Yap.js";
3
- import { a as n, c as r } from "./pointerFieldMappings-DXwlU5uj.js";
4
- import { t as i } from "./useScrollProgress-Bq-KPaKM.js";
5
- import { t as a } from "./useIntersectionPause-CzKR3EyP.js";
1
+ import { t as e } from "./useIntersectionPause-CzKR3EyP.js";
2
+ import { t } from "./_plugin-vue_export-helper-B3ysoDQm.js";
3
+ import { t as n } from "./usePointerVelocityField-Lx26_Yap.js";
4
+ import { a as r, c as i } from "./pointerFieldMappings-DXwlU5uj.js";
5
+ import { t as a } from "./useScrollProgress-Bq-KPaKM.js";
6
6
  import { t as o } from "./value-DMhh2R94.js";
7
7
  import { cssToOklch as s, deriveHue as c, gamutMapStop as l, oklchStopToHex as u, oklchToLinear as d, warmCatchLight as f } from "./color.js";
8
8
  import { a as p, c as m, i as h, l as g, n as _, o as v, r as y, s as b, t as x } from "./color.glsl-DTJhdekG.js";
@@ -724,13 +724,13 @@ var Ie = 8, Le = 8, Re = 1, ze = .115, Be = .004, Ve = .06, z = {
724
724
  saturation: .92,
725
725
  paperGrain: .008
726
726
  }, B = .001, Ue = 1e-4;
727
- function V(e, t, i) {
728
- let a = r(e);
729
- if (i > 0) {
727
+ function V(e, t, n) {
728
+ let a = i(e);
729
+ if (n > 0) {
730
730
  let t = e.acceleration.value, n = e.velocity.value, r = -(t.x * n.x + t.y * n.y);
731
731
  r > 0 && (a.burst = Math.min(1, a.burst + r * 3));
732
732
  }
733
- let o = n(a, t);
733
+ let o = r(a, t);
734
734
  return {
735
735
  x: o.cx,
736
736
  y: o.cy,
@@ -2324,12 +2324,12 @@ var Bt = 3.7;
2324
2324
  function Vt(e, t, n, r) {
2325
2325
  return r ? Bt : e.interactivity?.scroll === !0 ? t + Math.min(1, Math.max(0, n)) * e.breathPeriod : t;
2326
2326
  }
2327
- function Ht(e, n, r = {}) {
2327
+ function Ht(e, t, r = {}) {
2328
2328
  let i = Lt(r), a = Rt(r.mode), o = e.style.opacity, s = (t) => {
2329
2329
  a.opaque && (e.style.opacity = String(zt(t)));
2330
2330
  };
2331
- s(n.alpha);
2332
- let c = !r.forceWebGLUnderSoftwareRaster && F(), l = n, u = 0, d = t({
2331
+ s(t.alpha);
2332
+ let c = !r.forceWebGLUnderSoftwareRaster && F(), l = t, u = 0, d = n({
2333
2333
  mass: 1,
2334
2334
  damping: .9,
2335
2335
  attractorResponse: .28,
@@ -2463,8 +2463,8 @@ function Gt(e) {
2463
2463
  r = !0, cancelAnimationFrame(t), n !== void 0 && clearTimeout(n);
2464
2464
  };
2465
2465
  }
2466
- function Kt(e, t, n = {}, r = {}) {
2467
- let o = Ut(t), s = r.renderMode === "css", c = null, l = null, u = null, d = null, f = null, p = null, m = !1, h = M(!1), g = M(!1), _ = 0, v = 0, y = !1;
2466
+ function Kt(t, n, r = {}, i = {}) {
2467
+ let o = Ut(n), s = i.renderMode === "css", c = null, l = null, u = null, d = null, f = null, p = null, m = !1, h = M(!1), g = M(!1), _ = 0, v = 0, y = !1;
2468
2468
  function b() {
2469
2469
  if (g.value = !1, typeof requestAnimationFrame != "function" || (v = performance.now() + 500, _ !== 0)) return;
2470
2470
  let e = (t) => {
@@ -2479,16 +2479,16 @@ function Kt(e, t, n = {}, r = {}) {
2479
2479
  function x() {
2480
2480
  _ !== 0 && cancelAnimationFrame(_), _ = 0, g.value = !1;
2481
2481
  }
2482
- let S = ue(s ? ee() : O("webgl2")), C = i({
2483
- target: e,
2482
+ let S = ue(s ? ee() : O("webgl2")), C = a({
2483
+ target: t,
2484
2484
  trackExit: !0,
2485
2485
  enabled: k(() => !s && o().interactivity?.scroll === !0)
2486
2486
  });
2487
2487
  d = P(C, (e) => c?.setScrollProgress(e), { flush: "sync" });
2488
- let w = n.mode === "capture" || n.initStrategy === "eager";
2488
+ let w = r.mode === "capture" || r.initStrategy === "eager";
2489
2489
  function T(e) {
2490
2490
  let t = e instanceof Error ? e : Error(String(e));
2491
- S.value = te(S.value.engine, S.value.adapter, t), n.onInitError?.(t);
2491
+ S.value = te(S.value.engine, S.value.adapter, t), r.onInitError?.(t);
2492
2492
  }
2493
2493
  async function E() {
2494
2494
  if (m || !c) return;
@@ -2505,15 +2505,15 @@ function Kt(e, t, n = {}, r = {}) {
2505
2505
  }, { deep: !0 }));
2506
2506
  }
2507
2507
  return ce(() => {
2508
- let t = e.value;
2509
- if (!t || s) return;
2508
+ let n = t.value;
2509
+ if (!n || s) return;
2510
2510
  try {
2511
- c = Ht(t, o(), {
2511
+ c = Ht(n, o(), {
2512
2512
  initStrategy: "deferred",
2513
- ...n,
2513
+ ...r,
2514
2514
  onRendererStatus: (e) => {
2515
- let t = e.phase === "ready", r = t && !h.value && y;
2516
- S.value = e, h.value = t, t ? r && b() : x(), n.onRendererStatus?.(e);
2515
+ let t = e.phase === "ready", n = t && !h.value && y;
2516
+ S.value = e, h.value = t, t ? n && b() : x(), r.onRendererStatus?.(e);
2517
2517
  }
2518
2518
  });
2519
2519
  } catch (e) {
@@ -2524,14 +2524,14 @@ function Kt(e, t, n = {}, r = {}) {
2524
2524
  E();
2525
2525
  return;
2526
2526
  }
2527
- p = a(e, {
2527
+ p = e(t, {
2528
2528
  pause: () => c?.pause("off-screen-io"),
2529
2529
  resume: () => c?.resume("off-screen-io")
2530
2530
  }, { pauseWhenHidden: !1 });
2531
- let r = p.isIntersecting;
2532
- u = P(r, (e) => {
2531
+ let i = p.isIntersecting;
2532
+ u = P(i, (e) => {
2533
2533
  !e || m || f || (f = Gt(() => {
2534
- f = null, r.value && E();
2534
+ f = null, i.value && E();
2535
2535
  }));
2536
2536
  }, { immediate: !0 });
2537
2537
  }), se(() => {
@@ -2709,7 +2709,7 @@ function tn(e, t) {
2709
2709
  }
2710
2710
  //#endregion
2711
2711
  //#region src/components/aurora/Aurora.vue?vue&type=script&setup=true&lang.ts
2712
- var nn = ["data-aurora-substrate", "data-aurora-settled"], rn = /*#__PURE__*/ e(/* @__PURE__ */ re({
2712
+ var nn = ["data-aurora-substrate", "data-aurora-settled"], rn = /*#__PURE__*/ t(/* @__PURE__ */ re({
2713
2713
  __name: "Aurora",
2714
2714
  props: {
2715
2715
  config: { default: () => z },
@@ -2,7 +2,7 @@ import { t as e } from "./class-names-FlXcvRRT.js";
2
2
  import { t } from "./primitive-B2t2jdqM.js";
3
3
  import { t as n } from "./selection-DqIULxRG.js";
4
4
  import { n as r, t as i } from "./DialogContent-CwIBvou_.js";
5
- import { t as a } from "./participation-Di4UHbzk.js";
5
+ import { t as a } from "./participation-Cs_UX_Dc.js";
6
6
  import { t as o } from "./rowClass-DYOXwxhO.js";
7
7
  import { computed as s, createBlock as c, createCommentVNode as l, createElementBlock as u, createTextVNode as d, createVNode as f, defineComponent as p, mergeProps as m, normalizeClass as h, openBlock as g, renderSlot as _, toDisplayString as v, unref as y, useAttrs as b, withCtx as x } from "vue";
8
8
  import { ComboboxContent as S, ComboboxEmpty as C, ComboboxGroup as w, ComboboxInput as T, ComboboxItem as E, ComboboxLabel as D, ComboboxRoot as O, ComboboxSeparator as k } from "reka-ui";
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 "./command-C-5xSEJ2.js";
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 "./command-CTQCaHVA.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 };
@@ -43,6 +43,9 @@ export declare function useHoldToken(target: () => HoldTarget | null | undefined
43
43
  export interface DockPortalAttrs {
44
44
  "data-glass-dock-portal"?: string;
45
45
  "data-glass-dock-owner"?: string;
46
+ /** Present when the overlay was opened from the dock's face: the collapse closes
47
+ * it, and the dock reads this to know focus inside it is about to lose its place. */
48
+ "data-glass-dock-face"?: string;
46
49
  }
47
50
  export interface DockParticipation {
48
51
  /** Spread onto the portalled content root. Empty outside a dock. */
@@ -53,7 +56,8 @@ export interface DockParticipation {
53
56
  release: () => void;
54
57
  }
55
58
  /**
56
- * Dock participation for a portalled overlay: the stamp, and the one token.
59
+ * Dock participation for a portalled overlay: the stamp, the one token, and the
60
+ * close on collapse.
57
61
  *
58
62
  * `hold` is the DECLARATIVE arm — pass a ref/getter that is true exactly while
59
63
  * the surface should pin the dock open and the token is driven for you. The
@@ -63,4 +67,12 @@ export interface DockParticipation {
63
67
  export declare function useDockParticipation(o?: {
64
68
  hold?: MaybeRefOrGetter<boolean>;
65
69
  kind?: DockHoldKind;
70
+ /**
71
+ * Close this overlay. Called on the dock's COLLAPSE edge, so a dropdown or
72
+ * popover a seat of the FACE opened never outlives the posture it was opened
73
+ * from. The collapse owns the close: the overlay states how it closes, the dock
74
+ * says when. Outside the face (a `#persistent` control, whose trigger stays
75
+ * painted and live when collapsed) and outside a dock it is never called.
76
+ */
77
+ close?: () => void;
66
78
  }): DockParticipation;
@@ -1,15 +1,15 @@
1
1
  import { type DockProps } from "./composables/useDockShellProps.js";
2
- declare var __VLS_1: {}, __VLS_3: {}, __VLS_5: {}, __VLS_7: {}, __VLS_9: {};
2
+ declare var __VLS_1: {}, __VLS_9: {}, __VLS_11: {}, __VLS_13: {}, __VLS_15: {};
3
3
  type __VLS_Slots = {} & {
4
4
  persistent?: (props: typeof __VLS_1) => any;
5
5
  } & {
6
- default?: (props: typeof __VLS_3) => any;
6
+ default?: (props: typeof __VLS_9) => any;
7
7
  } & {
8
- collapsed?: (props: typeof __VLS_5) => any;
8
+ collapsed?: (props: typeof __VLS_11) => any;
9
9
  } & {
10
- search?: (props: typeof __VLS_7) => any;
10
+ search?: (props: typeof __VLS_13) => any;
11
11
  } & {
12
- 'persistent-end'?: (props: typeof __VLS_9) => any;
12
+ 'persistent-end'?: (props: typeof __VLS_15) => any;
13
13
  };
14
14
  declare const __VLS_base: import("vue").DefineComponent<DockProps, {
15
15
  expanded: import("vue").Ref<boolean, boolean>;
@@ -1,4 +1,4 @@
1
- import type { ComputedRef } from "vue";
1
+ import { type ComputedRef, type InjectionKey } from "vue";
2
2
  export type DockOrientation = "horizontal" | "vertical";
3
3
  /**
4
4
  * What KIND of hold a token is. The two are different facts about the dock and
@@ -46,10 +46,24 @@ export interface DockContext {
46
46
  * popover is not a finger).
47
47
  */
48
48
  held: ComputedRef<boolean>;
49
+ /**
50
+ * The dock's POSTURE — `true` while the expanded face is the one painted. Its
51
+ * falling edge IS the collapse, and every overlay a seat OF THE FACE opened closes
52
+ * on it (`useDockParticipation`'s `close`): a menu left standing over a collapsed
53
+ * dock points at a control that is no longer there. A `#persistent` control is
54
+ * still there, so what it opened stays (`DockFace`, below). One writer (the dock),
55
+ * one edge, no timer.
56
+ */
57
+ expanded: ComputedRef<boolean>;
49
58
  }
50
- export declare const DOCK_CONTEXT_KEY: import("vue").InjectionKey<DockContext>;
59
+ export declare const DOCK_CONTEXT_KEY: InjectionKey<DockContext>;
51
60
  export declare function provideDockContext(context: DockContext): void;
52
61
  /** Strict — throws when used outside `<GlassDock>`. */
53
62
  export declare const useDockContext: () => DockContext;
54
63
  /** Befitting silent default for primitives that may render outside a dock. */
55
64
  export declare const useOptionalDockContext: () => DockContext | null;
65
+ export declare const DockFace: import("vue").DefineComponent<{}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
66
+ [key: string]: any;
67
+ }>[] | undefined, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
68
+ /** `true` for a descendant of the dock's face, the region the collapse takes away. */
69
+ export declare function useInDockFace(): boolean;
@@ -1 +1 @@
1
- @layer components{:where([data-slot="sheet-content"]){position: fixed;z-index: var(--z-modal);}}@property --detent-t{syntax: "<number>";inherits: false;initial-value: 0;}@layer components{:where([data-slot="sheet-content"][data-detents]){--sheet-seam-width: 1px;contain: layout paint;display: grid;grid-template-rows: auto minmax(0,1fr);}:where([data-slot="sheet-content"][data-modal="false"]){z-index: calc(var(--z-dock) - 1);}:where( [data-slot="sheet-content"][data-detents] > [data-slot="sheet-detent-handle"],[data-slot="sheet-content"][data-detents] [data-slot="dialog-header"] ){touch-action: none;}:where([data-slot="sheet-content"][data-dragging]){cursor: grabbing;user-select: none;}:where([data-slot="sheet-content"] > [data-slot="sheet-content-region"]){display: grid;align-content: start;gap: var(--space-body);}:where([data-slot="sheet-content"][data-scroll] > [data-slot="sheet-content-region"]){min-block-size: 0;max-block-size: calc(100dvh - 2 * var(--space-family));overflow-y: auto;}:where( [data-slot="sheet-content"][data-side="left"]:not([data-detents]) > [data-slot="sheet-content-region"],[data-slot="sheet-content"][data-side="right"]:not([data-detents]) > [data-slot="sheet-content-region"] ){display: flex;flex-direction: column;block-size: 100%;min-block-size: 0;}:where( [data-slot="sheet-content"][data-side="left"] > [data-slot="sheet-content-region"] > :only-child,[data-slot="sheet-content"][data-side="right"] > [data-slot="sheet-content-region"] > :only-child ){min-block-size: 0;}:where([data-slot="sheet-content"][data-detents] > [data-slot="sheet-content-region"]){display: grid;grid-template-rows: minmax(0,auto) minmax(1lh,1fr) auto;align-content: end;min-block-size: 0;gap: var(--space-body);}:where( [data-slot="sheet-content"][data-detents] > [data-slot="sheet-content-region"] > :not([data-slot="dialog-header"]):not([data-slot="dialog-footer"]) ){min-block-size: 0;overflow-y: auto;overscroll-behavior: contain;}:where( [data-slot="sheet-content"][data-detents] > [data-slot="sheet-content-region"] > [data-slot="dialog-header"] ){overflow: hidden;padding-block-end: var(--space-body);border-block-end: var(--sheet-seam-width) solid oklch(from var(--glass-veil-ink) l c h / calc(var(--glass-veil-step) * 2));}:where( [data-slot="sheet-content"][data-detents] > [data-slot="sheet-content-region"] > [data-slot="dialog-footer"] ){padding-block-start: var(--space-body);border-block-start: var(--sheet-seam-width) solid oklch(from var(--glass-veil-ink) l c h / calc(var(--glass-veil-step) * 2));}:where([data-slot="sheet-content"]:not([data-detents]):has([data-slot="dialog-close"])) :where([data-slot="dialog-header"]){padding-inline-end: calc(var(--touch-target) + var(--space-atom));}:where([data-slot="sheet-content"][data-detents] > [data-slot="sheet-detent-handle"]){display: flex;align-items: center;justify-content: center;min-block-size: var(--touch-target);cursor: grab;}:where([data-slot="sheet-detent-handle"] > [data-slot="sheet-detent-grip"]){display: block;inline-size: calc( var(--space-section) + var(--space-family) * clamp(0,var(--detent-t),1) );block-size: calc(var(--space-atom) / 2);border-radius: var(--radius-pill);background-color: currentcolor;opacity: calc(0.45 + ((0.85 - 0.45) / 2) * clamp(0,var(--detent-t),1));transition: opacity var(--spring-dock-duration) var(--spring-dock),inline-size var(--spring-dock-duration) var(--spring-dock);}@media (hover: hover){:where([data-slot="sheet-detent-handle"]:hover > [data-slot="sheet-detent-grip"]){opacity: 0.85;}}:where([data-slot="sheet-detent-handle"]:focus-visible){outline: none;}:where( [data-slot="sheet-detent-handle"]:focus-visible > [data-slot="sheet-detent-grip"],[data-slot="sheet-content"][data-dragging] [data-slot="sheet-detent-grip"] ){opacity: 0.85;}:where( [data-slot="sheet-detent-handle"]:focus-visible > [data-slot="sheet-detent-grip"] ){box-shadow: 0 0 0 3px var(--focus-ring-color);}@media (prefers-reduced-motion: reduce){:where([data-slot="sheet-detent-grip"]){transition: none;}}:where([data-slot="sheet-content"]){anchor-name: --glass-sheet-edge;}:where([data-slot="sheet-content"][data-surface="glass"]){-webkit-backdrop-filter: none;backdrop-filter: none;}:where([data-slot="glass-graded-halo"]){position: fixed;position-anchor: --glass-sheet-edge;top: anchor(top);right: anchor(right);bottom: anchor(bottom);left: anchor(left);z-index: calc(var(--z-modal) - 1);pointer-events: none;background: linear-gradient( var(--sheet-edge-direction),color-mix(in oklab,var(--glass-plate-overlay) 10%,transparent) 0,color-mix(in oklab,var(--glass-plate-overlay) 16%,transparent) 40px,color-mix(in oklab,var(--glass-plate-overlay) 34%,transparent) 120px,color-mix(in oklab,var(--glass-plate-overlay) 34%,transparent) 100% );-webkit-backdrop-filter: blur(calc(34px * var(--glass-level))) saturate(var(--glass-saturate));backdrop-filter: blur(calc(34px * var(--glass-level))) saturate(var(--glass-saturate));mask-image: linear-gradient( var(--sheet-edge-direction),rgb(0 0 0 / 0.325) 0,rgb(0 0 0 / 0.45) 40px,black 120px,black 100% );}:where([data-slot="glass-graded-halo"][data-modal="false"]){z-index: calc(var(--z-dock) - 2);}:where([data-slot="glass-graded-halo"][data-side="top"]){--sheet-edge-direction: to top;border-end-start-radius: var(--radius-3xl);border-end-end-radius: var(--radius-3xl);}:where([data-slot="glass-graded-halo"][data-side="bottom"]){--sheet-edge-direction: to bottom;border-start-start-radius: var(--radius-3xl);border-start-end-radius: var(--radius-3xl);}:where([data-slot="glass-graded-halo"][data-side="left"]){--sheet-edge-direction: to left;border-start-end-radius: var(--radius-3xl);border-end-end-radius: var(--radius-3xl);}:where([data-slot="glass-graded-halo"][data-side="right"]){--sheet-edge-direction: to right;border-start-start-radius: var(--radius-3xl);border-end-start-radius: var(--radius-3xl);}:where([data-slot="glass-graded-halo"][data-detents][data-side="bottom"]){height: 100dvh;bottom: auto;}:where([data-slot="glass-graded-halo"][data-detents][data-side="top"]){height: 100dvh;top: auto;}:where([data-slot="glass-graded-halo"][data-detents][data-side="left"]){width: 100dvw;left: auto;}:where([data-slot="glass-graded-halo"][data-detents][data-side="right"]){width: 100dvw;right: auto;}@media (prefers-reduced-transparency: reduce),(forced-colors: active){:where([data-slot="glass-graded-halo"]){display: none;}}:where([data-slot="sheet-content"][data-side="top"]){left: 0;right: 0;top: 0;}:where([data-slot="sheet-content"][data-side="bottom"]){left: 0;right: 0;bottom: 0;}:where([data-slot="sheet-content"][data-side="left"]){top: 0;bottom: 0;left: 0;height: 100%;width: 75%;}:where([data-slot="sheet-content"][data-side="right"]){top: 0;bottom: 0;right: 0;height: 100%;width: 75%;}@media (min-width: 40rem){:where([data-slot="sheet-content"][data-side="left"]),:where([data-slot="sheet-content"][data-side="right"]){max-width: 24rem;}}:where( [data-slot="sheet-content"][data-detents][data-side="bottom"],[data-slot="sheet-content"][data-detents][data-side="top"] ){block-size: calc(clamp(0,var(--detent-t),1) * 100dvh);min-block-size: calc( 2 * var(--space-family) + var(--sheet-seam-width) + var(--touch-target) + 2 * var(--space-body) + var(--space-body) + var(--sheet-seam-width) + 1lh + var(--space-body) + var(--sheet-seam-width) + var(--touch-target) );max-block-size: 100dvh;}:where( [data-slot="sheet-content"][data-detents][data-side="left"],[data-slot="sheet-content"][data-detents][data-side="right"] ){width: calc(clamp(0,var(--detent-t),1) * 100dvw);max-width: 100dvw;height: 100%;}:where([data-slot="sheet-content"]){padding-inline: var(--space-family);padding-block: var(--space-family);}:where([data-slot="sheet-content"][data-side="top"]){border-end-start-radius: var(--radius-3xl);border-end-end-radius: var(--radius-3xl);}:where([data-slot="sheet-content"][data-side="bottom"]){border-start-start-radius: var(--radius-3xl);border-start-end-radius: var(--radius-3xl);}:where([data-slot="sheet-content"][data-side="left"]){border-start-end-radius: var(--radius-3xl);border-end-end-radius: var(--radius-3xl);}:where([data-slot="sheet-content"][data-side="right"]){border-start-start-radius: var(--radius-3xl);border-end-start-radius: var(--radius-3xl);}}
1
+ @layer components{:where([data-slot="sheet-content"]){z-index: var(--z-modal);}}@property --detent-t{syntax: "<number>";inherits: false;initial-value: 0;}@layer components{:where([data-slot="sheet-content"][data-detents]){--sheet-seam-width: 1px;contain: layout paint;display: grid;grid-template-rows: auto minmax(0,1fr);}:where([data-slot="sheet-content"][data-modal="false"]){z-index: calc(var(--z-dock) - 1);}:where( [data-slot="sheet-content"][data-detents] > [data-slot="sheet-detent-handle"],[data-slot="sheet-content"][data-detents] [data-slot="dialog-header"] ){touch-action: none;}:where([data-slot="sheet-content"][data-dragging]){cursor: grabbing;user-select: none;}:where([data-slot="sheet-content"] > [data-slot="sheet-content-region"]){display: grid;align-content: start;gap: var(--space-body);}:where([data-slot="sheet-content"][data-scroll] > [data-slot="sheet-content-region"]){min-block-size: 0;max-block-size: calc(100dvh - 2 * var(--space-family));overflow-y: auto;}:where( [data-slot="sheet-content"][data-side="left"]:not([data-detents]) > [data-slot="sheet-content-region"],[data-slot="sheet-content"][data-side="right"]:not([data-detents]) > [data-slot="sheet-content-region"] ){display: flex;flex-direction: column;block-size: 100%;min-block-size: 0;}:where( [data-slot="sheet-content"][data-side="left"] > [data-slot="sheet-content-region"] > :only-child,[data-slot="sheet-content"][data-side="right"] > [data-slot="sheet-content-region"] > :only-child ){min-block-size: 0;}:where([data-slot="sheet-content"][data-detents] > [data-slot="sheet-content-region"]){display: grid;grid-template-rows: minmax(0,auto) minmax(1lh,1fr) auto;align-content: end;min-block-size: 0;gap: var(--space-body);}:where( [data-slot="sheet-content"][data-detents] > [data-slot="sheet-content-region"] > :not([data-slot="dialog-header"]):not([data-slot="dialog-footer"]) ){min-block-size: 0;overflow-y: auto;overscroll-behavior: contain;}:where( [data-slot="sheet-content"][data-detents] > [data-slot="sheet-content-region"] > [data-slot="dialog-header"] ){overflow: hidden;padding-block-end: var(--space-body);border-block-end: var(--sheet-seam-width) solid oklch(from var(--glass-veil-ink) l c h / calc(var(--glass-veil-step) * 2));}:where( [data-slot="sheet-content"][data-detents] > [data-slot="sheet-content-region"] > [data-slot="dialog-footer"] ){padding-block-start: var(--space-body);border-block-start: var(--sheet-seam-width) solid oklch(from var(--glass-veil-ink) l c h / calc(var(--glass-veil-step) * 2));}:where([data-slot="sheet-content"]:not([data-detents]):has([data-slot="dialog-close"])) :where([data-slot="dialog-header"]){padding-inline-end: calc(var(--touch-target) + var(--space-atom));}:where([data-slot="sheet-content"][data-detents] > [data-slot="sheet-detent-handle"]){display: flex;align-items: center;justify-content: center;min-block-size: var(--touch-target);cursor: grab;}:where([data-slot="sheet-detent-handle"] > [data-slot="sheet-detent-grip"]){display: block;inline-size: calc( var(--space-section) + var(--space-family) * clamp(0,var(--detent-t),1) );block-size: calc(var(--space-atom) / 2);border-radius: var(--radius-pill);background-color: currentcolor;opacity: calc(0.45 + ((0.85 - 0.45) / 2) * clamp(0,var(--detent-t),1));transition: opacity var(--spring-dock-duration) var(--spring-dock),inline-size var(--spring-dock-duration) var(--spring-dock);}@media (hover: hover){:where([data-slot="sheet-detent-handle"]:hover > [data-slot="sheet-detent-grip"]){opacity: 0.85;}}:where([data-slot="sheet-detent-handle"]:focus-visible){outline: none;}:where( [data-slot="sheet-detent-handle"]:focus-visible > [data-slot="sheet-detent-grip"],[data-slot="sheet-content"][data-dragging] [data-slot="sheet-detent-grip"] ){opacity: 0.85;}:where( [data-slot="sheet-detent-handle"]:focus-visible > [data-slot="sheet-detent-grip"] ){box-shadow: 0 0 0 3px var(--focus-ring-color);}@media (prefers-reduced-motion: reduce){:where([data-slot="sheet-detent-grip"]){transition: none;}}:where([data-slot="sheet-content"]){anchor-name: --glass-sheet-edge;}:where([data-slot="sheet-content"][data-surface="glass"]){-webkit-backdrop-filter: none;backdrop-filter: none;}:where([data-slot="glass-graded-halo"]){position: fixed;position-anchor: --glass-sheet-edge;top: anchor(top);right: anchor(right);bottom: anchor(bottom);left: anchor(left);z-index: calc(var(--z-modal) - 1);pointer-events: none;background: linear-gradient( var(--sheet-edge-direction),color-mix(in oklab,var(--glass-plate-overlay) 10%,transparent) 0,color-mix(in oklab,var(--glass-plate-overlay) 16%,transparent) 40px,color-mix(in oklab,var(--glass-plate-overlay) 34%,transparent) 120px,color-mix(in oklab,var(--glass-plate-overlay) 34%,transparent) 100% );-webkit-backdrop-filter: blur(calc(34px * var(--glass-level))) saturate(var(--glass-saturate));backdrop-filter: blur(calc(34px * var(--glass-level))) saturate(var(--glass-saturate));mask-image: linear-gradient( var(--sheet-edge-direction),rgb(0 0 0 / 0.325) 0,rgb(0 0 0 / 0.45) 40px,black 120px,black 100% );}:where([data-slot="glass-graded-halo"][data-modal="false"]){z-index: calc(var(--z-dock) - 2);}:where([data-slot="glass-graded-halo"][data-side="top"]){--sheet-edge-direction: to top;border-end-start-radius: var(--radius-3xl);border-end-end-radius: var(--radius-3xl);}:where([data-slot="glass-graded-halo"][data-side="bottom"]){--sheet-edge-direction: to bottom;border-start-start-radius: var(--radius-3xl);border-start-end-radius: var(--radius-3xl);}:where([data-slot="glass-graded-halo"][data-side="left"]){--sheet-edge-direction: to left;border-start-end-radius: var(--radius-3xl);border-end-end-radius: var(--radius-3xl);}:where([data-slot="glass-graded-halo"][data-side="right"]){--sheet-edge-direction: to right;border-start-start-radius: var(--radius-3xl);border-end-start-radius: var(--radius-3xl);}:where([data-slot="glass-graded-halo"][data-detents][data-side="bottom"]){height: 100dvh;bottom: auto;}:where([data-slot="glass-graded-halo"][data-detents][data-side="top"]){height: 100dvh;top: auto;}:where([data-slot="glass-graded-halo"][data-detents][data-side="left"]){width: 100dvw;left: auto;}:where([data-slot="glass-graded-halo"][data-detents][data-side="right"]){width: 100dvw;right: auto;}@media (prefers-reduced-transparency: reduce),(forced-colors: active){:where([data-slot="glass-graded-halo"]){display: none;}}:where([data-slot="sheet-content"][data-side="top"]){left: 0;right: 0;top: 0;}:where([data-slot="sheet-content"][data-side="bottom"]){left: 0;right: 0;bottom: 0;}:where([data-slot="sheet-content"][data-side="left"]){top: 0;bottom: 0;left: 0;height: 100%;width: 75%;}:where([data-slot="sheet-content"][data-side="right"]){top: 0;bottom: 0;right: 0;height: 100%;width: 75%;}@media (min-width: 40rem){:where([data-slot="sheet-content"][data-side="left"]),:where([data-slot="sheet-content"][data-side="right"]){max-width: 24rem;}}:where( [data-slot="sheet-content"][data-detents][data-side="bottom"],[data-slot="sheet-content"][data-detents][data-side="top"] ){block-size: calc(clamp(0,var(--detent-t),1) * 100dvh);min-block-size: calc( 2 * var(--space-family) + var(--sheet-seam-width) + var(--touch-target) + 2 * var(--space-body) + var(--space-body) + var(--sheet-seam-width) + 1lh + var(--space-body) + var(--sheet-seam-width) + var(--touch-target) );max-block-size: 100dvh;}:where( [data-slot="sheet-content"][data-detents][data-side="left"],[data-slot="sheet-content"][data-detents][data-side="right"] ){width: calc(clamp(0,var(--detent-t),1) * 100dvw);max-width: 100dvw;height: 100%;}:where([data-slot="sheet-content"]){padding-inline: var(--space-family);padding-block: var(--space-family);}:where([data-slot="sheet-content"][data-side="top"]){border-end-start-radius: var(--radius-3xl);border-end-end-radius: var(--radius-3xl);}:where([data-slot="sheet-content"][data-side="bottom"]){border-start-start-radius: var(--radius-3xl);border-start-end-radius: var(--radius-3xl);}:where([data-slot="sheet-content"][data-side="left"]){border-start-end-radius: var(--radius-3xl);border-end-end-radius: var(--radius-3xl);}:where([data-slot="sheet-content"][data-side="right"]){border-start-start-radius: var(--radius-3xl);border-end-start-radius: var(--radius-3xl);}}
@@ -1,6 +1,12 @@
1
1
  import { type HTMLAttributes } from "vue";
2
2
  type __VLS_Props = {
3
3
  class?: HTMLAttributes["class"];
4
+ /**
5
+ * A travelling sheen across the reserved shape in place of the breathe. Ink
6
+ * only (the one-ink ladder, no hue), static under `prefers-reduced-motion`,
7
+ * paused while the tile is off-screen or the document is hidden.
8
+ */
9
+ shimmer?: boolean;
4
10
  };
5
11
  declare const __VLS_export: 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>;
6
12
  declare const _default: typeof __VLS_export;
@@ -0,0 +1,22 @@
1
+ import { t as e } from "./class-names-FlXcvRRT.js";
2
+ import { t } from "./resolve-DdrNvBby.js";
3
+ //#region src/components/_shared/overlay/content.ts
4
+ var n = {
5
+ hint: "tooltip",
6
+ menu: "menu",
7
+ panel: "overlay"
8
+ }, r = {
9
+ hint: "z-tooltip",
10
+ menu: "z-popover",
11
+ panel: "z-popover"
12
+ };
13
+ function i(i) {
14
+ return {
15
+ class: e(t("floating"), "glass-overlay-plate glass-reveal", r[i.role], i.class),
16
+ "data-slot": i.slot,
17
+ "data-reveal": n[i.role],
18
+ ...i.dock
19
+ };
20
+ }
21
+ //#endregion
22
+ export { i as t };