@mkbabb/glass-ui 3.7.0 → 3.8.0

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 (213) hide show
  1. package/dist/CardAction-q2qHCJFG.js +157 -0
  2. package/dist/{CommandShortcut-CY0aQTz5.js → CommandShortcut-SzWRhROC.js} +2 -2
  3. package/dist/{ContextMenuSubContent-BeDz7G6f.js → ContextMenuSubContent-Do977Cbf.js} +1 -1
  4. package/dist/{DataTable-gtPOLZvl.js → DataTable-CvlWXz65.js} +3 -3
  5. package/dist/DeckProgress-AVgbIULY.js +23 -0
  6. package/dist/{DialogContent-DG1YMR-P.js → DialogContent-DjZWT3lK.js} +2 -2
  7. package/dist/{DialogFooter-BCIaDP15.js → DialogFooter-Gprw8H_A.js} +1 -1
  8. package/dist/{DiscoGlyph-ZoBYpoxI.js → DiscoGlyph-CG0F410s.js} +1 -1
  9. package/dist/{GlyphFace-Ce_oe3tM.js → GlyphFace-DRjDkB0s.js} +1 -1
  10. package/dist/{HoverPopover-DXpOEw1P.js → HoverPopover-D56O6Ylp.js} +1 -1
  11. package/dist/{IconTooltip-Cu86JR4e.js → IconTooltip-D2T5nYOM.js} +1 -1
  12. package/dist/{MetricBadge-D-bRaQUD.js → MetricBadge-lTc002u2.js} +1 -1
  13. package/dist/{Notification-B5WHP3_1.js → Notification-BxK8LZMw.js} +1 -1
  14. package/dist/{PopoverContent-F1bWnYoh.js → PopoverContent-BId6ggf_.js} +1 -1
  15. package/dist/{Progress-c4vo4ALi.js → Progress-iEuD9pxG.js} +4 -4
  16. package/dist/{ScrollingText-BEp377U5.js → ScrollingText-CVyqxvfv.js} +2 -2
  17. package/dist/{SelectScrollDownButton-DAo5NmY_.js → SelectScrollDownButton-C7TRe-ep.js} +2 -2
  18. package/dist/{ToggleGroupItem-C-AIkBUw.js → ToggleGroupItem-CkXUcBlt.js} +1 -1
  19. package/dist/{UnderlineTabs-D_c1iYo-.js → UnderlineTabs-Uxn-R3MT.js} +2 -2
  20. package/dist/animated-digit.js +2 -2
  21. package/dist/api/index.d.ts +4 -2
  22. package/dist/api.js +1 -1
  23. package/dist/aurora.js +336 -405
  24. package/dist/canvas.d.ts +1 -0
  25. package/dist/canvas.js +3 -0
  26. package/dist/card.js +1 -1
  27. package/dist/carousel.js +105 -104
  28. package/dist/collapsible.js +1 -1
  29. package/dist/{color-DjJCAQ6f.js → color-DMLTunJK.js} +22 -14
  30. package/dist/color.js +2 -2
  31. package/dist/command.js +1 -1
  32. package/dist/compile-BBTRjvQS.js +158 -0
  33. package/dist/components/custom/aurora/composables/atoms.d.ts +90 -25
  34. package/dist/components/custom/aurora/composables/color.d.ts +0 -12
  35. package/dist/components/custom/aurora/composables/uniformBridge.d.ts +34 -23
  36. package/dist/components/custom/aurora/constants/presets.d.ts +10 -7
  37. package/dist/components/custom/aurora/constants/renderMode.d.ts +22 -0
  38. package/dist/components/custom/aurora/constants/shaders/aurora.wgsl.d.ts +1 -1
  39. package/dist/components/custom/aurora/constants/shaders/brush.glsl.d.ts +1 -1
  40. package/dist/components/custom/aurora/constants/shaders/composition.glsl.d.ts +1 -1
  41. package/dist/components/custom/aurora/constants/shaders/mediums.glsl.d.ts +1 -1
  42. package/dist/components/custom/aurora/index.d.ts +3 -3
  43. package/dist/components/custom/constellation/Constellation.vue.d.ts +40 -5
  44. package/dist/components/custom/constellation/constellationField.d.ts +110 -5
  45. package/dist/components/custom/constellation/index.d.ts +2 -2
  46. package/dist/components/custom/dock/GlassDock.vue.d.ts +12 -4
  47. package/dist/components/custom/dock/composables/dockMorphContext.d.ts +57 -0
  48. package/dist/components/custom/dock/composables/index.d.ts +3 -0
  49. package/dist/components/custom/dock/composables/useDockHold.d.ts +61 -0
  50. package/dist/components/custom/dock/composables/useLayerTransition.d.ts +13 -59
  51. package/dist/components/custom/dock/index.d.ts +2 -0
  52. package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +13 -0
  53. package/dist/components/custom/goo-blob/composables/useBlobMood.d.ts +4 -0
  54. package/dist/components/custom/goo-blob/composables/useBlobPointer.d.ts +2 -0
  55. package/dist/components/custom/goo-blob/composables/useBlobSatellites.d.ts +2 -0
  56. package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +20 -5
  57. package/dist/components/custom/goo-blob/index.d.ts +1 -1
  58. package/dist/components/custom/goo-blob/shaders/sdf-body.glsl.d.ts +1 -1
  59. package/dist/components/custom/goo-blob/shaders/watercolor-edges.glsl.d.ts +2 -2
  60. package/dist/components/custom/goo-blob/types.d.ts +8 -0
  61. package/dist/components/ui/card/Card.vue.d.ts +23 -7
  62. package/dist/components/ui/card/index.d.ts +1 -1
  63. package/dist/components/ui/progress/ProgressDefault.vue.d.ts +14 -4
  64. package/dist/components/ui/slider/Slider.vue.d.ts +3 -1
  65. package/dist/composables/color/index.d.ts +19 -0
  66. package/dist/composables/dom/index.d.ts +1 -1
  67. package/dist/composables/dom/useResolveTokenColor.d.ts +27 -0
  68. package/dist/composables/glass/canvas2d/index.d.ts +2 -1
  69. package/dist/composables/glass/canvas2d/resolveCanvasColor.d.ts +20 -0
  70. package/dist/composables/glass/canvas2d/useCanvas2D.d.ts +15 -1
  71. package/dist/composables/glass/index.d.ts +3 -1
  72. package/dist/composables/glass/useSpecularTracking.d.ts +33 -0
  73. package/dist/composables/glass/webgl/createCanvasLifecycle.d.ts +1 -1
  74. package/dist/composables/glass/webgl/shaders/procedural-color.glsl.d.ts +4 -0
  75. package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +1 -1
  76. package/dist/composables/motion/core/index.d.ts +1 -0
  77. package/dist/configurator.js +1 -1
  78. package/dist/confirm-dialog.js +1 -1
  79. package/dist/constellation.js +144 -75
  80. package/dist/context-menu.js +2 -2
  81. package/dist/controls.js +2 -2
  82. package/dist/dark.js +1 -1
  83. package/dist/data-table.js +1 -1
  84. package/dist/deck-progress.d.ts +1 -0
  85. package/dist/deck-progress.js +2 -0
  86. package/dist/dialog.js +2 -2
  87. package/dist/disco-glyph.js +1 -1
  88. package/dist/dock.js +386 -285
  89. package/dist/{dockContext-DLgrVWsU.js → dockContext-BKeIMmNk.js} +1 -1
  90. package/dist/dom.js +6 -6
  91. package/dist/{dropdown-menu-BWpwutt0.js → dropdown-menu-B_4bWyyG.js} +2 -2
  92. package/dist/dropdown-menu.js +1 -1
  93. package/dist/expandable-container.js +1 -1
  94. package/dist/fonts/README.md +26 -18
  95. package/dist/forms.js +3 -3
  96. package/dist/fourier-field.js +37 -37
  97. package/dist/glass-carousel.js +12 -7
  98. package/dist/glass-panel.js +7 -7
  99. package/dist/glass-ui.css +1 -1
  100. package/dist/glass-ui.js +150 -162
  101. package/dist/glyph-face.js +2 -2
  102. package/dist/goo-blob.js +353 -270
  103. package/dist/header-ribbon.js +1 -1
  104. package/dist/hover-card.js +1 -1
  105. package/dist/hover-popover.js +1 -1
  106. package/dist/icon-tooltip.js +1 -1
  107. package/dist/index.d.ts +1 -0
  108. package/dist/instrument-chassis.js +1 -1
  109. package/dist/instrument-rail.js +1 -1
  110. package/dist/keyboard.js +1 -1
  111. package/dist/{keys-Dyf_uTs5.js → keys-BsYjEFOW.js} +1 -1
  112. package/dist/label.js +1 -1
  113. package/dist/labeled-field.js +6 -6
  114. package/dist/metric-badge.js +1 -1
  115. package/dist/metric-stack.js +1 -1
  116. package/dist/motion-core.js +65 -65
  117. package/dist/motion.js +3 -3
  118. package/dist/notification.js +1 -1
  119. package/dist/paper-backdrop.js +1 -1
  120. package/dist/popover.js +1 -1
  121. package/dist/progress.js +1 -1
  122. package/dist/pulse.js +1 -1
  123. package/dist/reactive.js +2 -2
  124. package/dist/resolveCanvasColor-BBiYfp8g.js +11 -0
  125. package/dist/responsive-tabs.js +2 -2
  126. package/dist/scrolling-text.js +1 -1
  127. package/dist/search.js +7 -7
  128. package/dist/select.js +3 -3
  129. package/dist/separator.js +1 -1
  130. package/dist/{sheet-Cv1uO-Gq.js → sheet-VZEtNFvO.js} +2 -2
  131. package/dist/sheet.js +1 -1
  132. package/dist/slider-D9puf-Ko.js +142 -0
  133. package/dist/slider.js +1 -1
  134. package/dist/sortable-list.js +3 -3
  135. package/dist/styles/components.css +1 -1
  136. package/dist/styles/dock-controls.css +21 -18
  137. package/dist/styles/dock.css +415 -224
  138. package/dist/styles/fonts.css +0 -25
  139. package/dist/styles/glass.css +100 -41
  140. package/dist/styles/theme.css +9 -2
  141. package/dist/styles/tokens.css +139 -32
  142. package/dist/styles/typography.css +52 -69
  143. package/dist/styles/utilities.css +2 -1
  144. package/dist/styles/view-transition.css +12 -40
  145. package/dist/switch.js +1 -1
  146. package/dist/tabs.js +5 -5
  147. package/dist/timeline.js +3 -3
  148. package/dist/toast.js +1 -1
  149. package/dist/toggle-group.js +1 -1
  150. package/dist/tooltip.js +1 -1
  151. package/dist/typewriter.js +1 -1
  152. package/dist/{useAnimatedNumber-C5I3wWd8.js → useAnimatedNumber-C_3wZLx4.js} +1 -1
  153. package/dist/{useCanvas2D-C31yfUGY.js → useCanvas2D-ClrQuZtp.js} +2 -1
  154. package/dist/{useConfiguratorState-B24TcgIn.js → useConfiguratorState-CMff4GzH.js} +3 -3
  155. package/dist/useResolveTokenColor-r9pnNjqK.js +24 -0
  156. package/dist/useSpecularTracking-BVRZsRHA.js +26 -0
  157. package/dist/{useTextHighlight-aMPdEpkq.js → useTextHighlight-9nMW23Qb.js} +1 -1
  158. package/dist/{useTouchGate-YQRwyUGU.js → useTouchGate-WFyJYsth.js} +1 -1
  159. package/dist/vReveal-CqaCz_mC.js +44 -0
  160. package/dist/watercolor-dot.js +2 -2
  161. package/package.json +36 -4
  162. package/src/fonts/README.md +26 -18
  163. package/src/styles/dock-controls.css +21 -18
  164. package/src/styles/dock.css +415 -224
  165. package/src/styles/fonts.css +0 -25
  166. package/src/styles/glass.css +100 -41
  167. package/src/styles/theme.css +9 -2
  168. package/src/styles/tokens.css +139 -32
  169. package/src/styles/typography.css +52 -69
  170. package/src/styles/utilities.css +2 -1
  171. package/src/styles/view-transition.css +12 -40
  172. package/dist/CardAction-D8nSE62a.js +0 -163
  173. package/dist/compile-iM4IUB66.js +0 -158
  174. package/dist/fonts/fraunces/fraunces-latin.woff2 +0 -0
  175. package/dist/slider-BA9wIs5e.js +0 -130
  176. package/dist/useViewTransition-DaN5Zrox.js +0 -21
  177. package/dist/vReveal-BE2TsPoR.js +0 -24
  178. package/src/fonts/fraunces/fraunces-latin.woff2 +0 -0
  179. /package/dist/{CollapsibleContent-D7UNsXQr.js → CollapsibleContent-CP9qF1v4.js} +0 -0
  180. /package/dist/{ContextMenuContent-DGKZX1Du.js → ContextMenuContent-DDa0v27s.js} +0 -0
  181. /package/dist/{HoverCardContent-Bn0UBMY9.js → HoverCardContent-B6CcQ8He.js} +0 -0
  182. /package/dist/{Input-DWQQIOC4.js → Input-DVG_J0ne.js} +0 -0
  183. /package/dist/{InstrumentChassis-BLJBl1BW.js → InstrumentChassis-C2f6cBaQ.js} +0 -0
  184. /package/dist/{InstrumentRail-BElFwKyt.js → InstrumentRail-CUJ05YVG.js} +0 -0
  185. /package/dist/{Label-DBc7bKzZ.js → Label-zRfbQdCn.js} +0 -0
  186. /package/dist/{ModalOverlay-D1VrWyoi.js → ModalOverlay-B1GkAjNb.js} +0 -0
  187. /package/dist/{PaperBackdrop-DCGoGatv.js → PaperBackdrop-CqwjnfLv.js} +0 -0
  188. /package/dist/{SelectGroup-BcaFjvP4.js → SelectGroup-BFiod7X2.js} +0 -0
  189. /package/dist/{SelectSeparator-COFMJGng.js → SelectSeparator-L8pPEn4L.js} +0 -0
  190. /package/dist/{Separator-DZyqsCum.js → Separator-D7sD7RKj.js} +0 -0
  191. /package/dist/{Switch-2rsAtDfA.js → Switch-LDKLmmgx.js} +0 -0
  192. /package/dist/{TabsList-COqIdW7i.js → TabsList-qyHZ2lKY.js} +0 -0
  193. /package/dist/{Toaster-BMaeziJJ.js → Toaster-CabYEEF_.js} +0 -0
  194. /package/dist/{TooltipProvider-CD2IXfRv.js → TooltipProvider-CmZzCuaG.js} +0 -0
  195. /package/dist/{_plugin-vue_export-helper-gLzyemvl.js → _plugin-vue_export-helper-ok8pgSl5.js} +0 -0
  196. /package/dist/composables/{dom → motion}/useTextHighlight.d.ts +0 -0
  197. /package/dist/{constants-CS75AWHG.js → constants-BPOqYJAm.js} +0 -0
  198. /package/dist/{createContext-CvNyBk4o.js → createContext-B44Sah_H.js} +0 -0
  199. /package/dist/{menuItemVariants-B4eFR5Ix.js → menuItemVariants-DKM85SNE.js} +0 -0
  200. /package/dist/{presets-BKVyQfbt.js → presets-D1XPuTj-.js} +0 -0
  201. /package/dist/{prng-wHuHlNHE.js → prng-COGhh02-.js} +0 -0
  202. /package/dist/{useGlassRenderer-HebgSEgN.js → useGlassRenderer-5I0YkI4t.js} +0 -0
  203. /package/dist/{useGlobalDark-yhL4Wp-s.js → useGlobalDark-D3EBWzXK.js} +0 -0
  204. /package/dist/{useIntersectionPause-Cc-H9ees.js → useIntersectionPause-Bj4sPkMh.js} +0 -0
  205. /package/dist/{useInterval-D3USn0yc.js → useInterval-CcLfq2WU.js} +0 -0
  206. /package/dist/{useKeyboardShortcuts-Be3w_Rwk.js → useKeyboardShortcuts-BXWXOZ-9.js} +0 -0
  207. /package/dist/{useResizeObserver-CSyxGxIX.js → useResizeObserver-CWCbk5Px.js} +0 -0
  208. /package/dist/{useScrollProgress-CAH8Ofwt.js → useScrollProgress-C9ysDic5.js} +0 -0
  209. /package/dist/{useSortable-C8ReQ50P.js → useSortable-MGAbCGVJ.js} +0 -0
  210. /package/dist/{useSpringMount-LRZqJTaF.js → useSpringMount-BJSHcLl3.js} +0 -0
  211. /package/dist/{useTimer-DEJonOZa.js → useTimer-3xqf_54b.js} +0 -0
  212. /package/dist/{useUserInvalidAria-CQKjEfwP.js → useUserInvalidAria-DoJKMZ3s.js} +0 -0
  213. /package/dist/{useViewportReady-K96m-Mdv.js → useViewportReady-RIr5Wgkh.js} +0 -0
