vlite3 0.2.13 → 0.2.14

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.
@@ -31,9 +31,9 @@ const y = ["src", "alt"], z = { key: 0 }, A = /* @__PURE__ */ k({
31
31
  xs: "h-6 w-6 text-[10px]",
32
32
  sm: "h-8 w-8 text-xs",
33
33
  md: "h-10 w-10 text-sm",
34
- lg: "h-14 w-14 text-base",
35
- xl: "h-20 w-20 text-lg",
36
- "2xl": "h-22 w-22 text-xl"
34
+ lg: "h-12 w-12 text-base",
35
+ xl: "h-15 w-15 text-lg",
36
+ "2xl": "h-21 w-21 text-xl"
37
37
  }, h = {
38
38
  none: "rounded-none",
39
39
  sm: "rounded-sm",
@@ -1,7 +1,10 @@
1
- import { defineComponent as v, useSlots as x, computed as c, withDirectives as w, openBlock as i, createElementBlock as y, normalizeClass as o, createBlock as l, createCommentVNode as u, renderSlot as p, createTextVNode as z, toDisplayString as k, unref as B } from "vue";
2
- import d from "./Icon.vue.js";
1
+ import { defineComponent as x, useSlots as w, computed as l, withDirectives as y, openBlock as i, createElementBlock as g, normalizeClass as r, createBlock as c, createCommentVNode as d, renderSlot as p, createTextVNode as k, toDisplayString as z, unref as B } from "vue";
2
+ import u from "./Icon.vue.js";
3
3
  import { vRipple as C } from "../directives/vRipple.js";
4
- const S = ["type", "disabled"], D = /* @__PURE__ */ v({
4
+ const S = ["type", "disabled"], R = {
5
+ key: 2,
6
+ class: "-text-fs-1.5!"
7
+ }, D = /* @__PURE__ */ x({
5
8
  __name: "Button",
6
9
  props: {
7
10
  variant: { default: "primary" },
@@ -16,8 +19,8 @@ const S = ["type", "disabled"], D = /* @__PURE__ */ v({
16
19
  rounded: { default: "md" }
17
20
  },
18
21
  setup(e) {
19
- const t = e, g = x(), s = c(() => t.icon && !t.text && !g.default), h = c(() => {
20
- const n = "inline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 active:scale-[0.98] cursor-pointer gap-2", r = {
22
+ const t = e, h = w(), s = l(() => t.icon && !t.text && !h.default), f = l(() => {
23
+ const n = "inline-flex items-center justify-center whitespace-nowrap -text-fs-0.5 font-medium ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 active:scale-[0.98] cursor-pointer gap-2", o = {
21
24
  primary: "bg-primary text-primary-foreground hover:bg-primary/90",
22
25
  "primary-light": "bg-primary-light text-primary-fg-light hover:bg-primary/20",
23
26
  secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
@@ -37,7 +40,7 @@ const S = ["type", "disabled"], D = /* @__PURE__ */ v({
37
40
  "outline-success": "border border-success text-success hover:bg-success/10",
38
41
  ghost: "hover:bg-accent hover:text-accent-foreground text-foreground",
39
42
  link: "text-primary underline-offset-4 hover:underline"
40
- }, f = {
43
+ }, b = {
41
44
  xs: "h-6.5 px-2",
42
45
  sm: "h-7.5 px-3",
43
46
  md: "h-9 px-4 py-2",
@@ -49,7 +52,7 @@ const S = ["type", "disabled"], D = /* @__PURE__ */ v({
49
52
  md: "h-7.5 w-7.5 min-h-7.5 min-w-7.5",
50
53
  lg: "h-8 w-8 min-h-8 min-w-8",
51
54
  xl: "h-8.5 w-8.5 min-h-8.5 min-w-8.5"
52
- }, b = {
55
+ }, v = {
53
56
  none: "rounded-none",
54
57
  sm: "rounded-sm",
55
58
  md: "rounded",
@@ -60,52 +63,51 @@ const S = ["type", "disabled"], D = /* @__PURE__ */ v({
60
63
  };
61
64
  return [
62
65
  n,
63
- r[t.variant],
64
- b[t.rounded],
65
- s.value ? m[t.size] : f[t.size],
66
+ o[t.variant],
67
+ v[t.rounded],
68
+ s.value ? m[t.size] : b[t.size],
66
69
  t.class
67
70
  ].join(" ");
68
- }), a = c(() => {
71
+ }), a = l(() => {
69
72
  const n = {
70
73
  xs: "w-3 h-3",
71
74
  sm: "w-4 h-4",
72
75
  md: "w-4 h-4",
73
76
  lg: "w-4 h-4",
74
77
  xl: "w-4 h-4"
75
- }, r = {
78
+ }, o = {
76
79
  xs: "w-3 h-3",
77
80
  sm: "w-3.5 h-3.5",
78
81
  md: "w-3.5 h-3.5",
79
82
  lg: "w-4 h-4",
80
83
  xl: "w-4 h-4"
81
84
  };
82
- return s.value ? r[t.size] : n[t.size];
85
+ return s.value ? o[t.size] : n[t.size];
83
86
  });
84
- return (n, r) => w((i(), y("button", {
87
+ return (n, o) => y((i(), g("button", {
85
88
  type: e.type,
86
- class: o(h.value),
89
+ class: r(f.value),
87
90
  disabled: e.disabled || e.loading
88
91
  }, [
89
- e.loading ? (i(), l(d, {
92
+ e.loading ? (i(), c(u, {
90
93
  key: 0,
91
94
  icon: "lucide:loader-2",
92
- class: o(["animate-spin", { [a.value]: !0 }])
93
- }, null, 8, ["class"])) : e.icon ? (i(), l(d, {
95
+ class: r(["animate-spin pointer-events-none", a.value])
96
+ }, null, 8, ["class"])) : e.icon ? (i(), c(u, {
94
97
  key: 1,
95
98
  icon: e.icon,
96
- class: o({
97
- "mx-auto": s.value,
98
- [a.value]: !0
99
- })
100
- }, null, 8, ["icon", "class"])) : u("", !0),
101
- p(n.$slots, "default", {}, () => [
102
- z(k(e.text), 1)
103
- ]),
104
- e.iconRight && !e.loading ? (i(), l(d, {
105
- key: 2,
99
+ class: r(["pointer-events-none", [a.value, s.value ? "mx-auto" : ""]])
100
+ }, null, 8, ["icon", "class"])) : d("", !0),
101
+ n.$slots?.default || e.text ? (i(), g("span", R, [
102
+ p(n.$slots, "default", {}, () => [
103
+ k(z(e.text), 1)
104
+ ])
105
+ ])) : d("", !0),
106
+ e.iconRight && !e.loading ? (i(), c(u, {
107
+ key: 3,
106
108
  icon: e.iconRight,
107
- class: o([a.value, "h-4 w-4"])
108
- }, null, 8, ["icon", "class"])) : u("", !0)
109
+ class: r([a.value, "h-4 w-4 pointer-events-none"])
110
+ }, null, 8, ["icon", "class"])) : d("", !0)
109
111
  ], 10, S)), [
110
112
  [B(C)]
111
113
  ]);
@@ -139,7 +139,7 @@ const fe = { class: "space-y-4" }, he = { class: "overflow-x-auto w-full" }, ge
139
139
  "overflow-hidden",
140
140
  l.bordered ? "border border-border/60" : "",
141
141
  l.class
142
- ].join(" ")), Z = b(() => ["w-full caption-bottom text-sm", l.tableClass].join(" ")), _ = (e) => e.width ? e.width : "auto";
142
+ ].join(" ")), Z = b(() => ["w-full caption-bottom", l.tableClass].join(" ")), _ = (e) => e.width ? e.width : "auto";
143
143
  return p(
144
144
  () => l.rows,
145
145
  () => {
@@ -90,7 +90,7 @@ const L = ["data-state"], U = { class: "flex items-center justify-center" }, h =
90
90
  (c(!0), d(M, null, V(i.headers, (n) => (c(), d("td", {
91
91
  key: n.field,
92
92
  class: u(["align-middle overflow-hidden", [
93
- i.compact ? "p-2 text-xs" : "py-3! px-3 text-sm",
93
+ i.compact ? "p-2" : "py-3! px-3 -text-fs-1.5!",
94
94
  y(n),
95
95
  n.hideOnMobile ? "hidden md:table-cell" : "",
96
96
  x(n, o(i.row, n.field), i.row)
@@ -1,7 +1,7 @@
1
1
  import o from "./Form.vue2.js";
2
2
  /* empty css */
3
3
  import r from "../../_virtual/_plugin-vue_export-helper.js";
4
- const _ = /* @__PURE__ */ r(o, [["__scopeId", "data-v-67eb0c47"]]);
4
+ const _ = /* @__PURE__ */ r(o, [["__scopeId", "data-v-5766d177"]]);
5
5
  export {
6
6
  _ as default
7
7
  };
@@ -207,7 +207,7 @@ const ne = {
207
207
  class: h([
208
208
  "form-footer flex items-center justify-end gap-3",
209
209
  e.footerClass,
210
- $.value ? "sticky bottom-0 z-20 bg-body pt-4 border-t border-border/40 -mx-4 px-4 mt-4" : "mt-6"
210
+ $.value ? "sticky bottom-0 z-20 bg-body pt-4 border-t border-border/75 -mx-4 px-4 mt-4" : "mt-6"
211
211
  ])
212
212
  }, [
213
213
  G.value ? (l(), p(A, {
@@ -1,4 +1,4 @@
1
- import { defineComponent as N, computed as n, markRaw as P, openBlock as r, createBlock as u, mergeProps as f, toHandlers as R, createSlots as B, unref as C, withCtx as o, createVNode as L, createTextVNode as c, toDisplayString as m, createCommentVNode as $, resolveDynamicComponent as O } from "vue";
1
+ import { defineComponent as N, computed as n, markRaw as P, openBlock as r, createBlock as u, mergeProps as f, toHandlers as R, createSlots as B, unref as $, withCtx as o, createVNode as C, createTextVNode as c, toDisplayString as m, createCommentVNode as L, resolveDynamicComponent as O } from "vue";
2
2
  import { isComponent as h, isAddonObject as p } from "./utils/form.utils.js";
3
3
  import I from "../NumberInput.vue.js";
4
4
  import v from "../Button.vue.js";
@@ -97,7 +97,7 @@ const fe = /* @__PURE__ */ N({
97
97
  min: e.field.min,
98
98
  // kept for validation attributes if needed
99
99
  max: e.field.max,
100
- class: e.field.className
100
+ class: `${e.field.className}`
101
101
  } : t === "number" ? {
102
102
  ...a,
103
103
  modelValue: e.value ?? void 0,
@@ -227,7 +227,7 @@ const fe = /* @__PURE__ */ N({
227
227
  ...V.value,
228
228
  ...l.field?.props || {}
229
229
  }, R(b.value)), B({ _: 2 }, [
230
- C(p)(l.field.addonLeft) ? {
230
+ $(p)(l.field.addonLeft) ? {
231
231
  name: "addon-left",
232
232
  fn: o(() => [
233
233
  l.field.addonLeft.type === "select" ? (r(), u(y, f({
@@ -238,7 +238,7 @@ const fe = /* @__PURE__ */ N({
238
238
  onOnSelect: a[0] || (a[0] = (i) => k(l.field.addonLeft, i))
239
239
  }), {
240
240
  trigger: o(({ selectedLabel: i }) => [
241
- L(v, { variant: "outline" }, {
241
+ C(v, { variant: "outline" }, {
242
242
  default: o(() => [
243
243
  c(m(i), 1)
244
244
  ]),
@@ -256,11 +256,11 @@ const fe = /* @__PURE__ */ N({
256
256
  c(m(l.field.addonLeft.text), 1)
257
257
  ]),
258
258
  _: 1
259
- }, 16)) : $("", !0)
259
+ }, 16)) : L("", !0)
260
260
  ]),
261
261
  key: "0"
262
262
  } : void 0,
263
- C(p)(l.field.addonRight) ? {
263
+ $(p)(l.field.addonRight) ? {
264
264
  name: "addon-right",
265
265
  fn: o(() => [
266
266
  l.field.addonRight.type === "select" ? (r(), u(y, f({
@@ -271,7 +271,7 @@ const fe = /* @__PURE__ */ N({
271
271
  onOnSelect: a[2] || (a[2] = (i) => k(l.field.addonRight, i))
272
272
  }), {
273
273
  trigger: o(({ selectedLabel: i }) => [
274
- L(v, { variant: "outline" }, {
274
+ C(v, { variant: "outline" }, {
275
275
  default: o(() => [
276
276
  c(m(i), 1)
277
277
  ]),
@@ -289,7 +289,7 @@ const fe = /* @__PURE__ */ N({
289
289
  c(m(l.field.addonRight.text), 1)
290
290
  ]),
291
291
  _: 1
292
- }, 16)) : $("", !0)
292
+ }, 16)) : L("", !0)
293
293
  ]),
294
294
  key: "1"
295
295
  } : void 0
@@ -2,7 +2,7 @@ import { defineComponent as G, useSlots as J, ref as v, computed as r, onMounted
2
2
  import f from "./Icon.vue.js";
3
3
  import Q from "./Label.vue.js";
4
4
  import X from "./Textarea.vue.js";
5
- const Y = ["type", "value", "placeholder", "disabled", "min", "max"], Z = { class: "absolute right-3 top-1/2 -translate-y-1/2 flex items-center justify-center gap-2 z-20" }, le = /* @__PURE__ */ G({
5
+ const Y = ["type", "value", "placeholder", "disabled", "min", "max"], Z = { class: "absolute right-3 top-1/2 -translate-y-1/2 flex items-center justify-center gap-2 z-20" }, te = /* @__PURE__ */ G({
6
6
  __name: "Input",
7
7
  props: {
8
8
  modelValue: { default: "" },
@@ -41,17 +41,17 @@ const Y = ["type", "value", "placeholder", "disabled", "min", "max"], Z = { clas
41
41
  ].join(" ")), T = r(() => ["relative flex w-full items-stretch", e.labelPosition !== "top" ? "flex-1" : ""].join(
42
42
  " "
43
43
  )), j = r(() => {
44
- const t = "block w-full bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground/50 disabled:cursor-not-allowed disabled:opacity-50 focus-visible:outline-none relative focus:z-10", o = {
44
+ const o = "block w-full bg-background px-3 py-2 ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground/50 disabled:cursor-not-allowed disabled:opacity-50 focus-visible:outline-none relative focus:z-10", l = {
45
45
  solid: "bg-muted border-transparent focus-visible:border-primary",
46
46
  outline: "border border-input focus-visible:border-primary",
47
47
  "outline-b": "border-b border-input bg-transparent rounded-none focus-visible:border-primary",
48
48
  transparent: "border-none bg-transparent shadow-none"
49
49
  }, i = {
50
- sm: "h-7.5 text-xs",
51
- md: "h-9 text-sm",
52
- lg: "h-10 text-base"
50
+ sm: "h-7.5",
51
+ md: "h-9",
52
+ lg: "h-10"
53
53
  };
54
- let l = {
54
+ let t = {
55
55
  none: "rounded-none",
56
56
  sm: "rounded-sm",
57
57
  md: "rounded-md",
@@ -60,41 +60,41 @@ const Y = ["type", "value", "placeholder", "disabled", "min", "max"], Z = { clas
60
60
  "2xl": "rounded-2xl",
61
61
  full: "rounded-full"
62
62
  }[e.rounded];
63
- g.value && (e.rounded === "md" ? l = "rounded-r-md rounded-l-none" : e.rounded === "sm" ? l = "rounded-r-sm rounded-l-none" : e.rounded === "lg" ? l = "rounded-r-lg rounded-l-none" : e.rounded === "full" ? l = "rounded-r-full rounded-l-none" : e.rounded !== "none" && (l = l.replace("rounded-", "rounded-r-").replace("rounded-l-", ""))), p.value && (g.value ? l = "rounded-none" : e.rounded === "md" ? l = "rounded-l-md rounded-r-none" : e.rounded === "sm" ? l = "rounded-l-sm rounded-r-none" : e.rounded === "lg" ? l = "rounded-l-lg rounded-r-none" : e.rounded === "full" ? l = "rounded-l-full rounded-r-none" : e.rounded !== "none" && (l = l.replace("rounded-", "rounded-l-").replace("rounded-r-", ""))), e.variant === "outline-b" && (l = "rounded-none");
63
+ g.value && (e.rounded === "md" ? t = "rounded-r-md rounded-l-none" : e.rounded === "sm" ? t = "rounded-r-sm rounded-l-none" : e.rounded === "lg" ? t = "rounded-r-lg rounded-l-none" : e.rounded === "full" ? t = "rounded-r-full rounded-l-none" : e.rounded !== "none" && (t = t.replace("rounded-", "rounded-r-").replace("rounded-l-", ""))), p.value && (g.value ? t = "rounded-none" : e.rounded === "md" ? t = "rounded-l-md rounded-r-none" : e.rounded === "sm" ? t = "rounded-l-sm rounded-r-none" : e.rounded === "lg" ? t = "rounded-l-lg rounded-r-none" : e.rounded === "full" ? t = "rounded-l-full rounded-r-none" : e.rounded !== "none" && (t = t.replace("rounded-", "rounded-l-").replace("rounded-r-", ""))), e.variant === "outline-b" && (t = "rounded-none");
64
64
  const P = e.variant === "outline-b" || e.variant === "transparent";
65
65
  return [
66
- t,
67
- o[e.variant],
66
+ o,
67
+ l[e.variant],
68
68
  i[e.size],
69
- l,
69
+ t,
70
70
  e.error ? "border-destructive focus-visible:ring-destructive" : "",
71
71
  e.icon ? "pl-9" : P && !g.value ? "pl-0" : "",
72
72
  e.showClearButton && B.value || e.type === "password" || e.loading || e.iconRight ? "pr-9" : P && !p.value ? "pr-0" : "",
73
73
  e.inputClass
74
74
  ].join(" ");
75
75
  }), R = {
76
- sm: "text-xs",
77
- md: "text-sm",
76
+ sm: "text-base",
77
+ md: "text-base",
78
78
  lg: "text-base"
79
- }, $ = (t) => {
80
- const o = t === "left";
79
+ }, $ = (o) => {
80
+ const l = o === "left";
81
81
  return [
82
82
  // Ensure height matches
83
83
  "[&_button]:w-full [&_a]:w-full! [&_.v-btn]:w-full! [&_.tooltip-trigger]:w-full",
84
84
  // Handle borders (Connect sides)
85
- o ? "[&_button]:rounded-r-none [&_a]:rounded-r-none [&_.v-btn]:rounded-r-none" : "[&_button]:rounded-l-none [&_a]:rounded-l-none [&_.v-btn]:rounded-l-none",
85
+ l ? "[&_button]:rounded-r-none [&_a]:rounded-r-none [&_.v-btn]:rounded-r-none" : "[&_button]:rounded-l-none [&_a]:rounded-l-none [&_.v-btn]:rounded-l-none",
86
86
  // Ensure focus ring appears on top
87
87
  "[&_button]:relative [&_button]:focus:z-20",
88
88
  // Merge borders (Negative margin to overlap single pixels)
89
- o ? "-mr-px" : "-ml-px",
89
+ l ? "-mr-px" : "-ml-px",
90
90
  "z-10"
91
91
  // Ensure addons sit visually above input border if needed
92
92
  ].join(" ");
93
93
  }, E = r(() => {
94
- const t = !!m["addon-left"];
94
+ const o = !!m["addon-left"];
95
95
  return [
96
96
  "flex items-center justify-center whitespace-nowrap",
97
- t ? `border-none ${$("left")}` : `bg-muted border border-input border-r-0! px-3 text-muted-foreground ${{
97
+ o ? `border-none ${$("left")}` : `bg-muted border border-input border-r-0! px-3 text-muted-foreground ${{
98
98
  sm: "rounded-l-sm",
99
99
  md: "rounded-l-md",
100
100
  lg: "rounded-l-lg",
@@ -103,15 +103,15 @@ const Y = ["type", "value", "placeholder", "disabled", "min", "max"], Z = { clas
103
103
  xl: "rounded-l-xl",
104
104
  "2xl": "rounded-l-2xl"
105
105
  }[e.rounded] || "rounded-l-md"}`,
106
- t ? "" : R[e.size],
106
+ o ? "" : R[e.size],
107
107
  e.addonLeftClass,
108
108
  e.disabled ? "opacity-50 cursor-not-allowed" : ""
109
109
  ].join(" ");
110
110
  }), D = r(() => {
111
- const t = !!m["addon-right"];
111
+ const o = !!m["addon-right"];
112
112
  return [
113
113
  "flex items-center justify-center whitespace-nowrap",
114
- t ? `border-none ${$("right")}` : `bg-muted border border-input border-l-0! px-3 text-muted-foreground ${{
114
+ o ? `border-none ${$("right")}` : `bg-muted border border-input border-l-0! px-3 text-muted-foreground ${{
115
115
  sm: "rounded-r-sm",
116
116
  md: "rounded-r-md",
117
117
  lg: "rounded-r-lg",
@@ -120,33 +120,33 @@ const Y = ["type", "value", "placeholder", "disabled", "min", "max"], Z = { clas
120
120
  xl: "rounded-r-xl",
121
121
  "2xl": "rounded-r-2xl"
122
122
  }[e.rounded] || "rounded-r-md"}`,
123
- t ? "" : R[e.size],
123
+ o ? "" : R[e.size],
124
124
  e.addonRightClass,
125
125
  e.disabled ? "opacity-50 cursor-not-allowed" : ""
126
126
  ].join(" ");
127
- }), H = (t) => {
127
+ }), H = (o) => {
128
128
  if (e.lazy) return;
129
- const o = t.target;
130
- u("update:modelValue", o.value);
131
- }, U = (t) => {
132
- const o = t.target;
133
- e.lazy && u("update:modelValue", o.value), u("change", o.value);
129
+ const l = o.target;
130
+ u("update:modelValue", l.value);
131
+ }, U = (o) => {
132
+ const l = o.target;
133
+ e.lazy && u("update:modelValue", l.value), u("change", l.value);
134
134
  }, W = () => {
135
135
  b.value = !b.value;
136
136
  }, q = () => {
137
137
  u("update:modelValue", ""), A(() => {
138
138
  y.value?.focus();
139
139
  });
140
- }, h = v(!1), w = v(!1), S = (t) => {
141
- h.value = !0, u("focus", t);
142
- }, L = (t) => {
143
- h.value = !1, u("blur", t);
140
+ }, h = v(!1), w = v(!1), S = (o) => {
141
+ h.value = !0, u("focus", o);
142
+ }, L = (o) => {
143
+ h.value = !1, u("blur", o);
144
144
  };
145
145
  return K(() => {
146
146
  e.autofocus && A(() => {
147
147
  y.value?.focus();
148
148
  });
149
- }), (t, o) => (d(), s("div", {
149
+ }), (o, l) => (d(), s("div", {
150
150
  class: a(N.value)
151
151
  }, [
152
152
  n.label ? (d(), C(Q, {
@@ -166,14 +166,14 @@ const Y = ["type", "value", "placeholder", "disabled", "min", "max"], Z = { clas
166
166
  key: 0,
167
167
  class: a(E.value)
168
168
  }, [
169
- F(t.$slots, "addon-left", {}, () => [
169
+ F(o.$slots, "addon-left", {}, () => [
170
170
  k(V(n.addonLeft), 1)
171
171
  ])
172
172
  ], 2)) : c("", !0),
173
173
  z("div", {
174
174
  class: "relative w-full",
175
- onMouseenter: o[2] || (o[2] = (i) => w.value = !0),
176
- onMouseleave: o[3] || (o[3] = (i) => w.value = !1)
175
+ onMouseenter: l[2] || (l[2] = (i) => w.value = !0),
176
+ onMouseleave: l[3] || (l[3] = (i) => w.value = !1)
177
177
  }, [
178
178
  n.type === "textarea" ? (d(), C(X, {
179
179
  key: 0,
@@ -182,7 +182,7 @@ const Y = ["type", "value", "placeholder", "disabled", "min", "max"], Z = { clas
182
182
  disabled: n.disabled,
183
183
  rows: n.rows,
184
184
  class: a(j.value),
185
- "onUpdate:modelValue": o[0] || (o[0] = (i) => u("update:modelValue", i)),
185
+ "onUpdate:modelValue": l[0] || (l[0] = (i) => u("update:modelValue", i)),
186
186
  onBlur: L,
187
187
  onFocus: S
188
188
  }, null, 8, ["model-value", "placeholder", "disabled", "rows", "class"])) : (d(), s("input", {
@@ -226,7 +226,7 @@ const Y = ["type", "value", "placeholder", "disabled", "min", "max"], Z = { clas
226
226
  "flex items-center justify-center text-muted-foreground",
227
227
  n.disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer hover:text-foreground"
228
228
  ]),
229
- onClick: o[1] || (o[1] = (i) => !n.disabled && u("click:icon-right", i))
229
+ onClick: l[1] || (l[1] = (i) => !n.disabled && u("click:icon-right", i))
230
230
  }, [
231
231
  x(f, {
232
232
  icon: n.iconRight,
@@ -263,7 +263,7 @@ const Y = ["type", "value", "placeholder", "disabled", "min", "max"], Z = { clas
263
263
  key: 1,
264
264
  class: a(D.value)
265
265
  }, [
266
- F(t.$slots, "addon-right", {}, () => [
266
+ F(o.$slots, "addon-right", {}, () => [
267
267
  k(V(n.addonRight), 1)
268
268
  ])
269
269
  ], 2)) : c("", !0)
@@ -272,5 +272,5 @@ const Y = ["type", "value", "placeholder", "disabled", "min", "max"], Z = { clas
272
272
  }
273
273
  });
274
274
  export {
275
- le as default
275
+ te as default
276
276
  };
@@ -1,16 +1,16 @@
1
- import { defineComponent as l, computed as r, openBlock as a, createElementBlock as n, normalizeClass as c, renderSlot as d } from "vue";
2
- const p = ["for"], m = /* @__PURE__ */ l({
1
+ import { defineComponent as r, computed as a, openBlock as l, createElementBlock as n, normalizeClass as c, renderSlot as d } from "vue";
2
+ const p = ["for"], u = /* @__PURE__ */ r({
3
3
  __name: "Label",
4
4
  props: {
5
5
  for: {},
6
6
  class: { default: "" }
7
7
  },
8
8
  setup(o) {
9
- const e = o, s = r(() => [
10
- "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
9
+ const e = o, s = a(() => [
10
+ "text-sm leading-none text-gray-800 peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
11
11
  e.class
12
12
  ].join(" "));
13
- return (t, f) => (a(), n("label", {
13
+ return (t, f) => (l(), n("label", {
14
14
  for: e.for,
15
15
  class: c(s.value)
16
16
  }, [
@@ -19,5 +19,5 @@ const p = ["for"], m = /* @__PURE__ */ l({
19
19
  }
20
20
  });
21
21
  export {
22
- m as default
22
+ u as default
23
23
  };
@@ -6,7 +6,7 @@ const D = {
6
6
  class: "flex-none flex flex-col space-y-1.5 pb-0 border-b border-border/90"
7
7
  }, K = { class: "text-lg font-semibold leading-none tracking-tight" }, M = {
8
8
  key: 0,
9
- class: "text-sm text-muted-foreground mb-2"
9
+ class: "text-sm text-muted-foreground mb-6.5"
10
10
  }, F = /* @__PURE__ */ w({
11
11
  inheritAttrs: !1,
12
12
  __name: "Modal",
@@ -71,13 +71,13 @@ const D = {
71
71
  onClick: k
72
72
  }, [
73
73
  r("div", {
74
- class: d(["modal-body relative w-full rounded border border-border bg-body shadow-lg text-foreground flex flex-col max-h-[85vh] sm:max-h-[90vh]", [e.maxWidth]]),
74
+ class: d(["modal-body relative w-full rounded border border-border/60 bg-body shadow-lg text-foreground flex flex-col max-h-[85vh] sm:max-h-[90vh]", [e.maxWidth]]),
75
75
  onClick: u[0] || (u[0] = b(() => {
76
76
  }, ["stop"]))
77
77
  }, [
78
78
  e.title ? (s(), a("div", D, [
79
79
  r("div", {
80
- class: d(["flex items-center justify-between py-1.5 px-4 rounded-t-md", e.headerClass])
80
+ class: d(["flex items-center justify-between py-2 px-4 rounded-t-md", e.headerClass])
81
81
  }, [
82
82
  r("h3", K, p(e.title), 1),
83
83
  v(V, {
@@ -101,7 +101,7 @@ const D = {
101
101
  ], 2),
102
102
  t.$slots.footer ? (s(), a("div", {
103
103
  key: 1,
104
- class: d([e.footerClass, "flex-none flex items-center px-4 py-3 border-t border-border/60 rounded-b-xl bg"])
104
+ class: d([e.footerClass, "flex-none flex items-center px-4 py-3 border-t border-border/75 rounded-b-xl bg"])
105
105
  }, [
106
106
  i(t.$slots, "footer", { close: o })
107
107
  ], 2)) : n("", !0)
@@ -36,7 +36,7 @@ const F = { class: "flex flex-wrap gap-1.5 items-center flex-1 min-w-0 py-0.5" }
36
36
  }, S = () => {
37
37
  s("update:modelValue", []), s("change", []);
38
38
  }, N = i(() => [
39
- "flex items-center justify-between w-full min-h-[40px] px-3 py-1.5 rounded-md border text-sm transition-colors cursor-pointer",
39
+ "flex items-center justify-between w-full px-3 py-1.5 rounded-md border text-sm transition-colors cursor-pointer",
40
40
  o.disabled ? "opacity-50 cursor-not-allowed bg-muted" : "bg-background hover:bg-gray-50/70",
41
41
  o.variant === "outline" ? "border-input" : "border-transparent bg-muted",
42
42
  u.value ? "border-primary/20" : ""
@@ -1,7 +1,7 @@
1
1
  import { ref as p } from "vue";
2
2
  const u = p({
3
3
  position: "bottom-right",
4
- duration: 4e3,
4
+ duration: 1e3,
5
5
  expand: !1,
6
6
  variant: "default"
7
7
  }), a = p([]), g = /* @__PURE__ */ new Map(), l = /* @__PURE__ */ new Map();
@@ -1,4 +1,8 @@
1
+ interface RippleElement extends HTMLElement {
2
+ _rippleHandler?: (ev: MouseEvent) => void;
3
+ }
1
4
  export declare const vRipple: {
2
- mounted(el: HTMLElement): void;
3
- unmounted(el: HTMLElement): void;
5
+ mounted(el: RippleElement): void;
6
+ unmounted(el: RippleElement): void;
4
7
  };
8
+ export {};
@@ -1,15 +1,14 @@
1
- const d = (e, n) => {
2
- const i = n.getBoundingClientRect(), c = e.clientX - i.left, p = e.clientY - i.top, t = document.createElement("span"), s = Math.max(i.width, i.height), o = s / 2;
3
- t.style.width = t.style.height = `${s}px`, t.style.left = `${c - o}px`, t.style.top = `${p - o}px`, t.classList.add("ripple");
4
- const l = document.getElementsByClassName("ripple")[0];
5
- l && l.remove(), n.appendChild(t), setTimeout(() => {
6
- t.remove();
1
+ const c = (e, i) => {
2
+ const n = i.getBoundingClientRect(), s = e.clientX - n.left, l = e.clientY - n.top, t = document.createElement("span"), p = Math.max(n.width, n.height), o = p / 2;
3
+ t.style.width = t.style.height = `${p}px`, t.style.left = `${s - o}px`, t.style.top = `${l - o}px`, t.style.position = "absolute", t.style.pointerEvents = "none", t.classList.add("ripple"), i.querySelectorAll(".ripple").forEach((r) => r.remove()), i.appendChild(t), setTimeout(() => {
4
+ t && t.parentNode && t.remove();
7
5
  }, 600);
8
6
  }, a = {
9
7
  mounted(e) {
10
- e.style.position = "relative", e.style.overflow = "hidden", e.addEventListener("click", (n) => d(n, e));
8
+ window.getComputedStyle(e).position === "static" && (e.style.position = "relative"), e.style.overflow = "hidden", e._rippleHandler = (i) => c(i, e), e.addEventListener("click", e._rippleHandler);
11
9
  },
12
10
  unmounted(e) {
11
+ e._rippleHandler && e.removeEventListener("click", e._rippleHandler), e.querySelectorAll(".ripple").forEach((n) => n.remove());
13
12
  }
14
13
  };
15
14
  export {
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "private": false,
4
4
  "description": "A Vue 3 UI component library built with Tailwind CSS.",
5
5
  "license": "MIT",
6
- "version": "0.2.13",
6
+ "version": "0.2.14",
7
7
  "type": "module",
8
8
  "main": "index.js",
9
9
  "module": "index.js",
package/style.css CHANGED
@@ -80,13 +80,16 @@
80
80
  --animate-ripple: ripple 600ms linear;
81
81
 
82
82
  --text--fs-1: 0.95em;
83
- --text--fs-2: 0.8em;
83
+ --text--fs-1.5: 0.91em;
84
+ --text--fs-2: 0.85em;
85
+ --text--fs-2.5: 0.8em;
84
86
  --text--fs-3: 0.75em;
85
- --text--fs-4: 0.7em;
86
- --text--fs-5: 0.65em;
87
- --text--fs-6: 0.6em;
88
- --text--fs-7: 0.55em;
89
- --text--fs-8: 0.5em;
87
+ --text--fs-3.5: 0.7em;
88
+ --text--fs-4: 0.65em;
89
+ --text--fs-5: 0.6em;
90
+ --text--fs-6: 0.55em;
91
+ --text--fs-7: 0.5em;
92
+ --text--fs-8: 0.45em;
90
93
  --text-fs-0.5: 1em;
91
94
  --text-fs-1: 1.03030303em;
92
95
  --text-fs-1.5: 1.06060606em;
@@ -107,6 +110,42 @@
107
110
  --text-fs-9: 1.93939394em;
108
111
  --text-fs-9.5: 2em;
109
112
  --text-fs-10: 2.06060606em;
113
+ --text-fs-10.5: 2.1;
114
+ --text-fs-11: 2.15;
115
+ --text-fs-11.5: 2.2;
116
+ --text-fs-12: 2.25;
117
+ --text-fs-12.5: 2.3;
118
+ --text-fs-13: 2.35;
119
+ --text-fs-13.5: 2.4;
120
+ --text-fs-14: 2.45;
121
+ --text-fs-14.5: 2.5;
122
+ --text-fs-15: 2.55;
123
+ --text-fs-15.5: 2.6;
124
+ --text-fs-16: 2.65;
125
+ --text-fs-16.5: 2.7;
126
+ --text-fs-17: 2.75;
127
+ --text-fs-17.5: 2.8;
128
+ --text-fs-18: 2.85;
129
+ --text-fs-18.5: 2.9;
130
+ --text-fs-19: 2.95;
131
+ --text-fs-19.5: 3;
132
+ --text-fs-20: 3.05;
133
+
134
+ --spacing: 0.25em;
135
+
136
+ --text-xs: 0.75em;
137
+ --text-sm: 0.875em;
138
+ --text-base: 1em;
139
+ --text-md2: 1.1em;
140
+ --text-lg: 1.125em;
141
+ --text-lg2: 1.2em;
142
+ --text-xl: 1.25em;
143
+ --text-xl2: 1.3em;
144
+ --text-2xl: 1.5em;
145
+ --text-3xl: 1.875em;
146
+ --text-4xl: 2.25em;
147
+ --text-5xl: 3em;
148
+ --text-6xl: 3.75em;
110
149
  }
111
150
  }
112
151
 
@@ -322,8 +361,8 @@
322
361
 
323
362
  .dark .modal-body,
324
363
  .dark .sidepanel-body {
325
- --color-white: #141414 !important;
326
- --color-mixture-1: #151515 !important;
364
+ --color-white: #101010 !important;
365
+ --color-mixture-1: #161616 !important;
327
366
  --color-mixture-2: #ffffff !important;
328
367
  --color-input: color-mix(in oklab, var(--color-mixture-1) 92%, var(--color-mixture-2));
329
368
  }
@@ -453,9 +492,9 @@ html {
453
492
  position: absolute;
454
493
  border-radius: 50%;
455
494
  transform: scale(0);
456
- animation: ripple 600ms linear;
495
+ animation: ripple 600ms linear forwards;
457
496
  background-color: rgba(255, 255, 255, 0.094);
458
- pointer-events: none;
497
+ pointer-events: none !important;
459
498
  }
460
499
 
461
500
  *,
@@ -619,6 +658,7 @@ html {
619
658
  padding-right: 10px !important;
620
659
  }
621
660
 
661
+
622
662
  /* --- input.css --- */
623
663
  input[type='number']::-webkit-inner-spin-button,
624
664
  input[type='number']::-webkit-outer-spin-button {
@@ -683,5 +723,5 @@ textarea::-webkit-scrollbar-thumb {
683
723
  }
684
724
 
685
725
  /* --- Vite Generated CSS --- */
686
- .accordion-enter-active[data-v-aa189e08],.accordion-leave-active[data-v-aa189e08]{transition:height .3s ease-in-out}.attached-group[data-v-8c9add3e]:not(.vertical-group) button{border-radius:0}.attached-group[data-v-8c9add3e] button{position:relative;--radius: .375rem}.attached-group[data-v-8c9add3e] button:focus-visible,.attached-group[data-v-8c9add3e] button:hover{z-index:10}.attached-group[data-v-8c9add3e]:not(.vertical-group) button:not(:first-child){margin-left:-1px}.attached-group[data-v-8c9add3e]:not(.vertical-group) button:first-child{border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius);border-top-right-radius:0;border-bottom-right-radius:0}.attached-group[data-v-8c9add3e]:not(.vertical-group) button:not(:first-child):not(:last-child){border-radius:0}.attached-group[data-v-8c9add3e]:not(.vertical-group) button:last-child{border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius);border-top-left-radius:0;border-bottom-left-radius:0}.vertical-group[data-v-8c9add3e] button:not(:first-child){margin-top:-1px}.vertical-group[data-v-8c9add3e] button:first-child{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);border-bottom-left-radius:0;border-bottom-right-radius:0}.vertical-group[data-v-8c9add3e] button:not(:first-child):not(:last-child){border-radius:0}.vertical-group[data-v-8c9add3e] button:last-child{border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius);border-top-left-radius:0;border-top-right-radius:0}.attached-group[data-v-8c9add3e]:not(.vertical-group) button:not(:first-child):not(.border):before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background-color:currentColor;opacity:.15;z-index:5;pointer-events:none}.vertical-group[data-v-8c9add3e] button:not(:first-child):not(.border):before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background-color:currentColor;opacity:.15;z-index:5;pointer-events:none;width:auto}.vertical-group[data-v-8c9add3e] button:not(:first-child):not(.border):before{width:100%}.attached-group[data-v-8c9add3e]:not(.vertical-group) button:not(:first-child):not(.border):before{height:100%}.carousel-wrapper[data-v-655a78c8]{width:100%;position:relative}.IroBox{border-radius:8px!important}input[data-v-e7171c4f]::-webkit-outer-spin-button,input[data-v-e7171c4f]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}input[type=number][data-v-e7171c4f]{-moz-appearance:textfield;appearance:textfield}.custom-fields-table[data-v-ce6a94e8] .form-field-item{margin-bottom:0!important;height:100%}.custom-fields-table[data-v-ce6a94e8] input,.custom-fields-table[data-v-ce6a94e8] textarea{padding-left:1em;padding-right:.5em}.custom-fields-table[data-v-ce6a94e8] input,.custom-fields-table[data-v-ce6a94e8] textarea,.custom-fields-table[data-v-ce6a94e8] select,.custom-fields-table[data-v-ce6a94e8] .input-wrapper,.custom-fields-table[data-v-ce6a94e8] .tooltip-trigger button{border:none!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;height:100%!important;min-height:40px}.custom-fields-table[data-v-ce6a94e8] .tooltip-trigger button{justify-content:space-between!important}.custom-fields-table[data-v-ce6a94e8] input:focus,.custom-fields-table[data-v-ce6a94e8] textarea:focus,.custom-fields-table[data-v-ce6a94e8] select:focus,.custom-fields-table[data-v-ce6a94e8] .input-wrapper:focus-within{background-color:hsla(var(--primary) / .03)!important;box-shadow:inset 0 0 0 2px hsla(var(--primary) / .1)!important}.custom-fields-table[data-v-ce6a94e8] .w-full{width:100%;height:100%}.list-enter-active[data-v-ce6a94e8]{transition:all .15s cubic-bezier(.16,1,.3,1)}.list-enter-from[data-v-ce6a94e8]{opacity:0;transform:translateY(-5px)}.form-field-item[data-v-47af145c]{display:flex;flex-direction:column}.form-field-item[data-v-47af145c]:has([role=switch]),.form-field-item[data-v-47af145c]:has([role=checkbox]){flex-direction:row;align-items:center}.form-container[data-v-67eb0c47]{width:100%}.heatmap-container[data-v-00476f00]{width:100%;height:100%;display:flex;flex-direction:column;min-height:0}.heatmap-wrapper[data-v-00476f00]{width:100%;height:100%;overflow:auto;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;position:relative}.heatmap-grid[data-v-00476f00]{width:fit-content;height:fit-content;transition:all .2s ease-in-out}.heatmap-cell[data-v-00476f00]{aspect-ratio:1 / 1;border-radius:2px;transition:all .15s ease-in-out;border:1px solid transparent;box-sizing:border-box}.heatmap-cell-interactive[data-v-00476f00]{cursor:pointer}.heatmap-cell-interactive[data-v-00476f00]:hover{transform:scale(1.1);border-color:var(--border);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;z-index:10;position:relative}.heatmap-cell-empty[data-v-00476f00]{opacity:.6}.heatmap-cell-hovered[data-v-00476f00]{outline:2px solid var(--primary);outline-offset:1px}.heatmap-cell-label[data-v-00476f00]{font-size:8px;font-weight:500;color:var(--foreground);opacity:.8;display:flex;align-items:center;justify-content:center;height:100%;width:100%;pointer-events:none}.heatmap-legend[data-v-00476f00]{display:flex;align-items:center;gap:.5rem;margin-top:1rem;font-size:.75rem;color:var(--muted-foreground);flex-shrink:0}.heatmap-legend-label[data-v-00476f00]{font-weight:500}.heatmap-legend-colors[data-v-00476f00]{display:flex;gap:.125rem}.heatmap-legend-item[data-v-00476f00]{width:.75rem;height:.75rem;border-radius:.375rem;border:1px solid var(--border)}@media(max-width:640px){.heatmap-wrapper[data-v-00476f00]{padding:12px}.heatmap-cell[data-v-00476f00]{border-radius:2px}.heatmap-cell-label[data-v-00476f00]{font-size:7px}}@media(min-width:641px)and (max-width:1023px){.heatmap-wrapper[data-v-00476f00]{padding:14px}.heatmap-cell[data-v-00476f00]{border-radius:2px}}@media(min-width:1024px){.heatmap-wrapper[data-v-00476f00]{padding:16px}.heatmap-cell[data-v-00476f00]{border-radius:3px}}.custom-scrollbar[data-v-9ac38977]::-webkit-scrollbar{width:0px}.custom-scrollbar[data-v-9ac38977]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar[data-v-9ac38977]::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:10px}.custom-scrollbar-x[data-v-11bc76c9]::-webkit-scrollbar{height:8px}.custom-scrollbar-x[data-v-11bc76c9]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar-x[data-v-11bc76c9]::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:10px}.masonry-item[data-v-c29d0159]{content-visibility:auto;contain-intrinsic-size:1px 200px}.slide-right-enter-active[data-v-495f8aa0],.slide-right-leave-active[data-v-495f8aa0],.slide-left-enter-active[data-v-495f8aa0],.slide-left-leave-active[data-v-495f8aa0]{transition:transform .3s ease-in-out}.slide-right-enter-from[data-v-495f8aa0],.slide-right-leave-to[data-v-495f8aa0]{transform:translate(100%)}.slide-left-enter-from[data-v-495f8aa0],.slide-left-leave-to[data-v-495f8aa0]{transform:translate(-100%)}.sidebar-manu-item .tooltip-trigger{width:100%!important}.sidebar-menu-tooltip{margin-left:4px!important}[dir=rtl] .sidebar-menu-tooltip{margin-right:4px!important}.first-toast-enter-active[data-v-6b631840]{animation:first-toast-in-6b631840 .45s cubic-bezier(.23,1,.32,1) forwards}.first-toast-leave-active[data-v-6b631840]{transition:all .25s ease-in}.first-toast-leave-to[data-v-6b631840]{opacity:0;transform:scale(.98)}@keyframes first-toast-in-6b631840{0%{opacity:var(--entrance-opacity, .6);transform:translateY(var(--entrance-offset, 25px)) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.stack-toast-enter-active[data-v-6b631840],.stack-toast-leave-active[data-v-6b631840]{transition:all .3s cubic-bezier(.16,1,.3,1)}.stack-toast-enter-from[data-v-6b631840]{opacity:0;transform:scale(.95) translateY(10px)}.stack-toast-leave-to[data-v-6b631840]{opacity:0;transform:scale(.95)}.stack-toast-move[data-v-6b631840]{transition:transform .4s cubic-bezier(.16,1,.3,1)}.bg-stripe[data-v-454a1505]{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.animate-progress-stripe[data-v-454a1505]{animation:progress-stripe-454a1505 1s linear infinite}@keyframes progress-stripe-454a1505{0%{background-position:1rem 0}to{background-position:0 0}}.animate-progress-indeterminate[data-v-454a1505]{animation:progress-indeterminate-454a1505 1.5s infinite cubic-bezier(.65,.815,.735,.395)}@keyframes progress-indeterminate-454a1505{0%{transform:translate(-100%) scaleX(.2)}50%{transform:translate(0) scaleX(.5)}to{transform:translate(100%) scaleX(.2)}}
726
+ .accordion-enter-active[data-v-aa189e08],.accordion-leave-active[data-v-aa189e08]{transition:height .3s ease-in-out}.attached-group[data-v-8c9add3e]:not(.vertical-group) button{border-radius:0}.attached-group[data-v-8c9add3e] button{position:relative;--radius: .375rem}.attached-group[data-v-8c9add3e] button:focus-visible,.attached-group[data-v-8c9add3e] button:hover{z-index:10}.attached-group[data-v-8c9add3e]:not(.vertical-group) button:not(:first-child){margin-left:-1px}.attached-group[data-v-8c9add3e]:not(.vertical-group) button:first-child{border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius);border-top-right-radius:0;border-bottom-right-radius:0}.attached-group[data-v-8c9add3e]:not(.vertical-group) button:not(:first-child):not(:last-child){border-radius:0}.attached-group[data-v-8c9add3e]:not(.vertical-group) button:last-child{border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius);border-top-left-radius:0;border-bottom-left-radius:0}.vertical-group[data-v-8c9add3e] button:not(:first-child){margin-top:-1px}.vertical-group[data-v-8c9add3e] button:first-child{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);border-bottom-left-radius:0;border-bottom-right-radius:0}.vertical-group[data-v-8c9add3e] button:not(:first-child):not(:last-child){border-radius:0}.vertical-group[data-v-8c9add3e] button:last-child{border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius);border-top-left-radius:0;border-top-right-radius:0}.attached-group[data-v-8c9add3e]:not(.vertical-group) button:not(:first-child):not(.border):before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background-color:currentColor;opacity:.15;z-index:5;pointer-events:none}.vertical-group[data-v-8c9add3e] button:not(:first-child):not(.border):before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background-color:currentColor;opacity:.15;z-index:5;pointer-events:none;width:auto}.vertical-group[data-v-8c9add3e] button:not(:first-child):not(.border):before{width:100%}.attached-group[data-v-8c9add3e]:not(.vertical-group) button:not(:first-child):not(.border):before{height:100%}.carousel-wrapper[data-v-655a78c8]{width:100%;position:relative}.IroBox{border-radius:8px!important}input[data-v-e7171c4f]::-webkit-outer-spin-button,input[data-v-e7171c4f]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}input[type=number][data-v-e7171c4f]{-moz-appearance:textfield;appearance:textfield}.custom-fields-table[data-v-ce6a94e8] .form-field-item{margin-bottom:0!important;height:100%}.custom-fields-table[data-v-ce6a94e8] input,.custom-fields-table[data-v-ce6a94e8] textarea{padding-left:1em;padding-right:.5em}.custom-fields-table[data-v-ce6a94e8] input,.custom-fields-table[data-v-ce6a94e8] textarea,.custom-fields-table[data-v-ce6a94e8] select,.custom-fields-table[data-v-ce6a94e8] .input-wrapper,.custom-fields-table[data-v-ce6a94e8] .tooltip-trigger button{border:none!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;height:100%!important;min-height:40px}.custom-fields-table[data-v-ce6a94e8] .tooltip-trigger button{justify-content:space-between!important}.custom-fields-table[data-v-ce6a94e8] input:focus,.custom-fields-table[data-v-ce6a94e8] textarea:focus,.custom-fields-table[data-v-ce6a94e8] select:focus,.custom-fields-table[data-v-ce6a94e8] .input-wrapper:focus-within{background-color:hsla(var(--primary) / .03)!important;box-shadow:inset 0 0 0 2px hsla(var(--primary) / .1)!important}.custom-fields-table[data-v-ce6a94e8] .w-full{width:100%;height:100%}.list-enter-active[data-v-ce6a94e8]{transition:all .15s cubic-bezier(.16,1,.3,1)}.list-enter-from[data-v-ce6a94e8]{opacity:0;transform:translateY(-5px)}.form-field-item[data-v-47af145c]{display:flex;flex-direction:column}.form-field-item[data-v-47af145c]:has([role=switch]),.form-field-item[data-v-47af145c]:has([role=checkbox]){flex-direction:row;align-items:center}.form-container[data-v-5766d177]{width:100%}.heatmap-container[data-v-00476f00]{width:100%;height:100%;display:flex;flex-direction:column;min-height:0}.heatmap-wrapper[data-v-00476f00]{width:100%;height:100%;overflow:auto;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;position:relative}.heatmap-grid[data-v-00476f00]{width:fit-content;height:fit-content;transition:all .2s ease-in-out}.heatmap-cell[data-v-00476f00]{aspect-ratio:1 / 1;border-radius:2px;transition:all .15s ease-in-out;border:1px solid transparent;box-sizing:border-box}.heatmap-cell-interactive[data-v-00476f00]{cursor:pointer}.heatmap-cell-interactive[data-v-00476f00]:hover{transform:scale(1.1);border-color:var(--border);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;z-index:10;position:relative}.heatmap-cell-empty[data-v-00476f00]{opacity:.6}.heatmap-cell-hovered[data-v-00476f00]{outline:2px solid var(--primary);outline-offset:1px}.heatmap-cell-label[data-v-00476f00]{font-size:8px;font-weight:500;color:var(--foreground);opacity:.8;display:flex;align-items:center;justify-content:center;height:100%;width:100%;pointer-events:none}.heatmap-legend[data-v-00476f00]{display:flex;align-items:center;gap:.5rem;margin-top:1rem;font-size:.75rem;color:var(--muted-foreground);flex-shrink:0}.heatmap-legend-label[data-v-00476f00]{font-weight:500}.heatmap-legend-colors[data-v-00476f00]{display:flex;gap:.125rem}.heatmap-legend-item[data-v-00476f00]{width:.75rem;height:.75rem;border-radius:.375rem;border:1px solid var(--border)}@media(max-width:640px){.heatmap-wrapper[data-v-00476f00]{padding:12px}.heatmap-cell[data-v-00476f00]{border-radius:2px}.heatmap-cell-label[data-v-00476f00]{font-size:7px}}@media(min-width:641px)and (max-width:1023px){.heatmap-wrapper[data-v-00476f00]{padding:14px}.heatmap-cell[data-v-00476f00]{border-radius:2px}}@media(min-width:1024px){.heatmap-wrapper[data-v-00476f00]{padding:16px}.heatmap-cell[data-v-00476f00]{border-radius:3px}}.custom-scrollbar[data-v-9ac38977]::-webkit-scrollbar{width:0px}.custom-scrollbar[data-v-9ac38977]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar[data-v-9ac38977]::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:10px}.custom-scrollbar-x[data-v-11bc76c9]::-webkit-scrollbar{height:8px}.custom-scrollbar-x[data-v-11bc76c9]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar-x[data-v-11bc76c9]::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:10px}.masonry-item[data-v-c29d0159]{content-visibility:auto;contain-intrinsic-size:1px 200px}.slide-right-enter-active[data-v-495f8aa0],.slide-right-leave-active[data-v-495f8aa0],.slide-left-enter-active[data-v-495f8aa0],.slide-left-leave-active[data-v-495f8aa0]{transition:transform .3s ease-in-out}.slide-right-enter-from[data-v-495f8aa0],.slide-right-leave-to[data-v-495f8aa0]{transform:translate(100%)}.slide-left-enter-from[data-v-495f8aa0],.slide-left-leave-to[data-v-495f8aa0]{transform:translate(-100%)}.sidebar-manu-item .tooltip-trigger{width:100%!important}.sidebar-menu-tooltip{margin-left:4px!important}[dir=rtl] .sidebar-menu-tooltip{margin-right:4px!important}.first-toast-enter-active[data-v-6b631840]{animation:first-toast-in-6b631840 .45s cubic-bezier(.23,1,.32,1) forwards}.first-toast-leave-active[data-v-6b631840]{transition:all .25s ease-in}.first-toast-leave-to[data-v-6b631840]{opacity:0;transform:scale(.98)}@keyframes first-toast-in-6b631840{0%{opacity:var(--entrance-opacity, .6);transform:translateY(var(--entrance-offset, 25px)) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.stack-toast-enter-active[data-v-6b631840],.stack-toast-leave-active[data-v-6b631840]{transition:all .3s cubic-bezier(.16,1,.3,1)}.stack-toast-enter-from[data-v-6b631840]{opacity:0;transform:scale(.95) translateY(10px)}.stack-toast-leave-to[data-v-6b631840]{opacity:0;transform:scale(.95)}.stack-toast-move[data-v-6b631840]{transition:transform .4s cubic-bezier(.16,1,.3,1)}.bg-stripe[data-v-454a1505]{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.animate-progress-stripe[data-v-454a1505]{animation:progress-stripe-454a1505 1s linear infinite}@keyframes progress-stripe-454a1505{0%{background-position:1rem 0}to{background-position:0 0}}.animate-progress-indeterminate[data-v-454a1505]{animation:progress-indeterminate-454a1505 1.5s infinite cubic-bezier(.65,.815,.735,.395)}@keyframes progress-indeterminate-454a1505{0%{transform:translate(-100%) scaleX(.2)}50%{transform:translate(0) scaleX(.5)}to{transform:translate(100%) scaleX(.2)}}
687
727