vlite3 1.2.9 → 1.2.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/components/Button.vue.d.ts +5 -1
  2. package/components/Button.vue.js +164 -72
  3. package/components/CategoryManager/CategoryManager.vue.js +1 -1
  4. package/components/ColorPicker/ColorIro.vue3.js +2 -2
  5. package/components/ColorPicker/ColorPicker.vue.js +2 -2
  6. package/components/Dropdown/Dropdown.vue.d.ts +3 -1
  7. package/components/Dropdown/Dropdown.vue.js +17 -15
  8. package/components/Dropdown/DropdownMenu.vue.d.ts +1 -1
  9. package/components/Form/Form.vue.d.ts +1 -0
  10. package/components/Form/Form.vue.js +1 -1
  11. package/components/Form/Form.vue2.js +29 -28
  12. package/components/Form/FormFields.vue.js +2 -2
  13. package/components/Form/FormFields.vue2.js +29 -25
  14. package/components/ImportData/ImportStep2.vue.js +6 -6
  15. package/components/Input.vue.js +6 -5
  16. package/components/Kanban/Kanban.vue.js +1 -1
  17. package/components/Kanban/Kanban.vue2.js +1 -1
  18. package/components/Kanban/KanbanBoard.vue.js +1 -1
  19. package/components/Kanban/KanbanBoard.vue2.js +17 -17
  20. package/components/Label.vue.d.ts +5 -2
  21. package/components/Label.vue.js +18 -11
  22. package/components/Modal.vue.js +1 -1
  23. package/components/Modal.vue2.js +1 -1
  24. package/components/MultiSelect/MultiSelect.vue.d.ts +1 -1
  25. package/components/PermissionMatrix/PermissionEditorMatrix.vue.js +1 -1
  26. package/components/PermissionMatrix/PermissionMatrix.vue.js +1 -1
  27. package/components/PermissionMatrix/PermissionMatrix.vue2.js +1 -1
  28. package/components/Screen/ScreenFilter.vue.js +34 -31
  29. package/components/SidePanel.vue.js +1 -1
  30. package/components/Splitter/Splitter.vue.d.ts +1 -1
  31. package/components/Tabes/Tabes.vue.js +2 -2
  32. package/components/Tabes/Tabes.vue2.js +53 -51
  33. package/components/Workbook/Sheet.vue.js +76 -70
  34. package/components/Workbook/Workbook.vue.js +2 -2
  35. package/components/Workbook/Workbook.vue2.js +88 -84
  36. package/components/Workbook/WorkbookAddButton.vue.js +9 -8
  37. package/directives/vRipple.d.ts +3 -1
  38. package/directives/vRipple.js +11 -11
  39. package/package.json +13 -1
  40. package/style.css +83 -72
  41. package/test/VliteScreen.d.ts +120 -0
  42. package/test/VliteScreen.js +328 -0
  43. package/test/createDataFactory.d.ts +24 -0
  44. package/test/createDataFactory.js +59 -0
  45. package/test/extractSchemaFields.d.ts +14 -0
  46. package/test/extractSchemaFields.js +11 -0
  47. package/test/index.d.ts +39 -0
  48. package/test/index.js +10 -0
  49. package/test/renderVlite.d.ts +30 -0
  50. package/test/renderVlite.js +12 -0
  51. package/test/types.d.ts +39 -0
  52. package/types/button.d.ts +2 -0
  53. /package/components/ColorPicker/{ColorIro.vue.js → ColorIro.vue2.js} +0 -0
@@ -1,4 +1,4 @@
1
- import { defineComponent as we, inject as Ae, computed as r, onMounted as ae, onUnmounted as O, ref as E, watch as le, openBlock as s, createElementBlock as d, withKeys as ie, withModifiers as J, normalizeClass as m, createElementVNode as f, createVNode as T, mergeProps as K, toDisplayString as z, unref as t, renderSlot as se, createCommentVNode as c, createBlock as C, Fragment as Te, renderList as Re } from "vue";
1
+ import { defineComponent as we, inject as Ae, computed as r, onMounted as le, onUnmounted as O, ref as E, watch as ie, openBlock as s, createElementBlock as d, withKeys as se, withModifiers as J, normalizeClass as m, createElementVNode as f, createVNode as T, mergeProps as K, toDisplayString as z, unref as t, renderSlot as ne, createCommentVNode as c, createBlock as C, Fragment as Te, renderList as Re } from "vue";
2
2
  import { useForm as Pe } from "./composables/useForm.js";
3
3
  import Q from "./FormFields.vue.js";
4
4
  import Ue from "./FormField.vue.js";
@@ -62,18 +62,18 @@ const qe = ["onKeydown"], He = { class: "flex items-center gap-3" }, $e = { clas
62
62
  backButtonPath: {}
63
63
  },
64
64
  emits: ["onSubmit", "onCancel", "onStepChange", "onAddonAction", "onBack"],