package/dist/timeline.js CHANGED
@@ -1,5 +1,5 @@
1
- import { t as e } from "./_plugin-vue_export-helper-gLzyemvl.js";
2
- import { t } from "./HoverPopover-DXpOEw1P.js";
1
+ import { t as e } from "./_plugin-vue_export-helper-ok8pgSl5.js";
2
+ import { t } from "./HoverPopover-D56O6Ylp.js";
3
3
  import { Fragment as n, computed as r, createBlock as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createSlots as c, createVNode as l, defineComponent as u, guardReactiveProps as d, normalizeClass as f, normalizeProps as p, normalizeStyle as m, openBlock as h, ref as g, renderList as _, renderSlot as v, toDisplayString as y, unref as b, withCtx as x } from "vue";
4
4
  //#region src/components/custom/timeline/geometry.ts
5
5
  function S(e) {
@@ -197,7 +197,7 @@ var A = ["aria-label"], j = [
197
197
  _: 2
198
198
  }, 1032, ["class", "onUpdate:open"]))], 4))), 128))], 8, A)) : a("", !0);
199
199
  }
200
- }), [["__scopeId", "data-v-8e53d036"]]), H = [
200
+ }), [["__scopeId", "data-v-54dadfb5"]]), H = [
201
201
  "aria-valuemax",
202
202
  "aria-valuenow",
203
203
  "aria-label"
package/dist/toast.js CHANGED
@@ -1,2 +1,2 @@
1
- import { a as e, c as t, i as n, n as r, o as i, r as a, s as o, t as s } from "./Toaster-BMaeziJJ.js";
1
+ import { a as e, c as t, i as n, n as r, o as i, r as a, s as o, t as s } from "./Toaster-CabYEEF_.js";
2
2
  export { t as Toast, o as ToastAction, i as ToastClose, e as ToastDescription, n as ToastTitle, s as Toaster, r as toast, a as useToast };
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "./ToggleGroupItem-C-AIkBUw.js";
1
+ import { n as e, t } from "./ToggleGroupItem-CkXUcBlt.js";
2
2
  export { e as ToggleGroup, t as ToggleGroupItem };
package/dist/tooltip.js CHANGED
@@ -1,2 +1,2 @@
1
- import { i as e, n as t, r as n, t as r } from "./TooltipProvider-CD2IXfRv.js";
1
+ import { i as e, n as t, r as n, t as r } from "./TooltipProvider-CmZzCuaG.js";
2
2
  export { e as Tooltip, n as TooltipContent, r as TooltipProvider, t as TooltipTrigger };
@@ -1,4 +1,4 @@
1
- import { t as e } from "./_plugin-vue_export-helper-gLzyemvl.js";
1
+ import { t as e } from "./_plugin-vue_export-helper-ok8pgSl5.js";
2
2
  import { Fragment as t, computed as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, defineComponent as o, normalizeClass as s, onMounted as c, onUnmounted as l, openBlock as u, ref as d, renderList as f, toDisplayString as p, unref as m, watch as h } from "vue";
3
3
  //#region src/components/custom/typewriter/types.ts
4
4
  var g = {
@@ -1,4 +1,4 @@
1
- import { n as e, t } from "./constants-CS75AWHG.js";
1
+ import { n as e, t } from "./constants-BPOqYJAm.js";
2
2
  import { getCurrentScope as n, onScopeDispose as r, readonly as i, ref as a, shallowRef as o, toValue as s, watch as c } from "vue";
3
3
  import { SmoothProgress as l } from "@mkbabb/keyframes.js";
4
4
  //#region src/composables/motion/useAnimatedNumber.ts
@@ -91,5 +91,6 @@ function i(i) {
91
91
  }
92
92
  };
93
93
  }
