@mkbabb/glass-ui 9.0.0 → 10.0.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 (171) hide show
  1. package/MIGRATION.md +4768 -0
  2. package/README.md +57 -13
  3. package/dist/DialogContent-CwIBvou_.js +157 -0
  4. package/dist/{DropdownMenuTrigger-8UZsBtZ8.js → DropdownMenuTrigger-CKRnhDSQ.js} +1 -1
  5. package/dist/{Surface-i1tWC-Ga.js → Surface-1nPoabc3.js} +1 -1
  6. package/dist/{accent-tone-solve-Cw7WkRD9.js → accent-tone-solve-5H6FY2QO.js} +1 -1
  7. package/dist/aurora.js +22 -13
  8. package/dist/{badge-owUOaaba.js → badge-BO6BC4G5.js} +1 -1
  9. package/dist/badge.js +1 -1
  10. package/dist/blob.js +2 -2
  11. package/dist/{button-yvGPb0Bx.js → button-BOFTUPyU.js} +1 -1
  12. package/dist/button.js +1 -1
  13. package/dist/{card-3HFFpC7_.js → card-ByyqRBvK.js} +2 -2
  14. package/dist/card.js +1 -1
  15. package/dist/carousel.js +3 -3
  16. package/dist/chip.js +8 -3
  17. package/dist/{class-names-q-UGOkHH.js → class-names-FlXcvRRT.js} +65 -18
  18. package/dist/{collapsible-B7O6m-Ch.js → collapsible-DFzK29Oh.js} +5 -2
  19. package/dist/collapsible.js +1 -1
  20. package/dist/color.js +11 -11
  21. package/dist/{command-tEzAaVY_.js → command-C-5xSEJ2.js} +8 -8
  22. package/dist/command.js +1 -1
  23. package/dist/component-styles.css +1 -0
  24. package/dist/components/_shared/class-names.d.ts +10 -1
  25. package/dist/components/_shared/menu/menu.css +1 -1
  26. package/dist/components/_shared/overlay/index.d.ts +1 -0
  27. package/dist/components/_shared/overlay/shortcuts.d.ts +12 -0
  28. package/dist/components/aurora/composables/atoms.d.ts +22 -6
  29. package/dist/components/aurora/composables/runtime.d.ts +6 -4
  30. package/dist/components/aurora/constants/presets.d.ts +19 -1
  31. package/dist/components/blob/Blob.vue.d.ts +3 -3
  32. package/dist/components/button/styles.css +1 -1
  33. package/dist/components/card/Card.vue.d.ts +8 -2
  34. package/dist/components/chip/Chip.vue.d.ts +1 -7
  35. package/dist/components/chip/chipVariants.d.ts +1 -0
  36. package/dist/components/collapsible/Collapsible.vue.d.ts +1 -0
  37. package/dist/components/command/CommandDialog.vue.d.ts +1 -1
  38. package/dist/components/configurator/styles.css +1 -1
  39. package/dist/components/dark-mode-toggle/dark-mode-toggle.css +1 -1
  40. package/dist/components/deck/styles/capture.css +1 -1
  41. package/dist/components/dialog/styles.css +1 -1
  42. package/dist/components/dock/composables/dockCrossfadeContext.d.ts +0 -2
  43. package/dist/components/dock/composables/index.d.ts +1 -1
  44. package/dist/components/dock/composables/useDockHold.d.ts +16 -12
  45. package/dist/components/dock/styles/layers.css +1 -1
  46. package/dist/components/fourier-field/FourierField.vue.d.ts +1 -1
  47. package/dist/components/fourier-field/constants.d.ts +8 -7
  48. package/dist/components/fourier-field/index.d.ts +2 -2
  49. package/dist/components/labeled-field/LabeledSwitch.vue.d.ts +3 -1
  50. package/dist/components/labeled-field/types.d.ts +1 -1
  51. package/dist/components/menu/DropdownMenu.vue.d.ts +1 -1
  52. package/dist/components/metric/coalesce-metric.d.ts +6 -1
  53. package/dist/components/metric/styles.css +1 -1
  54. package/dist/components/popover/Popover.vue.d.ts +1 -1
  55. package/dist/components/scroll-progress-rim/styles.css +1 -1
  56. package/dist/components/sheet/styles.css +1 -1
  57. package/dist/components/slider/styles.css +1 -1
  58. package/dist/components/tabs/SegmentedTabs.vue.d.ts +25 -112
  59. package/dist/components/tabs/composables/useTabDragMorph.d.ts +1 -1
  60. package/dist/components/tabs/composables/useTabResponsive.d.ts +11 -11
  61. package/dist/components/tabs/index.d.ts +1 -1
  62. package/dist/components/tabs/styles/drag.css +1 -1
  63. package/dist/components/tabs/styles/segmented.css +1 -1
  64. package/dist/components/tabs/types.d.ts +85 -0
  65. package/dist/components/timeline/index.d.ts +2 -0
  66. package/dist/components/toast/Toast.vue.d.ts +2 -2
  67. package/dist/composables/color/index.d.ts +0 -15
  68. package/dist/composables/dark/darkModeSyncScript.d.ts +24 -1
  69. package/dist/composables/dom/useResolveTokenColor.d.ts +1 -1
  70. package/dist/composables/glass/index.d.ts +2 -0
  71. package/dist/composables/keyboard/useKeyboardShortcuts.d.ts +47 -1
  72. package/dist/composables/sidebar/types.d.ts +5 -1
  73. package/dist/{configurator-BHJymdrF.js → configurator-DiwVN573.js} +16 -16
  74. package/dist/configurator.js +1 -1
  75. package/dist/constellation.js +3 -3
  76. package/dist/{content-CWO-XL7o.js → content-So3j6SOe.js} +1 -1
  77. package/dist/dark-mode-toggle.js +2 -2
  78. package/dist/{dark-CLlmo7dD.js → dark-pONY3x93.js} +2 -2
  79. package/dist/dark.js +1 -1
  80. package/dist/{data-table-_RrOEdiw.js → data-table-Ba_uTfPc.js} +3 -3
  81. package/dist/data-table.js +1 -1
  82. package/dist/{deck-Ci6YjB5e.js → deck-Cm_VmyNL.js} +1 -1
  83. package/dist/deck.js +1 -1
  84. package/dist/{dialog-CbRnTRtg.js → dialog-BZoFG0j8.js} +1 -1
  85. package/dist/dialog.js +2 -2
  86. package/dist/dock.js +9 -13
  87. package/dist/easing.js +4 -4
  88. package/dist/{expandable-container-BY1hQXi4.js → expandable-container-CZUj9BzY.js} +9 -9
  89. package/dist/expandable-container.js +1 -1
  90. package/dist/fourier-field.js +53 -58
  91. package/dist/glass-ui.css +1 -1
  92. package/dist/glass-ui.js +27 -27
  93. package/dist/handmark.js +1 -1
  94. package/dist/index.d.ts +1 -1
  95. package/dist/infinite-scroll.js +16 -17
  96. package/dist/{input-Bls2A4Tt.js → input-eLZ_AU7l.js} +1 -1
  97. package/dist/input.js +1 -1
  98. package/dist/keyboard.js +64 -21
  99. package/dist/{label-BQEZhnK_.js → label-CE03H1KL.js} +2 -2
  100. package/dist/label.js +1 -1
  101. package/dist/labeled-field.js +8 -5
  102. package/dist/{menu-TDMNtZjG.js → menu-BnmCOa3y.js} +92 -89
  103. package/dist/menu.js +2 -2
  104. package/dist/metric.js +12 -7
  105. package/dist/{motion-D4uYE0UM.js → motion-BvV1_24p.js} +1 -1
  106. package/dist/motion-core.js +1 -1
  107. package/dist/{number-field-NFAwQ0HK.js → number-field-RP89046a.js} +2 -2
  108. package/dist/number-field.js +1 -1
  109. package/dist/pager-dots.js +3 -3
  110. package/dist/popover-DA87hFBx.js +184 -0
  111. package/dist/popover.js +1 -1
  112. package/dist/{progress-DF8dWZIX.js → progress-eVa-mc7J.js} +1 -1
  113. package/dist/progress.js +1 -1
  114. package/dist/{radio-group-BNV7PN1O.js → radio-group-B58Bz16F.js} +1 -1
  115. package/dist/radio-group.js +1 -1
  116. package/dist/{select-COox45Kv.js → select-fy3vtArm.js} +13 -13
  117. package/dist/select.js +1 -1
  118. package/dist/{separator-CN11t406.js → separator-D4EZM10u.js} +2 -2
  119. package/dist/separator.js +1 -1
  120. package/dist/{sheet-BEFvnO_u.js → sheet-BQJyER59.js} +120 -115
  121. package/dist/sheet.js +2 -2
  122. package/dist/shortcuts-DGGWNRNe.js +13 -0
  123. package/dist/sidebar.js +4 -4
  124. package/dist/{status-dot-BpnqOP5N.js → status-dot-W4LFiJps.js} +2 -2
  125. package/dist/status-dot.js +1 -1
  126. package/dist/styles/accessibility.css +1 -1
  127. package/dist/styles/animations.css +1 -1
  128. package/dist/styles/components.css +1 -1
  129. package/dist/styles/glass/a11y-fallback.css +1 -1
  130. package/dist/styles/glass/dissolve.css +1 -1
  131. package/dist/styles/glass/focus-veil.css +1 -1
  132. package/dist/styles/glass/ladder.css +1 -1
  133. package/dist/styles/glass/overlay-plate.css +1 -1
  134. package/dist/styles/glass/reveal.css +1 -1
  135. package/dist/styles/glass-specular-track.css +1 -1
  136. package/dist/styles/paper.css +1 -1
  137. package/dist/styles/scroll-choreography.css +1 -1
  138. package/dist/styles/scroll-chrome.css +1 -1
  139. package/dist/styles/scroll-driven.css +1 -1
  140. package/dist/styles/theme/literals.css +1 -1
  141. package/dist/styles/tokens/color-radius.css +1 -1
  142. package/dist/styles/tokens/dark-arm-glass.css +1 -1
  143. package/dist/styles/tokens/light-dark.css +1 -1
  144. package/dist/styles/tokens/offsets.css +1 -1
  145. package/dist/styles/tokens/scheme-motion.css +1 -1
  146. package/dist/styles/tokens/sizing.css +1 -1
  147. package/dist/styles/typography/semantic.css +1 -1
  148. package/dist/styles/typography/utilities.css +1 -1
  149. package/dist/styles/utilities/a11y-overrides.css +1 -1
  150. package/dist/styles/utilities/responsive.css +1 -1
  151. package/dist/styles/view-transition.css +1 -1
  152. package/dist/styles/viz-reveal.css +1 -1
  153. package/dist/surface.js +1 -1
  154. package/dist/{switch-lLkbREB-.js → switch-BYUZ6g9G.js} +1 -1
  155. package/dist/switch.js +1 -1
  156. package/dist/{tabs-DSJMd1Et.js → tabs-rdRXKXxd.js} +4 -3
  157. package/dist/tabs.js +1 -1
  158. package/dist/textarea.js +1 -1
  159. package/dist/timeline.js +44 -42
  160. package/dist/{toast-9c6Kp58L.js → toast-DVOwo6GB.js} +1 -1
  161. package/dist/toast.js +1 -1
  162. package/dist/{toggle-group-DUcmKnDw.js → toggle-group-CC5b3o1R.js} +1 -1
  163. package/dist/toggle-group.js +1 -1
  164. package/dist/{tooltip-BKk2qVDn.js → tooltip-DhTHhtJN.js} +1 -1
  165. package/dist/tooltip.js +1 -1
  166. package/dist/typewriter.js +1 -1
  167. package/dist/{useAccentTone-DFAh1osB.js → useAccentTone-DitmKfGL.js} +1 -1
  168. package/dist/{usePointerVelocityField-DsIf7yyq.js → usePointerVelocityField-Lx26_Yap.js} +1 -1
  169. package/package.json +4 -2
  170. package/dist/DialogContent-4hzLiaCQ.js +0 -152
  171. package/dist/popover-C04Rrdcz.js +0 -181
