gurunkit 0.2.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"
@@ -41,8 +41,16 @@ s.props = {
41
41
  }
42
42
  };
43
43
  //#endregion
44
+ //#region src/utils.ts
45
+ function u(e) {
46
+ return typeof e == "number" ? new Intl.NumberFormat().format(e) : new Intl.NumberFormat().format(Number(e.replace(/\D/gi, "")));
47
+ }
48
+ function d(e) {
49
+ return `${Number(e.replace(/\D/gi, ""))}`;
50
+ }
51
+ //#endregion
44
52
  //#region src/components/input/input.ts
45
- var c = {
53
+ var f = {
46
54
  base: "border focus:outline-1",
47
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",
48
56
  colors: {
@@ -87,28 +95,31 @@ var c = {
87
95
  file: "file:text-lg file:px-4 file:mr-4"
88
96
  }
89
97
  }
90
- }, l = (e, t) => {
91
- let { class: n, type: i, ...a } = t.attrs;
92
- return r(e.tag === "textarea" ? "textarea" : "input", {
93
- 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,
94
102
  class: [
95
103
  n,
96
- c.base,
97
- ...i === "file" ? [
98
- c.file,
99
- c.colors[e.color ?? "light"].file,
100
- c.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
101
109
  ] : [],
102
- c.colors[e.color ?? "light"].base,
103
- c.sizes[e.size ?? "md"].base,
104
- c.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"]
105
113
  ],
106
114
  ...a,
107
- value: e.modelValue,
108
- onInput: (e) => t.emit("update:modelValue", e.target.value)
115
+ value: e.currency ? u(Number(e.modelValue)) : e.modelValue,
116
+ onInput: (n) => {
117
+ let r = n.target.value;
118
+ t.emit("update:modelValue", e.currency ? d(r) : r);
119
+ }
109
120
  });
110
121
  };
111
- l.props = {
122
+ p.props = {
112
123
  color: {
113
124
  type: String,
114
125
  default: "light"
@@ -121,11 +132,12 @@ l.props = {
121
132
  tag: {
122
133
  type: String,
123
134
  default: "input"
124
- }
135
+ },
136
+ currency: Boolean
125
137
  };
126
138
  //#endregion
127
139
  //#region src/components/checkbox/checkbox.ts
128
- var u = {
140
+ var m = {
129
141
  wrapper: "inline-flex items-center gap-2.5",
130
142
  label: "font-normal text-gray-900 dark:text-gray-300",
131
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",
@@ -141,28 +153,28 @@ var u = {
141
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",
142
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"
143
155
  }
144
- }, d = (e, t) => {
145
- let n = e.id || a();
146
- return r("div", { class: u.wrapper }, [r("input", {
156
+ }, h = (e, t) => {
157
+ let n = e.id || s();
158
+ return i("div", { class: m.wrapper }, [i("input", {
147
159
  ...t.attrs,
148
160
  id: n,
149
161
  type: "checkbox",
150
162
  checked: Array.isArray(e.modelValue) ? e.modelValue.findIndex((t) => t === e.inputValue) !== -1 : e.modelValue,
151
163
  class: [
152
- u.base,
153
- u.colors[e.color ?? "light"],
154
- u.sizes[e.size ?? "md"]
164
+ m.base,
165
+ m.colors[e.color ?? "light"],
166
+ m.sizes[e.size ?? "md"]
155
167
  ],
156
168
  onChange: (n) => {
157
169
  let r = n.target.checked;
158
170
  t.emit("update:modelValue", Array.isArray(e.modelValue) ? r ? [...e.modelValue, e.inputValue] : e.modelValue.filter((t) => t !== e.inputValue) : r);
159
171
  }
160
- }), e.label ? r("label", {
161
- class: u.label,
172
+ }), e.label ? i("label", {
173
+ class: m.label,
162
174
  for: n
163
175
  }, e.label) : null]);
164
176
  };
165
- d.props = {
177
+ h.props = {
166
178
  label: String,
167
179
  color: {
168
180
  type: String,
@@ -175,10 +187,10 @@ d.props = {
175
187
  inputValue: String,
176
188
  modelValue: [Boolean, Array],
177
189
  id: String
178
- }, d.emits = ["update:modelValue"];
190
+ }, h.emits = ["update:modelValue"];
179
191
  //#endregion
180
192
  //#region src/components/radio/radio.ts
181
- var f = {
193
+ var g = {
182
194
  wrapper: "inline-flex items-center gap-2",
183
195
  label: "font-normal text-gray-900 dark:text-gray-300",
184
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",
@@ -194,27 +206,27 @@ var f = {
194
206
  md: "size-4 after:size-1.75",
195
207
  lg: "size-6 after:size-3"
196
208
  }
197
- }, p = (e, t) => {
198
- let n = e.id || a();
199
- return r("div", { class: f.wrapper }, [r("input", {
209
+ }, _ = (e, t) => {
210
+ let n = e.id || s();
211
+ return i("div", { class: g.wrapper }, [i("input", {
200
212
  ...t.attrs,
201
213
  id: n,
202
214
  type: "radio",
203
215
  checked: e.modelValue === e.inputValue,
204
216
  class: [
205
- f.base,
206
- f.colors[e.color ?? "light"],
207
- f.sizes[e.size ?? "md"]
217
+ g.base,
218
+ g.colors[e.color ?? "light"],
219
+ g.sizes[e.size ?? "md"]
208
220
  ],
209
221
  onChange: () => {
210
222
  t.emit("update:modelValue", e.inputValue);
211
223
  }
212
- }), e.label ? r("label", {
213
- class: f.label,
224
+ }), e.label ? i("label", {
225
+ class: g.label,
214
226
  for: n
215
227
  }, e.label) : null]);
216
228
  };
217
- p.props = {
229
+ _.props = {
218
230
  label: String,
219
231
  color: {
220
232
  type: String,
@@ -227,10 +239,10 @@ p.props = {
227
239
  inputValue: String,
228
240
  modelValue: String,
229
241
  id: String
230
- }, p.emits = ["update:modelValue"];
242
+ }, _.emits = ["update:modelValue"];
231
243
  //#endregion
232
244
  //#region src/components/select/select.ts
233
- var m = {
245
+ var v = {
234
246
  base: "appearance-none border focus:outline-1",
235
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",
236
248
  colors: {
@@ -250,22 +262,25 @@ var m = {
250
262
  md: "h-10 pl-3 pr-10 rounded-md",
251
263
  lg: "h-12 px-4 pr-12 rounded-md text-lg"
252
264
  }
253
- }, h = (e, t) => {
254
- let { class: n, type: i, ...a } = t.attrs;
255
- return r("div", { class: [m.wrapper, m.wrapperSizes[e.size ?? "md"]] }, r("select", {
256
- 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,
257
269
  class: [
258
270
  n,
259
- m.base,
260
- m.colors[e.color ?? "light"],
261
- m.sizes[e.size ?? "md"]
271
+ v.base,
272
+ v.colors[e.color ?? "light"],
273
+ v.sizes[e.size ?? "md"]
262
274
  ],
263
275
  ...a,
264
- value: e.modelValue,
265
- onChange: (e) => t.emit("update:modelValue", e.target.value)
266
- }, e.options?.map((e) => r("option", { value: typeof e == "object" ? e.id : e }, typeof e == "object" ? e.name : e))));
276
+ value: e.modelValue === null ? "" : e.modelValue,
277
+ onChange: (e) => {
278
+ let n = e.target.value;
279
+ t.emit("update:modelValue", n === "" ? null : n);
280
+ }
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))));
267
282
  };
268
- h.props = {
283
+ y.props = {
269
284
  color: {
270
285
  type: String,
271
286
  default: "light"
@@ -282,14 +297,14 @@ h.props = {
282
297
  };
283
298
  //#endregion
284
299
  //#region src/components/form-item/form-item.ts
285
- var g = (e, t) => {
286
- let n = e.id || a();
287
- return r("div", [r("label", {
300
+ var b = (e, t) => {
301
+ let n = e.id || s();
302
+ return i("div", [i("label", {
288
303
  class: "block mb-1",
289
304
  for: n
290
305
  }, e.label), t.slots.default ? t.slots.default({ id: n }) : null]);
291
306
  };
292
- g.props = {
307
+ b.props = {
293
308
  label: {
294
309
  type: String,
295
310
  required: !0
@@ -298,69 +313,77 @@ g.props = {
298
313
  };
299
314
  //#endregion
300
315
  //#region \0plugin-vue:export-helper
301
- var _ = (e, t) => {
316
+ var x = (e, t) => {
302
317
  let n = e.__vccOpts || e;
303
318
  for (let [e, r] of t) n[e] = r;
304
319
  return n;
305
- }, v = {}, y = {
320
+ }, S = {}, C = {
306
321
  xmlns: "http://www.w3.org/2000/svg",
307
322
  fill: "none",
308
323
  viewBox: "0 0 24 24",
309
324
  "stroke-width": "1.5",
310
325
  stroke: "currentColor"
311
326
  };
312
- function b(e, r) {
313
- return i(), t("svg", y, [...r[0] ||= [n("path", {
327
+ function w(e, t) {
328
+ return a(), n("svg", C, [...t[0] ||= [r("path", {
314
329
  "stroke-linecap": "round",
315
330
  "stroke-linejoin": "round",
316
331
  d: "M6 18 18 6M6 6l12 12"
317
332
  }, null, -1)]]);
318
333
  }
319
- var x = /* @__PURE__ */ _(v, [["render", b]]), S = (t, n) => {
320
- let i = () => {
334
+ var T = /* @__PURE__ */ x(S, [["render", w]]), E = { size: {
335
+ sm: "max-w-md",
336
+ md: "max-w-2xl",
337
+ lg: "max-w-4xl"
338
+ } }, D = (t, n) => {
339
+ let r = () => {
321
340
  n.emit("update:visible", !1), n.emit("close");
322
341
  };
323
- return r(e, {
342
+ return i(e, {
324
343
  enterFromClass: "opacity-0",
325
344
  enterActiveClass: "transition transition-all duration-150",
326
345
  enterToClass: "opacity-100",
327
346
  leaveFromClass: "opacity-100",
328
347
  leaveActiveClass: "transition transition-all duration-150",
329
348
  leaveToClass: "opacity-0"
330
- }, () => t.visible ? r("div", {
349
+ }, () => t.visible ? i("div", {
331
350
  role: "dialog",
332
351
  class: "fixed inset-0 bg-black/50 w-full h-screen z-30 flex items-center justify-center",
333
- onClick: i
334
- }, r("div", {
352
+ onClick: r
353
+ }, i("div", {
335
354
  "data-test": "dialog-content",
336
- class: "bg-white text-gray-900 max-w-screen-md w-full rounded-md shadow",
355
+ class: ["bg-white text-gray-900 w-full rounded-md shadow", E.size[t.size ?? "md"]],
337
356
  onClick: (e) => {
338
357
  e.stopPropagation();
339
358
  }
340
359
  }, [
341
- 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", {
342
361
  "aria-label": "Close Modal",
343
362
  class: "cursor-pointer",
344
- onClick: i
345
- }, r(x, { class: "size-5" }))]) : null,
346
- r("div", {
363
+ onClick: r
364
+ }, i(T, { class: "size-5" }))]) : null,
365
+ i("div", {
347
366
  "data-test": "dialog-body",
348
367
  class: "p-4"
349
368
  }, n.slots.default?.()),
350
- 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
351
370
  ])) : void 0);
352
371
  };
353
- S.props = {
372
+ D.props = {
354
373
  title: String,
355
- visible: Boolean
356
- }, S.emits = ["update:visible", "close"];
374
+ visible: Boolean,
375
+ size: {
376
+ type: String,
377
+ default: "md"
378
+ }
379
+ }, D.emits = ["update:visible", "close"];
357
380
  //#endregion
358
381
  //#region src/components/table/table.ts
359
- var C = (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", {
360
383
  colspan: 2,
361
384
  class: "text-gray-900 px-4 py-3 dark:text-white"
362
- }, "Empty data")))]));
363
- C.props = {
385
+ }, e.emptyMessage)))]));
386
+ O.props = {
364
387
  columns: {
365
388
  type: Array,
366
389
  default: () => []
@@ -368,18 +391,22 @@ C.props = {
368
391
  data: {
369
392
  type: Array,
370
393
  default: () => []
394
+ },
395
+ emptyMessage: {
396
+ type: String,
397
+ default: "Empty data"
371
398
  }
372
399
  };
373
400
  //#endregion
374
401
  //#region src/components/widget/widget.ts
375
- var w = (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", {
376
403
  "data-test": "widget-label",
377
404
  class: "text-gray-700 dark:text-gray-400"
378
- }, e.label), r("p", {
405
+ }, e.label), i("p", {
379
406
  "data-test": "widget-value",
380
407
  class: "text-gray-900 text-xl font-bold dark:text-white"
381
408
  }, e.value)]);
382
- w.props = {
409
+ k.props = {
383
410
  label: {
384
411
  type: String,
385
412
  required: !0
@@ -390,4 +417,133 @@ w.props = {
390
417
  }
391
418
  };
392
419
  //#endregion
393
- export { s as Button, d as Checkbox, g as FormItem, l as Input, S as Modal, p as Radio, h as Select, C as Table, w 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`}};var i={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`}}},a=(e,n)=>{let{class:r,type:a,...o}=n.attrs;return(0,t.h)(e.tag===`textarea`?`textarea`:`input`,{type:a,class:[r,i.base,...a===`file`?[i.file,i.colors[e.color??`light`].file,i.sizes[e.size??`md`].file]:[],i.colors[e.color??`light`].base,i.sizes[e.size??`md`].base,i.sizes[e.size??`md`][e.tag===`textarea`?`textarea`:`input`]],...o,value:e.modelValue,onInput:e=>n.emit(`update:modelValue`,e.target.value)})};a.props={color:{type:String,default:`light`},size:{type:String,default:`md`},modelValue:String,tag:{type:String,default:`input`}};var o={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`}},s=(e,n)=>{let r=e.id||(0,t.useId)();return(0,t.h)(`div`,{class:o.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:[o.base,o.colors[e.color??`light`],o.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:o.label,for:r},e.label):null])};s.props={label:String,color:{type:String,default:`light`},size:{type:String,default:`md`},inputValue:String,modelValue:[Boolean,Array],id:String},s.emits=[`update:modelValue`];var c={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`}},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:`radio`,checked:e.modelValue===e.inputValue,class:[c.base,c.colors[e.color??`light`],c.sizes[e.size??`md`]],onChange:()=>{n.emit(`update:modelValue`,e.inputValue)}}),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:String,id:String},l.emits=[`update:modelValue`];var u={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`}},d=(e,n)=>{let{class:r,type:i,...a}=n.attrs;return(0,t.h)(`div`,{class:[u.wrapper,u.wrapperSizes[e.size??`md`]]},(0,t.h)(`select`,{type:i,class:[r,u.base,u.colors[e.color??`light`],u.sizes[e.size??`md`]],...a,value:e.modelValue,onChange:e=>n.emit(`update:modelValue`,e.target.value)},e.options?.map(e=>(0,t.h)(`option`,{value:typeof e==`object`?e.id:e},typeof e==`object`?e.name:e))))};d.props={color:{type:String,default:`light`},size:{type:String,default:`md`},modelValue:null,options:{type:Array,default:()=>[]}};var f=(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])};f.props={label:{type:String,required:!0},id:String};var p=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},m={},h={xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,"stroke-width":`1.5`,stroke:`currentColor`};function g(e,n){return(0,t.openBlock)(),(0,t.createElementBlock)(`svg`,h,[...n[0]||=[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,d:`M6 18 18 6M6 6l12 12`},null,-1)]])}var _=p(m,[[`render`,g]]),v=(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 max-w-screen-md w-full rounded-md shadow`,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)(_,{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)};v.props={title:String,visible:Boolean},v.emits=[`update:visible`,`close`];var y=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`},`Empty data`)))]));y.props={columns:{type:Array,default:()=>[]},data:{type:Array,default:()=>[]}};var b=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)]);b.props={label:{type:String,required:!0},value:{type:[String,Number],required:!0}},e.Button=r,e.Checkbox=s,e.FormItem=f,e.Input=a,e.Modal=v,e.Radio=l,e.Select=d,e.Table=y,e.Widget=b});
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.2.0",
3
+ "version": "0.3.1",
4
4
  "author": "Narakode <ibrahimalanshor6@gmail.com> (https://narakode.id)",
5
5
  "keywords": [
6
6
  "vue",