94
+ var a = i;
94
95
  //#endregion
95
- export { i as t };
96
+ export { a as n, i as t };
@@ -1,9 +1,9 @@
1
1
  import { t as e } from "./cn-DJXf4yaB.js";
2
2
  import { t } from "./createLucideIcon-B6uNAU9G.js";
3
3
  import { t as n } from "./chevron-down-BSkTP2aL.js";
4
- import { t as r } from "./_plugin-vue_export-helper-gLzyemvl.js";
5
- import { t as i } from "./createContext-CvNyBk4o.js";
6
- import { t as a } from "./Label-DBc7bKzZ.js";
4
+ import { t as r } from "./_plugin-vue_export-helper-ok8pgSl5.js";
5
+ import { t as i } from "./createContext-B44Sah_H.js";
6
+ import { t as a } from "./Label-zRfbQdCn.js";
7
7
  import { Fragment as o, computed as s, createCommentVNode as c, createElementBlock as l, createElementVNode as u, createTextVNode as d, createVNode as f, defineComponent as p, mergeModels as m, normalizeClass as h, normalizeStyle as g, openBlock as _, reactive as v, ref as y, renderList as b, renderSlot as x, toDisplayString as S, toRaw as C, unref as w, useId as T, useModel as E, withCtx as D } from "vue";
