@mkbabb/glass-ui 3.10.1 → 3.11.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 (279) hide show
  1. package/dist/{CardAction-DrAcAV4d.js → CardAction-DuArVky-.js} +2 -2
  2. package/dist/{CommandShortcut-mV2e1aG6.js → CommandShortcut-CefCj5mt.js} +2 -2
  3. package/dist/{DataTable-C3E6jZ5B.js → DataTable-CUHMukiQ.js} +2 -2
  4. package/dist/DeckProgress-Dmk4_AKN.js +23 -0
  5. package/dist/{DialogContent-BxaaafFi.js → DialogContent-BRkT1cjP.js} +1 -1
  6. package/dist/{HoverPopover-CDA_SaCe.js → HoverPopover-2LOIW34a.js} +1 -1
  7. package/dist/InstrumentRail-CUJ05YVG.js +44 -0
  8. package/dist/{MetricBadge-idgrkqoP.js → MetricBadge-BZVWIxNy.js} +7 -5
  9. package/dist/{Notification-Cu0nN17_.js → Notification-DLMhblXR.js} +1 -1
  10. package/dist/{NumberFieldContent-CHEWghnY.js → NumberFieldContent-BbLOh8RU.js} +2 -2
  11. package/dist/{PopoverContent-DpUvdYY-.js → PopoverContent-BId6ggf_.js} +1 -1
  12. package/dist/{Progress-BW-StFw2.js → Progress-iEuD9pxG.js} +1 -1
  13. package/dist/{ScrollingText-DruYCni_.js → ScrollingText-BPP84wKo.js} +1 -1
  14. package/dist/{SelectScrollDownButton-pirzjm--.js → SelectScrollDownButton-T32cVFeM.js} +3 -3
  15. package/dist/{Switch-DeAqg6pi.js → Switch-Ch-k3Rv-.js} +1 -1
  16. package/dist/{TabsList-BAVzOZpg.js → TabsList-B8CVOQPC.js} +2 -2
  17. package/dist/{Toaster-CvuuW_y9.js → Toaster-1rYWrmAm.js} +46 -49
  18. package/dist/{ToggleGroupItem-DtD37b4G.js → ToggleGroupItem-COu_4IW4.js} +21 -17
  19. package/dist/animated-digit.js +2 -2
  20. package/dist/api/index.d.ts +5 -4
  21. package/dist/api.js +2 -2
  22. package/dist/aurora.js +70 -70
  23. package/dist/{badge-NdCQMvvB.js → badge-CaoFJzRb.js} +1 -1
  24. package/dist/badge.js +1 -1
  25. package/dist/{button-DyiWFAOE.js → button-DN39cGqL.js} +12 -12
  26. package/dist/button.js +1 -1
  27. package/dist/canvas.js +2 -2
  28. package/dist/card.js +1 -1
  29. package/dist/carousel.js +5 -5
  30. package/dist/collapsible.js +1 -1
  31. package/dist/{color-B65wWyQz.js → color-C5ls_QF7.js} +7 -9
  32. package/dist/color.js +1 -1
  33. package/dist/command.js +1 -1
  34. package/dist/components/custom/aurora/constants/presets.d.ts +62 -5
  35. package/dist/components/custom/aurora/constants/shaders/mediums.glsl.d.ts +1 -1
  36. package/dist/components/custom/aurora/index.d.ts +1 -1
  37. package/dist/components/custom/constellation/Constellation.vue.d.ts +0 -12
  38. package/dist/components/custom/constellation/constellationField.d.ts +151 -10
  39. package/dist/components/custom/constellation/index.d.ts +1 -3
  40. package/dist/components/custom/controls/DarkModeToggle.vue.d.ts +0 -11
  41. package/dist/components/custom/deck-progress/DeckProgress.vue.d.ts +27 -0
  42. package/dist/components/custom/deck-progress/index.d.ts +2 -0
  43. package/dist/components/custom/dialog-native/GlassDialogNative.vue.d.ts +57 -0
  44. package/dist/components/custom/dialog-native/index.d.ts +1 -0
  45. package/dist/components/custom/dock/DockTabButton.vue.d.ts +4 -3
  46. package/dist/components/custom/dock/GlassDock.vue.d.ts +115 -3
  47. package/dist/components/custom/dock/composables/dockMorphContext.d.ts +0 -36
  48. package/dist/components/custom/dock/composables/useLayerTransition.d.ts +0 -44
  49. package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +37 -5
  50. package/dist/components/custom/fourier-field/index.d.ts +1 -1
  51. package/dist/components/custom/fourier-field/math.d.ts +0 -17
  52. package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +41 -0
  53. package/dist/components/custom/glass-panel/index.d.ts +2 -0
  54. package/dist/components/custom/goo-blob/composables/useBlobPointer.d.ts +3 -4
  55. package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +8 -11
  56. package/dist/components/custom/handmark/HandMark.vue.d.ts +29 -0
  57. package/dist/components/custom/handmark/brush.d.ts +242 -0
  58. package/dist/components/custom/handmark/freehand.d.ts +69 -0
  59. package/dist/components/custom/handmark/geometry.d.ts +50 -0
  60. package/dist/components/custom/handmark/index.d.ts +21 -0
  61. package/dist/components/custom/handmark/ink.d.ts +11 -0
  62. package/dist/components/custom/handmark/texture.d.ts +39 -0
  63. package/dist/components/custom/handmark/types.d.ts +53 -0
  64. package/dist/components/custom/handmark/useHandMark.d.ts +87 -0
  65. package/dist/components/custom/header-ribbon/HeaderRibbon.vue.d.ts +31 -0
  66. package/dist/components/custom/header-ribbon/index.d.ts +2 -0
  67. package/dist/components/custom/header-ribbon/types.d.ts +7 -0
  68. package/dist/components/custom/instrument-chassis/InstrumentChassis.vue.d.ts +2 -2
  69. package/dist/components/custom/instrument-rail/InstrumentRail.vue.d.ts +91 -0
  70. package/dist/components/custom/instrument-rail/index.d.ts +2 -0
  71. package/dist/components/custom/metric-badge/MetricBadge.vue.d.ts +8 -0
  72. package/dist/components/ui/drawer/Drawer.vue.d.ts +0 -1
  73. package/dist/components/ui/dropdown-menu/DropdownMenuSubContent.vue.d.ts +2 -2
  74. package/dist/components/ui/slider/index.d.ts +19 -22
  75. package/dist/components/ui/toast/use-toast.d.ts +2 -2
  76. package/dist/components/ui/toggle/Toggle.vue.d.ts +1 -1
  77. package/dist/components/ui/toggle/index.d.ts +1 -1
  78. package/dist/components/ui/toggle-group/ToggleGroup.vue.d.ts +7 -1
  79. package/dist/components/ui/toggle-group/ToggleGroupItem.vue.d.ts +3 -1
  80. package/dist/components/ui/toggle-group/toggleGroupContext.d.ts +13 -0
  81. package/dist/composables/color/index.d.ts +0 -12
  82. package/dist/composables/dark/index.d.ts +1 -1
  83. package/dist/composables/dark/useGlobalDark.d.ts +21 -1
  84. package/dist/composables/glass/useSpecularTracking.d.ts +3 -12
  85. package/dist/composables/motion/core/index.d.ts +1 -0
  86. package/dist/composables/motion/index.d.ts +0 -2
  87. package/dist/composables/motion/useRouteTransition.d.ts +42 -0
  88. package/dist/composables/motion/useSpringMount.d.ts +1 -1
  89. package/dist/configurator.js +1 -1
  90. package/dist/confirm-dialog.js +2 -2
  91. package/dist/constellation.js +225 -260
  92. package/dist/controls.js +14 -48
  93. package/dist/dark.d.ts +1 -1
  94. package/dist/dark.js +1 -1
  95. package/dist/data-table.js +1 -1
  96. package/dist/deck-progress.d.ts +1 -0
  97. package/dist/deck-progress.js +2 -0
  98. package/dist/dialog.js +2 -2
  99. package/dist/dock.js +345 -340
  100. package/dist/dockContext-BKeIMmNk.js +9 -0
  101. package/dist/{dropdown-menu-DVnQcA0E.js → dropdown-menu-D77jX6Df.js} +4 -7
  102. package/dist/dropdown-menu.js +1 -1
  103. package/dist/expandable-container.js +79 -38
  104. package/dist/forms.js +2 -2
  105. package/dist/fourier-field.js +102 -137
  106. package/dist/fourier-math.js +2 -2
  107. package/dist/glass-panel.d.ts +1 -0
  108. package/dist/glass-panel.js +44 -0
  109. package/dist/glass-ui.css +1 -1
  110. package/dist/glass-ui.js +209 -287
  111. package/dist/goo-blob.js +212 -243
  112. package/dist/handmark.d.ts +1 -0
  113. package/dist/handmark.js +663 -0
  114. package/dist/header-ribbon.d.ts +1 -0
  115. package/dist/header-ribbon.js +63 -0
  116. package/dist/hover-popover.js +1 -1
  117. package/dist/icon-tooltip.js +1 -1
  118. package/dist/index.d.ts +3 -0
  119. package/dist/instrument-rail.d.ts +1 -0
  120. package/dist/instrument-rail.js +2 -0
  121. package/dist/keyboard.js +1 -1
  122. package/dist/labeled-field.js +5 -5
  123. package/dist/{math-BUU9hHID.js → math-DTpRVC0e.js} +2 -18
  124. package/dist/metric-badge.js +1 -1
  125. package/dist/metric-stack.js +1 -1
  126. package/dist/motion-core.js +70 -69
  127. package/dist/motion.js +37 -38
  128. package/dist/notification.js +1 -1
  129. package/dist/number-field.js +1 -1
  130. package/dist/popover.js +1 -1
  131. package/dist/{presets-1OhFpaIC.js → presets-BP_ALM0m.js} +14 -1
  132. package/dist/progress.js +1 -1
  133. package/dist/pulse.js +1 -1
  134. package/dist/reactive.js +1 -1
  135. package/dist/scrolling-text.js +1 -1
  136. package/dist/search.js +6 -6
  137. package/dist/select.js +1 -1
  138. package/dist/{sheet-ChSXcJpU.js → sheet-VZEtNFvO.js} +1 -1
  139. package/dist/sheet.js +1 -1
  140. package/dist/{slider-sfl8gFDD.js → slider-ClgpP7EB.js} +4 -4
  141. package/dist/slider.js +1 -1
  142. package/dist/sortable-list.js +2 -2
  143. package/dist/stacked-icons.js +6 -6
  144. package/dist/styles/animations.css +111 -15
  145. package/dist/styles/components.css +1 -1
  146. package/dist/styles/dock/layer-group.css +0 -22
  147. package/dist/styles/dock/layers.css +1 -11
  148. package/dist/styles/dock/morph.css +19 -95
  149. package/dist/styles/dock/shell.css +0 -12
  150. package/dist/styles/dock-controls.css +31 -28
  151. package/dist/styles/drawer.css +0 -2
  152. package/dist/styles/floating-panel.css +0 -2
  153. package/dist/styles/glass-refract.css +0 -2
  154. package/dist/styles/glass.css +1188 -31
  155. package/dist/styles/hover-popover.css +0 -2
  156. package/dist/styles/index.css +6 -24
  157. package/dist/styles/instrument-chassis.css +0 -4
  158. package/dist/styles/paper.css +68 -2
  159. package/dist/styles/theme.css +20 -13
  160. package/dist/styles/tokens.css +2360 -22
  161. package/dist/styles/typography.css +6 -18
  162. package/dist/styles/utilities.css +1291 -19
  163. package/dist/styles/view-transition.css +51 -0
  164. package/dist/switch.js +1 -1
  165. package/dist/tabs.js +98 -98
  166. package/dist/timeline.js +2 -2
  167. package/dist/toast.js +1 -1
  168. package/dist/toggle-group.js +1 -1
  169. package/dist/typewriter.js +1 -1
  170. package/dist/{useAnimatedNumber-DfVgP4te.js → useAnimatedNumber-Bcpy5Etf.js} +1 -1
  171. package/dist/{useConfiguratorState-BdQXh9ie.js → useConfiguratorState-DxAqksK6.js} +1 -1
  172. package/dist/useGlassRenderer-D7YGOYiM.js +69 -0
  173. package/dist/{useGlobalDark-D7R9OypB.js → useGlobalDark-D1wgEqfW.js} +21 -2
  174. package/dist/useSpecularTracking-BVRZsRHA.js +26 -0
  175. package/dist/useSpringMount-BJSHcLl3.js +113 -0
  176. package/dist/useViewTransition-DaN5Zrox.js +21 -0
  177. package/dist/vReveal-zUIQk-rJ.js +53 -0
  178. package/dist/watercolor-dot.js +2 -2
  179. package/package.json +57 -33
  180. package/src/styles/animations.css +111 -15
  181. package/src/styles/dock/layer-group.css +0 -22
  182. package/src/styles/dock/layers.css +1 -11
  183. package/src/styles/dock/morph.css +19 -95
  184. package/src/styles/dock/shell.css +0 -12
  185. package/src/styles/dock-controls.css +31 -28
  186. package/src/styles/glass.css +1188 -31
  187. package/src/styles/index.css +6 -24
  188. package/src/styles/paper.css +68 -2
  189. package/src/styles/theme.css +20 -13
  190. package/src/styles/tokens.css +2360 -22
  191. package/src/styles/typography.css +6 -18
  192. package/src/styles/utilities.css +1291 -19
  193. package/src/styles/view-transition.css +51 -0
  194. package/dist/components/custom/aurora/constants/shaders/vangogh-medium.glsl.d.ts +0 -1
  195. package/dist/components/custom/constellation/composables/createConstellationField.d.ts +0 -35
  196. package/dist/components/custom/constellation/composables/useConstellationPointer.d.ts +0 -35
  197. package/dist/components/custom/constellation/constants.d.ts +0 -36
  198. package/dist/components/custom/constellation/constellationDraw.d.ts +0 -18
  199. package/dist/components/custom/constellation/constellationInteraction.d.ts +0 -102
  200. package/dist/components/custom/dock/composables/useDockMorphWindow.d.ts +0 -15
  201. package/dist/components/custom/dock/composables/useDockShellProps.d.ts +0 -131
  202. package/dist/components/custom/dock/constants.d.ts +0 -23
  203. package/dist/components/custom/fourier-field/presets.d.ts +0 -54
  204. package/dist/components/custom/goo-blob/composables/buildMetaballProgram.d.ts +0 -18
  205. package/dist/components/custom/goo-blob/composables/uploadBlobUniforms.d.ts +0 -41
  206. package/dist/components/custom/goo-blob/constants.d.ts +0 -52
  207. package/dist/components/custom/goo-blob/shaders/metaball-uniforms.glsl.d.ts +0 -1
  208. package/dist/components/custom/tabs/constants.d.ts +0 -12
  209. package/dist/components/custom/underline/GlassUnderline.vue.d.ts +0 -84
  210. package/dist/components/custom/underline/index.d.ts +0 -2
  211. package/dist/components/custom/underline/types.d.ts +0 -56
  212. package/dist/composables/motion/curves.d.ts +0 -48
  213. package/dist/composables/motion/springPresets.d.ts +0 -33
  214. package/dist/composables/motion/suite.d.ts +0 -2
  215. package/dist/dockContext-bho8B1A4.js +0 -17
  216. package/dist/motion-curves.d.ts +0 -1
  217. package/dist/motion-curves.js +0 -130
  218. package/dist/springPresets-aRSm-4_k.js +0 -40
  219. package/dist/styles/glass/a11y-fallback.css +0 -245
  220. package/dist/styles/glass/ladder.css +0 -304
  221. package/dist/styles/glass/material.css +0 -238
  222. package/dist/styles/glass/progress-rail.css +0 -78
  223. package/dist/styles/glass/squircle.css +0 -66
  224. package/dist/styles/glass/surfaces.css +0 -306
  225. package/dist/styles/tokens/color-radius.css +0 -250
  226. package/dist/styles/tokens/dark-arm.css +0 -194
  227. package/dist/styles/tokens/glass.css +0 -413
  228. package/dist/styles/tokens/light-dark.css +0 -158
  229. package/dist/styles/tokens/offsets-sizing.css +0 -406
  230. package/dist/styles/tokens/property-regs.css +0 -169
  231. package/dist/styles/tokens/scale-paper.css +0 -361
  232. package/dist/styles/tokens/scheme-motion.css +0 -334
  233. package/dist/styles/tokens/shadow.css +0 -132
  234. package/dist/styles/utilities/a11y-overrides.css +0 -140
  235. package/dist/styles/utilities/animate.css +0 -26
  236. package/dist/styles/utilities/base.css +0 -365
  237. package/dist/styles/utilities/btn.css +0 -399
  238. package/dist/styles/utilities/components.css +0 -317
  239. package/dist/underline.d.ts +0 -1
  240. package/dist/underline.js +0 -85
  241. package/dist/useSpecularTracking-DFK_fhpG.js +0 -32
  242. package/dist/useSpringMount-DXUzxBjV.js +0 -108
  243. package/dist/vReveal-CqaCz_mC.js +0 -44
  244. package/src/styles/glass/a11y-fallback.css +0 -245
  245. package/src/styles/glass/ladder.css +0 -304
  246. package/src/styles/glass/material.css +0 -238
  247. package/src/styles/glass/progress-rail.css +0 -78
  248. package/src/styles/glass/squircle.css +0 -66
  249. package/src/styles/glass/surfaces.css +0 -306
  250. package/src/styles/tokens/color-radius.css +0 -250
  251. package/src/styles/tokens/dark-arm.css +0 -194
  252. package/src/styles/tokens/glass.css +0 -413
  253. package/src/styles/tokens/light-dark.css +0 -158
  254. package/src/styles/tokens/offsets-sizing.css +0 -406
  255. package/src/styles/tokens/property-regs.css +0 -169
  256. package/src/styles/tokens/scale-paper.css +0 -361
  257. package/src/styles/tokens/scheme-motion.css +0 -334
  258. package/src/styles/tokens/shadow.css +0 -132
  259. package/src/styles/utilities/a11y-overrides.css +0 -140
  260. package/src/styles/utilities/animate.css +0 -26
  261. package/src/styles/utilities/base.css +0 -365
  262. package/src/styles/utilities/btn.css +0 -399
  263. package/src/styles/utilities/components.css +0 -317
  264. /package/dist/{CollapsibleContent-Drow5WkV.js → CollapsibleContent-CP9qF1v4.js} +0 -0
  265. /package/dist/{DialogFooter-DufLHi0y.js → DialogFooter-Gprw8H_A.js} +0 -0
  266. /package/dist/{IconTooltip-BrQ5p181.js → IconTooltip-Cus0fvK0.js} +0 -0
  267. /package/dist/{Input-B-F818RU.js → Input-xuDwALQR.js} +0 -0
  268. /package/dist/{_plugin-vue_export-helper-DWghtRt7.js → _plugin-vue_export-helper-ok8pgSl5.js} +0 -0
  269. /package/dist/{compile-Ce_V55zi.js → compile-BOXjLUxu.js} +0 -0
  270. /package/dist/{constants-C8NMonuo.js → constants-yKeKnE84.js} +0 -0
  271. /package/dist/{prng-CjVgzjQT.js → prng-D27-B3tK.js} +0 -0
  272. /package/dist/{resolveCanvasColor-CRvVzOvP.js → resolveCanvasColor-BBiYfp8g.js} +0 -0
  273. /package/dist/{useCanvas2D-CSeH8h16.js → useCanvas2D-ClrQuZtp.js} +0 -0
  274. /package/dist/{useIntersectionPause-DAdVPVp4.js → useIntersectionPause-Cck5Uxk8.js} +0 -0
  275. /package/dist/{useInterval-D3USn0yc.js → useInterval-Dsmqwi03.js} +0 -0
  276. /package/dist/{useKeyboardShortcuts-i8tHd5WO.js → useKeyboardShortcuts-CyIYrndH.js} +0 -0
  277. /package/dist/{useScrollProgress-CcgmgMQt.js → useScrollProgress-CffFGLa5.js} +0 -0
  278. /package/dist/{useSortable-DnyGXKKY.js → useSortable-C8ReQ50P.js} +0 -0
  279. /package/dist/{useTextHighlight-B3b10W6r.js → useTextHighlight-CWEi25hf.js} +0 -0
