@mkbabb/glass-ui 2.0.0 → 3.0.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 (92) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +9 -0
  3. package/dist/{CommandShortcut-_INFUMu6.js → CommandShortcut-BNDzfFnB.js} +2 -2
  4. package/dist/{ContextMenuSubContent-DCkweFW9.js → ContextMenuSubContent-DLEyeqbh.js} +3 -3
  5. package/dist/{DialogContent-CmCijgX9.js → DialogContent-DSo7PKlU.js} +1 -1
  6. package/dist/{DialogFooter-DRdaCok0.js → DialogFooter-D5KY6sCX.js} +1 -1
  7. package/dist/{Notification-DrI1DT2v.js → Notification-D97JO0fK.js} +2 -2
  8. package/dist/{SelectScrollDownButton-yu8EYUnu.js → SelectScrollDownButton-BwTexKeY.js} +2 -2
  9. package/dist/{Toaster-DY8_jtHv.js → Toaster-CY8gJu9E.js} +69 -58
  10. package/dist/animated-digit.js +1 -1
  11. package/dist/aurora.js +100 -87
  12. package/dist/carousel.js +4 -4
  13. package/dist/{check-dwgetki8.js → check-Nuw7H9Yh.js} +1 -1
  14. package/dist/{chevron-down-DILQA1t6.js → chevron-down-Du2b9vY_.js} +1 -1
  15. package/dist/{chevron-right-fS7fal2t.js → chevron-right-CtDxpE3w.js} +1 -1
  16. package/dist/{chevron-up-BtYjYQOS.js → chevron-up-CenYokvI.js} +1 -1
  17. package/dist/command.js +1 -1
  18. package/dist/components/custom/aurora/composables/runtime.d.ts +24 -1
  19. package/dist/components/custom/sortable-list/SortableHandle.vue.d.ts +1 -1
  20. package/dist/components/custom/toggle-chip/ToggleChip.vue.d.ts +6 -4
  21. package/dist/components/custom/typewriter/TypewriterText.vue.d.ts +1 -1
  22. package/dist/components/ui/drawer/Drawer.vue.d.ts +25 -2
  23. package/dist/components/ui/drawer/DrawerContent.vue.d.ts +12 -1
  24. package/dist/components/ui/drawer/index.d.ts +9 -0
  25. package/dist/components/ui/toast/Toaster.vue.d.ts +7 -1
  26. package/dist/components/ui/toast/index.d.ts +1 -0
  27. package/dist/components/ui/toast/use-toast.d.ts +14 -1
  28. package/dist/composables/dark/index.d.ts +1 -0
  29. package/dist/composables/dom/index.d.ts +1 -0
  30. package/dist/composables/dom/useIdleReady.d.ts +63 -0
  31. package/dist/composables/index.d.ts +1 -0
  32. package/dist/composables/motion/core/index.d.ts +6 -0
  33. package/dist/composables/motion/index.d.ts +0 -7
  34. package/dist/configurator.js +1 -1
  35. package/dist/confirm-dialog.js +1 -1
  36. package/dist/constants-D-8FN28s.js +13 -0
  37. package/dist/context-menu.js +1 -1
  38. package/dist/{createLucideIcon-Bn9a1b70.js → createLucideIcon-rHu18UQW.js} +2 -2
  39. package/dist/dark.d.ts +1 -1
  40. package/dist/dark.js +12 -1
  41. package/dist/dialog.js +2 -2
  42. package/dist/dock.js +1 -1
  43. package/dist/dom.js +2 -2
  44. package/dist/{dropdown-menu-2K-SGkZU.js → dropdown-menu-gHSkffW7.js} +2 -2
  45. package/dist/dropdown-menu.js +1 -1
  46. package/dist/expandable-container.js +2 -2
  47. package/dist/forms.js +2 -2
  48. package/dist/glass-ui.css +1 -1
  49. package/dist/glass-ui.js +139 -115
  50. package/dist/icon-tooltip.js +1 -1
  51. package/dist/keyboard.js +1 -1
  52. package/dist/labeled-field.js +3 -3
  53. package/dist/{minimize-2-LsCJ_eNt.js → minimize-2-C_oyKVwZ.js} +1 -1
  54. package/dist/motion-core.d.ts +1 -0
  55. package/dist/motion-core.js +192 -0
  56. package/dist/motion.js +25 -227
  57. package/dist/notification.js +1 -1
  58. package/dist/responsive-tabs.js +1 -1
  59. package/dist/{search-ocd8tmL9.js → search-7XEx_6hq.js} +1 -1
  60. package/dist/search.js +4 -4
  61. package/dist/select.js +1 -1
  62. package/dist/{sheet-CLVkb3AO.js → sheet-BsBdO5jq.js} +1 -1
  63. package/dist/sheet.js +1 -1
  64. package/dist/sortable-list.js +6 -3
  65. package/dist/status-dot.js +16 -13
  66. package/dist/styles/dock.css +72 -95
  67. package/dist/styles/drawer.css +138 -0
  68. package/dist/styles/index.css +18 -2
  69. package/dist/styles/instrument-chassis.css +28 -1
  70. package/dist/styles/theme.css +3 -0
  71. package/dist/styles/tokens.css +109 -266
  72. package/dist/styles/typography.css +44 -131
  73. package/dist/styles/utilities.css +23 -58
  74. package/dist/toast.js +1 -1
  75. package/dist/{useAnimatedNumber-DcvTR9B4.js → useAnimatedNumber-2l13GibX.js} +9 -20
  76. package/dist/{useConfiguratorState-BlaevW0S.js → useConfiguratorState-BpZi8QJu.js} +5 -5
  77. package/dist/{useBreakpoint-BHlX-MhR.js → useIdleReady-DlzJicQH.js} +29 -1
  78. package/dist/{x-cdWAmO-q.js → x-Cb3NE2Ne.js} +1 -1
  79. package/package.json +12 -5
  80. package/src/styles/dock.css +72 -95
  81. package/src/styles/drawer.css +138 -0
  82. package/src/styles/index.css +14 -2
  83. package/src/styles/instrument-chassis.css +28 -1
  84. package/src/styles/theme.css +3 -0
  85. package/src/styles/tokens.css +109 -266
  86. package/src/styles/typography.css +44 -131
  87. package/src/styles/utilities.css +23 -58
  88. package/dist/composables/motion/useSpringOrchestrator.d.ts +0 -15
  89. /package/dist/{IconTooltip-ge_mBSWR.js → IconTooltip-GIeWdo64.js} +0 -0
  90. /package/dist/{Input-CbakTe3B.js → Input-CBvqW8kZ.js} +0 -0
  91. /package/dist/composables/{motion → dark}/installDarkModeSync.d.ts +0 -0
  92. /package/dist/{useKeyboardShortcuts-B1ev1YEC.js → useKeyboardShortcuts-CPO4AhLx.js} +0 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Mike Babb
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OF OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -270,3 +270,12 @@ All runtime deps are peer:
270
270
  | `lucide-vue-next` ^0.525 | Icon set |
