@mkbabb/glass-ui 3.1.1 → 3.2.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 (158) hide show
  1. package/dist/{CardFooter-CSGcJkqa.js → CardFooter-3-VGho1J.js} +1 -1
  2. package/dist/{CommandShortcut-DWT19a2Y.js → CommandShortcut-C6lsz3pG.js} +3 -3
  3. package/dist/{ContextMenuSubContent-gAFxJ-qi.js → ContextMenuSubContent-DrWkXKQP.js} +4 -4
  4. package/dist/{DataTable-R8-Zidms.js → DataTable-BsrDYdoE.js} +3 -3
  5. package/dist/{DialogContent-2fALDSvc.js → DialogContent-B61rP8lj.js} +3 -3
  6. package/dist/{DialogFooter-ClrNEOVU.js → DialogFooter-Er0wA3K6.js} +2 -2
  7. package/dist/{DiscoGlyph-C3JfMnRV.js → DiscoGlyph-B7YooI2-.js} +1 -1
  8. package/dist/{GlyphFace-BRS8vUb7.js → GlyphFace-Bvk6OIas.js} +1 -1
  9. package/dist/{HoverPopover-CWFCfLx3.js → HoverPopover-BlEwqG7S.js} +1 -1
  10. package/dist/{IconTooltip-BkaA7tZ2.js → IconTooltip-DXveGjx7.js} +1 -1
  11. package/dist/{MetricBadge-DmAihkXd.js → MetricBadge-J_GBCb8e.js} +1 -1
  12. package/dist/{Notification-OqIpADml.js → Notification-DP_ApJLo.js} +3 -3
  13. package/dist/{NumberFieldContent-DTH9gb_N.js → NumberFieldContent-B6L6YrQz.js} +2 -2
  14. package/dist/{PopoverContent-EiklFrna.js → PopoverContent-CxEEUL7Y.js} +1 -1
  15. package/dist/{Progress-FApA9fm_.js → Progress-Bs44qWEM.js} +1 -1
  16. package/dist/{ScrollingText-BFd0i2zJ.js → ScrollingText-1Qjnwz6H.js} +2 -2
  17. package/dist/{SelectScrollDownButton-Dth8-wXQ.js → SelectScrollDownButton-BvvvAbuh.js} +4 -4
  18. package/dist/{Toaster-Bjlunvq4.js → Toaster-Brs6QjBU.js} +1 -1
  19. package/dist/{UnderlineTabs-DAWMLmJG.js → UnderlineTabs-B4FV2zi_.js} +1 -1
  20. package/dist/animated-digit.js +2 -2
  21. package/dist/api.js +1 -1
  22. package/dist/aurora.js +118 -150
  23. package/dist/badge.js +1 -1
  24. package/dist/button.js +1 -1
  25. package/dist/card.js +1 -1
  26. package/dist/carousel.js +5 -5
  27. package/dist/{check-dwgetki8.js → check-CdkxGxXJ.js} +1 -1
  28. package/dist/{chevron-down-DILQA1t6.js → chevron-down-pBY8sYfV.js} +1 -1
  29. package/dist/{chevron-right-fS7fal2t.js → chevron-right-BjeKC22V.js} +1 -1
  30. package/dist/{chevron-up-BtYjYQOS.js → chevron-up-DBeNHUm1.js} +1 -1
  31. package/dist/collapsible.js +1 -1
  32. package/dist/command.js +1 -1
  33. package/dist/components/custom/aurora/composables/color.d.ts +56 -8
  34. package/dist/components/custom/aurora/index.d.ts +2 -1
  35. package/dist/components/custom/aurora/presets.d.ts +1 -1
  36. package/dist/components/custom/aurora/shaders/aurora.frag.d.ts +1 -1
  37. package/dist/components/custom/configurator/Configurator.vue.d.ts +26 -0
  38. package/dist/components/custom/configurator/index.d.ts +1 -1
  39. package/dist/components/custom/dock/DockIconButton.vue.d.ts +14 -3
  40. package/dist/components/custom/dock/GlassDock.vue.d.ts +17 -0
  41. package/dist/composables/dom/index.d.ts +1 -0
  42. package/dist/composables/dom/useTextHighlight.d.ts +40 -0
  43. package/dist/composables/motion/core/index.d.ts +1 -0
  44. package/dist/composables/motion/usePrioritizedTask.d.ts +41 -0
  45. package/dist/composables/sortable/useSortable.d.ts +13 -0
  46. package/dist/configurator.js +1 -1
  47. package/dist/confirm-dialog.js +3 -3
  48. package/dist/context-menu.js +2 -2
  49. package/dist/controls.js +2 -2
  50. package/dist/dark.js +1 -1
  51. package/dist/data-table.js +1 -1
  52. package/dist/dialog.js +2 -2
  53. package/dist/disco-glyph.js +1 -1
  54. package/dist/dock.js +98 -81
  55. package/dist/dom.js +6 -5
  56. package/dist/{dropdown-menu-BvRUamNs.js → dropdown-menu-naE0skDg.js} +4 -4
  57. package/dist/dropdown-menu.js +1 -1
  58. package/dist/expandable-container.js +2 -2
  59. package/dist/forms.js +4 -4
  60. package/dist/glass-carousel.js +59 -52
  61. package/dist/glass-panel.js +2 -2
  62. package/dist/glass-ui.css +1 -1
  63. package/dist/glass-ui.js +231 -224
  64. package/dist/glyph-face.js +2 -2
  65. package/dist/header-ribbon.js +1 -1
  66. package/dist/hover-card.js +1 -1
  67. package/dist/hover-popover.js +1 -1
  68. package/dist/icon-tooltip.js +1 -1
  69. package/dist/instrument-chassis.js +1 -1
  70. package/dist/instrument-rail.js +1 -1
  71. package/dist/keyboard.js +1 -1
  72. package/dist/label.js +1 -1
  73. package/dist/labeled-field.js +6 -6
  74. package/dist/metric-badge.js +1 -1
  75. package/dist/metric-stack.js +1 -1
  76. package/dist/{minimize-2-LsCJ_eNt.js → minimize-2-BP27-qBY.js} +1 -1
  77. package/dist/motion-core.js +155 -95
  78. package/dist/motion.js +3 -3
  79. package/dist/notification.js +1 -1
  80. package/dist/number-field.js +1 -1
  81. package/dist/paper-backdrop.js +1 -1
  82. package/dist/popover.js +1 -1
  83. package/dist/{presets-a-D93K1S.js → presets-BpTf63Hp.js} +4 -4
  84. package/dist/progress.js +1 -1
  85. package/dist/pulse.js +1 -1
  86. package/dist/reactive.js +2 -2
  87. package/dist/responsive-tabs.js +2 -2
  88. package/dist/scrolling-text.js +1 -1
  89. package/dist/{search-DBAiUABx.js → search-DBG8qaRs.js} +1 -1
  90. package/dist/search.js +153 -149
  91. package/dist/select.js +3 -3
  92. package/dist/separator.js +1 -1
  93. package/dist/{sheet-CukNDezz.js → sheet-BnvZRXPq.js} +3 -3
  94. package/dist/sheet.js +1 -1
  95. package/dist/{slider-DJvHkTRe.js → slider-wx8ifVFB.js} +3 -3
  96. package/dist/slider.js +1 -1
  97. package/dist/sortable-list.js +2 -2
  98. package/dist/styles/components.css +45 -0
  99. package/dist/styles/dock.css +71 -2
  100. package/dist/styles/index.css +5 -1
  101. package/dist/styles/tokens.css +11 -0
  102. package/dist/styles/utilities.css +56 -0
  103. package/dist/supportsCssTimeline-IQY3gfKD.js +12 -0
  104. package/dist/switch.js +1 -1
  105. package/dist/tabs.js +25 -10
  106. package/dist/timeline.js +2 -2
  107. package/dist/toast.js +1 -1
  108. package/dist/toggle-group.js +1 -1
  109. package/dist/tooltip.js +1 -1
  110. package/dist/typewriter.js +1 -1
  111. package/dist/{useAnimatedNumber-DKQYVB7s.js → useAnimatedNumber-BOxrS3a6.js} +1 -1
  112. package/dist/{useConfiguratorState-CtRBE0m_.js → useConfiguratorState-Dq2gNv4A.js} +52 -40
  113. package/dist/{useIdleReady-Cmkhm03v.js → useIdleReady-sLhGo6CL.js} +1 -1
  114. package/dist/useSortable-DLK9kwZp.js +189 -0
  115. package/dist/useTextHighlight-CLST6an0.js +72 -0
  116. package/dist/{useTouchGate-D9Zvrzyc.js → useTouchGate-XX8gHfay.js} +1 -1
  117. package/dist/{useViewTransition-DYIK6Gzb.js → useViewTransition-CUJM7fXT.js} +5 -3
  118. package/dist/utils/index.d.ts +2 -1
  119. package/dist/utils/platformSupport.d.ts +8 -0
  120. package/dist/{x-q7pJa83X.js → x-C4pz9nbD.js} +1 -1
  121. package/package.json +13 -3
  122. package/src/styles/dock.css +71 -2
  123. package/src/styles/index.css +1 -1
  124. package/src/styles/tokens.css +11 -0
  125. package/src/styles/utilities.css +56 -0
  126. package/dist/useSortable-Cq2Y1JLO.js +0 -175
  127. /package/dist/{CollapsibleContent-CVMOcYlV.js → CollapsibleContent-wlmlDujU.js} +0 -0
  128. /package/dist/{ContextMenuContent-otjFIu8v.js → ContextMenuContent-De01_83g.js} +0 -0
  129. /package/dist/{HoverCardContent-DaGrgJBO.js → HoverCardContent-DGUhpRVt.js} +0 -0
  130. /package/dist/{Input-DDpFn568.js → Input-IFsIzId2.js} +0 -0
  131. /package/dist/{InstrumentChassis-CnHTMxds.js → InstrumentChassis-CqKPBNqp.js} +0 -0
  132. /package/dist/{InstrumentRail-C6dEbi8E.js → InstrumentRail-CCjvKkpB.js} +0 -0
  133. /package/dist/{Label-DJty89bp.js → Label-D53EOwLE.js} +0 -0
  134. /package/dist/{ModalOverlay-iWiAgbYH.js → ModalOverlay-B_CBtqcE.js} +0 -0
  135. /package/dist/{PaperBackdrop-CeZ-w0R0.js → PaperBackdrop-Ds-wDsKf.js} +0 -0
  136. /package/dist/{SelectGroup-DdR4tdDY.js → SelectGroup-DAgcsfFw.js} +0 -0
  137. /package/dist/{SelectSeparator-CXm_hlqA.js → SelectSeparator-DN1jzLaI.js} +0 -0
  138. /package/dist/{Separator-D8AUMhxY.js → Separator-DXxac0j8.js} +0 -0
  139. /package/dist/{Switch-Cr1t_F_U.js → Switch-imA0Hdjs.js} +0 -0
  140. /package/dist/{ToggleGroupItem-OesUouE7.js → ToggleGroupItem-Cy7xHFEo.js} +0 -0
  141. /package/dist/{TooltipProvider-DE78vbEP.js → TooltipProvider-MZFRxOvT.js} +0 -0
  142. /package/dist/{_plugin-vue_export-helper-Dq1MygBL.js → _plugin-vue_export-helper-C1je1s0u.js} +0 -0
  143. /package/dist/{badge-x46my_Fo.js → badge-Cl6JZ1B7.js} +0 -0
  144. /package/dist/{button-C0aHmBbt.js → button-DS3ULf5i.js} +0 -0
  145. /package/dist/{constants-DwBwnG8N.js → constants-DfWPi8kh.js} +0 -0
  146. /package/dist/{createLucideIcon-Bn9a1b70.js → createLucideIcon-DuDoe_ra.js} +0 -0
  147. /package/dist/{dockContext-D5NZCWJs.js → dockContext-DM58L1Jt.js} +0 -0
  148. /package/dist/{keys-CaTQS-vx.js → keys-SIKQYNx1.js} +0 -0
  149. /package/dist/{menuItemVariants-BsbGNq9C.js → menuItemVariants-C2QlXqT3.js} +0 -0
  150. /package/dist/{useGlassRenderer-Ds-nmrGz.js → useGlassRenderer-C98tZnJ7.js} +0 -0
  151. /package/dist/{useGlobalDark-B0WvLJE3.js → useGlobalDark-BUUTZvkU.js} +0 -0
  152. /package/dist/{useIntersectionPause-IY2CwPQb.js → useIntersectionPause-CUmANkoc.js} +0 -0
  153. /package/dist/{useInterval-DVgGUf_y.js → useInterval-B58LmYth.js} +0 -0
  154. /package/dist/{useKeyboardShortcuts-Dpw_RUcB.js → useKeyboardShortcuts-BQfnAHHW.js} +0 -0
  155. /package/dist/{useResizeObserver-Cg9npuM3.js → useResizeObserver-C_7GjpRn.js} +0 -0
  156. /package/dist/{useSpringMount-Cfk1XK1R.js → useSpringMount-CnizvZGm.js} +0 -0
  157. /package/dist/{useTimer-NAaj9zNq.js → useTimer-6FoosoDY.js} +0 -0
  158. /package/dist/{useUserInvalidAria-DVu1eTXG.js → useUserInvalidAria-BW5iyqWR.js} +0 -0
