@mkbabb/glass-ui 3.7.0 → 3.9.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 (261) hide show
  1. package/README.md +1 -6
  2. package/dist/CardAction-DuArVky-.js +157 -0
  3. package/dist/{CommandShortcut-CY0aQTz5.js → CommandShortcut-CefCj5mt.js} +7 -7
  4. package/dist/{ContextMenuSubContent-BeDz7G6f.js → ContextMenuSubContent-Bhg4f5jX.js} +3 -3
  5. package/dist/{DataTable-gtPOLZvl.js → DataTable-CUHMukiQ.js} +4 -4
  6. package/dist/DeckProgress-Dmk4_AKN.js +23 -0
  7. package/dist/{DialogContent-DG1YMR-P.js → DialogContent-BRkT1cjP.js} +3 -3
  8. package/dist/{DialogFooter-BCIaDP15.js → DialogFooter-Gprw8H_A.js} +1 -1
  9. package/dist/{HoverPopover-DXpOEw1P.js → HoverPopover-2LOIW34a.js} +1 -1
  10. package/dist/{IconTooltip-Cu86JR4e.js → IconTooltip-yefK7cJc.js} +1 -1
  11. package/dist/{MetricBadge-D-bRaQUD.js → MetricBadge-lTc002u2.js} +1 -1
  12. package/dist/{Notification-B5WHP3_1.js → Notification-BxK8LZMw.js} +1 -1
  13. package/dist/{NumberFieldContent-CLNVR1iY.js → NumberFieldContent-BbLOh8RU.js} +2 -2
  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-BPP84wKo.js} +2 -2
  17. package/dist/{SelectScrollDownButton-DAo5NmY_.js → SelectScrollDownButton-T32cVFeM.js} +4 -4
  18. package/dist/{SelectSeparator-COFMJGng.js → SelectSeparator-C4Ql0gzV.js} +1 -1
  19. package/dist/{TabsList-COqIdW7i.js → TabsList-B8CVOQPC.js} +2 -2
  20. package/dist/{Toaster-BMaeziJJ.js → Toaster-1rYWrmAm.js} +1 -1
  21. package/dist/{ToggleGroupItem-C-AIkBUw.js → ToggleGroupItem-Cev4pOVK.js} +5 -5
  22. package/dist/animated-digit.js +1 -1
  23. package/dist/api/index.d.ts +5 -3
  24. package/dist/aurora.js +339 -408
  25. package/dist/{badge-DHQrc_GQ.js → badge-BvwvT50i.js} +4 -4
  26. package/dist/badge.js +1 -1
  27. package/dist/{button-CAywcrhO.js → button-DN39cGqL.js} +13 -12
  28. package/dist/button.js +1 -1
  29. package/dist/canvas.d.ts +1 -0
  30. package/dist/canvas.js +3 -0
  31. package/dist/card.js +1 -1
  32. package/dist/carousel.js +106 -105
  33. package/dist/collapsible.js +1 -1
  34. package/dist/{color-DjJCAQ6f.js → color-8jBjWiJ6.js} +22 -14
  35. package/dist/color.js +2 -2
  36. package/dist/command.js +1 -1
  37. package/dist/compile-DAjIoEy2.js +158 -0
  38. package/dist/components/custom/aurora/composables/atoms.d.ts +90 -25
  39. package/dist/components/custom/aurora/composables/color.d.ts +0 -12
  40. package/dist/components/custom/aurora/composables/uniformBridge.d.ts +34 -23
  41. package/dist/components/custom/aurora/constants/presets.d.ts +10 -7
  42. package/dist/components/custom/aurora/constants/renderMode.d.ts +22 -0
  43. package/dist/components/custom/aurora/constants/shaders/aurora.wgsl.d.ts +1 -1
  44. package/dist/components/custom/aurora/constants/shaders/brush.glsl.d.ts +1 -1
  45. package/dist/components/custom/aurora/constants/shaders/composition.glsl.d.ts +1 -1
  46. package/dist/components/custom/aurora/constants/shaders/mediums.glsl.d.ts +1 -1
  47. package/dist/components/custom/aurora/index.d.ts +3 -3
  48. package/dist/components/custom/configurator/ConfiguratorLayer.vue.d.ts +1 -1
  49. package/dist/components/custom/constellation/Constellation.vue.d.ts +40 -5
  50. package/dist/components/custom/constellation/constellationField.d.ts +110 -5
  51. package/dist/components/custom/constellation/index.d.ts +2 -2
  52. package/dist/components/custom/dock/DockSeparator.vue.d.ts +3 -0
  53. package/dist/components/custom/dock/GlassDock.vue.d.ts +57 -67
  54. package/dist/components/custom/dock/composables/dockContext.d.ts +7 -0
  55. package/dist/components/custom/dock/composables/dockMorphContext.d.ts +57 -0
  56. package/dist/components/custom/dock/composables/index.d.ts +3 -0
  57. package/dist/components/custom/dock/composables/useDockHold.d.ts +61 -0
  58. package/dist/components/custom/dock/composables/useLayerTransition.d.ts +13 -59
  59. package/dist/components/custom/dock/index.d.ts +4 -1
  60. package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +13 -0
  61. package/dist/components/custom/goo-blob/composables/useBlobMood.d.ts +23 -5
  62. package/dist/components/custom/goo-blob/composables/useBlobPointer.d.ts +2 -0
  63. package/dist/components/custom/goo-blob/composables/useBlobSatellites.d.ts +2 -0
  64. package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +20 -5
  65. package/dist/components/custom/goo-blob/index.d.ts +1 -1
  66. package/dist/components/custom/goo-blob/shaders/sdf-body.glsl.d.ts +1 -1
  67. package/dist/components/custom/goo-blob/shaders/watercolor-edges.glsl.d.ts +2 -2
  68. package/dist/components/custom/goo-blob/types.d.ts +8 -0
  69. package/dist/components/custom/tabs/SegmentedTabs.vue.d.ts +92 -0
  70. package/dist/components/custom/tabs/composables/useTabIndicator.d.ts +49 -0
  71. package/dist/components/custom/tabs/index.d.ts +2 -5
  72. package/dist/components/ui/button/index.d.ts +1 -1
  73. package/dist/components/ui/card/Card.vue.d.ts +28 -10
  74. package/dist/components/ui/card/index.d.ts +1 -1
  75. package/dist/components/ui/carousel/CarouselNext.vue.d.ts +1 -1
  76. package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +1 -1
  77. package/dist/components/ui/carousel/GlassCarouselPager.vue.d.ts +3 -4
  78. package/dist/components/ui/progress/ProgressDefault.vue.d.ts +14 -4
  79. package/dist/components/ui/slider/Slider.vue.d.ts +3 -1
  80. package/dist/components/ui/slider/index.d.ts +14 -7
  81. package/dist/components/ui/tabs/TabsList.vue.d.ts +1 -1
  82. package/dist/composables/color/index.d.ts +19 -0
  83. package/dist/composables/context/createContext.d.ts +1 -1
  84. package/dist/composables/dom/index.d.ts +1 -1
  85. package/dist/composables/dom/useResolveTokenColor.d.ts +27 -0
  86. package/dist/composables/glass/canvas2d/index.d.ts +2 -1
  87. package/dist/composables/glass/canvas2d/resolveCanvasColor.d.ts +20 -0
  88. package/dist/composables/glass/canvas2d/useCanvas2D.d.ts +15 -1
  89. package/dist/composables/glass/index.d.ts +3 -1
  90. package/dist/composables/glass/useSpecularTracking.d.ts +33 -0
  91. package/dist/composables/glass/webgl/createCanvasLifecycle.d.ts +1 -1
  92. package/dist/composables/glass/webgl/shaders/procedural-color.glsl.d.ts +4 -0
  93. package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +1 -1
  94. package/dist/composables/motion/core/index.d.ts +1 -0
  95. package/dist/configurator.js +1 -1
  96. package/dist/confirm-dialog.js +2 -2
  97. package/dist/constellation.js +143 -74
  98. package/dist/context-menu.js +2 -2
  99. package/dist/controls.js +1 -1
  100. package/dist/data-table.js +1 -1
  101. package/dist/deck-progress.d.ts +1 -0
  102. package/dist/deck-progress.js +2 -0
  103. package/dist/dialog.js +2 -2
  104. package/dist/dock.js +468 -354
  105. package/dist/{dockContext-DLgrVWsU.js → dockContext-BKeIMmNk.js} +1 -1
  106. package/dist/dom.js +6 -6
  107. package/dist/{dropdown-menu-BWpwutt0.js → dropdown-menu-D77jX6Df.js} +4 -4
  108. package/dist/dropdown-menu.js +1 -1
  109. package/dist/fonts/README.md +26 -18
  110. package/dist/forms.js +5 -5
  111. package/dist/fourier-field.js +35 -35
  112. package/dist/glass-panel.js +7 -7
  113. package/dist/glass-ui.css +1 -1
  114. package/dist/glass-ui.js +154 -169
  115. package/dist/goo-blob.js +361 -274
  116. package/dist/header-ribbon.js +1 -1
  117. package/dist/hover-card.js +1 -1
  118. package/dist/hover-popover.js +1 -1
  119. package/dist/icon-tooltip.js +1 -1
  120. package/dist/index.d.ts +1 -2
  121. package/dist/instrument-chassis.js +1 -1
  122. package/dist/instrument-rail.js +1 -1
  123. package/dist/label.js +1 -1
  124. package/dist/labeled-field.js +5 -5
  125. package/dist/{menuItemVariants-B4eFR5Ix.js → menuItemVariants-CCoBNkU5.js} +1 -1
  126. package/dist/metric-badge.js +1 -1
  127. package/dist/metric-stack.js +1 -1
  128. package/dist/motion-core.js +65 -65
  129. package/dist/motion.js +1 -1
  130. package/dist/notification.js +1 -1
  131. package/dist/number-field.js +1 -1
  132. package/dist/paper-backdrop.js +1 -1
  133. package/dist/popover.js +1 -1
  134. package/dist/progress.js +1 -1
  135. package/dist/pulse.js +2 -2
  136. package/dist/reactive.js +2 -2
  137. package/dist/resolveCanvasColor-BBiYfp8g.js +11 -0
  138. package/dist/scrolling-text.js +1 -1
  139. package/dist/search.js +9 -9
  140. package/dist/select.js +3 -3
  141. package/dist/separator.js +1 -1
  142. package/dist/{sheet-Cv1uO-Gq.js → sheet-VZEtNFvO.js} +2 -2
  143. package/dist/sheet.js +1 -1
  144. package/dist/slider-DC2mwuoe.js +142 -0
  145. package/dist/slider.js +1 -1
  146. package/dist/sortable-list.js +2 -2
  147. package/dist/status-dot.js +17 -16
  148. package/dist/styles/animations.css +6 -2
  149. package/dist/styles/components.css +1 -1
  150. package/dist/styles/dock/density.css +230 -0
  151. package/dist/styles/dock/layer-group.css +263 -0
  152. package/dist/styles/dock/layers.css +355 -0
  153. package/dist/styles/dock/morph.css +244 -0
  154. package/dist/styles/dock/overflow.css +201 -0
  155. package/dist/styles/dock/shell.css +457 -0
  156. package/dist/styles/dock-controls.css +187 -50
  157. package/dist/styles/dock.css +65 -1181
  158. package/dist/styles/fonts.css +0 -25
  159. package/dist/styles/glass.css +482 -102
  160. package/dist/styles/index.css +12 -11
  161. package/dist/styles/theme.css +60 -2
  162. package/dist/styles/tokens.css +625 -72
  163. package/dist/styles/typography.css +52 -69
  164. package/dist/styles/utilities.css +91 -40
  165. package/dist/styles/view-transition.css +12 -40
  166. package/dist/switch.js +1 -1
  167. package/dist/tabs.js +183 -152
  168. package/dist/timeline.js +3 -3
  169. package/dist/toast.js +1 -1
  170. package/dist/toggle-group.js +1 -1
  171. package/dist/tooltip.js +1 -1
  172. package/dist/typewriter.js +1 -1
  173. package/dist/{useCanvas2D-C31yfUGY.js → useCanvas2D-ClrQuZtp.js} +2 -1
  174. package/dist/{useConfiguratorState-B24TcgIn.js → useConfiguratorState-DxAqksK6.js} +24 -13
  175. package/dist/useResolveTokenColor-r9pnNjqK.js +24 -0
  176. package/dist/useSpecularTracking-BVRZsRHA.js +26 -0
  177. package/dist/{useTextHighlight-aMPdEpkq.js → useTextHighlight-DON84L8w.js} +1 -1
  178. package/dist/{useTouchGate-YQRwyUGU.js → useTouchGate-WFyJYsth.js} +1 -1
  179. package/dist/vReveal-CqaCz_mC.js +44 -0
  180. package/dist/watercolor-dot.js +1 -1
  181. package/package.json +67 -36
  182. package/src/fonts/README.md +26 -18
  183. package/src/styles/animations.css +6 -2
  184. package/src/styles/dock/density.css +230 -0
  185. package/src/styles/dock/layer-group.css +263 -0
  186. package/src/styles/dock/layers.css +355 -0
  187. package/src/styles/dock/morph.css +244 -0
  188. package/src/styles/dock/overflow.css +201 -0
  189. package/src/styles/dock/shell.css +457 -0
  190. package/src/styles/dock-controls.css +187 -50
  191. package/src/styles/dock.css +65 -1181
  192. package/src/styles/fonts.css +0 -25
  193. package/src/styles/glass.css +482 -102
  194. package/src/styles/index.css +12 -11
  195. package/src/styles/theme.css +60 -2
  196. package/src/styles/tokens.css +625 -72
  197. package/src/styles/typography.css +52 -69
  198. package/src/styles/utilities.css +91 -40
  199. package/src/styles/view-transition.css +12 -40
  200. package/dist/CardAction-D8nSE62a.js +0 -163
  201. package/dist/DiscoGlyph-ZoBYpoxI.js +0 -132
  202. package/dist/GlyphFace-Ce_oe3tM.js +0 -51
  203. package/dist/UnderlineTabs-D_c1iYo-.js +0 -39
  204. package/dist/compile-iM4IUB66.js +0 -158
  205. package/dist/components/custom/aurora/constants/shaders/painterly.wgsl.d.ts +0 -7
  206. package/dist/components/custom/aurora/constants/shaders/wake.wgsl.d.ts +0 -4
  207. package/dist/components/custom/disco-glyph/DiscoGlyph.vue.d.ts +0 -58
  208. package/dist/components/custom/disco-glyph/index.d.ts +0 -1
  209. package/dist/components/custom/glass-carousel/GlassCarousel.vue.d.ts +0 -36
  210. package/dist/components/custom/glass-carousel/GlassCarouselItem.vue.d.ts +0 -28
  211. package/dist/components/custom/glass-carousel/index.d.ts +0 -4
  212. package/dist/components/custom/glass-carousel/useGlassCarousel.d.ts +0 -30
  213. package/dist/components/custom/glyph-face/GlyphFace.vue.d.ts +0 -64
  214. package/dist/components/custom/glyph-face/index.d.ts +0 -2
  215. package/dist/components/custom/glyph-face/keys.d.ts +0 -9
  216. package/dist/components/custom/responsive-tabs/ResponsiveTabs.vue.d.ts +0 -73
  217. package/dist/components/custom/responsive-tabs/index.d.ts +0 -2
  218. package/dist/components/custom/tabs/BouncyTabs.vue.d.ts +0 -27
  219. package/dist/components/custom/tabs/BouncyToggle.vue.d.ts +0 -60
  220. package/dist/components/custom/tabs/UnderlineTabs.vue.d.ts +0 -20
  221. package/dist/components/custom/tabs/composables/useBouncySlider.d.ts +0 -39
  222. package/dist/disco-glyph.d.ts +0 -1
  223. package/dist/disco-glyph.js +0 -2
  224. package/dist/fonts/fraunces/fraunces-latin.woff2 +0 -0
  225. package/dist/glass-carousel.d.ts +0 -1
  226. package/dist/glass-carousel.js +0 -214
  227. package/dist/glyph-face.d.ts +0 -1
  228. package/dist/glyph-face.js +0 -3
  229. package/dist/keys-Dyf_uTs5.js +0 -9
  230. package/dist/responsive-tabs.d.ts +0 -1
  231. package/dist/responsive-tabs.js +0 -95
  232. package/dist/slider-BA9wIs5e.js +0 -130
  233. package/dist/styles/disco-glyph.css +0 -26
  234. package/dist/styles/glyph-face.css +0 -92
  235. package/dist/useViewTransition-DaN5Zrox.js +0 -21
  236. package/dist/vReveal-BE2TsPoR.js +0 -24
  237. package/src/fonts/fraunces/fraunces-latin.woff2 +0 -0
  238. package/src/styles/disco-glyph.css +0 -26
  239. package/src/styles/glyph-face.css +0 -92
  240. /package/dist/{CollapsibleContent-D7UNsXQr.js → CollapsibleContent-CP9qF1v4.js} +0 -0
  241. /package/dist/{ContextMenuContent-DGKZX1Du.js → ContextMenuContent-DDa0v27s.js} +0 -0
  242. /package/dist/{HoverCardContent-Bn0UBMY9.js → HoverCardContent-B6CcQ8He.js} +0 -0
  243. /package/dist/{InstrumentChassis-BLJBl1BW.js → InstrumentChassis-C2f6cBaQ.js} +0 -0
  244. /package/dist/{InstrumentRail-BElFwKyt.js → InstrumentRail-CUJ05YVG.js} +0 -0
  245. /package/dist/{Label-DBc7bKzZ.js → Label-zRfbQdCn.js} +0 -0
  246. /package/dist/{ModalOverlay-D1VrWyoi.js → ModalOverlay-B1GkAjNb.js} +0 -0
  247. /package/dist/{PaperBackdrop-DCGoGatv.js → PaperBackdrop-CqwjnfLv.js} +0 -0
  248. /package/dist/{SelectGroup-BcaFjvP4.js → SelectGroup-BFiod7X2.js} +0 -0
  249. /package/dist/{Separator-DZyqsCum.js → Separator-D7sD7RKj.js} +0 -0
  250. /package/dist/{Switch-2rsAtDfA.js → Switch-LDKLmmgx.js} +0 -0
  251. /package/dist/{TooltipProvider-CD2IXfRv.js → TooltipProvider-CmZzCuaG.js} +0 -0
  252. /package/dist/{_plugin-vue_export-helper-gLzyemvl.js → _plugin-vue_export-helper-ok8pgSl5.js} +0 -0
  253. /package/dist/composables/{dom → motion}/useTextHighlight.d.ts +0 -0
  254. /package/dist/{createContext-CvNyBk4o.js → createContext-B44Sah_H.js} +0 -0
  255. /package/dist/{useGlassRenderer-HebgSEgN.js → useGlassRenderer-5I0YkI4t.js} +0 -0
  256. /package/dist/{useInterval-D3USn0yc.js → useInterval-Dsmqwi03.js} +0 -0
  257. /package/dist/{useResizeObserver-CSyxGxIX.js → useResizeObserver-CWCbk5Px.js} +0 -0
  258. /package/dist/{useSpringMount-LRZqJTaF.js → useSpringMount-BJSHcLl3.js} +0 -0
  259. /package/dist/{useTimer-DEJonOZa.js → useTimer-3xqf_54b.js} +0 -0
  260. /package/dist/{useUserInvalidAria-CQKjEfwP.js → useUserInvalidAria-DoJKMZ3s.js} +0 -0
  261. /package/dist/{useViewportReady-K96m-Mdv.js → useViewportReady-RIr5Wgkh.js} +0 -0
