vlite3 0.2.8 → 0.2.11

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.
@@ -1,15 +1,20 @@
1
- import { defineComponent as T, defineAsyncComponent as f, computed as n, markRaw as j, openBlock as r, createBlock as u, mergeProps as s, toHandlers as C, createSlots as E, unref as L, withCtx as o, createVNode as S, createTextVNode as m, toDisplayString as p, createCommentVNode as A, resolveDynamicComponent as H } from "vue";
2
- import { isComponent as g, isAddonObject as v } from "./utils/form.utils.js";
3
- import M from "../NumberInput.vue.js";
4
- import h from "../Button.vue.js";
5
- import y from "../Input.vue.js";
6
- import q from "../Switch.vue.js";
7
- import G from "../CheckBox.vue.js";
8
- import J from "../Textarea.vue.js";
9
- import K from "../FilePicker/FilePicker.vue.js";
10
- import Q from "../AvatarUploader/AvatarUploader.vue.js";
11
- import k from "../Dropdown/Dropdown.vue.js";
12
- const oe = /* @__PURE__ */ T({
1
+ import { defineComponent as N, computed as n, markRaw as P, openBlock as r, createBlock as u, mergeProps as f, toHandlers as R, createSlots as B, unref as C, withCtx as o, createVNode as L, createTextVNode as c, toDisplayString as m, createCommentVNode as $, resolveDynamicComponent as O } from "vue";
2
+ import { isComponent as h, isAddonObject as p } from "./utils/form.utils.js";
3
+ import I from "../NumberInput.vue.js";
4
+ import v from "../Button.vue.js";
5
+ import g from "../Input.vue.js";
6
+ import T from "../Switch.vue.js";
7
+ import j from "../CheckBox.vue.js";
8
+ import D from "../Textarea.vue.js";
9
+ import E from "../FilePicker/FilePicker.vue.js";
10
+ import H from "../AvatarUploader/AvatarUploader.vue.js";
11
+ import y from "../Dropdown/Dropdown.vue.js";
12
+ import q from "../MultiSelect/MultiSelect.vue.js";
13
+ import G from "../DatePicker.vue.js";
14
+ import J from "../ColorPicker/ColorPicker.vue.js";
15
+ import K from "../IconPicker.vue.js";
16
+ import M from "./CustomFields.vue.js";
17
+ const fe = /* @__PURE__ */ N({
13
18
  __name: "FormField",
14
19
  props: {
15
20
  field: {},
@@ -24,15 +29,15 @@ const oe = /* @__PURE__ */ T({
24
29
  isUpdate: { type: Boolean, default: !1 }
25
30
  },
26
31
  emits: ["change", "addonChange", "addonAction"],
27
- setup(a, { emit: w }) {
28
- const z = f(() => import("../MultiSelect/MultiSelect.vue2.js")), $ = f(() => import("../DatePicker.vue2.js")), P = f(() => import("../ColorPicker/ColorPicker.vue2.js")), U = f(() => import("../IconPicker.vue2.js")), F = f(() => import("./CustomFields.vue.js")), e = a, c = w, d = (t, l) => {
29
- c("change", { value: t, data: l });
30
- }, N = (t) => {
31
- c("change", { value: t });
32
- }, B = n(() => {
32
+ setup(l, { emit: S }) {
33
+ const e = l, s = S, d = (t, a) => {
34
+ s("change", { value: t, data: a });
35
+ }, w = (t) => {
36
+ s("change", { value: t });
37
+ }, A = n(() => {
33
38
  const t = e.field.type;
34
- if (g(t))
35
- return j(t);
39
+ if (h(t))
40
+ return P(t);
36
41
  switch (t) {
37
42
  case "text":
38
43
  case "email":
@@ -40,43 +45,43 @@ const oe = /* @__PURE__ */ T({
40
45
  case "tel":
41
46
  case "url":
42
47
  case "search":
43
- return y;
48
+ return g;
44
49
  case "number":
45
- return M;
50
+ return I;
46
51
  case "textarea":
47
- return J;
52
+ return D;
48
53
  case "switch":
49
- return q;
54
+ return T;
50
55
  case "check":
51
- return G;
56
+ return j;
52
57
  case "select":
53
- return k;
58
+ return y;
54
59
  case "multiSelect":
55
- return z;
60
+ return q;
56
61
  case "date":
57
62
  case "time":
58
- return $;
63
+ return G;
59
64
  case "file":
60
65
  case "fileUploader":
61
- return K;
66
+ return E;
62
67
  case "avatarUpload":
63
- return Q;
68
+ return H;
64
69
  case "color":
65
- return P;
70
+ return J;
66
71
  case "iconPicker":
67
- return U;
72
+ return K;
68
73
  case "customFields":
69
- return F;
74
+ return M;
70
75
  default:
71
- return y;
76
+ return g;
72
77
  }
73
78
  }), V = n(() => {
74
- const t = e.field.type, l = {
79
+ const t = e.field.type, a = {
75
80
  disabled: e.disabled || e.field.disabled === !0,
76
81
  ...e.field.props || {}
77
82
  };
78
83
  return t === "text" || t === "email" || t === "password" || t === "tel" || t === "url" || t === "search" || !t ? {
79
- ...l,
84
+ ...a,
80
85
  modelValue: e.value ?? "",
81
86
  type: t || "text",
82
87
  placeholder: e.field.placeholder,
@@ -94,7 +99,7 @@ const oe = /* @__PURE__ */ T({
94
99
  max: e.field.max,
95
100
  class: e.field.className
96
101
  } : t === "number" ? {
97
- ...l,
102
+ ...a,
98
103
  modelValue: e.value ?? void 0,
99
104
  min: e.field.min,
100
105
  max: e.field.max,
@@ -106,40 +111,40 @@ const oe = /* @__PURE__ */ T({
106
111
  placeholder: e.field.placeholder,
107
112
  class: e.field.className
108
113
  } : t === "textarea" ? {
109
- ...l,
114
+ ...a,
110
115
  modelValue: e.value ?? "",
111
116
  placeholder: e.field.placeholder,
112
117
  rows: e.field.props?.rows || 3,
113
118
  class: e.field.className
114
119
  } : t === "switch" ? {
115
- ...l,
120
+ ...a,
116
121
  modelValue: !!e.value,
117
122
  label: ""
118
123
  // Label handled externally
119
124
  } : t === "check" ? {
120
- ...l,
125
+ ...a,
121
126
  modelValue: !!e.value,
122
127
  label: ""
123
128
  // Label handled externally
124
129
  } : t === "select" ? {
125
- ...l,
130
+ ...a,
126
131
  modelValue: e.value,
127
132
  options: e.field.options || [],
128
133
  placeholder: e.field.placeholder,
129
134
  selectable: !0,
130
135
  closeOnSelect: !0
131
136
  } : t === "multiSelect" ? {
132
- ...l,
137
+ ...a,
133
138
  modelValue: Array.isArray(e.value) ? e.value : [],
134
139
  options: e.field.options || [],
135
140
  placeholder: e.field.placeholder
136
141
  } : t === "date" || t === "time" ? {
137
- ...l,
142
+ ...a,
138
143
  modelValue: e.value,
139
144
  mode: t === "time" ? "time" : "date",
140
145
  placeholder: e.field.placeholder
141
146
  } : t === "fileUploader" || t === "file" ? {
142
- ...l,
147
+ ...a,
143
148
  modelValue: e.value,
144
149
  multiSelect: e.field.props?.multiple || !1,
145
150
  fileTypes: e.field.props?.accept ? e.field.props.accept.split(",") : [],
@@ -149,17 +154,17 @@ const oe = /* @__PURE__ */ T({
149
154
  size: e.size,
150
155
  rounded: e.rounded
151
156
  } : t === "avatarUpload" ? {
152
- ...l,
157
+ ...a,
153
158
  modelValue: e.value,
154
159
  editable: !e.readonly
155
160
  } : t === "color" ? {
156
- ...l,
161
+ ...a,
157
162
  modelValue: e.value || "#000000"
158
163
  } : t === "iconPicker" ? {
159
- ...l,
164
+ ...a,
160
165
  value: e.value || "lucide:smile"
161
166
  } : t === "customFields" ? {
162
- ...l,
167
+ ...a,
163
168
  modelValue: Array.isArray(e.value) ? e.value : [],
164
169
  schema: e.field.props?.schema || [],
165
170
  headers: e.field.props?.headers || [],
@@ -168,132 +173,132 @@ const oe = /* @__PURE__ */ T({
168
173
  size: e.size,
169
174
  rounded: e.rounded,
170
175
  isUpdate: e.isUpdate
171
- } : g(t) ? {
172
- ...l,
176
+ } : h(t) ? {
177
+ ...a,
173
178
  value: e.value,
174
179
  values: e.values
175
- } : l;
180
+ } : a;
176
181
  }), b = n(() => {
177
182
  const t = e.field.type;
178
183
  return t === "text" || t === "email" || t === "password" || t === "tel" || t === "url" || t === "search" || t === "textarea" || t === "switch" || t === "check" || t === "number" || !t ? {
179
- "update:modelValue": N
184
+ "update:modelValue": w
180
185
  } : t === "select" ? {
181
- onSelect: (l) => {
182
- d(l.value, l.data);
186
+ onSelect: (a) => {
187
+ d(a.value, a.data);
183
188
  }
184
189
  } : t === "multiSelect" ? {
185
- change: (l) => d(l)
190
+ change: (a) => d(a)
186
191
  } : t === "date" || t === "time" ? {
187
- change: (l) => d(l)
192
+ change: (a) => d(a)
188
193
  } : t === "fileUploader" || t === "file" ? {
189
- change: (l) => {
190
- d(l);
194
+ change: (a) => {
195
+ d(a);
191
196
  },
192
- "update:modelValue": (l) => {
193
- d(l);
197
+ "update:modelValue": (a) => {
198
+ d(a);
194
199
  }
195
200
  } : t === "avatarUpload" ? {
196
- change: (l) => {
197
- d(l);
201
+ change: (a) => {
202
+ d(a);
198
203
  },
199
- "update:modelValue": (l) => {
200
- d(l);
204
+ "update:modelValue": (a) => {
205
+ d(a);
201
206
  }
202
207
  } : t === "color" ? {
203
- change: (l) => d(l)
208
+ change: (a) => d(a)
204
209
  } : t === "iconPicker" ? {
205
- onSelect: (l) => d(l)
210
+ onSelect: (a) => d(a)
206
211
  } : t === "customFields" ? {
207
- change: (l) => d(l)
208
- } : g(t) ? {
209
- onChange: (l) => {
210
- d(l.value, l.data);
212
+ change: (a) => d(a)
213
+ } : h(t) ? {
214
+ onChange: (a) => {
215
+ d(a.value, a.data);
211
216
  }
212
217
  } : {};
213
- }), O = n(() => v(e.field.addonLeft) || v(e.field.addonRight)), I = n(() => {
218
+ }), z = n(() => p(e.field.addonLeft) || p(e.field.addonRight)), U = n(() => {
214
219
  const t = e.field.type;
215
220
  return t === "text" || t === "email" || t === "password" || t === "tel" || t === "url" || t === "search" || !t;
216
- }), D = n(() => O.value && I.value), x = (t, l) => {
217
- c("addonChange", t.name, { value: l.value });
218
- }, R = (t) => {
219
- t.action && c("addonAction", t.action);
221
+ }), F = n(() => z.value && U.value), k = (t, a) => {
222
+ s("addonChange", t.name, { value: a.value });
223
+ }, x = (t) => {
224
+ t.action && s("addonAction", t.action);
220
225
  };
221
- return (t, l) => D.value ? (r(), u(y, s({ key: 0 }, {
226
+ return (t, a) => F.value ? (r(), u(g, f({ key: 0 }, {
222
227
  ...V.value,
223
- ...a.field?.props || {}
224
- }, C(b.value)), E({ _: 2 }, [
225
- L(v)(a.field.addonLeft) ? {
228
+ ...l.field?.props || {}
229
+ }, R(b.value)), B({ _: 2 }, [
230
+ C(p)(l.field.addonLeft) ? {
226
231
  name: "addon-left",
227
232
  fn: o(() => [
228
- a.field.addonLeft.type === "select" ? (r(), u(k, s({
233
+ l.field.addonLeft.type === "select" ? (r(), u(y, f({
229
234
  key: 0,
230
- modelValue: a.values[a.field.addonLeft.name],
231
- options: a.field.addonLeft.options || []
232
- }, a.field.addonLeft.props || {}, {
233
- onOnSelect: l[0] || (l[0] = (i) => x(a.field.addonLeft, i))
235
+ modelValue: l.values[l.field.addonLeft.name],
236
+ options: l.field.addonLeft.options || []
237
+ }, l.field.addonLeft.props || {}, {
238
+ onOnSelect: a[0] || (a[0] = (i) => k(l.field.addonLeft, i))
234
239
  }), {
235
240
  trigger: o(({ selectedLabel: i }) => [
236
- S(h, { variant: "outline" }, {
241
+ L(v, { variant: "outline" }, {
237
242
  default: o(() => [
238
- m(p(i), 1)
243
+ c(m(i), 1)
239
244
  ]),
240
245
  _: 2
241
246
  }, 1024)
242
247
  ]),
243
248
  _: 1
244
- }, 16, ["modelValue", "options"])) : a.field.addonLeft.type === "button" ? (r(), u(h, s({
249
+ }, 16, ["modelValue", "options"])) : l.field.addonLeft.type === "button" ? (r(), u(v, f({
245
250
  key: 1,
246
251
  variant: "outline"
247
- }, a.field.addonLeft.props || {}, {
248
- onClick: l[1] || (l[1] = (i) => R(a.field.addonLeft))
252
+ }, l.field.addonLeft.props || {}, {
253
+ onClick: a[1] || (a[1] = (i) => x(l.field.addonLeft))
249
254
  }), {
250
255
  default: o(() => [
251
- m(p(a.field.addonLeft.text), 1)
256
+ c(m(l.field.addonLeft.text), 1)
252
257
  ]),
253
258
  _: 1
254
- }, 16)) : A("", !0)
259
+ }, 16)) : $("", !0)
255
260
  ]),
256
261
  key: "0"
257
262
  } : void 0,
258
- L(v)(a.field.addonRight) ? {
263
+ C(p)(l.field.addonRight) ? {
259
264
  name: "addon-right",
260
265
  fn: o(() => [
261
- a.field.addonRight.type === "select" ? (r(), u(k, s({
266
+ l.field.addonRight.type === "select" ? (r(), u(y, f({
262
267
  key: 0,
263
- modelValue: a.values[a.field.addonRight.name],
264
- options: a.field.addonRight.options || []
265
- }, a.field.addonRight.props || {}, {
266
- onOnSelect: l[2] || (l[2] = (i) => x(a.field.addonRight, i))
268
+ modelValue: l.values[l.field.addonRight.name],
269
+ options: l.field.addonRight.options || []
270
+ }, l.field.addonRight.props || {}, {
271
+ onOnSelect: a[2] || (a[2] = (i) => k(l.field.addonRight, i))
267
272
  }), {
268
273
  trigger: o(({ selectedLabel: i }) => [
269
- S(h, { variant: "outline" }, {
274
+ L(v, { variant: "outline" }, {
270
275
  default: o(() => [
271
- m(p(i), 1)
276
+ c(m(i), 1)
272
277
  ]),
273
278
  _: 2
274
279
  }, 1024)
275
280
  ]),
276
281
  _: 1
277
- }, 16, ["modelValue", "options"])) : a.field.addonRight.type === "button" ? (r(), u(h, s({
282
+ }, 16, ["modelValue", "options"])) : l.field.addonRight.type === "button" ? (r(), u(v, f({
278
283
  key: 1,
279
284
  variant: "outline"
280
- }, a.field.addonRight.props || {}, {
281
- onClick: l[3] || (l[3] = (i) => R(a.field.addonRight))
285
+ }, l.field.addonRight.props || {}, {
286
+ onClick: a[3] || (a[3] = (i) => x(l.field.addonRight))
282
287
  }), {
283
288
  default: o(() => [
284
- m(p(a.field.addonRight.text), 1)
289
+ c(m(l.field.addonRight.text), 1)
285
290
  ]),
286
291
  _: 1
287
- }, 16)) : A("", !0)
292
+ }, 16)) : $("", !0)
288
293
  ]),
289
294
  key: "1"
290
295
  } : void 0
291
- ]), 1040)) : (r(), u(H(B.value), s({ key: 1 }, {
296
+ ]), 1040)) : (r(), u(O(A.value), f({ key: 1 }, {
292
297
  ...V.value,
293
- ...a.field?.props || {}
294
- }, C(b.value)), null, 16));
298
+ ...l.field?.props || {}
299
+ }, R(b.value)), null, 16));
295
300
  }
296
301
  });
297
302
  export {
298
- oe as default
303
+ fe as default
299
304
  };
@@ -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-d8186e60"]]);
4
+ const p = /* @__PURE__ */ a(o, [["__scopeId", "data-v-9ac38977"]]);
5
5
  export {
6
6
  p as default
7
7
  };
@@ -1,14 +1,14 @@
1
- import { defineComponent as B, ref as K, watch as U, onMounted as j, openBlock as n, createElementBlock as s, normalizeClass as u, createElementVNode as r, renderSlot as m, unref as a, toDisplayString as g, createVNode as f, Fragment as b, withCtx as z, renderList as E, createCommentVNode as L } from "vue";
2
- import { VueDraggable as M } from "vue-draggable-plus";
3
- import p from "../Spinner/Spinner.vue.js";
4
- import { useKanbanBoard as V } from "./useKanbanBoard.js";
5
- const F = { class: "flex items-center justify-between font-semibold text-foreground" }, H = { class: "text-xs bg-muted text-muted-foreground px-2 py-0.5 rounded-full font-medium" }, J = {
1
+ import { defineComponent as B, ref as K, watch as U, onMounted as E, openBlock as r, createElementBlock as d, normalizeClass as u, createElementVNode as n, renderSlot as m, unref as t, toDisplayString as f, Fragment as g, renderList as b, createVNode as h, withCtx as L, createCommentVNode as M } from "vue";
2
+ import { VueDraggable as V } from "vue-draggable-plus";
3
+ import j from "../Spinner/Spinner.vue.js";
4
+ import { useKanbanBoard as z } from "./useKanbanBoard.js";
5
+ const F = { class: "flex items-center justify-between font-semibold text-foreground" }, H = {
6
6
  key: 0,
7
- class: "flex-1 flex items-center justify-center min-h-[100px]"
8
- }, O = { class: "bg-card p-3 rounded-md shadow-sm border border-border text-sm" }, A = {
7
+ class: "flex-1 flex flex-col gap-3 min-h-[50px] py-1"
8
+ }, J = { class: "bg-body p-3 rounded-md shadow-sm border border-border text-sm" }, O = {
9
9
  key: 0,
10
10
  class: "py-4 flex justify-center shrink-0"
11
- }, P = /* @__PURE__ */ B({
11
+ }, G = /* @__PURE__ */ B({
12
12
  __name: "KanbanBoard",
13
13
  props: {
14
14
  column: {},
@@ -24,88 +24,90 @@ const F = { class: "flex items-center justify-between font-semibold text-foregro
24
24
  },
25
25
  emits: ["change", "update:columnData"],
26
26
  setup(o, { emit: v }) {
27
- const t = o, c = v, y = K(null), { items: l, isInitialLoading: x, isLoadingMore: C, pageInfo: h, loadInitial: D, loadMore: k } = V(
28
- t.column.id,
29
- t.loadData,
30
- t.columnData
31
- ), I = (e) => {
32
- l.value = e, c("update:columnData", e);
27
+ const l = o, i = v, p = K(null), { items: a, isInitialLoading: y, isLoadingMore: x, pageInfo: C, loadInitial: k, loadMore: D } = z(
28
+ l.column.id,
29
+ l.loadData,
30
+ l.columnData
31
+ ), w = (e) => {
32
+ a.value = e, i("update:columnData", e);
33
33
  };
34
34
  U(
35
- () => t.columnData,
35
+ () => l.columnData,
36
36
  (e) => {
37
- e && JSON.stringify(e) !== JSON.stringify(l.value) && (l.value = [...e]);
37
+ e && JSON.stringify(e) !== JSON.stringify(a.value) && (a.value = [...e]);
38
38
  },
39
39
  { deep: !0 }
40
- ), j(() => {
41
- t.loadData && (!t.columnData || t.columnData.length === 0) && D();
40
+ ), E(() => {
41
+ l.loadData && (!l.columnData || l.columnData.length === 0) && k();
42
42
  });
43
- const S = (e) => {
44
- const i = e.target;
45
- i.scrollTop + i.clientHeight >= i.scrollHeight - 50 && k();
43
+ const I = (e) => {
44
+ const c = e.target;
45
+ c.scrollTop + c.clientHeight >= c.scrollHeight - 50 && D();
46
+ }, S = (e) => {
47
+ i("change", { type: "add", event: e, columnId: l.column.id });
46
48
  }, N = (e) => {
47
- c("change", { type: "add", event: e, columnId: t.column.id });
49
+ i("change", { type: "remove", event: e, columnId: l.column.id });
48
50
  }, $ = (e) => {
49
- c("change", { type: "remove", event: e, columnId: t.column.id });
50
- }, w = (e) => {
51
- c("change", { type: "update", event: e, columnId: t.column.id });
51
+ i("change", { type: "update", event: e, columnId: l.column.id });
52
52
  };
53
- return (e, i) => (n(), s("div", {
53
+ return (e, c) => (r(), d("div", {
54
54
  class: u([
55
- "flex flex-col bg-muted/40 rounded-lg overflow-hidden shrink-0 border border-border/50",
55
+ "flex flex-col bg-card rounded-lg overflow-hidden shrink-0 border border-border/60",
56
56
  o.boardClass || "w-80"
57
57
  ])
58
58
  }, [
59
- r("div", {
60
- class: u(["p-3 border-b border-border/50 bg-background/50", o.headerClass])
59
+ n("div", {
60
+ class: u(["p-3 border-b border-border/80 ", o.headerClass])
61
61
  }, [
62
62
  m(e.$slots, "header", {
63
63
  column: o.column,
64
- pageInfo: a(h)
64
+ pageInfo: t(C)
65
65
  }, () => [
66
- r("div", F, [
67
- r("span", null, g(o.column.title), 1),
68
- r("span", H, g(a(h).totalItems), 1)
66
+ n("div", F, [
67
+ n("span", null, f(o.column.title), 1)
69
68
  ])
70
69
  ], !0)
71
70
  ], 2),
72
- r("div", {
71
+ n("div", {
73
72
  ref_key: "scrollContainer",
74
- ref: y,
75
- class: u(["flex-1 flex flex-col overflow-y-auto p-3 custom-scrollbar", o.bodyClass]),
76
- onScroll: S
73
+ ref: p,
74
+ class: u(["flex-1 flex flex-col overflow-y-auto p-3 custom-scrollbar", o.bodyClass]),
75
+ onScroll: I
77
76
  }, [
78
- a(x) && a(l).length === 0 ? (n(), s("div", J, [
79
- f(p, {
80
- size: "md",
81
- color: "primary"
82
- })
83
- ])) : (n(), s(b, { key: 1 }, [
77
+ t(y) && t(a).length === 0 ? (r(), d("div", H, [
78
+ (r(), d(g, null, b(3, (s) => n("div", {
79
+ key: "skeleton-" + s,
80
+ class: "bg-body p-3 rounded-md shadow-sm border border-border animate-pulse flex flex-col gap-3"
81
+ }, [...c[0] || (c[0] = [
82
+ n("div", { class: "h-4 bg-muted/60 rounded w-2/3" }, null, -1),
83
+ n("div", { class: "h-3 bg-muted/60 rounded w-1/3" }, null, -1)
84
+ ])])), 64))
85
+ ])) : (r(), d(g, { key: 1 }, [
84
86
  m(e.$slots, "prepend-item", {
85
87
  column: o.column,
86
- items: a(l)
88
+ items: t(a)
87
89
  }, void 0, !0),
88
- f(a(M), {
89
- "model-value": a(l),
90
- "onUpdate:modelValue": I,
90
+ h(t(V), {
91
+ "model-value": t(a),
92
+ "onUpdate:modelValue": w,
91
93
  group: o.group,
92
94
  animation: 150,
93
95
  ghostClass: o.ghostClass || "kanban-ghost",
94
- class: u(["flex-1 flex flex-col gap-3 min-h-[50px] py-1", o.draggableClass]),
95
- onAdd: N,
96
- onRemove: $,
97
- onUpdate: w
96
+ class: u(["flex-1 flex flex-col gap-2 min-h-[50px] py-1", o.draggableClass]),
97
+ onAdd: S,
98
+ onRemove: N,
99
+ onUpdate: $
98
100
  }, {
99
- default: z(() => [
100
- (n(!0), s(b, null, E(a(l), (d) => (n(), s("div", {
101
- key: d[o.itemKey || "id"],
101
+ default: L(() => [
102
+ (r(!0), d(g, null, b(t(a), (s) => (r(), d("div", {
103
+ key: s[o.itemKey || "id"],
102
104
  class: "cursor-grab active:cursor-grabbing"
103
105
  }, [
104
106
  m(e.$slots, "item", {
105
- item: d,
107
+ item: s,
106
108
  column: o.column
107
109
  }, () => [
108
- r("div", O, g(d.title || d.name || d.id), 1)
110
+ n("div", J, f(s.title || s.name || s.id), 1)
109
111
  ], !0)
110
112
  ]))), 128))
111
113
  ]),
@@ -113,20 +115,20 @@ const F = { class: "flex items-center justify-between font-semibold text-foregro
113
115
  }, 8, ["model-value", "group", "ghostClass", "class"]),
114
116
  m(e.$slots, "append-item", {
115
117
  column: o.column,
116
- items: a(l)
118
+ items: t(a)
117
119
  }, void 0, !0),
118
- a(C) ? (n(), s("div", A, [
119
- f(p, {
120
+ t(x) ? (r(), d("div", O, [
121
+ h(j, {
120
122
  size: "sm",
121
123
  variant: "dots",
122
124
  color: "primary"
123
125
  })
124
- ])) : L("", !0)
126
+ ])) : M("", !0)
125
127
  ], 64))
126
128
  ], 34)
127
129
  ], 2));
128
130
  }
129
131
  });
130
132
  export {
131
- P as default
133
+ G as default
132
134
  };
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "private": false,
4
4
  "description": "A Vue 3 UI component library built with Tailwind CSS.",
5
5
  "license": "MIT",
6
- "version": "0.2.8",
6
+ "version": "0.2.11",
7
7
  "type": "module",
8
8
  "main": "index.js",
9
9
  "module": "index.js",