package/dist/dock.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { t as e } from "./cn-DJXf4yaB.js";
2
- import { t } from "./chevron-down-DILQA1t6.js";
3
- import { i as n, n as r, r as i, t as a } from "./dockContext-D5NZCWJs.js";
4
- import { t as o } from "./useTouchGate-D9Zvrzyc.js";
5
- import { t as s } from "./useViewTransition-DYIK6Gzb.js";
2
+ import { t } from "./chevron-down-pBY8sYfV.js";
3
+ import { i as n, n as r, r as i, t as a } from "./dockContext-DM58L1Jt.js";
4
+ import { t as o } from "./useTouchGate-XX8gHfay.js";
5
+ import { t as s } from "./useViewTransition-CUJM7fXT.js";
6
6
  import { Fragment as c, computed as l, createBlock as u, createCommentVNode as d, createElementBlock as f, createElementVNode as p, createVNode as m, defineComponent as h, inject as g, mergeModels as _, mergeProps as v, nextTick as y, normalizeClass as b, normalizeStyle as x, onBeforeUnmount as S, onMounted as C, onUnmounted as w, openBlock as T, provide as E, ref as D, renderList as O, renderSlot as k, resolveDynamicComponent as A, toDisplayString as j, unref as M, useAttrs as N, useId as P, useModel as F, useTemplateRef as I, watch as L, withCtx as R } from "vue";