8
8
  var O = t("rotate-ccw", [["path", {
9
9
  d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",
@@ -0,0 +1,24 @@
1
+ //#region src/composables/dom/useResolveTokenColor.ts
2
+ function e(e, t) {
3
+ if (!e.includes("var(") || typeof window > "u" || !t) return e;
4
+ let n = t.style.color;
5
+ t.style.color = e;
6
+ let r = getComputedStyle(t).color;
7
+ return t.style.color = n, r || e;
8
+ }
9
+ function t(t = 256) {
10
+ let n = /* @__PURE__ */ new Map();
11
+ return {
12
+ resolve(r, i) {
13
+ let a = n.get(r);
14
+ if (a !== void 0) return a;
15
+ let o = e(r, i);
16
+ return n.size >= t && n.clear(), n.set(r, o), o;
17
+ },
18
+ invalidate() {
19
+ n.clear();
20
+ }
21
+ };
22
+ }
23
+ //#endregion
24
+ export { e as n, t };
@@ -0,0 +1,26 @@
1
+ import { ref as e } from "vue";
2
+ //#region src/composables/glass/useSpecularTracking.ts
3
+ function t() {
4
+ return typeof window > "u" || typeof window.matchMedia != "function" ? !1 : window.matchMedia("(prefers-reduced-motion: reduce)").matches;
5
+ }
6
+ function n() {
7
+ let n = e({});
8
+ function r(e) {
9
+ if (t()) return;
10
+ let r = e.currentTarget;
11
+ if (!r) return;
12
+ let i = r.getBoundingClientRect();
13
+ if (i.width === 0 || i.height === 0) return;
14
+ let a = (e.clientX - i.left) / i.width * 100, o = (e.clientY - i.top) / i.height * 100;
15
+ n.value = {
16
+ "--mouse-x": `${a.toFixed(2)}%`,
17
+ "--mouse-y": `${o.toFixed(2)}%`
18
+ };
19
+ }
20
+ return {
21
+ specularStyle: n,
22
+ onPointerMove: r
23
+ };
24
+ }
25
+ //#endregion
26
+ export { n as t };
@@ -1,5 +1,5 @@
1
1
  import { getCurrentScope as e, onScopeDispose as t } from "vue";
2
- //#region src/composables/dom/useTextHighlight.ts
2
+ //#region src/composables/motion/useTextHighlight.ts
3
3
  var n = /* @__PURE__ */ new Map();
4
4
  function r() {
5
5
  return typeof CSS < "u" && "highlights" in CSS && typeof globalThis.Highlight == "function";
@@ -1,4 +1,4 @@
1
- import { t as e } from "./useTimer-DEJonOZa.js";
1
+ import { t as e } from "./useTimer-3xqf_54b.js";
2
2
  import { getCurrentScope as t, onScopeDispose as n, ref as r } from "vue";
3
3
  //#region src/composables/dom/useTouchGate.ts
4
4
  var i = /* @__PURE__ */ new Set(), a = !1;
@@ -0,0 +1,44 @@
1
+ //#region src/utils/moveBefore.ts
2
+ function e(e, t, n) {
3
+ let r = e;
4
+ typeof r.moveBefore == "function" ? r.moveBefore(t, n) : e.insertBefore(t, n);
5
+ }
6
+ function t() {
7
+ return typeof Element < "u" && "moveBefore" in Element.prototype;
8
+ }
9
+ //#endregion
10
+ //#region src/utils/platformSupport.ts
11
+ function n() {
12
+ return typeof globalThis.scheduler?.postTask == "function";
13
+ }
14
+ //#endregion
15
+ //#region src/composables/motion/useViewTransition.ts
16
+ function r() {
17
+ return typeof document < "u" && typeof document.startViewTransition == "function";
18
+ }
19
+ function i(e, t) {
20
+ let n = typeof document > "u" ? void 0 : document;
21
+ if (!n || typeof n.startViewTransition != "function") return e(), {
22
+ finished: Promise.resolve(),
23
+ transitioned: !1
24
+ };
25
+ let r = t?.types && t.types.length > 0 ? n.startViewTransition({
26
+ update: () => e(),
27
+ types: t.types
28
+ }) : n.startViewTransition(() => e());
29
+ return r.ready?.catch(() => {}), {
30
+ finished: r.finished.then(() => void 0, () => void 0),
31
+ transitioned: !0
32
+ };
33
+ }
34
+ //#endregion
35
+ //#region src/composables/motion/vReveal.ts
36
+ function a(e, t) {
37
+ e.setAttribute("data-reveal", t.arg === "fade" ? "fade" : ""), e.style.setProperty("--d", String(t.value ?? 0));
38
+ }
39
+ var o = {
40
+ mounted: a,
41
+ updated: a
42
+ };
43
+ //#endregion
44
+ export { e as a, n as i, i as n, t as o, r, o as t };
@@ -1,5 +1,5 @@
1
- import { t as e } from "./_plugin-vue_export-helper-gLzyemvl.js";
2
- import { n as t, t as n } from "./prng-wHuHlNHE.js";
1
+ import { t as e } from "./_plugin-vue_export-helper-ok8pgSl5.js";
2
+ import { n as t, t as n } from "./prng-COGhh02-.js";
3
3
  import { computed as r, createBlock as i, createElementVNode as a, defineComponent as o, normalizeClass as s, normalizeStyle as c, onUnmounted as l, openBlock as u, ref as d, renderSlot as f, resolveDynamicComponent as p, toRef as m, useId as h, watch as g, withCtx as _ } from "vue";
4
4
  //#region src/components/custom/watercolor-dot/prng.ts
5
5
  function v(e, t, n) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mkbabb/glass-ui",
3
- "version": "3.7.0",
3
+ "version": "3.8.0",
4
4
  "description": "Glassmorphic design system — Vue 3.5 components, reka-ui primitives, Tailwind CSS v4 tokens",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -10,6 +10,9 @@
10
10
  "homepage": "https://github.com/mkbabb/glass-ui#readme",
11
11
  "bugs": "https://github.com/mkbabb/glass-ui/issues",
12
12
  "type": "module",
13
+ "workspaces": [
14
+ "tests-visual"
15
+ ],
13
16
  "types": "./dist/index.d.ts",
14
17
  "typesVersions": {
15
18
  "*": {
@@ -49,6 +52,9 @@
49
52
  "aurora": [
50
53
  "dist/aurora.d.ts"
51
54
  ],
55
+ "canvas": [
56
+ "dist/canvas.d.ts"
57
+ ],
52
58
  "color": [
53
59
  "dist/color.d.ts"
54
60
  ],
@@ -73,6 +79,9 @@
73
79
  "status-dot": [
74
80
  "dist/status-dot.d.ts"
75
81
  ],
82
+ "deck-progress": [
83
+ "dist/deck-progress.d.ts"
84
+ ],
76
85
  "pulse": [
77
86
  "dist/pulse.d.ts"
78
87
  ],
@@ -292,6 +301,10 @@
292
301
  "types": "./dist/aurora.d.ts",
293
302
  "import": "./dist/aurora.js"
294
303
  },
304
+ "./canvas": {
305
+ "types": "./dist/canvas.d.ts",
306
+ "import": "./dist/canvas.js"
307
+ },
295
308
  "./color": {
296
309
  "types": "./dist/color.d.ts",
297
310
  "import": "./dist/color.js"
@@ -344,6 +357,10 @@
344
357
  "types": "./dist/status-dot.d.ts",
345
358
  "import": "./dist/status-dot.js"
346
359
  },
360
+ "./deck-progress": {
361
+ "types": "./dist/deck-progress.d.ts",
362
+ "import": "./dist/deck-progress.js"
363
+ },
347
364
  "./pulse": {
348
365
  "types": "./dist/pulse.d.ts",
349
366
  "import": "./dist/pulse.js"
@@ -564,10 +581,11 @@
564
581
  "proof:phantom-classes": "node scripts/proof-phantom-classes.mjs",
565
582
  "proof:vt-names": "node scripts/proof-vt-names.mjs",
566
583
  "proof:dock-animation-live": "node scripts/proof-dock-animation-live.mjs",
584
+ "proof:dock-orchestrator-single": "node scripts/proof-dock-orchestrator-single.mjs",
567
585
  "proof:dock-clip-reveal": "node scripts/proof-dock-clip-reveal.mjs",
568
586
  "proof:dock-layering-polish": "node scripts/proof-dock-layering-polish.mjs",
569
- "proof:dock-motion-parity": "node scripts/proof-dock-motion-parity.mjs",
570
- "proof:dock-motion-single-source": "node scripts/proof-dock-motion-single-source.mjs",
587
+ "proof:dock-wrap-content-driven": "node scripts/proof-dock-wrap-content-driven.mjs",
588
+ "proof:dock-hold-contract": "node scripts/proof-dock-hold-contract.mjs",
571
589
  "proof:dock-opacity-lockstep": "node scripts/proof-dock-opacity-lockstep.mjs",
572
590
  "proof:dock-a11y-contract": "vitest run tests/components/custom/dock/DockLayerRail.a11y.test.ts",
573
591
  "proof:dock-vocabulary": "node scripts/proof-dock-vocabulary.mjs",
@@ -585,17 +603,18 @@
585
603
  "proof:peer-optional": "node scripts/proof-peer-optional.mjs",
586
604
  "proof:vueuse-free-root": "node scripts/proof-vueuse-free-root.mjs",
587
605
  "proof:supportsPostTask-wired": "node scripts/proof-supports-post-task-wired.mjs",
588
- "proof:font-axes": "node scripts/proof-font-axes.mjs",
589
606
  "proof:color-acyclic": "node scripts/proof-color-acyclic.mjs",
590
607
  "proof:single-color-core": "node scripts/proof-single-color-core.mjs",
591
608
  "proof:frostShader-deleted": "node scripts/proof-frostshader-deleted.mjs",
592
609
  "proof:slider-two-only": "node scripts/proof-slider-two-only.mjs",
610
+ "proof:carousel-glass-atoms": "node scripts/proof-carousel-glass-atoms.mjs",
593
611
  "proof:storybook-ia": "node scripts/proof-storybook-ia.mjs",
594
612
  "proof:storybook-complete": "node scripts/proof-storybook-complete.mjs",
595
613
  "proof:no-orphan-demo-route": "node scripts/proof-no-orphan-demo-route.mjs",
596
614
  "proof:demo-dock-nav": "node scripts/proof-demo-dock-nav.mjs",
597
615
  "proof:demo-dock-nav-runtime": "node scripts/proof-demo-dock-nav-runtime.mjs",
598
616
  "proof:font-canon": "node scripts/proof-font-canon.mjs",
617
+ "proof:font-cascade-live": "node scripts/proof-font-cascade-live.mjs",
599
618
  "proof:webgl-substrate-single": "node scripts/proof-webgl-substrate-single.mjs",
600
619
  "proof:blob-value-free": "node scripts/proof-blob-value-free.mjs",
601
620
  "proof:motion-composables-consumer": "node scripts/proof-motion-composables-consumer.mjs",
@@ -615,10 +634,14 @@
615
634
  "proof:aurora-impasto-relight": "node scripts/proof-aurora-impasto-relight.mjs",
616
635
  "proof:aurora-vangogh-preset": "node scripts/proof-aurora-vangogh-preset.mjs",
617
636
  "proof:aurora-oilpastel-medium": "node scripts/proof-aurora-oilpastel-medium.mjs",
637
+ "proof:aurora-stroke-composite": "node scripts/proof-aurora-stroke-composite.mjs",
638
+ "proof:aurora-painterly-statistics": "node scripts/proof-aurora-painterly-statistics.mjs",
618
639
  "proof:aurora-atoms-roundtrip": "node scripts/proof-aurora-atoms-roundtrip.mjs",
619
640
  "proof:aurora-wgsl-equivalence": "node scripts/proof-aurora-wgsl-equivalence.mjs",
641
+ "proof:aurora-noise-hash-equivalence": "node scripts/proof-aurora-noise-hash-equivalence.mjs",
620
642
  "proof:aurora-backend-fallback": "node scripts/proof-aurora-backend-fallback.mjs",
621
643
  "proof:webgpu-substrate-single": "node scripts/proof-webgpu-substrate-single.mjs",
644
+ "proof:aurora-webgpu-render": "node scripts/proof-aurora-webgpu-render.mjs",
622
645
  "proof:aurora-interaction-prm": "node scripts/proof-aurora-interaction-prm.mjs",
623
646
  "proof:shader-shared-source": "node scripts/proof-shader-shared-source.mjs",
624
647
  "proof:blob-color-equivalence": "vitest run tests/components/custom/goo-blob/blob-color-equivalence.test.ts",
@@ -633,7 +656,11 @@
633
656
  "proof:spring-tokens-synced": "node scripts/proof-spring-tokens-synced.mjs",
634
657
  "proof:offscreen-pause": "node scripts/proof-offscreen-pause.mjs",
635
658
  "proof:constellation-substrate-single": "node scripts/proof-constellation-substrate-single.mjs",
659
+ "proof:constellation-tokens": "node scripts/proof-constellation-tokens.mjs",
660
+ "proof:constellation-warp-live": "node scripts/proof-constellation-warp-live.mjs",
636
661
  "proof:canvas2d-substrate": "vitest run tests/composables/glass/canvas2d/useCanvas2D.test.ts",
662
+ "proof:resolve-canvas-color": "vitest run tests/composables/glass/canvas2d/resolveCanvasColor.test.ts",
663
+ "proof:text-highlight": "vitest run tests/composables/motion/text-highlight-home.test.ts tests/composables/motion/useTextHighlight.test.ts",
637
664
  "proof:constellation-field": "vitest run tests/components/custom/constellation/constellationField.test.ts",
638
665
  "proof:input-invalid-aria": "node scripts/proof-input-invalid-aria.mjs",
639
666
  "proof:styling-hygiene": "node scripts/proof-styling-hygiene.mjs",
@@ -648,6 +675,11 @@
648
675
  "proof:animation-coherence": "node scripts/proof-animation-coherence.mjs",
649
676
  "proof:design-md-current": "node scripts/proof-design-md-current.mjs",
650
677
  "proof:naming-consistency": "node scripts/proof-naming-consistency.mjs",
678
+ "proof:substrate-paints-color": "node scripts/proof-substrate-paints-color.mjs",
679
+ "proof:deck-progress-rail": "node scripts/proof-deck-progress-rail.mjs",
680
+ "proof:blob-render": "node scripts/proof-blob-render.mjs",
681
+ "proof:blob-integration": "node scripts/proof-blob-integration.mjs",
682
+ "proof:gate-script-parity": "node scripts/proof-gate-script-parity.mjs",
651
683
  "proof:all": "node scripts/gates.mjs --run local",
652
684
  "gates:verify-ci": "node scripts/gates.mjs --verify-ci",
653
685
  "profile:bundle": "node scripts/profile-bundle.mjs",
@@ -1,9 +1,17 @@
1
1
  # `src/fonts/` — self-hostable woff2 assets
2
2
 
3
- Per O.W6 Lane D / speedtest AC.W6 cohort (T_GU-FONT-A): glass-ui ships
4
- Fira Code (and forthcoming display/text companions) as woff2 assets so
5
- consumers can self-host via a single `@font-face` block rather than
6
- re-fetching from Google Fonts on every page-load.
3
+ glass-ui ships its brand register as self-hosted woff2 assets so consumers
4
+ can self-host via the `@mkbabb/glass-ui/styles/fonts` bundle rather than
5
+ re-fetching from a CDN on every page-load. The register is ONE coherent
6
+ brand voice:
7
+
8
+ - **Plus Jakarta Sans** — the text + display register (body, headings,
9
+ prose, display). The library DEFAULT family; every live surface paints it.
10
+ - **Fira Code** — the mono register (admin labels, tabular numerics, code).
11
+
12
+ Both are OFL-1.1 variable faces, each paired with a Capsize-calibrated
13
+ `"… Fallback"` face (declared in `typography.css`) so the swap window is
14
+ geometry-neutral (zero CLS).
7
15
 
8
16
  ## Canonical filenames (Fira Code)
9
17
 
@@ -21,26 +29,26 @@ woff2 builds live in `distr/woff2/` of that repository's releases — pull
21
29
  the `Regular`/`Medium`/`SemiBold` weights only (the three glass-ui ships
22
30
  as the `--font-mono` stack rungs).
23
31
 
24
- ## Fraunces (display, AU.W4)
32
+ ## On-disk layout (the shipped register)
25
33
 
26
34
  The actual on-disk layout is per-family nested
27
- (`src/fonts/<family>/<face>.woff2`), e.g.
28
- `src/fonts/plus-jakarta-sans/plus-jakarta-sans-latin.woff2`. AU.W4 ships the
29
- display register's face — the `--font-stack-display: "Fraunces"` token
30
- (`tokens.css`) had no face, so the `WONK`/`SOFT` axes `typography.css` drives were
31
- silently inert. The shipped face is the FULL variable Fraunces (latin subset):
35
+ (`src/fonts/<family>/<face>.woff2`):
32
36
 
33
37
  ```
34
- src/fonts/fraunces/fraunces-latin.woff2
38
+ src/fonts/plus-jakarta-sans/plus-jakarta-sans-latin.woff2
39
+ src/fonts/plus-jakarta-sans/plus-jakarta-sans-latin-ext.woff2
40
+ src/fonts/fira-code/fira-code-latin.woff2
41
+ src/fonts/fira-code/fira-code-latin-ext.woff2
35
42
  ```
36
43
 
37
- It carries the `wght` · `opsz` · `SOFT` · `WONK` axes (verified by
38
- `proof:font-axes`, which parses the woff2 `fvar` against the axes
39
- `typography.css` references). Source canonical:
40
- <https://github.com/googlefonts/fraunces> (OFL-1.1); the variable woff2 latin
41
- subset is the Google Fonts / fontsource distribution. `proof:font-axes` fails
42
- closed if a wght-only instance (one that drops `SOFT`/`WONK`) is ever
43
- substituted.
44
+ Plus Jakarta Sans is the text + display register (`--font-stack-text`,
45
+ aliased by `--font-stack-display`); Fira Code is `--font-stack-mono`. Each is
46
+ a FULL variable face (latin + latin-ext subsets). Source canonical:
47
+ <https://github.com/tokotype/PlusJakartaSans> +
48
+ <https://github.com/tonsky/FiraCode> (both OFL-1.1); the variable woff2 latin
49
+ subsets are the Google Fonts / fontsource distributions. The Capsize metric
50
+ overrides on the fallback faces (`size-adjust` / `ascent-override` /
51
+ `descent-override`) reference these binaries' exact geometry.
44
52
 
45
53
  ## Why this directory ships, not the fetch step
46
54
 
@@ -75,16 +75,26 @@
75
75
  (transform-scoped only; the surface fades stay on the flat ease). */
76
76
  scale var(--dock-press-spring),
77
77
  opacity var(--dock-motion-fast),
78
- /* AT.W7-dock-b — the glass specular highlight fades in on hover. */
78
+ /* The box-shadow fade now carries ONLY the focus-visible ring (shared
79
+ `:focus-visible` group in dock.css) + the active-state
80
+ `--dock-active-shadow` — the AX.W09-retired hover `--glass-highlight`
81
+ specular no longer rides it. */
79
82
  box-shadow var(--dock-motion-fast);
80
83
 
81
- /* AT.W7-dock-b — glass icon-hover. The icon-button hover now reads as a
82
- glass surface, not a flat `--muted` plate: a translucent card-tinted fill
83
- composes with the specular `--glass-highlight` token (the inset top-edge
84
- glass highlight every glass tier carries — `--dock-icon-hover-shadow`
85
- defaults to it). Coherent with the dock's glass tier and the
86
- `[data-tier="secondary"]` recipe below. A consumer retunes the fill via
87
- `--dock-icon-hover-bg` and the specular via `--dock-icon-hover-shadow`. */
84
+ /* AT.W7-dock-b — glass icon-hover. The icon-button hover reads as a glass
85
+ surface, not a flat `--muted` plate: a translucent card-tinted fill is
86
+ the hover affordance. A consumer retunes the fill via `--dock-icon-hover-bg`.
87
+
88
+ AX.W09 — the dock control's SECOND specular (the `--glass-highlight`
89
+ hover box-shadow, AT.W7-dock-b) is RETIRED. The dock-icon-button is a
90
+ member of the unified `.glass-material` group (glass.css), so the moving
91
+ `::before` catch-light is now its SOLE specular owner — one light per
92
+ surface (the §0 "excise or fail" discipline). Stacking the
93
+ `--glass-highlight` inset box-shadow on the most-hovered, slides-floated
94
+ surface was the worst-offending double-light blowout; the card-tinted
95
+ hover fill carries the affordance without a second catch-light, and
96
+ dropping it also removes the `:not(:focus-visible)` specular-vs-ring
97
+ juggle. */
88
98
  &:hover:not(:disabled) {
89
99
  background: var(
90
100
  --dock-icon-hover-bg,
@@ -94,14 +104,6 @@
94
104
  scale: var(--scale-hover-dock);
95
105
  }
96
106
 
97
- /* The specular highlight is scoped to `:not(:focus-visible)` so it never
98
- clobbers the focus ring box-shadow (the shared `:focus-visible` group in
99
- dock.css) when a control is both hovered and keyboard-focused —
100
- the ring wins, the specular yields. */
101
- &:hover:not(:disabled):not(:focus-visible) {
102
- box-shadow: var(--dock-icon-hover-shadow, var(--glass-highlight));
103
- }
104
-
105
107
  &:active:not(:disabled) {
106
108
  scale: var(--scale-press-dock);
107
109
  }
@@ -128,8 +130,9 @@
128
130
 
129
131
  /* focus-visible ring + disabled paint hoisted to the shared `:where()`
130
132
  group in dock.css. The box-shadow fade transition lives on the base
131
- `.dock-icon-button` rule (AT.W7-dock-b added `box-shadow` there for the
132
- glass specular hover), so no per-state transition override is needed. */
133
+ `.dock-icon-button` rule (it carries the focus-ring + active-shadow fade
134
+ since AX.W09 retired the hover `--glass-highlight` specular), so no
135
+ per-state transition override is needed. */
133
136
 
134
137
  .dock-icon-button--compact {
135
138
  width: var(--dock-compact-control-size, auto);