@@ -1,15 +1,16 @@
1
- import { t as e } from "./class-names-q-UGOkHH.js";
1
+ import { t as e } from "./class-names-FlXcvRRT.js";
2
2
  import { t } from "./primitive-B2t2jdqM.js";
3
3
  import { t as n } from "./selection-DqIULxRG.js";
4
- import { t as r } from "./content-CWO-XL7o.js";
4
+ import { t as r } from "./content-So3j6SOe.js";
5
5
  import { t as i } from "./participation-Di4UHbzk.js";
6
- import { i as a, n as o, r as s } from "./DropdownMenuTrigger-8UZsBtZ8.js";
7
- import { computed as c, createBlock as l, createElementBlock as u, createElementVNode as d, createVNode as f, defineComponent as p, guardReactiveProps as m, mergeProps as h, normalizeProps as g, openBlock as _, renderSlot as v, resolveDynamicComponent as y, unref as b, useAttrs as x, withCtx as S } from "vue";
8
- import { ContextMenuRoot as C, DropdownMenuRoot as w, useForwardPropsEmits as T } from "reka-ui";
9
- import { Check as E, ChevronRight as D } from "@lucide/vue";
6
+ import { t as a } from "./shortcuts-DGGWNRNe.js";
7
+ import { i as o, n as s, r as c } from "./DropdownMenuTrigger-CKRnhDSQ.js";
8
+ import { computed as l, createBlock as u, createElementBlock as d, createElementVNode as f, createVNode as p, defineComponent as m, guardReactiveProps as h, mergeProps as g, normalizeProps as _, openBlock as v, renderSlot as y, resolveDynamicComponent as b, unref as x, useAttrs as S, withCtx as C } from "vue";
9
+ import { ContextMenuRoot as w, DropdownMenuRoot as T, injectContextMenuRootContext as E, injectDropdownMenuRootContext as D, useForwardPropsEmits as O } from "reka-ui";
10
+ import { Check as k, ChevronRight as A } from "@lucide/vue";
10
11
  //#endregion