7
7
  import { DropdownMenuTrigger as z, Primitive as B, SelectIcon as V, SelectTrigger as H, useForwardProps as U } from "reka-ui";
8
8
  //#region src/components/custom/dock/composables/isTeleportedTarget.ts
@@ -222,6 +222,7 @@ var te = [
222
222
  shape: { default: "pill" },
223
223
  orientation: { default: "horizontal" },
224
224
  density: { default: "comfortable" },
225
+ overflow: { default: "grow" },
225
226
  containerName: {}
226
227
  },
227
228
  setup(e, { expose: t }) {
@@ -231,80 +232,80 @@ var te = [
231
232
  "container-name": n.containerName,
232
233
  overflow: "visible"
233
234
  };
234
- }), a = I("dockEl"), s = I("layersEl"), c = l(() => n.variant), u = l(() => n.shape), d = l(() => n.variant === "rail" || n.variant === "instrument-strip" ? "vertical" : n.orientation), m = l(() => n.density), h = l(() => n.alwaysExpanded || d.value === "vertical"), g = l(() => n.fitContent || n.variant === "rail" || n.variant === "instrument-strip"), _ = D(!1), v = o(n.collapseDelay), y = `glass-dock-${P()}`, w = null, { expanded: E, isPinned: O, isHeld: A, onMouseEnter: j, onMouseLeave: N, onFocusIn: F, onFocusOut: R, onClickCollapsed: z, keepOpen: B, release: V, expand: H, collapse: U } = ee({
235
+ }), a = I("dockEl"), s = I("layersEl"), c = l(() => n.variant), u = l(() => n.shape), d = l(() => n.variant === "rail" || n.variant === "instrument-strip" ? "vertical" : n.orientation), m = l(() => n.density), h = l(() => n.overflow === "scroll" ? d.value === "vertical" ? "dock-scroll-y" : "dock-scroll-x" : null), g = l(() => n.alwaysExpanded || d.value === "vertical"), _ = l(() => n.fitContent || n.variant === "rail" || n.variant === "instrument-strip"), v = D(!1), y = o(n.collapseDelay), w = `glass-dock-${P()}`, E = null, { expanded: O, isPinned: A, isHeld: j, onMouseEnter: N, onMouseLeave: F, onFocusIn: R, onFocusOut: z, onClickCollapsed: B, keepOpen: V, release: H, expand: U, collapse: W } = ee({
235
236
  collapseDelay: n.collapseDelay,
236
237
  rootEl: a,
237
- alwaysExpanded: h,
238
- isTransitioning: _,
239
- dockId: y
238
+ alwaysExpanded: g,
239
+ isTransitioning: v,
240
+ dockId: w
240
241
  });
241
242
  r({
242
- id: y,
243
+ id: w,
243
244
  orientation: d,
244
- keepOpen: B,
245
- release: V,
246
- held: A
245
+ keepOpen: V,
246
+ release: H,
247
+ held: j
247
248
  });
