vlite3 1.1.7 → 1.1.8

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.
@@ -4,7 +4,7 @@ import k from "../Icon.vue.js";
4
4
  import { $t as E } from "../../utils/i18n.js";
5
5
  import { useCommandPaletteItems as Y } from "./useCommandPaletteItems.js";
6
6
  import { useCommandPaletteNav as Z } from "./useCommandPaletteNav.js";
7
- import ee from "./CommandPaletteItem.vue.js";
7
+ import ee from "./CommandPaletteItem.vue2.js";
8
8
  const te = { class: "command-palette-content flex flex-col w-full h-full max-h-[70vh]" }, oe = { class: "flex items-center gap-3 px-4 py-3 border-b border-border/80 shrink-0" }, se = ["placeholder"], ne = ["aria-label"], re = {
9
9
  key: 0,
10
10
  class: "flex flex-col items-center justify-center py-14 px-6 text-center select-none",
@@ -1,5 +1,5 @@
1
1
  import t from "./CommandPaletteItem.vue3.js";
2
- /* empty css */
2
+ /* empty css */
3
3
  import o from "../../_virtual/_plugin-vue_export-helper.js";
4
4
  const r = /* @__PURE__ */ o(t, [["__scopeId", "data-v-66b1ae06"]]);
5
5
  export {
@@ -1,12 +1,12 @@
1
- import { defineComponent as oe, ref as i, computed as c, inject as ae, onMounted as ie, onUnmounted as se, watch as T, provide as V, reactive as re, toRefs as de, openBlock as M, createElementBlock as R, normalizeStyle as ue, createVNode as P, unref as u, withCtx as f, renderSlot as m, createCommentVNode as z, createBlock as ce, normalizeClass as fe, createSlots as me, normalizeProps as j, guardReactiveProps as U } from "vue";
1
+ import { defineComponent as oe, ref as i, computed as f, inject as ae, onMounted as ie, onUnmounted as se, watch as M, provide as V, reactive as re, toRefs as de, openBlock as P, createElementBlock as R, normalizeStyle as ue, createVNode as x, unref as u, withCtx as m, renderSlot as v, createCommentVNode as z, createBlock as ce, normalizeClass as fe, createSlots as me, normalizeProps as j, guardReactiveProps as U } from "vue";
2
2
  import ve from "v-tooltip-lite";
3
3
  import "v-tooltip-lite/style.css";
4
4
  import ye from "./DropdownMenu.vue.js";
5
5
  import he from "./DropdownTrigger.vue.js";
6
6
  import ge from "../ConfirmationModal.vue.js";
7
7
  import { useDropdownIds as pe } from "./composables/useDropdownIds.js";
8
- import { useDropdownSelection as Ce } from "./composables/useDropdownSelection.js";
9
- import { useDropdownHydration as be } from "./composables/useDropdownHydration.js";
8
+ import { useDropdownSelection as be } from "./composables/useDropdownSelection.js";
9
+ import { useDropdownHydration as Ce } from "./composables/useDropdownHydration.js";
10
10
  const Oe = {
11
11
  key: 0,
12
12
  tabindex: "0"
@@ -54,40 +54,40 @@ const Oe = {
54
54
  },
55
55
  emits: ["onSelect", "update:modelValue", "onOpen", "onClose", "update:isOpen", "load-more", "search"],
56
56
  setup(t, { emit: q }) {
57
- const l = t, v = q, p = i(!1), y = i(null), r = i({
57
+ const l = t, y = q, p = i(!1), h = i(null), r = i({
58
58
  title: "Confirm Selection",
59
59
  description: "Are you sure you want to select this option?",
60
60
  confirmText: "Confirm",
61
61
  cancelText: "Cancel",
62
62
  variant: "primary"
63
- }), F = c(() => l.position ? l.position : l.direction === "rtl" ? "bottom-end" : "bottom-start"), G = c(() => l.nestedPosition ? l.nestedPosition : l.direction === "rtl" ? "left-start" : "right-start"), C = i(l.isOpen || !1), b = i(0), J = `dropdown-${Math.random().toString(36).substring(2, 9)}`, w = c(() => l.menuId || J), h = i([]), s = ae("dropdown-context", null), K = (e) => {
64
- h.value.includes(e) || h.value.push(e), s?.registerChildId?.(e);
63
+ }), F = f(() => l.position ? l.position : l.direction === "rtl" ? "bottom-end" : "bottom-start"), G = f(() => l.nestedPosition ? l.nestedPosition : l.direction === "rtl" ? "left-start" : "right-start"), b = i(l.isOpen || !1), C = i(0), J = `dropdown-${Math.random().toString(36).substring(2, 9)}`, w = f(() => l.menuId || J), g = i([]), s = ae("dropdown-context", null), K = (e) => {
64
+ g.value.includes(e) || g.value.push(e), s?.registerChildId?.(e);
65
65
  }, Q = (e) => {
66
- h.value = h.value.filter((o) => o !== e), s?.unregisterChildId?.(e);
66
+ g.value = g.value.filter((o) => o !== e), s?.unregisterChildId?.(e);
67
67
  };
68
68
  ie(() => {
69
69
  s?.registerChildId && s.registerChildId(`#${w.value}`);
70
70
  }), se(() => {
71
71
  s?.unregisterChildId && s.unregisterChildId(`#${w.value}`);
72
- }), T(
72
+ }), M(
73
73
  () => l.isOpen,
74
74
  (e) => {
75
75
  if (e !== void 0) {
76
76
  if ((l.disabled || l.readonly) && e) return;
77
- C.value = e;
77
+ b.value = e;
78
78
  }
79
79
  }
80
80
  );
81
- const x = (e) => {
81
+ const N = (e) => {
82
82
  if (l.disabled || l.readonly) {
83
- C.value = !1, v("update:isOpen", !1);
83
+ b.value = !1, y("update:isOpen", !1);
84
84
  return;
85
85
  }
86
- C.value = e, v("update:isOpen", e), v(e ? "onOpen" : "onClose"), s?.onChildToggle?.(e);
86
+ b.value = e, y("update:isOpen", e), y(e ? "onOpen" : "onClose"), s?.onChildToggle?.(e);
87
87
  }, O = () => {
88
- x(!1);
88
+ N(!1);
89
89
  }, W = (e) => {
90
- e ? b.value++ : b.value = Math.max(0, b.value - 1);
90
+ e ? C.value++ : C.value = Math.max(0, C.value - 1);
91
91
  };
92
92
  V("dropdown-context", {
93
93
  close: O,
@@ -97,9 +97,9 @@ const Oe = {
97
97
  registerChildId: K,
98
98
  unregisterChildId: Q
99
99
  }), V("modal-context", null);
100
- const N = c(() => l.options ? l.options.map((e) => typeof e == "string" || typeof e == "number" ? { label: String(e), value: String(e) } : e) : []), S = i([]), E = i(!1), I = i(!1);
101
- T(
102
- N,
100
+ const I = f(() => l.options ? l.options.map((e) => typeof e == "string" || typeof e == "number" ? { label: String(e), value: String(e) } : e) : []), S = i([]), E = i(!1), $ = i(!1);
101
+ M(
102
+ I,
103
103
  (e) => {
104
104
  if (e) {
105
105
  if (l.remote) {
@@ -110,41 +110,41 @@ const Oe = {
110
110
  } else
111
111
  S.value = e;
112
112
  !E.value && e.length > 0 && (E.value = !0, setTimeout(() => {
113
- I.value = !0, A($.value);
113
+ $.value = !0, A(B.value);
114
114
  }, 10));
115
115
  }
116
116
  },
117
117
  { immediate: !0 }
118
118
  );
119
- const g = c(() => {
119
+ const c = f(() => {
120
120
  const e = [...S.value], o = new Set(e.map((n) => n.value ?? n.label));
121
121
  return k.value.forEach((n, d) => {
122
122
  o.has(d) || (e.unshift(n), o.add(d));
123
123
  }), e;
124
- }), { selectedBuffer: k, isHydrating: X, hydrateSelected: A } = be({
124
+ }), { selectedBuffer: k, isHydrating: X, hydrateSelected: A } = Ce({
125
125
  fetchSelected: l.fetchSelected,
126
- getAvailableOptions: () => g.value,
127
- isReady: () => I.value
126
+ getAvailableOptions: () => c.value,
127
+ isReady: () => $.value
128
128
  }), { getAllRecursiveIds: Y } = pe(), Z = re({
129
129
  ...de(l),
130
- options: g
131
- }), { currentValue: $, selectedLabel: H, selectedIcon: D, selectOption: _ } = Ce(
130
+ options: c
131
+ }), { currentValue: B, selectedLabel: H, selectedIcon: D, selectOption: _ } = be(
132
132
  Z,
133
- v
134
- ), ee = c(() => {
135
- const e = l.ignoreClickOutside || [], o = Y(g.value);
136
- return [.../* @__PURE__ */ new Set([...e, ...o, ...h.value])];
133
+ y
134
+ ), ee = f(() => {
135
+ const e = l.ignoreClickOutside || [], o = Y(c.value);
136
+ return [.../* @__PURE__ */ new Set([...e, ...o, ...g.value])];
137
137
  });
138
- T(
139
- () => $.value,
138
+ M(
139
+ () => B.value,
140
140
  (e) => {
141
- I.value && A(e);
141
+ $.value && A(e);
142
142
  },
143
143
  { deep: !0 }
144
144
  );
145
145
  const te = (e) => {
146
146
  if (l.disabled || l.readonly || e.disabled) return;
147
- l.doubleConfirmation || !!e.confirmation ? (y.value = e, typeof e.confirmation == "object" ? r.value = {
147
+ l.doubleConfirmation || !!e.confirmation ? (h.value = e, typeof e.confirmation == "object" ? r.value = {
148
148
  title: e.confirmation.title || "Confirm Selection",
149
149
  description: e.confirmation.description || "Are you sure you want to select this option?",
150
150
  confirmText: e.confirmation.confirmText || "Confirm",
@@ -164,46 +164,46 @@ const Oe = {
164
164
  const n = _(e);
165
165
  if (!l.isNested) {
166
166
  const d = e._originalOption || e, a = d.value ?? d.label;
167
- (e._path || [d]).forEach((B) => {
168
- typeof B.onSelect == "function" && B.onSelect({
167
+ (e._path || [d]).forEach((T) => {
168
+ typeof T.onSelect == "function" && T.onSelect({
169
169
  value: a,
170
- option: B,
171
- data: g.value || [],
170
+ option: T,
171
+ data: c.value || [],
172
172
  values: n
173
173
  });
174
174
  });
175
175
  }
176
176
  }, le = () => {
177
- y.value && (L(y.value), y.value = null, p.value = !1);
177
+ h.value && (L(h.value), h.value = null, p.value = !1);
178
178
  }, ne = () => {
179
- y.value = null, p.value = !1;
179
+ h.value = null, p.value = !1;
180
180
  };
181
- return (e, o) => (M(), R("div", {
181
+ return (e, o) => (P(), R("div", {
182
182
  class: "relative inline-block text-left",
183
183
  style: ue({ direction: t.direction })
184
184
  }, [
185
- P(u(ve), {
185
+ x(u(ve), {
186
186
  content: "",
187
187
  trigger: "click",
188
188
  arrow: !1,
189
189
  teleport: t.teleport,
190
190
  offset: t.offset,
191
191
  placement: F.value,
192
- isOpen: C.value,
193
- keepAlive: b.value > 0,
192
+ isOpen: b.value,
193
+ keepAlive: C.value > 0,
194
194
  menuId: w.value,
195
195
  ignoreClickOutside: ee.value,
196
196
  class: "w-full",
197
197
  className: "dropdown " + (t.className || ""),
198
198
  onOnShow: o[2] || (o[2] = (n) => e.$emit("onOpen")),
199
199
  onOnHide: o[3] || (o[3] = (n) => e.$emit("onClose")),
200
- "onUpdate:isOpen": x,
200
+ "onUpdate:isOpen": N,
201
201
  triggerClass: "w-full",
202
202
  styles: { padding: "0" }
203
203
  }, {
204
- trigger: f(({ isOpen: n }) => [
205
- m(e.$slots, "trigger", j(U({ selectedLabel: u(H), selectedIcon: t.showSelectedIcon ? u(D) : void 0, isOpen: n })), () => [
206
- P(he, {
204
+ trigger: m(({ isOpen: n }) => [
205
+ v(e.$slots, "trigger", j(U({ selectedLabel: u(H), selectedIcon: t.showSelectedIcon ? u(D) : void 0, isOpen: n })), () => [
206
+ x(he, {
207
207
  "selected-label": u(H),
208
208
  "selected-icon": t.showSelectedIcon ? u(D) : void 0,
209
209
  "is-open": n,
@@ -215,18 +215,18 @@ const Oe = {
215
215
  }, null, 8, ["selected-label", "selected-icon", "is-open", "direction", "disabled", "readonly", "triggerProps"])
216
216
  ])
217
217
  ]),
218
- default: f(() => [
219
- e.$slots?.default ? (M(), R("span", Oe, [
220
- m(e.$slots, "default")
218
+ default: m(() => [
219
+ e.$slots?.default ? (P(), R("span", Oe, [
220
+ v(e.$slots, "default")
221
221
  ])) : z("", !0),
222
- t.disabled || t.readonly ? z("", !0) : (M(), ce(ye, {
222
+ !(t.disabled || t.readonly) && (I.value.length || c.value.length || e.$slots.menu || e.$slots.item || t.remote || t.searchable) ? (P(), ce(ye, {
223
223
  key: 1,
224
- options: N.value,
225
- cachedOptions: g.value,
224
+ options: I.value,
225
+ cachedOptions: c.value,
226
226
  class: fe(t.className),
227
227
  emptyMessage: t.emptyMessage,
228
228
  searchEmptyMessage: t.searchEmptyMessage,
229
- selected: u($),
229
+ selected: u(B),
230
230
  selectedIndex: t.selectedIndex,
231
231
  maxHeight: t.maxHeight,
232
232
  nestedPosition: G.value,
@@ -247,37 +247,37 @@ const Oe = {
247
247
  }, me({ _: 2 }, [
248
248
  e.$slots.menu ? {
249
249
  name: "menu",
250
- fn: f(() => [
251
- m(e.$slots, "menu")
250
+ fn: m(() => [
251
+ v(e.$slots, "menu")
252
252
  ]),
253
253
  key: "0"
254
254
  } : void 0,
255
255
  e.$slots.item ? {
256
256
  name: "item",
257
- fn: f((n) => [
258
- m(e.$slots, "item", j(U(n)))
257
+ fn: m((n) => [
258
+ v(e.$slots, "item", j(U(n)))
259
259
  ]),
260
260
  key: "1"
261
261
  } : void 0,
262
262
  e.$slots.header ? {
263
263
  name: "header",
264
- fn: f(() => [
265
- m(e.$slots, "header")
264
+ fn: m(() => [
265
+ v(e.$slots, "header")
266
266
  ]),
267
267
  key: "2"
268
268
  } : void 0,
269
269
  e.$slots.footer ? {
270
270
  name: "footer",
271
- fn: f(() => [
272
- m(e.$slots, "footer")
271
+ fn: m(() => [
272
+ v(e.$slots, "footer")
273
273
  ]),
274
274
  key: "3"
275
275
  } : void 0
276
- ]), 1032, ["options", "cachedOptions", "class", "emptyMessage", "searchEmptyMessage", "selected", "selectedIndex", "maxHeight", "nestedPosition", "nestedOffset", "selectable", "direction", "layout", "columns", "loading", "hasMore", "searchable", "remote", "debounceTime"]))
276
+ ]), 1032, ["options", "cachedOptions", "class", "emptyMessage", "searchEmptyMessage", "selected", "selectedIndex", "maxHeight", "nestedPosition", "nestedOffset", "selectable", "direction", "layout", "columns", "loading", "hasMore", "searchable", "remote", "debounceTime"])) : z("", !0)
277
277
  ]),
278
278
  _: 3
279
279
  }, 8, ["teleport", "offset", "placement", "isOpen", "keepAlive", "menuId", "ignoreClickOutside", "className"]),
280
- P(ge, {
280
+ x(ge, {
281
281
  show: p.value,
282
282
  title: r.value.title,
283
283
  description: r.value.description,
@@ -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-0cfd4711"]]);
4
+ const m = /* @__PURE__ */ r(o, [["__scopeId", "data-v-b2017bca"]]);
5
5
  export {
6
6
  m as default
7
7
  };
@@ -1,4 +1,4 @@
1
- import { defineComponent as ee, ref as j, computed as y, watch as E, onMounted as te, onBeforeUnmount as le, openBlock as o, createElementBlock as i, createVNode as _, createCommentVNode as u, renderSlot as b, unref as r, normalizeStyle as se, normalizeClass as T, createElementVNode as k, toDisplayString as N, createBlock as h, Fragment as P, renderList as oe, withCtx as V, createSlots as ne, mergeProps as re, nextTick as ae } from "vue";
1
+ import { defineComponent as ee, ref as j, computed as y, watch as E, onMounted as te, onBeforeUnmount as le, openBlock as o, createElementBlock as i, createVNode as O, createCommentVNode as u, renderSlot as b, unref as r, normalizeStyle as se, normalizeClass as T, createElementVNode as k, toDisplayString as N, createBlock as h, Fragment as P, renderList as oe, withCtx as V, createSlots as ne, mergeProps as re, nextTick as ae } from "vue";
2
2
  import w from "../Icon.vue.js";
3
3
  import ie from "../Input.vue.js";
4
4
  /* empty css */
@@ -7,7 +7,7 @@ import de from "./DropdownBooleanItem.vue.js";
7
7
  import ue from "./DropdownGroupedLayout.vue.js";
8
8
  import { useDropdownNavigation as fe } from "./composables/useDropdownNavigation.js";
9
9
  import { useDropdownIds as me } from "./composables/useDropdownIds.js";
10
- import { $t as O } from "../../utils/i18n.js";
10
+ import { $t as $ } from "../../utils/i18n.js";
11
11
  import he from "./Dropdown.vue.js";
12
12
  const ve = ["dir"], ye = {
13
13
  key: 0,
@@ -17,17 +17,17 @@ const ve = ["dir"], ye = {
17
17
  class: "shrink-0"
18
18
  }, be = ["tabindex"], ke = {
19
19
  key: 0,
20
- class: "px-2 py-6 text-center text-sm text-muted-foreground whitespace-pre-line break-words flex flex-col items-center justify-center gap-2"
21
- }, we = { class: "-text-fs-1 font-medium" }, pe = {
20
+ class: "flex flex-col items-center justify-center px-4 py-8 text-center text-sm text-muted-foreground whitespace-pre-line break-words"
21
+ }, we = {
22
22
  key: 0,
23
23
  class: "h-px bg-border my-1 mx-1"
24
- }, xe = ["onMouseenter"], Me = { class: "flex items-center flex-1 min-w-0" }, Se = { class: "truncate" }, _e = {
24
+ }, pe = ["onMouseenter"], xe = { class: "flex items-center flex-1 min-w-0" }, Me = { class: "truncate" }, Se = {
25
25
  key: 3,
26
26
  class: "flex justify-center py-2"
27
27
  }, Oe = {
28
28
  key: 3,
29
29
  class: "shrink-0"
30
- }, ze = /* @__PURE__ */ ee({
30
+ }, De = /* @__PURE__ */ ee({
31
31
  __name: "DropdownMenu",
32
32
  props: {
33
33
  options: { default: () => [] },
@@ -52,14 +52,14 @@ const ve = ["dir"], ye = {
52
52
  },
53
53
  emits: ["select", "close", "load-more", "search"],
54
54
  setup(a, { emit: D }) {
55
- const t = a, f = D, $ = j(null), d = j(""), { getMenuId: z, getAllRecursiveIds: H } = me(), L = y(() => {
55
+ const t = a, f = D, _ = j(null), d = j(""), { getMenuId: z, getAllRecursiveIds: H } = me(), L = y(() => {
56
56
  if (d.value && d.value.trim() !== "")
57
57
  return t.searchEmptyMessage ? t.searchEmptyMessage : `No results found for
58
58
  "${d.value}"`;
59
- const e = O("vlite.dropdown.empty");
59
+ const e = $("vlite.dropdown.empty");
60
60
  return e !== "vlite.dropdown.empty" ? e : t.emptyMessage;
61
61
  }), R = y(() => {
62
- const e = O("vlite.dropdown.search");
62
+ const e = $("vlite.dropdown.search");
63
63
  return e !== "vlite.dropdown.search" ? e : "Search...";
64
64
  }), m = y(() => t.options ? t.options.map((e) => typeof e == "string" || typeof e == "number" ? { label: String(e), value: String(e) } : e) : []), I = y(() => t.searchable && (m.value.length || 0) > 5);
65
65
  let p = null;
@@ -84,7 +84,7 @@ const ve = ["dir"], ye = {
84
84
  } = fe({
85
85
  options: m,
86
86
  searchQuery: d,
87
- containerRef: $,
87
+ containerRef: _,
88
88
  emit: (e, ...s) => f(e, ...s),
89
89
  handleSelect: (e, s) => x(e)
90
90
  }), v = y(() => t.remote ? d.value ? m.value : t.cachedOptions.length ? t.cachedOptions : m.value : F.value), U = (e) => {
@@ -128,13 +128,13 @@ const ve = ["dir"], ye = {
128
128
  }), le(() => {
129
129
  window.removeEventListener("keydown", B);
130
130
  });
131
- const X = (e) => e.labelI18n ? O(e.labelI18n) : e.label, Y = (e) => e.showChevron !== !1;
131
+ const X = (e) => e.labelI18n ? $(e.labelI18n) : e.label, Y = (e) => e.showChevron !== !1;
132
132
  return (e, s) => (o(), i("div", {
133
133
  class: "dropdown-menu w-full min-w-[150px] flex flex-col",
134
134
  dir: a.direction
135
135
  }, [
136
136
  I.value ? (o(), i("div", ye, [
137
- _(ie, {
137
+ O(ie, {
138
138
  modelValue: d.value,
139
139
  "onUpdate:modelValue": s[0] || (s[0] = (l) => d.value = l),
140
140
  placeholder: R.value,
@@ -155,7 +155,7 @@ const ve = ["dir"], ye = {
155
155
  m.value.length > 0 || e.$slots.menu || v.value.length === 0 ? (o(), i("div", {
156
156
  key: 2,
157
157
  ref_key: "containerRef",
158
- ref: $,
158
+ ref: _,
159
159
  tabindex: I.value ? -1 : 0,
160
160
  role: "menu",
161
161
  class: T([
@@ -168,11 +168,11 @@ const ve = ["dir"], ye = {
168
168
  onScroll: A
169
169
  }, [
170
170
  v.value.length === 0 && !a.loading ? (o(), i("div", ke, [
171
- _(w, {
171
+ O(w, {
172
172
  icon: "lucide:inbox",
173
- class: "w-7.5 h-7.5 text-muted-foreground/65"
173
+ class: "w-8 h-8 mb-2 opacity-70"
174
174
  }),
175
- k("span", we, N(L.value), 1)
175
+ k("span", null, N(L.value), 1)
176
176
  ])) : u("", !0),
177
177
  a.layout === "grouped" ? (o(), h(ue, {
178
178
  key: 1,
@@ -182,7 +182,7 @@ const ve = ["dir"], ye = {
182
182
  columns: a.columns,
183
183
  onSelect: x
184
184
  }, null, 8, ["options", "selected", "selectable", "columns"])) : (o(!0), i(P, { key: 2 }, oe(v.value, (l, n) => (o(), i(P, { key: n }, [
185
- l.label === "---" ? (o(), i("div", pe)) : l.data?.isBoolean ? (o(), h(de, {
185
+ l.label === "---" ? (o(), i("div", we)) : l.data?.isBoolean ? (o(), h(de, {
186
186
  key: 1,
187
187
  option: l,
188
188
  value: G(l),
@@ -216,21 +216,21 @@ const ve = ["dir"], ye = {
216
216
  ]]),
217
217
  onMouseenter: (c) => r(S)(n)
218
218
  }, [
219
- k("div", Me, [
219
+ k("div", xe, [
220
220
  l.icon || l.emoji ? (o(), h(w, {
221
221
  key: 0,
222
222
  icon: l.icon,
223
223
  emoji: l.emoji,
224
224
  class: "mr-2 h-4 w-4 shrink-0 mt-0.5"
225
225
  }, null, 8, ["icon", "emoji"])) : u("", !0),
226
- k("span", Se, N(X(l)), 1)
226
+ k("span", Me, N(X(l)), 1)
227
227
  ]),
228
228
  Y(l) ? (o(), h(w, {
229
229
  key: 0,
230
230
  icon: a.direction === "rtl" ? "lucide:chevron-left" : "lucide:chevron-right",
231
231
  class: "h-4 w-4 text-muted-foreground shrink-0 ml-2"
232
232
  }, null, 8, ["icon"])) : u("", !0)
233
- ], 42, xe)
233
+ ], 42, pe)
234
234
  ]),
235
235
  _: 2
236
236
  }, 1032, ["position", "offset", "options", "selected", "menuId", "nestedPosition", "nestedOffset", "selectable", "ignoreClickOutside", "direction", "onOnSelect"])) : (o(), h(ce, {
@@ -252,8 +252,8 @@ const ve = ["dir"], ye = {
252
252
  } : void 0
253
253
  ]), 1032, ["option", "index", "selected", "focused", "selectable", "onClick", "onMouseenter"]))
254
254
  ], 64))), 128)),
255
- a.loading ? (o(), i("div", _e, [
256
- _(w, {
255
+ a.loading ? (o(), i("div", Se, [
256
+ O(w, {
257
257
  icon: "lucide:loader-2",
258
258
  class: "w-4 h-4 animate-spin text-muted-foreground"
259
259
  })
@@ -267,5 +267,5 @@ const ve = ["dir"], ye = {
267
267
  }
268
268
  });
269
269
  export {
270
- ze as default
270
+ De as default
271
271
  };
@@ -22,7 +22,23 @@ interface Props {
22
22
  wrap?: boolean;
23
23
  rounded?: 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full' | string;
24
24
  }
25
- declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
25
+ declare function __VLS_template(): {
26
+ attrs: Partial<{}>;
27
+ slots: {
28
+ menu?(_: {}): any;
29
+ item?(_: {
30
+ option: IDropdownOption;
31
+ index: number;
32
+ selected: boolean;
33
+ }): any;
34
+ header?(_: {}): any;
35
+ footer?(_: {}): any;
36
+ };
37
+ refs: {};
38
+ rootEl: HTMLDivElement;
39
+ };
40
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
41
+ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
26
42
  search: (query: string) => any;
27
43
  change: (value: any[]) => any;
28
44
  "update:modelValue": (value: any[]) => any;
@@ -51,4 +67,10 @@ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, imp
51
67
  showControls: boolean;
52
68
  wrap: boolean;
53
69
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
70
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
54
71
  export default _default;
72
+ type __VLS_WithTemplateSlots<T, S> = T & {
73
+ new (): {
74
+ $slots: S;
75
+ };
76
+ };
@@ -1,17 +1,17 @@
1
- import { defineComponent as P, ref as k, computed as s, watch as z, openBlock as r, createBlock as m, unref as b, withCtx as h, createCommentVNode as f, createElementVNode as y, withKeys as E, withModifiers as p, normalizeClass as c, createElementBlock as v, toDisplayString as $, Fragment as I, renderList as R, createVNode as T, createTextVNode as U } from "vue";
2
- import S from "../Icon.vue.js";
3
- import q from "../Dropdown/Dropdown.vue.js";
4
- import G from "../Dropdown/DropdownMenu.vue.js";
5
- import { $t as M } from "../../utils/i18n.js";
6
- import N from "../Badge.vue.js";
7
- import { useMultiSelectHydration as J } from "./composables/useMultiSelectHydration.js";
8
- const Q = ["tabindex", "data-testid"], W = {
1
+ import { defineComponent as F, ref as V, computed as s, watch as E, openBlock as r, createBlock as f, unref as y, withCtx as d, createSlots as U, renderSlot as b, normalizeProps as q, guardReactiveProps as G, createCommentVNode as v, createElementVNode as p, withKeys as I, withModifiers as w, normalizeClass as m, createElementBlock as g, toDisplayString as S, Fragment as T, renderList as J, createVNode as N, createTextVNode as Q } from "vue";
2
+ import M from "../Icon.vue.js";
3
+ import W from "../Dropdown/Dropdown.vue.js";
4
+ import X from "../Dropdown/DropdownMenu.vue.js";
5
+ import { $t as C } from "../../utils/i18n.js";
6
+ import L from "../Badge.vue.js";
7
+ import { useMultiSelectHydration as Y } from "./composables/useMultiSelectHydration.js";
8
+ const Z = ["tabindex", "data-testid"], _ = {
9
9
  key: 0,
10
10
  class: "text-muted-foreground pl-0.5 truncate"
11
- }, X = { class: "truncate min-w-0" }, Y = ["onClick"], Z = {
11
+ }, ee = { class: "truncate min-w-0" }, te = ["onClick"], ae = {
12
12
  key: 0,
13
13
  class: "flex items-center gap-2 pl-2 shrink-0 text-muted-foreground"
14
- }, oe = /* @__PURE__ */ P({
14
+ }, ue = /* @__PURE__ */ F({
15
15
  __name: "MultiSelect",
16
16
  props: {
17
17
  modelValue: { default: () => [] },
@@ -37,171 +37,202 @@ const Q = ["tabindex", "data-testid"], W = {
37
37
  rounded: { default: "md" }
38
38
  },
39
39
  emits: ["update:modelValue", "change", "load-more", "search"],
40
- setup(e, { emit: L }) {
41
- const t = e, d = L, o = k(!1), j = s(() => {
42
- if (t.placeholderI18n) return M(t.placeholderI18n);
43
- if (t.placeholder) return t.placeholder;
44
- const a = M("vlite.multiSelect.placeholder");
45
- return a !== "vlite.multiSelect.placeholder" ? a : "Select items...";
46
- }), x = s(() => t.options ? t.options.map((a) => typeof a == "string" || typeof a == "number" ? { label: String(a), value: String(a) } : a) : []), C = k(!1), w = k(!1);
47
- z(
40
+ setup(t, { emit: j }) {
41
+ const a = t, i = j, o = V(!1), D = s(() => {
42
+ if (a.placeholderI18n) return C(a.placeholderI18n);
43
+ if (a.placeholder) return a.placeholder;
44
+ const e = C("vlite.multiSelect.placeholder");
45
+ return e !== "vlite.multiSelect.placeholder" ? e : "Select items...";
46
+ }), x = s(() => a.options ? a.options.map((e) => typeof e == "string" || typeof e == "number" ? { label: String(e), value: String(e) } : e) : []), B = V(!1), $ = V(!1);
47
+ E(
48
48
  x,
49
- (a) => {
50
- !C.value && a.length > 0 && (C.value = !0, setTimeout(() => {
51
- w.value = !0, i.hydrateSelected(t.modelValue || []);
49
+ (e) => {
50
+ !B.value && e.length > 0 && (B.value = !0, setTimeout(() => {
51
+ $.value = !0, u.hydrateSelected(a.modelValue || []);
52
52
  }, 10));
53
53
  },
54
54
  { immediate: !0 }
55
55
  );
56
- const V = s(() => {
57
- const a = [...x.value], n = new Set(a.map((l) => l.value ?? l.label));
58
- return i.selectedBuffer.value.forEach((l, u) => {
59
- n.has(u) || (a.unshift(l), n.add(u));
60
- }), a;
61
- }), i = J({
62
- fetchSelected: t.fetchSelected,
63
- getValues: () => t.modelValue || [],
64
- getOptions: () => V.value,
65
- isInitialLoadDone: () => w.value
56
+ const k = s(() => {
57
+ const e = [...x.value], l = new Set(e.map((n) => n.value ?? n.label));
58
+ return u.selectedBuffer.value.forEach((n, c) => {
59
+ l.has(c) || (e.unshift(n), l.add(c));
60
+ }), e;
61
+ }), u = Y({
62
+ fetchSelected: a.fetchSelected,
63
+ getValues: () => a.modelValue || [],
64
+ getOptions: () => k.value,
65
+ isInitialLoadDone: () => $.value
66
66
  });
67
- z(
68
- () => t.modelValue,
69
- (a) => {
70
- w.value && i.hydrateSelected(a || []);
67
+ E(
68
+ () => a.modelValue,
69
+ (e) => {
70
+ $.value && u.hydrateSelected(e || []);
71
71
  },
72
72
  { deep: !0 }
73
73
  );
74
- const g = s(() => V.value.filter((a) => {
75
- const n = a.value ?? a.label;
76
- return t.modelValue.includes(n);
77
- })), D = s(() => g.value.slice(0, t.maxVisible)), B = s(() => g.value.length - t.maxVisible), H = (a) => {
78
- if (t.disabled || t.readonly) return;
79
- const n = a.value ?? a.label;
80
- i.selectedBuffer.value.has(n) || i.selectedBuffer.value.set(n, a);
81
- const l = [...t.modelValue], u = l.indexOf(n);
82
- u === -1 ? l.push(n) : l.splice(u, 1), d("update:modelValue", l), d("change", l);
83
- }, K = (a) => {
84
- if (t.disabled || t.readonly) return;
85
- const n = t.modelValue.filter((l) => l !== a);
86
- d("update:modelValue", n), d("change", n);
87
- }, A = () => {
88
- t.disabled || t.readonly || (d("update:modelValue", []), d("change", []));
89
- }, F = s(() => {
90
- const a = t.rounded === "none" ? "rounded-none" : `rounded-${t.rounded}`, n = t.variant === "transparent" ? "px-2 py-0" : "px-3 py-1.5", l = t.variant === "transparent" ? "h-full min-h-[40px]" : "min-h-[40px]";
74
+ const h = s(() => k.value.filter((e) => {
75
+ const l = e.value ?? e.label;
76
+ return a.modelValue.includes(l);
77
+ })), P = s(() => h.value.slice(0, a.maxVisible)), O = s(() => h.value.length - a.maxVisible), H = (e) => {
78
+ if (a.disabled || a.readonly) return;
79
+ const l = e.value ?? e.label;
80
+ u.selectedBuffer.value.has(l) || u.selectedBuffer.value.set(l, e);
81
+ const n = [...a.modelValue], c = n.indexOf(l);
82
+ c === -1 ? n.push(l) : n.splice(c, 1), i("update:modelValue", n), i("change", n);
83
+ }, K = (e) => {
84
+ if (a.disabled || a.readonly) return;
85
+ const l = a.modelValue.filter((n) => n !== e);
86
+ i("update:modelValue", l), i("change", l);
87
+ }, R = () => {
88
+ a.disabled || a.readonly || (i("update:modelValue", []), i("change", []));
89
+ }, A = s(() => {
90
+ const e = a.rounded === "none" ? "rounded-none" : `rounded-${a.rounded}`, l = a.variant === "transparent" ? "px-2 py-0" : "px-3 py-1.5", n = a.variant === "transparent" ? "h-full min-h-[40px]" : "min-h-[40px]";
91
91
  return [
92
- `flex items-center justify-between w-full ${n} ${l} ${a} border text-sm transition-colors outline-none`,
93
- t.disabled ? "opacity-50 cursor-not-allowed bg-muted" : t.readonly ? `cursor-default ${t.variant === "transparent" || t.variant === "floating" ? "bg-transparent text-foreground" : "bg-background"}` : `cursor-pointer ${t.variant === "floating" || t.variant === "transparent" ? "bg-transparent text-foreground" : "bg-background hover:bg-gray-50/70"}`,
94
- t.variant === "outline" || t.variant === "floating" ? "border-input focus-visible:ring-1 focus-visible:ring-primary" : t.variant === "transparent" ? "border-transparent" : "border-transparent bg-muted",
95
- o.value && t.variant !== "transparent" ? "border-primary/20 ring-1 ring-primary/20" : ""
92
+ `flex items-center justify-between w-full ${l} ${n} ${e} border text-sm transition-colors outline-none`,
93
+ a.disabled ? "opacity-50 cursor-not-allowed bg-muted" : a.readonly ? `cursor-default ${a.variant === "transparent" || a.variant === "floating" ? "bg-transparent text-foreground" : "bg-background"}` : `cursor-pointer ${a.variant === "floating" || a.variant === "transparent" ? "bg-transparent text-foreground" : "bg-background hover:bg-gray-50/70"}`,
94
+ a.variant === "outline" || a.variant === "floating" ? "border-input focus-visible:ring-1 focus-visible:ring-primary" : a.variant === "transparent" ? "border-transparent" : "border-transparent bg-muted",
95
+ o.value && a.variant !== "transparent" ? "border-primary/20 ring-1 ring-primary/20" : ""
96
96
  ].join(" ");
97
- }), O = s(() => t.size === "sm" ? "xs" : "sm");
98
- return (a, n) => (r(), m(b(q), {
97
+ }), z = s(() => a.size === "sm" ? "xs" : "sm");
98
+ return (e, l) => (r(), f(y(W), {
99
99
  isOpen: o.value,
100
- "onUpdate:isOpen": n[5] || (n[5] = (l) => o.value = l),
100
+ "onUpdate:isOpen": l[5] || (l[5] = (n) => o.value = n),
101
101
  "close-on-select": !1,
102
102
  selectable: !0,
103
- disabled: e.disabled || e.readonly
103
+ searchable: !1,
104
+ remote: !1,
105
+ disabled: t.disabled || t.readonly
104
106
  }, {
105
- trigger: h(() => [
106
- y("div", {
107
- class: c(F.value),
108
- tabindex: e.disabled || e.readonly ? -1 : 0,
107
+ trigger: d(() => [
108
+ p("div", {
109
+ class: m(A.value),
110
+ tabindex: t.disabled || t.readonly ? -1 : 0,
109
111
  onKeydown: [
110
- n[0] || (n[0] = E(p((l) => !(e.disabled || e.readonly) && (o.value = !o.value), ["prevent"]), ["enter"])),
111
- n[1] || (n[1] = E(p((l) => !(e.disabled || e.readonly) && (o.value = !o.value), ["prevent"]), ["space"]))
112
+ l[0] || (l[0] = I(w((n) => !(t.disabled || t.readonly) && (o.value = !o.value), ["prevent"]), ["enter"])),
113
+ l[1] || (l[1] = I(w((n) => !(t.disabled || t.readonly) && (o.value = !o.value), ["prevent"]), ["space"]))
112
114
  ],
113
- "data-testid": a.$attrs["data-testid"] || (a.$attrs.name ? `multiselect-${a.$attrs.name}` : "multiselect")
115
+ "data-testid": e.$attrs["data-testid"] || (e.$attrs.name ? `multiselect-${e.$attrs.name}` : "multiselect")
114
116
  }, [
115
- y("div", {
116
- class: c(["flex gap-1.5 items-center flex-1 min-w-0", [e.wrap ? "flex-wrap py-0.5" : "flex-nowrap overflow-hidden py-1"]])
117
+ p("div", {
118
+ class: m(["flex gap-1.5 items-center flex-1 min-w-0", [t.wrap ? "flex-wrap py-0.5" : "flex-nowrap overflow-hidden py-1"]])
117
119
  }, [
118
- g.value.length === 0 ? (r(), v("span", W, $(j.value), 1)) : (r(), v(I, { key: 1 }, [
119
- (r(!0), v(I, null, R(D.value, (l) => (r(), m(N, {
120
- key: l.value,
121
- variant: e.variant === "transparent" ? "outline" : "secondary",
122
- size: O.value,
123
- rounded: e.rounded === "none" ? "sm" : "full",
124
- class: c(["gap-1 pr-1 truncate min-w-0 shrink", [
125
- e.wrap ? "max-w-[150px]" : "",
126
- e.variant === "transparent" ? "border-transparent bg-muted/50 text-foreground font-medium shadow-none" : ""
120
+ h.value.length === 0 ? (r(), g("span", _, S(D.value), 1)) : (r(), g(T, { key: 1 }, [
121
+ (r(!0), g(T, null, J(P.value, (n) => (r(), f(L, {
122
+ key: n.value,
123
+ variant: t.variant === "transparent" ? "outline" : "secondary",
124
+ size: z.value,
125
+ rounded: t.rounded === "none" ? "sm" : "full",
126
+ class: m(["gap-1 pr-1 truncate min-w-0 shrink", [
127
+ t.wrap ? "max-w-[150px]" : "",
128
+ t.variant === "transparent" ? "border-transparent bg-muted/50 text-foreground font-medium shadow-none" : ""
127
129
  ]])
128
130
  }, {
129
- default: h(() => [
130
- y("span", X, $(l.labelI18n ? b(M)(l.labelI18n) : l.label), 1),
131
- e.disabled || e.readonly ? f("", !0) : (r(), v("button", {
131
+ default: d(() => [
132
+ p("span", ee, S(n.labelI18n ? y(C)(n.labelI18n) : n.label), 1),
133
+ t.disabled || t.readonly ? v("", !0) : (r(), g("button", {
132
134
  key: 0,
133
135
  type: "button",
134
- onClick: p((u) => K(l.value), ["stop"]),
135
- class: c([
136
+ onClick: w((c) => K(n.value), ["stop"]),
137
+ class: m([
136
138
  "rounded transition-colors shrink-0 flex items-center justify-center p-px",
137
- e.variant === "transparent" ? "text-muted-foreground hover:bg-black/10 hover:text-foreground" : "hover:bg-destructive/10 hover:text-destructive p-0.5 rounded-full"
139
+ t.variant === "transparent" ? "text-muted-foreground hover:bg-black/10 hover:text-foreground" : "hover:bg-destructive/10 hover:text-destructive p-0.5 rounded-full"
138
140
  ])
139
141
  }, [
140
- T(S, {
142
+ N(M, {
141
143
  icon: "lucide:x",
142
144
  class: "w-3 h-3"
143
145
  })
144
- ], 10, Y))
146
+ ], 10, te))
145
147
  ]),
146
148
  _: 2
147
149
  }, 1032, ["variant", "size", "rounded", "class"]))), 128)),
148
- B.value > 0 ? (r(), m(N, {
150
+ O.value > 0 ? (r(), f(L, {
149
151
  key: 0,
150
- variant: e.variant === "transparent" ? "outline" : "secondary",
151
- size: O.value,
152
- rounded: e.rounded === "none" ? "sm" : "full",
153
- class: c([
152
+ variant: t.variant === "transparent" ? "outline" : "secondary",
153
+ size: z.value,
154
+ rounded: t.rounded === "none" ? "sm" : "full",
155
+ class: m([
154
156
  "shrink-0",
155
- e.variant === "transparent" ? "border-transparent bg-muted/50 text-muted-foreground font-medium shadow-none" : ""
157
+ t.variant === "transparent" ? "border-transparent bg-muted/50 text-muted-foreground font-medium shadow-none" : ""
156
158
  ])
157
159
  }, {
158
- default: h(() => [
159
- U(" +" + $(B.value), 1)
160
+ default: d(() => [
161
+ Q(" +" + S(O.value), 1)
160
162
  ]),
161
163
  _: 1
162
- }, 8, ["variant", "size", "rounded", "class"])) : f("", !0)
164
+ }, 8, ["variant", "size", "rounded", "class"])) : v("", !0)
163
165
  ], 64))
164
166
  ], 2),
165
- e.showControls && !(e.disabled || e.readonly) ? (r(), v("div", Z, [
166
- g.value.length > 0 && !(e.disabled || e.readonly) ? (r(), m(S, {
167
+ t.showControls && !(t.disabled || t.readonly) ? (r(), g("div", ae, [
168
+ h.value.length > 0 && !(t.disabled || t.readonly) ? (r(), f(M, {
167
169
  key: 0,
168
170
  icon: "lucide:x",
169
171
  class: "w-4 h-4 hover:text-foreground transition-colors",
170
- onClick: p(A, ["stop"])
171
- })) : f("", !0),
172
- n[6] || (n[6] = y("div", { class: "w-px h-4 bg-border mx-0.5" }, null, -1)),
173
- T(S, {
172
+ onClick: w(R, ["stop"])
173
+ })) : v("", !0),
174
+ l[6] || (l[6] = p("div", { class: "w-px h-4 bg-border mx-0.5" }, null, -1)),
175
+ N(M, {
174
176
  icon: "lucide:chevron-down",
175
- class: c(["w-4 h-4 transition-transform duration-200", { "rotate-180": o.value }])
177
+ class: m(["w-4 h-4 transition-transform duration-200", { "rotate-180": o.value }])
176
178
  }, null, 8, ["class"])
177
- ])) : f("", !0)
178
- ], 42, Q)
179
+ ])) : v("", !0)
180
+ ], 42, Z)
179
181
  ]),
180
- default: h(() => [
181
- e.disabled || e.readonly ? f("", !0) : (r(), m(b(G), {
182
+ default: d(() => [
183
+ t.disabled || t.readonly ? v("", !0) : (r(), f(y(X), {
182
184
  key: 0,
183
185
  options: x.value,
184
- cachedOptions: V.value,
185
- selected: e.modelValue,
186
- emptyMessage: e.emptyMessage,
187
- searchEmptyMessage: e.searchEmptyMessage,
186
+ cachedOptions: k.value,
187
+ selected: t.modelValue,
188
+ emptyMessage: t.emptyMessage,
189
+ searchEmptyMessage: t.searchEmptyMessage,
188
190
  class: "min-w-[300px]",
189
- loading: e.loading || b(i).isHydrating.value,
190
- hasMore: e.hasMore,
191
- searchable: e.searchable,
192
- remote: e.remote,
193
- debounceTime: e.debounceTime,
194
- layout: e.layout,
191
+ loading: t.loading || y(u).isHydrating.value,
192
+ hasMore: t.hasMore,
193
+ searchable: t.searchable,
194
+ remote: t.remote,
195
+ debounceTime: t.debounceTime,
196
+ layout: t.layout,
195
197
  onSelect: H,
196
- onClose: n[2] || (n[2] = (l) => o.value = !1),
197
- onLoadMore: n[3] || (n[3] = (l) => a.$emit("load-more")),
198
- onSearch: n[4] || (n[4] = (l) => a.$emit("search", l))
199
- }, null, 8, ["options", "cachedOptions", "selected", "emptyMessage", "searchEmptyMessage", "loading", "hasMore", "searchable", "remote", "debounceTime", "layout"]))
198
+ onClose: l[2] || (l[2] = (n) => o.value = !1),
199
+ onLoadMore: l[3] || (l[3] = (n) => e.$emit("load-more")),
200
+ onSearch: l[4] || (l[4] = (n) => e.$emit("search", n))
201
+ }, U({ _: 2 }, [
202
+ e.$slots.menu ? {
203
+ name: "menu",
204
+ fn: d(() => [
205
+ b(e.$slots, "menu")
206
+ ]),
207
+ key: "0"
208
+ } : void 0,
209
+ e.$slots.item ? {
210
+ name: "item",
211
+ fn: d((n) => [
212
+ b(e.$slots, "item", q(G(n)))
213
+ ]),
214
+ key: "1"
215
+ } : void 0,
216
+ e.$slots.header ? {
217
+ name: "header",
218
+ fn: d(() => [
219
+ b(e.$slots, "header")
220
+ ]),
221
+ key: "2"
222
+ } : void 0,
223
+ e.$slots.footer ? {
224
+ name: "footer",
225
+ fn: d(() => [
226
+ b(e.$slots, "footer")
227
+ ]),
228
+ key: "3"
229
+ } : void 0
230
+ ]), 1032, ["options", "cachedOptions", "selected", "emptyMessage", "searchEmptyMessage", "loading", "hasMore", "searchable", "remote", "debounceTime", "layout"]))
200
231
  ]),
201
- _: 1
232
+ _: 3
202
233
  }, 8, ["isOpen", "disabled"]));
203
234
  }
204
235
  });
205
236
  export {
206
- oe as default
237
+ ue as default
207
238
  };
@@ -3,7 +3,7 @@ import L from "./Icon.vue.js";
3
3
  import v from "./Modal.vue.js";
4
4
  import N from "./CommandPalette/CommandPaletteContent.vue.js";
5
5
  import { $t as U } from "../utils/i18n.js";
6
- /* empty css */
6
+ /* empty css */
7
7
  const V = { class: "block truncate -text-fs-1.5" }, S = { class: "ml-auto inline-flex items-center gap-0.5 px-1.5 py-0.5 rounded text-[10px] font-mono font-medium border border-border/80 bg-background text-muted-foreground ml-1" }, A = /* @__PURE__ */ x({
8
8
  __name: "NavbarCommandPalette",
9
9
  props: {
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.1.7",
6
+ "version": "1.1.8",
7
7
  "type": "module",
8
8
  "main": "index.js",
9
9
  "module": "index.js",
package/style.css CHANGED
@@ -1626,5 +1626,5 @@ textarea::-webkit-scrollbar-thumb:hover {
1626
1626
  }
1627
1627
 
1628
1628
  /* --- Vite Generated CSS --- */
1629
- input[data-v-cce64dd9]::-webkit-outer-spin-button,input[data-v-cce64dd9]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}input[type=number][data-v-cce64dd9]{-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-0cfd4711]{will-change:transform;contain:layout style}.v-modal-overlay[data-v-350b61e5]{background-color:#00000052}.v-modal-backdrop[data-v-350b61e5]{transform:translateZ(0);will-change:opacity}.modal-body[data-v-350b61e5]{will-change:transform;contain:layout style}.blink-bg[data-v-350b61e5]{animation:blink-animation-350b61e5 1s infinite}@keyframes blink-animation-350b61e5{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-69b1b4ef]{will-change:transform;contain:layout style}.custom-fields-table[data-v-69b1b4ef] .form-field-item{margin-bottom:0!important;height:100%}.custom-fields-table[data-v-69b1b4ef] input,.custom-fields-table[data-v-69b1b4ef] textarea{padding-left:1em;padding-right:.5em}.custom-fields-table[data-v-69b1b4ef] input,.custom-fields-table[data-v-69b1b4ef] textarea,.custom-fields-table[data-v-69b1b4ef] select,.custom-fields-table[data-v-69b1b4ef] .input-wrapper,.custom-fields-table[data-v-69b1b4ef] .tooltip-trigger button,.custom-fields-table[data-v-69b1b4ef] .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-69b1b4ef] .tooltip-trigger button,.custom-fields-table[data-v-69b1b4ef] .tooltip-trigger>div{justify-content:space-between!important}.custom-fields-table[data-v-69b1b4ef] input:focus,.custom-fields-table[data-v-69b1b4ef] textarea:focus,.custom-fields-table[data-v-69b1b4ef] select:focus,.custom-fields-table[data-v-69b1b4ef] .input-wrapper:focus-within,.custom-fields-table[data-v-69b1b4ef] .tooltip-trigger button:focus,.custom-fields-table[data-v-69b1b4ef] .tooltip-trigger>div:focus,.custom-fields-table[data-v-69b1b4ef] .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-69b1b4ef] .w-full{width:100%;height:100%}.list-enter-active[data-v-69b1b4ef]{transition:all .15s cubic-bezier(.16,1,.3,1)}.list-enter-from[data-v-69b1b4ef]{opacity:0;transform:translateY(-5px)}.form-field-item[data-v-3e65ff52]{display:flex;flex-direction:column}.form-field-item[data-v-3e65ff52]:has([role=checkbox]){flex-direction:row;align-items:center;justify-content:flex-start}.form-container[data-v-712d6d5d]{width:100%}[data-tabes][data-v-84e08076]:not(.inline-flex):not([class*=gap-6])>:where(button,a,[role=tab]){flex:1 1 0%;min-width:0}[data-tabes].inline-flex[data-v-84e08076]{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}[data-tabes].inline-flex[data-v-84e08076]::-webkit-scrollbar{display:none}@media(max-width:480px){[data-tabes][data-v-84e08076]:not([class*=flex-wrap]){overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}[data-tabes][data-v-84e08076]:not([class*=flex-wrap])::-webkit-scrollbar{display:none}}.custom-scrollbar[data-v-0cd55255]::-webkit-scrollbar{width:0px}.custom-scrollbar[data-v-0cd55255]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar[data-v-0cd55255]::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:10px}.scrollable-container[data-v-0cd55255]{will-change:transform;contain:layout style}.kanban-board--disabled[data-v-0cd55255]{opacity:.75;background-color:color-mix(in srgb,var(--color-card) 85%,var(--color-muted) 15%)}.kanban-lock-badge[data-v-0cd55255]{font-size:.75rem;line-height:1;-webkit-user-select:none;user-select:none}.custom-scrollbar-x[data-v-bf22f73c]::-webkit-scrollbar{height:8px}.custom-scrollbar-x[data-v-bf22f73c]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar-x[data-v-bf22f73c]::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:10px}.scrollable-container[data-v-bf22f73c]{will-change:transform;contain:layout style}.v-sidepanel-overlay[data-v-3446a690]{background-color:#0003}.sidepanel-body[data-v-3446a690]{will-change:transform;contain:layout style}.navbar-tabs-no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.navbar-tabs-no-scrollbar::-webkit-scrollbar{display:none}.fade-x-enter-active,.fade-x-leave-active{transition:opacity .15s ease}.fade-x-enter-from,.fade-x-leave-to{opacity:0}.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}.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-e8fba320]{width:100%;position:relative;will-change:transform;contain:layout style}.file-tree-container[data-v-91337be9],.sheet-container[data-v-a5e9ca6f]{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-ba68e64a]{max-height:70vh;will-change:transform;contain:layout style}.permission-matrix-wrapper[data-v-ba68e64a]::-webkit-scrollbar{width:6px;height:6px}.permission-matrix-wrapper[data-v-ba68e64a]::-webkit-scrollbar-track{background:transparent}.permission-matrix-wrapper[data-v-ba68e64a]::-webkit-scrollbar-thumb{background:var(--color-gray-350);border-radius:3px}.permission-matrix-wrapper[data-v-ba68e64a]::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.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-0b1ab970]{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}.permission-matrix-wrapper[data-v-0b1ab970]::-webkit-scrollbar{width:6px;height:6px}.permission-matrix-wrapper[data-v-0b1ab970]::-webkit-scrollbar-track{background:transparent}.permission-matrix-wrapper[data-v-0b1ab970]::-webkit-scrollbar-thumb{background:var(--color-gray-350);border-radius:3px}.permission-matrix-wrapper[data-v-0b1ab970]::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.custom-table[data-v-0b1ab970]{width:100%;border-collapse:collapse}.custom-sticky-header th[data-v-0b1ab970]{position:sticky;top:0;z-index:20;box-shadow:0 1px 0 var(--color-border)}.custom-th[data-v-0b1ab970]{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-0b1ab970]{border-bottom:1px solid var(--color-border)}.custom-th.text-center[data-v-0b1ab970]{text-align:center;min-width:100px}.custom-th[data-v-0b1ab970]:first-child{border-left:none}.custom-td[data-v-0b1ab970]{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-0b1ab970]{text-align:center}.custom-td[data-v-0b1ab970]:first-child{border-left:none}.custom-group-row td[data-v-0b1ab970]{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-0b1ab970]{background-color:var(--color-background);transition:background-color .1s ease}.custom-entity-row[data-v-0b1ab970]:hover{background-color:var(--color-gray-50)}.custom-entity-row:last-child td[data-v-0b1ab970]{border-bottom:none}.custom-active-cell[data-v-0b1ab970]{cursor:pointer}.custom-active-cell[data-v-0b1ab970]:hover{background-color:var(--color-accent)}.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}.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}
1629
+ input[data-v-cce64dd9]::-webkit-outer-spin-button,input[data-v-cce64dd9]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}input[type=number][data-v-cce64dd9]{-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-b2017bca]{will-change:transform;contain:layout style}.v-modal-overlay[data-v-350b61e5]{background-color:#00000052}.v-modal-backdrop[data-v-350b61e5]{transform:translateZ(0);will-change:opacity}.modal-body[data-v-350b61e5]{will-change:transform;contain:layout style}.blink-bg[data-v-350b61e5]{animation:blink-animation-350b61e5 1s infinite}@keyframes blink-animation-350b61e5{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-69b1b4ef]{will-change:transform;contain:layout style}.custom-fields-table[data-v-69b1b4ef] .form-field-item{margin-bottom:0!important;height:100%}.custom-fields-table[data-v-69b1b4ef] input,.custom-fields-table[data-v-69b1b4ef] textarea{padding-left:1em;padding-right:.5em}.custom-fields-table[data-v-69b1b4ef] input,.custom-fields-table[data-v-69b1b4ef] textarea,.custom-fields-table[data-v-69b1b4ef] select,.custom-fields-table[data-v-69b1b4ef] .input-wrapper,.custom-fields-table[data-v-69b1b4ef] .tooltip-trigger button,.custom-fields-table[data-v-69b1b4ef] .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-69b1b4ef] .tooltip-trigger button,.custom-fields-table[data-v-69b1b4ef] .tooltip-trigger>div{justify-content:space-between!important}.custom-fields-table[data-v-69b1b4ef] input:focus,.custom-fields-table[data-v-69b1b4ef] textarea:focus,.custom-fields-table[data-v-69b1b4ef] select:focus,.custom-fields-table[data-v-69b1b4ef] .input-wrapper:focus-within,.custom-fields-table[data-v-69b1b4ef] .tooltip-trigger button:focus,.custom-fields-table[data-v-69b1b4ef] .tooltip-trigger>div:focus,.custom-fields-table[data-v-69b1b4ef] .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-69b1b4ef] .w-full{width:100%;height:100%}.list-enter-active[data-v-69b1b4ef]{transition:all .15s cubic-bezier(.16,1,.3,1)}.list-enter-from[data-v-69b1b4ef]{opacity:0;transform:translateY(-5px)}.form-field-item[data-v-3e65ff52]{display:flex;flex-direction:column}.form-field-item[data-v-3e65ff52]:has([role=checkbox]){flex-direction:row;align-items:center;justify-content:flex-start}.form-container[data-v-712d6d5d]{width:100%}[data-tabes][data-v-84e08076]:not(.inline-flex):not([class*=gap-6])>:where(button,a,[role=tab]){flex:1 1 0%;min-width:0}[data-tabes].inline-flex[data-v-84e08076]{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}[data-tabes].inline-flex[data-v-84e08076]::-webkit-scrollbar{display:none}@media(max-width:480px){[data-tabes][data-v-84e08076]:not([class*=flex-wrap]){overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}[data-tabes][data-v-84e08076]:not([class*=flex-wrap])::-webkit-scrollbar{display:none}}.custom-scrollbar[data-v-0cd55255]::-webkit-scrollbar{width:0px}.custom-scrollbar[data-v-0cd55255]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar[data-v-0cd55255]::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:10px}.scrollable-container[data-v-0cd55255]{will-change:transform;contain:layout style}.kanban-board--disabled[data-v-0cd55255]{opacity:.75;background-color:color-mix(in srgb,var(--color-card) 85%,var(--color-muted) 15%)}.kanban-lock-badge[data-v-0cd55255]{font-size:.75rem;line-height:1;-webkit-user-select:none;user-select:none}.custom-scrollbar-x[data-v-bf22f73c]::-webkit-scrollbar{height:8px}.custom-scrollbar-x[data-v-bf22f73c]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar-x[data-v-bf22f73c]::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:10px}.scrollable-container[data-v-bf22f73c]{will-change:transform;contain:layout style}.v-sidepanel-overlay[data-v-3446a690]{background-color:#0003}.sidepanel-body[data-v-3446a690]{will-change:transform;contain:layout style}.navbar-tabs-no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.navbar-tabs-no-scrollbar::-webkit-scrollbar{display:none}.fade-x-enter-active,.fade-x-leave-active{transition:opacity .15s ease}.fade-x-enter-from,.fade-x-leave-to{opacity:0}.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}.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-e8fba320]{width:100%;position:relative;will-change:transform;contain:layout style}.file-tree-container[data-v-91337be9],.sheet-container[data-v-a5e9ca6f]{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-ba68e64a]{max-height:70vh;will-change:transform;contain:layout style}.permission-matrix-wrapper[data-v-ba68e64a]::-webkit-scrollbar{width:6px;height:6px}.permission-matrix-wrapper[data-v-ba68e64a]::-webkit-scrollbar-track{background:transparent}.permission-matrix-wrapper[data-v-ba68e64a]::-webkit-scrollbar-thumb{background:var(--color-gray-350);border-radius:3px}.permission-matrix-wrapper[data-v-ba68e64a]::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.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-0b1ab970]{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}.permission-matrix-wrapper[data-v-0b1ab970]::-webkit-scrollbar{width:6px;height:6px}.permission-matrix-wrapper[data-v-0b1ab970]::-webkit-scrollbar-track{background:transparent}.permission-matrix-wrapper[data-v-0b1ab970]::-webkit-scrollbar-thumb{background:var(--color-gray-350);border-radius:3px}.permission-matrix-wrapper[data-v-0b1ab970]::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.custom-table[data-v-0b1ab970]{width:100%;border-collapse:collapse}.custom-sticky-header th[data-v-0b1ab970]{position:sticky;top:0;z-index:20;box-shadow:0 1px 0 var(--color-border)}.custom-th[data-v-0b1ab970]{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-0b1ab970]{border-bottom:1px solid var(--color-border)}.custom-th.text-center[data-v-0b1ab970]{text-align:center;min-width:100px}.custom-th[data-v-0b1ab970]:first-child{border-left:none}.custom-td[data-v-0b1ab970]{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-0b1ab970]{text-align:center}.custom-td[data-v-0b1ab970]:first-child{border-left:none}.custom-group-row td[data-v-0b1ab970]{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-0b1ab970]{background-color:var(--color-background);transition:background-color .1s ease}.custom-entity-row[data-v-0b1ab970]:hover{background-color:var(--color-gray-50)}.custom-entity-row:last-child td[data-v-0b1ab970]{border-bottom:none}.custom-active-cell[data-v-0b1ab970]{cursor:pointer}.custom-active-cell[data-v-0b1ab970]:hover{background-color:var(--color-accent)}.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}.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}
1630
1630