271
271
  | `vaul-vue` ^0.2 | Drawer primitives |
272
272
  | `@mkbabb/keyframes.js` ^2.0 | Spring/keyframe runtime |
273
+
274
+ ## Contributing
275
+
276
+ See [CONTRIBUTING.md](./CONTRIBUTING.md). The README shape follows the perimeter-level
277
+ [canonical README shape](./docs/precepts/canonical-readme-shape.md).
278
+
279
+ ## License
280
+
281
+ [MIT](./LICENSE) © 2026 Mike Babb.
@@ -1,6 +1,6 @@
1
1
  import { t as e } from "./cn-DJXf4yaB.js";
2
- import { t } from "./search-ocd8tmL9.js";
3
- import { n, t as r } from "./DialogContent-CmCijgX9.js";
2
+ import { t } from "./search-7XEx_6hq.js";
3
+ import { n, t as r } from "./DialogContent-DSo7PKlU.js";
4
4
  import { t as i } from "./menuItemVariants-B2nDL7zH.js";
5
5
  import { computed as a, createBlock as o, createCommentVNode as s, createElementBlock as c, createElementVNode as l, createTextVNode as u, createVNode as d, defineComponent as f, guardReactiveProps as p, mergeProps as m, normalizeClass as h, normalizeProps as g, openBlock as _, renderSlot as v, toDisplayString as y, unref as b, withCtx as x } from "vue";
