gurunkit 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/gurun-kit.js CHANGED
@@ -1,6 +1,6 @@
1
- import { Transition as e, createElementBlock as t, createElementVNode as n, h as r, openBlock as i, useId as a } from "vue";
1
+ import { Transition as e, TransitionGroup as t, createElementBlock as n, createElementVNode as r, h as i, openBlock as a, ref as o, useId as s } from "vue";
2
2
  //#region src/components/button/button.ts
3
- var o = {
3
+ var c = {
4
4
  base: "font-medium cursor-pointer inline-flex items-center justify-center",
5
5
  colors: {
6
6
  primary: "bg-blue-600 text-white hover:bg-blue-700",
@@ -14,19 +14,19 @@ var o = {
14
14
  md: "h-10 px-4 rounded-md",
15
15
  lg: "h-12 px-6 rounded-md text-lg"
16
16
  }
17
- }, s = (e, t) => {
18
- let { class: n, ...i } = t.attrs;
19
- return r(e.tag ?? "button", {
17
+ }, l = (e, t) => {
18
+ let { class: n, ...r } = t.attrs;
19
+ return i(e.tag ?? "button", {
20
20
  class: [
21
21
  n,
22
- o.base,
23
- o.colors[e.color ?? "primary"],
24
- o.sizes[e.size ?? "md"]
22
+ c.base,
23
+ c.colors[e.color ?? "primary"],
24
+ c.sizes[e.size ?? "md"]
25
25
  ],
26
- ...i
26
+ ...r
27
27
  }, { default: t.slots.default });
28
28
  };
29
- s.props = {
29
+ l.props = {
30
30
  color: {
31
31
  type: String,
32
32
  default: "primary"
@@ -42,15 +42,15 @@ s.props = {
42
42
  };
43
43
  //#endregion
44
44
  //#region src/utils.ts
45
- function c(e) {
45
+ function u(e) {
46
46
  return typeof e == "number" ? new Intl.NumberFormat().format(e) : new Intl.NumberFormat().format(Number(e.replace(/\D/gi, "")));
47
47
  }
48
- function l(e) {
48
+ function d(e) {
49
49
  return `${Number(e.replace(/\D/gi, ""))}`;
50
50
  }
51
51
  //#endregion
52
52
  //#region src/components/input/input.ts
53
- var u = {
53
+ var f = {
54
54
  base: "border focus:outline-1",
55
55
  file: "pl-0 file:bg-gray-100 file:h-full file:text-gray-900 file:border-r dark:file:bg-gray-700 dark:file:text-white",
56
56
  colors: {
@@ -95,31 +95,31 @@ var u = {
95
95
  file: "file:text-lg file:px-4 file:mr-4"
96
96
  }
97
97
  }
98
- }, d = (e, t) => {
99
- let { class: n, type: i, ...a } = t.attrs;
100
- return r(e.tag === "textarea" ? "textarea" : "input", {
101
- type: i,
98
+ }, p = (e, t) => {
99
+ let { class: n, type: r, ...a } = t.attrs;
100
+ return i(e.tag === "textarea" ? "textarea" : "input", {
101
+ type: r,
102
102
  class: [
103
103
  n,
104
- u.base,
105
- ...i === "file" ? [
106
- u.file,
107
- u.colors[e.color ?? "light"].file,
108
- u.sizes[e.size ?? "md"].file
104
+ f.base,
105
+ ...r === "file" ? [
106
+ f.file,
107
+ f.colors[e.color ?? "light"].file,
108
+ f.sizes[e.size ?? "md"].file
109
109
  ] : [],
110
- u.colors[e.color ?? "light"].base,
111
- u.sizes[e.size ?? "md"].base,
112
- u.sizes[e.size ?? "md"][e.tag === "textarea" ? "textarea" : "input"]
110
+ f.colors[e.color ?? "light"].base,
111
+ f.sizes[e.size ?? "md"].base,
112
+ f.sizes[e.size ?? "md"][e.tag === "textarea" ? "textarea" : "input"]
113
113
  ],
114
114
  ...a,
115
- value: e.currency ? c(Number(e.modelValue)) : e.modelValue,
115
+ value: e.currency ? u(Number(e.modelValue)) : e.modelValue,
116
116
  onInput: (n) => {
117
117
  let r = n.target.value;
118
- t.emit("update:modelValue", e.currency ? l(r) : r);
118
+ t.emit("update:modelValue", e.currency ? d(r) : r);
119
119
  }
120
120
  });
121
121
  };
122
- d.props = {
122
+ p.props = {
123
123
  color: {
124
124
  type: String,
125
125
  default: "light"
@@ -137,7 +137,7 @@ d.props = {
137
137
  };
138
138
  //#endregion
139
139
  //#region src/components/checkbox/checkbox.ts
140
- var f = {
140
+ var m = {
141
141
  wrapper: "inline-flex items-center gap-2.5",
142
142
  label: "font-normal text-gray-900 dark:text-gray-300",
143
143
  base: "appearance-none relative border focus-visible:outline-2 focus:ring-0 focus-visible:outline-offset-2 after:hidden checked:after:block after:content-[''] after:border-white after:-rotate-45 after:absolute",
@@ -153,28 +153,28 @@ var f = {
153
153
  md: "size-4 rounded after:w-2.5 after:border-l-2 after:border-b-2 after:h-1.5 after:top-0.75 after:left-0.5",
154
154
  lg: "size-6 rounded-md after:w-4 after:border-l-3 after:border-b-3 after:h-2.5 after:top-0.75 after:left-0.75"
155
155
  }
156
- }, p = (e, t) => {
157
- let n = e.id || a();
158
- return r("div", { class: f.wrapper }, [r("input", {
156
+ }, h = (e, t) => {
157
+ let n = e.id || s();
158
+ return i("div", { class: m.wrapper }, [i("input", {
159
159
  ...t.attrs,
160
160
  id: n,
161
161
  type: "checkbox",
162
162
  checked: Array.isArray(e.modelValue) ? e.modelValue.findIndex((t) => t === e.inputValue) !== -1 : e.modelValue,
163
163
  class: [
164
- f.base,
165
- f.colors[e.color ?? "light"],
166
- f.sizes[e.size ?? "md"]
164
+ m.base,
165
+ m.colors[e.color ?? "light"],
166
+ m.sizes[e.size ?? "md"]
167
167
  ],
168
168
  onChange: (n) => {
169
169
  let r = n.target.checked;
170
170
  t.emit("update:modelValue", Array.isArray(e.modelValue) ? r ? [...e.modelValue, e.inputValue] : e.modelValue.filter((t) => t !== e.inputValue) : r);
171
171
  }
172
- }), e.label ? r("label", {
173
- class: f.label,
172
+ }), e.label ? i("label", {
173
+ class: m.label,
174
174
  for: n
175
175
  }, e.label) : null]);
176
176
  };
177
- p.props = {
177
+ h.props = {
178
178
  label: String,
179
179
  color: {
180
180
  type: String,
@@ -187,10 +187,10 @@ p.props = {
187
187
  inputValue: String,
188
188
  modelValue: [Boolean, Array],
189
189
  id: String
190
- }, p.emits = ["update:modelValue"];
190
+ }, h.emits = ["update:modelValue"];
191
191
  //#endregion
192
192
  //#region src/components/radio/radio.ts
193
- var m = {
193
+ var g = {
194
194
  wrapper: "inline-flex items-center gap-2",
195
195
  label: "font-normal text-gray-900 dark:text-gray-300",
196
196
  base: "appearance-none rounded-full relative border focus-visible:outline-2 focus:ring-0 focus-visible:outline-offset-2 after:hidden checked:after:block after:content-[''] after:bg-white after:absolute after:rounded-full after:top-1/2 after:left-1/2 after:-translate-x-1/2 after:-translate-y-1/2",
@@ -206,27 +206,27 @@ var m = {
206
206
  md: "size-4 after:size-1.75",
207
207
  lg: "size-6 after:size-3"
208
208
  }
209
- }, h = (e, t) => {
210
- let n = e.id || a();
211
- return r("div", { class: m.wrapper }, [r("input", {
209
+ }, _ = (e, t) => {
210
+ let n = e.id || s();
211
+ return i("div", { class: g.wrapper }, [i("input", {
212
212
  ...t.attrs,
213
213
  id: n,
214
214
  type: "radio",
215
215
  checked: e.modelValue === e.inputValue,
216
216
  class: [
217
- m.base,
218
- m.colors[e.color ?? "light"],
219
- m.sizes[e.size ?? "md"]
217
+ g.base,
218
+ g.colors[e.color ?? "light"],
219
+ g.sizes[e.size ?? "md"]
220
220
  ],
221
221
  onChange: () => {
222
222
  t.emit("update:modelValue", e.inputValue);
223
223
  }
224
- }), e.label ? r("label", {
225
- class: m.label,
224
+ }), e.label ? i("label", {
225
+ class: g.label,
226
226
  for: n
227
227
  }, e.label) : null]);
228
228
  };
229
- h.props = {
229
+ _.props = {
230
230
  label: String,
231
231
  color: {
232
232
  type: String,
@@ -239,10 +239,10 @@ h.props = {
239
239
  inputValue: String,
240
240
  modelValue: String,
241
241
  id: String
242
- }, h.emits = ["update:modelValue"];
242
+ }, _.emits = ["update:modelValue"];
243
243
  //#endregion
244
244
  //#region src/components/select/select.ts
245
- var g = {
245
+ var v = {
246
246
  base: "appearance-none border focus:outline-1",
247
247
  wrapper: "w-fit relative after:block after:content-[''] after:border-l-2 after:border-b-2 after:border-gray-500 after:-rotate-45 has-focus:after:rotate-135 after:absolute",
248
248
  colors: {
@@ -262,15 +262,15 @@ var g = {
262
262
  md: "h-10 pl-3 pr-10 rounded-md",
263
263
  lg: "h-12 px-4 pr-12 rounded-md text-lg"
264
264
  }
265
- }, _ = (e, t) => {
266
- let { class: n, type: i, ...a } = t.attrs;
267
- return r("div", { class: [g.wrapper, g.wrapperSizes[e.size ?? "md"]] }, r("select", {
268
- type: i,
265
+ }, y = (e, t) => {
266
+ let { class: n, type: r, ...a } = t.attrs;
267
+ return i("div", { class: [v.wrapper, v.wrapperSizes[e.size ?? "md"]] }, i("select", {
268
+ type: r,
269
269
  class: [
270
270
  n,
271
- g.base,
272
- g.colors[e.color ?? "light"],
273
- g.sizes[e.size ?? "md"]
271
+ v.base,
272
+ v.colors[e.color ?? "light"],
273
+ v.sizes[e.size ?? "md"]
274
274
  ],
275
275
  ...a,
276
276
  value: e.modelValue === null ? "" : e.modelValue,
@@ -278,9 +278,9 @@ var g = {
278
278
  let n = e.target.value;
279
279
  t.emit("update:modelValue", n === "" ? null : n);
280
280
  }
281
- }, e.options?.map((e) => r("option", { value: typeof e == "object" && e ? e.id === null ? "" : e.id : e === null ? "" : e }, typeof e == "object" && e ? e.name : e))));
281
+ }, e.options?.map((e) => i("option", { value: typeof e == "object" && e ? e.id === null ? "" : e.id : e === null ? "" : e }, typeof e == "object" && e ? e.name : e))));
282
282
  };
283
- _.props = {
283
+ y.props = {
284
284
  color: {
285
285
  type: String,
286
286
  default: "light"
@@ -297,14 +297,14 @@ _.props = {
297
297
  };
298
298
  //#endregion
299
299
  //#region src/components/form-item/form-item.ts
300
- var v = (e, t) => {
301
- let n = e.id || a();
302
- return r("div", [r("label", {
300
+ var b = (e, t) => {
301
+ let n = e.id || s();
302
+ return i("div", [i("label", {
303
303
  class: "block mb-1",
304
304
  for: n
305
305
  }, e.label), t.slots.default ? t.slots.default({ id: n }) : null]);
306
306
  };
307
- v.props = {
307
+ b.props = {
308
308
  label: {
309
309
  type: String,
310
310
  required: !0
@@ -313,77 +313,77 @@ v.props = {
313
313
  };
314
314
  //#endregion
315
315
  //#region \0plugin-vue:export-helper
316
- var y = (e, t) => {
316
+ var x = (e, t) => {
317
317
  let n = e.__vccOpts || e;
318
318
  for (let [e, r] of t) n[e] = r;
319
319
  return n;
320
- }, b = {}, x = {
320
+ }, S = {}, C = {
321
321
  xmlns: "http://www.w3.org/2000/svg",
322
322
  fill: "none",
323
323
  viewBox: "0 0 24 24",
324
324
  "stroke-width": "1.5",
325
325
  stroke: "currentColor"
326
326
  };
327
- function S(e, r) {
328
- return i(), t("svg", x, [...r[0] ||= [n("path", {
327
+ function w(e, t) {
328
+ return a(), n("svg", C, [...t[0] ||= [r("path", {
329
329
  "stroke-linecap": "round",
330
330
  "stroke-linejoin": "round",
331
331
  d: "M6 18 18 6M6 6l12 12"
332
332
  }, null, -1)]]);
333
333
  }
334
- var C = /* @__PURE__ */ y(b, [["render", S]]), w = { size: {
334
+ var T = /* @__PURE__ */ x(S, [["render", w]]), E = { size: {
335
335
  sm: "max-w-md",
336
336
  md: "max-w-2xl",
337
337
  lg: "max-w-4xl"
338
- } }, T = (t, n) => {
339
- let i = () => {
338
+ } }, D = (t, n) => {
339
+ let r = () => {
340
340
  n.emit("update:visible", !1), n.emit("close");
341
341
  };
342
- return r(e, {
342
+ return i(e, {
343
343
  enterFromClass: "opacity-0",
344
344
  enterActiveClass: "transition transition-all duration-150",
345
345
  enterToClass: "opacity-100",
346
346
  leaveFromClass: "opacity-100",
347
347
  leaveActiveClass: "transition transition-all duration-150",
348
348
  leaveToClass: "opacity-0"
349
- }, () => t.visible ? r("div", {
349
+ }, () => t.visible ? i("div", {
350
350
  role: "dialog",
351
351
  class: "fixed inset-0 bg-black/50 w-full h-screen z-30 flex items-center justify-center",
352
- onClick: i
353
- }, r("div", {
352
+ onClick: r
353
+ }, i("div", {
354
354
  "data-test": "dialog-content",
355
- class: ["bg-white text-gray-900 w-full rounded-md shadow", w.size[t.size ?? "md"]],
355
+ class: ["bg-white text-gray-900 w-full rounded-md shadow", E.size[t.size ?? "md"]],
356
356
  onClick: (e) => {
357
357
  e.stopPropagation();
358
358
  }
359
359
  }, [
360
- t.title ? r("header", { class: "p-4 border-b border-gray-300 flex items-center justify-between" }, [r("h2", { class: "font-bold text-lg" }, t.title), r("button", {
360
+ t.title ? i("header", { class: "p-4 border-b border-gray-300 flex items-center justify-between" }, [i("h2", { class: "font-bold text-lg" }, t.title), i("button", {
361
361
  "aria-label": "Close Modal",
362
362
  class: "cursor-pointer",
363
- onClick: i
364
- }, r(C, { class: "size-5" }))]) : null,
365
- r("div", {
363
+ onClick: r
364
+ }, i(T, { class: "size-5" }))]) : null,
365
+ i("div", {
366
366
  "data-test": "dialog-body",
367
367
  class: "p-4"
368
368
  }, n.slots.default?.()),
369
- n.slots.footer ? r("footer", { class: "p-4 border-t border-gray-300" }, n.slots.footer()) : null
369
+ n.slots.footer ? i("footer", { class: "p-4 border-t border-gray-300" }, n.slots.footer()) : null
370
370
  ])) : void 0);
371
371
  };
372
- T.props = {
372
+ D.props = {
373
373
  title: String,
374
374
  visible: Boolean,
375
375
  size: {
376
376
  type: String,
377
377
  default: "md"
378
378
  }
379
- }, T.emits = ["update:visible", "close"];
379
+ }, D.emits = ["update:visible", "close"];
380
380
  //#endregion
381
381
  //#region src/components/table/table.ts
382
- var E = (e) => r("div", { class: "overflow-x-auto" }, r("table", { class: "w-full border border-gray-300 dark:border-gray-700" }, [r("thead", r("tr", e.columns?.map((e) => r("th", { class: "text-left font-bold px-4 py-3 border-b border-gray-300 bg-gray-50 text-gray-900 dark:bg-gray-800 dark:text-white dark:border-gray-700" }, e.name)))), r("tbody", e.data?.length ? e.data?.map((t) => r("tr", e.columns?.map((e) => r("td", { class: "text-gray-900 px-4 py-3 border-b border-gray-300 dark:text-white dark:border-gray-700" }, e.render ? r(e.render, { item: t }) : t[e.id])))) : r("tr", r("td", {
382
+ var O = (e) => i("div", { class: "overflow-x-auto" }, i("table", { class: "w-full border border-gray-300 dark:border-gray-700" }, [i("thead", i("tr", e.columns?.map((e) => i("th", { class: "text-left font-bold px-4 py-3 border-b border-gray-300 bg-gray-50 text-gray-900 dark:bg-gray-800 dark:text-white dark:border-gray-700" }, e.name)))), i("tbody", e.data?.length ? e.data?.map((t) => i("tr", e.columns?.map((e) => i("td", { class: "text-gray-900 px-4 py-3 border-b border-gray-300 dark:text-white dark:border-gray-700" }, e.render ? i(e.render, { item: t }) : t[e.id])))) : i("tr", i("td", {
383
383
  colspan: 2,
384
384
  class: "text-gray-900 px-4 py-3 dark:text-white"
385
385
  }, e.emptyMessage)))]));
386
- E.props = {
386
+ O.props = {
387
387
  columns: {
388
388
  type: Array,
389
389
  default: () => []
@@ -399,14 +399,14 @@ E.props = {
399
399
  };
400
400
  //#endregion
401
401
  //#region src/components/widget/widget.ts
402
- var D = (e) => r("div", { class: "bg-white border border-gray-300 rounded-lg px-5 py-4.5 space-y-2 dark:bg-gray-800 dark:border-gray-700" }, [r("p", {
402
+ var k = (e) => i("div", { class: "bg-white border border-gray-300 rounded-lg px-5 py-4.5 space-y-2 dark:bg-gray-800 dark:border-gray-700" }, [i("p", {
403
403
  "data-test": "widget-label",
404
404
  class: "text-gray-700 dark:text-gray-400"
405
- }, e.label), r("p", {
405
+ }, e.label), i("p", {
406
406
  "data-test": "widget-value",
407
407
  class: "text-gray-900 text-xl font-bold dark:text-white"
408
408
  }, e.value)]);
409
- D.props = {
409
+ k.props = {
410
410
  label: {
411
411
  type: String,
412
412
  required: !0
@@ -417,4 +417,133 @@ D.props = {
417
417
  }
418
418
  };
419
419
  //#endregion
420
- export { s as Button, p as Checkbox, v as FormItem, d as Input, T as Modal, h as Radio, _ as Select, E as Table, D as Widget };
420
+ //#region src/components/icons/chevron-left.vue
421
+ var A = {}, j = {
422
+ xmlns: "http://www.w3.org/2000/svg",
423
+ fill: "none",
424
+ viewBox: "0 0 24 24",
425
+ "stroke-width": "1.5",
426
+ stroke: "currentColor"
427
+ };
428
+ function M(e, t) {
429
+ return a(), n("svg", j, [...t[0] ||= [r("path", {
430
+ "stroke-linecap": "round",
431
+ "stroke-linejoin": "round",
432
+ d: "M15.75 19.5 8.25 12l7.5-7.5"
433
+ }, null, -1)]]);
434
+ }
435
+ var N = /* @__PURE__ */ x(A, [["render", M]]), P = {}, F = {
436
+ xmlns: "http://www.w3.org/2000/svg",
437
+ fill: "none",
438
+ viewBox: "0 0 24 24",
439
+ "stroke-width": "1.5",
440
+ stroke: "currentColor"
441
+ };
442
+ function I(e, t) {
443
+ return a(), n("svg", F, [...t[0] ||= [r("path", {
444
+ "stroke-linecap": "round",
445
+ "stroke-linejoin": "round",
446
+ d: "m8.25 4.5 7.5 7.5-7.5 7.5"
447
+ }, null, -1)]]);
448
+ }
449
+ var L = /* @__PURE__ */ x(P, [["render", I]]), R = {
450
+ active: "bg-blue-600 text-white dark:bg-blue-600",
451
+ inactive: "text-gray-900 cursor-pointer hover:bg-gray-50 dark:text-white dark:hover:bg-gray-700",
452
+ item: "w-9 h-9 flex items-center justify-center"
453
+ }, z = (e, t) => {
454
+ let n = e?.active && e?.active >= e.total;
455
+ return i("nav", { class: "border flex w-fit rounded-md border-gray-300 dark:border-gray-700" }, [
456
+ e?.active && e?.active < 2 ? null : i("a", {
457
+ "aria-label": "Prev",
458
+ class: [
459
+ R.item,
460
+ R.inactive,
461
+ "border-r border-gray-300 rounded-l-md dark:border-gray-700"
462
+ ],
463
+ onClick: (n) => {
464
+ n.preventDefault(), e.active && t.emit("update:active", e.active - 1);
465
+ }
466
+ }, i(N, { class: "size-4" })),
467
+ ...Array.from({ length: e.total }, (e, t) => t + 1).map((r) => i(r === e.active ? "span" : "a", {
468
+ class: [
469
+ e.active === r ? R.active : R.inactive,
470
+ R.item,
471
+ r === 1 ? "rounded-l-md" : "",
472
+ r < e.total || r === e.total && !n ? "border-r border-gray-300 dark:border-gray-700" : "rounded-r-md"
473
+ ],
474
+ "data-page": r,
475
+ onClick: (e) => {
476
+ e.preventDefault(), t.emit("update:active", r);
477
+ }
478
+ }, r)),
479
+ n ? null : i("a", {
480
+ "aria-label": "Next",
481
+ class: [
482
+ R.item,
483
+ R.inactive,
484
+ "rounded-r-md"
485
+ ],
486
+ onClick: (n) => {
487
+ n.preventDefault(), e.active && t.emit("update:active", e.active + 1);
488
+ }
489
+ }, i(L, { class: "size-4" }))
490
+ ]);
491
+ };
492
+ z.props = {
493
+ total: {
494
+ type: Number,
495
+ required: !0
496
+ },
497
+ active: Number
498
+ }, z.emits = ["update:active"];
499
+ //#endregion
500
+ //#region src/components/message/message.compose.ts
501
+ var B = o([]);
502
+ function V() {
503
+ function e() {
504
+ return B.value;
505
+ }
506
+ function t(e, t = 3e3) {
507
+ let n = Date.now();
508
+ B.value.push({
509
+ id: n,
510
+ message: e,
511
+ duration: t
512
+ }), setTimeout(() => r(n), t);
513
+ }
514
+ function n() {
515
+ B.value = [];
516
+ }
517
+ function r(e) {
518
+ B.value = B.value.filter((t) => t.id !== e);
519
+ }
520
+ return {
521
+ getItems: e,
522
+ info: t,
523
+ clear: n,
524
+ close: r
525
+ };
526
+ }
527
+ //#endregion
528
+ //#region src/components/message/message.ts
529
+ var H = () => {
530
+ let { getItems: e } = V();
531
+ return i(t, {
532
+ tag: "div",
533
+ enterFromClass: "opacity-0 -translate-y-full",
534
+ enterActiveClass: "transition transition-all duration-150",
535
+ enterToClass: "opacity-100 translate-y-0",
536
+ leaveFromClass: "opacity-100 translate-y-0",
537
+ leaveActiveClass: "transition transition-all duration-150 absolute",
538
+ leaveToClass: "opacity-0 -translate-y-full",
539
+ moveClass: "transition transition-all duration-150",
540
+ "data-test": "message-wrapper",
541
+ class: "fixed top-4 left-1/2 -translate-x-1/2 z-9999 space-y-2"
542
+ }, () => e().map((e) => i("div", {
543
+ key: e.id,
544
+ "data-test": "message",
545
+ class: "bg-gray-900 text-white px-3 py-2 rounded-md whitespace-nowrap dark:bg-gray-700"
546
+ }, e.message)));
547
+ };
548
+ //#endregion
549
+ export { l as Button, h as Checkbox, b as FormItem, p as Input, H as Message, D as Modal, z as Pagination, _ as Radio, y as Select, O as Table, k as Widget, V as useMessage };
@@ -1 +1 @@
1
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`vue`)):typeof define==`function`&&define.amd?define([`exports`,`vue`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.GurunKit={},e.Vue))})(this,function(e,t){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var n={base:`font-medium cursor-pointer inline-flex items-center justify-center`,colors:{primary:`bg-blue-600 text-white hover:bg-blue-700`,success:`bg-green-600 text-white hover:bg-green-700`,error:`bg-red-600 text-white hover:bg-red-700`,warning:`bg-yellow-600 text-white hover:bg-yellow-700`,light:`bg-white text-gray-700 hover:bg-gray-100`},sizes:{sm:`h-8 px-3 rounded text-sm`,md:`h-10 px-4 rounded-md`,lg:`h-12 px-6 rounded-md text-lg`}},r=(e,r)=>{let{class:i,...a}=r.attrs;return(0,t.h)(e.tag??`button`,{class:[i,n.base,n.colors[e.color??`primary`],n.sizes[e.size??`md`]],...a},{default:r.slots.default})};r.props={color:{type:String,default:`primary`},size:{type:String,default:`md`},tag:{type:null,default:`button`}};function i(e){return typeof e==`number`?new Intl.NumberFormat().format(e):new Intl.NumberFormat().format(Number(e.replace(/\D/gi,``)))}function a(e){return`${Number(e.replace(/\D/gi,``))}`}var o={base:`border focus:outline-1`,file:`pl-0 file:bg-gray-100 file:h-full file:text-gray-900 file:border-r dark:file:bg-gray-700 dark:file:text-white`,colors:{primary:{base:`bg-white text-blue-700 placeholder-blue-500 border-blue-300 focus:border-blue-600 focus:outline-blue-600 dark:bg-transparent dark:border-blue-600 dark:focus:border-blue-400 dark:focus:outline-blue-400 dark:placeholder-blue-600 dark:text-blue-300`,file:`file:border-blue-300 focus:file:border-blue-600 dark:file:border-blue-600 dark:focus:file:border-blue-400`},success:{base:`bg-white text-green-700 placeholder-green-500 border-green-300 focus:border-green-600 focus:outline-green-600 dark:bg-transparent dark:border-green-600 dark:focus:border-green-400 dark:focus:outline-green-400 dark:placeholder-green-600 dark:text-green-300`,file:`file:border-green-300 focus:file:border-green-600 dark:file:border-green-600 dark:focus:file:border-green-400`},error:{base:`bg-white text-red-700 placeholder-red-500 border-red-300 focus:border-red-600 focus:outline-red-600 dark:bg-transparent dark:border-red-600 dark:focus:border-red-400 dark:focus:outline-red-400 dark:placeholder-red-600 dark:text-red-300`,file:`file:border-red-300 focus:file:border-red-600 dark:file:border-red-600 dark:focus:file:border-red-400`},warning:{base:`bg-white text-yellow-700 placeholder-yellow-500 border-yellow-300 focus:border-yellow-600 focus:outline-yellow-600 dark:bg-transparent dark:border-yellow-600 dark:focus:border-yellow-400 dark:focus:outline-yellow-400 dark:placeholder-yellow-600 dark:text-yellow-300`,file:`file:border-yellow-300 focus:file:border-yellow-600 dark:file:border-yellow-600 dark:focus:file:border-yellow-400`},light:{base:`bg-white text-gray-700 placeholder-gray-400 border-gray-300 focus:border-blue-600 focus:outline-blue-600 dark:bg-transparent dark:border-gray-600 dark:focus:border-blue-400 dark:focus:outline-blue-400 dark:placeholder-gray-500 dark:text-gray-300`,file:`file:border-gray-300 focus:file:border-blue-600 dark:file:border-gray-600 dark:focus:file:border-blue-400`}},sizes:{sm:{base:`px-2.5 rounded text-sm`,input:`h-8`,textarea:`min-h-8 py-2`,file:`file:text-sm file:px-2.5 file:mr-2.5`},md:{base:`px-3 rounded-md`,input:`h-10`,textarea:`min-h-10 py-2`,file:`file:px-3 file:mr-3`},lg:{base:`px-4 rounded-md text-lg`,input:`h-12`,textarea:`min-h-12 py-3`,file:`file:text-lg file:px-4 file:mr-4`}}},s=(e,n)=>{let{class:r,type:s,...c}=n.attrs;return(0,t.h)(e.tag===`textarea`?`textarea`:`input`,{type:s,class:[r,o.base,...s===`file`?[o.file,o.colors[e.color??`light`].file,o.sizes[e.size??`md`].file]:[],o.colors[e.color??`light`].base,o.sizes[e.size??`md`].base,o.sizes[e.size??`md`][e.tag===`textarea`?`textarea`:`input`]],...c,value:e.currency?i(Number(e.modelValue)):e.modelValue,onInput:t=>{let r=t.target.value;n.emit(`update:modelValue`,e.currency?a(r):r)}})};s.props={color:{type:String,default:`light`},size:{type:String,default:`md`},modelValue:String,tag:{type:String,default:`input`},currency:Boolean};var c={wrapper:`inline-flex items-center gap-2.5`,label:`font-normal text-gray-900 dark:text-gray-300`,base:`appearance-none relative border focus-visible:outline-2 focus:ring-0 focus-visible:outline-offset-2 after:hidden checked:after:block after:content-[''] after:border-white after:-rotate-45 after:absolute`,colors:{light:`border-gray-300 checked:bg-blue-600 checked:border-blue-600 dark:border-gray-600 focus-visible:outline-blue-600`,primary:`border-blue-300 checked:bg-blue-600 checked:border-blue-600 dark:border-blue-600 focus-visible:outline-blue-600`,error:`border-red-300 checked:bg-red-600 checked:border-red-600 dark:border-red-600 focus-visible:outline-red-600`,warning:`border-yellow-300 checked:bg-yellow-600 checked:border-yellow-600 dark:border-yellow-600 focus-visible:outline-yellow-600`,success:`border-green-300 checked:bg-green-600 checked:border-green-600 dark:border-green-600 focus-visible:outline-green-600`},sizes:{sm:`size-3 rounded-sm after:w-1.5 after:border-l-1 after:border-b-1 after:h-1 after:top-0.5 after:left-0.5`,md:`size-4 rounded after:w-2.5 after:border-l-2 after:border-b-2 after:h-1.5 after:top-0.75 after:left-0.5`,lg:`size-6 rounded-md after:w-4 after:border-l-3 after:border-b-3 after:h-2.5 after:top-0.75 after:left-0.75`}},l=(e,n)=>{let r=e.id||(0,t.useId)();return(0,t.h)(`div`,{class:c.wrapper},[(0,t.h)(`input`,{...n.attrs,id:r,type:`checkbox`,checked:Array.isArray(e.modelValue)?e.modelValue.findIndex(t=>t===e.inputValue)!==-1:e.modelValue,class:[c.base,c.colors[e.color??`light`],c.sizes[e.size??`md`]],onChange:t=>{let r=t.target.checked;n.emit(`update:modelValue`,Array.isArray(e.modelValue)?r?[...e.modelValue,e.inputValue]:e.modelValue.filter(t=>t!==e.inputValue):r)}}),e.label?(0,t.h)(`label`,{class:c.label,for:r},e.label):null])};l.props={label:String,color:{type:String,default:`light`},size:{type:String,default:`md`},inputValue:String,modelValue:[Boolean,Array],id:String},l.emits=[`update:modelValue`];var u={wrapper:`inline-flex items-center gap-2`,label:`font-normal text-gray-900 dark:text-gray-300`,base:`appearance-none rounded-full relative border focus-visible:outline-2 focus:ring-0 focus-visible:outline-offset-2 after:hidden checked:after:block after:content-[''] after:bg-white after:absolute after:rounded-full after:top-1/2 after:left-1/2 after:-translate-x-1/2 after:-translate-y-1/2`,colors:{light:`border-gray-300 checked:bg-blue-600 checked:border-blue-600 dark:border-gray-600 focus-visible:outline-blue-600`,primary:`border-blue-300 checked:bg-blue-600 checked:border-blue-600 dark:border-blue-600 focus-visible:outline-blue-600`,error:`border-red-300 checked:bg-red-600 checked:border-red-600 dark:border-red-600 focus-visible:outline-red-600`,warning:`border-yellow-300 checked:bg-yellow-600 checked:border-yellow-600 dark:border-yellow-600 focus-visible:outline-yellow-600`,success:`border-green-300 checked:bg-green-600 checked:border-green-600 dark:border-green-600 focus-visible:outline-green-600`},sizes:{sm:`size-3 after:size-1.25`,md:`size-4 after:size-1.75`,lg:`size-6 after:size-3`}},d=(e,n)=>{let r=e.id||(0,t.useId)();return(0,t.h)(`div`,{class:u.wrapper},[(0,t.h)(`input`,{...n.attrs,id:r,type:`radio`,checked:e.modelValue===e.inputValue,class:[u.base,u.colors[e.color??`light`],u.sizes[e.size??`md`]],onChange:()=>{n.emit(`update:modelValue`,e.inputValue)}}),e.label?(0,t.h)(`label`,{class:u.label,for:r},e.label):null])};d.props={label:String,color:{type:String,default:`light`},size:{type:String,default:`md`},inputValue:String,modelValue:String,id:String},d.emits=[`update:modelValue`];var f={base:`appearance-none border focus:outline-1`,wrapper:`w-fit relative after:block after:content-[''] after:border-l-2 after:border-b-2 after:border-gray-500 after:-rotate-45 has-focus:after:rotate-135 after:absolute`,colors:{primary:`bg-white text-blue-700 placeholder-blue-500 border-blue-300 focus:border-blue-600 focus:outline-blue-600 dark:bg-transparent dark:border-blue-600 dark:focus:border-blue-400 dark:focus:outline-blue-400 dark:placeholder-blue-600 dark:text-blue-300`,success:`bg-white text-green-700 placeholder-green-500 border-green-300 focus:border-green-600 focus:outline-green-600 dark:bg-transparent dark:border-green-600 dark:focus:border-green-400 dark:focus:outline-green-400 dark:placeholder-green-600 dark:text-green-300`,error:`bg-white text-red-700 placeholder-red-500 border-red-300 focus:border-red-600 focus:outline-red-600 dark:bg-transparent dark:border-red-600 dark:focus:border-red-400 dark:focus:outline-red-400 dark:placeholder-red-600 dark:text-red-300`,warning:`bg-white text-yellow-700 placeholder-yellow-500 border-yellow-300 focus:border-yellow-600 focus:outline-yellow-600 dark:bg-transparent dark:border-yellow-600 dark:focus:border-yellow-400 dark:focus:outline-yellow-400 dark:placeholder-yellow-600 dark:text-yellow-300`,light:`bg-white text-gray-700 placeholder-gray-400 border-gray-300 focus:border-blue-600 focus:outline-blue-600 dark:bg-transparent dark:border-gray-600 dark:focus:border-blue-400 dark:focus:outline-blue-400 dark:placeholder-gray-500 dark:text-gray-300`},wrapperSizes:{sm:`after:size-1.75 after:top-2.5 after:right-2.5 has-focus:after:top-3.5`,md:`after:size-2 after:top-3.25 after:right-3 has-focus:after:top-4.25`,lg:`after:size-2 after:top-4.25 after:right-4 has-focus:after:top-5.25`},sizes:{sm:`h-8 px-2.5 pr-8 rounded text-sm`,md:`h-10 pl-3 pr-10 rounded-md`,lg:`h-12 px-4 pr-12 rounded-md text-lg`}},p=(e,n)=>{let{class:r,type:i,...a}=n.attrs;return(0,t.h)(`div`,{class:[f.wrapper,f.wrapperSizes[e.size??`md`]]},(0,t.h)(`select`,{type:i,class:[r,f.base,f.colors[e.color??`light`],f.sizes[e.size??`md`]],...a,value:e.modelValue===null?``:e.modelValue,onChange:e=>{let t=e.target.value;n.emit(`update:modelValue`,t===``?null:t)}},e.options?.map(e=>(0,t.h)(`option`,{value:typeof e==`object`&&e?e.id===null?``:e.id:e===null?``:e},typeof e==`object`&&e?e.name:e))))};p.props={color:{type:String,default:`light`},size:{type:String,default:`md`},modelValue:null,options:{type:Array,default:()=>[]}};var m=(e,n)=>{let r=e.id||(0,t.useId)();return(0,t.h)(`div`,[(0,t.h)(`label`,{class:`block mb-1`,for:r},e.label),n.slots.default?n.slots.default({id:r}):null])};m.props={label:{type:String,required:!0},id:String};var h=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},g={},_={xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,"stroke-width":`1.5`,stroke:`currentColor`};function v(e,n){return(0,t.openBlock)(),(0,t.createElementBlock)(`svg`,_,[...n[0]||=[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,d:`M6 18 18 6M6 6l12 12`},null,-1)]])}var y=h(g,[[`render`,v]]),b={size:{sm:`max-w-md`,md:`max-w-2xl`,lg:`max-w-4xl`}},x=(e,n)=>{let r=()=>{n.emit(`update:visible`,!1),n.emit(`close`)};return(0,t.h)(t.Transition,{enterFromClass:`opacity-0`,enterActiveClass:`transition transition-all duration-150`,enterToClass:`opacity-100`,leaveFromClass:`opacity-100`,leaveActiveClass:`transition transition-all duration-150`,leaveToClass:`opacity-0`},()=>e.visible?(0,t.h)(`div`,{role:`dialog`,class:`fixed inset-0 bg-black/50 w-full h-screen z-30 flex items-center justify-center`,onClick:r},(0,t.h)(`div`,{"data-test":`dialog-content`,class:[`bg-white text-gray-900 w-full rounded-md shadow`,b.size[e.size??`md`]],onClick:e=>{e.stopPropagation()}},[e.title?(0,t.h)(`header`,{class:`p-4 border-b border-gray-300 flex items-center justify-between`},[(0,t.h)(`h2`,{class:`font-bold text-lg`},e.title),(0,t.h)(`button`,{"aria-label":`Close Modal`,class:`cursor-pointer`,onClick:r},(0,t.h)(y,{class:`size-5`}))]):null,(0,t.h)(`div`,{"data-test":`dialog-body`,class:`p-4`},n.slots.default?.()),n.slots.footer?(0,t.h)(`footer`,{class:`p-4 border-t border-gray-300`},n.slots.footer()):null])):void 0)};x.props={title:String,visible:Boolean,size:{type:String,default:`md`}},x.emits=[`update:visible`,`close`];var S=e=>(0,t.h)(`div`,{class:`overflow-x-auto`},(0,t.h)(`table`,{class:`w-full border border-gray-300 dark:border-gray-700`},[(0,t.h)(`thead`,(0,t.h)(`tr`,e.columns?.map(e=>(0,t.h)(`th`,{class:`text-left font-bold px-4 py-3 border-b border-gray-300 bg-gray-50 text-gray-900 dark:bg-gray-800 dark:text-white dark:border-gray-700`},e.name)))),(0,t.h)(`tbody`,e.data?.length?e.data?.map(n=>(0,t.h)(`tr`,e.columns?.map(e=>(0,t.h)(`td`,{class:`text-gray-900 px-4 py-3 border-b border-gray-300 dark:text-white dark:border-gray-700`},e.render?(0,t.h)(e.render,{item:n}):n[e.id])))):(0,t.h)(`tr`,(0,t.h)(`td`,{colspan:2,class:`text-gray-900 px-4 py-3 dark:text-white`},e.emptyMessage)))]));S.props={columns:{type:Array,default:()=>[]},data:{type:Array,default:()=>[]},emptyMessage:{type:String,default:`Empty data`}};var C=e=>(0,t.h)(`div`,{class:`bg-white border border-gray-300 rounded-lg px-5 py-4.5 space-y-2 dark:bg-gray-800 dark:border-gray-700`},[(0,t.h)(`p`,{"data-test":`widget-label`,class:`text-gray-700 dark:text-gray-400`},e.label),(0,t.h)(`p`,{"data-test":`widget-value`,class:`text-gray-900 text-xl font-bold dark:text-white`},e.value)]);C.props={label:{type:String,required:!0},value:{type:[String,Number],required:!0}},e.Button=r,e.Checkbox=l,e.FormItem=m,e.Input=s,e.Modal=x,e.Radio=d,e.Select=p,e.Table=S,e.Widget=C});
1
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`vue`)):typeof define==`function`&&define.amd?define([`exports`,`vue`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.GurunKit={},e.Vue))})(this,function(e,t){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var n={base:`font-medium cursor-pointer inline-flex items-center justify-center`,colors:{primary:`bg-blue-600 text-white hover:bg-blue-700`,success:`bg-green-600 text-white hover:bg-green-700`,error:`bg-red-600 text-white hover:bg-red-700`,warning:`bg-yellow-600 text-white hover:bg-yellow-700`,light:`bg-white text-gray-700 hover:bg-gray-100`},sizes:{sm:`h-8 px-3 rounded text-sm`,md:`h-10 px-4 rounded-md`,lg:`h-12 px-6 rounded-md text-lg`}},r=(e,r)=>{let{class:i,...a}=r.attrs;return(0,t.h)(e.tag??`button`,{class:[i,n.base,n.colors[e.color??`primary`],n.sizes[e.size??`md`]],...a},{default:r.slots.default})};r.props={color:{type:String,default:`primary`},size:{type:String,default:`md`},tag:{type:null,default:`button`}};function i(e){return typeof e==`number`?new Intl.NumberFormat().format(e):new Intl.NumberFormat().format(Number(e.replace(/\D/gi,``)))}function a(e){return`${Number(e.replace(/\D/gi,``))}`}var o={base:`border focus:outline-1`,file:`pl-0 file:bg-gray-100 file:h-full file:text-gray-900 file:border-r dark:file:bg-gray-700 dark:file:text-white`,colors:{primary:{base:`bg-white text-blue-700 placeholder-blue-500 border-blue-300 focus:border-blue-600 focus:outline-blue-600 dark:bg-transparent dark:border-blue-600 dark:focus:border-blue-400 dark:focus:outline-blue-400 dark:placeholder-blue-600 dark:text-blue-300`,file:`file:border-blue-300 focus:file:border-blue-600 dark:file:border-blue-600 dark:focus:file:border-blue-400`},success:{base:`bg-white text-green-700 placeholder-green-500 border-green-300 focus:border-green-600 focus:outline-green-600 dark:bg-transparent dark:border-green-600 dark:focus:border-green-400 dark:focus:outline-green-400 dark:placeholder-green-600 dark:text-green-300`,file:`file:border-green-300 focus:file:border-green-600 dark:file:border-green-600 dark:focus:file:border-green-400`},error:{base:`bg-white text-red-700 placeholder-red-500 border-red-300 focus:border-red-600 focus:outline-red-600 dark:bg-transparent dark:border-red-600 dark:focus:border-red-400 dark:focus:outline-red-400 dark:placeholder-red-600 dark:text-red-300`,file:`file:border-red-300 focus:file:border-red-600 dark:file:border-red-600 dark:focus:file:border-red-400`},warning:{base:`bg-white text-yellow-700 placeholder-yellow-500 border-yellow-300 focus:border-yellow-600 focus:outline-yellow-600 dark:bg-transparent dark:border-yellow-600 dark:focus:border-yellow-400 dark:focus:outline-yellow-400 dark:placeholder-yellow-600 dark:text-yellow-300`,file:`file:border-yellow-300 focus:file:border-yellow-600 dark:file:border-yellow-600 dark:focus:file:border-yellow-400`},light:{base:`bg-white text-gray-700 placeholder-gray-400 border-gray-300 focus:border-blue-600 focus:outline-blue-600 dark:bg-transparent dark:border-gray-600 dark:focus:border-blue-400 dark:focus:outline-blue-400 dark:placeholder-gray-500 dark:text-gray-300`,file:`file:border-gray-300 focus:file:border-blue-600 dark:file:border-gray-600 dark:focus:file:border-blue-400`}},sizes:{sm:{base:`px-2.5 rounded text-sm`,input:`h-8`,textarea:`min-h-8 py-2`,file:`file:text-sm file:px-2.5 file:mr-2.5`},md:{base:`px-3 rounded-md`,input:`h-10`,textarea:`min-h-10 py-2`,file:`file:px-3 file:mr-3`},lg:{base:`px-4 rounded-md text-lg`,input:`h-12`,textarea:`min-h-12 py-3`,file:`file:text-lg file:px-4 file:mr-4`}}},s=(e,n)=>{let{class:r,type:s,...c}=n.attrs;return(0,t.h)(e.tag===`textarea`?`textarea`:`input`,{type:s,class:[r,o.base,...s===`file`?[o.file,o.colors[e.color??`light`].file,o.sizes[e.size??`md`].file]:[],o.colors[e.color??`light`].base,o.sizes[e.size??`md`].base,o.sizes[e.size??`md`][e.tag===`textarea`?`textarea`:`input`]],...c,value:e.currency?i(Number(e.modelValue)):e.modelValue,onInput:t=>{let r=t.target.value;n.emit(`update:modelValue`,e.currency?a(r):r)}})};s.props={color:{type:String,default:`light`},size:{type:String,default:`md`},modelValue:String,tag:{type:String,default:`input`},currency:Boolean};var c={wrapper:`inline-flex items-center gap-2.5`,label:`font-normal text-gray-900 dark:text-gray-300`,base:`appearance-none relative border focus-visible:outline-2 focus:ring-0 focus-visible:outline-offset-2 after:hidden checked:after:block after:content-[''] after:border-white after:-rotate-45 after:absolute`,colors:{light:`border-gray-300 checked:bg-blue-600 checked:border-blue-600 dark:border-gray-600 focus-visible:outline-blue-600`,primary:`border-blue-300 checked:bg-blue-600 checked:border-blue-600 dark:border-blue-600 focus-visible:outline-blue-600`,error:`border-red-300 checked:bg-red-600 checked:border-red-600 dark:border-red-600 focus-visible:outline-red-600`,warning:`border-yellow-300 checked:bg-yellow-600 checked:border-yellow-600 dark:border-yellow-600 focus-visible:outline-yellow-600`,success:`border-green-300 checked:bg-green-600 checked:border-green-600 dark:border-green-600 focus-visible:outline-green-600`},sizes:{sm:`size-3 rounded-sm after:w-1.5 after:border-l-1 after:border-b-1 after:h-1 after:top-0.5 after:left-0.5`,md:`size-4 rounded after:w-2.5 after:border-l-2 after:border-b-2 after:h-1.5 after:top-0.75 after:left-0.5`,lg:`size-6 rounded-md after:w-4 after:border-l-3 after:border-b-3 after:h-2.5 after:top-0.75 after:left-0.75`}},l=(e,n)=>{let r=e.id||(0,t.useId)();return(0,t.h)(`div`,{class:c.wrapper},[(0,t.h)(`input`,{...n.attrs,id:r,type:`checkbox`,checked:Array.isArray(e.modelValue)?e.modelValue.findIndex(t=>t===e.inputValue)!==-1:e.modelValue,class:[c.base,c.colors[e.color??`light`],c.sizes[e.size??`md`]],onChange:t=>{let r=t.target.checked;n.emit(`update:modelValue`,Array.isArray(e.modelValue)?r?[...e.modelValue,e.inputValue]:e.modelValue.filter(t=>t!==e.inputValue):r)}}),e.label?(0,t.h)(`label`,{class:c.label,for:r},e.label):null])};l.props={label:String,color:{type:String,default:`light`},size:{type:String,default:`md`},inputValue:String,modelValue:[Boolean,Array],id:String},l.emits=[`update:modelValue`];var u={wrapper:`inline-flex items-center gap-2`,label:`font-normal text-gray-900 dark:text-gray-300`,base:`appearance-none rounded-full relative border focus-visible:outline-2 focus:ring-0 focus-visible:outline-offset-2 after:hidden checked:after:block after:content-[''] after:bg-white after:absolute after:rounded-full after:top-1/2 after:left-1/2 after:-translate-x-1/2 after:-translate-y-1/2`,colors:{light:`border-gray-300 checked:bg-blue-600 checked:border-blue-600 dark:border-gray-600 focus-visible:outline-blue-600`,primary:`border-blue-300 checked:bg-blue-600 checked:border-blue-600 dark:border-blue-600 focus-visible:outline-blue-600`,error:`border-red-300 checked:bg-red-600 checked:border-red-600 dark:border-red-600 focus-visible:outline-red-600`,warning:`border-yellow-300 checked:bg-yellow-600 checked:border-yellow-600 dark:border-yellow-600 focus-visible:outline-yellow-600`,success:`border-green-300 checked:bg-green-600 checked:border-green-600 dark:border-green-600 focus-visible:outline-green-600`},sizes:{sm:`size-3 after:size-1.25`,md:`size-4 after:size-1.75`,lg:`size-6 after:size-3`}},d=(e,n)=>{let r=e.id||(0,t.useId)();return(0,t.h)(`div`,{class:u.wrapper},[(0,t.h)(`input`,{...n.attrs,id:r,type:`radio`,checked:e.modelValue===e.inputValue,class:[u.base,u.colors[e.color??`light`],u.sizes[e.size??`md`]],onChange:()=>{n.emit(`update:modelValue`,e.inputValue)}}),e.label?(0,t.h)(`label`,{class:u.label,for:r},e.label):null])};d.props={label:String,color:{type:String,default:`light`},size:{type:String,default:`md`},inputValue:String,modelValue:String,id:String},d.emits=[`update:modelValue`];var f={base:`appearance-none border focus:outline-1`,wrapper:`w-fit relative after:block after:content-[''] after:border-l-2 after:border-b-2 after:border-gray-500 after:-rotate-45 has-focus:after:rotate-135 after:absolute`,colors:{primary:`bg-white text-blue-700 placeholder-blue-500 border-blue-300 focus:border-blue-600 focus:outline-blue-600 dark:bg-transparent dark:border-blue-600 dark:focus:border-blue-400 dark:focus:outline-blue-400 dark:placeholder-blue-600 dark:text-blue-300`,success:`bg-white text-green-700 placeholder-green-500 border-green-300 focus:border-green-600 focus:outline-green-600 dark:bg-transparent dark:border-green-600 dark:focus:border-green-400 dark:focus:outline-green-400 dark:placeholder-green-600 dark:text-green-300`,error:`bg-white text-red-700 placeholder-red-500 border-red-300 focus:border-red-600 focus:outline-red-600 dark:bg-transparent dark:border-red-600 dark:focus:border-red-400 dark:focus:outline-red-400 dark:placeholder-red-600 dark:text-red-300`,warning:`bg-white text-yellow-700 placeholder-yellow-500 border-yellow-300 focus:border-yellow-600 focus:outline-yellow-600 dark:bg-transparent dark:border-yellow-600 dark:focus:border-yellow-400 dark:focus:outline-yellow-400 dark:placeholder-yellow-600 dark:text-yellow-300`,light:`bg-white text-gray-700 placeholder-gray-400 border-gray-300 focus:border-blue-600 focus:outline-blue-600 dark:bg-transparent dark:border-gray-600 dark:focus:border-blue-400 dark:focus:outline-blue-400 dark:placeholder-gray-500 dark:text-gray-300`},wrapperSizes:{sm:`after:size-1.75 after:top-2.5 after:right-2.5 has-focus:after:top-3.5`,md:`after:size-2 after:top-3.25 after:right-3 has-focus:after:top-4.25`,lg:`after:size-2 after:top-4.25 after:right-4 has-focus:after:top-5.25`},sizes:{sm:`h-8 px-2.5 pr-8 rounded text-sm`,md:`h-10 pl-3 pr-10 rounded-md`,lg:`h-12 px-4 pr-12 rounded-md text-lg`}},p=(e,n)=>{let{class:r,type:i,...a}=n.attrs;return(0,t.h)(`div`,{class:[f.wrapper,f.wrapperSizes[e.size??`md`]]},(0,t.h)(`select`,{type:i,class:[r,f.base,f.colors[e.color??`light`],f.sizes[e.size??`md`]],...a,value:e.modelValue===null?``:e.modelValue,onChange:e=>{let t=e.target.value;n.emit(`update:modelValue`,t===``?null:t)}},e.options?.map(e=>(0,t.h)(`option`,{value:typeof e==`object`&&e?e.id===null?``:e.id:e===null?``:e},typeof e==`object`&&e?e.name:e))))};p.props={color:{type:String,default:`light`},size:{type:String,default:`md`},modelValue:null,options:{type:Array,default:()=>[]}};var m=(e,n)=>{let r=e.id||(0,t.useId)();return(0,t.h)(`div`,[(0,t.h)(`label`,{class:`block mb-1`,for:r},e.label),n.slots.default?n.slots.default({id:r}):null])};m.props={label:{type:String,required:!0},id:String};var h=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},g={},_={xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,"stroke-width":`1.5`,stroke:`currentColor`};function v(e,n){return(0,t.openBlock)(),(0,t.createElementBlock)(`svg`,_,[...n[0]||=[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,d:`M6 18 18 6M6 6l12 12`},null,-1)]])}var y=h(g,[[`render`,v]]),b={size:{sm:`max-w-md`,md:`max-w-2xl`,lg:`max-w-4xl`}},x=(e,n)=>{let r=()=>{n.emit(`update:visible`,!1),n.emit(`close`)};return(0,t.h)(t.Transition,{enterFromClass:`opacity-0`,enterActiveClass:`transition transition-all duration-150`,enterToClass:`opacity-100`,leaveFromClass:`opacity-100`,leaveActiveClass:`transition transition-all duration-150`,leaveToClass:`opacity-0`},()=>e.visible?(0,t.h)(`div`,{role:`dialog`,class:`fixed inset-0 bg-black/50 w-full h-screen z-30 flex items-center justify-center`,onClick:r},(0,t.h)(`div`,{"data-test":`dialog-content`,class:[`bg-white text-gray-900 w-full rounded-md shadow`,b.size[e.size??`md`]],onClick:e=>{e.stopPropagation()}},[e.title?(0,t.h)(`header`,{class:`p-4 border-b border-gray-300 flex items-center justify-between`},[(0,t.h)(`h2`,{class:`font-bold text-lg`},e.title),(0,t.h)(`button`,{"aria-label":`Close Modal`,class:`cursor-pointer`,onClick:r},(0,t.h)(y,{class:`size-5`}))]):null,(0,t.h)(`div`,{"data-test":`dialog-body`,class:`p-4`},n.slots.default?.()),n.slots.footer?(0,t.h)(`footer`,{class:`p-4 border-t border-gray-300`},n.slots.footer()):null])):void 0)};x.props={title:String,visible:Boolean,size:{type:String,default:`md`}},x.emits=[`update:visible`,`close`];var S=e=>(0,t.h)(`div`,{class:`overflow-x-auto`},(0,t.h)(`table`,{class:`w-full border border-gray-300 dark:border-gray-700`},[(0,t.h)(`thead`,(0,t.h)(`tr`,e.columns?.map(e=>(0,t.h)(`th`,{class:`text-left font-bold px-4 py-3 border-b border-gray-300 bg-gray-50 text-gray-900 dark:bg-gray-800 dark:text-white dark:border-gray-700`},e.name)))),(0,t.h)(`tbody`,e.data?.length?e.data?.map(n=>(0,t.h)(`tr`,e.columns?.map(e=>(0,t.h)(`td`,{class:`text-gray-900 px-4 py-3 border-b border-gray-300 dark:text-white dark:border-gray-700`},e.render?(0,t.h)(e.render,{item:n}):n[e.id])))):(0,t.h)(`tr`,(0,t.h)(`td`,{colspan:2,class:`text-gray-900 px-4 py-3 dark:text-white`},e.emptyMessage)))]));S.props={columns:{type:Array,default:()=>[]},data:{type:Array,default:()=>[]},emptyMessage:{type:String,default:`Empty data`}};var C=e=>(0,t.h)(`div`,{class:`bg-white border border-gray-300 rounded-lg px-5 py-4.5 space-y-2 dark:bg-gray-800 dark:border-gray-700`},[(0,t.h)(`p`,{"data-test":`widget-label`,class:`text-gray-700 dark:text-gray-400`},e.label),(0,t.h)(`p`,{"data-test":`widget-value`,class:`text-gray-900 text-xl font-bold dark:text-white`},e.value)]);C.props={label:{type:String,required:!0},value:{type:[String,Number],required:!0}};var w={},T={xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,"stroke-width":`1.5`,stroke:`currentColor`};function E(e,n){return(0,t.openBlock)(),(0,t.createElementBlock)(`svg`,T,[...n[0]||=[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,d:`M15.75 19.5 8.25 12l7.5-7.5`},null,-1)]])}var D=h(w,[[`render`,E]]),O={},k={xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,"stroke-width":`1.5`,stroke:`currentColor`};function A(e,n){return(0,t.openBlock)(),(0,t.createElementBlock)(`svg`,k,[...n[0]||=[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,d:`m8.25 4.5 7.5 7.5-7.5 7.5`},null,-1)]])}var j=h(O,[[`render`,A]]),M={active:`bg-blue-600 text-white dark:bg-blue-600`,inactive:`text-gray-900 cursor-pointer hover:bg-gray-50 dark:text-white dark:hover:bg-gray-700`,item:`w-9 h-9 flex items-center justify-center`},N=(e,n)=>{let r=e?.active&&e?.active>=e.total;return(0,t.h)(`nav`,{class:`border flex w-fit rounded-md border-gray-300 dark:border-gray-700`},[e?.active&&e?.active<2?null:(0,t.h)(`a`,{"aria-label":`Prev`,class:[M.item,M.inactive,`border-r border-gray-300 rounded-l-md dark:border-gray-700`],onClick:t=>{t.preventDefault(),e.active&&n.emit(`update:active`,e.active-1)}},(0,t.h)(D,{class:`size-4`})),...Array.from({length:e.total},(e,t)=>t+1).map(i=>(0,t.h)(i===e.active?`span`:`a`,{class:[e.active===i?M.active:M.inactive,M.item,i===1?`rounded-l-md`:``,i<e.total||i===e.total&&!r?`border-r border-gray-300 dark:border-gray-700`:`rounded-r-md`],"data-page":i,onClick:e=>{e.preventDefault(),n.emit(`update:active`,i)}},i)),r?null:(0,t.h)(`a`,{"aria-label":`Next`,class:[M.item,M.inactive,`rounded-r-md`],onClick:t=>{t.preventDefault(),e.active&&n.emit(`update:active`,e.active+1)}},(0,t.h)(j,{class:`size-4`}))])};N.props={total:{type:Number,required:!0},active:Number},N.emits=[`update:active`];var P=(0,t.ref)([]);function F(){function e(){return P.value}function t(e,t=3e3){let n=Date.now();P.value.push({id:n,message:e,duration:t}),setTimeout(()=>r(n),t)}function n(){P.value=[]}function r(e){P.value=P.value.filter(t=>t.id!==e)}return{getItems:e,info:t,clear:n,close:r}}e.Button=r,e.Checkbox=l,e.FormItem=m,e.Input=s,e.Message=()=>{let{getItems:e}=F();return(0,t.h)(t.TransitionGroup,{tag:`div`,enterFromClass:`opacity-0 -translate-y-full`,enterActiveClass:`transition transition-all duration-150`,enterToClass:`opacity-100 translate-y-0`,leaveFromClass:`opacity-100 translate-y-0`,leaveActiveClass:`transition transition-all duration-150 absolute`,leaveToClass:`opacity-0 -translate-y-full`,moveClass:`transition transition-all duration-150`,"data-test":`message-wrapper`,class:`fixed top-4 left-1/2 -translate-x-1/2 z-9999 space-y-2`},()=>e().map(e=>(0,t.h)(`div`,{key:e.id,"data-test":`message`,class:`bg-gray-900 text-white px-3 py-2 rounded-md whitespace-nowrap dark:bg-gray-700`},e.message)))},e.Modal=x,e.Pagination=N,e.Radio=d,e.Select=p,e.Table=S,e.Widget=C,e.useMessage=F});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gurunkit",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "author": "Narakode <ibrahimalanshor6@gmail.com> (https://narakode.id)",
5
5
  "keywords": [
6
6
  "vue",