@@ -0,0 +1,91 @@
1
+ import type { HTMLAttributes } from "vue";
2
+ /**
3
+ * <InstrumentRail> — flex-basis cockpit-ratio rail with bezel hairlines
4
+ * and an internal twin-line divider rule between children.
5
+ *
6
+ * Resolves A3 D-4 (cockpit ratio 0.222 → 0.382, the 1/φ² golden gestalt)
7
+ * by carrying the ratio as a typed flex-basis term with min/max clamp
8
+ * safety. Composes inside <InstrumentChassis> alongside a primary panel,
9
+ * or stands alone as the sidekick column of any cockpit composition.
10
+ *
11
+ * Geometry:
12
+ * - `variant="vertical"` (default) — rail is a column; flex-basis binds
13
+ * against the parent's main-axis width. min-width 15rem, max-width 28rem.
14
+ * - `variant="horizontal"` — rail is a row; flex-basis binds against the
15
+ * parent's main-axis height. min-height 15rem, max-height 28rem.
16
+ *
17
+ * Bezel character:
18
+ * - `bezelHairlines="true"` (default) draws the engraved-bezel ::before
19
+ * inner stroke, the same twin-pixel signature that <InstrumentChassis>
20
+ * carries (catch-light + under-shadow). Resolves FD1 TRANSPOSITION 3's
21
+ * internal-divider concern by giving the rail its own bezel edge so
22
+ * it reads as a chassis-internal module, not an unbordered slot.
23
+ * - `dividerRule="true"` (default) renders a twin-line hairline groove
24
+ * above every child after the first via the bezel-line idiom (same
25
+ * `rgb(255 255 255 / α)` + `rgb(0 0 0 / α)` pair the chassis-divider
26
+ * primitive uses). Sibling-CSS — no slotted dividers needed.
27
+ *
28
+ * Slots:
29
+ * - default — rail children, stacked along the variant axis.
30
+ * - `status` — bezel-edge status-light region; pinned to the rail's
31
+ * opening edge (top for vertical, leading for horizontal). Optional;
32
+ * omitted slots emit no markup.
33
+ *
34
+ * a11y: layout primitive; emits no ARIA role by default. Consumers compose
35
+ * semantic landmarks (<aside>, <nav>) by wrapping or by passing `as`.
36
+ *
37
+ * PRM: no animation — the primitive is purely geometric. PRM cascades
38
+ * through children (they own their own animation contracts).
39
+ *
40
+ * AK-W2-α — see A3 §8.T-1 + FD1 TRANSPOSITION 6 + G-AK-D9.
41
+ */
42
+ export interface InstrumentRailProps {
43
+ /**
44
+ * Rail axis. `"vertical"` (default) stacks children top-to-bottom and
45
+ * binds flex-basis on the inline axis (column rail of a row cockpit).
46
+ * `"horizontal"` stacks left-to-right and binds flex-basis on the
47
+ * block axis (row rail of a column cockpit).
48
+ */
49
+ variant?: "vertical" | "horizontal";
50
+ /**
51
+ * Cockpit ratio — flex-basis fraction of the parent flex container.
52
+ * Defaults to 0.382 (1/φ², the golden-gestalt cockpit ratio per A3
53
+ * §8.T-1). Consumers may pass any ratio in (0, 1); the rail clamps
54
+ * the realised width via `min-width`/`max-width` so a degenerate
55
+ * value still hits a readable register.
56
+ */
57
+ ratio?: number;
58
+ /**
59
+ * Toggle the engraved-bezel ::before inner stroke. Default `true`.
60
+ * Disable when the rail is composed inside another bezel-bearing
61
+ * surface that already carries the stroke (avoid double bezels).
62
+ */
63
+ bezelHairlines?: boolean;
64
+ /**
65
+ * Toggle the internal twin-line divider rule between sibling
66
+ * children. Default `true`. Disable when children carry their own
67
+ * dividers or when a flush composition is desired.
68
+ */
69
+ dividerRule?: boolean;
70
+ class?: HTMLAttributes["class"];
71
+ }
72
+ declare var __VLS_1: {}, __VLS_3: {};
73
+ type __VLS_Slots = {} & {
74
+ status?: (props: typeof __VLS_1) => any;
75
+ } & {
76
+ default?: (props: typeof __VLS_3) => any;
77
+ };
78
+ declare const __VLS_base: import("vue").DefineComponent<InstrumentRailProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<InstrumentRailProps> & Readonly<{}>, {
79
+ variant: "vertical" | "horizontal";
80
+ ratio: number;
81
+ bezelHairlines: boolean;
82
+ dividerRule: boolean;
83
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
84
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
85
+ declare const _default: typeof __VLS_export;
86
+ export default _default;
87
+ type __VLS_WithSlots<T, S> = T & {
88
+ new (): {
89
+ $slots: S;
90
+ };
91
+ };
@@ -0,0 +1,2 @@
1
+ export { default as InstrumentRail } from "./InstrumentRail.vue";
2
+ export type { InstrumentRailProps } from "./InstrumentRail.vue";
@@ -1,6 +1,7 @@
1
1
  import type { HTMLAttributes } from 'vue';
2
2
  type MetricBadgeSize = 'sm' | 'md' | 'lg' | 'xl';
3
3
  type MetricBadgeLabelPosition = 'inline' | 'stacked';
4
+ type MetricBadgeVariant = 'default' | 'record';
4
5
  type __VLS_Props = {
5
6
  amount: string | number | null | undefined;
6
7
  unit?: string;
@@ -29,10 +30,17 @@ type __VLS_Props = {
29
30
  * rung (`text-mono-prose` amount, `text-prose` unit) for hero
30
31
  * placements that need to read at chassis distance. */
31
32
  size?: MetricBadgeSize;
33
+ /** Surface register. `default` is the canonical 5-tier glass pill;
34
+ * `record` is the GILT pill (D6.b) — a 1px `--gold-rim` tooled edge +
35
+ * `--gold-ink` amount + a faint ≤8% gold wash (never opaque). Gold marks
36
+ * the SUPERLATIVE, exactly one per view: the all-time-high / peak figure.
37
+ * The medal reads as earned, not as a fourth data color. */
38
+ variant?: MetricBadgeVariant;
32
39
  class?: HTMLAttributes['class'];
33
40
  };
34
41
  declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
35
42
  size: MetricBadgeSize;
43
+ variant: MetricBadgeVariant;
36
44
  placeholder: string;
37
45
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
38
46
  declare const _default: typeof __VLS_export;
@@ -39,7 +39,6 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
39
39
  "onUpdate:activeSnapPoint"?: ((val: string | number) => any) | undefined;
40
40
  }>, {
41
41
  mode: DrawerMode;
42
- open: boolean;
43
42
  modal: boolean;
44
43
  shouldScaleBackground: boolean;
45
44
  snapPoints: (number | string)[];
@@ -3,9 +3,9 @@ import { type DropdownMenuSubContentProps } from 'reka-ui';
3
3
  type __VLS_Props = DropdownMenuSubContentProps & {
4
4
  class?: HTMLAttributes['class'];
5
5
  };
6
- declare var __VLS_14: {};
6
+ declare var __VLS_8: {};
7
7
  type __VLS_Slots = {} & {
8
- default?: (props: typeof __VLS_14) => any;
8
+ default?: (props: typeof __VLS_8) => any;
9
9
  };
10
10
  declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
11
11
  escapeKeyDown: (event: KeyboardEvent) => any;
@@ -10,34 +10,31 @@ export { default as Slider } from './Slider.vue';
10
10
  * (`--slider-track-height`, `--slider-thumb-size`) the SFC defaults read.
11
11
  *
12
12
  * Exactly two canonical recipes ship:
13
- * standard — the CONTINUOUS GLASS CYLINDER with NO VISIBLE THUMB AT ALL (the
14
- * user's binding bar, USER-AUDIT-2026-06-10 §B3): you pull the TRACK
15
- * itself. A THICK glass capsule track; the filled `.slider-range`
16
- * glass cylinder (the W52 liquid-glass material — backdrop + edge rim,
17
- * tinted to `--primary`) is pulled along it, and its leading EDGE IS
18
- * the handle — the only affordance is the fill edge + the cursor/touch
19
- * response. The reka `<SliderThumb>` STAYS MOUNTED (a11y/keyboard/drag/
20
- * value-follow native on it) but paints INVISIBLE: width 0, opacity 0,
21
- * transparent — no distinct disc/cap/ring over the continuous
22
- * cylinder. Keyboard focus rings the TRACK (the W-PRIM-POLISH focus
23
- * register), not the invisible thumb; hover/held lift the track FILL's
24
- * edge rim; the iOS press spring gives the whole fill a felt squish.
25
- * This is the general-purpose glass scrubber and the default.
13
+ * standard — the CONTINUOUS ROUNDED CYLINDER: a THICK glass capsule track with
14
+ * the round knob INSCRIBED inside it (knob diameter = track height −
15
+ * 2×inset, inset 2px) so the whole reads as ONE continuous piece — a
16
+ * ball-bearing seated in the cylinder, never a floating disc on a
17
+ * wire. The fill is the W52 liquid-glass material (backdrop + edge
18
+ * rim, tinted to `--primary`) pulled along the capsule; the knob
19
+ * rides ON it with zero protrusion (`thumbAlignment: 'contain'`).
20
+ * The reka SliderThumb stays mounted (a11y/keyboard/focus) and
21
+ * carries a faint specular grip. Halo-on-state + the iOS press
22
+ * spring. This is the general-purpose glass scrubber and the default.
26
23
  * spectrum — the value.js gradient-track color slider: a tall capsule whose
27
24
  * background is a consumer-supplied `--slider-track-bg`
28
25
  * linear-gradient (the LCH/hue ramp), a transparent range, and a
29
- * THIN VISIBLE squircle thumb the HEIGHT of the track (the iOS/value.js
30
- * color-picker idiom — a slim vertical bar, `w-3`-thin per the value.js
31
- * reference; `corner-shape: superellipse()` via `--corner-shape-thumb`,
26
+ * SQUIRCLE thumb the HEIGHT of the track (the iOS color-picker
27
+ * idiom — `corner-shape: superellipse()` via `--corner-shape-thumb`,
32
28
  * @supports-gated over a generous proportional round fallback that
33
29
  * reads squircle-adjacent cross-engine). This is the aurora/blob
34
- * color-picking surface — its thumb IS visible (it is the handle).
30
+ * color-picking surface. The spectrum already obeys the containment
31
+ * law the standard cylinder now matches (thumb inscribed, protrusion 0).
35
32
  *
36
- * Sizes — the standard cylinder is the thick glass capsule (the invisible thumb's
37
- * value-follow inset still rides the size token for the 44px coarse hit-halo):
38
- * sm — 12px track
39
- * md — 20px track (default)
40
- * lg — 28px track
33
+ * Sizes — the standard cylinder inscribes the knob: track height = thumb + 4px
34
+ * (a 2px inset reveal each side), thumb diameter ≤ track height at every rung:
35
+ * sm — 12px track / 8px thumb
36
+ * md — 20px track / 16px thumb (default)
37
+ * lg — 28px track / 24px thumb
41
38
  */
42
39
  export declare const sliderVariants: (props?: ({
43
40
  variant?: "standard" | "spectrum" | null | undefined;
@@ -19,7 +19,7 @@ type ToasterToast = Toast & {
19
19
  description?: string;
20
20
  action?: Component | VNode;
21
21
  open?: boolean;
22
- 'onUpdate:open'?: (open: boolean) => void;
22
+ onOpenChange?: (open: boolean) => void;
23
23
  };
24
24
  type ToastOptions = Omit<ToasterToast, 'id'>;
25
25
  declare function toast(props: ToastOptions): {
@@ -160,7 +160,7 @@ declare function useToast(): {
160
160
  | undefined;
161
161
  duration?: number | undefined;
162
162
  open?: boolean | undefined;
163
- 'onUpdate:open'?: ((open: boolean) => void) | undefined;
163
+ onOpenChange?: ((open: boolean) => void) | undefined;
164
164
  }[]>;
165
165
  toast: typeof toast;
166
166
  dismiss: (toastId?: string) => void;
@@ -16,7 +16,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
16
16
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
17
17
  }>, {
18
18
  size: "default" | "sm" | "lg" | null;
19
- variant: "default" | "outline" | "card" | null;
19
+ variant: "default" | "outline" | "glass" | "card" | null;
20
20
  disabled: boolean;
21
21
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
22
22
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -20,7 +20,7 @@ export { default as Toggle } from './Toggle.vue';
20
20
  * than re-declaring the surface at the consumer.
21
21
  */
22
22
  export declare const toggleVariants: (props?: ({
23
- variant?: "default" | "outline" | "card" | null | undefined;
23
+ variant?: "default" | "outline" | "glass" | "card" | null | undefined;
24
24
  size?: "default" | "sm" | "lg" | null | undefined;
25
25
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
26
26
  export type ToggleVariants = VariantProps<typeof toggleVariants>;
@@ -1,10 +1,16 @@
1
1
  import { type HTMLAttributes } from 'vue';
2
2
  import { type ToggleGroupRootProps } from 'reka-ui';
3
- import { type ToggleGroupVariants } from './toggleGroupContext';
3
+ import { type ToggleGroupRegister, type ToggleGroupVariants } from './toggleGroupContext';
4
4
  type __VLS_Props = ToggleGroupRootProps & {
5
5
  class?: HTMLAttributes['class'];
6
6
  variant?: ToggleGroupVariants['variant'];
7
7
  size?: ToggleGroupVariants['size'];
8
+ /**
9
+ * The MATERIAL register (E21/E23 — d-glassui M2). `register="glass"` moves
10
+ * every item onto the control-glass chip tier (wash-rest, quiet-on-select)
11
+ * without each call-site naming `variant="glass"`. An explicit `variant` wins.
12
+ */
13
+ register?: ToggleGroupRegister;
8
14
  };
9
15
  declare var __VLS_8: {};
10
16
  type __VLS_Slots = {} & {
@@ -1,10 +1,12 @@
1
1
  import { type HTMLAttributes } from 'vue';
2
2
  import { type ToggleGroupItemProps } from 'reka-ui';
3
- import { type ToggleGroupVariants } from './toggleGroupContext';
3
+ import { type ToggleGroupRegister, type ToggleGroupVariants } from './toggleGroupContext';
4
4
  type __VLS_Props = ToggleGroupItemProps & {
5
5
  class?: HTMLAttributes['class'];
6
6
  variant?: ToggleGroupVariants['variant'];
7
7
  size?: ToggleGroupVariants['size'];
8
+ /** Per-item material register override (E21/E23). Group `register` propagates by default. */
9
+ register?: ToggleGroupRegister;
8
10
  };
9
11
  declare var __VLS_8: {};
10
12
  type __VLS_Slots = {} & {
@@ -10,9 +10,22 @@ import type { toggleVariants } from "../toggle";
10
10
  * `inject<ToggleGroupVariants>("toggleGroup")` pair.
11
11
  */
12
12
  export type ToggleGroupVariants = VariantProps<typeof toggleVariants>;
13
+ /**
14
+ * The MATERIAL register a toggle group wears (E21/E23 — d-glassui M2). `"glass"`
15
+ * moves every item onto the control-glass chip tier (wash-rest, quiet-on-select,
16
+ * one rung quieter than the host hull) WITHOUT each call-site opting into the
17
+ * heavyweight `card` variant. It is the semantic chrome-tier alias for
18
+ * `variant: "glass"`: a group-level register, not a per-item style override.
19
+ * Omitted ⇒ the flat default register (back-compat). An EXPLICIT item/group
20
+ * `variant` still wins over the register (the register only supplies the variant
21
+ * when none is named).
22
+ */
23
+ export type ToggleGroupRegister = "glass";
13
24
  export interface ToggleGroupContext {
14
25
  variant: ToggleGroupVariants["variant"];
15
26
  size: ToggleGroupVariants["size"];
27
+ /** The material register (E21/E23). Resolves to `variant: "glass"` when set. */
28
+ register?: ToggleGroupRegister;
16
29
  }
17
30
  export declare const TOGGLE_GROUP_KEY: import("vue").InjectionKey<ToggleGroupContext>;
18
31
  export declare function provideToggleGroupContext(context: ToggleGroupContext): void;
@@ -109,18 +109,6 @@ export interface DeriveBlobPaletteOptions {
109
109
  hueSpread?: number;
110
110
  /** Midpoint chroma-bump (keeps a vivid pair off the grey midpoint). Default ~0.03. */
111
111
  chromaBump?: number;
112
- /**
113
- * AY.W-COHERE E1 — the OKLCh-chroma CEILING on every derived stop (OKLCh C
114
- * units). When set, each stop's chroma is clamped to AT MOST this value AFTER
115
- * the midpoint bump and BEFORE the gamut-map — so the seed→palette derivation
116
- * can never amplify a vivid seed into the neon register the shader's
117
- * SSS/iridescence then over-drives. This is a CHROMA CAP, not a hue re-map: a
118
- * blue seed stays blue, just bounded to the non-neon chroma. `undefined` (the
119
- * default) leaves the derivation byte-identical to HEAD. The blob substrate
120
- * caps the MOOD/seed path into the warm-register band the FourierField comet +
121
- * the constellation focal share (the set-cohesion accent identity).
122
- */
123
- chromaCeiling?: number;
124
112
  }
125
113
  /**
126
114
  * Seed ONE color into a harmonious, gamut-safe 2-4-stop OKLCh palette for the blob
@@ -1,5 +1,5 @@
1
1
  export { useGlobalDark } from "./useGlobalDark";
2
- export type { UseGlobalDarkOptions } from "./useGlobalDark";
2
+ export type { UseGlobalDarkOptions, UseGlobalDarkReturn, DarkFlipSettledCallback, } from "./useGlobalDark";
3
3
  export { installDarkModeSync } from "./installDarkModeSync";
4
4
  export { darkModeSyncScript, DARK_MODE_STORAGE_KEY } from "./darkModeSyncScript";
5
5
  export type { DarkModeSyncScriptOptions } from "./darkModeSyncScript";
@@ -1,9 +1,15 @@
1
1
  import type { BasicColorSchema } from "@vueuse/core";
2
2
  import { type Ref, type WritableComputedRef } from "vue";
3
+ /**
4
+ * A post-flip settle callback. Receives the dark-mode flag's NEW value. Runs in
5
+ * the single coalesced post-flip task (see `onFlipSettled`).
6
+ */
7
+ export type DarkFlipSettledCallback = (isDark: boolean) => void;
3
8
  /**
4
9
  * The `useGlobalDark` return shape (AW.W15 — named `Use<Name>Return`). The
5
10
  * single shared dark-mode instance: the reactive `isDark` flag, a `toggleDark`
6
- * that optionally suppresses transitions, and the transition-suppression switch.
11
+ * that optionally suppresses transitions, the transition-suppression switch, and
12
+ * the post-flip settle hook (E9b).
7
13
  */
8
14
  export interface UseGlobalDarkReturn {
9
15
  /** Reactive dark-mode flag (vueuse `useDark` ref — writable). */
@@ -14,6 +20,20 @@ export interface UseGlobalDarkReturn {
14
20
  disableTransitions: Ref<boolean>;
15
21
  /** Configure transition suppression during the dark-mode toggle. */
16
22
  setDisableTransitions: (value: boolean) => void;
23
+ /**
24
+ * E9b — the post-flip SETTLE hook. Register a callback that runs in ONE
25
+ * coalesced task AFTER each dark↔light flip's instant chrome paint, so
26
+ * consumers BATCH N expensive re-theme operations (e.g. an atlas's N-chart
27
+ * `merge-setOption` palette tween) into a single beat instead of N watchers
28
+ * firing in N sequential storms on the critical frame. The class toggle is
29
+ * synchronous (chrome flips instantly); the batch drains one frame later via a
30
+ * single `requestAnimationFrame` (an SSR/no-rAF env falls back to a macrotask).
31
+ * EVERY registered callback shares that ONE task — no per-subscriber scheduling.
32
+ * No View Transition is involved anywhere in this path (PRM-safe by
33
+ * construction). Returns an unsubscribe function. Idempotent re-registration
34
+ * of the same callback is a no-op.
35
+ */
36
+ onFlipSettled: (callback: DarkFlipSettledCallback) => () => void;
17
37
  }
18
38
  export interface UseGlobalDarkOptions {
19
39
  /**
@@ -21,22 +21,13 @@ import { ref, type CSSProperties } from "vue";
21
21
  *
22
22
  * PRM-aware: under `prefers-reduced-motion: reduce` the seam DOES NOT write the
23
23
  * position (the CSS half pins the catch-light static at the centred `50%`
24
- * fallback). The PRM signal is read from a SINGLE cached `matchMedia` listener
25
- * minted once at composable setup (NOT a fresh `matchMedia` per pointer event) —
26
- * the AV.W7 `useWebGLCanvas` substrate pattern.
27
- *
28
- * AY.W-A11Y-PERF O-3 — the pointer write is rAF-COALESCED: `onPointerMove` only
29
- * stashes the raw event + schedules ONE `requestAnimationFrame`; the rAF callback
30
- * does the single `getBoundingClientRect()` + style write, so a 120–1000 Hz pointer
31
- * collapses to ONE batched layout read + ONE style write per animation frame (under
32
- * W54 maximal-glass every blurred-surface repaint is amortized to the frame, not the
33
- * event). The composable cancels the pending rAF + removes the matchMedia listener on
34
- * scope dispose (cleanup discipline).
24
+ * fallback). The write is style-only — no reflow, no re-render — and inert until
25
+ * the user actually moves the pointer over a wired host.
35
26
  */
36
27
  export interface UseSpecularTracking {
37
28
  /** Bind to the host element's `:style`. Carries the `--mouse-x/--mouse-y` write. */
38
29
  specularStyle: ReturnType<typeof ref<CSSProperties>>;
39
- /** Bind to the host's `@pointermove`. Schedules the rAF-coalesced position write (PRM-gated). */
30
+ /** Bind to the host's `@pointermove`. Writes the cursor position (PRM-gated). */
40
31
  onPointerMove: (event: PointerEvent) => void;
41
32
  }
42
33
  export declare function useSpecularTracking(): UseSpecularTracking;
@@ -7,5 +7,6 @@ export * from "../useIntersectionPause";
7
7
  export * from "../useYieldToMain";
8
8
  export * from "../usePrioritizedTask";
9
9
  export * from "../useViewTransition";
10
+ export * from "../useRouteTransition";
10
11
  export * from "../vReveal";
11
12
  export * from "../useTextHighlight";
@@ -6,5 +6,3 @@ export * from "./useNumericTransition";
6
6
  export * from "./useAnimatedNumber";
7
7
  export * from "./useAnimatedNumberMap";
8
8
  export * from "./useCountup";
9
- export * from "./suite";
10
- export { SPRING_PRESETS, springPreset, type SpringPresetRow, type SpringPresetName, } from "./springPresets";
@@ -0,0 +1,42 @@
1
+ export interface RouteTransitionOptions {
2
+ /**
3
+ * Directional transition types tagged on the active transition for
4
+ * `:active-view-transition-type(<t>)` CSS curves (Chrome 140+; feature-
5
+ * detected, degrades to one symmetric curve elsewhere). For a route morph a
6
+ * consumer might tag `["forward"]` / `["back"]` off the navigation direction.
7
+ */
8
+ types?: string[];
9
+ }
10
+ export interface RouteTransitionResult {
11
+ /**
12
+ * Resolves when the transition's `finished` promise settles (or immediately
13
+ * in the fallback / PRM path). Use to route focus per the a11y MANDATORY:
14
+ * `await navigate(go).finished; mastheadTitle.value?.focus()`. Never rejects —
15
+ * a skipped/aborted transition settles cleanly.
16
+ */
17
+ finished: Promise<void>;
18
+ /** True when the native VT ran; false when the instant / PRM fallback ran. */
19
+ transitioned: boolean;
20
+ }
21
+ export interface UseRouteTransitionReturn {
22
+ /**
23
+ * Run `navigate` (the route/state change, possibly async) wrapped in a View
24
+ * Transition. Under PRM or on an unsupported engine the navigation runs
25
+ * directly (awaited), unanimated. Returns `{ finished, transitioned }`.
26
+ */
27
+ navigate: (navigate: () => void | Promise<void>, options?: RouteTransitionOptions) => RouteTransitionResult;
28
+ /** True when the native VT API is available (feature-detect for VT-only CSS). */
29
+ supported: boolean;
30
+ }
31
+ /**
32
+ * True when `document.startViewTransition` is available — the feature-detected
33
+ * predicate the helper (and a consumer's VT-only styling) gate on.
34
+ */
35
+ export declare function supportsRouteTransitions(): boolean;
36
+ /**
37
+ * The route-transition helper. Returns `navigate` — a function that wraps a
38
+ * (possibly async) navigation callback in `document.startViewTransition` with PRM
39
+ * + unsupported fallbacks. The navigation ALWAYS runs (information parity); the
40
+ * morph is conditional on support + motion preference.
41
+ */
42
+ export declare function useRouteTransition(): UseRouteTransitionReturn;
@@ -1,6 +1,6 @@
1
1
  import { type Ref } from "vue";
2
2
  import { type SpringRef } from "./useSpring";
3
- /** Named iOS spring presets the mount register exposes (the dock register is not a mount enter). */
3
+ /** Named iOS spring presets (mirrors X1 §2.3 / tokens.css §2). */
4
4
  export type SpringPreset = "smooth" | "snappy" | "bouncy" | "gentle";
5
5
  export interface UseSpringMountOptions {
6
6
  /**
@@ -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-BdQXh9ie.js";
1
+ import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "./useConfiguratorState-DxAqksK6.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 };
@@ -1,6 +1,6 @@
1
1
  import { t as e } from "./createLucideIcon-B6uNAU9G.js";
2
- import { n as t } from "./button-DyiWFAOE.js";
3
- import { t as n } from "./_plugin-vue_export-helper-DWghtRt7.js";
2
+ import { n as t } from "./button-DN39cGqL.js";
3
+ import { t as n } from "./_plugin-vue_export-helper-ok8pgSl5.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",