65
- setup(e, { expose: ne, emit: oe }) {
66
- const l = e, b = oe, v = Ae("modal-context", null), re = Ne(), B = r(() => re?.components?.form || {}), L = r(() => l.variant ?? B.value.variant ?? "outline"), N = r(() => l.size ?? B.value.size ?? "md"), D = r(() => l.rounded ?? B.value.rounded ?? "md"), M = r(
65
+ setup(e, { expose: oe, emit: re }) {
66
+ const l = e, b = re, v = Ae("modal-context", null), ue = Ne(), B = r(() => ue?.components?.form || {}), L = r(() => l.variant ?? B.value.variant ?? "outline"), N = r(() => l.size ?? B.value.size ?? "md"), D = r(() => l.rounded ?? B.value.rounded ?? "md"), M = r(
67
67
  () => l.showRequiredAsterisk ?? B.value.showRequiredAsterisk ?? !0
68
- ), ue = r(() => l.showCancel || !!v), F = r(() => !!v), P = r(() => l.stickyFooter || F.value);
69
- ae(() => {
68
+ ), de = r(() => l.showCancel || !!v), F = r(() => !!v), P = r(() => l.stickyFooter || F.value);
69
+ le(() => {
70
70
  l.footer && F.value && v?.registerFormFooter?.(!0);
71
71
  }), O(() => {
72
72
  F.value && v?.registerFormFooter?.(!1);
73
73
  });
74
- const de = E(null), G = E(null), W = E(!1);
74
+ const ce = E(null), G = E(null), W = E(!1);
75
75
  let j = null;
76
- ae(() => {
76
+ le(() => {
77
77
  G.value && (j = new IntersectionObserver(
78
78
  ([a]) => {
79
79
  W.value = !a.isIntersecting;
@@ -98,9 +98,9 @@ const qe = ["onKeydown"], He = { class: "flex items-center gap-3" }, $e = { clas
98
98
  errors: y,
99
99
  isSubmitting: x,
100
100
  fieldLoading: q,
101
- handleFieldChange: ce,
101
+ handleFieldChange: Z,
102
102
  validateField: me,
103
- validateAll: Z,
103
+ validateAll: _,
104
104
  isFieldVisible: U,
105
105
  isFieldDisabled: V,
106
106
  isFieldReadonly: H,
@@ -120,7 +120,7 @@ const qe = ["onKeydown"], He = { class: "flex items-center gap-3" }, $e = { clas
120
120
  }));
121
121
  }
122
122
  });
123
- le(
123
+ ie(
124
124
  () => l.loading || x.value,
125
125
  (a) => {
126
126
  v?.setSubmitting && v.setSubmitting(a);
@@ -128,14 +128,14 @@ const qe = ["onKeydown"], He = { class: "flex items-center gap-3" }, $e = { clas
128
128
  { immediate: !0 }
129
129
  ), O(() => {
130
130
  v?.setSubmitting && v.setSubmitting(!1);
131
- }), le(
131
+ }), ie(
132
132
  [() => l.schema, () => l.values, () => l.schemaLoading],
133
133
  ([a, i, o]) => {
134
134
  o || fe(a, i);
135
135
  }
136
136
  );
137
137
  const $ = (a, i) => {
138
- ce(a, i.value, i.data);
138
+ Z(a, i.value, i.data);
139
139
  }, ye = async () => {
140
140
  if (!u.value) return !0;
141
141
  const a = Y.value;
@@ -145,19 +145,19 @@ const qe = ["onKeydown"], He = { class: "flex items-center gap-3" }, $e = { clas
145
145
  await me(o) && (i = !1);
146
146
  }
147
147
  return i;
148
- }, xe = r(() => u.value ? n.value < S.value.length - 1 : !1), _ = r(() => u.value ? n.value > 0 : !1), I = r(() => u.value ? n.value === S.value.length - 1 : !0), ee = async () => {
148
+ }, xe = r(() => u.value ? n.value < S.value.length - 1 : !1), ee = r(() => u.value ? n.value > 0 : !1), I = r(() => u.value ? n.value === S.value.length - 1 : !0), te = async () => {
149
149
  !xe.value || !await ye() || (n.value++, b("onStepChange", n.value));
150
150
  }, ke = () => {
151
- _.value && (n.value--, b("onStepChange", n.value));
151
+ ee.value && (n.value--, b("onStepChange", n.value));
152
152
  }, pe = (a, i) => {
153
153
  i <= n.value && (n.value = i, b("onStepChange", n.value));
154
154
  }, k = async () => {
155
155
  if (u.value) {
156
156
  if (!I.value && !l.isUpdate) {
157
- await ee();
157
+ await te();
158
158
  return;
159
159
  }
160
- if (!await Z()) {
160
+ if (!await _()) {
161
161
  const i = S.value.findIndex(
162
162
  (o) => o.some((p) => !!y.value[p.name])
163
163
  );
@@ -173,18 +173,19 @@ const qe = ["onKeydown"], He = { class: "flex items-center gap-3" }, $e = { clas
173
173
  if (a.key !== "Enter") return;
174
174
  const o = a.target.tagName.toLowerCase();
175
175
  o !== "textarea" && o !== "button" && (a.preventDefault(), k());
176
- }, te = (a) => {
176
+ }, ae = (a) => {
177
177
  (a.metaKey || a.ctrlKey) && a.key === "s" && (a.preventDefault(), k());
178
178
  };
179
- ne({
179
+ oe({
180
180
  formValues: h,
181
181
  errors: y,
182
182
  isSubmitting: x,
183
183
  handleSubmit: k,
184
- validateAll: Z,
184
+ validateAll: _,
185
185
  resetForm: ge,
186
186
  setFieldError: he,
187
- clearErrors: be
187
+ clearErrors: be,
188
+ setFieldValue: Z
188
189
  });
189
190
  const Ce = () => {
190
191
  b("onCancel"), v && v?.close?.();
@@ -194,8 +195,8 @@ const qe = ["onKeydown"], He = { class: "flex items-center gap-3" }, $e = { clas
194
195
  onSubmit: J(k, ["prevent"]),
195
196
  onKeydown: [
196
197
  Se,
197
- ie(J(te, ["meta", "prevent"]), ["s"]),
198
- ie(J(te, ["ctrl", "prevent"]), ["s"])
198
+ se(J(ae, ["meta", "prevent"]), ["s"]),
199
+ se(J(ae, ["ctrl", "prevent"]), ["s"])
199
200
  ]
200
201
  }, [
201
202
  e.isPage ? (s(), d("div", {
@@ -215,7 +216,7 @@ const qe = ["onKeydown"], He = { class: "flex items-center gap-3" }, $e = { clas
215
216
  }, z(e.pageTitleI18n ? t(Le)(e.pageTitleI18n) : e.pageTitle), 3)
216
217
  ]),
217
218
  f("div", $e, [
218
- se(a.$slots, "header-actions", {
219
+ ne(a.$slots, "header-actions", {
219
220
  values: t(h),
220
221
  isSubmitting: t(x),
221
222
  handleSubmit: k
@@ -364,7 +365,7 @@ const qe = ["onKeydown"], He = { class: "flex items-center gap-3" }, $e = { clas
364
365
  onAddonAction: i[1] || (i[1] = (o) => b("onAddonAction", o))
365
366
  }, null, 8, ["schema", "values", "errors", "fieldLoading", "variant", "size", "rounded", "className", "isUpdate", "showRequiredAsterisk", "isFieldVisible", "isFieldDisabled", "isFieldReadonly", "excludeTypes"])
366
367
  ])),
367
- se(a.$slots, "default", {
368
+ ne(a.$slots, "default", {
368
369
  values: t(h),
369
370
  errors: t(y),
370
371
  isSubmitting: t(x),
@@ -382,7 +383,7 @@ const qe = ["onKeydown"], He = { class: "flex items-center gap-3" }, $e = { clas
382
383
  e.footer && !e.schemaLoading ? (s(), d("div", {
383
384
  key: 2,
384
385
  ref_key: "footerRef",
385
- ref: de,
386
+ ref: ce,
386
387
  class: m([
387
388
  "form-footer items-center gap-3 z-20 rounded-b-md!",
388
389
  e.isPage ? "flex sm:hidden" : "flex",
@@ -403,7 +404,7 @@ const qe = ["onKeydown"], He = { class: "flex items-center gap-3" }, $e = { clas
403
404
  ])
404
405
  }, [
405
406
  f("div", Je, [
406
- ue.value ? (s(), C(R, {
407
+ de.value ? (s(), C(R, {
407
408
  key: 0,
408
409
  type: "button",
409
410
  variant: "outline",
@@ -424,7 +425,7 @@ const qe = ["onKeydown"], He = { class: "flex items-center gap-3" }, $e = { clas
424
425
  f("div", {
425
426
  class: m(["flex gap-3 items-center", u.value && "ml-auto"])
426
427
  }, [
427
- u.value && _.value ? (s(), C(R, {
428
+ u.value && ee.value ? (s(), C(R, {
428
429
  key: 0,
429
430
  type: "button",
430
431
  variant: "outline",
@@ -438,7 +439,7 @@ const qe = ["onKeydown"], He = { class: "flex items-center gap-3" }, $e = { clas
438
439
  variant: e.isUpdate ? "outline" : "primary",
439
440
  text: "Next",
440
441
  iconRight: "lucide:arrow-right",
441
- onClick: ee
442
+ onClick: te
442
443
  }, null, 8, ["variant"])) : c("", !0),
443
444
  !u.value || I.value ? (s(), C(R, K({
444
445
  key: 2,
@@ -1,7 +1,7 @@
1
1
  import o from "./FormFields.vue2.js";
2
2
  /* empty css */
3
3
  import r from "../../_virtual/_plugin-vue_export-helper.js";
4
- const e = /* @__PURE__ */ r(o, [["__scopeId", "data-v-3e65ff52"]]);
4
+ const s = /* @__PURE__ */ r(o, [["__scopeId", "data-v-54cb90d4"]]);
5
5
  export {
6
- e as default
6
+ s as default
7
7
  };
@@ -1,6 +1,6 @@
1
- import { defineComponent as J, computed as K, ref as Q, openBlock as o, createElementBlock as u, normalizeClass as y, Fragment as p, renderList as W, withMemo as X, unref as d, createBlock as b, withCtx as z, resolveDynamicComponent as B, createTextVNode as V, toDisplayString as F, createCommentVNode as l, createElementVNode as Y, createVNode as Z, markRaw as _ } from "vue";
1
+ import { defineComponent as J, computed as K, ref as Q, openBlock as o, createElementBlock as u, normalizeClass as y, Fragment as p, renderList as W, withMemo as X, unref as d, createBlock as b, withCtx as D, resolveDynamicComponent as B, createTextVNode as V, toDisplayString as F, createCommentVNode as i, createElementVNode as Y, createVNode as Z, markRaw as _ } from "vue";
2
2
  import { isComponent as m, getNestedValue as w, resolveFieldType as ee } from "./utils/form.utils.js";
3
- import f from "../Label.vue.js";
3
+ import q from "../Label.vue.js";
4
4
  import te from "./FormField.vue.js";
5
5
  import { $t as ne } from "../../utils/i18n.js";
6
6
  const ae = {
@@ -34,8 +34,8 @@ const ae = {
34
34
  excludeTypes: { default: () => [] }
35
35
  },
36
36
  emits: ["change", "addonAction"],
37
- setup(a, { emit: q }) {
38
- const s = a, k = q, $ = K(() => {
37
+ setup(a, { emit: $ }) {
38
+ const s = a, k = $, f = K(() => {
39
39
  if (s.className) return s.className;
40
40
  }), r = (t) => ee(t, {
41
41
  values: s.values,
@@ -60,9 +60,9 @@ const ae = {
60
60
  g.value[t] = !1;
61
61
  }, L = (t) => {
62
62
  const n = x(t), e = r(t);
63
- let i = n != null && n !== "" && !(Array.isArray(n) && n.length === 0);
64
- const D = typeof n == "number" && !isNaN(n);
65
- return e === "dateRangePicker" && n && typeof n == "object" && (i = !!(n.startDate || n.endDate || n.start || n.end)), T(t) || e === "number" ? g.value[t.name] || i || D : i || D;
63
+ let l = n != null && n !== "" && !(Array.isArray(n) && n.length === 0);
64
+ const z = typeof n == "number" && !isNaN(n);
65
+ return e === "dateRangePicker" && n && typeof n == "object" && (l = !!(n.startDate || n.endDate || n.start || n.end)), T(t) || e === "number" ? g.value[t.name] || l || z : l || z;
66
66
  }, T = (t) => {
67
67
  const n = r(t) || "text";
68
68
  return ["text", "email", "password", "tel", "url", "search", "textarea"].includes(n);
@@ -87,7 +87,7 @@ const ae = {
87
87
  return n;
88
88
  };
89
89
  return (t, n) => (o(), u("div", {
90
- class: y(["grid", a.variant === "floating" ? "gap-5 mt-1" : "gap-4", $.value])
90
+ class: y(["grid", a.variant === "floating" ? "gap-5 mt-1" : "gap-4", f.value])
91
91
  }, [
92
92
  (o(!0), u(p, null, W(a.schema, (e) => (o(), u(p, {
93
93
  key: e.name
@@ -113,23 +113,27 @@ const ae = {
113
113
  key: 0,
114
114
  class: y(["max-md:col-span-full! form-field-item", P(e)])
115
115
  }, [
116
- c(e) && r(e) !== "switch" && r(e) !== "check" && r(e) !== "customFields" && r(e) !== "choiceBox" && !A(e) ? (o(), b(f, {
116
+ c(e) && r(e) !== "switch" && r(e) !== "check" && r(e) !== "customFields" && r(e) !== "choiceBox" && !A(e) ? (o(), b(q, {
117
117
  key: 0,
118
+ size: "md",
118
119
  for: e.name,
119
- class: "mb-2 block -text-fs-2! font-medium"
120
+ class: "mb-2 block font-medium"
120
121
  }, {
121
- default: z(() => [
122
+ default: D(() => [
122
123
  d(m)(c(e)) ? (o(), b(B(R(c(e))), { key: 0 })) : (o(), u(p, { key: 1 }, [
123
124
  V(F(c(e)) + " ", 1),
124
- e.required && a.showRequiredAsterisk ? (o(), u("span", ae, "*")) : l("", !0)
125
+ e.required && a.showRequiredAsterisk ? (o(), u("span", ae, "*")) : i("", !0)
125
126
  ], 64))
126
127
  ]),
127
128
  _: 2
128
- }, 1032, ["for"])) : l("", !0),
129
+ }, 1032, ["for"])) : i("", !0),
129
130
  Y("div", {
130
- class: y(["relative", r(e) === "check" || r(e) === "switch" && e.props?.switchVariant === "basic" ? "w-auto" : "w-full"]),
131
- onFocusin: (i) => M(e.name),
132
- onFocusout: (i) => O(e.name)
131
+ class: y([
132
+ "relative",
133
+ r(e) === "check" || r(e) === "switch" && e.props?.switchVariant === "basic" ? "w-auto" : "w-full"
134
+ ]),
135
+ onFocusin: (l) => M(e.name),
136
+ onFocusout: (l) => O(e.name)
133
137
  }, [
134
138
  A(e) && U(e) && !T(e) ? (o(), u("label", {
135
139
  key: 0,
@@ -141,9 +145,9 @@ const ae = {
141
145
  }, [
142
146
  d(m)(c(e)) ? (o(), b(B(R(c(e))), { key: 0 })) : (o(), u(p, { key: 1 }, [
143
147
  V(F(c(e)) + " ", 1),
144
- e.required ? (o(), u("span", oe, "*")) : l("", !0)
148
+ e.required ? (o(), u("span", oe, "*")) : i("", !0)
145
149
  ], 64))
146
- ], 10, re)) : l("", !0),
150
+ ], 10, re)) : i("", !0),
147
151
  Z(te, {
148
152
  field: s.variant === "floating" ? {
149
153
  ...e,
@@ -164,24 +168,24 @@ const ae = {
164
168
  error: v(e),
165
169
  isUpdate: a.isUpdate,
166
170
  loading: a.fieldLoading[e.name],
167
- onChange: (i) => j(e, i),
171
+ onChange: (l) => j(e, l),
168
172
  onAddonChange: S,
169
173
  onAddonAction: H
170
174
  }, null, 8, ["field", "value", "floatingActive", "label", "values", "errors", "variant", "size", "rounded", "disabled", "readonly", "error", "isUpdate", "loading", "onChange"])
171
175
  ], 42, se),
172
- r(e) === "check" || r(e) === "switch" && e.props?.switchVariant === "basic" ? (o(), b(f, {
176
+ r(e) === "check" || r(e) === "switch" && e.props?.switchVariant === "basic" ? (o(), b(q, {
173
177
  key: 1,
174
178
  for: e.name,
175
179
  class: "ml-2 text-sm font-medium cursor-pointer"
176
180
  }, {
177
- default: z(() => [
181
+ default: D(() => [
178
182
  V(F(c(e)) + " ", 1),
179
- e.required ? (o(), u("span", ue, "*")) : l("", !0)
183
+ e.required ? (o(), u("span", ue, "*")) : i("", !0)
180
184
  ]),
181
185
  _: 2
182
- }, 1032, ["for"])) : l("", !0),
183
- v(e) ? (o(), u("p", ce, F(v(e)), 1)) : l("", !0)
184
- ], 2)), n, 0) : l("", !0)
186
+ }, 1032, ["for"])) : i("", !0),
187
+ v(e) ? (o(), u("p", ce, F(v(e)), 1)) : i("", !0)
188
+ ], 2)), n, 0) : i("", !0)
185
189
  ], 64))), 128))
186
190
  ], 2));
187
191
  }
@@ -1,11 +1,11 @@
1
- import { defineComponent as V, ref as $, computed as r, openBlock as n, createElementBlock as a, createElementVNode as e, toDisplayString as c, Fragment as h, renderList as x, isMemoSame as B, normalizeClass as I, createBlock as O, unref as j, createCommentVNode as w, createVNode as z } from "vue";
1
+ import { defineComponent as V, ref as $, computed as r, openBlock as n, createElementBlock as a, createElementVNode as e, toDisplayString as c, Fragment as f, renderList as x, isMemoSame as B, normalizeClass as I, createBlock as O, unref as j, createCommentVNode as w, createVNode as z } from "vue";
2
2
  import A from "../Dropdown/Dropdown.vue.js";
3
3
  import "@iconify/vue";
4
4
  import { $t as E } from "../../utils/i18n.js";
5
5
  /* empty css */
6
6
  /* empty css */
7
7
  import P from "../CheckBox.vue.js";
8
- const R = { class: "space-y-5" }, U = { class: "text-sm text-muted-foreground" }, q = { class: "border border-border rounded-xl overflow-hidden" }, L = { class: "overflow-x-auto max-h-[440px]" }, W = { class: "import-table" }, G = { class: "import-thead" }, J = { class: "import-th" }, K = { class: "import-th" }, Q = { class: "import-th" }, T = { class: "import-tbody" }, X = { class: "import-td-header" }, Y = { class: "import-td-dropdown" }, Z = {
8
+ const R = { class: "space-y-5" }, U = { class: "text-sm text-muted-foreground" }, q = { class: "border border-border rounded-xl overflow-hidden" }, L = { class: "overflow-x-auto max-h-[440px] always-scroll scrollbar-thin" }, W = { class: "import-table" }, G = { class: "import-thead" }, J = { class: "import-th" }, K = { class: "import-th" }, Q = { class: "import-th" }, T = { class: "import-tbody" }, X = { class: "import-td-header" }, Y = { class: "import-td-dropdown" }, Z = {
9
9
  key: 1,
10
10
  class: "text-xs italic text-muted-foreground"
11
11
  }, tt = { class: "import-td-preview" }, et = {
@@ -56,7 +56,7 @@ const R = { class: "space-y-5" }, U = { class: "text-sm text-muted-foreground" }
56
56
  ])
57
57
  ]),
58
58
  e("tbody", T, [
59
- (n(!0), a(h, null, x(l.headers, (t, g, nt, u) => {
59
+ (n(!0), a(f, null, x(l.headers, (t, g, nt, u) => {
60
60
  const _ = [
61
61
  t,
62
62
  o.value.includes(t),
@@ -64,7 +64,7 @@ const R = { class: "space-y-5" }, U = { class: "text-sm text-muted-foreground" }
64
64
  l.preview.map((p) => p[t])
65
65
  ];
66
66
  if (u && u.key === t && B(u, _)) return u;
67
- const f = (n(), a("tr", {
67
+ const h = (n(), a("tr", {
68
68
  key: t,
69
69
  class: I([
70
70
  "import-tr",
@@ -86,7 +86,7 @@ const R = { class: "space-y-5" }, U = { class: "text-sm text-muted-foreground" }
86
86
  ]),
87
87
  e("td", tt, [
88
88
  o.value.includes(t) ? w("", !0) : (n(), a("div", et, [
89
- (n(!0), a(h, null, x(l.preview, (p, N) => (n(), a("div", {
89
+ (n(!0), a(f, null, x(l.preview, (p, N) => (n(), a("div", {
90
90
  key: N,
91
91
  class: "truncate text-xs"
92
92
  }, c(String(p[t] || "").slice(0, 50)), 1))), 128))
@@ -102,7 +102,7 @@ const R = { class: "space-y-5" }, U = { class: "text-sm text-muted-foreground" }
102
102
  ])
103
103
  ])
104
104
  ], 2));
105
- return f.memo = _, f;
105
+ return h.memo = _, h;
106
106
  }, i, 0), 128))
107
107
  ])
108
108
  ])
@@ -41,7 +41,7 @@ const ne = ["for"], oe = ["type", "value", "placeholder", "disabled", "readonly"
41
41
  setup(t, { emit: D }) {
42
42
  const e = t, c = D, a = d(() => e.labelI18n ? E(e.labelI18n) : e.label), S = d(
43
43
  () => e.placeholderI18n ? E(e.placeholderI18n) : e.placeholder
44
- ), y = Z(), m = v(null), x = v(!1), h = v(!1), H = d(() => e.type === "password" && x.value ? "text" : e.type), k = d(() => e.modelValue !== "" && e.modelValue !== null && e.modelValue !== void 0), $ = d(() => b.value || k.value || h.value), p = d(() => !!e.addonLeft || !!y["addon-left"]), V = d(() => !!e.addonRight || !!y["addon-right"]), U = d(() => [
44
+ ), x = Z(), m = v(null), y = v(!1), h = v(!1), H = d(() => e.type === "password" && y.value ? "text" : e.type), k = d(() => e.modelValue !== "" && e.modelValue !== null && e.modelValue !== void 0), $ = d(() => b.value || k.value || h.value), p = d(() => !!e.addonLeft || !!x["addon-left"]), V = d(() => !!e.addonRight || !!x["addon-right"]), U = d(() => [
45
45
  "relative w-full",
46
46
  e.class,
47
47
  e.labelPosition === "left" ? "flex items-center gap-4" : "",
@@ -97,7 +97,7 @@ const ne = ["for"], oe = ["type", "value", "placeholder", "disabled", "readonly"
97
97
  "z-10"
98
98
  ].join(" ");
99
99
  }, q = d(() => {
100
- const l = !!y["addon-left"];
100
+ const l = !!x["addon-left"];
101
101
  return [
102
102
  "flex items-center justify-center whitespace-nowrap",
103
103
  l ? `border-none ${P("left")}` : `bg-muted border border-input border-r-0! px-3 text-muted-foreground ${{
@@ -114,7 +114,7 @@ const ne = ["for"], oe = ["type", "value", "placeholder", "disabled", "readonly"
114
114
  e.disabled ? "opacity-50 cursor-not-allowed" : ""
115
115
  ].join(" ");
116
116
  }), G = d(() => {
117
- const l = !!y["addon-right"];
117
+ const l = !!x["addon-right"];
118
118
  return [
119
119
  "flex items-center justify-center whitespace-nowrap",
120
120
  l ? `border-none ${P("right")}` : `bg-muted border border-input border-l-0! px-3 text-muted-foreground ${{
@@ -137,7 +137,7 @@ const ne = ["for"], oe = ["type", "value", "placeholder", "disabled", "readonly"
137
137
  const n = l.target;
138
138
  c("change", n.value);
139
139
  }, O = () => {
140
- e.disabled || e.readonly || (x.value = !x.value);
140
+ e.disabled || e.readonly || (y.value = !y.value);
141
141
  }, Q = () => {
142
142
  e.disabled || e.readonly || (c("update:modelValue", ""), B(() => {
143
143
  m.value?.focus();
@@ -162,6 +162,7 @@ const ne = ["for"], oe = ["type", "value", "placeholder", "disabled", "readonly"
162
162
  }, [
163
163
  a.value && t.variant !== "floating" ? (r(), j(te, {
164
164
  key: 0,
165
+ size: "xs",
165
166
  for: a.value,
166
167
  class: u(["mb-1.5", t.labelPosition !== "top" ? "mb-0" : ""].join(" "))
167
168
  }, {
@@ -265,7 +266,7 @@ const ne = ["for"], oe = ["type", "value", "placeholder", "disabled", "readonly"
265
266
  onClick: O
266
267
  }, [
267
268
  C(g, {
268
- icon: x.value ? "lucide:eye-off" : "lucide:eye",
269
+ icon: y.value ? "lucide:eye-off" : "lucide:eye",
269
270
  class: "h-4 w-4"
270
271
  }, null, 8, ["icon"])
271
272
  ])) : i("", !0),
@@ -1,7 +1,7 @@
1
1
  import o from "./Kanban.vue2.js";
2
2
  /* empty css */
3
3
  import t from "../../_virtual/_plugin-vue_export-helper.js";
4
- const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-bf22f73c"]]);
4
+ const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-52c07c6d"]]);
5
5
  export {
6
6
  m as default
7
7
  };
@@ -89,7 +89,7 @@ const U = /* @__PURE__ */ D({
89
89
  }, y = (e) => u.value[e] || [];
90
90
  return (e, n) => (v(), h("div", {
91
91
  class: B([
92
- "flex gap-4 overflow-x-auto p-1 custom-scrollbar-x scrollable-container",
92
+ "flex gap-4 scrollbar-thin overflow-x-auto p-1 scrollbar-thin-x scrollable-container",
93
93
  o.class
94
94
  ])
95
95
  }, [
@@ -1,7 +1,7 @@
1
1
  import o from "./KanbanBoard.vue2.js";
2
2
  /* empty css */
3
3
  import a from "../../_virtual/_plugin-vue_export-helper.js";
4
- const p = /* @__PURE__ */ a(o, [["__scopeId", "data-v-406ae285"]]);
4
+ const p = /* @__PURE__ */ a(o, [["__scopeId", "data-v-38015ba3"]]);
5
5
  export {
6
6
  p as default
7
7
  };
@@ -1,4 +1,4 @@
1
- import { defineComponent as j, ref as z, watch as H, onMounted as J, computed as p, openBlock as r, createElementBlock as d, normalizeClass as c, createElementVNode as i, renderSlot as b, unref as n, toDisplayString as k, createCommentVNode as x, setBlockTracking as D, Fragment as v, renderList as C, createVNode as I, withCtx as G, isMemoSame as R } from "vue";
1
+ import { defineComponent as j, ref as z, watch as H, onMounted as J, computed as p, openBlock as r, createElementBlock as d, normalizeClass as c, createElementVNode as i, renderSlot as b, unref as a, toDisplayString as k, createCommentVNode as x, setBlockTracking as D, Fragment as v, renderList as C, createVNode as I, withCtx as G, isMemoSame as R } from "vue";
2
2
  import { VueDraggable as q } from "vue-draggable-plus";
3
3
  import { useKanbanBoard as P } from "./useKanbanBoard.js";
4
4
  import "../../core/config.js";
@@ -49,8 +49,8 @@ const X = { class: "flex items-center justify-between font-semibold text-foregro
49
49
  o.loadData && (!o.columnData || o.columnData.length === 0) && K();
50
50
  });
51
51
  const N = (e) => {
52
- const a = e.target;
53
- a.scrollTop + a.clientHeight >= a.scrollHeight - 50 && L();
52
+ const n = e.target;
53
+ n.scrollTop + n.clientHeight >= n.scrollHeight - 50 && L();
54
54
  }, T = (e) => {
55
55
  m("change", { type: "add", event: e, columnId: o.column.id });
56
56
  }, U = (e) => {
@@ -60,7 +60,7 @@ const X = { class: "flex items-center justify-between font-semibold text-foregro
60
60
  }, O = p(
61
61
  () => o.column.titleI18n ? Q(o.column.titleI18n) : o.column.title
62
62
  ), u = p(() => o.column.disabled === !0), V = p(() => u.value ? { name: o.group, pull: !1, put: !1 } : o.group), g = (e) => typeof o.isItemDisabled == "function" ? o.isItemDisabled(e) : !1;
63
- return (e, a) => (r(), d("div", {
63
+ return (e, n) => (r(), d("div", {
64
64
  class: c([
65
65
  "flex flex-col bg-card rounded-lg overflow-hidden shrink-0 border border-border/50 w-full flex-1 min-w-75",
66
66
  // Visual indicator for a fully-disabled/locked board
@@ -73,7 +73,7 @@ const X = { class: "flex items-center justify-between font-semibold text-foregro
73
73
  }, [
74
74
  b(e.$slots, "header", {
75
75
  column: l.column,
76
- pageInfo: n(F)
76
+ pageInfo: a(F)
77
77
  }, () => [
78
78
  i("div", X, [
79
79
  i("span", null, k(O.value), 1),
@@ -85,26 +85,26 @@ const X = { class: "flex items-center justify-between font-semibold text-foregro
85
85
  ref_key: "scrollContainer",
86
86
  ref: $,
87
87
  class: c([
88
- "flex-1 flex flex-col overflow-y-auto p-3 custom-scrollbar scrollable-container",
88
+ "flex-1 flex flex-col overflow-y-auto p-3 scrollbar-thin scrollable-container",
89
89
  l.bodyClass
90
90
  ]),
91
91
  onScroll: N
92
92
  }, [
93
- n(B) && n(s).length === 0 ? (r(), d("div", Z, [
94
- a[0] || (D(-1, !0), (a[0] = (r(), d(v, null, C(3, (t) => i("div", {
93
+ a(B) && a(s).length === 0 ? (r(), d("div", Z, [
94
+ n[0] || (D(-1, !0), (n[0] = (r(), d(v, null, C(3, (t) => i("div", {
95
95
  key: "skeleton-" + t,
96
96
  class: "bg-body p-3 rounded-md shadow-sm border border-border animate-pulse flex flex-col gap-3"
97
- }, [...a[3] || (a[3] = [
97
+ }, [...n[3] || (n[3] = [
98
98
  i("div", { class: "h-4 bg-muted/60 rounded w-2/3" }, null, -1),
99
99
  i("div", { class: "h-3 bg-muted/60 rounded w-1/3" }, null, -1)
100
- ])])), 64))).cacheIndex = 0, D(1), a[0])
100
+ ])])), 64))).cacheIndex = 0, D(1), n[0])
101
101
  ])) : (r(), d(v, { key: 1 }, [
102
102
  b(e.$slots, "prepend-item", {
103
103
  column: l.column,
104
- items: n(s)
104
+ items: a(s)
105
105
  }, void 0, !0),
106
- I(n(q), {
107
- "model-value": n(s),
106
+ I(a(q), {
107
+ "model-value": a(s),
108
108
  "onUpdate:modelValue": M,
109
109
  group: V.value,
110
110
  animation: 150,
@@ -117,7 +117,7 @@ const X = { class: "flex items-center justify-between font-semibold text-foregro
117
117
  onUpdate: A
118
118
  }, {
119
119
  default: G(() => [
120
- (r(!0), d(v, null, C(n(s), (t, ee, oe, f) => {
120
+ (r(!0), d(v, null, C(a(s), (t, ee, oe, f) => {
121
121
  const y = [t];
122
122
  if (f && f.key === t[l.itemKey || "id"] && R(f, y)) return f;
123
123
  const h = (r(), d("div", {
@@ -142,15 +142,15 @@ const X = { class: "flex items-center justify-between font-semibold text-foregro
142
142
  ], !0)
143
143
  ], 2));
144
144
  return h.memo = y, h;
145
- }, a, 1), 128))
145
+ }, n, 1), 128))
146
146
  ]),
147
147
  _: 3
148
148
  }, 8, ["model-value", "group", "ghostClass", "class", "filter"]),
149
149
  b(e.$slots, "append-item", {
150
150
  column: l.column,
151
- items: n(s)
151
+ items: a(s)
152
152
  }, void 0, !0),
153
- n(E) ? (r(), d("div", _, [
153
+ a(E) ? (r(), d("div", _, [
154
154
  I(W, {
155
155
  size: "sm",
156
156
  variant: "dots",
@@ -1,6 +1,8 @@
1
- interface Props {
1
+ export type LabelSize = 'xs' | 'sm' | 'md' | 'lg';
2
+ export interface LabelProps {
2
3
  for?: string;
3
4
  class?: string;
5
+ size?: LabelSize;
4
6
  }
5
7
  declare function __VLS_template(): {
6
8
  attrs: Partial<{}>;
@@ -11,8 +13,9 @@ declare function __VLS_template(): {
11
13
  rootEl: HTMLLabelElement;
12
14
  };
13
15
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
14
- declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
16
+ declare const __VLS_component: import('vue').DefineComponent<LabelProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<LabelProps> & Readonly<{}>, {
15
17
  class: string;
18
+ size: LabelSize;
16
19
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLLabelElement>;
17
20
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
18
21
  export default _default;
@@ -1,23 +1,30 @@
1
- import { defineComponent as r, computed as a, openBlock as l, createElementBlock as n, normalizeClass as c, renderSlot as d } from "vue";
2
- const p = ["for"], u = /* @__PURE__ */ r({
1
+ import { defineComponent as l, computed as a, openBlock as r, createElementBlock as n, normalizeClass as c, renderSlot as d } from "vue";
2
+ const f = ["for"], m = /* @__PURE__ */ l({
3
3
  __name: "Label",
4
4
  props: {
5
5
  for: {},
6
- class: { default: "" }
6
+ class: { default: "" },
7
+ size: { default: "md" }
7
8
  },
8
- setup(o) {
9
- const e = o, s = a(() => [
10
- "text-sm leading-none text-gray-800 peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
9
+ setup(t) {
10
+ const e = t, o = a(() => [
11
+ {
12
+ xs: "-text-fs-3.5",
13
+ sm: "-text-fs-3",
14
+ md: "-text-fs-2",
15
+ lg: "text-base"
16
+ }[e.size],
17
+ "leading-none text-gray-800 block peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
11
18
  e.class
12
19
  ].join(" "));
13
- return (t, f) => (l(), n("label", {
20
+ return (s, i) => (r(), n("label", {
14
21
  for: e.for,
15
- class: c(s.value)
22
+ class: c(o.value)
16
23
  }, [
17
- d(t.$slots, "default")
18
- ], 10, p));
24
+ d(s.$slots, "default")
25
+ ], 10, f));
19
26
  }
20
27
  });
21
28
  export {
22
- u as default
29
+ m as default
23
30
  };
@@ -1,7 +1,7 @@
1
1
  import o from "./Modal.vue2.js";
2
2
  /* empty css */
3
3
  import t from "../_virtual/_plugin-vue_export-helper.js";
4
- const p = /* @__PURE__ */ t(o, [["__scopeId", "data-v-b47509d4"]]);
4
+ const p = /* @__PURE__ */ t(o, [["__scopeId", "data-v-e4bc0806"]]);
5
5
  export {
6
6
  p as default
7
7
  };
@@ -128,7 +128,7 @@ const Z = ["data-testid"], _ = ["data-testid"], ee = {
128
128
  ], 2),
129
129
  e.$slots.footer ? (s(), a("div", {
130
130
  key: 1,
131
- class: i([o.footerClass, "flex-none flex items-center px-4 py-3 border-t border-border/75 rounded-b-xl bg-body"])
131
+ class: i([o.footerClass, "flex-none flex items-center px-4 py-3 border-t border-border/90 rounded-b-xl bg-body"])
132
132
  }, [
133
133
  v(e.$slots, "footer", { close: y }, void 0, !0)
134
134
  ], 2)) : r("", !0)
@@ -55,9 +55,9 @@ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {},
55
55
  loading: boolean;
56
56
  readonly: boolean;
57
57
  disabled: boolean;
58
+ layout: "default" | "grouped";
58
59
  modelValue: any[];
59
60
  options: (IDropdownOption | string | number)[];
60
- layout: "default" | "grouped";
61
61
  hasMore: boolean;
62
62
  searchable: boolean;
63
63
  remote: boolean;