248
- let W = l(() => h.value || E.value), { onTransitionEnd: K } = G({
249
+ let K = l(() => g.value || O.value), { onTransitionEnd: q } = G({
249
250
  containerEl: s,
250
- activeLayer: l(() => W.value ? "full" : "summary"),
251
+ activeLayer: l(() => K.value ? "full" : "summary"),
251
252
  axis: l(() => "horizontal")
252
- }), q = typeof document < "u" && "startViewTransition" in document, J = l(() => q ? {
253
- "view-transition-name": y.replace(/[^a-zA-Z0-9_-]/g, "-"),
253
+ }), J = typeof document < "u" && "startViewTransition" in document, Y = l(() => J ? {
254
+ "view-transition-name": w.replace(/[^a-zA-Z0-9_-]/g, "-"),
254
255
  "view-transition-class": "gl-dock-layer"
255
256
  } : void 0);
256
- function Y(e) {
257
+ function X(e) {
257
258
  let t = e.trim();
258
259
  return t ? t.endsWith("ms") ? Number.parseFloat(t) : t.endsWith("s") ? Number.parseFloat(t) * 1e3 : Number.parseFloat(t) || 0 : 0;
259
260
  }
260
- function X(e) {
261
- let t = getComputedStyle(e), n = t.transitionDuration.split(",").map(Y), r = t.transitionDelay.split(",").map(Y);
261
+ function ie(e) {
262
+ let t = getComputedStyle(e), n = t.transitionDuration.split(",").map(X), r = t.transitionDelay.split(",").map(X);
262
263
  return Math.max(0, ...n.map((e, t) => e + (r[t] ?? r[0] ?? 0)));
263
264
  }
264
265
  function Z() {
265
- w &&= (clearTimeout(w), null);
266
+ E &&= (clearTimeout(E), null);
266
267
  }
267
- function ie() {
268
+ function ae() {
268
269
  let e = a.value;
269
- e && (Z(), _.value = !0, w = setTimeout(() => {
270
- _.value = !1, w = null;
271
- }, X(e) + 50));
270
+ e && (Z(), v.value = !0, E = setTimeout(() => {
271
+ v.value = !1, E = null;
272
+ }, ie(e) + 50));
272
273
  }
273
274
  function Q(e) {
274
- e.target === a.value && (Z(), _.value = !1);
275
+ e.target === a.value && (Z(), v.value = !1);
275
276
  }
276
277
  C(() => {
277
- (n.alwaysExpanded || !n.startCollapsed) && H();
278
+ (n.alwaysExpanded || !n.startCollapsed) && U();
278
279
  });
279
280
  function $() {
280
- return d.value === "horizontal" && !h.value;
281
- }
282
- function ae(e) {
283
- if (!$() || W.value) return;
284
- let t = a.value, n = e.touches[0];
285
- !t || !n || v.handleTouchStart(t, n.clientY) || (e.preventDefault(), e.stopPropagation());
281
+ return d.value === "horizontal" && !g.value;
286
282
  }
287
283
  function oe(e) {
288
- $() && v.handleScrollCheck(e);
284
+ if (!$() || K.value) return;
285
+ let t = a.value, n = e.touches[0];
286
+ !t || !n || y.handleTouchStart(t, n.clientY) || (e.preventDefault(), e.stopPropagation());
289
287
  }
290
288
  function se(e) {
289
+ $() && y.handleScrollCheck(e);
290
+ }
291
+ function ce(e) {
291
292
  if (!$()) return;
292
- let t = v.isActive.value;
293
- v.handleTouchEnd(), !t && v.isActive.value && !W.value && (e.preventDefault(), e.stopPropagation(), H());
293
+ let t = y.isActive.value;
294
+ y.handleTouchEnd(), !t && y.isActive.value && !K.value && (e.preventDefault(), e.stopPropagation(), U());
294
295
  }
295
- return L(v.isActive, (e) => {
296
- !e && E.value && !O.value && !h.value && U();
297
- }), L(W, (e) => {
298
- ie(), e || v.deactivate();
296
+ return L(y.isActive, (e) => {
297
+ !e && O.value && !A.value && !g.value && W();
298
+ }), L(K, (e) => {
299
+ ae(), e || y.deactivate();
299
300
  }), S(Z), t({
300
- expanded: E,
301
- isPinned: O,
302
- isHeld: A,
303
- isTransitioning: _,
304
- expand: H,
305
- collapse: U,
306
- keepOpen: B,
307
- release: V
301
+ expanded: O,
302
+ isPinned: A,
303
+ isHeld: j,
304
+ isTransitioning: v,
305
+ expand: U,
306
+ collapse: W,
307
+ keepOpen: V,
308
+ release: H
308
309
  }), (t, n) => (T(), f("div", {
309
310
  ref_key: "dockEl",
310
311
  ref: a,
@@ -312,27 +313,28 @@ var te = [
312
313
  d.value,
313
314
  `variant-${c.value}`,
314
315
  `shape-${u.value}`,
316
+ h.value,
315
317
  {
316
- expanded: W.value,
317
- collapsed: !W.value,
318
- pinned: M(O),
319
- "fit-content": g.value,
320
- "always-expanded": h.value,
318
+ expanded: K.value,
319
+ collapsed: !K.value,
320
+ pinned: M(A),
321
+ "fit-content": _.value,
322
+ "always-expanded": g.value,
321
323
  "dock-wrap": e.wrap
322
324
  },
323
325
  e.position === "fixed" ? "fixed bottom-[var(--dock-pos)] left-1/2 -translate-x-1/2" : e.position === "sticky" ? "dock-sticky" : "dock-inline"
324
326
  ]]),
325
327
  "data-density": m.value,
326
- "data-held": M(A) || void 0,
328
+ "data-held": M(j) || void 0,
327
329
  "data-container-name": e.containerName || void 0,
328
330
  style: x(i.value),
329
- onMouseenter: n[2] ||= (...e) => M(j) && M(j)(...e),
330
- onMouseleave: n[3] ||= (e) => M(N)(e),
331
- onFocusin: n[4] ||= (...e) => M(F) && M(F)(...e),
332
- onFocusout: n[5] ||= (...e) => M(R) && M(R)(...e),
333
- onTouchstart: ae,
334
- onTouchmove: oe,
335
- onTouchend: se,
331
+ onMouseenter: n[2] ||= (...e) => M(N) && M(N)(...e),
332
+ onMouseleave: n[3] ||= (e) => M(F)(e),
333
+ onFocusin: n[4] ||= (...e) => M(R) && M(R)(...e),
334
+ onFocusout: n[5] ||= (...e) => M(z) && M(z)(...e),
335
+ onTouchstart: oe,
336
+ onTouchmove: se,
337
+ onTouchend: ce,
336
338
  onTransitionend: Q,
337
339
  onTransitioncancel: Q
338
340
  }, [d.value === "horizontal" ? (T(), f("div", {
@@ -340,15 +342,15 @@ var te = [
340
342
  ref_key: "layersEl",
341
343
  ref: s,
342
344
  class: "dock-layers",
343
- style: x(J.value),
344
- onTransitionend: n[1] ||= (...e) => M(K) && M(K)(...e)
345
+ style: x(Y.value),
346
+ onTransitionend: n[1] ||= (...e) => M(q) && M(q)(...e)
345
347
  }, [p("div", {
346
- class: b(["dock-layer dock-layer--full", { "layer-active": W.value }]),
347
- inert: !M(E) || void 0
348
+ class: b(["dock-layer dock-layer--full", { "layer-active": K.value }]),
349
+ inert: !M(O) || void 0
348
350
  }, [k(t.$slots, "default")], 10, ne), p("div", {
349
- class: b(["dock-layer dock-layer--summary", { "layer-active": !W.value }]),
350
- inert: M(E) || void 0,
351
- onClick: n[0] ||= (...e) => M(z) && M(z)(...e)
351
+ class: b(["dock-layer dock-layer--summary", { "layer-active": !K.value }]),
352
+ inert: M(O) || void 0,
353
+ onClick: n[0] ||= (...e) => M(B) && M(B)(...e)
352
354
  }, [k(t.$slots, "collapsed")], 10, re)], 36)) : k(t.$slots, "default", { key: 1 })], 46, te));
353
355
  }
354
356
  }), q = Symbol("glass-ui:dock-layer-group");
@@ -367,7 +369,7 @@ var X = [
367
369
  "aria-label",
368
370
  "aria-pressed",
369
371
  "onClick"
370
- ], Z = { key: 1 }, ie = { key: 2 }, Q = /* @__PURE__ */ h({
372
+ ], ie = { key: 1 }, Z = { key: 2 }, ae = /* @__PURE__ */ h({
371
373
  __name: "DockLayerGroup",
372
374
  props: /* @__PURE__ */ _({
373
375
  orientation: {},
@@ -394,7 +396,7 @@ var X = [
394
396
  activeLayer: r,
395
397
  axis: h
396
398
  }), y = typeof document < "u" && "startViewTransition" in document, S = P(), C = l(() => y ? {
397
- "view-transition-name": `gl-dock-stack-${(S ?? "0").replace(/[^a-zA-Z0-9_-]/g, "-")}`,
399
+ "view-transition-name": `gl-dock-stack-${S.replace(/[^a-zA-Z0-9_-]/g, "-")}`,
398
400
  "view-transition-class": "gl-dock-layer"
399
401
  } : void 0);
400
402
  J({
@@ -420,7 +422,7 @@ var X = [
420
422
  }, [w(e.icon) ? (T(), u(A(e.icon), {
421
423
  key: 0,
422
424
  class: "size-4"
423
- })) : typeof e.icon == "string" ? (T(), f("span", Z, j(e.icon), 1)) : (T(), f("span", ie, j((e.label ?? e.id).charAt(0)), 1))], 10, X))), 128))], 2)) : d("", !0), p("div", {
425
+ })) : typeof e.icon == "string" ? (T(), f("span", ie, j(e.icon), 1)) : (T(), f("span", Z, j((e.label ?? e.id).charAt(0)), 1))], 10, X))), 128))], 2)) : d("", !0), p("div", {
424
426
  ref_key: "containerEl",
425
427
  ref: o,
426
428
  class: "dock-layer-stack",
@@ -428,7 +430,7 @@ var X = [
428
430
  onTransitionend: n[0] ||= (...e) => M(g) && M(g)(...e)
429
431
  }, [k(t.$slots, "default")], 36)], 2));
