vlite3 1.3.1 → 1.3.2

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.
package/README.md CHANGED
@@ -482,6 +482,7 @@ Follow these rules strictly to ensure visual consistency and predictable styling
482
482
  - [x] **SidePanel**
483
483
  - [x] **Splitter**
484
484
  - [x] **Skeleton**
485
+ - [x] **FadeOverlay**
485
486
 
486
487
  ### Utilities & Tools
487
488
 
@@ -1,4 +1,10 @@
1
1
  import { PropType } from 'vue';
2
+ export interface AddNewConfig {
3
+ component: any;
4
+ props?: Record<string, any>;
5
+ label?: string;
6
+ labelI18n?: string;
7
+ }
2
8
  export interface SelectOption<T = unknown> {
3
9
  label: string;
4
10
  value: string | number;
@@ -50,6 +56,9 @@ export declare const createAsyncSelect: <T extends {
50
56
  optionsMapper: {
51
57
  type: PropType<OptionsMapper<T>>;
52
58
  };
59
+ addNewConfig: {
60
+ type: PropType<AddNewConfig>;
61
+ };
53
62
  }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("onChange" | "change" | "update:modelValue")[], "onChange" | "change" | "update:modelValue", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
54
63
  value: {
55
64
  type: (ObjectConstructor | ArrayConstructor | BooleanConstructor | NumberConstructor | StringConstructor)[];
@@ -76,6 +85,9 @@ export declare const createAsyncSelect: <T extends {
76
85
  optionsMapper: {
77
86
  type: PropType<OptionsMapper<T>>;
78
87
  };
88
+ addNewConfig: {
89
+ type: PropType<AddNewConfig>;
90
+ };
79
91
  }>> & Readonly<{
80
92
  onChange?: (...args: any[]) => any;
81
93
  "onUpdate:modelValue"?: (...args: any[]) => any;
@@ -1,11 +1,16 @@
1
- import { defineComponent as q, ref as m, computed as s, watch as _, createVNode as w, mergeProps as I, nextTick as j } from "vue";
2
- import k from "../Dropdown/Dropdown.vue.js";
1
+ import { defineComponent as P, ref as m, computed as i, watch as k, createVNode as s, mergeProps as S, nextTick as q, isVNode as $ } from "vue";
2
+ import z from "../Dropdown/Dropdown.vue.js";
3
3
  import "@iconify/vue";
4
4
  import "../../core/config.js";
5
5
  /* empty css */
6
6
  /* empty css */
7
- import x from "../MultiSelect/MultiSelect.vue.js";
8
- const z = (t) => /* @__PURE__ */ q({
7
+ import F from "../Button.vue.js";
8
+ import H from "../MultiSelect/MultiSelect.vue.js";
9
+ import L from "../Modal.vue.js";
10
+ function V(t) {
11
+ return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !$(t);
12
+ }
13
+ const X = (t) => /* @__PURE__ */ P({
9
14
  name: t.name,
10
15
  inheritAttrs: !1,
11
16
  props: {
@@ -33,124 +38,149 @@ const z = (t) => /* @__PURE__ */ q({
33
38
  },
34
39
  optionsMapper: {
35
40
  type: Function
41
+ },
42
+ addNewConfig: {
43
+ type: Object
36
44
  }
37
45
  },
38
46
  emits: ["onChange", "update:modelValue", "change"],
39
47
  setup(l, {
40
- attrs: M,
41
- emit: c
48
+ attrs: I,
49
+ emit: y
42
50
  }) {
43
- const i = m([]), d = m(1), f = m(""), N = 20, h = s(() => l.value !== void 0 ? l.value : l.modelValue), v = s(() => l.optionsMapper || t.optionsMapper), B = s(() => ({
51
+ const d = m([]), c = m(1), b = m(""), M = 20, h = i(() => l.value !== void 0 ? l.value : l.modelValue), v = i(() => l.optionsMapper || t.optionsMapper), j = i(() => ({
44
52
  pagination: {
45
- page: d.value,
46
- limit: N
53
+ page: c.value,
54
+ limit: M
47
55
  },
48
- search: f.value || void 0,
56
+ search: b.value || void 0,
49
57
  filter: {
50
58
  ...l.filter
51
59
  }
52
60
  })), {
53
- result: b,
54
- loading: K,
55
- refetch: g
56
- } = t.useQuery(B, {
61
+ result: g,
62
+ loading: w,
63
+ refetch: N
64
+ } = t.useQuery(j, {
57
65
  notifyOnNetworkStatusChange: !0,
58
66
  fetchPolicy: "cache-and-network"
59
- }), A = s(() => {
60
- const e = b.value?.[t.queryName]?.pageInfo;
67
+ }), A = i(() => {
68
+ const e = g.value?.[t.queryName]?.pageInfo;
61
69
  return e ? e.currentPage < e.totalPages : !1;
62
70
  });
63
- _(() => b.value?.[t.queryName], (e) => {
71
+ k(() => g.value?.[t.queryName], (e) => {
64
72
  if (!e) return;
65
73
  const n = Array.isArray(e) ? e : e.items;
66
74
  if (n)
67
- if (d.value === 1)
68
- i.value = [...n];
75
+ if (c.value === 1)
76
+ d.value = [...n];
69
77
  else {
70
- const u = new Set(i.value.map((a) => a.id)), r = n.filter((a) => !u.has(a.id));
71
- i.value.push(...r);
78
+ const r = new Set(d.value.map((a) => a.id)), o = n.filter((a) => !r.has(a.id));
79
+ d.value.push(...o);
72
80
  }
73
81
  }, {
74
82
  immediate: !0
75
83
  });
76
- const S = (e) => {
84
+ const C = (e) => {
77
85
  if (v.value)
78
86
  return v.value(e);
79
- const n = typeof t.labelKey == "function" ? t.labelKey(e) : e[t.labelKey || "name"], u = typeof t.subtitleKey == "function" ? t.subtitleKey(e) : e[t.subtitleKey || ""], r = typeof t.descriptionKey == "function" ? t.descriptionKey(e) : e[t.descriptionKey || ""], a = t.iconKey ? typeof t.iconKey == "function" ? t.iconKey(e) : e[t.iconKey] : void 0;
87
+ const n = typeof t.labelKey == "function" ? t.labelKey(e) : e[t.labelKey || "name"], r = typeof t.subtitleKey == "function" ? t.subtitleKey(e) : e[t.subtitleKey || ""], o = typeof t.descriptionKey == "function" ? t.descriptionKey(e) : e[t.descriptionKey || ""], a = t.iconKey ? typeof t.iconKey == "function" ? t.iconKey(e) : e[t.iconKey] : void 0;
80
88
  return {
81
89
  label: n,
82
- subtitle: u || void 0,
83
- description: r || void 0,
90
+ subtitle: r || void 0,
91
+ description: o || void 0,
84
92
  value: e[t.valueKey || "id"],
85
93
  icon: a || void 0,
86
94
  data: e
87
95
  };
88
- }, p = s(() => i.value.map(S).filter(Boolean)), y = (e, n) => {
89
- let u = n;
90
- l.multiple && Array.isArray(e) && (u = e.map((a) => {
91
- const o = p.value.find((V) => V.value === a);
92
- return o ? o.data : null;
96
+ }, f = i(() => d.value.map(C).filter(Boolean)), p = (e, n) => {
97
+ let r = n;
98
+ l.multiple && Array.isArray(e) && (r = e.map((a) => {
99
+ const u = f.value.find((K) => K.value === a);
100
+ return u ? u.data : null;
93
101
  }).filter(Boolean));
94
- const r = {
102
+ const o = {
95
103
  value: e,
96
- data: u
104
+ data: r
97
105
  };
98
- c("update:modelValue", e), c("change", r), c("onChange", r);
99
- }, C = (e) => {
100
- f.value = e, d.value = 1;
101
- }, O = () => {
102
- !A.value || K.value || d.value++;
103
- }, P = async (e) => {
106
+ y("update:modelValue", e), y("change", o), y("onChange", o);
107
+ }, O = (e) => {
108
+ b.value = e, c.value = 1;
109
+ }, x = () => {
110
+ !A.value || w.value || c.value++;
111
+ }, B = async (e) => {
104
112
  const n = (Array.isArray(e) ? e : [e]).filter((a) => (typeof a == "string" || typeof a == "number") && a !== "");
105
113
  if (n.length === 0) return [];
106
- await j();
107
- const u = new Set(p.value.map((a) => a.value)), r = n.filter((a) => !u.has(a));
108
- if (r.length === 0) return [];
114
+ await q();
115
+ const r = new Set(f.value.map((a) => a.value)), o = n.filter((a) => !r.has(a));
116
+ if (o.length === 0) return [];
109
117
  try {
110
118
  const {
111
119
  data: a
112
- } = await g({
120
+ } = await N({
113
121
  pagination: {
114
122
  page: 1,
115
- limit: r.length
123
+ limit: o.length
116
124
  },
117
125
  filter: {
118
126
  ...l.filter,
119
- ids: r
127
+ ids: o
120
128
  }
121
- }), o = a?.[t.queryName];
122
- return (Array.isArray(o) ? o : o?.items || []).map(S).filter(Boolean);
129
+ }), u = a?.[t.queryName];
130
+ return (Array.isArray(u) ? u : u?.items || []).map(C).filter(Boolean);
123
131
  } catch (a) {
124
132
  return console.error(`[${t.name}] Hydration failed`, a), [];
125
133
  }
126
- };
134
+ }, _ = () => l.addNewConfig ? s("div", {
135
+ class: "px-1 pb-1 pt-1 mt-1 border-t border-border bg-body sticky bottom-0 z-10"
136
+ }, [s(L, {
137
+ title: l.addNewConfig.label || "Add New",
138
+ titleI18n: l.addNewConfig.labelI18n,
139
+ body: l.addNewConfig.component,
140
+ bodyProps: l.addNewConfig.props,
141
+ onClose: () => {
142
+ N();
143
+ }
144
+ }, {
145
+ trigger: () => s(F, {
146
+ class: "w-full justify-start text-primary hover:text-primary hover:bg-primary/10",
147
+ variant: "ghost",
148
+ size: "sm",
149
+ icon: "lucide:plus",
150
+ text: l.addNewConfig.label || "Add New"
151
+ }, null)
152
+ })]) : null;
127
153
  return () => {
128
154
  const e = {
129
- options: p.value,
130
- loading: K.value,
155
+ options: f.value,
156
+ loading: w.value,
131
157
  searchable: t.searchable ?? !0,
132
158
  remote: t.remote ?? !0,
133
159
  hasMore: A.value,
134
160
  placeholder: l.placeholder,
135
161
  disabled: l.disabled,
136
- fetchSelected: P,
137
- onSearch: C,
138
- onLoadMore: O,
139
- ...M
140
- };
141
- return l.multiple ? w(x, I(e, {
162
+ fetchSelected: B,
163
+ onSearch: O,
164
+ onLoadMore: x,
165
+ ...I
166
+ }, n = {};
167
+ return l.addNewConfig && (n.footer = () => _()), l.multiple ? s(H, S(e, {
142
168
  modelValue: h.value,
143
- "onUpdate:modelValue": (n) => y(n),
144
- onChange: (n) => y(n)
145
- }), null) : w(k, I(e, {
169
+ "onUpdate:modelValue": (r) => p(r),
170
+ onChange: (r) => p(r)
171
+ }), V(n) ? n : {
172
+ default: () => [n]
173
+ }) : s(z, S(e, {
146
174
  showSelectedIcon: !0,
147
175
  emptyMessage: "Data not found",
148
176
  modelValue: h.value,
149
- onOnSelect: (n) => y(n.value, n.data)
150
- }), null);
177
+ onOnSelect: (r) => p(r.value, r.data)
178
+ }), V(n) ? n : {
179
+ default: () => [n]
180
+ });
151
181
  };
152
182
  }
153
183
  });
154
184
  export {
155
- z as createAsyncSelect
185
+ X as createAsyncSelect
156
186
  };
@@ -16,7 +16,7 @@ import "v-datepicker-lite";
16
16
  import "v-datepicker-lite/style.css";
17
17
  import "@jaames/iro";
18
18
  import "@vueuse/core";
19
- /* empty css */
19
+ /* empty css */
20
20
  import Ue from "../IconPicker.vue.js";
21
21
  /* empty css */
22
22
  /* empty css */
@@ -1,5 +1,5 @@
1
- import o from "./ColorIro.vue2.js";
2
- /* empty css */
1
+ import o from "./ColorIro.vue.js";
2
+ /* empty css */
3
3
  export {
4
4
  o as default
5
5
  };
@@ -6,8 +6,8 @@ import O from "../Input.vue.js";
6
6
  import "../../core/config.js";
7
7
  /* empty css */
8
8
  import y from "../Button.vue.js";
9
- import E from "./ColorIro.vue2.js";
10
- /* empty css */
9
+ import E from "./ColorIro.vue.js";
10
+ /* empty css */
11
11
  import { useEyeDropper as P } from "@vueuse/core";
12
12
  const I = {
13
13
  key: 0,
@@ -1,7 +1,7 @@
1
1
  import o from "./DropdownMenu.vue2.js";
2
2
  /* empty css */
3
3
  import r from "../../_virtual/_plugin-vue_export-helper.js";
4
- const m = /* @__PURE__ */ r(o, [["__scopeId", "data-v-5cf38b33"]]);
4
+ const m = /* @__PURE__ */ r(o, [["__scopeId", "data-v-b8c520f0"]]);
5
5
  export {
6
6
  m as default
7
7
  };
@@ -26,7 +26,7 @@ const ve = ["dir"], ye = {
26
26
  class: "flex justify-center py-2"
27
27
  }, Oe = {
28
28
  key: 3,
29
- class: "shrink-0"
29
+ class: "shrink-0 rounded-b-md overflow-hidden"
30
30
  }, De = /* @__PURE__ */ ee({
31
31
  __name: "DropdownMenu",
32
32
  props: {
@@ -3,8 +3,8 @@ export interface NumberInputProps {
3
3
  min?: number;
4
4
  max?: number;
5
5
  step?: number;
6
- layout?: 'split' | 'stacked';
7
- variant?: 'solid' | 'outline' | 'transparent';
6
+ variant?: 'split' | 'stacked';
7
+ mode?: 'solid' | 'outline' | 'ghost';
8
8
  size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
9
9
  disabled?: boolean;
10
10
  placeholder?: string;
@@ -24,12 +24,12 @@ declare const _default: import('vue').DefineComponent<NumberInputProps, {}, {},
24
24
  onChange?: (value: number) => any;
25
25
  "onUpdate:modelValue"?: (value: number) => any;
26
26
  }>, {
27
- variant: "solid" | "outline" | "transparent";
27
+ mode: "solid" | "outline" | "ghost";
28
+ variant: "split" | "stacked";
28
29
  size: "xs" | "sm" | "md" | "lg" | "xl";
29
30
  rounded: "none" | "sm" | "md" | "lg" | "xl" | "2xl" | "full";
30
31
  readonly: boolean;
31
32
  disabled: boolean;
32
- layout: "split" | "stacked";
33
33
  modelValue: number;
34
34
  step: number;
35
35
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
@@ -1,7 +1,7 @@
1
1
  import o from "./NumberInput.vue2.js";
2
2
  /* empty css */
3
3
  import t from "../_virtual/_plugin-vue_export-helper.js";
4
- const _ = /* @__PURE__ */ t(o, [["__scopeId", "data-v-48252481"]]);
4
+ const a = /* @__PURE__ */ t(o, [["__scopeId", "data-v-3a8d1785"]]);
5
5
  export {
6
- _ as default
6
+ a as default
7
7
  };
@@ -1,17 +1,17 @@
1
- import { defineComponent as E, ref as C, watch as q, computed as u, onBeforeUnmount as L, openBlock as f, createElementBlock as y, normalizeClass as r, withModifiers as i, createVNode as g, createCommentVNode as P, createElementVNode as h, withKeys as z } from "vue";
1
+ import { defineComponent as E, ref as k, watch as p, computed as u, onBeforeUnmount as q, openBlock as f, createElementBlock as y, normalizeClass as i, withModifiers as r, createVNode as g, createCommentVNode as P, createElementVNode as h, withKeys as z } from "vue";
2
2
  import w from "./Icon.vue.js";
3
- const M = ["disabled", "data-testid"], U = ["value", "placeholder", "disabled", "readonly", "onKeydown", "data-testid"], W = ["disabled", "data-testid"], A = {
3
+ const L = ["disabled", "data-testid"], M = ["value", "placeholder", "disabled", "readonly", "onKeydown", "data-testid"], U = ["disabled", "data-testid"], W = {
4
4
  key: 2,
5
- class: "flex flex-col justify-center h-full py-[2px] pr-[2px]"
6
- }, D = { class: "flex flex-col h-full w-6 scale-85" }, G = ["disabled", "data-testid"], H = ["disabled", "data-testid"], Q = /* @__PURE__ */ E({
5
+ class: "flex flex-col justify-center h-full py-[3px] pr-[3px]"
6
+ }, A = { class: "flex flex-col h-full w-6 scale-80" }, D = ["disabled", "data-testid"], G = ["disabled", "data-testid"], O = /* @__PURE__ */ E({
7
7
  __name: "NumberInput",
8
8
  props: {
9
9
  modelValue: { default: void 0 },
10
10
  min: {},
11
11
  max: {},
12
12
  step: { default: 1 },
13
- layout: { default: "split" },
14
- variant: { default: "outline" },
13
+ variant: { default: "split" },
14
+ mode: { default: "outline" },
15
15
  size: { default: "md" },
16
16
  disabled: { type: Boolean, default: !1 },
17
17
  placeholder: {},
@@ -22,14 +22,14 @@ const M = ["disabled", "data-testid"], U = ["value", "placeholder", "disabled",
22
22
  },
23
23
  emits: ["update:modelValue", "change", "focus", "blur"],
24
24
  setup(e, { emit: V }) {
25
- const n = e, m = V, a = C(n.modelValue ?? "");
26
- q(
25
+ const n = e, m = V, a = k(n.modelValue ?? "");
26
+ p(
27
27
  () => n.modelValue,
28
28
  (d) => {
29
29
  d !== void 0 && (a.value = d);
30
30
  }
31
31
  );
32
- const B = C(null), c = u(() => {
32
+ const B = k(null), c = u(() => {
33
33
  const d = {
34
34
  xs: { h: "h-7", text: "text-xs", px: "px-2", icon: "w-3 h-3" },
35
35
  sm: { h: "h-8", text: "text-xs", px: "px-2", icon: "w-3.5 h-3.5" },
@@ -63,26 +63,26 @@ const M = ["disabled", "data-testid"], U = ["value", "placeholder", "disabled",
63
63
  "2xl": "rounded-r-2xl",
64
64
  full: "rounded-r-full"
65
65
  })[n.rounded] || "rounded-r-md"), F = u(() => [
66
- "flex items-center w-full relative transition-all duration-200 text-foreground",
66
+ "flex items-center w-full relative transition-all duration-200",
67
67
  n.disabled ? "opacity-50 cursor-not-allowed" : "",
68
- n.variant === "solid" ? "bg-gray-100" : "",
69
- n.variant === "outline" ? "border border-input bg-background" : "",
70
- n.variant === "transparent" ? "bg-transparent" : "",
68
+ n.mode === "solid" ? "bg-muted" : "",
69
+ n.mode === "outline" ? "border border-input bg-background" : "",
70
+ n.mode === "ghost" ? "bg-transparent" : "",
71
71
  c.value.h,
72
72
  I.value
73
73
  ]), K = u(() => [
74
- "flex-1 w-full bg-transparent focus:outline-none appearance-none text-foreground",
75
- n.layout === "split" ? "text-center" : "text-left pl-3 pr-2",
74
+ "flex-1 w-full bg-transparent focus:outline-none appearance-none",
75
+ n.variant === "split" ? "text-center" : "text-left pl-3 pr-2",
76
76
  "placeholder:text-muted-foreground/50",
77
77
  c.value.text,
78
78
  n.disabled ? "cursor-not-allowed" : ""
79
- ]), k = u(() => {
80
- const d = "flex items-center justify-center transition-colors active:scale-95 shrink-0 select-none", t = n.disabled ? "" : "hover:text-primary hover:bg-accent";
81
- return n.size === "xs" || n.size, n.layout === "split" ? n.variant === "solid" ? [
79
+ ]), C = u(() => {
80
+ const d = "flex items-center justify-center transition-colors active:scale-95 shrink-0 select-none", t = n.disabled ? "" : "hover:text-primary hover:bg-muted/50";
81
+ return n.size === "xs" || n.size, n.variant === "split" ? n.mode === "solid" ? [
82
82
  d,
83
- n.disabled ? "" : "hover:text-primary hover:bg-gray-100 shadow-sm",
84
- "bg-background rounded-md mx-1 my-0.5 aspect-square self-center h-[calc(100%-8px)] w-auto max-w-[calc(100%-8px)] flex items-center justify-center text-foreground"
85
- ] : [d, t, "h-full", "px-3", "text-gray-600 hover:text-gray-900"] : [d, t, "h-1/2 w-8 border-l border-input text-muted-foreground"];
83
+ n.disabled ? "" : "hover:text-primary hover:bg-background/80",
84
+ "bg-background shadow-sm rounded-full mx-1 my-0.5 aspect-square self-center h-[calc(100%-12px)] w-auto max-w-[calc(100%-12px)] flex items-center justify-center"
85
+ ] : [d, t, "h-full", "px-2"] : [d, t, "h-1/2 w-8 border-l border-input/50"];
86
86
  }), s = (d) => {
87
87
  if (n.disabled || n.readonly) return;
88
88
  let t = d;
@@ -123,34 +123,34 @@ const M = ["disabled", "data-testid"], U = ["value", "placeholder", "disabled",
123
123
  const t = parseFloat(String(a.value));
124
124
  isNaN(t) ? s(n.min || 0) : s(t);
125
125
  };
126
- return L(() => {
126
+ return q(() => {
127
127
  l();
128
128
  }), (d, t) => (f(), y("div", {
129
- class: r([F.value, "overflow-hidden"])
129
+ class: i([F.value, "overflow-hidden"])
130
130
  }, [
131
- e.layout === "split" && !e.disabled && !e.readonly ? (f(), y("button", {
131
+ e.variant === "split" && !e.disabled && !e.readonly ? (f(), y("button", {
132
132
  key: 0,
133
133
  tabindex: "-1",
134
134
  type: "button",
135
- class: r([
136
- k.value,
137
- e.variant === "outline" ? "border-r border-input" : "",
138
- e.layout === "split" && e.variant !== "solid" ? j.value : ""
135
+ class: i([
136
+ C.value,
137
+ e.mode === "outline" ? "border-r border-input" : "",
138
+ e.variant === "split" && e.mode !== "solid" ? j.value : ""
139
139
  ]),
140
140
  disabled: e.disabled || e.min !== void 0 && Number(a.value) <= e.min,
141
141
  onPointerdown: t[0] || (t[0] = (o) => v("dec", o)),
142
142
  onPointerup: l,
143
143
  onPointerleave: l,
144
144
  onPointercancel: l,
145
- onContextmenu: t[1] || (t[1] = i(() => {
145
+ onContextmenu: t[1] || (t[1] = r(() => {
146
146
  }, ["prevent"])),
147
147
  "data-testid": d.$attrs["data-testid"] ? `${d.$attrs["data-testid"]}-dec` : e.name ? `number-${e.name}-dec` : e.id ? `number-${e.id}-dec` : "number-input-dec"
148
148
  }, [
149
149
  g(w, {
150
150
  icon: "lucide:minus",
151
- class: r(c.value.icon)
151
+ class: i(c.value.icon)
152
152
  }, null, 8, ["class"])
153
- ], 42, M)) : P("", !0),
153
+ ], 42, L)) : P("", !0),
154
154
  h("input", {
155
155
  ref_key: "inputRef",
156
156
  ref: B,
@@ -159,86 +159,86 @@ const M = ["disabled", "data-testid"], U = ["value", "placeholder", "disabled",
159
159
  placeholder: e.placeholder,
160
160
  disabled: e.disabled,
161
161
  readonly: e.readonly,
162
- class: r(K.value),
162
+ class: i(K.value),
163
163
  onInput: R,
164
164
  onFocus: t[2] || (t[2] = (o) => m("focus", o)),
165
165
  onBlur: T,
166
166
  onKeydown: [
167
- z(i($, ["prevent"]), ["up"]),
168
- z(i(N, ["prevent"]), ["down"])
167
+ z(r($, ["prevent"]), ["up"]),
168
+ z(r(N, ["prevent"]), ["down"])
169
169
  ],
170
- onWheel: t[3] || (t[3] = i(() => {
170
+ onWheel: t[3] || (t[3] = r(() => {
171
171
  }, ["prevent"])),
172
- onInvalid: t[4] || (t[4] = i(() => {
172
+ onInvalid: t[4] || (t[4] = r(() => {
173
173
  }, ["prevent"])),
174
174
  "data-testid": d.$attrs["data-testid"] || (e.name ? `number-${e.name}` : e.id ? `number-${e.id}` : "number-input")
175
- }, null, 42, U),
176
- e.layout === "split" && !e.disabled && !e.readonly ? (f(), y("button", {
175
+ }, null, 42, M),
176
+ e.variant === "split" && !e.disabled && !e.readonly ? (f(), y("button", {
177
177
  key: 1,
178
178
  tabindex: "-1",
179
179
  type: "button",
180
- class: r([
181
- k.value,
182
- e.variant === "outline" ? "border-l border-input" : "",
183
- e.layout === "split" && e.variant !== "solid" ? S.value : ""
180
+ class: i([
181
+ C.value,
182
+ e.mode === "outline" ? "border-l border-input" : "",
183
+ e.variant === "split" && e.mode !== "solid" ? S.value : ""
184
184
  ]),
185
185
  disabled: e.disabled || e.max !== void 0 && Number(a.value) >= e.max,
186
186
  onPointerdown: t[5] || (t[5] = (o) => v("inc", o)),
187
187
  onPointerup: l,
188
188
  onPointerleave: l,
189
189
  onPointercancel: l,
190
- onContextmenu: t[6] || (t[6] = i(() => {
190
+ onContextmenu: t[6] || (t[6] = r(() => {
191
191
  }, ["prevent"])),
192
192
  "data-testid": d.$attrs["data-testid"] ? `${d.$attrs["data-testid"]}-inc` : e.name ? `number-${e.name}-inc` : e.id ? `number-${e.id}-inc` : "number-input-inc"
193
193
  }, [
194
194
  g(w, {
195
195
  icon: "lucide:plus",
196
- class: r(c.value.icon)
196
+ class: i(c.value.icon)
197
197
  }, null, 8, ["class"])
198
- ], 42, W)) : P("", !0),
199
- e.layout === "stacked" && !e.disabled && !e.readonly ? (f(), y("div", A, [
200
- h("div", D, [
198
+ ], 42, U)) : P("", !0),
199
+ e.variant === "stacked" && !e.disabled && !e.readonly ? (f(), y("div", W, [
200
+ h("div", A, [
201
201
  h("button", {
202
202
  tabindex: "-1",
203
203
  type: "button",
204
- class: r(["flex-1 flex items-center justify-center hover:text-foreground rounded-t-[3px] border-b border-input transition-colors disabled:cursor-not-allowed", e.variant === "solid" ? "bg-background hover:bg-gray-100 text-foreground" : "bg-gray-100 hover:bg-gray-200 text-gray-600"]),
204
+ class: "flex-1 flex items-center justify-center bg-gray-100 hover:bg-gray-200 text-muted-foreground hover:text-foreground rounded-t-[3px] border-b border-gray-300 transition-colors disabled:cursor-not-allowed",
205
205
  disabled: e.disabled || e.max !== void 0 && Number(a.value) >= e.max,
206
206
  onPointerdown: t[7] || (t[7] = (o) => v("inc", o)),
207
207
  onPointerup: l,
208
208
  onPointerleave: l,
209
209
  onPointercancel: l,
210
- onContextmenu: t[8] || (t[8] = i(() => {
210
+ onContextmenu: t[8] || (t[8] = r(() => {
211
211
  }, ["prevent"])),
212
212
  "data-testid": d.$attrs["data-testid"] ? `${d.$attrs["data-testid"]}-inc` : e.name ? `number-${e.name}-inc` : e.id ? `number-${e.id}-inc` : "number-input-inc"
213
213
  }, [
214
214
  g(w, {
215
- class: r(["text-current", e.size === "xs" || e.size === "sm" ? "w-3 h-3" : "w-3.5 h-3.5"]),
215
+ class: i(["text-gray-700/85!", e.size === "xs" || e.size === "sm" ? "w-3 h-3" : "w-3.5 h-3.5"]),
216
216
  icon: "mynaui:chevron-up-solid"
217
217
  }, null, 8, ["class"])
218
- ], 42, G),
218
+ ], 40, D),
219
219
  h("button", {
220
220
  tabindex: "-1",
221
221
  type: "button",
222
- class: r(["flex-1 flex items-center justify-center hover:text-foreground rounded-b-[3px] transition-colors disabled:cursor-not-allowed", e.variant === "solid" ? "bg-background hover:bg-gray-100 text-foreground" : "bg-gray-100 hover:bg-gray-200 text-gray-600"]),
222
+ class: "flex-1 flex items-center justify-center bg-gray-100 hover:bg-gray-200 text-muted-foreground hover:text-foreground rounded-b-[3px] transition-colors disabled:cursor-not-allowed",
223
223
  disabled: e.disabled || e.min !== void 0 && Number(a.value) <= e.min,
224
224
  onPointerdown: t[9] || (t[9] = (o) => v("dec", o)),
225
225
  onPointerup: l,
226
226
  onPointerleave: l,
227
227
  onPointercancel: l,
228
- onContextmenu: t[10] || (t[10] = i(() => {
228
+ onContextmenu: t[10] || (t[10] = r(() => {
229
229
  }, ["prevent"])),
230
230
  "data-testid": d.$attrs["data-testid"] ? `${d.$attrs["data-testid"]}-dec` : e.name ? `number-${e.name}-dec` : e.id ? `number-${e.id}-dec` : "number-input-dec"
231
231
  }, [
232
232
  g(w, {
233
- class: r(["text-current", e.size === "xs" || e.size === "sm" ? "w-3 h-3" : "w-3.5 h-3.5"]),
233
+ class: i(["text-gray-700/85!", e.size === "xs" || e.size === "sm" ? "w-3 h-3" : "w-3.5 h-3.5"]),
234
234
  icon: "mynaui:chevron-down-solid"
235
235
  }, null, 8, ["class"])
236
- ], 42, H)
236
+ ], 40, G)
237
237
  ])
238
238
  ])) : P("", !0)
239
239
  ], 2));
240
240
  }
241
241
  });
242
242
  export {
243
- Q as default
243
+ O as default
244
244
  };
@@ -14,7 +14,7 @@ import "v-datepicker-lite";
14
14
  import "v-datepicker-lite/style.css";
15
15
  import "@jaames/iro";
16
16
  import "@vueuse/core";
17
- /* empty css */
17
+ /* empty css */
18
18
  import "iconify-icon-picker";
19
19
  import "iconify-icon-picker/style.css";
20
20
  /* empty css */
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": "1.3.1",
6
+ "version": "1.3.2",
7
7
  "type": "module",
8
8
  "main": "index.js",
9
9
  "module": "index.js",
package/style.css CHANGED
@@ -244,7 +244,6 @@
244
244
  .dark .sidepanel-body,
245
245
  .dark .tooltip-container,
246
246
  .bg-card,
247
- .bg-muted,
248
247
  .theme-section,
249
248
  .light,
250
249
  :root {
@@ -1704,5 +1703,5 @@ html {
1704
1703
  }
1705
1704
 
1706
1705
  /* --- Vite Generated CSS --- */
1707
- input[data-v-48252481]::-webkit-outer-spin-button,input[data-v-48252481]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}input[type=number][data-v-48252481]{-moz-appearance:textfield;appearance:textfield}@keyframes onAutoFillStart{0%{opacity:1}to{opacity:1}}@keyframes onAutoFillCancel{0%{opacity:1}to{opacity:1}}input.autofill-detect:-webkit-autofill{animation-name:onAutoFillStart;animation-duration:1ms;animation-fill-mode:both}input.autofill-detect:not(:-webkit-autofill){animation-name:onAutoFillCancel;animation-duration:1ms;animation-fill-mode:both}.vl-thumbnail-selector__filepicker-inline[data-v-9fd1363d]{display:contents}.vl-thumbnail-selector__card:hover .vl-thumbnail-selector__delete[data-v-9fd1363d],.vl-thumbnail-selector__card:hover .vl-thumbnail-selector__drag-handle[data-v-9fd1363d]{opacity:1}.vl-thumbnail-selector__card[data-v-9fd1363d]:not(.border-primary):hover{border-color:color-mix(in sRGB,var(--color-primary, currentColor) 40%,transparent)}.dropdown-menu[data-v-5cf38b33]{will-change:transform;contain:layout style}.v-modal-overlay[data-v-e4bc0806]{background-color:#00000085}.v-modal-backdrop[data-v-e4bc0806]{transform:translateZ(0)}.modal-dialog-enter-active[data-v-e4bc0806]{transition:opacity 80ms ease-out}.modal-dialog-leave-active[data-v-e4bc0806]{transition:opacity .12s ease-in}.modal-dialog-enter-from[data-v-e4bc0806],.modal-dialog-leave-to[data-v-e4bc0806]{opacity:0}.modal-body[data-v-e4bc0806]{will-change:opacity;contain:layout style}.blink-bg[data-v-e4bc0806]{animation:blink-animation-e4bc0806 1s infinite}@keyframes blink-animation-e4bc0806{0%{background-color:inherit}15%{background-color:var(--color-gray-250)}35%{background-color:inherit}75%{background-color:var(--color-gray-250)}to{background-color:inherit}}.IroBox{border-radius:8px!important}.custom-fields-table[data-v-30cab34f]{will-change:transform;contain:layout style}.custom-fields-table[data-v-30cab34f] .form-field-item{margin-bottom:0!important;height:100%}.custom-fields-table[data-v-30cab34f] input,.custom-fields-table[data-v-30cab34f] textarea{padding-left:1em;padding-right:.5em}.custom-fields-table[data-v-30cab34f] input,.custom-fields-table[data-v-30cab34f] textarea,.custom-fields-table[data-v-30cab34f] select,.custom-fields-table[data-v-30cab34f] .input-wrapper,.custom-fields-table[data-v-30cab34f] .tooltip-trigger button,.custom-fields-table[data-v-30cab34f] .tooltip-trigger>div{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-30cab34f] input:focus,.custom-fields-table[data-v-30cab34f] textarea:focus,.custom-fields-table[data-v-30cab34f] select:focus,.custom-fields-table[data-v-30cab34f] .input-wrapper:focus-within,.custom-fields-table[data-v-30cab34f] .tooltip-trigger button:focus,.custom-fields-table[data-v-30cab34f] .tooltip-trigger>div:focus,.custom-fields-table[data-v-30cab34f] .tooltip-trigger>div: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-30cab34f] .w-full{width:100%;height:100%}.list-enter-active[data-v-30cab34f]{transition:all .15s cubic-bezier(.16,1,.3,1)}.list-enter-from[data-v-30cab34f]{opacity:0;transform:translateY(-5px)}.form-field-item[data-v-54cb90d4]{display:flex;flex-direction:column}.form-field-item[data-v-54cb90d4]:has([role=checkbox]){flex-direction:row;align-items:center;justify-content:flex-start}.form-container[data-v-fdd38572]{width:100%}[data-tabes][data-v-d8420cf9]:not(.inline-flex):not([class*=gap-6])>:where(button,a,[role=tab]){flex:1 0 0%;min-width:max-content}.scrollbar-hide[data-v-d8420cf9]{scrollbar-width:none;-webkit-overflow-scrolling:touch}.scrollbar-hide[data-v-d8420cf9]::-webkit-scrollbar{display:none}.scrollable-container[data-v-38015ba3]{will-change:transform;contain:layout style}.kanban-board--disabled[data-v-38015ba3]{opacity:.75;background-color:color-mix(in srgb,var(--color-card) 85%,var(--color-muted) 15%)}.kanban-lock-badge[data-v-38015ba3]{font-size:.75rem;line-height:1;-webkit-user-select:none;user-select:none}.scrollable-container[data-v-52c07c6d]{will-change:transform;contain:layout style}.v-sidepanel-overlay[data-v-37a55d1c]{background-color:#00000069}.slide-right-enter-active[data-v-37a55d1c],.slide-left-enter-active[data-v-37a55d1c]{transition:opacity 80ms ease-out}.slide-right-leave-active[data-v-37a55d1c],.slide-left-leave-active[data-v-37a55d1c]{transition:opacity .12s ease-in}.slide-right-enter-from[data-v-37a55d1c],.slide-right-leave-to[data-v-37a55d1c],.slide-left-enter-from[data-v-37a55d1c],.slide-left-leave-to[data-v-37a55d1c]{opacity:0}.sidepanel-body[data-v-37a55d1c]{will-change:transform,opacity;contain:layout style}.fade-x-enter-active,.fade-x-leave-active{transition:opacity .15s ease}.fade-x-enter-from,.fade-x-leave-to{opacity:0}.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}}.masonry-item[data-v-c29d0159]{content-visibility:auto;contain-intrinsic-size:1px 200px}.carousel-wrapper[data-v-4d544a95]{width:100%;position:relative;will-change:transform;contain:layout style}.breadcrumb-item[data-v-ecb5df7c]{display:inline-flex;align-items:center;cursor:pointer}.breadcrumb-link[data-v-ecb5df7c]{display:inline-flex;align-items:center;gap:.35em;color:var(--color-muted-foreground);text-decoration:none;transition:color .15s ease,background-color .15s ease;border-radius:var(--radius-sm)}.breadcrumb-link[data-v-ecb5df7c]:not(.current):not(.disabled):hover{color:var(--color-foreground)}.breadcrumb-link.current[data-v-ecb5df7c]{color:var(--color-foreground);font-weight:600;cursor:default}.breadcrumb-link.disabled[data-v-ecb5df7c]{opacity:.45;cursor:not-allowed;pointer-events:none}.breadcrumb-icon[data-v-ecb5df7c]{flex-shrink:0}.breadcrumb-list[data-v-d1e90135]{display:flex;flex-wrap:wrap;align-items:center;list-style:none;margin:0;padding:0;gap:.38em}.breadcrumb--sm[data-v-d1e90135]{font-size:var(--text--fs-2)}.breadcrumb--md[data-v-d1e90135]{font-size:var(--text-fs-0.5, 1em)}.breadcrumb--lg[data-v-d1e90135]{font-size:var(--text-fs-2)}.breadcrumb-separator[data-v-d1e90135]{display:inline-flex;align-items:center;color:var(--color-gray-500);-webkit-user-select:none;user-select:none;font-size:.9em;line-height:1;padding:0 .1em}.breadcrumb-ellipsis[data-v-d1e90135]{display:inline-flex;align-items:center}.breadcrumb-ellipsis-btn[data-v-d1e90135]{display:inline-flex;align-items:center;justify-content:center;width:1.6em;height:1.6em;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:transparent;color:var(--color-muted-foreground);cursor:pointer;font-size:.9em;line-height:1;letter-spacing:.05em;transition:all .15s ease}.breadcrumb-ellipsis-btn[data-v-d1e90135]:hover{background:var(--color-accent);color:var(--color-foreground);border-color:var(--color-gray-350)}.breadcrumb--contained[data-v-d1e90135]{background:var(--color-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:.45em 1em}.breadcrumb--pills[data-v-d1e90135] .breadcrumb-link{padding:.2em .7em;border-radius:9999px;background:var(--color-secondary);border:1px solid var(--color-border)}.breadcrumb--pills[data-v-d1e90135] .breadcrumb-link:not(.current):not(.disabled):hover{background:var(--color-accent);border-color:var(--color-gray-350)}.breadcrumb--pills[data-v-d1e90135] .breadcrumb-link.current{background:var(--color-primary);color:var(--color-primary-foreground);border-color:var(--color-primary)}.breadcrumb--arrow .breadcrumb-list[data-v-d1e90135]{gap:0}.breadcrumb--arrow[data-v-d1e90135] .breadcrumb-link{padding:.35em .9em .35em 1.4em;background:var(--color-secondary);clip-path:polygon(0 0,calc(100% - .6em) 0,100% 50%,calc(100% - .6em) 100%,0 100%,.6em 50%);border:none;margin-left:-.3em}.breadcrumb--arrow[data-v-d1e90135] .breadcrumb-item:first-child .breadcrumb-link{padding-left:.9em;clip-path:polygon(0 0,calc(100% - .6em) 0,100% 50%,calc(100% - .6em) 100%,0 100%);border-radius:var(--radius-sm) 0 0 var(--radius-sm);margin-left:0}.breadcrumb--arrow[data-v-d1e90135] .breadcrumb-link:not(.current):not(.disabled):hover{background:var(--color-accent)}.breadcrumb--arrow[data-v-d1e90135] .breadcrumb-link.current{background:var(--color-primary);color:var(--color-primary-foreground)}.breadcrumb--arrow .breadcrumb-separator[data-v-d1e90135]{display:none}.file-tree-container[data-v-91337be9]{will-change:transform;contain:layout style}:where(.rte-editor,.rte-reader) h1{display:block;font-size:1.5rem!important;font-weight:700!important;margin:.5em 0 .2em!important;line-height:1.3}:where(.rte-editor,.rte-reader) h2{display:block;font-size:1.2rem!important;font-weight:600!important;margin:.45em 0 .2em!important;line-height:1.35}:where(.rte-editor,.rte-reader) p{display:block;margin:.2em 0!important}:where(.rte-editor,.rte-reader) div{margin:.1em 0}:where(.rte-editor,.rte-reader) blockquote{display:block;border-left:3px solid var(--color-primary);margin:.6em 0!important;padding:.35em 1em!important;color:var(--color-muted-foreground);font-style:italic;background:color-mix(in oklab,var(--color-primary) 6%,transparent);border-radius:0 var(--radius-sm) var(--radius-sm) 0}:where(.rte-editor,.rte-reader) ul{display:block!important;list-style-type:disc!important;list-style-position:inside!important;padding-left:1.6em!important;margin:.35em 0!important}:where(.rte-editor,.rte-reader) ol{display:block!important;list-style-type:decimal!important;list-style-position:inside!important;padding-left:1.6em!important;margin:.35em 0!important}:where(.rte-editor,.rte-reader) li{display:list-item!important;margin:.15em 0!important;padding-left:.15em}:where(.rte-editor,.rte-reader) ul ul,:where(.rte-editor,.rte-reader) ol ul{list-style-type:circle!important}:where(.rte-editor,.rte-reader) ul ul ul,:where(.rte-editor,.rte-reader) ol ol ul{list-style-type:square!important}:where(.rte-editor,.rte-reader) ol ol{list-style-type:lower-alpha!important}:where(.rte-editor,.rte-reader) ol ol ol{list-style-type:lower-roman!important}:where(.rte-editor,.rte-reader) hr{display:block!important;border:0!important;border-top:1px solid var(--color-border)!important;margin:1.5em 0!important}:where(.rte-editor,.rte-reader) a{color:var(--color-info);text-decoration:underline;text-underline-offset:2px;cursor:pointer;transition:color .12s ease}:where(.rte-editor,.rte-reader) a:hover{color:var(--color-info-dark, var(--color-info));text-decoration-thickness:2px}:where(.rte-editor,.rte-reader) code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.85em;background:var(--color-muted);color:var(--color-foreground);padding:.2em .4em;border-radius:var(--radius-sm);border:none}:where(.rte-editor,.rte-reader) img{max-width:100%;height:auto;border-radius:var(--radius-sm);margin:1em 0;display:block;box-shadow:0 0 0 1px var(--color-border);transition:filter .2s,opacity .2s}.rte-editor img.rte-image-uploading{opacity:.6;filter:grayscale(100%) blur(2px);cursor:wait}:where(.rte-editor,.rte-reader) strong,:where(.rte-editor,.rte-reader) b{font-weight:700!important}:where(.rte-editor,.rte-reader) em,:where(.rte-editor,.rte-reader) i{font-style:italic!important}:where(.rte-editor,.rte-reader) u{text-decoration:underline!important;text-decoration-thickness:1.5px;text-underline-offset:2px}:where(.rte-editor,.rte-reader) s,:where(.rte-editor,.rte-reader) strike{text-decoration:line-through!important}.rte-editor ::selection{background:color-mix(in oklab,var(--color-primary) 22%,transparent)}.rte-toolbar{display:flex;flex-wrap:wrap;padding:6px 8px;gap:2px;border-bottom:1px solid var(--color-border);background:var(--color-background);border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0;align-items:center}.rte-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--color-muted-foreground);cursor:pointer;transition:all .1s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.rte-btn:hover:not(:disabled){background:var(--color-accent);color:var(--color-foreground)}.rte-btn--active{background:var(--color-accent);color:var(--color-foreground)}.rte-btn--text{font-size:.75rem;font-weight:700;width:auto;min-width:28px;padding:0 6px}.rte-icon{width:1.1rem;height:1.1rem;stroke-width:2.5}.rte-btn:disabled{opacity:.38;cursor:not-allowed;pointer-events:none}.rte-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.rte-sep{width:1px;height:18px;background:var(--color-border);margin:0 3px;flex-shrink:0}.rte-link-popover{position:absolute;top:0;left:0;z-index:60;width:300px;max-width:min(300px,calc(100vw - 24px));background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 2px 4px #0000000f,0 8px 24px #0000001a;padding:8px;display:flex;flex-direction:column;gap:6px;will-change:transform,opacity}.rte-link-input-row{display:flex;align-items:center;gap:6px;background:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0 8px;transition:border-color .15s ease,box-shadow .15s ease}.rte-link-input-row:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in oklab,var(--color-primary) 12%,transparent)}.rte-link-icon-prefix{width:.875rem;height:.875rem;color:var(--color-muted-foreground);flex-shrink:0}.rte-link-input{flex:1;background:transparent;border:none;outline:none;font-size:.8rem;color:var(--color-foreground);padding:7px 0;min-width:0;font-family:JetBrains Mono,Fira Code,ui-monospace,monospace}.rte-link-input::placeholder{color:var(--color-muted-foreground);font-family:inherit}.rte-link-actions-row{display:flex;align-items:center;gap:3px}.rte-link-action-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:none;border-radius:var(--radius-sm);background:transparent;font-size:.75rem;font-weight:500;cursor:pointer;color:var(--color-muted-foreground);transition:background .12s ease,color .12s ease}.rte-link-action-btn:hover{background:var(--color-accent);color:var(--color-foreground)}.rte-link-action-btn--danger{color:var(--color-destructive)}.rte-link-action-btn--danger:hover{background:color-mix(in oklab,var(--color-destructive) 10%,transparent);color:var(--color-destructive)}.rte-link-apply-btn{background:var(--color-primary);color:var(--color-primary-foreground);width:24px;height:24px;padding:4px;cursor:pointer}.rte-link-apply-btn:disabled{opacity:.5;cursor:not-allowed}.rte-link-apply-btn:hover:not(:disabled){background:color-mix(in oklab,var(--color-primary) 88%,var(--color-primary-foreground));color:var(--color-primary-foreground)}.rte-root{display:flex;flex-direction:column;gap:6px;width:100%}.rte-label{font-size:.825rem;font-weight:500;color:var(--color-foreground);margin-bottom:2px}.rte-wrapper{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius);position:relative;transition:border-color .15s ease,box-shadow .15s ease;display:flex;flex-direction:column}.rte-root.rte-focused .rte-wrapper{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in oklab,var(--color-primary) 12%,transparent)}.rte-root.rte-disabled .rte-wrapper{background:var(--color-muted);opacity:.6}.rte-root.rte-error .rte-wrapper{border-color:var(--color-destructive)}.rte-root.rte-error.rte-focused .rte-wrapper{box-shadow:0 0 0 2px color-mix(in oklab,var(--color-destructive) 15%,transparent)}.rte-body-wrap{position:relative;overflow:visible}.rte-editor{outline:none;padding:14px 16px;color:var(--color-foreground);font-size:.9rem;line-height:1.7;width:100%;box-sizing:border-box;overflow-y:auto;border-radius:0 0 var(--radius) var(--radius);word-break:break-word;overflow-wrap:break-word;will-change:transform;contain:layout style}.rte-editor[contenteditable=true]{caret-color:var(--color-primary)}.rte-placeholder{position:absolute;top:14px;left:16px;color:var(--color-muted-foreground);font-size:.9rem;pointer-events:none;-webkit-user-select:none;user-select:none;line-height:1.7}.rte-error-msg{font-size:.78rem;color:var(--color-destructive);margin:0;line-height:1.4}.rte-reader[data-v-55b9fd8b]{font-family:inherit;color:var(--color-foreground);font-size:.9rem;line-height:1.7;word-break:break-word;overflow-wrap:break-word;padding:0;margin:0}.sheet-container[data-v-e674bcbc]{will-change:transform;contain:layout style}.vl-comment-actions[data-v-446c60ad]{opacity:0;transition:opacity .15s ease}.vl-comment:hover:not(:has(.vl-comment:hover))>div>.vl-comment-header>.vl-comment-actions[data-v-446c60ad]{opacity:1}.vl-comment-actions[data-v-446c60ad]:focus-within{opacity:1}.vl-comment:has(.vl-comment-actions button[aria-label="Confirm delete"]) .vl-comment-actions[data-v-446c60ad]{opacity:1}.accordion-enter-active[data-v-0075dffb],.accordion-leave-active[data-v-0075dffb]{transition:height .3s ease-in-out;will-change:height}.content-wrapper[data-v-0075dffb]{contain:paint}.sidebar-manu-item .tooltip-trigger{width:100%!important}.sidebar-menu-tooltip{margin-left:4px!important}[dir=rtl] .sidebar-menu-tooltip{margin-right:4px!important}.drill-forward-enter-active,.drill-forward-leave-active{transition:all .28s cubic-bezier(.4,0,.2,1)}.drill-forward-enter-from{opacity:0;transform:translate(40%)}.drill-forward-enter-to,.drill-forward-leave-from{opacity:1;transform:translate(0)}.drill-forward-leave-to{opacity:0;transform:translate(-40%)}.drill-forward-leave-active{position:absolute;top:0;left:0;right:0}.drill-backward-enter-active,.drill-backward-leave-active{transition:all .28s cubic-bezier(.4,0,.2,1)}.drill-backward-enter-from{opacity:0;transform:translate(-40%)}.drill-backward-enter-to,.drill-backward-leave-from{opacity:1;transform:translate(0)}.drill-backward-leave-to{opacity:0;transform:translate(40%)}.drill-backward-leave-active{position:absolute;top:0;left:0;right:0}.sidebar-drilldown-container{min-height:0}.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)}}.permission-matrix-wrapper[data-v-f4695eed]{max-height:70vh;will-change:transform;contain:layout style}.permission-list-wrapper[data-v-a42b2fb0]{border:1px solid var(--color-border);border-radius:.5rem;overflow:hidden;background-color:var(--color-background);will-change:transform;contain:layout style}.custom-list-header[data-v-a42b2fb0]{background-color:var(--color-muted);border-bottom:1px solid var(--color-border);padding:var(--cell-py) var(--cell-px)}.custom-list-group-content .custom-list-item[data-v-a42b2fb0]{border-bottom:1px solid var(--color-border);padding:var(--cell-py) var(--cell-px);background-color:var(--color-background)}.custom-list-group-content .custom-list-item[data-v-a42b2fb0]:hover{background-color:var(--color-accent)}.custom-list-group-content .custom-list-item[data-v-a42b2fb0]:last-child{border-bottom:none}.custom-list-group-content+.custom-list-header[data-v-a42b2fb0],.custom-list-header+.custom-list-header[data-v-a42b2fb0]{border-top:1px solid var(--color-border)}.permission-list-wrapper>.custom-list-header[data-v-a42b2fb0]:last-child{border-bottom:none}.permission-matrix-wrapper[data-v-e8bfdc18]{border:1px solid var(--color-border);background-color:var(--color-gray-100);border-radius:.5rem;overflow:auto;max-height:65vh;position:relative;will-change:transform;contain:layout style}.custom-table[data-v-e8bfdc18]{width:100%;border-collapse:collapse}.custom-sticky-header th[data-v-e8bfdc18]{position:sticky;top:0;z-index:20;box-shadow:0 1px 0 var(--color-border)}.custom-th[data-v-e8bfdc18]{background-color:var(--color-gray-150);color:var(--color-foreground);background-clip:padding-box;border-bottom:none;border-left:1px solid var(--color-border);padding:var(--cell-py) var(--cell-px);text-align:left;font-weight:600;min-width:200px}thead:not(.custom-sticky-header) .custom-th[data-v-e8bfdc18]{border-bottom:1px solid var(--color-border)}.custom-th.text-center[data-v-e8bfdc18]{text-align:center;min-width:100px}.custom-th[data-v-e8bfdc18]:first-child{border-left:none}.custom-td[data-v-e8bfdc18]{border-bottom:1px solid var(--color-border);border-left:1px solid var(--color-border);padding:var(--cell-py) var(--cell-px)}.custom-td.text-center[data-v-e8bfdc18]{text-align:center}.custom-td[data-v-e8bfdc18]:first-child{border-left:none}.custom-group-row td[data-v-e8bfdc18]{background-color:var(--color-gray-100);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.custom-entity-row[data-v-e8bfdc18]{background-color:var(--color-background);transition:background-color .1s ease}.custom-entity-row[data-v-e8bfdc18]:hover{background-color:var(--color-gray-50)}.custom-entity-row:last-child td[data-v-e8bfdc18]{border-bottom:none}.custom-active-cell[data-v-e8bfdc18]{cursor:pointer}.custom-active-cell[data-v-e8bfdc18]:hover{background-color:var(--color-accent)}.category-manager--loading[data-v-dd34fa1d]{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-fade-enter-active[data-v-dd34fa1d],.cm-fade-leave-active[data-v-dd34fa1d]{transition:opacity .2s ease}.cm-fade-enter-from[data-v-dd34fa1d],.cm-fade-leave-to[data-v-dd34fa1d]{opacity:0}.attached-group[data-v-298c3d8a] button{position:relative}.attached-group[data-v-298c3d8a] button:focus-visible,.attached-group[data-v-298c3d8a] button:hover{z-index:10}.attached-group[data-v-298c3d8a]:not(.vertical-group) button:not(:first-child){margin-inline-start:-1px}.attached-group[data-v-298c3d8a]:not(.vertical-group) button:first-child{border-start-end-radius:0!important;border-end-end-radius:0!important}.attached-group[data-v-298c3d8a]:not(.vertical-group) button:not(:first-child):not(:last-child){border-radius:0!important}.attached-group[data-v-298c3d8a]:not(.vertical-group) button:last-child{border-start-start-radius:0!important;border-end-start-radius:0!important}.vertical-group[data-v-298c3d8a] button:not(:first-child){margin-block-start:-1px}.vertical-group[data-v-298c3d8a] button:first-child{border-end-start-radius:0!important;border-end-end-radius:0!important}.vertical-group[data-v-298c3d8a] button:not(:first-child):not(:last-child){border-radius:0!important}.vertical-group[data-v-298c3d8a] button:last-child{border-start-start-radius:0!important;border-start-end-radius:0!important}.attached-group[data-v-298c3d8a]:not(.vertical-group) button:not(:first-child):not(.border):before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:1px;background-color:currentColor;opacity:.15;z-index:5;pointer-events:none;height:100%}.vertical-group[data-v-298c3d8a] button:not(:first-child):not(.border):before{content:"";position:absolute;top:0;left:0;right:0;height:1px;width:100%;background-color:currentColor;opacity:.15;z-index:5;pointer-events:none}[data-v-63e46f6b] .calendar-view{--calendar-primary-color: var(--color-primary);--calendar-bg-color: transparent !important;--calendar-border-color: var(--color-border);--calendar-text-color: var(--color-foreground);--calendar-hover-color: var(--color-accent)}[data-v-63e46f6b] .v-event-calendar .add-event-icon,[data-v-63e46f6b] .v-event-calendar .add-event-icon svg{color:var(--color-primary-fg)!important}.vlite-line-chart[data-v-07c9fb47]{position:relative}.vlite-scc-grid[data-v-e6172e07]{display:flex;width:100%}.vlite-scc-card[data-v-e6172e07]{flex:1;position:relative;display:flex;align-items:stretch}.vlite-scc-separator[data-v-e6172e07]{width:1px;align-self:stretch;background:var(--color-border, #e4e4e7);opacity:.3;margin:8px 0;flex-shrink:0;background-image:repeating-linear-gradient(to bottom,var(--color-border, #e4e4e7) 0px,var(--color-border, #e4e4e7) 4px,transparent 4px,transparent 8px);background-color:transparent}.vlite-scc-content[data-v-e6172e07]{display:flex;flex-direction:column;align-items:flex-start;padding:16px 20px;flex:1;min-height:200px}.vlite-scc-label[data-v-e6172e07]{font-size:13px;font-weight:500;color:var(--color-muted-foreground, #71717a);margin:0 0 6px}.vlite-scc-pct[data-v-e6172e07]{font-size:36px;font-weight:800;color:var(--color-foreground, #09090b);margin:0;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.vlite-scc-spacer[data-v-e6172e07]{flex:1}.vlite-scc-indicator[data-v-e6172e07]{border-radius:10px;margin-bottom:14px;transition:width .6s ease,height .6s ease}.vlite-scc-footer[data-v-e6172e07]{display:flex;align-items:center;gap:8px}.vlite-scc-value[data-v-e6172e07]{font-size:14px;font-weight:600;color:var(--color-foreground, #09090b);font-variant-numeric:tabular-nums}.vlite-scc-trend-icon[data-v-e6172e07]{width:14px;height:14px}.vlite-scc-trend-up[data-v-e6172e07]{color:var(--color-success, #22c55e);transform:rotate(25deg)}.vlite-scc-trend-down[data-v-e6172e07]{color:var(--color-danger, #ef4444);transform:rotate(-25deg)}.vlite-gantt-chart[data-v-91cc2885]{font-family:inherit}.vlite-gantt-toolbar[data-v-91cc2885]{display:flex;justify-content:flex-end;margin-bottom:8px;gap:6px}.vlite-gantt-btn[data-v-91cc2885]{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;font-size:11px;font-weight:600;color:var(--color-muted-foreground);background:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:all .15s}.vlite-gantt-btn[data-v-91cc2885]:hover:not(:disabled){background:var(--color-accent);color:var(--color-foreground)}.vlite-gantt-btn[data-v-91cc2885]:disabled{opacity:.5;cursor:not-allowed}.vlite-gantt-zoom-controls[data-v-91cc2885]{display:flex;gap:6px}.vlite-gantt-wrapper[data-v-91cc2885]{display:flex;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-background)}.vlite-gantt-sidebar[data-v-91cc2885]{flex-shrink:0;border-right:1px solid var(--color-border);background:var(--color-background);z-index:2}.vlite-gantt-sidebar-header[data-v-91cc2885]{display:flex;align-items:center;padding:0 16px;border-bottom:1px solid var(--color-border);background:color-mix(in oklab,var(--color-background) 97%,var(--color-foreground))}.vlite-gantt-sidebar-body[data-v-91cc2885]{overflow-y:hidden;overflow-x:hidden}.vlite-gantt-sidebar-row[data-v-91cc2885]{display:flex;align-items:center;padding:0 12px;border-bottom:1px solid color-mix(in oklab,var(--color-border) 50%,transparent)}.vlite-gantt-group-toggle[data-v-91cc2885]{display:flex;align-items:center;gap:6px;width:100%;padding:0 4px;background:none;border:none;cursor:pointer;color:inherit;text-align:left}.vlite-gantt-group-toggle[data-v-91cc2885]:hover{opacity:.8}.vlite-gantt-chevron[data-v-91cc2885]{transition:transform .2s ease;color:var(--color-muted-foreground);flex-shrink:0}.vlite-gantt-chevron-collapsed[data-v-91cc2885]{transform:rotate(-90deg)}.vlite-gantt-group-count[data-v-91cc2885]{font-size:10px;font-weight:600;color:var(--color-muted-foreground);background:var(--color-muted);padding:1px 6px;border-radius:99px;margin-left:auto}.vlite-gantt-task-name[data-v-91cc2885]{display:flex;align-items:center;gap:8px;cursor:pointer;padding:0 4px;width:100%;transition:all .15s}.vlite-gantt-task-name[data-v-91cc2885]:hover{opacity:.75}.vlite-gantt-task-name-grouped[data-v-91cc2885]{padding-left:20px}.vlite-gantt-task-name-dragging[data-v-91cc2885]{background:color-mix(in oklab,var(--color-primary) 8%,transparent);border-radius:4px}.vlite-gantt-task-dot[data-v-91cc2885]{width:7px;height:7px;border-radius:2px;flex-shrink:0}.vlite-gantt-progress-badge[data-v-91cc2885]{font-size:10px;font-weight:700;color:var(--color-muted-foreground);margin-left:auto;flex-shrink:0}.vlite-gantt-timeline[data-v-91cc2885]{flex:1;overflow-x:auto;overflow-y:auto;position:relative}.vlite-gantt-timeline-header[data-v-91cc2885]{position:sticky;top:0;z-index:1;border-bottom:1px solid var(--color-border);background:color-mix(in oklab,var(--color-background) 97%,var(--color-foreground))}.vlite-gantt-timeline-body[data-v-91cc2885]{position:relative}.vlite-gantt-bar-dragging[data-v-91cc2885]{filter:drop-shadow(0 2px 8px rgba(0,0,0,.15));z-index:10}.vlite-gantt-dep-group[data-v-91cc2885]{transition:opacity .2s}.vlite-gantt-dep-group[data-v-91cc2885]:hover{opacity:1!important}.vlite-gantt-tooltip-progress-track[data-v-91cc2885]{width:60px;height:4px;border-radius:2px;background:var(--color-muted);overflow:hidden}.vlite-gantt-tooltip-progress-fill[data-v-91cc2885]{height:100%;border-radius:2px;transition:width .3s ease}.vlite-gantt-timeline[data-v-91cc2885]::-webkit-scrollbar{height:6px;width:6px}.vlite-gantt-timeline[data-v-91cc2885]::-webkit-scrollbar-track{background:transparent}.vlite-gantt-timeline[data-v-91cc2885]::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:3px}.vlite-gantt-timeline[data-v-91cc2885]::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-hover)}.vlite-gantt-sidebar-body[data-v-91cc2885]::-webkit-scrollbar{width:0;display:none}.is-solid[data-v-33afc5cb] path,.is-solid[data-v-33afc5cb] polygon,.is-solid[data-v-33afc5cb] circle,.is-solid[data-v-33afc5cb] rect{fill:currentColor!important}.toast-item[data-v-9c775c23]{will-change:transform,opacity;contain:layout style}.first-toast-enter-active[data-v-9c775c23]{animation:first-toast-in-9c775c23 .45s cubic-bezier(.23,1,.32,1) forwards}.first-toast-leave-active[data-v-9c775c23]{transition:all .25s ease-in}.first-toast-leave-to[data-v-9c775c23]{opacity:0;transform:scale(.98)}@keyframes first-toast-in-9c775c23{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-9c775c23],.stack-toast-leave-active[data-v-9c775c23]{transition:all .3s cubic-bezier(.16,1,.3,1)}.stack-toast-enter-from[data-v-9c775c23]{opacity:0;transform:scale(.95) translateY(10px)}.stack-toast-leave-to[data-v-9c775c23]{opacity:0;transform:scale(.95)}.stack-toast-move[data-v-9c775c23]{transition:transform .4s cubic-bezier(.16,1,.3,1)}.cp-item-transition[data-v-66b1ae06]{transition:background-color 80ms ease,color 80ms ease}.command-palette-content[data-v-aa0dbb48] ::-webkit-scrollbar{width:4px}.command-palette-content[data-v-aa0dbb48] ::-webkit-scrollbar-track{background:transparent}.command-palette-content[data-v-aa0dbb48] ::-webkit-scrollbar-thumb{background:var(--border);border-radius:9999px}.cp-scroll-container[data-v-aa0dbb48]{transform:translateZ(0);will-change:transform;touch-action:pan-y;backface-visibility:hidden}
1706
+ input[data-v-3a8d1785]::-webkit-outer-spin-button,input[data-v-3a8d1785]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}input[type=number][data-v-3a8d1785]{-moz-appearance:textfield;appearance:textfield}@keyframes onAutoFillStart{0%{opacity:1}to{opacity:1}}@keyframes onAutoFillCancel{0%{opacity:1}to{opacity:1}}input.autofill-detect:-webkit-autofill{animation-name:onAutoFillStart;animation-duration:1ms;animation-fill-mode:both}input.autofill-detect:not(:-webkit-autofill){animation-name:onAutoFillCancel;animation-duration:1ms;animation-fill-mode:both}.vl-thumbnail-selector__filepicker-inline[data-v-9fd1363d]{display:contents}.vl-thumbnail-selector__card:hover .vl-thumbnail-selector__delete[data-v-9fd1363d],.vl-thumbnail-selector__card:hover .vl-thumbnail-selector__drag-handle[data-v-9fd1363d]{opacity:1}.vl-thumbnail-selector__card[data-v-9fd1363d]:not(.border-primary):hover{border-color:color-mix(in sRGB,var(--color-primary, currentColor) 40%,transparent)}.dropdown-menu[data-v-b8c520f0]{will-change:transform;contain:layout style}.v-modal-overlay[data-v-e4bc0806]{background-color:#00000085}.v-modal-backdrop[data-v-e4bc0806]{transform:translateZ(0)}.modal-dialog-enter-active[data-v-e4bc0806]{transition:opacity 80ms ease-out}.modal-dialog-leave-active[data-v-e4bc0806]{transition:opacity .12s ease-in}.modal-dialog-enter-from[data-v-e4bc0806],.modal-dialog-leave-to[data-v-e4bc0806]{opacity:0}.modal-body[data-v-e4bc0806]{will-change:opacity;contain:layout style}.blink-bg[data-v-e4bc0806]{animation:blink-animation-e4bc0806 1s infinite}@keyframes blink-animation-e4bc0806{0%{background-color:inherit}15%{background-color:var(--color-gray-250)}35%{background-color:inherit}75%{background-color:var(--color-gray-250)}to{background-color:inherit}}.IroBox{border-radius:8px!important}.custom-fields-table[data-v-30cab34f]{will-change:transform;contain:layout style}.custom-fields-table[data-v-30cab34f] .form-field-item{margin-bottom:0!important;height:100%}.custom-fields-table[data-v-30cab34f] input,.custom-fields-table[data-v-30cab34f] textarea{padding-left:1em;padding-right:.5em}.custom-fields-table[data-v-30cab34f] input,.custom-fields-table[data-v-30cab34f] textarea,.custom-fields-table[data-v-30cab34f] select,.custom-fields-table[data-v-30cab34f] .input-wrapper,.custom-fields-table[data-v-30cab34f] .tooltip-trigger button,.custom-fields-table[data-v-30cab34f] .tooltip-trigger>div{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-30cab34f] input:focus,.custom-fields-table[data-v-30cab34f] textarea:focus,.custom-fields-table[data-v-30cab34f] select:focus,.custom-fields-table[data-v-30cab34f] .input-wrapper:focus-within,.custom-fields-table[data-v-30cab34f] .tooltip-trigger button:focus,.custom-fields-table[data-v-30cab34f] .tooltip-trigger>div:focus,.custom-fields-table[data-v-30cab34f] .tooltip-trigger>div: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-30cab34f] .w-full{width:100%;height:100%}.list-enter-active[data-v-30cab34f]{transition:all .15s cubic-bezier(.16,1,.3,1)}.list-enter-from[data-v-30cab34f]{opacity:0;transform:translateY(-5px)}.form-field-item[data-v-54cb90d4]{display:flex;flex-direction:column}.form-field-item[data-v-54cb90d4]:has([role=checkbox]){flex-direction:row;align-items:center;justify-content:flex-start}.form-container[data-v-fdd38572]{width:100%}[data-tabes][data-v-d8420cf9]:not(.inline-flex):not([class*=gap-6])>:where(button,a,[role=tab]){flex:1 0 0%;min-width:max-content}.scrollbar-hide[data-v-d8420cf9]{scrollbar-width:none;-webkit-overflow-scrolling:touch}.scrollbar-hide[data-v-d8420cf9]::-webkit-scrollbar{display:none}.scrollable-container[data-v-38015ba3]{will-change:transform;contain:layout style}.kanban-board--disabled[data-v-38015ba3]{opacity:.75;background-color:color-mix(in srgb,var(--color-card) 85%,var(--color-muted) 15%)}.kanban-lock-badge[data-v-38015ba3]{font-size:.75rem;line-height:1;-webkit-user-select:none;user-select:none}.scrollable-container[data-v-52c07c6d]{will-change:transform;contain:layout style}.v-sidepanel-overlay[data-v-37a55d1c]{background-color:#00000069}.slide-right-enter-active[data-v-37a55d1c],.slide-left-enter-active[data-v-37a55d1c]{transition:opacity 80ms ease-out}.slide-right-leave-active[data-v-37a55d1c],.slide-left-leave-active[data-v-37a55d1c]{transition:opacity .12s ease-in}.slide-right-enter-from[data-v-37a55d1c],.slide-right-leave-to[data-v-37a55d1c],.slide-left-enter-from[data-v-37a55d1c],.slide-left-leave-to[data-v-37a55d1c]{opacity:0}.sidepanel-body[data-v-37a55d1c]{will-change:transform,opacity;contain:layout style}.fade-x-enter-active,.fade-x-leave-active{transition:opacity .15s ease}.fade-x-enter-from,.fade-x-leave-to{opacity:0}.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}}.masonry-item[data-v-c29d0159]{content-visibility:auto;contain-intrinsic-size:1px 200px}.carousel-wrapper[data-v-4d544a95]{width:100%;position:relative;will-change:transform;contain:layout style}.breadcrumb-item[data-v-ecb5df7c]{display:inline-flex;align-items:center;cursor:pointer}.breadcrumb-link[data-v-ecb5df7c]{display:inline-flex;align-items:center;gap:.35em;color:var(--color-muted-foreground);text-decoration:none;transition:color .15s ease,background-color .15s ease;border-radius:var(--radius-sm)}.breadcrumb-link[data-v-ecb5df7c]:not(.current):not(.disabled):hover{color:var(--color-foreground)}.breadcrumb-link.current[data-v-ecb5df7c]{color:var(--color-foreground);font-weight:600;cursor:default}.breadcrumb-link.disabled[data-v-ecb5df7c]{opacity:.45;cursor:not-allowed;pointer-events:none}.breadcrumb-icon[data-v-ecb5df7c]{flex-shrink:0}.breadcrumb-list[data-v-d1e90135]{display:flex;flex-wrap:wrap;align-items:center;list-style:none;margin:0;padding:0;gap:.38em}.breadcrumb--sm[data-v-d1e90135]{font-size:var(--text--fs-2)}.breadcrumb--md[data-v-d1e90135]{font-size:var(--text-fs-0.5, 1em)}.breadcrumb--lg[data-v-d1e90135]{font-size:var(--text-fs-2)}.breadcrumb-separator[data-v-d1e90135]{display:inline-flex;align-items:center;color:var(--color-gray-500);-webkit-user-select:none;user-select:none;font-size:.9em;line-height:1;padding:0 .1em}.breadcrumb-ellipsis[data-v-d1e90135]{display:inline-flex;align-items:center}.breadcrumb-ellipsis-btn[data-v-d1e90135]{display:inline-flex;align-items:center;justify-content:center;width:1.6em;height:1.6em;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:transparent;color:var(--color-muted-foreground);cursor:pointer;font-size:.9em;line-height:1;letter-spacing:.05em;transition:all .15s ease}.breadcrumb-ellipsis-btn[data-v-d1e90135]:hover{background:var(--color-accent);color:var(--color-foreground);border-color:var(--color-gray-350)}.breadcrumb--contained[data-v-d1e90135]{background:var(--color-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:.45em 1em}.breadcrumb--pills[data-v-d1e90135] .breadcrumb-link{padding:.2em .7em;border-radius:9999px;background:var(--color-secondary);border:1px solid var(--color-border)}.breadcrumb--pills[data-v-d1e90135] .breadcrumb-link:not(.current):not(.disabled):hover{background:var(--color-accent);border-color:var(--color-gray-350)}.breadcrumb--pills[data-v-d1e90135] .breadcrumb-link.current{background:var(--color-primary);color:var(--color-primary-foreground);border-color:var(--color-primary)}.breadcrumb--arrow .breadcrumb-list[data-v-d1e90135]{gap:0}.breadcrumb--arrow[data-v-d1e90135] .breadcrumb-link{padding:.35em .9em .35em 1.4em;background:var(--color-secondary);clip-path:polygon(0 0,calc(100% - .6em) 0,100% 50%,calc(100% - .6em) 100%,0 100%,.6em 50%);border:none;margin-left:-.3em}.breadcrumb--arrow[data-v-d1e90135] .breadcrumb-item:first-child .breadcrumb-link{padding-left:.9em;clip-path:polygon(0 0,calc(100% - .6em) 0,100% 50%,calc(100% - .6em) 100%,0 100%);border-radius:var(--radius-sm) 0 0 var(--radius-sm);margin-left:0}.breadcrumb--arrow[data-v-d1e90135] .breadcrumb-link:not(.current):not(.disabled):hover{background:var(--color-accent)}.breadcrumb--arrow[data-v-d1e90135] .breadcrumb-link.current{background:var(--color-primary);color:var(--color-primary-foreground)}.breadcrumb--arrow .breadcrumb-separator[data-v-d1e90135]{display:none}.file-tree-container[data-v-91337be9]{will-change:transform;contain:layout style}:where(.rte-editor,.rte-reader) h1{display:block;font-size:1.5rem!important;font-weight:700!important;margin:.5em 0 .2em!important;line-height:1.3}:where(.rte-editor,.rte-reader) h2{display:block;font-size:1.2rem!important;font-weight:600!important;margin:.45em 0 .2em!important;line-height:1.35}:where(.rte-editor,.rte-reader) p{display:block;margin:.2em 0!important}:where(.rte-editor,.rte-reader) div{margin:.1em 0}:where(.rte-editor,.rte-reader) blockquote{display:block;border-left:3px solid var(--color-primary);margin:.6em 0!important;padding:.35em 1em!important;color:var(--color-muted-foreground);font-style:italic;background:color-mix(in oklab,var(--color-primary) 6%,transparent);border-radius:0 var(--radius-sm) var(--radius-sm) 0}:where(.rte-editor,.rte-reader) ul{display:block!important;list-style-type:disc!important;list-style-position:inside!important;padding-left:1.6em!important;margin:.35em 0!important}:where(.rte-editor,.rte-reader) ol{display:block!important;list-style-type:decimal!important;list-style-position:inside!important;padding-left:1.6em!important;margin:.35em 0!important}:where(.rte-editor,.rte-reader) li{display:list-item!important;margin:.15em 0!important;padding-left:.15em}:where(.rte-editor,.rte-reader) ul ul,:where(.rte-editor,.rte-reader) ol ul{list-style-type:circle!important}:where(.rte-editor,.rte-reader) ul ul ul,:where(.rte-editor,.rte-reader) ol ol ul{list-style-type:square!important}:where(.rte-editor,.rte-reader) ol ol{list-style-type:lower-alpha!important}:where(.rte-editor,.rte-reader) ol ol ol{list-style-type:lower-roman!important}:where(.rte-editor,.rte-reader) hr{display:block!important;border:0!important;border-top:1px solid var(--color-border)!important;margin:1.5em 0!important}:where(.rte-editor,.rte-reader) a{color:var(--color-info);text-decoration:underline;text-underline-offset:2px;cursor:pointer;transition:color .12s ease}:where(.rte-editor,.rte-reader) a:hover{color:var(--color-info-dark, var(--color-info));text-decoration-thickness:2px}:where(.rte-editor,.rte-reader) code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.85em;background:var(--color-muted);color:var(--color-foreground);padding:.2em .4em;border-radius:var(--radius-sm);border:none}:where(.rte-editor,.rte-reader) img{max-width:100%;height:auto;border-radius:var(--radius-sm);margin:1em 0;display:block;box-shadow:0 0 0 1px var(--color-border);transition:filter .2s,opacity .2s}.rte-editor img.rte-image-uploading{opacity:.6;filter:grayscale(100%) blur(2px);cursor:wait}:where(.rte-editor,.rte-reader) strong,:where(.rte-editor,.rte-reader) b{font-weight:700!important}:where(.rte-editor,.rte-reader) em,:where(.rte-editor,.rte-reader) i{font-style:italic!important}:where(.rte-editor,.rte-reader) u{text-decoration:underline!important;text-decoration-thickness:1.5px;text-underline-offset:2px}:where(.rte-editor,.rte-reader) s,:where(.rte-editor,.rte-reader) strike{text-decoration:line-through!important}.rte-editor ::selection{background:color-mix(in oklab,var(--color-primary) 22%,transparent)}.rte-toolbar{display:flex;flex-wrap:wrap;padding:6px 8px;gap:2px;border-bottom:1px solid var(--color-border);background:var(--color-background);border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0;align-items:center}.rte-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--color-muted-foreground);cursor:pointer;transition:all .1s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.rte-btn:hover:not(:disabled){background:var(--color-accent);color:var(--color-foreground)}.rte-btn--active{background:var(--color-accent);color:var(--color-foreground)}.rte-btn--text{font-size:.75rem;font-weight:700;width:auto;min-width:28px;padding:0 6px}.rte-icon{width:1.1rem;height:1.1rem;stroke-width:2.5}.rte-btn:disabled{opacity:.38;cursor:not-allowed;pointer-events:none}.rte-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.rte-sep{width:1px;height:18px;background:var(--color-border);margin:0 3px;flex-shrink:0}.rte-link-popover{position:absolute;top:0;left:0;z-index:60;width:300px;max-width:min(300px,calc(100vw - 24px));background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 2px 4px #0000000f,0 8px 24px #0000001a;padding:8px;display:flex;flex-direction:column;gap:6px;will-change:transform,opacity}.rte-link-input-row{display:flex;align-items:center;gap:6px;background:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0 8px;transition:border-color .15s ease,box-shadow .15s ease}.rte-link-input-row:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in oklab,var(--color-primary) 12%,transparent)}.rte-link-icon-prefix{width:.875rem;height:.875rem;color:var(--color-muted-foreground);flex-shrink:0}.rte-link-input{flex:1;background:transparent;border:none;outline:none;font-size:.8rem;color:var(--color-foreground);padding:7px 0;min-width:0;font-family:JetBrains Mono,Fira Code,ui-monospace,monospace}.rte-link-input::placeholder{color:var(--color-muted-foreground);font-family:inherit}.rte-link-actions-row{display:flex;align-items:center;gap:3px}.rte-link-action-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:none;border-radius:var(--radius-sm);background:transparent;font-size:.75rem;font-weight:500;cursor:pointer;color:var(--color-muted-foreground);transition:background .12s ease,color .12s ease}.rte-link-action-btn:hover{background:var(--color-accent);color:var(--color-foreground)}.rte-link-action-btn--danger{color:var(--color-destructive)}.rte-link-action-btn--danger:hover{background:color-mix(in oklab,var(--color-destructive) 10%,transparent);color:var(--color-destructive)}.rte-link-apply-btn{background:var(--color-primary);color:var(--color-primary-foreground);width:24px;height:24px;padding:4px;cursor:pointer}.rte-link-apply-btn:disabled{opacity:.5;cursor:not-allowed}.rte-link-apply-btn:hover:not(:disabled){background:color-mix(in oklab,var(--color-primary) 88%,var(--color-primary-foreground));color:var(--color-primary-foreground)}.rte-root{display:flex;flex-direction:column;gap:6px;width:100%}.rte-label{font-size:.825rem;font-weight:500;color:var(--color-foreground);margin-bottom:2px}.rte-wrapper{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius);position:relative;transition:border-color .15s ease,box-shadow .15s ease;display:flex;flex-direction:column}.rte-root.rte-focused .rte-wrapper{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in oklab,var(--color-primary) 12%,transparent)}.rte-root.rte-disabled .rte-wrapper{background:var(--color-muted);opacity:.6}.rte-root.rte-error .rte-wrapper{border-color:var(--color-destructive)}.rte-root.rte-error.rte-focused .rte-wrapper{box-shadow:0 0 0 2px color-mix(in oklab,var(--color-destructive) 15%,transparent)}.rte-body-wrap{position:relative;overflow:visible}.rte-editor{outline:none;padding:14px 16px;color:var(--color-foreground);font-size:.9rem;line-height:1.7;width:100%;box-sizing:border-box;overflow-y:auto;border-radius:0 0 var(--radius) var(--radius);word-break:break-word;overflow-wrap:break-word;will-change:transform;contain:layout style}.rte-editor[contenteditable=true]{caret-color:var(--color-primary)}.rte-placeholder{position:absolute;top:14px;left:16px;color:var(--color-muted-foreground);font-size:.9rem;pointer-events:none;-webkit-user-select:none;user-select:none;line-height:1.7}.rte-error-msg{font-size:.78rem;color:var(--color-destructive);margin:0;line-height:1.4}.rte-reader[data-v-55b9fd8b]{font-family:inherit;color:var(--color-foreground);font-size:.9rem;line-height:1.7;word-break:break-word;overflow-wrap:break-word;padding:0;margin:0}.sheet-container[data-v-e674bcbc]{will-change:transform;contain:layout style}.vl-comment-actions[data-v-446c60ad]{opacity:0;transition:opacity .15s ease}.vl-comment:hover:not(:has(.vl-comment:hover))>div>.vl-comment-header>.vl-comment-actions[data-v-446c60ad]{opacity:1}.vl-comment-actions[data-v-446c60ad]:focus-within{opacity:1}.vl-comment:has(.vl-comment-actions button[aria-label="Confirm delete"]) .vl-comment-actions[data-v-446c60ad]{opacity:1}.accordion-enter-active[data-v-0075dffb],.accordion-leave-active[data-v-0075dffb]{transition:height .3s ease-in-out;will-change:height}.content-wrapper[data-v-0075dffb]{contain:paint}.sidebar-manu-item .tooltip-trigger{width:100%!important}.sidebar-menu-tooltip{margin-left:4px!important}[dir=rtl] .sidebar-menu-tooltip{margin-right:4px!important}.drill-forward-enter-active,.drill-forward-leave-active{transition:all .28s cubic-bezier(.4,0,.2,1)}.drill-forward-enter-from{opacity:0;transform:translate(40%)}.drill-forward-enter-to,.drill-forward-leave-from{opacity:1;transform:translate(0)}.drill-forward-leave-to{opacity:0;transform:translate(-40%)}.drill-forward-leave-active{position:absolute;top:0;left:0;right:0}.drill-backward-enter-active,.drill-backward-leave-active{transition:all .28s cubic-bezier(.4,0,.2,1)}.drill-backward-enter-from{opacity:0;transform:translate(-40%)}.drill-backward-enter-to,.drill-backward-leave-from{opacity:1;transform:translate(0)}.drill-backward-leave-to{opacity:0;transform:translate(40%)}.drill-backward-leave-active{position:absolute;top:0;left:0;right:0}.sidebar-drilldown-container{min-height:0}.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)}}.permission-matrix-wrapper[data-v-f4695eed]{max-height:70vh;will-change:transform;contain:layout style}.permission-list-wrapper[data-v-a42b2fb0]{border:1px solid var(--color-border);border-radius:.5rem;overflow:hidden;background-color:var(--color-background);will-change:transform;contain:layout style}.custom-list-header[data-v-a42b2fb0]{background-color:var(--color-muted);border-bottom:1px solid var(--color-border);padding:var(--cell-py) var(--cell-px)}.custom-list-group-content .custom-list-item[data-v-a42b2fb0]{border-bottom:1px solid var(--color-border);padding:var(--cell-py) var(--cell-px);background-color:var(--color-background)}.custom-list-group-content .custom-list-item[data-v-a42b2fb0]:hover{background-color:var(--color-accent)}.custom-list-group-content .custom-list-item[data-v-a42b2fb0]:last-child{border-bottom:none}.custom-list-group-content+.custom-list-header[data-v-a42b2fb0],.custom-list-header+.custom-list-header[data-v-a42b2fb0]{border-top:1px solid var(--color-border)}.permission-list-wrapper>.custom-list-header[data-v-a42b2fb0]:last-child{border-bottom:none}.permission-matrix-wrapper[data-v-e8bfdc18]{border:1px solid var(--color-border);background-color:var(--color-gray-100);border-radius:.5rem;overflow:auto;max-height:65vh;position:relative;will-change:transform;contain:layout style}.custom-table[data-v-e8bfdc18]{width:100%;border-collapse:collapse}.custom-sticky-header th[data-v-e8bfdc18]{position:sticky;top:0;z-index:20;box-shadow:0 1px 0 var(--color-border)}.custom-th[data-v-e8bfdc18]{background-color:var(--color-gray-150);color:var(--color-foreground);background-clip:padding-box;border-bottom:none;border-left:1px solid var(--color-border);padding:var(--cell-py) var(--cell-px);text-align:left;font-weight:600;min-width:200px}thead:not(.custom-sticky-header) .custom-th[data-v-e8bfdc18]{border-bottom:1px solid var(--color-border)}.custom-th.text-center[data-v-e8bfdc18]{text-align:center;min-width:100px}.custom-th[data-v-e8bfdc18]:first-child{border-left:none}.custom-td[data-v-e8bfdc18]{border-bottom:1px solid var(--color-border);border-left:1px solid var(--color-border);padding:var(--cell-py) var(--cell-px)}.custom-td.text-center[data-v-e8bfdc18]{text-align:center}.custom-td[data-v-e8bfdc18]:first-child{border-left:none}.custom-group-row td[data-v-e8bfdc18]{background-color:var(--color-gray-100);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.custom-entity-row[data-v-e8bfdc18]{background-color:var(--color-background);transition:background-color .1s ease}.custom-entity-row[data-v-e8bfdc18]:hover{background-color:var(--color-gray-50)}.custom-entity-row:last-child td[data-v-e8bfdc18]{border-bottom:none}.custom-active-cell[data-v-e8bfdc18]{cursor:pointer}.custom-active-cell[data-v-e8bfdc18]:hover{background-color:var(--color-accent)}.category-manager--loading[data-v-dd34fa1d]{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-fade-enter-active[data-v-dd34fa1d],.cm-fade-leave-active[data-v-dd34fa1d]{transition:opacity .2s ease}.cm-fade-enter-from[data-v-dd34fa1d],.cm-fade-leave-to[data-v-dd34fa1d]{opacity:0}.attached-group[data-v-298c3d8a] button{position:relative}.attached-group[data-v-298c3d8a] button:focus-visible,.attached-group[data-v-298c3d8a] button:hover{z-index:10}.attached-group[data-v-298c3d8a]:not(.vertical-group) button:not(:first-child){margin-inline-start:-1px}.attached-group[data-v-298c3d8a]:not(.vertical-group) button:first-child{border-start-end-radius:0!important;border-end-end-radius:0!important}.attached-group[data-v-298c3d8a]:not(.vertical-group) button:not(:first-child):not(:last-child){border-radius:0!important}.attached-group[data-v-298c3d8a]:not(.vertical-group) button:last-child{border-start-start-radius:0!important;border-end-start-radius:0!important}.vertical-group[data-v-298c3d8a] button:not(:first-child){margin-block-start:-1px}.vertical-group[data-v-298c3d8a] button:first-child{border-end-start-radius:0!important;border-end-end-radius:0!important}.vertical-group[data-v-298c3d8a] button:not(:first-child):not(:last-child){border-radius:0!important}.vertical-group[data-v-298c3d8a] button:last-child{border-start-start-radius:0!important;border-start-end-radius:0!important}.attached-group[data-v-298c3d8a]:not(.vertical-group) button:not(:first-child):not(.border):before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:1px;background-color:currentColor;opacity:.15;z-index:5;pointer-events:none;height:100%}.vertical-group[data-v-298c3d8a] button:not(:first-child):not(.border):before{content:"";position:absolute;top:0;left:0;right:0;height:1px;width:100%;background-color:currentColor;opacity:.15;z-index:5;pointer-events:none}[data-v-63e46f6b] .calendar-view{--calendar-primary-color: var(--color-primary);--calendar-bg-color: transparent !important;--calendar-border-color: var(--color-border);--calendar-text-color: var(--color-foreground);--calendar-hover-color: var(--color-accent)}[data-v-63e46f6b] .v-event-calendar .add-event-icon,[data-v-63e46f6b] .v-event-calendar .add-event-icon svg{color:var(--color-primary-fg)!important}.vlite-line-chart[data-v-07c9fb47]{position:relative}.vlite-scc-grid[data-v-e6172e07]{display:flex;width:100%}.vlite-scc-card[data-v-e6172e07]{flex:1;position:relative;display:flex;align-items:stretch}.vlite-scc-separator[data-v-e6172e07]{width:1px;align-self:stretch;background:var(--color-border, #e4e4e7);opacity:.3;margin:8px 0;flex-shrink:0;background-image:repeating-linear-gradient(to bottom,var(--color-border, #e4e4e7) 0px,var(--color-border, #e4e4e7) 4px,transparent 4px,transparent 8px);background-color:transparent}.vlite-scc-content[data-v-e6172e07]{display:flex;flex-direction:column;align-items:flex-start;padding:16px 20px;flex:1;min-height:200px}.vlite-scc-label[data-v-e6172e07]{font-size:13px;font-weight:500;color:var(--color-muted-foreground, #71717a);margin:0 0 6px}.vlite-scc-pct[data-v-e6172e07]{font-size:36px;font-weight:800;color:var(--color-foreground, #09090b);margin:0;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.vlite-scc-spacer[data-v-e6172e07]{flex:1}.vlite-scc-indicator[data-v-e6172e07]{border-radius:10px;margin-bottom:14px;transition:width .6s ease,height .6s ease}.vlite-scc-footer[data-v-e6172e07]{display:flex;align-items:center;gap:8px}.vlite-scc-value[data-v-e6172e07]{font-size:14px;font-weight:600;color:var(--color-foreground, #09090b);font-variant-numeric:tabular-nums}.vlite-scc-trend-icon[data-v-e6172e07]{width:14px;height:14px}.vlite-scc-trend-up[data-v-e6172e07]{color:var(--color-success, #22c55e);transform:rotate(25deg)}.vlite-scc-trend-down[data-v-e6172e07]{color:var(--color-danger, #ef4444);transform:rotate(-25deg)}.vlite-gantt-chart[data-v-91cc2885]{font-family:inherit}.vlite-gantt-toolbar[data-v-91cc2885]{display:flex;justify-content:flex-end;margin-bottom:8px;gap:6px}.vlite-gantt-btn[data-v-91cc2885]{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;font-size:11px;font-weight:600;color:var(--color-muted-foreground);background:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:all .15s}.vlite-gantt-btn[data-v-91cc2885]:hover:not(:disabled){background:var(--color-accent);color:var(--color-foreground)}.vlite-gantt-btn[data-v-91cc2885]:disabled{opacity:.5;cursor:not-allowed}.vlite-gantt-zoom-controls[data-v-91cc2885]{display:flex;gap:6px}.vlite-gantt-wrapper[data-v-91cc2885]{display:flex;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-background)}.vlite-gantt-sidebar[data-v-91cc2885]{flex-shrink:0;border-right:1px solid var(--color-border);background:var(--color-background);z-index:2}.vlite-gantt-sidebar-header[data-v-91cc2885]{display:flex;align-items:center;padding:0 16px;border-bottom:1px solid var(--color-border);background:color-mix(in oklab,var(--color-background) 97%,var(--color-foreground))}.vlite-gantt-sidebar-body[data-v-91cc2885]{overflow-y:hidden;overflow-x:hidden}.vlite-gantt-sidebar-row[data-v-91cc2885]{display:flex;align-items:center;padding:0 12px;border-bottom:1px solid color-mix(in oklab,var(--color-border) 50%,transparent)}.vlite-gantt-group-toggle[data-v-91cc2885]{display:flex;align-items:center;gap:6px;width:100%;padding:0 4px;background:none;border:none;cursor:pointer;color:inherit;text-align:left}.vlite-gantt-group-toggle[data-v-91cc2885]:hover{opacity:.8}.vlite-gantt-chevron[data-v-91cc2885]{transition:transform .2s ease;color:var(--color-muted-foreground);flex-shrink:0}.vlite-gantt-chevron-collapsed[data-v-91cc2885]{transform:rotate(-90deg)}.vlite-gantt-group-count[data-v-91cc2885]{font-size:10px;font-weight:600;color:var(--color-muted-foreground);background:var(--color-muted);padding:1px 6px;border-radius:99px;margin-left:auto}.vlite-gantt-task-name[data-v-91cc2885]{display:flex;align-items:center;gap:8px;cursor:pointer;padding:0 4px;width:100%;transition:all .15s}.vlite-gantt-task-name[data-v-91cc2885]:hover{opacity:.75}.vlite-gantt-task-name-grouped[data-v-91cc2885]{padding-left:20px}.vlite-gantt-task-name-dragging[data-v-91cc2885]{background:color-mix(in oklab,var(--color-primary) 8%,transparent);border-radius:4px}.vlite-gantt-task-dot[data-v-91cc2885]{width:7px;height:7px;border-radius:2px;flex-shrink:0}.vlite-gantt-progress-badge[data-v-91cc2885]{font-size:10px;font-weight:700;color:var(--color-muted-foreground);margin-left:auto;flex-shrink:0}.vlite-gantt-timeline[data-v-91cc2885]{flex:1;overflow-x:auto;overflow-y:auto;position:relative}.vlite-gantt-timeline-header[data-v-91cc2885]{position:sticky;top:0;z-index:1;border-bottom:1px solid var(--color-border);background:color-mix(in oklab,var(--color-background) 97%,var(--color-foreground))}.vlite-gantt-timeline-body[data-v-91cc2885]{position:relative}.vlite-gantt-bar-dragging[data-v-91cc2885]{filter:drop-shadow(0 2px 8px rgba(0,0,0,.15));z-index:10}.vlite-gantt-dep-group[data-v-91cc2885]{transition:opacity .2s}.vlite-gantt-dep-group[data-v-91cc2885]:hover{opacity:1!important}.vlite-gantt-tooltip-progress-track[data-v-91cc2885]{width:60px;height:4px;border-radius:2px;background:var(--color-muted);overflow:hidden}.vlite-gantt-tooltip-progress-fill[data-v-91cc2885]{height:100%;border-radius:2px;transition:width .3s ease}.vlite-gantt-timeline[data-v-91cc2885]::-webkit-scrollbar{height:6px;width:6px}.vlite-gantt-timeline[data-v-91cc2885]::-webkit-scrollbar-track{background:transparent}.vlite-gantt-timeline[data-v-91cc2885]::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:3px}.vlite-gantt-timeline[data-v-91cc2885]::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-hover)}.vlite-gantt-sidebar-body[data-v-91cc2885]::-webkit-scrollbar{width:0;display:none}.is-solid[data-v-33afc5cb] path,.is-solid[data-v-33afc5cb] polygon,.is-solid[data-v-33afc5cb] circle,.is-solid[data-v-33afc5cb] rect{fill:currentColor!important}.toast-item[data-v-9c775c23]{will-change:transform,opacity;contain:layout style}.first-toast-enter-active[data-v-9c775c23]{animation:first-toast-in-9c775c23 .45s cubic-bezier(.23,1,.32,1) forwards}.first-toast-leave-active[data-v-9c775c23]{transition:all .25s ease-in}.first-toast-leave-to[data-v-9c775c23]{opacity:0;transform:scale(.98)}@keyframes first-toast-in-9c775c23{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-9c775c23],.stack-toast-leave-active[data-v-9c775c23]{transition:all .3s cubic-bezier(.16,1,.3,1)}.stack-toast-enter-from[data-v-9c775c23]{opacity:0;transform:scale(.95) translateY(10px)}.stack-toast-leave-to[data-v-9c775c23]{opacity:0;transform:scale(.95)}.stack-toast-move[data-v-9c775c23]{transition:transform .4s cubic-bezier(.16,1,.3,1)}.cp-item-transition[data-v-66b1ae06]{transition:background-color 80ms ease,color 80ms ease}.command-palette-content[data-v-aa0dbb48] ::-webkit-scrollbar{width:4px}.command-palette-content[data-v-aa0dbb48] ::-webkit-scrollbar-track{background:transparent}.command-palette-content[data-v-aa0dbb48] ::-webkit-scrollbar-thumb{background:var(--border);border-radius:9999px}.cp-scroll-container[data-v-aa0dbb48]{transform:translateZ(0);will-change:transform;touch-action:pan-y;backface-visibility:hidden}
1708
1707