6
6
  import { ComboboxContent as S, ComboboxEmpty as C, ComboboxGroup as w, ComboboxInput as T, ComboboxItem as E, ComboboxLabel as D, ComboboxRoot as O, ComboboxSeparator as k, useForwardProps as A, useForwardPropsEmits as j } from "reka-ui";
@@ -1,7 +1,7 @@
1
1
  import { t as e } from "./cn-DJXf4yaB.js";
2
- import { t } from "./createLucideIcon-Bn9a1b70.js";
3
- import { t as n } from "./check-dwgetki8.js";
4
- import { t as r } from "./chevron-right-fS7fal2t.js";
2
+ import { t } from "./createLucideIcon-rHu18UQW.js";
3
+ import { t as n } from "./check-Nuw7H9Yh.js";
4
+ import { t as r } from "./chevron-right-CtDxpE3w.js";
5
5
  import { t as i } from "./menuItemVariants-B2nDL7zH.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 { ContextMenuCheckboxItem as y, ContextMenuItem as b, ContextMenuItemIndicator as x, ContextMenuLabel as S, ContextMenuRadioGroup as C, ContextMenuRadioItem as w, ContextMenuSeparator as T, ContextMenuSubContent as E, ContextMenuSubTrigger as D, useForwardProps as O, useForwardPropsEmits as k } from "reka-ui";
@@ -1,5 +1,5 @@
1
1
  import { t as e } from "./cn-DJXf4yaB.js";
2
- import { t } from "./x-cdWAmO-q.js";
2
+ import { t } from "./x-Cb3NE2Ne.js";
3
3
  import { t as n } from "./useSpringMount-BTRBNzXP.js";
4
4
  import { t as r } from "./ModalOverlay-DKLVY-cj.js";
5
5
  import { computed as i, createBlock as a, createElementVNode as o, createVNode as s, defineComponent as c, guardReactiveProps as l, mergeProps as u, normalizeProps as d, openBlock as f, renderSlot as p, unref as m, withCtx as h } from "vue";
@@ -1,5 +1,5 @@
1
1
  import { t as e } from "./cn-DJXf4yaB.js";
2
- import { t } from "./x-cdWAmO-q.js";
2
+ import { t } from "./x-Cb3NE2Ne.js";
3
3
  import { t as n } from "./ModalOverlay-DKLVY-cj.js";
4
4
  import { computed as r, createBlock as i, createElementBlock as a, createElementVNode as o, createVNode as s, defineComponent as c, guardReactiveProps as l, mergeProps as u, normalizeClass as d, normalizeProps as f, openBlock as p, renderSlot as m, unref as h, withCtx as g } from "vue";
5
5
  import { DialogClose as _, DialogContent as v, DialogDescription as y, DialogPortal as b, DialogTitle as x, DialogTrigger as S, useForwardProps as C, useForwardPropsEmits as w } from "reka-ui";
@@ -1,5 +1,5 @@
1
- import { t as e } from "./createLucideIcon-Bn9a1b70.js";
2
- import { t } from "./x-cdWAmO-q.js";
1
+ import { t as e } from "./createLucideIcon-rHu18UQW.js";
2
+ import { t } from "./x-Cb3NE2Ne.js";
3
3
  import { t as n } from "./_plugin-vue_export-helper-n-_DRHWS.js";