430
432
  }
431
- }), $ = ["inert"], ae = /* @__PURE__ */ h({
433
+ }), Q = ["inert"], $ = /* @__PURE__ */ h({
432
434
  __name: "DockLayer",
433
435
  props: {
434
436
  id: {},
@@ -453,9 +455,9 @@ var X = [
453
455
  "is-leaving": i.value
454
456
  }]),
455
457
  inert: r.value ? void 0 : !0
456
- }, [k(e.$slots, "default")], 10, $));
458
+ }, [k(e.$slots, "default")], 10, Q));
457
459
  }
458
- }), oe = ["type"], se = /* @__PURE__ */ h({
460
+ }), oe = /* @__PURE__ */ h({
459
461
  __name: "DockIconButton",
460
462
  props: {
461
463
  compact: {
@@ -463,6 +465,11 @@ var X = [
463
465
  default: !1
464
466
  },
465
467
  type: { default: "button" },
468
+ as: { default: "button" },
469
+ asChild: {
470
+ type: Boolean,
471
+ default: !1
472
+ },
466
473
  class: { type: [
467
474
  Boolean,
468
475
  null,
@@ -472,13 +479,23 @@ var X = [
472
479
  ] }
473
480
  },
474
481
  setup(t) {
475
- let n = t, r = l(() => e("dock-icon-button", { "dock-icon-button--compact": n.compact }, n.class));
476
- return (e, n) => (T(), f("button", {
477
- type: t.type,
482
+ let n = t, r = l(() => e("dock-icon-button", { "dock-icon-button--compact": n.compact }, n.class)), i = l(() => !n.asChild && n.as === "button" ? n.type : void 0);
483
+ return (e, n) => (T(), u(M(B), {
484
+ as: t.as,
485
+ "as-child": t.asChild,
486
+ type: i.value,
478
487
  class: b(r.value)
479
- }, [k(e.$slots, "default")], 10, oe));
488
+ }, {
489
+ default: R(() => [k(e.$slots, "default")]),
490
+ _: 3
491
+ }, 8, [
492
+ "as",
493
+ "as-child",
494
+ "type",
495
+ "class"
496
+ ]));
480
497
  }
481
- }), ce = /* @__PURE__ */ h({
498
+ }), se = /* @__PURE__ */ h({
482
499
  __name: "DockTabButton",
483
500
  props: {
484
501
  as: { default: "button" },
@@ -509,7 +526,7 @@ var X = [
509
526
  "class"
510
527
  ]));
511
528
  }
512
- }), le = /* @__PURE__ */ h({
529
+ }), ce = /* @__PURE__ */ h({
513
530
  __name: "DockSelectTrigger",
514
531
  props: {
515
532
  disabled: { type: Boolean },
@@ -537,7 +554,7 @@ var X = [
537
554
  _: 3
538
555
  }, 16, ["class"]));
539
556
  }