@@ -1,95 +0,0 @@
1
- import { t as e } from "./cn-DJXf4yaB.js";
2
- import { a as t, i as n, o as r, r as i, s as a } from "./SelectScrollDownButton-DAo5NmY_.js";
3
- import { t as o } from "./UnderlineTabs-D_c1iYo-.js";
4
- import { Fragment as s, computed as c, createBlock as l, createElementBlock as u, createTextVNode as d, createVNode as f, defineComponent as p, mergeModels as m, normalizeClass as h, onBeforeUnmount as g, onMounted as _, openBlock as v, ref as y, renderList as b, toDisplayString as x, unref as S, useModel as C, withCtx as w } from "vue";
5
- //#endregion
6
- //#region src/components/custom/responsive-tabs/ResponsiveTabs.vue
7
- var T = /* @__PURE__ */ p({
8
- __name: "ResponsiveTabs",
9
- props: /* @__PURE__ */ m({
10
- options: {},
11
- desktopOptions: { default: null },
12
- breakpoint: { default: "640px" },
13
- class: { type: [
14
- Boolean,
15
- null,
16
- String,
17
- Object,
18
- Array
19
- ] },
20
- desktopClass: { type: [
21
- Boolean,
22
- null,
23
- String,
24
- Object,
25
- Array
26
- ] },
27
- mobileTriggerClass: { type: [
28
- Boolean,
29
- null,
30
- String,
31
- Object,
32
- Array
33
- ] },
34
- ariaLabel: {}
35
- }, {
36
- modelValue: { required: !0 },
37
- modelModifiers: {}
38
- }),
39
- emits: ["update:modelValue"],
40
- setup(p) {
41
- let m = p, T = C(p, "modelValue"), E = y(!0), D = null;
42
- function O(e) {
43
- E.value = e.matches;
44
- }
45
- _(() => {
46
- typeof window > "u" || !window.matchMedia || (D = window.matchMedia(`(min-width: ${m.breakpoint})`), E.value = D.matches, D.addEventListener("change", O));
47
- }), g(() => {
48
- D?.removeEventListener("change", O), D = null;
49
- });
50
- let k = c(() => m.desktopOptions ?? m.options), A = c(() => {
51
- let e = k.value;
52
- return e.some((e) => e.value === T.value) ? T.value : e[0]?.value ?? T.value;
53
- }), j = c(() => m.ariaLabel ?? m.options.find((e) => e.value === T.value)?.label ?? "Select");
54
- function M(e) {
55
- typeof e == "string" && (T.value = e);
56
- }
57
- return (c, g) => E.value ? (v(), l(S(o), {
58
- key: 0,
59
- options: k.value,
60
- "model-value": A.value,
61
- class: h(S(e)("responsive-tabs__desktop text-body", m.class, p.desktopClass)),
62
- "onUpdate:modelValue": M
63
- }, null, 8, [
64
- "options",
65
- "model-value",
66
- "class"
67
- ])) : (v(), u("div", {
68
- key: 1,
69
- class: h(S(e)("responsive-tabs__mobile w-fit", m.class))
70
- }, [f(S(a), {
71
- "model-value": T.value,
72
- "onUpdate:modelValue": M
73
- }, {
74
- default: w(() => [f(S(t), {
75
- "aria-label": j.value,
76
- class: h(S(e)("responsive-tabs__trigger text-small w-auto min-w-input-sm", p.mobileTriggerClass))
77
- }, {
78
- default: w(() => [f(S(r))]),
79
- _: 1
80
- }, 8, ["aria-label", "class"]), f(S(n), null, {
81
- default: w(() => [(v(!0), u(s, null, b(p.options, (e) => (v(), l(S(i), {
82
- key: e.value,
83
- value: e.value
84
- }, {
85
- default: w(() => [d(x(e.label), 1)]),
86
- _: 2
87
- }, 1032, ["value"]))), 128))]),
88
- _: 1
89
- })]),
90
- _: 1
91
- }, 8, ["model-value"])], 2));
92
- }
93
- });
94
- //#endregion
95
- export { T as ResponsiveTabs };
@@ -1,130 +0,0 @@
1
- import { t as e } from "./cn-DJXf4yaB.js";
2
- import { t } from "./_plugin-vue_export-helper-gLzyemvl.js";
3
- import { t as n } from "./useTouchGate-YQRwyUGU.js";
4
- import { i as r } from "./dockContext-DLgrVWsU.js";
5
- import { Fragment as i, computed as a, createBlock as o, createElementBlock as s, createVNode as c, defineComponent as l, mergeProps as u, onBeforeUnmount as d, openBlock as f, renderList as p, unref as m, useTemplateRef as h, watch as g, withCtx as _ } from "vue";
6
- import { SliderRange as v, SliderRoot as y, SliderThumb as b, SliderTrack as x, useForwardPropsEmits as S } from "reka-ui";
7
- import { cva as C } from "class-variance-authority";
8
- //#endregion
9
- //#region src/components/ui/slider/Slider.vue
10
- var w = /* @__PURE__ */ t(/* @__PURE__ */ l({
11
- __name: "Slider",
12
- props: {
13
- defaultValue: {},
14
- modelValue: {},
15
- disabled: { type: Boolean },
16
- orientation: {},
17
- dir: {},
18
- inverted: { type: Boolean },
19
- min: {},
20
- max: {},
21
- step: {},
22
- minStepsBetweenThumbs: {},
23
- thumbAlignment: {},
24
- asChild: { type: Boolean },
25
- as: {},
26
- name: {},
27
- required: { type: Boolean },
28
- class: { type: [
29
- Boolean,
30
- null,
31
- String,
32
- Object,
33
- Array
34
- ] },
35
- variant: {},
36
- size: {},
37
- keepDockOpen: { type: Boolean }
38
- },
39
- emits: ["update:modelValue", "valueCommit"],
40
- setup(t, { emit: l }) {
41
- let C = t, w = l, E = a(() => C.variant ?? "standard"), D = a(() => C.size ?? "md"), O = a(() => C.keepDockOpen ?? !0), k = S(a(() => {
42
- let { class: e, variant: t, size: n, keepDockOpen: r, ...i } = C;
43
- return E.value === "spectrum" && !i.thumbAlignment && (i.thumbAlignment = "contain"), i;
44
- }), w), A = r(), j = !1;
45
- function M() {
46
- !O.value || j || (A?.keepOpen(), j = !0);
47
- }
48
- function N() {
49
- j &&= (A?.release(), !1);
50
- }
51
- function P() {
52
- if (M(), typeof window > "u") return;
53
- let e = () => {
54
- N(), window.removeEventListener("pointerup", e), window.removeEventListener("pointercancel", e);
55
- };
56
- window.addEventListener("pointerup", e), window.addEventListener("pointercancel", e);
57
- }
58
- let F = h("sliderRootRef"), I = n();
59
- function L() {
60
- let e = F.value;
61
- return e ? e instanceof HTMLElement ? e : e.$el ?? null : null;
62
- }
63
- function R(e) {
64
- let t = L(), n = e.touches[0];
65
- !t || !n || I.handleTouchStart(t, n.clientY) || (e.preventDefault(), e.stopPropagation());
66
- }
67
- function z(e) {
68
- I.handleScrollCheck(e);
69
- }
70
- function B() {
71
- I.handleTouchEnd();
72
- }
73
- g(I.isActive, (e) => {
74
- e ? M() : N();
75
- }), d(N);
76
- let V = a(() => A?.held.value === !0), H = a(() => I.isActive.value);
77
- return (n, r) => (f(), o(m(y), u({
78
- "data-slot": "slider",
79
- ref_key: "sliderRootRef",
80
- ref: F,
81
- class: m(e)(m(T)({
82
- variant: E.value,
83
- size: D.value
84
- }), C.class),
85
- "data-variant": E.value,
86
- "data-size": D.value,
87
- "data-held": V.value || void 0,
88
- "data-touch-active": H.value || void 0
89
- }, m(k), {
90
- onPointerdown: P,
91
- onTouchstart: R,
92
- onTouchmove: z,
93
- onTouchend: B
94
- }), {
95
- default: _(() => [c(m(x), { class: "slider-track" }, {
96
- default: _(() => [c(m(v), { class: "slider-range" })]),
97
- _: 1
98
- }), (f(!0), s(i, null, p(t.modelValue, (e, t) => (f(), o(m(b), {
99
- key: t,
100
- "aria-label": n.$attrs["aria-label"] ?? void 0,
101
- class: "slider-thumb"
102
- }, null, 8, ["aria-label"]))), 128))]),
103
- _: 1
104
- }, 16, [
105
- "class",
106
- "data-variant",
107
- "data-size",
108
- "data-held",
109
- "data-touch-active"
110
- ]));
111
- }
112
- }), [["__scopeId", "data-v-138bdbd1"]]), T = C("glass-slider focus-ring relative flex w-full touch-none select-none items-center transition-colors", {
113
- variants: {
114
- variant: {
115
- standard: "",
116
- spectrum: ""
117
- },
118
- size: {
119
- sm: "[--slider-track-height:0.25rem] [--slider-thumb-size:0.75rem]",
120
- md: "[--slider-track-height:0.375rem] [--slider-thumb-size:1rem]",
121
- lg: "[--slider-track-height:0.75rem] [--slider-thumb-size:1.5rem]"
122
- }
123
- },
124
- defaultVariants: {
125
- variant: "standard",
126
- size: "md"
127
- }
128
- });
129
- //#endregion
130
- export { w as n, T as t };
@@ -1,26 +0,0 @@
1
- /* disco-glyph.css — host rule for <DiscoGlyph>.
2
- *
3
- * Per P.W3 sub-B. The component renders an inline <svg> with a faceted
4
- * gradient + specular cap painted over the silhouette path. The host
5
- * rule scopes layout (block flow, inherit colour) and exposes a
6
- * minimal opt-in selector for phase-tinted state styling.
7
- *
8
- * Self-contained sheet; no token additions. Consumers may override
9
- * via the `--phase-color` cascade established by the chassis layer.
10
- */
11
-
12
- @layer components {
13
- .disco-glyph {
14
- display: inline-block;
15
- width: 100%;
16
- height: 100%;
17
- color: currentColor;
18
- line-height: 0;
19
- }
20
-
21
- .disco-glyph--phase-tinted {
22
- /* Hook for consumers that animate hue under phase changes;
23
- * the gradient stops already read currentColor or an explicit
24
- * phaseColor prop, so this class stays empty by default. */
25
- }
26
- }
@@ -1,92 +0,0 @@
1
- /* glyph-face.css — three-layer composition for <GlyphFace>.
2
- *
3
- * Per W2.7 §19 and Q.W3 §F2 + §F8. Wraps a slotted glyph (lucide stroke
4
- * or DiscoGlyph SVG) with a phase-tinted radial backplate (visible only
5
- * when [data-active="true"]) and a 165° linear-gradient catch-light cap.
6
- * The slotted silhouette stays `currentColor` — Vignelli-clean — while
7
- * the disco punch lives in the surrounding layers.
8
- *
9
- * Q.W3.A.1 inversion: when no silhouette resolves, the cap renders
10
- * nothing (rather than a wrapper-rectangle fallback). Consumers passing
11
- * `silhouette` continue to consume `clip-path: path(var(--gf-silhouette))`;
12
- * the lucide consumer sites in ActionCluster + SettingsCog publish via
13
- * the silhouette table from `@src/components/speedtest/icons/lucide-silhouettes.ts`,
14
- * and DiscoGlyph hands its silhouette upward via provide/inject for
15
- * disco wrappers. The fail-safe is now "no cap" not "wrong cap".
16
- *
17
- * Q.W3.A.2 default raise: --gf-cap-strength 0.35 → 0.55, mix-blend-mode
18
- * overlay → screen. `screen` composes correctly against the translucent
19
- * dock substrates (`--card` at 50–60% opacity); `overlay` collapses
20
- * there because its contrast lift requires an opaque underlay. Consumers
21
- * needing the metallic-overlay punch declare `mix-blend-mode: overlay`
22
- * via class or `--gf-cap-blend` override.
23
- *
24
- * Self-contained sheet; no token additions beyond what's already in
25
- * `tokens.css`. Consumers may override the cap blend mode and backplate
26
- * radius with the documented `--gf-*` custom properties.
27
- */
28
-
29
- @layer components {
30
- .glyph-face {
31
- position: relative;
32
- display: inline-flex;
33
- align-items: center;
34
- justify-content: center;
35
- isolation: isolate;
36
- --gf-tint: transparent;
37
- --gf-cap-strength: 0.55;
38
- --gf-cap-blend: screen;
39
- --gf-cap-radius: 50%;
40
- }
41
-
42
- .glyph-face-backplate {
43
- position: absolute;
44
- inset: -25%;
45
- border-radius: 50%;
46
- background: radial-gradient(
47
- ellipse at 30% 30%,
48
- var(--gf-tint) 0%,
49
- transparent 70%
50
- );
51
- opacity: 0;
52
- transition: opacity var(--duration-fast) var(--spring-snappy);
53
- z-index: -1;
54
- pointer-events: none;
55
- }
56
-
57
- .glyph-face[data-active="true"] .glyph-face-backplate {
58
- opacity: 1;
59
- }
60
-
61
- /* Cap fail-safe: by default render nothing. The cap only paints
62
- when --gf-silhouette resolves (via prop or provide/inject from
63
- a DiscoGlyph descendant). This closes the wrapper-rectangle
64
- leak the lucide consumers in ActionCluster + SettingsCog hit
65
- under the prior opt-in path. */
66
- .glyph-face-cap {
67
- position: absolute;
68
- inset: 0;
69
- background: transparent;
70
- pointer-events: none;
71
- mix-blend-mode: var(--gf-cap-blend);
72
- }
73
-
74
- .glyph-face[style*="--gf-silhouette"] .glyph-face-cap {
75
- background: linear-gradient(
76
- 165deg,
77
- rgba(255, 255, 255, var(--gf-cap-strength, 0.55)) 0%,
78
- transparent 40%
79
- );
80
- clip-path: var(--gf-silhouette);
81
- }
82
-
83
- .dark .glyph-face {
84
- --gf-cap-strength: 0.32;
85
- }
86
-
87
- @media (prefers-reduced-motion: reduce) {
88
- .glyph-face-backplate {
89
- transition: none;
90
- }
91
- }
92
- }
@@ -1,21 +0,0 @@
1
- //#region src/composables/motion/useViewTransition.ts
2
- function e() {
3
- return typeof document < "u" && typeof document.startViewTransition == "function";
4
- }
5
- function t(e, t) {
6
- let n = typeof document > "u" ? void 0 : document;
7
- if (!n || typeof n.startViewTransition != "function") return e(), {
8
- finished: Promise.resolve(),
9
- transitioned: !1
10
- };
11
- let r = t?.types && t.types.length > 0 ? n.startViewTransition({
12
- update: () => e(),
13
- types: t.types
14
- }) : n.startViewTransition(() => e());
15
- return r.ready?.catch(() => {}), {
16
- finished: r.finished.then(() => void 0, () => void 0),
17
- transitioned: !0
18
- };
19
- }
20
- //#endregion
21
- export { e as n, t };
@@ -1,24 +0,0 @@
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/vReveal.ts
16
- function r(e, t) {
17
- e.setAttribute("data-reveal", t.arg === "fade" ? "fade" : ""), e.style.setProperty("--d", String(t.value ?? 0));
18
- }
19
- var i = {
20
- mounted: r,
21
- updated: r
22
- };
23
- //#endregion
24
- export { t as i, n, e as r, i as t };
@@ -1,26 +0,0 @@
1
- /* disco-glyph.css — host rule for <DiscoGlyph>.
2
- *
3
- * Per P.W3 sub-B. The component renders an inline <svg> with a faceted
4
- * gradient + specular cap painted over the silhouette path. The host
5
- * rule scopes layout (block flow, inherit colour) and exposes a
6
- * minimal opt-in selector for phase-tinted state styling.
7
- *
8
- * Self-contained sheet; no token additions. Consumers may override
9
- * via the `--phase-color` cascade established by the chassis layer.
10
- */
11
-
12
- @layer components {
13
- .disco-glyph {
14
- display: inline-block;
15
- width: 100%;
16
- height: 100%;
17
- color: currentColor;
18
- line-height: 0;
19
- }
20
-
21
- .disco-glyph--phase-tinted {
22
- /* Hook for consumers that animate hue under phase changes;
23
- * the gradient stops already read currentColor or an explicit
24
- * phaseColor prop, so this class stays empty by default. */
25
- }
26
- }
@@ -1,92 +0,0 @@
1
- /* glyph-face.css — three-layer composition for <GlyphFace>.
2
- *
3
- * Per W2.7 §19 and Q.W3 §F2 + §F8. Wraps a slotted glyph (lucide stroke
4
- * or DiscoGlyph SVG) with a phase-tinted radial backplate (visible only
5
- * when [data-active="true"]) and a 165° linear-gradient catch-light cap.
6
- * The slotted silhouette stays `currentColor` — Vignelli-clean — while
7
- * the disco punch lives in the surrounding layers.
8
- *
9
- * Q.W3.A.1 inversion: when no silhouette resolves, the cap renders
10
- * nothing (rather than a wrapper-rectangle fallback). Consumers passing
11
- * `silhouette` continue to consume `clip-path: path(var(--gf-silhouette))`;
12
- * the lucide consumer sites in ActionCluster + SettingsCog publish via
13
- * the silhouette table from `@src/components/speedtest/icons/lucide-silhouettes.ts`,
14
- * and DiscoGlyph hands its silhouette upward via provide/inject for
15
- * disco wrappers. The fail-safe is now "no cap" not "wrong cap".
16
- *
17
- * Q.W3.A.2 default raise: --gf-cap-strength 0.35 → 0.55, mix-blend-mode
18
- * overlay → screen. `screen` composes correctly against the translucent
19
- * dock substrates (`--card` at 50–60% opacity); `overlay` collapses
20
- * there because its contrast lift requires an opaque underlay. Consumers
21
- * needing the metallic-overlay punch declare `mix-blend-mode: overlay`
22
- * via class or `--gf-cap-blend` override.
23
- *
24
- * Self-contained sheet; no token additions beyond what's already in
25
- * `tokens.css`. Consumers may override the cap blend mode and backplate
26
- * radius with the documented `--gf-*` custom properties.
27
- */
28
-
29
- @layer components {
30
- .glyph-face {
31
- position: relative;
32
- display: inline-flex;
33
- align-items: center;
34
- justify-content: center;
35
- isolation: isolate;
36
- --gf-tint: transparent;
37
- --gf-cap-strength: 0.55;
38
- --gf-cap-blend: screen;
39
- --gf-cap-radius: 50%;
40
- }
41
-
42
- .glyph-face-backplate {
43
- position: absolute;
44
- inset: -25%;
45
- border-radius: 50%;
46
- background: radial-gradient(
47
- ellipse at 30% 30%,
48
- var(--gf-tint) 0%,
49
- transparent 70%
50
- );
51
- opacity: 0;
52
- transition: opacity var(--duration-fast) var(--spring-snappy);
53
- z-index: -1;
54
- pointer-events: none;
55
- }
56
-
57
- .glyph-face[data-active="true"] .glyph-face-backplate {
58
- opacity: 1;
59
- }
60
-
61
- /* Cap fail-safe: by default render nothing. The cap only paints
62
- when --gf-silhouette resolves (via prop or provide/inject from
63
- a DiscoGlyph descendant). This closes the wrapper-rectangle
64
- leak the lucide consumers in ActionCluster + SettingsCog hit
65
- under the prior opt-in path. */
66
- .glyph-face-cap {
67
- position: absolute;
68
- inset: 0;
69
- background: transparent;
70
- pointer-events: none;
71
- mix-blend-mode: var(--gf-cap-blend);
72
- }
73
-
74
- .glyph-face[style*="--gf-silhouette"] .glyph-face-cap {
75
- background: linear-gradient(
76
- 165deg,
77
- rgba(255, 255, 255, var(--gf-cap-strength, 0.55)) 0%,
78
- transparent 40%
79
- );
80
- clip-path: var(--gf-silhouette);
81
- }
82
-
83
- .dark .glyph-face {
84
- --gf-cap-strength: 0.32;
85
- }
86
-
87
- @media (prefers-reduced-motion: reduce) {
88
- .glyph-face-backplate {
89
- transition: none;
90
- }
91
- }
92
- }
File without changes
File without changes