11
12
  //#region src/components/menu/DropdownMenu.vue
12
- var O = /* @__PURE__ */ p({
13
+ var j = /* @__PURE__ */ m({
13
14
  name: "DropdownMenu",
14
15
  inheritAttrs: !1,
15
16
  __name: "DropdownMenu",
@@ -31,11 +32,11 @@ var O = /* @__PURE__ */ p({
31
32
  },
32
33
  emits: ["update:open"],
33
34
  setup(e, { emit: t }) {
34
- let n = e, r = t, i = c(() => {
35
+ let n = e, r = t, i = l(() => {
35
36
  if (n.trigger === "context" && (n.open !== void 0 || n.defaultOpen !== void 0)) throw TypeError("[glass-ui] Context menus open from an invocation anchor, not open/defaultOpen props.");
36
37
  return n.trigger;
37
38
  });
38
- return o(i), (t, n) => i.value === "context" ? (_(), l(b(C), {
39
+ return s(i), (t, n) => i.value === "context" ? (v(), u(x(w), {
39
40
  key: 0,
40
41
  "data-slot": "menu",
41
42
  "data-menu-trigger": "context",
@@ -43,9 +44,9 @@ var O = /* @__PURE__ */ p({
43
44
  modal: e.modal,
44
45
  "onUpdate:open": n[0] ||= (e) => r("update:open", e)
45
46
  }, {
46
- default: S(() => [v(t.$slots, "default")]),
47
+ default: C(() => [y(t.$slots, "default")]),
47
48
  _: 3
48
- }, 8, ["dir", "modal"])) : (_(), l(b(w), {
49
+ }, 8, ["dir", "modal"])) : (v(), u(x(T), {
49
50
  key: 1,
50
51
  "data-slot": "menu",
51
52
  "data-menu-trigger": "click",
@@ -55,7 +56,7 @@ var O = /* @__PURE__ */ p({
55
56
  modal: e.modal,
56
57
  "onUpdate:open": n[1] ||= (e) => r("update:open", e)
57
58
  }, {
58
- default: S(() => [v(t.$slots, "default")]),
59
+ default: C(() => [y(t.$slots, "default")]),
59
60
  _: 3
60
61
  }, 8, [
61
62
  "open",
@@ -64,7 +65,7 @@ var O = /* @__PURE__ */ p({
64
65
  "modal"
65
66
  ]));
66
67
  }
67
- }), k = /* @__PURE__ */ p({
68
+ }), M = /* @__PURE__ */ m({
68
69
  name: "DropdownMenuContent",
69
70
  inheritAttrs: !1,
70
71
  __name: "DropdownMenuContent",
@@ -89,10 +90,10 @@ var O = /* @__PURE__ */ p({
89
90
  "closeAutoFocus"
90
91
  ],
91
92
  setup(e, { emit: t }) {
92
- let n = e, o = t, u = x(), d = c(() => {
93
- let { loop: e, ...t } = u;
93
+ let n = e, s = t, d = S(), f = l(() => {
94
+ let { loop: e, ...t } = d;
94
95
  return t;
95
- }), f = a(), p = s("Content"), m = s("Portal"), g = c(() => f.value === "context" ? {
96
+ }), p = o(), m = c("Content"), h = c("Portal"), _ = l(() => p.value === "context" ? {
96
97
  alignOffset: n.alignOffset,
97
98
  avoidCollisions: !0
98
99
  } : {
@@ -101,31 +102,33 @@ var O = /* @__PURE__ */ p({
101
102
  align: n.align,
102
103
  alignOffset: n.alignOffset,
103
104
  avoidCollisions: !0
104
- }), C = i(), w = c(() => r({
105
+ }), w = D(null), T = E(null), O = l(() => p.value === "context" ? T : w);
106
+ a(() => (O.value?.open.value ?? !1) && (O.value?.modal.value ?? !1));
107
+ let k = i(), A = l(() => r({
105
108
  role: "menu",
106
109
  slot: "menu-content",
107
- dock: C.portalAttrs.value,
110
+ dock: k.portalAttrs.value,
108
111
  class: n.class
109
112
  }));
110
- return (e, t) => (_(), l(y(b(m)), null, {
111
- default: S(() => [(_(), l(y(b(p)), h({
112
- ...g.value,
113
- ...d.value,
114
- ...w.value
113
+ return (e, t) => (v(), u(b(x(h)), null, {
114
+ default: C(() => [(v(), u(b(x(m)), g({
115
+ ..._.value,
116
+ ...f.value,
117
+ ...A.value
115
118
  }, {
116
- onEscapeKeyDown: t[0] ||= (e) => o("escapeKeyDown", e),
117
- onPointerDownOutside: t[1] ||= (e) => o("pointerDownOutside", e),
118
- onFocusOutside: t[2] ||= (e) => o("focusOutside", e),
119
- onInteractOutside: t[3] ||= (e) => o("interactOutside", e),
120
- onCloseAutoFocus: t[4] ||= (e) => o("closeAutoFocus", e)
119
+ onEscapeKeyDown: t[0] ||= (e) => s("escapeKeyDown", e),
120
+ onPointerDownOutside: t[1] ||= (e) => s("pointerDownOutside", e),
121
+ onFocusOutside: t[2] ||= (e) => s("focusOutside", e),
122
+ onInteractOutside: t[3] ||= (e) => s("interactOutside", e),
123
+ onCloseAutoFocus: t[4] ||= (e) => s("closeAutoFocus", e)
121
124
  }), {
122
- default: S(() => [v(e.$slots, "default")]),
125
+ default: C(() => [y(e.$slots, "default")]),
123
126
  _: 3
124
127
  }, 16))]),
125
128
  _: 3
126
129
  }));
127
130
  }
128
- }), A = /* @__PURE__ */ p({
131
+ }), N = /* @__PURE__ */ m({
129
132
  name: "DropdownMenuGroup",
130
133
  inheritAttrs: !1,
131
134
  __name: "DropdownMenuGroup",
@@ -137,17 +140,17 @@ var O = /* @__PURE__ */ p({
137
140
  Array
138
141
  ] } },
139
142
  setup(n) {
140
- let r = n, i = x(), a = c(() => t(i)), o = s("Group");
141
- return (t, n) => (_(), l(y(b(o)), h(a.value, {
143
+ let r = n, i = S(), a = l(() => t(i)), o = c("Group");
144
+ return (t, n) => (v(), u(b(x(o)), g(a.value, {
142
145
  as: "div",
143
146
  "data-slot": "menu-group",
144
- class: b(e)(r.class)
147
+ class: x(e)(r.class)
145
148
  }), {
146
- default: S(() => [v(t.$slots, "default")]),
149
+ default: C(() => [y(t.$slots, "default")]),
147
150
  _: 3
148
151
  }, 16, ["class"]));
149
152
  }
150
- }), j = /* @__PURE__ */ p({
153
+ }), P = /* @__PURE__ */ m({
151
154
  name: "DropdownMenuRadioGroup",
152
155
  inheritAttrs: !1,
153
156
  __name: "DropdownMenuRadioGroup",
@@ -163,23 +166,23 @@ var O = /* @__PURE__ */ p({
163
166
  },
164
167
  emits: ["update:modelValue"],
165
168
  setup(r, { emit: i }) {
166
- let a = r, o = i, u = x(), d = c(() => t(u)), f = s("RadioGroup");
169
+ let a = r, o = i, s = S(), d = l(() => t(s)), f = c("RadioGroup");
167
170
  function p(e) {
168
171
  if (!n(e)) throw TypeError("[glass-ui] DropdownMenuRadioGroup received a non-scalar value.");
169
172
  o("update:modelValue", e);
170
173
  }
171
- return (t, n) => (_(), l(y(b(f)), h(d.value, {
174
+ return (t, n) => (v(), u(b(x(f)), g(d.value, {
172
175
  as: "div",
173
176
  "model-value": r.modelValue,
174
177
  "data-slot": "menu-radio-group",
175
- class: b(e)(a.class),
178
+ class: x(e)(a.class),
176
179
  "onUpdate:modelValue": p
177
180
  }), {
178
- default: S(() => [v(t.$slots, "default")]),
181
+ default: C(() => [y(t.$slots, "default")]),
179
182
  _: 3
180
183
  }, 16, ["model-value", "class"]));
181
184
  }
182
- }), M = /* @__PURE__ */ p({
185
+ }), F = /* @__PURE__ */ m({
183
186
  name: "DropdownMenuItem",
184
187
  inheritAttrs: !1,
185
188
  __name: "DropdownMenuItem",
@@ -203,17 +206,17 @@ var O = /* @__PURE__ */ p({
203
206
  },
204
207
  emits: ["select"],
205
208
  setup(n, { emit: r }) {
206
- let i = n, a = r, o = x(), u = c(() => t(o)), d = s("Item");
207
- return (t, r) => (_(), l(y(b(d)), h(u.value, {
209
+ let i = n, a = r, o = S(), s = l(() => t(o)), d = c("Item");
210
+ return (t, r) => (v(), u(b(x(d)), g(s.value, {
208
211
  as: "div",
209
212
  disabled: n.disabled,
210
213
  "text-value": n.textValue,
211
214
  "data-slot": "menu-item",
212
215
  "data-inset": n.inset ? "" : void 0,
213
- class: b(e)("menu__item interactive-item glass-menu-row", i.class),
216
+ class: x(e)("menu__item interactive-item glass-menu-row", i.class),
214
217
  onSelect: r[0] ||= (e) => a("select", e)
215
218
  }), {
216
- default: S(() => [v(t.$slots, "default")]),
219
+ default: C(() => [y(t.$slots, "default")]),
217
220
  _: 3
218
221
  }, 16, [
219
222
  "disabled",
@@ -222,7 +225,7 @@ var O = /* @__PURE__ */ p({
222
225
  "class"
223
226
  ]));
224
227
  }
225
- }), N = { class: "menu__indicator" }, P = /* @__PURE__ */ p({
228
+ }), I = { class: "menu__indicator" }, L = /* @__PURE__ */ m({
226
229
  name: "DropdownMenuCheckboxItem",
227
230
  inheritAttrs: !1,
228
231
  __name: "DropdownMenuCheckboxItem",
@@ -246,22 +249,22 @@ var O = /* @__PURE__ */ p({
246
249
  },
247
250
  emits: ["select", "update:modelValue"],
248
251
  setup(n, { emit: r }) {
249
- let i = n, a = r, o = x(), u = c(() => t(o)), p = s("CheckboxItem"), m = s("ItemIndicator");
250
- return (t, r) => (_(), l(y(b(p)), h(u.value, {
252
+ let i = n, a = r, o = S(), s = l(() => t(o)), d = c("CheckboxItem"), m = c("ItemIndicator");
253
+ return (t, r) => (v(), u(b(x(d)), g(s.value, {
251
254
  as: "div",
252
255
  "model-value": n.modelValue,
253
256
  disabled: n.disabled,
254
257
  "text-value": n.textValue,
255
258
  "data-slot": "menu-checkbox-item",
256
259
  "data-indicator": "wide",
257
- class: b(e)("menu__item interactive-item glass-menu-row", i.class),
260
+ class: x(e)("menu__item interactive-item glass-menu-row", i.class),
258
261
  onSelect: r[0] ||= (e) => a("select", e),
259
262
  "onUpdate:modelValue": r[1] ||= (e) => a("update:modelValue", e)
260
263
  }), {
261
- default: S(() => [d("span", N, [(_(), l(y(b(m)), null, {
262
- default: S(() => [f(b(E), { "aria-hidden": "true" })]),
264
+ default: C(() => [f("span", I, [(v(), u(b(x(m)), null, {
265
+ default: C(() => [p(x(k), { "aria-hidden": "true" })]),
263
266
  _: 1
264
- }))]), v(t.$slots, "default")]),
267
+ }))]), y(t.$slots, "default")]),
265
268
  _: 3
266
269
  }, 16, [
267
270
  "model-value",
@@ -270,7 +273,7 @@ var O = /* @__PURE__ */ p({
270
273
  "class"
271
274
  ]));
272
275
  }
273
- }), F = { class: "menu__indicator" }, I = /* @__PURE__ */ p({
276
+ }), R = { class: "menu__indicator" }, z = /* @__PURE__ */ m({
274
277
  name: "DropdownMenuRadioItem",
275
278
  inheritAttrs: !1,
276
279
  __name: "DropdownMenuRadioItem",
@@ -291,21 +294,21 @@ var O = /* @__PURE__ */ p({
291
294
  },
292
295
  emits: ["select"],
293
296
  setup(n, { emit: r }) {
294
- let i = n, a = r, o = x(), u = c(() => t(o)), f = s("RadioItem"), p = s("ItemIndicator");
295
- return (t, r) => (_(), l(y(b(f)), h(u.value, {
297
+ let i = n, a = r, o = S(), s = l(() => t(o)), d = c("RadioItem"), p = c("ItemIndicator");
298
+ return (t, r) => (v(), u(b(x(d)), g(s.value, {
296
299
  as: "div",
297
300
  value: n.value,
298
301
  disabled: n.disabled,
299
302
  "text-value": n.textValue,
300
303
  "data-slot": "menu-radio-item",
301
304
  "data-indicator": "start",
302
- class: b(e)("menu__item interactive-item glass-menu-row", i.class),
305
+ class: x(e)("menu__item interactive-item glass-menu-row", i.class),
303
306
  onSelect: r[0] ||= (e) => a("select", e)
304
307
  }), {
305
- default: S(() => [d("span", F, [(_(), l(y(b(p)), null, {
306
- default: S(() => [...r[1] ||= [d("span", { class: "menu__radio-dot" }, null, -1)]]),
308
+ default: C(() => [f("span", R, [(v(), u(b(x(p)), null, {
309
+ default: C(() => [...r[1] ||= [f("span", { class: "menu__radio-dot" }, null, -1)]]),
307
310
  _: 1
308
- }))]), v(t.$slots, "default")]),
311
+ }))]), y(t.$slots, "default")]),
309
312
  _: 3
310
313
  }, 16, [
311
314
  "value",
@@ -314,7 +317,7 @@ var O = /* @__PURE__ */ p({
314
317
  "class"
315
318
  ]));
316
319
  }
317
- }), L = /* @__PURE__ */ p({
320
+ }), B = /* @__PURE__ */ m({
318
321
  name: "DropdownMenuShortcut",
319
322
  inheritAttrs: !1,
320
323
  __name: "DropdownMenuShortcut",
@@ -326,13 +329,13 @@ var O = /* @__PURE__ */ p({
326
329
  Array
327
330
  ] } },
328
331
  setup(n) {
329
- let r = n, i = x(), a = c(() => t(i));
330
- return (t, n) => (_(), u("span", h(a.value, {
332
+ let r = n, i = S(), a = l(() => t(i));
333
+ return (t, n) => (v(), d("span", g(a.value, {
331
334
  "data-slot": "menu-shortcut",
332
- class: b(e)("menu__shortcut", r.class)
333
- }), [v(t.$slots, "default")], 16));
335
+ class: x(e)("menu__shortcut", r.class)
336
+ }), [y(t.$slots, "default")], 16));
334
337
  }
335
- }), R = /* @__PURE__ */ p({
338
+ }), V = /* @__PURE__ */ m({
336
339
  name: "DropdownMenuSeparator",
337
340
  inheritAttrs: !1,
338
341
  __name: "DropdownMenuSeparator",
@@ -344,14 +347,14 @@ var O = /* @__PURE__ */ p({
344
347
  Array
345
348
  ] } },
346
349
  setup(n) {
347
- let r = n, i = x(), a = c(() => t(i)), o = s("Separator");
348
- return (t, n) => (_(), l(y(b(o)), h(a.value, {
350
+ let r = n, i = S(), a = l(() => t(i)), o = c("Separator");
351
+ return (t, n) => (v(), u(b(x(o)), g(a.value, {
349
352
  as: "div",
350
353
  "data-slot": "menu-separator",
351
- class: b(e)("glass-menu-divider -mx-1 my-1", r.class)
354
+ class: x(e)("glass-menu-divider -mx-1 my-1", r.class)
352
355
  }), null, 16, ["class"]));
353
356
  }
354
- }), z = /* @__PURE__ */ p({
357
+ }), H = /* @__PURE__ */ m({
355
358
  name: "DropdownMenuLabel",
356
359
  inheritAttrs: !1,
357
360
  __name: "DropdownMenuLabel",
@@ -369,18 +372,18 @@ var O = /* @__PURE__ */ p({
369
372
  ] }
370
373
  },
371
374
  setup(n) {
372
- let r = n, i = x(), a = c(() => t(i)), o = s("Label");
373
- return (t, i) => (_(), l(y(b(o)), h(a.value, {
375
+ let r = n, i = S(), a = l(() => t(i)), o = c("Label");
376
+ return (t, i) => (v(), u(b(x(o)), g(a.value, {
374
377
  as: "div",
375
378
  "data-slot": "menu-label",
376
379
  "data-inset": n.inset ? "" : void 0,
377
- class: b(e)("menu__label", r.class)
380
+ class: x(e)("menu__label", r.class)
378
381
  }), {
379
- default: S(() => [v(t.$slots, "default")]),
382
+ default: C(() => [y(t.$slots, "default")]),
380
383
  _: 3
381
384
  }, 16, ["data-inset", "class"]));
382
385
  }
383
- }), B = /* @__PURE__ */ p({
386
+ }), U = /* @__PURE__ */ m({
384
387
  name: "DropdownMenuSub",
385
388
  inheritAttrs: !1,
386
389
  __name: "DropdownMenuSub",
@@ -396,13 +399,13 @@ var O = /* @__PURE__ */ p({
396
399
  },
397
400
  emits: ["update:open"],
398
401
  setup(e, { emit: t }) {
399
- let n = e, r = t, i = s("Sub"), a = T(n, r);
400
- return (e, t) => (_(), l(y(b(i)), g(m(b(a))), {
401
- default: S(() => [v(e.$slots, "default")]),
402
+ let n = e, r = t, i = c("Sub"), a = O(n, r);
403
+ return (e, t) => (v(), u(b(x(i)), _(h(x(a))), {
404
+ default: C(() => [y(e.$slots, "default")]),
402
405
  _: 3
403
406
  }, 16));
404
407
  }
405
- }), V = /* @__PURE__ */ p({
408
+ }), W = /* @__PURE__ */ m({
406
409
  name: "DropdownMenuSubTrigger",
407
410
  inheritAttrs: !1,
408
411
  __name: "DropdownMenuSubTrigger",
@@ -421,15 +424,15 @@ var O = /* @__PURE__ */ p({
421
424
  ] }
422
425
  },
423
426
  setup(n) {
424
- let r = n, i = x(), a = c(() => t(i)), o = s("SubTrigger");
425
- return (t, i) => (_(), l(y(b(o)), h(a.value, {
427
+ let r = n, i = S(), a = l(() => t(i)), o = c("SubTrigger");
428
+ return (t, i) => (v(), u(b(x(o)), g(a.value, {
426
429
  as: "div",
427
430
  disabled: n.disabled,
428
431
  "text-value": n.textValue,
429
432
  "data-slot": "menu-sub-trigger",
430
- class: b(e)("menu__sub-trigger interactive-item glass-menu-row", r.class)
433
+ class: x(e)("menu__sub-trigger interactive-item glass-menu-row", r.class)
431
434
  }), {
432
- default: S(() => [v(t.$slots, "default"), f(b(D), {
435
+ default: C(() => [y(t.$slots, "default"), p(x(A), {
433
436
  class: "menu__sub-chevron",
434
437
  "aria-hidden": "true"
435
438
  })]),
@@ -440,7 +443,7 @@ var O = /* @__PURE__ */ p({
440
443
  "class"
441
444
  ]));
442
445
  }
443
- }), H = /* @__PURE__ */ p({
446
+ }), G = /* @__PURE__ */ m({
444
447
  name: "DropdownMenuSubContent",
445
448
  inheritAttrs: !1,
446
449
  __name: "DropdownMenuSubContent",
@@ -465,18 +468,18 @@ var O = /* @__PURE__ */ p({
465
468
  "closeAutoFocus"
466
469
  ],
467
470
  setup(e, { emit: t }) {
468
- let n = e, a = t, o = x(), u = c(() => {
471
+ let n = e, a = t, o = S(), s = l(() => {
469
472
  let { side: e, align: t, loop: n, ...r } = o;
470
473
  return r;
471
- }), d = s("SubContent"), f = s("Portal"), p = i(), m = c(() => r({
474
+ }), d = c("SubContent"), f = c("Portal"), p = i(), m = l(() => r({
472
475
  role: "menu",
473
476
  slot: "menu-sub-content",
474
477
  dock: p.portalAttrs.value,
475
478
  class: n.class
476
479
  }));
477
- return (t, n) => (_(), l(y(b(f)), null, {
478
- default: S(() => [(_(), l(y(b(d)), h({
479
- ...u.value,
480
+ return (t, n) => (v(), u(b(x(f)), null, {
481
+ default: C(() => [(v(), u(b(x(d)), g({
482
+ ...s.value,
480
483
  ...m.value
481
484
  }, {
482
485
  "side-offset": e.sideOffset,
@@ -490,7 +493,7 @@ var O = /* @__PURE__ */ p({
490
493
  onCloseAutoFocus: n[5] ||= (e) => a("closeAutoFocus", e),
491
494
  onEntryFocus: n[6] ||= (e) => a("entryFocus", e)
492
495
  }), {
493
- default: S(() => [v(t.$slots, "default")]),
496
+ default: C(() => [y(t.$slots, "default")]),
494
497
  _: 3
495
498
  }, 16, ["side-offset", "align-offset"]))]),
496
499
  _: 3
@@ -498,4 +501,4 @@ var O = /* @__PURE__ */ p({
498
501
  }
499
502
  });
500
503
  //#endregion
501
- export { R as a, P as c, A as d, k as f, z as i, M as l, V as n, L as o, O as p, B as r, I as s, H as t, j as u };
504
+ export { V as a, L as c, N as d, M as f, H as i, F as l, W as n, B as o, j as p, U as r, z as s, G as t, P as u };
package/dist/menu.js CHANGED
@@ -1,3 +1,3 @@
1
- import { t as e } from "./DropdownMenuTrigger-8UZsBtZ8.js";
2
- import { a as t, c as n, d as r, f as i, i as a, l as o, n as s, o as c, p as l, r as u, s as d, t as f, u as p } from "./menu-TDMNtZjG.js";
1
+ import { t as e } from "./DropdownMenuTrigger-CKRnhDSQ.js";
2
+ import { a as t, c as n, d as r, f as i, i as a, l as o, n as s, o as c, p as l, r as u, s as d, t as f, u as p } from "./menu-BnmCOa3y.js";
3
3
  export { l as DropdownMenu, n as DropdownMenuCheckboxItem, i as DropdownMenuContent, r as DropdownMenuGroup, o as DropdownMenuItem, a as DropdownMenuLabel, p as DropdownMenuRadioGroup, d as DropdownMenuRadioItem, t as DropdownMenuSeparator, c as DropdownMenuShortcut, u as DropdownMenuSub, f as DropdownMenuSubContent, s as DropdownMenuSubTrigger, e as DropdownMenuTrigger };
package/dist/metric.js CHANGED
@@ -1,4 +1,4 @@
1
- import { t as e } from "./class-names-q-UGOkHH.js";
1
+ import { t as e } from "./class-names-FlXcvRRT.js";
2
2
  import { Fragment as t, computed as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createTextVNode as o, defineComponent as s, normalizeClass as c, openBlock as l, renderSlot as u, toDisplayString as d, unref as f } from "vue";
3
3
  //#region src/components/metric/coalesce-metric.ts
4
4
  function p(e, t = "—", n = !1) {
@@ -6,19 +6,23 @@ function p(e, t = "—", n = !1) {
6
6
  placeholder: t,
7
7
  loading: n
8
8
  } : t, i = r.placeholder ?? "—";
9
- return r.loading ?? n ? {
9
+ if (r.loading ?? n) return {
10
10
  display: "…",
11
11
  empty: !1,
12
12
  loading: !0
13
- } : e == null || typeof e == "string" && e.trim() === "" || typeof e == "number" && !Number.isFinite(e) ? {
13
+ };
14
+ if (e == null || typeof e == "string" && e.trim() === "" || typeof e == "number" && !Number.isFinite(e)) return {
14
15
  display: i,
15
16
  empty: !0,
16
17
  loading: !1
17
- } : {
18
+ };
19
+ let a = r.signed === !0 && typeof e == "number" && e > 0;
20
+ return {
18
21
  display: r.compact && typeof e == "number" ? new Intl.NumberFormat(r.locale, {
19
22
  notation: "compact",
20
- maximumFractionDigits: 1
21
- }).format(e) : String(e),
23
+ maximumFractionDigits: 1,
24
+ signDisplay: a ? "exceptZero" : "auto"
25
+ }).format(e) : a ? `+${String(e)}` : String(e),
22
26
  empty: !1,
23
27
  loading: !1
24
28
  };
@@ -79,7 +83,8 @@ var h = [
79
83
  })), w = n(() => S.delta == null || S.delta === "" ? void 0 : p(S.delta, {
80
84
  placeholder: S.placeholder,
81
85
  compact: S.compact,
82
- locale: S.locale
86
+ locale: S.locale,
87
+ signed: !0
83
88
  })), T = n(() => S.polarity ?? m(S.delta));
84
89
  return (n, p) => (l(), i("span", {
85
90
  class: c(f(e)("metric", n.$props.class)),
@@ -1,4 +1,4 @@
1
- import { t as e } from "./class-names-q-UGOkHH.js";
1
+ import { t as e } from "./class-names-FlXcvRRT.js";
2
2
  import { createBlock as t, createCommentVNode as n, createElementBlock as r, defineComponent as i, normalizeClass as a, normalizeStyle as o, openBlock as s, renderSlot as c, unref as l, withCtx as u } from "vue";
3
3
  import { DialogOverlay as d } from "reka-ui";
4
4
  //#region src/components/dialog/ModalOverlay.vue?vue&type=script&setup=true&lang.ts
@@ -4,7 +4,7 @@ import { n as r, r as i, t as a } from "./writeVelocityWeight-DoGOCW3e.js";
4
4
  import { t as o } from "./useScrollTrigger-Abe5dEeO.js";
5
5
  import { i as s, n as c, r as l, t as u } from "./useSelectionGroup-zsEwitF6.js";
6
6
  import { n as d, r as f, t as p } from "./vReveal-B5WYGofz.js";
7
- import { t as m } from "./usePointerVelocityField-DsIf7yyq.js";
7
+ import { t as m } from "./usePointerVelocityField-Lx26_Yap.js";
8
8
  import { t as h } from "./useRoutePointer-B8itM7Ka.js";
9
9
  import { a as g, c as _, i as v, n as y, o as b, r as ee, s as x, t as S } from "./pointerFieldMappings-DXwlU5uj.js";
10
10
  import { n as C, r as w, t as T } from "./constants-Dk96HZHu.js";
@@ -1,5 +1,5 @@
1
- import { t as e } from "./class-names-q-UGOkHH.js";
2
- import { t } from "./button-yvGPb0Bx.js";
1
+ import { t as e } from "./class-names-FlXcvRRT.js";
2
+ import { t } from "./button-BOFTUPyU.js";
3
3
  import { n, t as r } from "./control.css_vue_type_style_index_0_src_true_lang-BIdufaDG.js";
4
4
  import { computed as i, createBlock as a, createVNode as o, defineComponent as s, inject as c, mergeProps as l, normalizeClass as u, openBlock as d, provide as f, renderSlot as p, resolveDynamicComponent as m, unref as h, useAttrs as g, withCtx as _ } from "vue";
5
5
  import { NumberFieldDecrement as v, NumberFieldIncrement as y, NumberFieldInput as b, NumberFieldRoot as x, injectNumberFieldRootContext as S, useForwardPropsEmits as C } from "reka-ui";
@@ -1,2 +1,2 @@
1
- import { n as e, r as t, t as n } from "./number-field-NFAwQ0HK.js";
1
+ import { n as e, r as t, t as n } from "./number-field-RP89046a.js";
2
2
  export { t as NumberField, e as NumberFieldInput, n as NumberFieldStep };
@@ -1,8 +1,8 @@
1
- import { t as e } from "./class-names-q-UGOkHH.js";
1
+ import { t as e } from "./class-names-FlXcvRRT.js";
2
2
  import { t } from "./useLiquidFlex-TJZmRqyY.js";
3
3
  import { t as n } from "./useResizeObserver-CdUlm2QZ.js";
4
4
  import { t as r } from "./_plugin-vue_export-helper-B3ysoDQm.js";
5
- import { s as i } from "./deck-Ci6YjB5e.js";
5
+ import { s as i } from "./deck-Cm_VmyNL.js";
6
6
  import { n as a } from "./useLeadTrail-DQWdpFN1.js";
7
7
  import { Fragment as o, computed as s, createCommentVNode as c, createElementBlock as l, createElementVNode as u, defineComponent as d, mergeModels as f, nextTick as p, normalizeClass as m, normalizeStyle as h, onMounted as g, openBlock as _, ref as v, renderList as y, toDisplayString as b, unref as x, useModel as S, watch as C } from "vue";
8
8
  //#region src/components/pager-dots/worm.ts
@@ -357,6 +357,6 @@ var k = [
357
357
  t.announce ? (_(), l("span", N, b(ie.value), 1)) : c("", !0)
358
358
  ], 42, k));
359
359
  }
360
- }), [["__scopeId", "data-v-f60f1930"]]);
360
+ }), [["__scopeId", "data-v-592b0f41"]]);
361
361
  //#endregion
362
362
  export { w as DEFAULT_DOT_PX, E as DEFAULT_MAX_STRETCH, T as DEFAULT_PITCH_PX, P as PagerDots, D as elongationCeil };