vuiii 1.0.0-beta.7 → 1.0.0-beta.71

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/README.md +11 -10
  2. package/dist/arrow-narrow-down-D7TTg_Sg.js +22 -0
  3. package/dist/arrow-narrow-left-DtYskF4u.js +22 -0
  4. package/dist/arrow-narrow-right-BJQhmnn_.js +22 -0
  5. package/dist/arrow-narrow-up-CQrQ9M4D.js +22 -0
  6. package/dist/arrow-up-tray-CiOLkzou.js +21 -0
  7. package/dist/caret-sort-C5vFjl8V.js +21 -0
  8. package/dist/check-fIjMng7B.js +22 -0
  9. package/dist/chevron-down-Ba3vWwVv.js +22 -0
  10. package/dist/chevron-left-C_3hZrgL.js +22 -0
  11. package/dist/chevron-right-DDxObgsn.js +22 -0
  12. package/dist/chevron-up-CQmsFtn5.js +22 -0
  13. package/dist/exclamation-C6mSrM_E.js +22 -0
  14. package/dist/index-DmsS8oJ5.js +2705 -0
  15. package/dist/mail-DrRAX7M1.js +22 -0
  16. package/dist/minus-Des-0JUa.js +22 -0
  17. package/dist/pencil-DJcpXseh.js +22 -0
  18. package/dist/plus-LLjGl5U3.js +22 -0
  19. package/dist/search-DvPkCGBS.js +22 -0
  20. package/dist/spinner-BxAMlAIZ.js +23 -0
  21. package/dist/trash-B7VQazD_.js +22 -0
  22. package/dist/triangle-down-BR_1dv1e.js +19 -0
  23. package/dist/triangle-left-C2WtINFd.js +19 -0
  24. package/dist/triangle-right-D5HL9gAQ.js +19 -0
  25. package/dist/triangle-up-BE_espQu.js +19 -0
  26. package/dist/vuiii.css +1 -0
  27. package/dist/vuiii.js +41 -0
  28. package/dist/x-BCDZi2yn.js +23 -0
  29. package/package.json +48 -45
  30. package/dist/components/Breadcrumbs.vue.d.ts +0 -81
  31. package/dist/components/Button.vue.d.ts +0 -97
  32. package/dist/components/Checkbox.vue.d.ts +0 -28
  33. package/dist/components/CheckboxGroup.vue.d.ts +0 -59
  34. package/dist/components/Form.vue.d.ts +0 -87
  35. package/dist/components/FormFields.vue.d.ts +0 -52
  36. package/dist/components/FormGroup.vue.d.ts +0 -87
  37. package/dist/components/Icon.vue.d.ts +0 -61
  38. package/dist/components/Input.vue.d.ts +0 -111
  39. package/dist/components/Radio.vue.d.ts +0 -94
  40. package/dist/components/Select.vue.d.ts +0 -137
  41. package/dist/components/Table.vue.d.ts +0 -72
  42. package/dist/components/Textarea.vue.d.ts +0 -78
  43. package/dist/components/modal/ModalLayout.vue.d.ts +0 -39
  44. package/dist/components/modal/ModalLayoutDialog.vue.d.ts +0 -36
  45. package/dist/components/modal/ModalStack.vue.d.ts +0 -28
  46. package/dist/components/snackbar/SnackbarStack.vue.d.ts +0 -20
  47. package/dist/hooks/useLoadData.d.ts +0 -21
  48. package/dist/hooks/useOnClickOutside.d.ts +0 -2
  49. package/dist/hooks/useOnKeyPress.d.ts +0 -1
  50. package/dist/hooks/useRouteQuery.d.ts +0 -17
  51. package/dist/hooks/useSubmitAction.d.ts +0 -33
  52. package/dist/icons/arrow-narrow-down.vue.d.ts +0 -2
  53. package/dist/icons/arrow-narrow-left.vue.d.ts +0 -2
  54. package/dist/icons/arrow-narrow-right.vue.d.ts +0 -2
  55. package/dist/icons/arrow-narrow-up.vue.d.ts +0 -2
  56. package/dist/icons/check-circle.vue.d.ts +0 -2
  57. package/dist/icons/check.vue.d.ts +0 -2
  58. package/dist/icons/chevron-left.vue.d.ts +0 -2
  59. package/dist/icons/chevron-right.vue.d.ts +0 -2
  60. package/dist/icons/exclamation-circle.vue.d.ts +0 -2
  61. package/dist/icons/exclamation.vue.d.ts +0 -2
  62. package/dist/icons/minus.vue.d.ts +0 -2
  63. package/dist/icons/plus.vue.d.ts +0 -2
  64. package/dist/icons/search.vue.d.ts +0 -2
  65. package/dist/icons/spinner.vue.d.ts +0 -2
  66. package/dist/icons/trash.vue.d.ts +0 -2
  67. package/dist/icons/x.vue.d.ts +0 -2
  68. package/dist/index.d.ts +0 -27
  69. package/dist/modal.d.ts +0 -69
  70. package/dist/snackbar.d.ts +0 -21
  71. package/dist/stories/Button.stories.d.ts +0 -449
  72. package/dist/stories/Icon.stories.d.ts +0 -128
  73. package/dist/style.css +0 -1
  74. package/dist/types.d.ts +0 -31
  75. package/dist/utils/generateId.d.ts +0 -1
  76. package/dist/utils/iconsResolver.d.ts +0 -5
  77. package/dist/utils/normalizeOptions.d.ts +0 -16
  78. package/dist/utils/resolveGlobImport.d.ts +0 -3
  79. package/dist/utils/retrieveInputValue.d.ts +0 -1
  80. package/dist/utils/transformInputAttrs.d.ts +0 -5
  81. package/dist/validations/validator.d.ts +0 -2
  82. package/dist/vuiii.mjs +0 -1550
  83. package/dist/vuiii.umd.js +0 -1