540
- }), ue = /* @__PURE__ */ h({
557
+ }), le = /* @__PURE__ */ h({
541
558
  __name: "DockDropdownTrigger",
542
559
  props: {
543
560
  disabled: { type: Boolean },
@@ -564,4 +581,4 @@ var X = [
564
581
  }
565
582
  });
566
583
  //#endregion
567
- export { a as DOCK_CONTEXT_KEY, ue as DockDropdownTrigger, se as DockIconButton, ae as DockLayer, Q as DockLayerGroup, le as DockSelectTrigger, ce as DockTabButton, K as GlassDock, r as provideDockContext, i as useDockContext, n as useOptionalDockContext };
584
+ export { a as DOCK_CONTEXT_KEY, le as DockDropdownTrigger, oe as DockIconButton, $ as DockLayer, ae as DockLayerGroup, ce as DockSelectTrigger, se as DockTabButton, K as GlassDock, r as provideDockContext, i as useDockContext, n as useOptionalDockContext };
package/dist/dom.js CHANGED
@@ -1,5 +1,6 @@
1
- import { t as e } from "./useTouchGate-D9Zvrzyc.js";
2
- import { t } from "./useResizeObserver-Cg9npuM3.js";
3
- import { a as n, i as r, n as i, o as a, r as o, t as s } from "./useIdleReady-Cmkhm03v.js";
4
- import { t as c } from "./useUserInvalidAria-DVu1eTXG.js";
5
- export { r as copyToClipboard, i as useBreakpoint, n as useClipboard, s as useIdleReady, t as useResizeObserver, a as useTokenColor, e as useTouchGate, c as useUserInvalidAria, o as useViewportReady };
1
+ import { t as e } from "./useTouchGate-XX8gHfay.js";
2
+ import { t } from "./useResizeObserver-C_7GjpRn.js";
3
+ import { a as n, i as r, n as i, o as a, r as o, t as s } from "./useIdleReady-sLhGo6CL.js";
4
+ import { t as c } from "./useUserInvalidAria-BW5iyqWR.js";
5
+ import { t as l } from "./useTextHighlight-CLST6an0.js";
6
+ export { r as copyToClipboard, i as useBreakpoint, n as useClipboard, s as useIdleReady, t as useResizeObserver, l as useTextHighlight, a as useTokenColor, e as useTouchGate, c as useUserInvalidAria, o as useViewportReady };
@@ -1,8 +1,8 @@
1
1
  import { t as e } from "./cn-DJXf4yaB.js";
2
- import { t } from "./check-dwgetki8.js";
3
- import { t as n } from "./chevron-right-fS7fal2t.js";
4
- import { t as r } from "./menuItemVariants-BsbGNq9C.js";
5
- import { i } from "./dockContext-D5NZCWJs.js";
2
+ import { t } from "./check-CdkxGxXJ.js";
3
+ import { t as n } from "./chevron-right-BjeKC22V.js";
4
+ import { t as r } from "./menuItemVariants-C2QlXqT3.js";
5
+ import { i } from "./dockContext-DM58L1Jt.js";
6
6
  import { computed as a, createBlock as o, createElementBlock as s, createElementVNode as c, createVNode as l, defineComponent as u, guardReactiveProps as d, mergeProps as f, normalizeClass as p, normalizeProps as m, openBlock as h, renderSlot as g, unref as _, withCtx as v } from "vue";
7
7
  import { DropdownMenuCheckboxItem as y, DropdownMenuContent as b, DropdownMenuGroup as x, DropdownMenuItem as S, DropdownMenuItemIndicator as C, DropdownMenuLabel as w, DropdownMenuPortal as T, DropdownMenuPortal as E, DropdownMenuRadioGroup as D, DropdownMenuRadioItem as O, DropdownMenuRoot as k, DropdownMenuSeparator as A, DropdownMenuSub as j, DropdownMenuSubContent as M, DropdownMenuSubTrigger as N, DropdownMenuTrigger as P, useForwardProps as F, useForwardPropsEmits as I } from "reka-ui";
8
8
  //#endregion
@@ -1,2 +1,2 @@
1
- import { a as e, c as t, d as n, f as r, h as i, i as a, l as o, m as s, n as c, o as l, p as u, r as d, s as f, t as p, u as m } from "./dropdown-menu-BvRUamNs.js";
1
+ import { a as e, c as t, d as n, f as r, h as i, i as a, l as o, m as s, n as c, o as l, p as u, r as d, s as f, t as p, u as m } from "./dropdown-menu-naE0skDg.js";
2
2
  export { i as DropdownMenu, o as DropdownMenuCheckboxItem, u as DropdownMenuContent, r as DropdownMenuGroup, m as DropdownMenuItem, e as DropdownMenuLabel, p as DropdownMenuPortal, n as DropdownMenuRadioGroup, t as DropdownMenuRadioItem, l as DropdownMenuSeparator, f as DropdownMenuShortcut, a as DropdownMenuSub, c as DropdownMenuSubContent, d as DropdownMenuSubTrigger, s as DropdownMenuTrigger };
@@ -1,5 +1,5 @@
1
- import { n as e, t } from "./minimize-2-LsCJ_eNt.js";
2
- import { i as n } from "./useKeyboardShortcuts-Dpw_RUcB.js";
1
+ import { n as e, t } from "./minimize-2-BP27-qBY.js";
2
+ import { i as n } from "./useKeyboardShortcuts-BQfnAHHW.js";
3
3
  import { Fragment as r, Teleport as i, createBlock as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, createVNode as l, defineComponent as u, mergeModels as d, mergeProps as f, normalizeClass as p, onMounted as m, onUnmounted as h, openBlock as g, renderSlot as _, unref as v, useModel as y, watch as b } from "vue";
4
4
  //#region src/components/custom/expandable-container/ExpandableContainer.vue?vue&type=script&setup=true&lang.ts
5
5
  var x = {
package/dist/forms.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { t as e } from "./cn-DJXf4yaB.js";
2
- import { t } from "./search-DBAiUABx.js";
3
- import { t as n } from "./menuItemVariants-BsbGNq9C.js";
4
- import { t as r } from "./useUserInvalidAria-DVu1eTXG.js";
5
- import { t as i } from "./Input-DDpFn568.js";
2
+ import { t } from "./search-DBG8qaRs.js";
3
+ import { t as n } from "./menuItemVariants-C2QlXqT3.js";
4
+ import { t as r } from "./useUserInvalidAria-BW5iyqWR.js";
5
+ import { t as i } from "./Input-IFsIzId2.js";
6
6
  import { createBlock as a, createCommentVNode as o, createElementBlock as s, createTextVNode as c, createVNode as l, defineComponent as u, isRef as d, mergeProps as f, openBlock as p, renderSlot as m, toDisplayString as h, unref as g, vModelText as _, withCtx as v, withDirectives as y } from "vue";
7
7
  import { ComboboxAnchor as b, ComboboxCancel as x, ComboboxContent as S, ComboboxEmpty as C, ComboboxGroup as w, ComboboxInput as T, ComboboxItem as E, ComboboxItemIndicator as D, ComboboxLabel as O, ComboboxPortal as k, ComboboxRoot as A, ComboboxSeparator as j, ComboboxTrigger as M, ComboboxViewport as N, useForwardProps as P, useForwardPropsEmits as F } from "reka-ui";
8
8
  import { reactiveOmit as I, useVModel as L } from "@vueuse/core";
@@ -1,33 +1,40 @@
1
1
  import { t as e } from "./cn-DJXf4yaB.js";
2
- import { t } from "./_plugin-vue_export-helper-Dq1MygBL.js";
2
+ import { t } from "./_plugin-vue_export-helper-C1je1s0u.js";
3
3
  import { computed as n, createElementBlock as r, createElementVNode as i, createVNode as a, defineComponent as o, nextTick as s, normalizeClass as c, normalizeStyle as l, onMounted as u, onUnmounted as d, openBlock as f, ref as p, renderSlot as m, unref as h, useTemplateRef as g, watch as _, withCtx as v } from "vue";
4
4
  import { ScrollAreaRoot as y, ScrollAreaViewport as b } from "reka-ui";
5
5
  //#region src/components/custom/glass-carousel/useGlassCarousel.ts
6
- function x(e) {
7
- let { orientation: t, expanded: n, rootEl: r, viewportEl: i, fadeMs: a = 60 } = e, o = p(!1), c = p(!1);
8
- function l() {
6
+ function x() {
7
+ return typeof CSS > "u" || typeof CSS.supports != "function" ? !1 : CSS.supports("container-type", "scroll-state") && !CSS.supports("container-type", "gl-not-a-real-container-type");
8
+ }
9
+ function S(e) {
10
+ let { orientation: t, expanded: n, rootEl: r, viewportEl: i, fadeMs: a = 60 } = e, o = x();
11
+ function c() {
12
+ return o && t.value === "vertical";
13
+ }
14
+ let l = p(!1), f = p(!1);
15
+ function m() {
9
16
  let e = i.value;
10
17
  if (!e) {
11
- o.value = !1, c.value = !1;
18
+ l.value = !1, f.value = !1;
12
19
  return;
13
20
  }
14
- t.value === "vertical" ? (o.value = e.scrollTop > 1, c.value = e.scrollTop < e.scrollHeight - e.clientHeight - 1) : (o.value = e.scrollLeft > 1, c.value = e.scrollLeft < e.scrollWidth - e.clientWidth - 1);
21
+ t.value === "vertical" ? (l.value = e.scrollTop > 1, f.value = e.scrollTop < e.scrollHeight - e.clientHeight - 1) : (l.value = e.scrollLeft > 1, f.value = e.scrollLeft < e.scrollWidth - e.clientWidth - 1);
15
22
  }
16
- let f = null, m = null;
17
- function h() {
18
- g();
23
+ let h = null, g = null;
24
+ function v() {
25
+ if (y(), c()) return;
19
26
  let e = i.value;
20
27
  if (!e) {
21
- l();
28
+ m();
22
29
  return;
23
30
  }
24
- f = l, m = e, e.addEventListener("scroll", f, { passive: !0 }), l();
31
+ h = m, g = e, e.addEventListener("scroll", h, { passive: !0 }), m();
25
32
  }
26
- function g() {
27
- f && m && m.removeEventListener("scroll", f), f = null, m = null;
33
+ function y() {
34
+ h && g && g.removeEventListener("scroll", h), h = null, g = null;
28
35
  }
29
- _(i, h), u(h), d(g);
30
- function v(e) {
36
+ _([i, t], v), u(v), d(y);
37
+ function b(e) {
31
38
  let t = i.value;
32
39
  if (!t) return;
33
40
  let n = t.children[e];
@@ -37,34 +44,34 @@ function x(e) {
37
44
  inline: "nearest"
38
45
  });
39
46
  }
40
- let y = p(n.value), b = p(!1), x = p(null), S = p(!1), C = null, w = null, T = 0;
41
- function E() {
42
- C &&= (clearTimeout(C), null), w &&= (clearTimeout(w), null);
47
+ let S = p(n.value), C = p(!1), w = p(null), T = p(!1), E = null, D = null, O = 0;
48
+ function k() {
49
+ E &&= (clearTimeout(E), null), D &&= (clearTimeout(D), null);
43
50
  }
44
51
  _(n, () => {
45
52
  let e = r.value;
46
53
  if (!e) {
47
- y.value = n.value;
54
+ S.value = n.value;
48
55
  return;
49
56
  }
50
- E();
51
- let i = ++T, o = t.value === "vertical", c = e.getBoundingClientRect(), l = o ? c.height : c.width;
52
- S.value = !0, x.value = `${l}px`, b.value = !0, C = setTimeout(() => {
53
- C = null, i === T && (y.value = n.value, s(() => {
54
- i === T && (x.value = null, s(() => {
55
- if (i !== T) return;
57
+ k();
58
+ let i = ++O, o = t.value === "vertical", c = e.getBoundingClientRect(), l = o ? c.height : c.width;
59
+ T.value = !0, w.value = `${l}px`, C.value = !0, E = setTimeout(() => {
60
+ E = null, i === O && (S.value = n.value, s(() => {
61
+ i === O && (w.value = null, s(() => {
62
+ if (i !== O) return;
56
63
  let t = e.getBoundingClientRect(), n = o ? t.height : t.width;
57
64
  if (Math.abs(l - n) < 1) {
58
- S.value = !1, x.value = null, b.value = !1;
65
+ T.value = !1, w.value = null, C.value = !1;
59
66
  return;
60
67
  }
61
- x.value = `${l}px`, s(() => {
62
- i === T && (e.offsetWidth, S.value = !1, requestAnimationFrame(() => {
63
- if (i !== T) return;
64
- x.value = `${n}px`;
68
+ w.value = `${l}px`, s(() => {
69
+ i === O && (e.offsetWidth, T.value = !1, requestAnimationFrame(() => {
70
+ if (i !== O) return;
71
+ w.value = `${n}px`;
65
72
  let t = parseFloat(getComputedStyle(e).transitionDuration) * 1e3 || 300;
66
- w = setTimeout(() => {
67
- i === T && (b.value = !1);
73
+ D = setTimeout(() => {
74
+ i === O && (C.value = !1);
68
75
  }, t * .55);
69
76
  }));
70
77
  });
@@ -72,29 +79,29 @@ function x(e) {
72
79
  }));
73
80
  }, a);
74
81
  });
75
- function D(e) {
76
- e.target === r.value && (e.propertyName === "height" || e.propertyName === "width") && (x.value = null, b.value = !1);
82
+ function A(e) {
83
+ e.target === r.value && (e.propertyName === "height" || e.propertyName === "width") && (w.value = null, C.value = !1);
77
84
  }
78
- d(E);
79
- function O() {
80
- return o.value && c.value ? t.value === "vertical" ? "scroll-fade-y" : "scroll-fade-mask" : o.value ? t.value === "vertical" ? "scroll-fade-top" : "scroll-fade-mask" : c.value ? t.value === "vertical" ? "scroll-fade-bottom" : "scroll-fade-mask" : "";
85
+ d(k);
86
+ function j() {
87
+ return c() ? "" : l.value && f.value ? t.value === "vertical" ? "scroll-fade-y" : "scroll-fade-mask" : l.value ? t.value === "vertical" ? "scroll-fade-top" : "scroll-fade-mask" : f.value ? t.value === "vertical" ? "scroll-fade-bottom" : "scroll-fade-mask" : "";
81
88
  }
82
89
  return {
83
- canScrollStart: o,
84
- canScrollEnd: c,
85
- getOverflowFadeClass: O,
86
- updateOverflow: l,
87
- scrollToItem: v,
88
- visualExpanded: y,
89
- isTransitioning: b,
90
- transitionSize: x,
91
- suppressTransition: S,
92
- onTransitionEnd: D
90
+ canScrollStart: l,
91
+ canScrollEnd: f,
92
+ getOverflowFadeClass: j,
93
+ updateOverflow: m,
94
+ scrollToItem: b,
95
+ visualExpanded: S,
96
+ isTransitioning: C,
97
+ transitionSize: w,
98
+ suppressTransition: T,
99
+ onTransitionEnd: A
93
100
  };
94
101
  }
95
102
  //#endregion
96
103
  //#region src/components/custom/glass-carousel/GlassCarousel.vue
97
- var S = /* @__PURE__ */ t(/* @__PURE__ */ o({
104
+ var C = /* @__PURE__ */ t(/* @__PURE__ */ o({
98
105
  __name: "GlassCarousel",
99
106
  props: {
100
107
  orientation: { default: "vertical" },
@@ -119,7 +126,7 @@ var S = /* @__PURE__ */ t(/* @__PURE__ */ o({
119
126
  ] }
120
127
  },
121
128
  setup(t, { expose: o }) {
122
- let s = t, u = g("rootEl"), d = p(null), { canScrollStart: S, canScrollEnd: C, getOverflowFadeClass: w, updateOverflow: T, scrollToItem: E, visualExpanded: D, isTransitioning: O, transitionSize: k, suppressTransition: A, onTransitionEnd: j } = x({
129
+ let s = t, u = g("rootEl"), d = p(null), { canScrollStart: x, canScrollEnd: C, getOverflowFadeClass: w, updateOverflow: T, scrollToItem: E, visualExpanded: D, isTransitioning: O, transitionSize: k, suppressTransition: A, onTransitionEnd: j } = S({
123
130
  orientation: n(() => s.orientation),
124
131
  expanded: n(() => s.expanded),
125
132
  rootEl: u,
@@ -136,7 +143,7 @@ var S = /* @__PURE__ */ t(/* @__PURE__ */ o({
136
143
  if (k.value != null) return s.orientation === "vertical" ? { height: k.value } : { width: k.value };
137
144
  });
138
145
  return o({
139
- canScrollStart: S,
146
+ canScrollStart: x,
140
147
  canScrollEnd: C,
141
148
  scrollToItem: E,
142
149
  isTransitioning: O,
@@ -172,7 +179,7 @@ var S = /* @__PURE__ */ t(/* @__PURE__ */ o({
172
179
  _: 3
173
180
  })], 38));
174
181
  }
175
- }), [["__scopeId", "data-v-6bf8a252"]]), C = /* @__PURE__ */ t(/* @__PURE__ */ o({
182
+ }), [["__scopeId", "data-v-628a65e4"]]), w = /* @__PURE__ */ t(/* @__PURE__ */ o({
176
183
  __name: "GlassCarouselItem",
177
184
  props: {
178
185
  active: {
@@ -204,4 +211,4 @@ var S = /* @__PURE__ */ t(/* @__PURE__ */ o({
204
211
  }
205
212
  }), [["__scopeId", "data-v-744cf22e"]]);
206
213
  //#endregion
207
- export { S as GlassCarousel, C as GlassCarouselItem, x as useGlassCarousel };
214
+ export { C as GlassCarousel, w as GlassCarouselItem, S as useGlassCarousel };
@@ -1,6 +1,6 @@
1
1
  import { t as e } from "./cn-DJXf4yaB.js";
2
- import { t } from "./_plugin-vue_export-helper-Dq1MygBL.js";
3
- import { n, r, t as i } from "./useGlassRenderer-Ds-nmrGz.js";
2
+ import { t } from "./_plugin-vue_export-helper-C1je1s0u.js";
3
+ import { n, r, t as i } from "./useGlassRenderer-C98tZnJ7.js";
4
4
  import { computed as a, createElementBlock as o, defineComponent as s, normalizeClass as c, onBeforeUnmount as l, onMounted as u, openBlock as d, ref as f, renderSlot as p } from "vue";
5
5
  //#endregion
6
6
  //#region src/components/custom/glass-panel/GlassPanel.vue