4
4
  import { Fragment as r, TransitionGroup as i, createBlock as a, createElementBlock as o, createElementVNode as s, createVNode as c, defineComponent as l, normalizeClass as u, openBlock as d, renderList as f, resolveDynamicComponent as p, toDisplayString as m, unref as h, withCtx as g } from "vue";
5
5
  var _ = e("circle-alert", [
@@ -1,6 +1,6 @@
1
1
  import { t as e } from "./cn-DJXf4yaB.js";
2
- import { t } from "./chevron-down-DILQA1t6.js";
3
- import { t as n } from "./chevron-up-BtYjYQOS.js";
2
+ import { t } from "./chevron-down-Du2b9vY_.js";
3
+ import { t as n } from "./chevron-up-CenYokvI.js";
4
4
  import { t as r } from "./menuItemVariants-B2nDL7zH.js";
5
5
  import { i } from "./dockContext-BDGSrwsV.js";
6
6
  import { computed as a, createBlock as o, createCommentVNode as s, createElementBlock as c, createElementVNode as l, createVNode as u, defineComponent as d, guardReactiveProps as f, mergeProps as p, normalizeClass as m, normalizeProps as h, openBlock as g, renderSlot as _, unref as v, withCtx as y } from "vue";
@@ -1,10 +1,10 @@
1
1
  import { t as e } from "./cn-DJXf4yaB.js";
2
- import { t } from "./x-cdWAmO-q.js";
3
- import { Fragment as n, computed as r, createBlock as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createTextVNode as c, createVNode as l, defineComponent as u, mergeProps as d, openBlock as f, ref as p, renderList as m, renderSlot as h, toDisplayString as g, unref as _, withCtx as v } from "vue";
4
- import { ToastAction as y, ToastClose as b, ToastDescription as x, ToastProvider as S, ToastRoot as C, ToastTitle as w, ToastViewport as T } from "reka-ui";
2
+ import { t } from "./x-Cb3NE2Ne.js";
3
+ import { Fragment as n, computed as r, createBlock as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createTextVNode as c, createVNode as l, defineComponent as u, mergeProps as d, normalizeClass as f, openBlock as p, ref as m, renderList as h, renderSlot as g, toDisplayString as _, unref as v, withCtx as y } from "vue";
4
+ import { ToastAction as b, ToastClose as x, ToastDescription as S, ToastProvider as C, ToastRoot as w, ToastTitle as T, ToastViewport as E } from "reka-ui";
5
5
  //#endregion
6
6
  //#region src/components/ui/toast/Toast.vue
7
- var E = /* @__PURE__ */ u({
7
+ var D = /* @__PURE__ */ u({
8
8
  __name: "Toast",
9
9
  props: {
10
10
  class: { type: [
@@ -39,9 +39,9 @@ var E = /* @__PURE__ */ u({
39
39
  let { class: e, variant: t, ...n } = a;
40
40
  return n;
41
41
  });
42
- return (n, r) => (f(), i(_(S), null, {
43
- default: v(() => [l(_(C), d(s.value, {
44
- class: _(e)("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-panel border p-6 pr-8 shadow-modal transition-[opacity,transform] data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--reka-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--reka-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full", {
42
+ return (n, r) => (p(), i(v(C), null, {
43
+ default: y(() => [l(v(w), d(s.value, {
44
+ class: v(e)("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-panel border p-6 pr-8 shadow-modal transition-[opacity,transform] data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--reka-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--reka-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full", {
45
45
  "bg-background text-foreground border": t.variant === "default",
46
46
  "bg-destructive text-destructive-foreground border-destructive": t.variant === "destructive"
47
47
  }, a.class),
@@ -52,13 +52,13 @@ var E = /* @__PURE__ */ u({
52
52
  onSwipeEnd: r[4] ||= (e) => o("swipeEnd", e),
53
53
  onSwipeCancel: r[5] ||= (e) => o("swipeCancel", e)
54
54
  }), {
55
- default: v(() => [h(n.$slots, "default")]),
55
+ default: y(() => [g(n.$slots, "default")]),
56
56
  _: 3
57
- }, 16, ["class"]), l(_(T))]),
57
+ }, 16, ["class"]), l(v(E))]),
58
58
  _: 3
59
59
  }));
60
60
  }
61
- }), D = /* @__PURE__ */ u({
61
+ }), O = /* @__PURE__ */ u({
62
62
  __name: "ToastAction",
63
63
  props: {
64
64
  class: { type: [
@@ -77,12 +77,12 @@ var E = /* @__PURE__ */ u({
77
77
  let { class: e, ...t } = n;
78
78
  return t;
79
79
  });
80
- return (t, r) => (f(), i(_(y), d(a.value, { class: _(e)("focus-ring inline-flex h-8 shrink-0 items-center justify-center rounded-button border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary disabled:pointer-events-none disabled:opacity-disabled group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground", n.class) }), {
81
- default: v(() => [h(t.$slots, "default")]),
80
+ return (t, r) => (p(), i(v(b), d(a.value, { class: v(e)("focus-ring inline-flex h-8 shrink-0 items-center justify-center rounded-button border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary disabled:pointer-events-none disabled:opacity-disabled group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground", n.class) }), {
81
+ default: y(() => [g(t.$slots, "default")]),
82
82
  _: 3
83
83
  }, 16, ["class"]));
84
84
  }
85
- }), O = /* @__PURE__ */ u({
85
+ }), k = /* @__PURE__ */ u({
86
86
  __name: "ToastClose",
87
87
  props: {
88
88
  class: { type: [
@@ -100,12 +100,12 @@ var E = /* @__PURE__ */ u({
100
100
  let { class: e, ...t } = a;
101
101
  return t;
102
102
  });
103
- return (n, r) => (f(), i(_(b), d(o.value, { class: _(e)("focus-ring absolute right-2 top-2 rounded-button p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50", a.class) }), {
104
- default: v(() => [l(_(t), { class: "h-4 w-4" })]),
103
+ return (n, r) => (p(), i(v(x), d(o.value, { class: v(e)("focus-ring absolute right-2 top-2 rounded-button p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50", a.class) }), {
104
+ default: y(() => [l(v(t), { class: "h-4 w-4" })]),
105
105
  _: 1
106
106
  }, 16, ["class"]));
107
107
  }
108
- }), k = /* @__PURE__ */ u({
108
+ }), A = /* @__PURE__ */ u({
109
109
  __name: "ToastDescription",
110
110
  props: {
111
111
  class: { type: [
@@ -123,12 +123,12 @@ var E = /* @__PURE__ */ u({
123
123
  let { class: e, ...t } = n;
124
124
  return t;
125
125
  });
126
- return (t, r) => (f(), i(_(x), d(a.value, { class: _(e)("text-sm opacity-90", n.class) }), {
127
- default: v(() => [h(t.$slots, "default")]),
126
+ return (t, r) => (p(), i(v(S), d(a.value, { class: v(e)("text-sm opacity-90", n.class) }), {
127
+ default: y(() => [g(t.$slots, "default")]),
128
128
  _: 3
129
129
  }, 16, ["class"]));
130
130
  }
131
- }), A = /* @__PURE__ */ u({
131
+ }), j = /* @__PURE__ */ u({
132
132
  __name: "ToastTitle",
133
133
  props: {
134
134
  class: { type: [
@@ -146,65 +146,65 @@ var E = /* @__PURE__ */ u({
146
146
  let { class: e, ...t } = n;
147
147
  return t;
148
148
  });
149
- return (t, r) => (f(), i(_(w), d(a.value, { class: _(e)("text-sm font-semibold", n.class) }), {
150
- default: v(() => [h(t.$slots, "default")]),
149
+ return (t, r) => (p(), i(v(T), d(a.value, { class: v(e)("text-sm font-semibold", n.class) }), {
150
+ default: y(() => [g(t.$slots, "default")]),
151
151
  _: 3
152
152
  }, 16, ["class"]));
153
153
  }
154
- }), j = 5, M = 1e6, N = /* @__PURE__ */ new Map();
155
- function P(e) {
156
- if (N.has(e)) return;
154
+ }), M = 5, N = 1e6, P = /* @__PURE__ */ new Map();
155
+ function F(e) {
156
+ if (P.has(e)) return;
157
157
  let t = setTimeout(() => {
158
- N.delete(e), I({
158
+ P.delete(e), L({
159
159
  type: "REMOVE_TOAST",
160
160
  toastId: e
161
161
  });
162
- }, M);
163
- N.set(e, t);
162
+ }, N);
163
+ P.set(e, t);
164
164
  }
165
- var F = p([]);
166
- function I(e) {
165
+ var I = m([]);
166
+ function L(e) {
167
167
  switch (e.type) {
168
168
  case "ADD_TOAST":
169
- F.value = [e.toast, ...F.value].slice(0, j);
169
+ I.value = [e.toast, ...I.value].slice(0, M);
170
170
  break;
171
171
  case "UPDATE_TOAST":
172
- F.value = F.value.map((t) => t.id === e.toast.id ? {
172
+ I.value = I.value.map((t) => t.id === e.toast.id ? {
173
173
  ...t,
174
174
  ...e.toast
175
175
  } : t);
176
176
  break;
177
177
  case "DISMISS_TOAST": {
178
178
  let { toastId: t } = e;
179
- t ? P(t) : F.value.forEach((e) => {
180
- P(e.id);
181
- }), F.value = F.value.map((e) => e.id === t || t === void 0 ? {
179
+ t ? F(t) : I.value.forEach((e) => {
180
+ F(e.id);
181
+ }), I.value = I.value.map((e) => e.id === t || t === void 0 ? {
182
182
  ...e,
183
183
  open: !1
184
184
  } : e);
185
185
  break;
186
186
  }
187
187
  case "REMOVE_TOAST":
188
- e.toastId === void 0 ? F.value = [] : F.value = F.value.filter((t) => t.id !== e.toastId);
188
+ e.toastId === void 0 ? I.value = [] : I.value = I.value.filter((t) => t.id !== e.toastId);
189
189
  break;
190
190
  }
191
191
  }
192
- var L = 0;
193
- function R() {
194
- return L = (L + 1) % Number.MAX_VALUE, L.toString();
192
+ var R = 0;
193
+ function z() {
194
+ return R = (R + 1) % Number.MAX_VALUE, R.toString();
195
195
  }
196
- function z(e) {
197
- let t = R(), n = (e) => I({
196
+ function B(e) {
197
+ let t = z(), n = (e) => L({
198
198
  type: "UPDATE_TOAST",
199
199
  toast: {
200
200
  ...e,
201
201
  id: t
202
202
  }
203
- }), r = () => I({
203
+ }), r = () => L({
204
204
  type: "DISMISS_TOAST",
205
205
  toastId: t
206
206
  });
207
- return I({
207
+ return L({
208
208
  type: "ADD_TOAST",
209
209
  toast: {
210
210
  ...e,
@@ -220,11 +220,11 @@ function z(e) {
220
220
  update: n
221
221
  };
222
222
  }
223
- function B() {
223
+ function V() {
224
224
  return {
225
- toasts: r(() => F.value),
226
- toast: z,
227
- dismiss: (e) => I({
225
+ toasts: r(() => I.value),
226
+ toast: B,
227
+ dismiss: (e) => L({
228
228
  type: "DISMISS_TOAST",
229
229
  toastId: e
230
230
  })
@@ -232,24 +232,35 @@ function B() {
232
232
  }
233
233
  //#endregion
234
234
  //#region src/components/ui/toast/Toaster.vue?vue&type=script&setup=true&lang.ts
235
- var V = { class: "grid gap-1" }, H = /* @__PURE__ */ u({
235
+ var H = { class: "grid gap-1" }, U = "fixed top-0 z-toast flex max-h-screen w-full", W = "p-4", G = "md:max-w-[420px]", K = /* @__PURE__ */ u({
236
236
  __name: "Toaster",
237
- setup(e) {
238
- let { toasts: t } = B();
239
- return (e, r) => (f(), i(_(S), null, {
240
- default: v(() => [(f(!0), o(n, null, m(_(t), (e) => (f(), i(E, d({ key: e.id }, { ref_for: !0 }, e), {
241
- default: v(() => [s("div", V, [e.title ? (f(), i(A, { key: 0 }, {
242
- default: v(() => [c(g(e.title), 1)]),
237
+ props: { position: { default: "bottom-right" } },
238
+ setup(t) {
239
+ let u = t, { toasts: m } = V(), g = {
240
+ "bottom-right": ["flex-col-reverse", "sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col"],
241
+ "bottom-left": ["flex-col-reverse", "sm:bottom-0 sm:left-0 sm:top-auto sm:flex-col"],
242
+ "bottom-center": ["flex-col-reverse", "sm:bottom-0 sm:left-1/2 sm:top-auto sm:-translate-x-1/2 sm:flex-col"],
243
+ "top-right": ["right-0 flex-col", ""],
244
+ "top-left": ["left-0 flex-col", ""],
245
+ "top-center": ["left-1/2 -translate-x-1/2 flex-col", ""]
246
+ }, b = r(() => {
247
+ let [t, n] = g[u.position];
248
+ return e(U, t, W, n, G);
249
+ });
250
+ return (e, t) => (p(), i(v(C), null, {
251
+ default: y(() => [(p(!0), o(n, null, h(v(m), (e) => (p(), i(D, d({ key: e.id }, { ref_for: !0 }, e), {
252
+ default: y(() => [s("div", H, [e.title ? (p(), i(j, { key: 0 }, {
253
+ default: y(() => [c(_(e.title), 1)]),
243
254
  _: 2
244
- }, 1024)) : a("", !0), e.description ? (f(), i(k, { key: 1 }, {
245
- default: v(() => [c(g(e.description), 1)]),
255
+ }, 1024)) : a("", !0), e.description ? (p(), i(A, { key: 1 }, {
256
+ default: y(() => [c(_(e.description), 1)]),
246
257
  _: 2
247
- }, 1024)) : a("", !0)]), l(O)]),
258
+ }, 1024)) : a("", !0)]), l(k)]),
248
259
  _: 2
249
- }, 1040))), 128)), l(_(T), { class: "fixed top-0 z-toast flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]" })]),
260
+ }, 1040))), 128)), l(v(E), { class: f(b.value) }, null, 8, ["class"])]),
250
261
  _: 1
251
262
  }));
252
263
  }
253
264
  });
254
265
  //#endregion
255
- export { k as a, E as c, A as i, z as n, O as o, B as r, D as s, H as t };
266
+ export { A as a, D as c, j as i, B as n, k as o, V as r, O as s, K as t };
@@ -1,6 +1,6 @@
1
1
  import { t as e } from "./cn-DJXf4yaB.js";
2
2
  import { t } from "./_plugin-vue_export-helper-n-_DRHWS.js";
3
- import { t as n } from "./useAnimatedNumber-DcvTR9B4.js";
3
+ import { t as n } from "./useAnimatedNumber-2l13GibX.js";
4
4
  import { computed as r, createElementBlock as i, defineComponent as a, normalizeClass as o, normalizeStyle as s, openBlock as c, toDisplayString as l, unref as u } from "vue";
5
5
  //#region src/components/custom/animated-digit/AnimatedDigit.vue?vue&type=script&setup=true&lang.ts
6
6
  var d = ["data-is-animating"], f = /* @__PURE__ */ t(/* @__PURE__ */ a({