package/dist/vuiii.mjs DELETED
@@ -1,1550 +0,0 @@
1
- import { openBlock as n, createElementBlock as l, createElementVNode as f, pushScopeId as K, popScopeId as U, defineComponent as $, shallowRef as ie, watch as H, createBlock as g, resolveDynamicComponent as A, unref as k, resolveComponent as V, Fragment as w, renderList as M, createVNode as j, withCtx as C, createTextVNode as L, toDisplayString as b, useAttrs as W, computed as B, mergeProps as F, renderSlot as y, createCommentVNode as h, normalizeClass as I, withDirectives as ue, vShow as ce, withModifiers as G, normalizeProps as Q, guardReactiveProps as X, useSlots as de, ref as T, normalizeStyle as R, createSlots as _e, Transition as pe, TransitionGroup as Y, reactive as J, createApp as Z, h as ee, getCurrentInstance as te, onMounted as oe, onUnmounted as fe, onBeforeUnmount as me } from "vue";
2
- import { useRouter as ne, useRoute as ve } from "vue-router";
3
- const v = (e, t) => {
4
- const s = e.__vccOpts || e;
5
- for (const [o, u] of t)
6
- s[o] = u;
7
- return s;
8
- }, he = {}, be = {
9
- xmlns: "http://www.w3.org/2000/svg",
10
- fill: "none",
11
- viewBox: "0 0 24 24",
12
- stroke: "currentColor",
13
- "stroke-width": "2"
14
- }, $e = /* @__PURE__ */ f("path", {
15
- "stroke-linecap": "round",
16
- "stroke-linejoin": "round",
17
- d: "M16 17l-4 4m0 0l-4-4m4 4V3"
18
- }, null, -1), ge = [
19
- $e
20
- ];
21
- function ye(e, t) {
22
- return n(), l("svg", be, ge);
23
- }
24
- const ke = /* @__PURE__ */ v(he, [["render", ye]]), we = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
25
- __proto__: null,
26
- default: ke
27
- }, Symbol.toStringTag, { value: "Module" })), Se = {}, Me = {
28
- xmlns: "http://www.w3.org/2000/svg",
29
- fill: "none",
30
- viewBox: "0 0 24 24",
31
- stroke: "currentColor",
32
- "stroke-width": "2"
33
- }, Ce = /* @__PURE__ */ f("path", {
34
- "stroke-linecap": "round",
35
- "stroke-linejoin": "round",
36
- d: "M7 16l-4-4m0 0l4-4m-4 4h18"
37
- }, null, -1), Ie = [
38
- Ce
39
- ];
40
- function je(e, t) {
41
- return n(), l("svg", Me, Ie);
42
- }
43
- const Ve = /* @__PURE__ */ v(Se, [["render", je]]), Be = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
44
- __proto__: null,
45
- default: Ve
46
- }, Symbol.toStringTag, { value: "Module" })), Oe = {}, Le = {
47
- xmlns: "http://www.w3.org/2000/svg",
48
- fill: "none",
49
- viewBox: "0 0 24 24",
50
- stroke: "currentColor",
51
- "stroke-width": "2"
52
- }, ze = /* @__PURE__ */ f("path", {
53
- "stroke-linecap": "round",
54
- "stroke-linejoin": "round",
55
- d: "M17 8l4 4m0 0l-4 4m4-4H3"
56
- }, null, -1), Fe = [
57
- ze
58
- ];
59
- function Ae(e, t) {
60
- return n(), l("svg", Le, Fe);
61
- }
62
- const Ee = /* @__PURE__ */ v(Oe, [["render", Ae]]), Pe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
63
- __proto__: null,
64
- default: Ee
65
- }, Symbol.toStringTag, { value: "Module" })), Te = {}, Re = {
66
- xmlns: "http://www.w3.org/2000/svg",
67
- fill: "none",
68
- viewBox: "0 0 24 24",
69
- stroke: "currentColor",
70
- "stroke-width": "2"
71
- }, De = /* @__PURE__ */ f("path", {
72
- "stroke-linecap": "round",
73
- "stroke-linejoin": "round",
74
- d: "M8 7l4-4m0 0l4 4m-4-4v18"
75
- }, null, -1), Ge = [
76
- De
77
- ];
78
- function Ne(e, t) {
79
- return n(), l("svg", Re, Ge);
80
- }
81
- const qe = /* @__PURE__ */ v(Te, [["render", Ne]]), xe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
82
- __proto__: null,
83
- default: qe
84
- }, Symbol.toStringTag, { value: "Module" })), Ke = {}, Ue = {
85
- xmlns: "http://www.w3.org/2000/svg",
86
- fill: "none",
87
- viewBox: "0 0 24 24",
88
- stroke: "currentColor",
89
- "stroke-width": "2"
90
- }, He = /* @__PURE__ */ f("path", {
91
- "stroke-linecap": "round",
92
- "stroke-linejoin": "round",
93
- d: "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"
94
- }, null, -1), We = [
95
- He
96
- ];
97
- function Qe(e, t) {
98
- return n(), l("svg", Ue, We);
99
- }
100
- const Xe = /* @__PURE__ */ v(Ke, [["render", Qe]]), Ye = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
101
- __proto__: null,
102
- default: Xe
103
- }, Symbol.toStringTag, { value: "Module" })), Je = {}, Ze = {
104
- xmlns: "http://www.w3.org/2000/svg",
105
- fill: "none",
106
- viewBox: "0 0 24 24",
107
- stroke: "currentColor",
108
- "stroke-width": "2"
109
- }, et = /* @__PURE__ */ f("path", {
110
- "stroke-linecap": "round",
111
- "stroke-linejoin": "round",
112
- d: "M5 13l4 4L19 7"
113
- }, null, -1), tt = [
114
- et
115
- ];
116
- function ot(e, t) {
117
- return n(), l("svg", Ze, tt);
118
- }
119
- const nt = /* @__PURE__ */ v(Je, [["render", ot]]), st = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
120
- __proto__: null,
121
- default: nt
122
- }, Symbol.toStringTag, { value: "Module" })), rt = {}, lt = {
123
- xmlns: "http://www.w3.org/2000/svg",
124
- fill: "none",
125
- viewBox: "0 0 24 24",
126
- stroke: "currentColor",
127
- "stroke-width": "2"
128
- }, at = /* @__PURE__ */ f("path", {
129
- "stroke-linecap": "round",
130
- "stroke-linejoin": "round",
131
- d: "M15 19l-7-7 7-7"
132
- }, null, -1), it = [
133
- at
134
- ];
135
- function ut(e, t) {
136
- return n(), l("svg", lt, it);
137
- }
138
- const ct = /* @__PURE__ */ v(rt, [["render", ut]]), dt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
139
- __proto__: null,
140
- default: ct
141
- }, Symbol.toStringTag, { value: "Module" })), _t = {}, pt = {
142
- xmlns: "http://www.w3.org/2000/svg",
143
- fill: "none",
144
- viewBox: "0 0 24 24",
145
- stroke: "currentColor",
146
- "stroke-width": "2"
147
- }, ft = /* @__PURE__ */ f("path", {
148
- "stroke-linecap": "round",
149
- "stroke-linejoin": "round",
150
- d: "M9 5l7 7-7 7"
151
- }, null, -1), mt = [
152
- ft
153
- ];
154
- function vt(e, t) {
155
- return n(), l("svg", pt, mt);
156
- }
157
- const ht = /* @__PURE__ */ v(_t, [["render", vt]]), bt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
158
- __proto__: null,
159
- default: ht
160
- }, Symbol.toStringTag, { value: "Module" })), $t = {}, gt = {
161
- xmlns: "http://www.w3.org/2000/svg",
162
- fill: "none",
163
- viewBox: "0 0 24 24",
164
- stroke: "currentColor",
165
- "stroke-width": "2"
166
- }, yt = /* @__PURE__ */ f("path", {
167
- "stroke-linecap": "round",
168
- "stroke-linejoin": "round",
169
- d: "M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
170
- }, null, -1), kt = [
171
- yt
172
- ];
173
- function wt(e, t) {
174
- return n(), l("svg", gt, kt);
175
- }
176
- const St = /* @__PURE__ */ v($t, [["render", wt]]), Mt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
177
- __proto__: null,
178
- default: St
179
- }, Symbol.toStringTag, { value: "Module" })), Ct = {}, It = {
180
- xmlns: "http://www.w3.org/2000/svg",
181
- fill: "none",
182
- viewBox: "0 0 24 24",
183
- stroke: "currentColor",
184
- "stroke-width": "2"
185
- }, jt = /* @__PURE__ */ f("path", {
186
- "stroke-linecap": "round",
187
- "stroke-linejoin": "round",
188
- d: "M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"
189
- }, null, -1), Vt = [
190
- jt
191
- ];
192
- function Bt(e, t) {
193
- return n(), l("svg", It, Vt);
194
- }
195
- const Ot = /* @__PURE__ */ v(Ct, [["render", Bt]]), Lt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
196
- __proto__: null,
197
- default: Ot
198
- }, Symbol.toStringTag, { value: "Module" })), zt = {}, Ft = {
199
- xmlns: "http://www.w3.org/2000/svg",
200
- fill: "none",
201
- viewBox: "0 0 24 24",
202
- "stroke-width": "1.5",
203
- stroke: "currentColor"
204
- }, At = /* @__PURE__ */ f("path", {
205
- "stroke-linecap": "round",
206
- "stroke-linejoin": "round",
207
- d: "M19.5 12h-15"
208
- }, null, -1), Et = [
209
- At
210
- ];
211
- function Pt(e, t) {
212
- return n(), l("svg", Ft, Et);
213
- }
214
- const Tt = /* @__PURE__ */ v(zt, [["render", Pt]]), Rt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
215
- __proto__: null,
216
- default: Tt
217
- }, Symbol.toStringTag, { value: "Module" })), Dt = {}, Gt = {
218
- xmlns: "http://www.w3.org/2000/svg",
219
- fill: "none",
220
- viewBox: "0 0 24 24",
221
- stroke: "currentColor",
222
- "stroke-width": "2"
223
- }, Nt = /* @__PURE__ */ f("path", {
224
- "stroke-linecap": "round",
225
- "stroke-linejoin": "round",
226
- d: "M12 4v16m8-8H4"
227
- }, null, -1), qt = [
228
- Nt
229
- ];
230
- function xt(e, t) {
231
- return n(), l("svg", Gt, qt);
232
- }
233
- const Kt = /* @__PURE__ */ v(Dt, [["render", xt]]), Ut = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
234
- __proto__: null,
235
- default: Kt
236
- }, Symbol.toStringTag, { value: "Module" })), Ht = {}, Wt = {
237
- fill: "none",
238
- stroke: "currentColor",
239
- viewBox: "0 0 24 24",
240
- xmlns: "http://www.w3.org/2000/svg"
241
- }, Qt = /* @__PURE__ */ f("path", {
242
- d: "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z",
243
- "stroke-linecap": "round",
244
- "stroke-linejoin": "round",
245
- "stroke-width": "2"
246
- }, null, -1), Xt = [
247
- Qt
248
- ];
249
- function Yt(e, t) {
250
- return n(), l("svg", Wt, Xt);
251
- }
252
- const Jt = /* @__PURE__ */ v(Ht, [["render", Yt]]), Zt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
253
- __proto__: null,
254
- default: Jt
255
- }, Symbol.toStringTag, { value: "Module" }));
256
- const eo = {}, to = (e) => (K("data-v-74889b0a"), e = e(), U(), e), oo = {
257
- class: "IconSpinner",
258
- fill: "none",
259
- stroke: "currentColor",
260
- viewBox: "0 0 25 25",
261
- xmlns: "http://www.w3.org/2000/svg"
262
- }, no = /* @__PURE__ */ to(() => /* @__PURE__ */ f("path", {
263
- d: "M23.5 12.5c0 6.1-4.9 11-11 11s-11-4.9-11-11 4.9-11 11-11",
264
- "shape-rendering": "geometricPrecision",
265
- style: { "stroke-width": "2", "stroke-miterlimit": "10", stroke: "currentColor", fill: "none" },
266
- "vector-effect": "non-scaling-stroke"
267
- }, null, -1)), so = [
268
- no
269
- ];
270
- function ro(e, t) {
271
- return n(), l("svg", oo, so);
272
- }
273
- const lo = /* @__PURE__ */ v(eo, [["render", ro], ["__scopeId", "data-v-74889b0a"]]), ao = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
274
- __proto__: null,
275
- default: lo
276
- }, Symbol.toStringTag, { value: "Module" })), io = {}, uo = {
277
- xmlns: "http://www.w3.org/2000/svg",
278
- fill: "none",
279
- viewBox: "0 0 24 24",
280
- stroke: "currentColor",
281
- "stroke-width": "2"
282
- }, co = /* @__PURE__ */ f("path", {
283
- "stroke-linecap": "round",
284
- "stroke-linejoin": "round",
285
- d: "M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"
286
- }, null, -1), _o = [
287
- co
288
- ];
289
- function po(e, t) {
290
- return n(), l("svg", uo, _o);
291
- }
292
- const fo = /* @__PURE__ */ v(io, [["render", po]]), mo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
293
- __proto__: null,
294
- default: fo
295
- }, Symbol.toStringTag, { value: "Module" })), vo = {}, ho = {
296
- "aria-hidden": "true",
297
- fill: "none",
298
- stroke: "currentColor",
299
- viewBox: "0 0 24 24",
300
- xmlns: "http://www.w3.org/2000/svg"
301
- }, bo = /* @__PURE__ */ f("path", {
302
- d: "M6 18L18 6M6 6l12 12",
303
- "stroke-linecap": "round",
304
- "stroke-linejoin": "round",
305
- "stroke-width": "2"
306
- }, null, -1), $o = [
307
- bo
308
- ];
309
- function go(e, t) {
310
- return n(), l("svg", ho, $o);
311
- }
312
- const yo = /* @__PURE__ */ v(vo, [["render", go]]), ko = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
313
- __proto__: null,
314
- default: yo
315
- }, Symbol.toStringTag, { value: "Module" }));
316
- function wo(e, t) {
317
- var s;
318
- return (s = Object.entries(e).map(([o, u]) => ({ path: o, source: u })).find((o) => o.path.endsWith(`/${t}`))) == null ? void 0 : s.source.default;
319
- }
320
- let N;
321
- const So = /* @__PURE__ */ Object.assign({ "../icons/arrow-narrow-down.vue": we, "../icons/arrow-narrow-left.vue": Be, "../icons/arrow-narrow-right.vue": Pe, "../icons/arrow-narrow-up.vue": xe, "../icons/check-circle.vue": Ye, "../icons/check.vue": st, "../icons/chevron-left.vue": dt, "../icons/chevron-right.vue": bt, "../icons/exclamation-circle.vue": Mt, "../icons/exclamation.vue": Lt, "../icons/minus.vue": Rt, "../icons/plus.vue": Ut, "../icons/search.vue": Zt, "../icons/spinner.vue": ao, "../icons/trash.vue": mo, "../icons/x.vue": ko });
322
- function os(e) {
323
- N = e;
324
- }
325
- function Mo(e) {
326
- let t;
327
- return N && (t = N(e)), t || (t = wo(So, `${e}.vue`)), t;
328
- }
329
- const Co = /* @__PURE__ */ $({
330
- __name: "Icon",
331
- props: {
332
- name: null
333
- },
334
- setup(e) {
335
- const t = e, s = ie(void 0);
336
- return H(
337
- () => t.name,
338
- () => s.value = Mo(t.name),
339
- { immediate: !0 }
340
- ), (o, u) => (n(), g(A(k(s)), { class: "Icon" }));
341
- }
342
- }), O = /* @__PURE__ */ v(Co, [["__scopeId", "data-v-6151c333"]]);
343
- const Io = { class: "Breadcrumbs" }, jo = /* @__PURE__ */ $({
344
- __name: "Breadcrumbs",
345
- props: {
346
- breadcrumbs: { default: () => ({}) }
347
- },
348
- setup(e) {
349
- return (t, s) => {
350
- const o = V("router-link");
351
- return n(), l("div", Io, [
352
- (n(!0), l(w, null, M(e.breadcrumbs, (u, c, r) => (n(), l("div", {
353
- key: r,
354
- class: "Breadcrumbs__breadcrumb"
355
- }, [
356
- j(o, {
357
- to: u,
358
- class: "Breadcrumbs__link"
359
- }, {
360
- default: C(() => [
361
- L(b(c), 1)
362
- ]),
363
- _: 2
364
- }, 1032, ["to"]),
365
- j(O, {
366
- name: "chevron-right",
367
- class: "Breadcrumbs__arrow"
368
- })
369
- ]))), 128))
370
- ]);
371
- };
372
- }
373
- }), ns = /* @__PURE__ */ v(jo, [["__scopeId", "data-v-36e0aab2"]]);
374
- const Vo = { key: 1 }, se = /* @__PURE__ */ $({
375
- __name: "Button",
376
- props: {
377
- size: null,
378
- variant: null,
379
- prefixIcon: null,
380
- suffixIcon: null,
381
- label: null,
382
- block: { type: Boolean },
383
- loading: { type: Boolean },
384
- active: { type: Boolean }
385
- },
386
- setup(e) {
387
- const t = W(), s = B(() => t.to ? "router-link" : t.href ? "a" : "button");
388
- return (o, u) => (n(), g(A(k(s)), F({
389
- class: ["Button vuiii-button", {
390
- [`vuiii-button--${o.$props.variant}`]: o.$props.variant,
391
- [`vuiii-button--${o.$props.size}`]: o.$props.size,
392
- "vuiii-button--disabled": o.$props.loading || o.$attrs.disabled,
393
- "vuiii-button--loading": o.$props.loading,
394
- "vuiii-button--active": o.$props.active,
395
- "vuiii-button--block": o.$props.block
396
- }]
397
- }, o.$attrs, {
398
- type: o.$attrs.type || (k(s) === "button" ? "button" : void 0)
399
- }), {
400
- default: C(() => [
401
- y(o.$slots, "prefix", {}, () => [
402
- o.$props.prefixIcon && !o.$props.loading ? (n(), g(O, {
403
- key: 0,
404
- class: "vuiii-button__icon vuiii-button__icon--prefix",
405
- name: o.$props.prefixIcon
406
- }, null, 8, ["name"])) : h("", !0)
407
- ]),
408
- o.$props.loading ? (n(), g(O, {
409
- key: 0,
410
- class: "vuiii-button__icon vuiii-button__icon--prefix",
411
- name: "spinner"
412
- })) : h("", !0),
413
- o.$slots.default || o.$props.label ? (n(), l("span", Vo, [
414
- y(o.$slots, "default", {}, () => [
415
- L(b(o.$props.label), 1)
416
- ])
417
- ])) : h("", !0),
418
- y(o.$slots, "suffix", {}, () => [
419
- o.$props.suffixIcon ? (n(), g(O, {
420
- key: 0,
421
- class: "vuiii-button__icon vuiii-button__icon--suffix",
422
- name: o.$props.suffixIcon
423
- }, null, 8, ["name"])) : h("", !0)
424
- ])
425
- ]),
426
- _: 3
427
- }, 16, ["class", "type"]));
428
- }
429
- });
430
- const Bo = (e) => e.target.getAttribute("type") === "number" ? e.target.valueAsNumber : e.target.getAttribute("type") === "checkbox" ? e.target.checked : e.target.value, Oo = $({
431
- emits: ["update:modelValue"],
432
- computed: {
433
- normalizedAttrs() {
434
- const { class: e, ...t } = this.$attrs;
435
- return {
436
- ...t,
437
- onInput: (s) => this.$emit("update:modelValue", Bo(s))
438
- };
439
- }
440
- }
441
- });
442
- const Lo = $({
443
- mixins: [Oo],
444
- inheritAttrs: !1,
445
- props: {
446
- modelValue: Boolean,
447
- required: Boolean,
448
- switch: Boolean,
449
- caption: {
450
- type: String,
451
- default: ""
452
- }
453
- }
454
- }), zo = (e) => (K("data-v-18ef5cd1"), e = e(), U(), e), Fo = ["checked", "required"], Ao = /* @__PURE__ */ zo(() => /* @__PURE__ */ f("div", { class: "Checkbox__switchDot" }, null, -1)), Eo = [
455
- Ao
456
- ], Po = {
457
- key: 1,
458
- class: "Checkbox__label"
459
- }, To = {
460
- key: 0,
461
- class: "Checkbox__required"
462
- };
463
- function Ro(e, t, s, o, u, c) {
464
- return n(), l("label", {
465
- class: I(["Checkbox", [e.$attrs.class, { "Checkbox--disabled": e.$attrs.disabled }]])
466
- }, [
467
- ue(f("input", F(e.normalizedAttrs, {
468
- checked: e.modelValue,
469
- class: "Checkbox__input vuiii-input",
470
- required: e.required,
471
- type: "checkbox"
472
- }), null, 16, Fo), [
473
- [ce, !e.$props.switch]
474
- ]),
475
- e.$props.switch ? (n(), l("div", {
476
- key: 0,
477
- class: I(["Checkbox__switch", { "Checkbox__switch--active": e.modelValue }])
478
- }, Eo, 2)) : h("", !0),
479
- e.$slots.default || e.caption ? (n(), l("div", Po, [
480
- e.required ? (n(), l("span", To, "*")) : h("", !0),
481
- y(e.$slots, "default", {}, () => [
482
- L(b(e.caption), 1)
483
- ], !0)
484
- ])) : h("", !0)
485
- ], 2);
486
- }
487
- const Do = /* @__PURE__ */ v(Lo, [["render", Ro], ["__scopeId", "data-v-18ef5cd1"]]);
488
- function P(e, t) {
489
- return typeof t == "function" ? t(e) : t ? e[t] : e;
490
- }
491
- function Go(e, t = {}) {
492
- return {
493
- value: P(e, t.value),
494
- label: P(e, t.label),
495
- disabled: t.disabled && P(e, t.disabled),
496
- description: t.description && P(e, t.description),
497
- data: e
498
- };
499
- }
500
- function q(e, t = {}) {
501
- return Array.isArray(e) ? e.map((s) => Go(s, t)) : typeof e == "object" && e !== null ? Object.entries(e || {}).reduce((s, [o, u]) => s.concat({
502
- value: o,
503
- label: u,
504
- data: o
505
- }), []) : [];
506
- }
507
- const No = $({
508
- components: {
509
- Checkbox: Do
510
- },
511
- props: {
512
- modelValue: {
513
- type: Array,
514
- default: () => []
515
- },
516
- options: {
517
- type: [Array, Object],
518
- required: !0
519
- },
520
- optionLabelKey: {
521
- type: [Function, String, Number],
522
- default: void 0
523
- },
524
- optionValueKey: {
525
- type: [Function, String, Number],
526
- default: void 0
527
- },
528
- optionDisabledKey: {
529
- type: [Function, String, Number],
530
- default: void 0
531
- }
532
- },
533
- emits: ["update:modelValue"],
534
- computed: {
535
- normalizedOptions() {
536
- return q(this.options, {
537
- value: this.optionValueKey,
538
- label: this.optionLabelKey,
539
- disabled: this.optionDisabledKey
540
- });
541
- },
542
- checkedValues() {
543
- return this.modelValue.reduce(
544
- (e, t) => ({
545
- ...e,
546
- [t]: !0
547
- }),
548
- {}
549
- );
550
- }
551
- },
552
- methods: {
553
- toggleCheckedValue(e) {
554
- const t = {
555
- ...this.checkedValues,
556
- [e]: !this.checkedValues[e]
557
- }, s = Object.entries(t).filter(([o, u]) => u).map(([o]) => o);
558
- this.$emit("update:modelValue", s);
559
- }
560
- }
561
- }), qo = { class: "CheckboxGroup" };
562
- function xo(e, t, s, o, u, c) {
563
- const r = V("Checkbox");
564
- return n(), l("div", qo, [
565
- (n(!0), l(w, null, M(e.normalizedOptions, (a) => (n(), l("div", {
566
- key: a.value
567
- }, [
568
- j(r, {
569
- disabled: a.disabled,
570
- "model-value": e.checkedValues[a.value],
571
- caption: a.label,
572
- "onUpdate:modelValue": (i) => e.toggleCheckedValue(a.value)
573
- }, null, 8, ["disabled", "model-value", "caption", "onUpdate:modelValue"])
574
- ]))), 128))
575
- ]);
576
- }
577
- const ss = /* @__PURE__ */ v(No, [["render", xo], ["__scopeId", "data-v-b33477ce"]]);
578
- const Ko = {
579
- key: 0,
580
- class: "FormGroup__header"
581
- }, Uo = ["for"], Ho = {
582
- key: 0,
583
- class: "FormGroup__required"
584
- }, Wo = {
585
- key: 1,
586
- class: "FormGroup__description"
587
- }, Qo = {
588
- key: 2,
589
- class: "FormGroup__hint"
590
- }, Xo = {
591
- key: 3,
592
- class: "FormGroup__error"
593
- }, Yo = /* @__PURE__ */ $({
594
- __name: "FormGroup",
595
- props: {
596
- label: null,
597
- for: null,
598
- required: { type: Boolean },
599
- error: { type: [String, Boolean] },
600
- description: null,
601
- hint: null
602
- },
603
- setup(e) {
604
- return (t, s) => (n(), l("div", {
605
- class: I(["FormGroup", { "FormGroup--invalid": t.$props.error }])
606
- }, [
607
- t.$props.label ? (n(), l("div", Ko, [
608
- f("label", {
609
- class: "FormGroup__label",
610
- for: t.$props.for
611
- }, b(t.$props.label), 9, Uo),
612
- t.$props.required ? (n(), l("div", Ho, "*")) : h("", !0)
613
- ])) : h("", !0),
614
- t.$slots.description || t.$props.description ? (n(), l("div", Wo, [
615
- y(t.$slots, "description", {}, () => [
616
- L(b(t.$props.description), 1)
617
- ], !0)
618
- ])) : h("", !0),
619
- y(t.$slots, "default", {}, void 0, !0),
620
- t.$slots.hint || t.$props.hint ? (n(), l("div", Qo, [
621
- y(t.$slots, "hint", {}, () => [
622
- L(b(t.$props.hint), 1)
623
- ], !0)
624
- ])) : h("", !0),
625
- t.$props.error && typeof t.$props.error == "string" ? (n(), l("div", Xo, b(t.$props.error), 1)) : h("", !0)
626
- ], 2));
627
- }
628
- }), Jo = /* @__PURE__ */ v(Yo, [["__scopeId", "data-v-3281da9f"]]);
629
- const Zo = $({
630
- components: {
631
- FormGroup: Jo
632
- },
633
- props: {
634
- fields: {
635
- type: Object,
636
- default: () => ({})
637
- },
638
- modelValue: {
639
- type: Object,
640
- default: () => ({})
641
- },
642
- errors: {
643
- type: Object,
644
- default: () => ({})
645
- }
646
- },
647
- emits: ["update:modelValue"],
648
- methods: {
649
- getFieldValue(e) {
650
- var s;
651
- return (((s = this.fields[e].value) == null ? void 0 : s.getter) || ((o) => o[e]))(this.modelValue);
652
- },
653
- setFieldValue(e, t) {
654
- var u;
655
- const o = (((u = this.fields[e].value) == null ? void 0 : u.setter) || ((c, r) => ({ ...r, [e]: c })))(t, this.modelValue);
656
- this.$emit("update:modelValue", o);
657
- }
658
- }
659
- }), en = { class: "FormFields" };
660
- function tn(e, t, s, o, u, c) {
661
- const r = V("FormGroup");
662
- return n(), l("div", en, [
663
- (n(!0), l(w, null, M(e.fields, (a, i) => {
664
- var _;
665
- return n(), g(r, {
666
- key: i,
667
- label: a.label,
668
- description: a.description,
669
- hint: a.hint,
670
- required: a.required,
671
- error: (_ = e.errors) == null ? void 0 : _[i]
672
- }, {
673
- default: C(() => [
674
- (n(), g(A(a.component), F({
675
- "model-value": e.getFieldValue(String(i))
676
- }, a.props, {
677
- "onUpdate:modelValue": (p) => e.setFieldValue(String(i), p)
678
- }), null, 16, ["model-value", "onUpdate:modelValue"]))
679
- ]),
680
- _: 2
681
- }, 1032, ["label", "description", "hint", "required", "error"]);
682
- }), 128))
683
- ]);
684
- }
685
- const on = /* @__PURE__ */ v(Zo, [["render", tn], ["__scopeId", "data-v-e0fd8fc8"]]);
686
- const nn = $({
687
- components: { Button: se, FormFields: on, Icon: O },
688
- props: {
689
- structure: {
690
- type: Object,
691
- default: () => ({})
692
- },
693
- modelValue: {
694
- type: Object,
695
- default: () => {
696
- }
697
- },
698
- errors: {
699
- type: Object,
700
- default: () => ({})
701
- },
702
- submit: {
703
- type: Function,
704
- default: void 0
705
- },
706
- submitLabel: {
707
- type: String,
708
- default: "Submit"
709
- },
710
- cancel: {
711
- type: [Function, Object],
712
- default: void 0
713
- },
714
- cancelLabel: {
715
- type: String,
716
- default: "Cancel"
717
- },
718
- submitting: Boolean
719
- },
720
- emits: ["update:modelValue", "change", "submit", "cancel"],
721
- methods: {
722
- handleSubmit() {
723
- var e;
724
- (e = this.submit) == null || e.call(this, this.modelValue);
725
- },
726
- handleCancel() {
727
- var e;
728
- typeof this.cancel == "function" ? (e = this.cancel) == null || e.call(this) : this.cancel && this.$router.push(this.cancel);
729
- }
730
- }
731
- }), sn = { class: "Form" }, rn = ["disabled"], ln = {
732
- key: 0,
733
- class: "Form__title"
734
- }, an = {
735
- key: 0,
736
- class: "Form__buttons"
737
- };
738
- function un(e, t, s, o, u, c) {
739
- const r = V("FormFields"), a = V("Button"), i = V("Icon");
740
- return n(), l("div", sn, [
741
- e.modelValue ? (n(), l("form", {
742
- key: 0,
743
- disabled: e.submitting,
744
- onSubmit: t[3] || (t[3] = G((_) => {
745
- var p;
746
- return (p = e.handleSubmit) == null ? void 0 : p.call(e);
747
- }, ["prevent"]))
748
- }, [
749
- (n(!0), l(w, null, M(e.structure, (_, p) => (n(), l("div", { key: p }, [
750
- _.title ? (n(), l("div", ln, b(_.title), 1)) : h("", !0),
751
- j(r, {
752
- fields: _.fields,
753
- "model-value": e.modelValue,
754
- errors: e.errors,
755
- "onUpdate:modelValue": t[0] || (t[0] = (d) => e.$emit("update:modelValue", d)),
756
- onChange: t[1] || (t[1] = (d) => e.$emit("change", d))
757
- }, null, 8, ["fields", "model-value", "errors"])
758
- ]))), 128)),
759
- y(e.$slots, "buttons", Q(X({ cancel: e.cancel, submit: e.submit })), () => [
760
- e.submit || e.cancel ? (n(), l("div", an, [
761
- e.submit ? (n(), g(a, {
762
- key: 0,
763
- variant: "primary",
764
- type: "submit",
765
- label: e.submitLabel,
766
- disabled: e.submitting,
767
- "prefix-icon": e.submitting ? "spinner" : void 0
768
- }, null, 8, ["label", "disabled", "prefix-icon"])) : h("", !0),
769
- e.cancel ? (n(), g(a, {
770
- key: 1,
771
- label: e.cancelLabel,
772
- disabled: e.submitting,
773
- onClick: t[2] || (t[2] = (_) => e.handleCancel())
774
- }, null, 8, ["label", "disabled"])) : h("", !0)
775
- ])) : h("", !0)
776
- ], !0)
777
- ], 40, rn)) : (n(), g(i, {
778
- key: 1,
779
- name: "spinner"
780
- }))
781
- ]);
782
- }
783
- const rs = /* @__PURE__ */ v(nn, [["render", un], ["__scopeId", "data-v-4a2acd7e"]]);
784
- const cn = ["aria-label", "type", "value"], dn = {
785
- inheritAttrs: !1
786
- }, ls = /* @__PURE__ */ $({
787
- ...dn,
788
- __name: "Input",
789
- props: {
790
- modelValue: null,
791
- prefixIcon: null,
792
- suffixIcon: null,
793
- size: null,
794
- invalid: { type: Boolean }
795
- },
796
- emits: ["update:modelValue", "prefix-click", "suffix-click"],
797
- setup(e) {
798
- const t = e, s = W(), o = de(), u = T(), c = B(() => Boolean(o.prefix || t.prefixIcon)), r = B(() => Boolean(o.suffix || t.suffixIcon)), a = B(() => Boolean(s.onPrefixIconClick)), i = B(() => Boolean(s.onSuffixIconClick)), _ = (p) => {
799
- const d = p.target;
800
- return s.type === "number" ? d.valueAsNumber : s.type === "date" ? d.valueAsDate : d.value;
801
- };
802
- return (p, d) => (n(), l("div", {
803
- class: I(["Input vuiii-input", {
804
- "vuiii-input--invalid": p.$props.invalid,
805
- "vuiii-input--disabled": p.$attrs.disabled,
806
- [`vuiii-input--${p.$props.size}`]: p.$props.size
807
- }]),
808
- onClick: d[3] || (d[3] = (m) => u.value.focus())
809
- }, [
810
- k(c) ? y(p.$slots, "prefix", { key: 0 }, () => [
811
- (n(), g(A(k(a) ? "button" : "div"), {
812
- class: I(["Input__prefix", { "Input__prefix--clickable": k(a) }]),
813
- tabindex: "-1",
814
- onClick: d[0] || (d[0] = G((m) => p.$emit("prefix-click"), ["prevent"]))
815
- }, {
816
- default: C(() => [
817
- j(O, {
818
- class: "Input__icon",
819
- name: p.$props.prefixIcon || ""
820
- }, null, 8, ["name"])
821
- ]),
822
- _: 1
823
- }, 8, ["class"]))
824
- ]) : h("", !0),
825
- f("input", F({
826
- ref_key: "input",
827
- ref: u,
828
- "aria-label": p.$attrs.placeholder || "input"
829
- }, p.$attrs, {
830
- class: ["vuiii-input__nested Input__input", {
831
- "Input__input--withPrefixIcon": p.$props.prefixIcon,
832
- "Input__input--withSuffixIcon": p.$props.suffixIcon
833
- }],
834
- type: p.$attrs.type || "text",
835
- value: p.$props.modelValue,
836
- onInput: d[1] || (d[1] = (m) => p.$emit("update:modelValue", _(m)))
837
- }), null, 16, cn),
838
- k(r) ? y(p.$slots, "suffix", { key: 1 }, () => [
839
- (n(), g(A(k(i) ? "button" : "div"), {
840
- class: I(["Input__suffix", { "Input__suffix--clickable": k(i) }]),
841
- tabindex: "-1",
842
- onClick: d[2] || (d[2] = G((m) => p.$emit("suffix-click"), ["prevent"]))
843
- }, {
844
- default: C(() => [
845
- j(O, {
846
- class: "Input__icon",
847
- name: p.$props.suffixIcon || ""
848
- }, null, 8, ["name"])
849
- ]),
850
- _: 1
851
- }, 8, ["class"]))
852
- ]) : h("", !0)
853
- ], 2));
854
- }
855
- });
856
- const _n = $({
857
- components: {
858
- Icon: O
859
- },
860
- props: {
861
- title: {
862
- type: String,
863
- default: ""
864
- },
865
- width: {
866
- type: [Number, String],
867
- default: 600
868
- },
869
- hideCloser: Boolean,
870
- scroll: Boolean,
871
- plain: Boolean
872
- },
873
- computed: {
874
- hasHeader() {
875
- return Boolean(this.$slots.header || this.title);
876
- },
877
- hasFooter() {
878
- return Boolean(this.$slots.footer);
879
- },
880
- computedStyle() {
881
- const e = this.width + (Number(this.width) ? "px" : "");
882
- return e && e !== "auto" ? {
883
- width: "100%",
884
- maxWidth: e
885
- } : {};
886
- }
887
- },
888
- methods: {
889
- close() {
890
- window.dispatchEvent(new KeyboardEvent("keydown", { key: "Escape" }));
891
- }
892
- }
893
- }), pn = {
894
- key: 1,
895
- class: "ModalLayout__header"
896
- }, fn = { class: "ModalLayout__title" }, mn = { class: "ModalLayout__body" }, vn = {
897
- key: 2,
898
- class: "ModalLayout__footer"
899
- };
900
- function hn(e, t, s, o, u, c) {
901
- const r = V("Icon");
902
- return n(), l("div", {
903
- class: I(["ModalLayout", { hasHeader: e.hasHeader, hasFooter: e.hasFooter, isScrollable: e.scroll, isPlain: e.plain }]),
904
- style: R(e.computedStyle)
905
- }, [
906
- e.hideCloser ? h("", !0) : (n(), l("div", {
907
- key: 0,
908
- class: "ModalLayout__close",
909
- onClick: t[0] || (t[0] = (a) => e.close())
910
- }, [
911
- j(r, {
912
- name: "x",
913
- class: "ModalLayout__closeIcon"
914
- })
915
- ])),
916
- e.hasHeader ? (n(), l("div", pn, [
917
- y(e.$slots, "header", {}, () => [
918
- f("div", fn, b(e.title), 1)
919
- ], !0)
920
- ])) : h("", !0),
921
- f("div", mn, [
922
- y(e.$slots, "default", {}, void 0, !0)
923
- ]),
924
- e.hasFooter ? (n(), l("div", vn, [
925
- y(e.$slots, "footer", {}, void 0, !0)
926
- ])) : h("", !0)
927
- ], 6);
928
- }
929
- const bn = /* @__PURE__ */ v(_n, [["render", hn], ["__scopeId", "data-v-386279ac"]]);
930
- let $n = 1;
931
- function gn() {
932
- return $n++;
933
- }
934
- const yn = { class: "Radio" }, kn = ["value", "checked", "disabled", "onInput"], wn = { class: "Radio__label" }, Sn = {
935
- inheritAttrs: !1
936
- }, Mn = /* @__PURE__ */ $({
937
- ...Sn,
938
- __name: "Radio",
939
- props: {
940
- modelValue: null,
941
- options: null,
942
- optionLabel: null,
943
- optionValue: null,
944
- optionDisabled: null
945
- },
946
- emits: ["update:modelValue"],
947
- setup(e) {
948
- const t = e, s = "Radio-input-" + gn(), o = B(
949
- () => q(t.options, {
950
- value: t.optionValue,
951
- label: t.optionLabel,
952
- disabled: t.optionDisabled
953
- })
954
- );
955
- return (u, c) => (n(), l("div", yn, [
956
- (n(!0), l(w, null, M(k(o), (r) => (n(), l("label", {
957
- key: r.value,
958
- class: I(["Radio__option", { "Radio--disabled": r.disabled }])
959
- }, [
960
- f("input", F(u.$attrs, {
961
- value: r.value,
962
- checked: u.$props.modelValue === r.value,
963
- class: "Radio__input vuiii-input",
964
- type: "radio",
965
- name: s,
966
- disabled: r.disabled,
967
- onInput: (a) => u.$emit("update:modelValue", r.value)
968
- }), null, 16, kn),
969
- f("div", wn, [
970
- y(u.$slots, "default", {}, () => [
971
- L(b(r.label), 1)
972
- ], !0)
973
- ])
974
- ], 2))), 128))
975
- ]));
976
- }
977
- }), as = /* @__PURE__ */ v(Mn, [["__scopeId", "data-v-fc28702a"]]), Cn = ["value"], In = ["disabled"], jn = ["disabled", "value"], is = /* @__PURE__ */ $({
978
- __name: "Select",
979
- props: {
980
- value: null,
981
- options: null,
982
- optionLabel: { default: void 0 },
983
- optionValue: { default: void 0 },
984
- optionDisabled: { default: void 0 },
985
- placeholder: { default: void 0 },
986
- size: { default: "normal" },
987
- allowEmpty: { type: Boolean }
988
- },
989
- setup(e) {
990
- const t = e, s = B(
991
- () => q(t.options, {
992
- value: t.optionValue,
993
- label: t.optionLabel,
994
- disabled: t.optionDisabled
995
- })
996
- );
997
- return (o, u) => (n(), l("select", {
998
- class: I(["Select vuiii-input", { [`vuiii-input--${o.$props.size}`]: o.$props.size }]),
999
- value: o.$props.value
1000
- }, [
1001
- o.$props.placeholder ? (n(), l("option", {
1002
- key: 0,
1003
- disabled: !o.$props.allowEmpty,
1004
- selected: "",
1005
- value: void 0
1006
- }, b(o.$props.placeholder), 9, In)) : h("", !0),
1007
- (n(!0), l(w, null, M(k(s), (c) => (n(), l("option", {
1008
- key: c.value,
1009
- disabled: c.disabled,
1010
- value: c.value
1011
- }, b(c.label), 9, jn))), 128))
1012
- ], 10, Cn));
1013
- }
1014
- });
1015
- const Vn = { class: "vuiii-table vuiii-table--hover" }, Bn = ["width"], us = /* @__PURE__ */ $({
1016
- __name: "Table",
1017
- props: {
1018
- items: null,
1019
- columns: null,
1020
- rowClass: null
1021
- },
1022
- setup(e) {
1023
- const t = e, s = B(() => Object.entries(t.columns).reduce(
1024
- (c, [r, a]) => ({
1025
- ...c,
1026
- [r]: typeof a == "string" ? { label: a } : a
1027
- }),
1028
- {}
1029
- )), o = (c, r) => {
1030
- const a = s.value[r], i = typeof a.value == "function" ? a.value(c) : c[r];
1031
- return a.format ? a.format(i) : i;
1032
- }, u = (c) => typeof t.rowClass == "function" ? t.rowClass(c) : t.rowClass;
1033
- return (c, r) => {
1034
- const a = V("router-link");
1035
- return n(), l("table", Vn, [
1036
- f("thead", null, [
1037
- f("tr", null, [
1038
- (n(!0), l(w, null, M(k(s), (i, _) => (n(), l("th", {
1039
- key: _,
1040
- style: R({ textAlign: i.align || "left" }),
1041
- width: i.width
1042
- }, b(i.label), 13, Bn))), 128))
1043
- ])
1044
- ]),
1045
- f("tbody", null, [
1046
- (n(!0), l(w, null, M(e.items, (i, _) => (n(), l("tr", {
1047
- key: _,
1048
- class: I(u(i))
1049
- }, [
1050
- (n(!0), l(w, null, M(k(s), (p, d) => (n(), l("td", {
1051
- key: d,
1052
- style: R({ textAlign: p.align || "left" })
1053
- }, [
1054
- y(c.$slots, d, Q(X({ item: i })), () => [
1055
- p.href ? (n(), g(a, {
1056
- key: 0,
1057
- class: "vuiii-link",
1058
- to: p.href(i)
1059
- }, {
1060
- default: C(() => [
1061
- L(b(o(i, d)), 1)
1062
- ]),
1063
- _: 2
1064
- }, 1032, ["to"])) : (n(), l(w, { key: 1 }, [
1065
- L(b(o(i, d)), 1)
1066
- ], 64))
1067
- ])
1068
- ], 4))), 128))
1069
- ], 2))), 128))
1070
- ])
1071
- ]);
1072
- };
1073
- }
1074
- }), On = ["value"], cs = /* @__PURE__ */ $({
1075
- __name: "Textarea",
1076
- props: {
1077
- modelValue: null,
1078
- size: null
1079
- },
1080
- emits: ["update:modelValue"],
1081
- setup(e) {
1082
- return (t, s) => (n(), l("textarea", F(t.$attrs, {
1083
- class: ["Textarea vuiii-input", { [`vuiii-input--${t.$props.size}`]: t.$props.size }],
1084
- value: t.$props.modelValue,
1085
- onInput: s[0] || (s[0] = (o) => t.$emit("update:modelValue", o.target.value))
1086
- }), null, 16, On));
1087
- }
1088
- });
1089
- const Ln = $({
1090
- components: {
1091
- ModalLayout: bn,
1092
- Button: se
1093
- },
1094
- props: {
1095
- title: {
1096
- type: String,
1097
- default: ""
1098
- },
1099
- message: {
1100
- type: String,
1101
- default: ""
1102
- },
1103
- buttons: {
1104
- type: Array,
1105
- default: () => []
1106
- }
1107
- },
1108
- emits: ["close"]
1109
- }), zn = { class: "ModalLayoutDialog__buttons" };
1110
- function Fn(e, t, s, o, u, c) {
1111
- var i;
1112
- const r = V("Button"), a = V("ModalLayout");
1113
- return n(), g(a, {
1114
- class: "ModalLayoutDialog",
1115
- width: "480",
1116
- title: e.title
1117
- }, _e({
1118
- default: C(() => [
1119
- f("div", {
1120
- class: I(["ModalLayoutDialog__message", { "ModalLayoutDialog__message--offset": !e.title }])
1121
- }, b(e.message), 3)
1122
- ]),
1123
- _: 2
1124
- }, [
1125
- (i = e.buttons) != null && i.length ? {
1126
- name: "footer",
1127
- fn: C(() => [
1128
- f("div", zn, [
1129
- (n(!0), l(w, null, M(e.buttons, (_, p) => (n(), l("span", {
1130
- key: p,
1131
- class: "ModalLayoutDialog__buttonWrapper"
1132
- }, [
1133
- j(r, {
1134
- type: "button",
1135
- variant: _.variant,
1136
- "prefix-icon": _.icon,
1137
- autofocus: "",
1138
- onClick: (d) => e.$emit("close", _.value)
1139
- }, {
1140
- default: C(() => [
1141
- L(b(_.label), 1)
1142
- ]),
1143
- _: 2
1144
- }, 1032, ["variant", "prefix-icon", "onClick"])
1145
- ]))), 128))
1146
- ])
1147
- ]),
1148
- key: "0"
1149
- } : void 0
1150
- ]), 1032, ["title"]);
1151
- }
1152
- const An = /* @__PURE__ */ v(Ln, [["render", Fn], ["__scopeId", "data-v-612c6cb9"]]);
1153
- const En = $({
1154
- props: {
1155
- modals: {
1156
- type: Array,
1157
- default: () => []
1158
- }
1159
- },
1160
- emits: ["closeModal"],
1161
- data() {
1162
- return {
1163
- modalInstances: {},
1164
- registerReference(e) {
1165
- return (t) => this.modalInstances[e] = t;
1166
- }
1167
- };
1168
- },
1169
- computed: {
1170
- activeModal() {
1171
- return this.modals.length ? this.modals[this.modals.length - 1] : null;
1172
- }
1173
- },
1174
- mounted() {
1175
- window.addEventListener("keydown", this.closeActiveModalByEscapeKey);
1176
- },
1177
- beforeUnmount() {
1178
- window.removeEventListener("keydown", this.closeActiveModalByEscapeKey);
1179
- },
1180
- methods: {
1181
- closeModal(e, t) {
1182
- var u;
1183
- const s = () => {
1184
- this.$emit("closeModal", { modal: e, result: t });
1185
- }, o = this.modalInstances[e.id].$el;
1186
- (u = o.$attrs) != null && u.onBeforeClose ? o.$attrs.onBeforeClose(s) : s();
1187
- },
1188
- closeActiveModal() {
1189
- this.activeModal && this.closeModal(this.activeModal);
1190
- },
1191
- closeActiveModalByEscapeKey(e) {
1192
- this.activeModal && e.key === "Escape" && !e.defaultPrevented && (e.preventDefault(), this.closeActiveModal());
1193
- },
1194
- closeModalByBackdropClick(e, t) {
1195
- e.target === e.currentTarget && this.closeModal(t);
1196
- }
1197
- }
1198
- }), Pn = { class: "ModalStack" }, Tn = {
1199
- key: 0,
1200
- class: "ModalStack__backdrop"
1201
- }, Rn = ["onClick"];
1202
- function Dn(e, t, s, o, u, c) {
1203
- return n(), l("div", Pn, [
1204
- j(pe, { name: "ModalStack__backdrop" }, {
1205
- default: C(() => [
1206
- e.modals.length ? (n(), l("div", Tn)) : h("", !0)
1207
- ]),
1208
- _: 1
1209
- }),
1210
- j(Y, { name: "ModalStack__modal" }, {
1211
- default: C(() => [
1212
- (n(!0), l(w, null, M(e.modals, (r) => {
1213
- var a;
1214
- return n(), l("div", {
1215
- key: r.id,
1216
- class: "ModalStack__modalWrapper",
1217
- onClick: (i) => e.closeModalByBackdropClick(i, r)
1218
- }, [
1219
- (n(), g(A(r.component), F(r.props, {
1220
- ref_for: !0,
1221
- ref: e.registerReference(r.id),
1222
- class: ["ModalStack__modal", { isActive: ((a = e.activeModal) == null ? void 0 : a.id) === r.id }],
1223
- onClose: (i) => e.closeModal(r, i)
1224
- }), null, 16, ["class", "onClose"]))
1225
- ], 8, Rn);
1226
- }), 128))
1227
- ]),
1228
- _: 1
1229
- })
1230
- ]);
1231
- }
1232
- const Gn = /* @__PURE__ */ v(En, [["render", Dn], ["__scopeId", "data-v-2f4ee2c2"]]), Nn = {
1233
- cancelLabel: "Cancel",
1234
- confirmLabel: "OK"
1235
- }, ds = (e, t = {}) => {
1236
- let s = 1;
1237
- t = { ...Nn, ...t };
1238
- const o = J({
1239
- modals: []
1240
- }), u = (d, m) => {
1241
- var S;
1242
- o.modals = o.modals.filter(({ id: z }) => z !== d.id), d.resolve(m), (S = d.focusElement) == null || S.focus();
1243
- }, c = Z({
1244
- parent: e,
1245
- data() {
1246
- return o;
1247
- },
1248
- render() {
1249
- return ee(Gn, {
1250
- modals: o.modals,
1251
- onCloseModal: ({ modal: d, result: m }) => u(d, m)
1252
- });
1253
- }
1254
- }), r = document.createElement("div");
1255
- document.body.appendChild(r), c.mount(r);
1256
- const a = (d, m) => {
1257
- var z;
1258
- const S = document.activeElement;
1259
- return (z = S.blur) == null || z.call(S), new Promise((E) => {
1260
- o.modals.push({
1261
- id: s++,
1262
- component: d,
1263
- props: m,
1264
- resolve: E,
1265
- focusElement: S
1266
- });
1267
- });
1268
- }, i = (d) => a(An, d), _ = (d) => {
1269
- typeof d == "string" && (d = {
1270
- message: d
1271
- });
1272
- const { title: m, message: S, confirmVariant: z, confirmLabel: E = t.confirmLabel, confirmIcon: D } = d;
1273
- return i({
1274
- title: m,
1275
- message: S,
1276
- buttons: [
1277
- {
1278
- variant: z || "primary",
1279
- label: E || "",
1280
- icon: D
1281
- }
1282
- ]
1283
- });
1284
- }, p = (d) => {
1285
- typeof d == "string" && (d = {
1286
- message: d
1287
- });
1288
- const {
1289
- title: m,
1290
- message: S,
1291
- cancelLabel: z = t.cancelLabel,
1292
- cancelVariant: E,
1293
- cancelIcon: D,
1294
- confirmLabel: re = t.confirmLabel,
1295
- confirmVariant: le,
1296
- confirmIcon: ae
1297
- } = d;
1298
- return i({
1299
- title: m,
1300
- message: S,
1301
- buttons: [
1302
- {
1303
- variant: E,
1304
- label: z || "",
1305
- icon: D,
1306
- value: !1
1307
- },
1308
- {
1309
- variant: le || "primary",
1310
- label: re || "",
1311
- icon: ae,
1312
- value: !0
1313
- }
1314
- ]
1315
- });
1316
- };
1317
- e.config.globalProperties.$modal = {
1318
- open: a,
1319
- dialog: i,
1320
- alert: _,
1321
- confirm: p
1322
- };
1323
- };
1324
- function qn() {
1325
- var e;
1326
- return (e = te()) == null ? void 0 : e.appContext.config.globalProperties.$modal;
1327
- }
1328
- const xn = $({
1329
- components: {
1330
- Icon: O
1331
- },
1332
- props: {
1333
- messages: {
1334
- type: Array,
1335
- default: () => []
1336
- }
1337
- },
1338
- emits: ["remove-message"],
1339
- computed: {
1340
- messagesInReverse() {
1341
- return [...this.messages].reverse();
1342
- }
1343
- }
1344
- }), Kn = { class: "Snackbar" }, Un = ["onClick"];
1345
- function Hn(e, t, s, o, u, c) {
1346
- const r = V("Icon");
1347
- return n(), l("div", Kn, [
1348
- j(Y, { name: "Snackbar__transition" }, {
1349
- default: C(() => [
1350
- (n(!0), l(w, null, M(e.messagesInReverse, (a, i) => (n(), l("div", {
1351
- key: a.id,
1352
- class: "Snackbar__message"
1353
- }, [
1354
- f("div", {
1355
- class: "Snackbar__messageWrapper",
1356
- style: R({ transform: `translateY(-${100 * i}%)` })
1357
- }, [
1358
- f("div", {
1359
- class: I(["Snackbar__messageBlock", `Snackbar__messageBlock--${a.type}`])
1360
- }, [
1361
- f("div", null, b(a.text), 1),
1362
- f("div", {
1363
- class: "Snackbar__messageClose",
1364
- onClick: (_) => e.$emit("remove-message", a.id)
1365
- }, [
1366
- j(r, {
1367
- class: "Snackbar__messageCloseIcon",
1368
- name: "x"
1369
- })
1370
- ], 8, Un)
1371
- ], 2)
1372
- ], 4)
1373
- ]))), 128))
1374
- ]),
1375
- _: 1
1376
- })
1377
- ]);
1378
- }
1379
- const Wn = /* @__PURE__ */ v(xn, [["render", Hn], ["__scopeId", "data-v-272e7ab3"]]), Qn = 1e4, Xn = 5, _s = (e) => {
1380
- let t = 1;
1381
- const s = J({
1382
- messages: []
1383
- }), o = (a) => {
1384
- s.messages = s.messages.filter(({ id: i }) => i !== a);
1385
- }, u = Z({
1386
- parent: e,
1387
- data() {
1388
- return s;
1389
- },
1390
- render() {
1391
- return ee(Wn, { messages: this.messages, onRemoveMessage: o });
1392
- }
1393
- }), c = document.createElement("div");
1394
- document.body.appendChild(c), u.mount(c);
1395
- const r = (a, i = "success", _ = Qn) => {
1396
- const p = t++;
1397
- s.messages.push({ text: a, type: i, id: p }), s.messages.length > Xn && s.messages.shift(), _ > 0 && setTimeout(() => o(p), _);
1398
- };
1399
- e.config.globalProperties.$snackbar = {
1400
- success: (a) => r(a, "success"),
1401
- error: (a) => r(a, "error", 0)
1402
- };
1403
- };
1404
- function Yn() {
1405
- var e;
1406
- return (e = te()) == null ? void 0 : e.appContext.config.globalProperties.$snackbar;
1407
- }
1408
- class x extends Error {
1409
- }
1410
- function Jn(e, t = {}) {
1411
- const s = Yn(), o = qn(), u = ne(), c = T(!1), r = T(), a = T(Object.freeze({})), i = async (_) => {
1412
- var p, d;
1413
- if (!(t.confirm && o && !await o.confirm(
1414
- typeof t.confirm == "function" ? t.confirm(_) : t.confirm
1415
- ))) {
1416
- try {
1417
- if (c.value = !0, t.validator) {
1418
- const m = await t.validator(_);
1419
- if ((p = t.onValidationResults) == null || p.call(t, m), !m)
1420
- throw new x();
1421
- if (typeof m == "object" && (a.value = (m == null ? void 0 : m.errors) || {}, !(m != null && m.isValid)))
1422
- throw new x();
1423
- }
1424
- r.value = await e(_);
1425
- } catch (m) {
1426
- if (t.errorMessage && s && s.error(
1427
- typeof t.errorMessage == "function" ? t.errorMessage(m, _) : t.errorMessage || m.message
1428
- ), c.value = !1, t.onError && t.onError({ error: m, data: _, router: u, snackbar: s }))
1429
- return;
1430
- throw m;
1431
- }
1432
- return c.value = !1, t.successMessage && s && s.success(
1433
- typeof t.successMessage == "function" ? t.successMessage(r.value, _) : t.successMessage
1434
- ), (d = t.onSuccess) == null || d.call(t, { result: r.value, data: _, router: u, snackbar: s }), t.redirectOnSuccess && u.push(
1435
- typeof t.redirectOnSuccess == "function" ? t.redirectOnSuccess(r.value, _) : t.redirectOnSuccess
1436
- ), r.value;
1437
- }
1438
- };
1439
- return t.immediate && oe(i), {
1440
- submit: i,
1441
- errors: a,
1442
- result: r,
1443
- isSubmitting: c
1444
- };
1445
- }
1446
- const ps = (e, t = {}) => {
1447
- const {
1448
- isSubmitting: s,
1449
- submit: o,
1450
- result: u
1451
- } = Jn(e, {
1452
- onSuccess: ({ router: c, data: r, result: a }) => {
1453
- var i;
1454
- return (i = t.onSuccess) == null ? void 0 : i.call(t, { data: a, params: r, router: c });
1455
- },
1456
- onError: ({ router: c, error: r, data: a }) => {
1457
- var i;
1458
- return (i = t.onError) == null ? void 0 : i.call(t, { error: r, params: a, router: c });
1459
- },
1460
- successMessage: t.successMessage,
1461
- errorMessage: t.errorMessage,
1462
- immediate: t.immediate
1463
- });
1464
- return {
1465
- load: o,
1466
- isLoading: s,
1467
- data: u
1468
- };
1469
- };
1470
- function fs(e, t) {
1471
- const s = (o) => {
1472
- var u;
1473
- (u = e.value) != null && u.contains(o.target) || t();
1474
- };
1475
- window.addEventListener("mousedown", s), fe(() => {
1476
- window.removeEventListener("mousedown", s);
1477
- });
1478
- }
1479
- function ms(e, t) {
1480
- const s = (o) => {
1481
- o.key === e && t(o);
1482
- };
1483
- oe(() => {
1484
- window.addEventListener("keydown", s);
1485
- }), me(() => {
1486
- window.removeEventListener("keydown", s);
1487
- });
1488
- }
1489
- function Zn(e, t = {}) {
1490
- const s = ve(), o = ne(), u = B(() => {
1491
- var a;
1492
- let r = s.query;
1493
- return (a = t.filter) != null && a.length && (r = Object.fromEntries(
1494
- Object.entries(r).filter(([i]) => {
1495
- var _;
1496
- return (_ = t.filter) == null ? void 0 : _.includes(i);
1497
- })
1498
- )), t.parse && (r = Object.fromEntries(
1499
- Object.entries(r).map(([i, _]) => {
1500
- var p;
1501
- return [i, (p = t.parse) != null && p[i] ? t.parse[i](_) : _];
1502
- })
1503
- )), r;
1504
- }), c = (r) => (t.serialize && (r = Object.fromEntries(
1505
- Object.entries(r).map(([a, i]) => {
1506
- var _;
1507
- return [
1508
- a,
1509
- (_ = t.serialize) != null && _[a] ? t.serialize[a](i) : i
1510
- ];
1511
- })
1512
- )), o.push({ query: r }));
1513
- return H(u, () => e(u.value), { immediate: t.immediate }), { params: u, setQuery: c };
1514
- }
1515
- function vs(e, t = {}) {
1516
- const { params: s, setQuery: o } = Zn((r) => e(r.page), {
1517
- filter: ["page"],
1518
- parse: { page: (r) => Number(r) || 1 },
1519
- immediate: t.immediate
1520
- });
1521
- return { page: B(() => s.value.page), setPage: (r) => o({ page: String(r) }) };
1522
- }
1523
- export {
1524
- ns as Breadcrumbs,
1525
- se as Button,
1526
- Do as Checkbox,
1527
- ss as CheckboxGroup,
1528
- rs as Form,
1529
- on as FormFields,
1530
- Jo as FormGroup,
1531
- O as Icon,
1532
- ls as Input,
1533
- bn as ModalLayout,
1534
- as as Radio,
1535
- is as Select,
1536
- us as Table,
1537
- cs as Textarea,
1538
- x as ValidationError,
1539
- ds as modal,
1540
- os as registerCustomIconResolver,
1541
- _s as snackbar,
1542
- ps as useLoadData,
1543
- qn as useModal,
1544
- fs as useOnClickOutside,
1545
- ms as useOnKeyPress,
1546
- vs as usePageFromRouteQuery,
1547
- Zn as useRouteQuery,
1548
- Yn as useSnackbar,
1549
- Jn as useSubmitAction
1550
- };