ablok-components 0.0.31 → 0.0.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,8 @@
1
- import { defineComponent as g, openBlock as u, createElementBlock as s, normalizeClass as v, createElementVNode as i, renderSlot as f, computed as p, resolveComponent as $, createBlock as k, createCommentVNode as S, unref as y, toDisplayString as h, withDirectives as x, isRef as V, vModelDynamic as I, vModelText as C, ref as N, watch as B, onBeforeMount as z, Fragment as w, renderList as q, createTextVNode as O, withModifiers as L, reactive as T, createVNode as A } from "vue";
2
- const D = {
1
+ import { defineComponent as p, openBlock as u, createElementBlock as s, normalizeClass as v, createElementVNode as i, renderSlot as f, computed as g, resolveComponent as V, createBlock as w, createCommentVNode as k, unref as y, toDisplayString as h, withDirectives as M, isRef as C, vModelDynamic as N, vModelText as U, ref as S, watch as $, onBeforeMount as L, Fragment as B, renderList as x, createTextVNode as q, withModifiers as z, reactive as I, createVNode as T } from "vue";
2
+ const A = {
3
3
  class: "icon",
4
4
  preserveAspectRatio: "xMaxYMin"
5
- }, U = ["xlink:href"], ye = /* @__PURE__ */ g({
5
+ }, D = ["xlink:href"], he = /* @__PURE__ */ p({
6
6
  __name: "svg-icon",
7
7
  props: {
8
8
  basePath: {
@@ -23,23 +23,23 @@ const D = {
23
23
  }
24
24
  },
25
25
  setup(e) {
26
- return (r, n) => (u(), s("i", {
26
+ return (r, a) => (u(), s("i", {
27
27
  class: v(["svg-icon", {
28
28
  [`svg-icon--${e.size}`]: e.size
29
29
  }])
30
30
  }, [
31
- (u(), s("svg", D, [
31
+ (u(), s("svg", A, [
32
32
  i("use", {
33
33
  "xlink:href": `${e.basePath}#${e.prefix}${e.symbol}`,
34
34
  "xmlns:xlink": "http://www.w3.org/1999/xlink",
35
35
  x: "0",
36
36
  y: "0"
37
- }, null, 8, U)
37
+ }, null, 8, D)
38
38
  ]))
39
39
  ], 2));
40
40
  }
41
41
  });
42
- const F = { class: "loading-spinner d-block" }, H = { class: "loading-spinner__animation" }, P = {
42
+ const R = { class: "loading-spinner d-block" }, P = { class: "loading-spinner__animation" }, F = {
43
43
  class: "d-block",
44
44
  version: "1.1",
45
45
  id: "L9",
@@ -50,7 +50,7 @@ const F = { class: "loading-spinner d-block" }, H = { class: "loading-spinner__a
50
50
  viewBox: "0 0 100 100",
51
51
  "enable-background": "new 0 0 0 0",
52
52
  "xml:space": "preserve"
53
- }, E = ["fill"], R = /* @__PURE__ */ i("animateTransform", {
53
+ }, H = ["fill"], E = /* @__PURE__ */ i("animateTransform", {
54
54
  attributeName: "transform",
55
55
  attributeType: "XML",
56
56
  type: "rotate",
@@ -58,9 +58,9 @@ const F = { class: "loading-spinner d-block" }, H = { class: "loading-spinner__a
58
58
  from: "0 50 50",
59
59
  to: "360 50 50",
60
60
  repeatCount: "indefinite"
61
- }, null, -1), G = [
62
- R
63
- ], be = /* @__PURE__ */ g({
61
+ }, null, -1), j = [
62
+ E
63
+ ], ve = /* @__PURE__ */ p({
64
64
  __name: "loading-spinner",
65
65
  props: {
66
66
  color: {
@@ -69,20 +69,20 @@ const F = { class: "loading-spinner d-block" }, H = { class: "loading-spinner__a
69
69
  }
70
70
  },
71
71
  setup(e) {
72
- return (r, n) => (u(), s("span", F, [
73
- i("span", H, [
74
- (u(), s("svg", P, [
72
+ return (r, a) => (u(), s("span", R, [
73
+ i("span", P, [
74
+ (u(), s("svg", F, [
75
75
  i("path", {
76
76
  fill: e.color,
77
77
  d: "M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50"
78
- }, G, 8, E)
78
+ }, j, 8, H)
79
79
  ]))
80
80
  ]),
81
81
  f(r.$slots, "default")
82
82
  ]));
83
83
  }
84
84
  });
85
- const J = ["type", "disabled", "href", "to"], ge = /* @__PURE__ */ g({
85
+ const G = ["type", "disabled", "href", "to"], $e = /* @__PURE__ */ p({
86
86
  __name: "base-button",
87
87
  props: {
88
88
  type: null,
@@ -99,9 +99,9 @@ const J = ["type", "disabled", "href", "to"], ge = /* @__PURE__ */ g({
99
99
  fab: { type: Boolean }
100
100
  },
101
101
  setup(e) {
102
- const r = e, n = p(() => r.caption && !r.fab);
103
- return (a, d) => {
104
- const l = $("svg-icon");
102
+ const r = e, a = g(() => r.caption && !r.fab);
103
+ return (n, d) => {
104
+ const l = V("svg-icon");
105
105
  return u(), s("button", {
106
106
  type: e.type,
107
107
  disabled: e.disabled,
@@ -119,28 +119,28 @@ const J = ["type", "disabled", "href", "to"], ge = /* @__PURE__ */ g({
119
119
  "x-small": e.size === "x-small"
120
120
  }])
121
121
  }, [
122
- f(a.$slots, "default", {}, () => [
123
- e.icon ? (u(), k(l, {
122
+ f(n.$slots, "default", {}, () => [
123
+ e.icon ? (u(), w(l, {
124
124
  key: 0,
125
125
  id: e.icon,
126
126
  class: "base-button__caption"
127
- }, null, 8, ["id"])) : S("", !0),
128
- y(n) ? (u(), s("span", {
127
+ }, null, 8, ["id"])) : k("", !0),
128
+ y(a) ? (u(), s("span", {
129
129
  key: 1,
130
130
  class: v(["base-button__caption", { "icon-padding": e.icon }])
131
- }, h(e.caption), 3)) : S("", !0)
131
+ }, h(e.caption), 3)) : k("", !0)
132
132
  ])
133
- ], 10, J);
133
+ ], 10, G);
134
134
  };
135
135
  }
136
136
  });
137
137
  function m() {
138
138
  return (new Date().valueOf() + Math.random()).toString(36);
139
139
  }
140
- const j = { class: "input-group form-input__input-group" }, X = ["type", "id", "name", "placeholder", "pattern", "disabled", "read-only", "required", "maxlength", "checked", "aria-label"], Y = {
140
+ const J = { class: "input-group form-input__input-group" }, X = ["type", "id", "name", "placeholder", "pattern", "disabled", "read-only", "required", "maxlength", "checked", "aria-label"], Y = {
141
141
  key: 0,
142
142
  class: "form-input__color-swatch"
143
- }, K = ["name", "id", "disabled", "read-only", "required", "aria-label"], Q = ["for", "innerHTML"], pe = /* @__PURE__ */ g({
143
+ }, K = ["name", "id", "disabled", "read-only", "required", "aria-label"], Q = ["for", "innerHTML"], Se = /* @__PURE__ */ p({
144
144
  __name: "form-input",
145
145
  props: {
146
146
  modelValue: {
@@ -197,9 +197,9 @@ const j = { class: "input-group form-input__input-group" }, X = ["type", "id", "
197
197
  },
198
198
  emits: ["update:modelValue"],
199
199
  setup(e, { emit: r }) {
200
- const n = e, a = p({
200
+ const a = e, n = g({
201
201
  get() {
202
- return n.modelValue;
202
+ return a.modelValue;
203
203
  },
204
204
  set(d) {
205
205
  r("update:modelValue", d);
@@ -208,10 +208,10 @@ const j = { class: "input-group form-input__input-group" }, X = ["type", "id", "
208
208
  return (d, l) => (u(), s("div", {
209
209
  class: v(["form-input", `form-input--${e.type}`])
210
210
  }, [
211
- i("div", j, [
211
+ i("div", J, [
212
212
  f(d.$slots, "input-prepend"),
213
- x(i("input", {
214
- "onUpdate:modelValue": l[0] || (l[0] = (t) => V(a) ? a.value = t : null),
213
+ M(i("input", {
214
+ "onUpdate:modelValue": l[0] || (l[0] = (t) => C(n) ? n.value = t : null),
215
215
  type: e.type === "color" ? "text" : e.type,
216
216
  id: e.id,
217
217
  name: e.name,
@@ -225,12 +225,12 @@ const j = { class: "input-group form-input__input-group" }, X = ["type", "id", "
225
225
  class: "form-control",
226
226
  "aria-label": e.label
227
227
  }, null, 8, X), [
228
- [I, y(a)]
228
+ [N, y(n)]
229
229
  ]),
230
230
  f(d.$slots, "input-append", {}, () => [
231
231
  e.type === "color" ? (u(), s("span", Y, [
232
- x(i("input", {
233
- "onUpdate:modelValue": l[1] || (l[1] = (t) => V(a) ? a.value = t : null),
232
+ M(i("input", {
233
+ "onUpdate:modelValue": l[1] || (l[1] = (t) => C(n) ? n.value = t : null),
234
234
  type: "color",
235
235
  name: `${e.name}-color`,
236
236
  id: `${e.id}-color`,
@@ -240,9 +240,9 @@ const j = { class: "input-group form-input__input-group" }, X = ["type", "id", "
240
240
  class: "form-control",
241
241
  "aria-label": e.label
242
242
  }, null, 8, K), [
243
- [C, y(a)]
243
+ [U, y(n)]
244
244
  ])
245
- ])) : S("", !0)
245
+ ])) : k("", !0)
246
246
  ])
247
247
  ]),
248
248
  f(d.$slots, "label", {}, () => [
@@ -255,7 +255,7 @@ const j = { class: "input-group form-input__input-group" }, X = ["type", "id", "
255
255
  ], 2));
256
256
  }
257
257
  });
258
- const W = { class: "radio-group" }, Z = ["for"], he = /* @__PURE__ */ g({
258
+ const W = { class: "radio-group" }, Z = ["for"], Ve = /* @__PURE__ */ p({
259
259
  __name: "check-group",
260
260
  props: {
261
261
  modelValue: {
@@ -296,25 +296,25 @@ const W = { class: "radio-group" }, Z = ["for"], he = /* @__PURE__ */ g({
296
296
  },
297
297
  emits: ["change", "update:modelValue"],
298
298
  setup(e, { emit: r }) {
299
- const n = e, a = N([]);
300
- return B(() => n.modelValue, (d, l) => {
301
- a.value = n.options.map(
302
- (t) => t.value ? n.modelValue.some((o) => o["value "] === t.value) : n.modelValue.some((o) => o === t)
299
+ const a = e, n = S([]);
300
+ return $(() => a.modelValue, (d, l) => {
301
+ n.value = a.options.map(
302
+ (t) => t.value ? a.modelValue.some((o) => o["value "] === t.value) : a.modelValue.some((o) => o === t)
303
303
  );
304
- }, { immediate: !0 }), B(a, (d, l) => {
304
+ }, { immediate: !0 }), $(n, (d, l) => {
305
305
  const t = d.reduce((o, c, b) => {
306
- const M = c && n.options[b] ? [n.options[b] || n.options[b]] : [];
307
- return [...o, ...M];
306
+ const O = c && a.options[b] ? [a.options[b] || a.options[b]] : [];
307
+ return [...o, ...O];
308
308
  }, []);
309
309
  r("update:modelValue", t);
310
- }, { deep: !0 }), z(() => {
310
+ }, { deep: !0 }), L(() => {
311
311
  }), (d, l) => {
312
- const t = $("form-input");
312
+ const t = V("form-input");
313
313
  return u(), s("div", W, [
314
- (u(!0), s(w, null, q(e.options, (o, c) => (u(), k(t, {
314
+ (u(!0), s(B, null, x(e.options, (o, c) => (u(), w(t, {
315
315
  key: c,
316
- modelValue: y(a)[c],
317
- "onUpdate:modelValue": (b) => y(a)[c] = b,
316
+ modelValue: y(n)[c],
317
+ "onUpdate:modelValue": (b) => y(n)[c] = b,
318
318
  type: "checkbox",
319
319
  name: e.name,
320
320
  id: `${e.id}-${c}`,
@@ -325,13 +325,13 @@ const W = { class: "radio-group" }, Z = ["for"], he = /* @__PURE__ */ g({
325
325
  }, null, 8, ["modelValue", "onUpdate:modelValue", "name", "id", "label", "disabled", "read-only", "required"]))), 128)),
326
326
  i("label", { for: e.id }, [
327
327
  f(d.$slots, "label", {}, () => [
328
- O(h(e.label), 1)
328
+ q(h(e.label), 1)
329
329
  ])
330
330
  ], 8, Z)
331
331
  ]);
332
332
  };
333
333
  }
334
- }), _ = { class: "radio-group" }, ee = ["for"], ve = /* @__PURE__ */ g({
334
+ }), _ = { class: "radio-group" }, ee = ["for"], Be = /* @__PURE__ */ p({
335
335
  __name: "radio-group",
336
336
  props: {
337
337
  modelValue: {
@@ -372,16 +372,16 @@ const W = { class: "radio-group" }, Z = ["for"], he = /* @__PURE__ */ g({
372
372
  },
373
373
  emits: ["change", "update:modelValue"],
374
374
  setup(e, { emit: r }) {
375
- const n = e;
376
- N(n.options.map((d) => d.value === n.modelValue));
377
- function a(d) {
375
+ const a = e;
376
+ S(a.options.map((d) => d.value === a.modelValue));
377
+ function n(d) {
378
378
  r("update:modelValue", d);
379
379
  }
380
- return z(() => {
380
+ return L(() => {
381
381
  }), (d, l) => {
382
- const t = $("form-input");
382
+ const t = V("form-input");
383
383
  return u(), s("div", _, [
384
- (u(!0), s(w, null, q(e.options, (o, c) => (u(), k(t, {
384
+ (u(!0), s(B, null, x(e.options, (o, c) => (u(), w(t, {
385
385
  key: c,
386
386
  type: "radio",
387
387
  name: e.name,
@@ -392,11 +392,11 @@ const W = { class: "radio-group" }, Z = ["for"], he = /* @__PURE__ */ g({
392
392
  disabled: e.disabled,
393
393
  "read-only": e.readOnly,
394
394
  required: e.required,
395
- onChange: (b) => a(o)
395
+ onChange: (b) => n(o)
396
396
  }, null, 8, ["name", "id", "value", "label", "checked", "disabled", "read-only", "required", "onChange"]))), 128)),
397
397
  i("label", { for: e.id }, [
398
398
  f(d.$slots, "label", {}, () => [
399
- O(h(e.label), 1)
399
+ q(h(e.label), 1)
400
400
  ])
401
401
  ], 8, ee)
402
402
  ]);
@@ -405,7 +405,7 @@ const W = { class: "radio-group" }, Z = ["for"], he = /* @__PURE__ */ g({
405
405
  }), te = { class: "input input-dropdown" }, le = { class: "dropdown" }, ae = {
406
406
  class: "btn-group",
407
407
  role: "group"
408
- }, ne = ["id", "disabled"], de = ["aria-labelledby"], oe = ["onClick"], ie = ["for"], $e = /* @__PURE__ */ g({
408
+ }, ne = ["id", "disabled"], de = ["aria-labelledby"], oe = ["onClick"], ie = ["for"], xe = /* @__PURE__ */ p({
409
409
  __name: "input-dropdown",
410
410
  props: {
411
411
  modelValue: {
@@ -463,26 +463,26 @@ const W = { class: "radio-group" }, Z = ["for"], he = /* @__PURE__ */ g({
463
463
  },
464
464
  emits: ["update:modelValue"],
465
465
  setup(e, { emit: r }) {
466
- const n = e;
467
- p({
466
+ const a = e;
467
+ g({
468
468
  get() {
469
- return n.modelValue;
469
+ return a.modelValue;
470
470
  },
471
471
  set(t) {
472
472
  r("update:modelValue", t);
473
473
  }
474
474
  });
475
- function a(t) {
475
+ function n(t) {
476
476
  r("update:modelValue", t);
477
477
  }
478
- const d = p(() => [
478
+ const d = g(() => [
479
479
  {
480
480
  text: "Please select"
481
481
  },
482
- ...n.options.map(
482
+ ...a.options.map(
483
483
  (t) => typeof t == "string" ? { value: t, text: t } : t
484
484
  )
485
- ]), l = p(() => [...n.options].find((t) => JSON.stringify(t.value) === JSON.stringify(n.modelValue)));
485
+ ]), l = g(() => [...a.options].find((t) => JSON.stringify(t.value) === JSON.stringify(a.modelValue)));
486
486
  return (t, o) => (u(), s("div", te, [
487
487
  i("div", le, [
488
488
  i("div", ae, [
@@ -503,11 +503,11 @@ const W = { class: "radio-group" }, Z = ["for"], he = /* @__PURE__ */ g({
503
503
  class: "dropdown-menu",
504
504
  "aria-labelledby": e.id
505
505
  }, [
506
- (u(!0), s(w, null, q(y(d), (c, b) => (u(), s("li", { key: b }, [
506
+ (u(!0), s(B, null, x(y(d), (c, b) => (u(), s("li", { key: b }, [
507
507
  f(t.$slots, "option", {}, () => [
508
508
  i("a", {
509
509
  class: "dropdown-item",
510
- onClick: L((M) => a(c.value), ["prevent"])
510
+ onClick: z((O) => n(c.value), ["prevent"])
511
511
  }, h(c.text), 9, oe)
512
512
  ])
513
513
  ]))), 128))
@@ -516,21 +516,17 @@ const W = { class: "radio-group" }, Z = ["for"], he = /* @__PURE__ */ g({
516
516
  ]),
517
517
  i("label", { for: e.id }, [
518
518
  f(t.$slots, "label", {}, () => [
519
- O(h(e.label), 1)
519
+ q(h(e.label), 1)
520
520
  ])
521
521
  ], 8, ie)
522
522
  ]));
523
523
  }
524
- }), ue = { class: "input-group" }, re = ["v-model", "id", "name"], se = ["name", "id", "placeholder", "pattern", "disabled", "read-only", "required", "maxlength", "checked", "aria-label"], ce = ["for"], fe = ["for", "innerHTML"], Se = /* @__PURE__ */ g({
524
+ }), ue = ["id", "name", "multiple", "accept"], re = { class: "form-input__input-group input-group" }, se = ["value", "id", "name"], ce = ["for"], fe = ["for", "innerHTML"], ke = /* @__PURE__ */ p({
525
525
  __name: "file-input",
526
526
  props: {
527
527
  modelValue: {
528
- type: [String, Number, Boolean],
529
- default: ""
530
- },
531
- type: {
532
- type: String,
533
- default: "text"
528
+ type: Array,
529
+ default: []
534
530
  },
535
531
  name: {
536
532
  type: String,
@@ -564,88 +560,172 @@ const W = { class: "radio-group" }, Z = ["for"], he = /* @__PURE__ */ g({
564
560
  type: Boolean,
565
561
  default: !1
566
562
  },
567
- maxlength: {
568
- type: Number
569
- },
570
563
  pattern: {
571
564
  type: String,
572
565
  default: null
573
566
  },
574
- checked: {
567
+ multiple: {
575
568
  type: Boolean,
576
569
  default: !1
570
+ },
571
+ accept: {
572
+ type: String
577
573
  }
578
574
  },
579
575
  emits: ["update:modelValue"],
580
576
  setup(e, { emit: r }) {
581
- function n(l) {
577
+ function a(l) {
582
578
  const t = l.target && l.target.files;
583
- t && (a.splice(0, a.length), Array.from(t).forEach((o) => {
584
- a.push(o);
579
+ t && (n.splice(0, n.length), Array.from(t).forEach((o) => {
580
+ n.push(o);
585
581
  }));
586
582
  }
587
- const a = T([]), d = p(() => a.map((l) => l.name));
588
- return B(() => a, (l, t) => {
589
- l !== t && r("update:modelValue", l);
590
- }, { deep: !0 }), (l, t) => {
591
- const o = $("svg-icon");
592
- return u(), s("div", {
593
- class: v(["file-input", "file-input--primary"])
594
- }, [
595
- i("div", ue, [
596
- f(l.$slots, "input-prepend"),
597
- i("input", {
598
- "v-model": a,
599
- type: "file",
600
- id: e.id,
601
- name: e.name,
602
- onChange: n,
603
- class: "d-none"
604
- }, null, 40, re),
605
- x(i("input", {
606
- "onUpdate:modelValue": t[0] || (t[0] = (c) => V(d) ? d.value = c : null),
607
- type: "text",
608
- name: `${e.name}--text`,
609
- id: `${e.name}--text`,
610
- placeholder: e.placeholder,
611
- pattern: e.pattern,
612
- disabled: e.disabled,
613
- "read-only": e.readOnly,
614
- required: e.required,
615
- maxlength: e.maxlength,
616
- checked: e.checked,
617
- class: "form-control",
618
- "aria-label": e.label
619
- }, null, 8, se), [
620
- [C, y(d)]
621
- ]),
622
- f(l.$slots, "input-append", {}, () => [
623
- i("label", {
624
- for: e.id,
625
- class: "input-group-text"
626
- }, [
627
- A(o, { symbol: "upload" })
628
- ], 8, ce)
629
- ])
630
- ]),
631
- f(l.$slots, "label", {}, () => [
583
+ const n = I([]), d = g(() => n && n.map((l) => l.name));
584
+ return g(() => n.map((l) => URL.createObjectURL(l))), $(() => n, (l, t) => {
585
+ console.log("file input", l), r("update:modelValue", l);
586
+ }, { deep: !0 }), (l, t) => (u(), s("div", {
587
+ class: v(["form-input file-input", "file-input--primary"])
588
+ }, [
589
+ i("input", {
590
+ type: "file",
591
+ id: e.id,
592
+ name: e.name,
593
+ class: "d-none",
594
+ onChange: a,
595
+ multiple: e.multiple,
596
+ accept: e.accept
597
+ }, null, 40, ue),
598
+ i("div", re, [
599
+ f(l.$slots, "input-prepend"),
600
+ i("input", {
601
+ type: "text",
602
+ value: y(d),
603
+ id: e.id,
604
+ name: e.name,
605
+ class: "form-control"
606
+ }, null, 8, se),
607
+ f(l.$slots, "input-append", {}, () => [
632
608
  i("label", {
633
609
  for: e.id,
634
- class: "form-input__label",
635
- innerHTML: `${e.label}${e.required ? " *" : ""}`
636
- }, null, 8, fe)
610
+ class: "btn btn-outline-dark"
611
+ }, " Select Image ", 8, ce)
637
612
  ])
613
+ ]),
614
+ f(l.$slots, "label", {}, () => [
615
+ i("label", {
616
+ for: e.id,
617
+ class: "form-input__label",
618
+ innerHTML: `${e.label}${e.required ? " *" : ""}`
619
+ }, null, 8, fe)
620
+ ])
621
+ ]));
622
+ }
623
+ }), me = { class: "media-upload" }, ye = ["src"], pe = ["for"];
624
+ async function be(e) {
625
+ return await new Promise((r) => {
626
+ let a = new FileReader();
627
+ a.onload = () => r(a.result), a.readAsDataURL(e);
628
+ });
629
+ }
630
+ const we = /* @__PURE__ */ p({
631
+ __name: "media-upload",
632
+ props: {
633
+ modelValue: {
634
+ type: Array,
635
+ default: []
636
+ },
637
+ name: {
638
+ type: String,
639
+ default: () => m()
640
+ },
641
+ id: {
642
+ type: String,
643
+ default: () => m()
644
+ },
645
+ label: {
646
+ type: String,
647
+ default: ""
648
+ },
649
+ placeholder: {
650
+ type: String,
651
+ default: ""
652
+ },
653
+ variant: {
654
+ type: String,
655
+ default: ""
656
+ },
657
+ disabled: {
658
+ type: Boolean,
659
+ default: !1
660
+ },
661
+ readOnly: {
662
+ type: Boolean,
663
+ default: !1
664
+ },
665
+ required: {
666
+ type: Boolean,
667
+ default: !1
668
+ },
669
+ pattern: {
670
+ type: String,
671
+ default: null
672
+ },
673
+ multiple: {
674
+ type: Boolean,
675
+ default: !1
676
+ },
677
+ accept: {
678
+ type: String,
679
+ default: "image/*"
680
+ }
681
+ },
682
+ emits: ["update:modelValue"],
683
+ setup(e, { emit: r }) {
684
+ const a = S([]), n = S([]);
685
+ return $(() => a, async (d, l) => {
686
+ n.value = await Promise.all(
687
+ d.value.map(async (t) => ({
688
+ src: await be(t),
689
+ type: t.type
690
+ }))
691
+ );
692
+ }, { deep: !0 }), $(() => n, async (d, l) => {
693
+ r("update:modelValue", n.value);
694
+ }, { deep: !0 }), (d, l) => {
695
+ const t = V("file-input");
696
+ return u(), s("div", me, [
697
+ (u(!0), s(B, null, x(n.value, (o) => (u(), s("div", {
698
+ key: o.src
699
+ }, [
700
+ i("img", {
701
+ src: o.src,
702
+ class: "img-fluid rounded"
703
+ }, null, 8, ye)
704
+ ]))), 128)),
705
+ T(t, {
706
+ modelValue: a.value,
707
+ "onUpdate:modelValue": l[0] || (l[0] = (o) => a.value = o),
708
+ id: e.id,
709
+ name: e.name,
710
+ accept: e.accept,
711
+ class: "d-none"
712
+ }, null, 8, ["modelValue", "id", "name", "accept"]),
713
+ i("label", {
714
+ for: e.id,
715
+ class: "btn btn-outline-dark"
716
+ }, " Select Image ", 8, pe)
638
717
  ]);
639
718
  };
640
719
  }
641
720
  });
642
721
  export {
643
- ge as BaseButton,
644
- he as CheckGroup,
645
- Se as FileInput,
646
- pe as FormInput,
647
- $e as InputDropdown,
648
- be as LoadingSpinner,
649
- ve as RadioGroup,
650
- ye as SvgIcon
722
+ $e as BaseButton,
723
+ Ve as CheckGroup,
724
+ ke as FileInput,
725
+ Se as FormInput,
726
+ xe as InputDropdown,
727
+ ve as LoadingSpinner,
728
+ we as MediaUpload,
729
+ Be as RadioGroup,
730
+ he as SvgIcon
651
731
  };
@@ -1 +1 @@
1
- (function(c,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(c=typeof globalThis<"u"?globalThis:c||self,e(c.AblokComponents={},c.Vue))})(this,function(c,e){"use strict";const y={class:"icon",preserveAspectRatio:"xMaxYMin"},p=["xlink:href"],b=e.defineComponent({__name:"svg-icon",props:{basePath:{type:String,default:"/symbol-defs.svg"},prefix:{type:String,default:"icon-"},symbol:{type:String,default:""},size:{type:String,default:"default"}},setup(t){return(r,o)=>(e.openBlock(),e.createElementBlock("i",{class:e.normalizeClass(["svg-icon",{[`svg-icon--${t.size}`]:t.size}])},[(e.openBlock(),e.createElementBlock("svg",y,[e.createElementVNode("use",{"xlink:href":`${t.basePath}#${t.prefix}${t.symbol}`,"xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0",y:"0"},null,8,p)]))],2))}}),Z="",g={class:"loading-spinner d-block"},h={class:"loading-spinner__animation"},B={class:"d-block",version:"1.1",id:"L9",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 100 100","enable-background":"new 0 0 0 0","xml:space":"preserve"},k=["fill"],$=[e.createElementVNode("animateTransform",{attributeName:"transform",attributeType:"XML",type:"rotate",dur:"1s",from:"0 50 50",to:"360 50 50",repeatCount:"indefinite"},null,-1)],S=e.defineComponent({__name:"loading-spinner",props:{color:{type:String,default:"#fff"}},setup(t){return(r,o)=>(e.openBlock(),e.createElementBlock("span",g,[e.createElementVNode("span",h,[(e.openBlock(),e.createElementBlock("svg",B,[e.createElementVNode("path",{fill:t.color,d:"M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50"},$,8,k)]))]),e.renderSlot(r.$slots,"default")]))}}),v="",V=["type","disabled","href","to"],x=e.defineComponent({__name:"base-button",props:{type:null,caption:null,variant:null,size:null,icon:null,href:null,to:null,disabled:{type:Boolean},pending:{type:Boolean},outlined:{type:Boolean},rounded:{type:Boolean},fab:{type:Boolean}},setup(t){const r=t,o=e.computed(()=>r.caption&&!r.fab);return(a,d)=>{const n=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("button",{type:t.type,disabled:t.disabled,href:t.href,to:t.to,class:e.normalizeClass(["base-button btn btn-primary",{disabled:t.disabled,pending:t.pending,rounded:t.rounded,outlined:t.outlined,fab:t.fab,"x-large":t.size==="x-large",large:t.size==="large",small:t.size==="small","x-small":t.size==="x-small"}])},[e.renderSlot(a.$slots,"default",{},()=>[t.icon?(e.openBlock(),e.createBlock(n,{key:0,id:t.icon,class:"base-button__caption"},null,8,["id"])):e.createCommentVNode("",!0),e.unref(o)?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(["base-button__caption",{"icon-padding":t.icon}])},e.toDisplayString(t.caption),3)):e.createCommentVNode("",!0)])],10,V)}}}),ee="";function m(){return(new Date().valueOf()+Math.random()).toString(36)}const E={class:"input-group form-input__input-group"},N=["type","id","name","placeholder","pattern","disabled","read-only","required","maxlength","checked","aria-label"],w={key:0,class:"form-input__color-swatch"},C=["name","id","disabled","read-only","required","aria-label"],q=["for","innerHTML"],M=e.defineComponent({__name:"form-input",props:{modelValue:{type:[String,Number,Boolean],default:""},type:{type:String,default:"text"},name:{type:String,default:()=>m()},id:{type:String,default:()=>m()},label:{type:String,default:""},placeholder:{type:String,default:""},variant:{type:String,default:""},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},maxlength:{type:Number},pattern:{type:String,default:null},checked:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:r}){const o=t,a=e.computed({get(){return o.modelValue},set(d){r("update:modelValue",d)}});return(d,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["form-input",`form-input--${t.type}`])},[e.createElementVNode("div",E,[e.renderSlot(d.$slots,"input-prepend"),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":n[0]||(n[0]=l=>e.isRef(a)?a.value=l:null),type:t.type==="color"?"text":t.type,id:t.id,name:t.name,placeholder:t.placeholder,pattern:t.pattern,disabled:t.disabled,"read-only":t.readOnly,required:t.required,maxlength:t.maxlength,checked:t.checked,class:"form-control","aria-label":t.label},null,8,N),[[e.vModelDynamic,e.unref(a)]]),e.renderSlot(d.$slots,"input-append",{},()=>[t.type==="color"?(e.openBlock(),e.createElementBlock("span",w,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":n[1]||(n[1]=l=>e.isRef(a)?a.value=l:null),type:"color",name:`${t.name}-color`,id:`${t.id}-color`,disabled:t.disabled,"read-only":t.readOnly,required:t.required,class:"form-control","aria-label":t.label},null,8,C),[[e.vModelText,e.unref(a)]])])):e.createCommentVNode("",!0)])]),e.renderSlot(d.$slots,"label",{},()=>[e.createElementVNode("label",{for:t.id,class:"form-input__label",innerHTML:`${t.label}${t.required?" *":""}`},null,8,q)])],2))}}),te="",O={class:"radio-group"},z=["for"],T=e.defineComponent({__name:"check-group",props:{modelValue:{default:[]},options:{type:Array,default:[]},name:{type:String,default:()=>m()},id:{type:String,default:()=>m()},label:{type:String,default:""},variant:{type:String,default:""},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1}},emits:["change","update:modelValue"],setup(t,{emit:r}){const o=t,a=e.ref([]);return e.watch(()=>o.modelValue,(d,n)=>{a.value=o.options.map(l=>l.value?o.modelValue.some(i=>i["value "]===l.value):o.modelValue.some(i=>i===l))},{immediate:!0}),e.watch(a,(d,n)=>{const l=d.reduce((i,s,u)=>{const f=s&&o.options[u]?[o.options[u]||o.options[u]]:[];return[...i,...f]},[]);r("update:modelValue",l)},{deep:!0}),e.onBeforeMount(()=>{}),(d,n)=>{const l=e.resolveComponent("form-input");return e.openBlock(),e.createElementBlock("div",O,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,(i,s)=>(e.openBlock(),e.createBlock(l,{key:s,modelValue:e.unref(a)[s],"onUpdate:modelValue":u=>e.unref(a)[s]=u,type:"checkbox",name:t.name,id:`${t.id}-${s}`,label:`${i.text||i}${t.required?" *":""}`,disabled:t.disabled,"read-only":t.readOnly,required:t.required},null,8,["modelValue","onUpdate:modelValue","name","id","label","disabled","read-only","required"]))),128)),e.createElementVNode("label",{for:t.id},[e.renderSlot(d.$slots,"label",{},()=>[e.createTextVNode(e.toDisplayString(t.label),1)])],8,z)])}}}),D={class:"radio-group"},L=["for"],I=e.defineComponent({__name:"radio-group",props:{modelValue:{default:!1},options:{type:Array,default:[]},name:{type:String,default:()=>m()},id:{type:String,default:()=>m()},label:{type:String,default:""},variant:{type:String,default:""},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1}},emits:["change","update:modelValue"],setup(t,{emit:r}){const o=t;e.ref(o.options.map(d=>d.value===o.modelValue));function a(d){r("update:modelValue",d)}return e.onBeforeMount(()=>{}),(d,n)=>{const l=e.resolveComponent("form-input");return e.openBlock(),e.createElementBlock("div",D,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,(i,s)=>(e.openBlock(),e.createBlock(l,{key:s,type:"radio",name:t.name,id:`${t.id}-${s}`,value:i.value||i,label:`${i.text||i}${t.required?" *":""}`,checked:i.value?i.value===t.modelValue:i===t.modelValue,disabled:t.disabled,"read-only":t.readOnly,required:t.required,onChange:u=>a(i)},null,8,["name","id","value","label","checked","disabled","read-only","required","onChange"]))),128)),e.createElementVNode("label",{for:t.id},[e.renderSlot(d.$slots,"label",{},()=>[e.createTextVNode(e.toDisplayString(t.label),1)])],8,L)])}}}),A={class:"input input-dropdown"},F={class:"dropdown"},P={class:"btn-group",role:"group"},R=["id","disabled"],U=["aria-labelledby"],H=["onClick"],j=["for"],G=e.defineComponent({__name:"input-dropdown",props:{modelValue:{type:[String,Number,Boolean,Object],default:""},name:{type:String,default:()=>m()},id:{type:String,default:()=>m()},label:{type:String,default:""},placeholder:{type:String,default:"Please select"},options:{type:Array,default:[]},variant:{type:String,default:""},color:{type:String,default:""},disabled:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},required:{type:Boolean,default:!1},outline:{type:Boolean,default:!0},resetOption:{type:Boolean,default:!0}},emits:["update:modelValue"],setup(t,{emit:r}){const o=t;e.computed({get(){return o.modelValue},set(l){r("update:modelValue",l)}});function a(l){r("update:modelValue",l)}const d=e.computed(()=>[{text:"Please select"},...o.options.map(l=>typeof l=="string"?{value:l,text:l}:l)]),n=e.computed(()=>[...o.options].find(l=>JSON.stringify(l.value)===JSON.stringify(o.modelValue)));return(l,i)=>(e.openBlock(),e.createElementBlock("div",A,[e.createElementVNode("div",F,[e.createElementVNode("div",P,[e.createElementVNode("button",{class:e.normalizeClass(["btn dropdown-toggle",{[`btn-${t.variant}`]:t.variant,[`btn-${t.color}`]:t.color,[`btn-${t.disabled}`]:t.disabled,[`btn-outline-${t.color||"dark"}`]:t.outline}]),type:"button",id:t.id,"data-bs-toggle":"dropdown","aria-expanded":"false",disabled:t.disabled},e.toDisplayString(e.unref(n)?e.unref(n).text:t.placeholder),11,R),e.createElementVNode("ul",{class:"dropdown-menu","aria-labelledby":t.id},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(d),(s,u)=>(e.openBlock(),e.createElementBlock("li",{key:u},[e.renderSlot(l.$slots,"option",{},()=>[e.createElementVNode("a",{class:"dropdown-item",onClick:e.withModifiers(f=>a(s.value),["prevent"])},e.toDisplayString(s.text),9,H)])]))),128))],8,U)])]),e.createElementVNode("label",{for:t.id},[e.renderSlot(l.$slots,"label",{},()=>[e.createTextVNode(e.toDisplayString(t.label),1)])],8,j)]))}}),J={class:"input-group"},X=["v-model","id","name"],Y=["name","id","placeholder","pattern","disabled","read-only","required","maxlength","checked","aria-label"],K=["for"],Q=["for","innerHTML"],W=e.defineComponent({__name:"file-input",props:{modelValue:{type:[String,Number,Boolean],default:""},type:{type:String,default:"text"},name:{type:String,default:()=>m()},id:{type:String,default:()=>m()},label:{type:String,default:""},placeholder:{type:String,default:""},variant:{type:String,default:""},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},maxlength:{type:Number},pattern:{type:String,default:null},checked:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:r}){function o(n){const l=n.target&&n.target.files;l&&(a.splice(0,a.length),Array.from(l).forEach(i=>{a.push(i)}))}const a=e.reactive([]),d=e.computed(()=>a.map(n=>n.name));return e.watch(()=>a,(n,l)=>{n!==l&&r("update:modelValue",n)},{deep:!0}),(n,l)=>{const i=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["file-input","file-input--primary"])},[e.createElementVNode("div",J,[e.renderSlot(n.$slots,"input-prepend"),e.createElementVNode("input",{"v-model":a,type:"file",id:t.id,name:t.name,onChange:o,class:"d-none"},null,40,X),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":l[0]||(l[0]=s=>e.isRef(d)?d.value=s:null),type:"text",name:`${t.name}--text`,id:`${t.name}--text`,placeholder:t.placeholder,pattern:t.pattern,disabled:t.disabled,"read-only":t.readOnly,required:t.required,maxlength:t.maxlength,checked:t.checked,class:"form-control","aria-label":t.label},null,8,Y),[[e.vModelText,e.unref(d)]]),e.renderSlot(n.$slots,"input-append",{},()=>[e.createElementVNode("label",{for:t.id,class:"input-group-text"},[e.createVNode(i,{symbol:"upload"})],8,K)])]),e.renderSlot(n.$slots,"label",{},()=>[e.createElementVNode("label",{for:t.id,class:"form-input__label",innerHTML:`${t.label}${t.required?" *":""}`},null,8,Q)])])}}}),le="";c.BaseButton=x,c.CheckGroup=T,c.FileInput=W,c.FormInput=M,c.InputDropdown=G,c.LoadingSpinner=S,c.RadioGroup=I,c.SvgIcon=b,Object.defineProperties(c,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(c,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(c=typeof globalThis<"u"?globalThis:c||self,e(c.AblokComponents={},c.Vue))})(this,function(c,e){"use strict";const p={class:"icon",preserveAspectRatio:"xMaxYMin"},y=["xlink:href"],g=e.defineComponent({__name:"svg-icon",props:{basePath:{type:String,default:"/symbol-defs.svg"},prefix:{type:String,default:"icon-"},symbol:{type:String,default:""},size:{type:String,default:"default"}},setup(t){return(r,a)=>(e.openBlock(),e.createElementBlock("i",{class:e.normalizeClass(["svg-icon",{[`svg-icon--${t.size}`]:t.size}])},[(e.openBlock(),e.createElementBlock("svg",p,[e.createElementVNode("use",{"xlink:href":`${t.basePath}#${t.prefix}${t.symbol}`,"xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0",y:"0"},null,8,y)]))],2))}}),le="",b={class:"loading-spinner d-block"},h={class:"loading-spinner__animation"},B={class:"d-block",version:"1.1",id:"L9",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 100 100","enable-background":"new 0 0 0 0","xml:space":"preserve"},k=["fill"],S=[e.createElementVNode("animateTransform",{attributeName:"transform",attributeType:"XML",type:"rotate",dur:"1s",from:"0 50 50",to:"360 50 50",repeatCount:"indefinite"},null,-1)],$=e.defineComponent({__name:"loading-spinner",props:{color:{type:String,default:"#fff"}},setup(t){return(r,a)=>(e.openBlock(),e.createElementBlock("span",b,[e.createElementVNode("span",h,[(e.openBlock(),e.createElementBlock("svg",B,[e.createElementVNode("path",{fill:t.color,d:"M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50"},S,8,k)]))]),e.renderSlot(r.$slots,"default")]))}}),ae="",V=["type","disabled","href","to"],E=e.defineComponent({__name:"base-button",props:{type:null,caption:null,variant:null,size:null,icon:null,href:null,to:null,disabled:{type:Boolean},pending:{type:Boolean},outlined:{type:Boolean},rounded:{type:Boolean},fab:{type:Boolean}},setup(t){const r=t,a=e.computed(()=>r.caption&&!r.fab);return(o,d)=>{const n=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("button",{type:t.type,disabled:t.disabled,href:t.href,to:t.to,class:e.normalizeClass(["base-button btn btn-primary",{disabled:t.disabled,pending:t.pending,rounded:t.rounded,outlined:t.outlined,fab:t.fab,"x-large":t.size==="x-large",large:t.size==="large",small:t.size==="small","x-small":t.size==="x-small"}])},[e.renderSlot(o.$slots,"default",{},()=>[t.icon?(e.openBlock(),e.createBlock(n,{key:0,id:t.icon,class:"base-button__caption"},null,8,["id"])):e.createCommentVNode("",!0),e.unref(a)?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(["base-button__caption",{"icon-padding":t.icon}])},e.toDisplayString(t.caption),3)):e.createCommentVNode("",!0)])],10,V)}}}),oe="";function s(){return(new Date().valueOf()+Math.random()).toString(36)}const w={class:"input-group form-input__input-group"},N=["type","id","name","placeholder","pattern","disabled","read-only","required","maxlength","checked","aria-label"],x={key:0,class:"form-input__color-swatch"},C=["name","id","disabled","read-only","required","aria-label"],q=["for","innerHTML"],M=e.defineComponent({__name:"form-input",props:{modelValue:{type:[String,Number,Boolean],default:""},type:{type:String,default:"text"},name:{type:String,default:()=>s()},id:{type:String,default:()=>s()},label:{type:String,default:""},placeholder:{type:String,default:""},variant:{type:String,default:""},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},maxlength:{type:Number},pattern:{type:String,default:null},checked:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:r}){const a=t,o=e.computed({get(){return a.modelValue},set(d){r("update:modelValue",d)}});return(d,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["form-input",`form-input--${t.type}`])},[e.createElementVNode("div",w,[e.renderSlot(d.$slots,"input-prepend"),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":n[0]||(n[0]=l=>e.isRef(o)?o.value=l:null),type:t.type==="color"?"text":t.type,id:t.id,name:t.name,placeholder:t.placeholder,pattern:t.pattern,disabled:t.disabled,"read-only":t.readOnly,required:t.required,maxlength:t.maxlength,checked:t.checked,class:"form-control","aria-label":t.label},null,8,N),[[e.vModelDynamic,e.unref(o)]]),e.renderSlot(d.$slots,"input-append",{},()=>[t.type==="color"?(e.openBlock(),e.createElementBlock("span",x,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":n[1]||(n[1]=l=>e.isRef(o)?o.value=l:null),type:"color",name:`${t.name}-color`,id:`${t.id}-color`,disabled:t.disabled,"read-only":t.readOnly,required:t.required,class:"form-control","aria-label":t.label},null,8,C),[[e.vModelText,e.unref(o)]])])):e.createCommentVNode("",!0)])]),e.renderSlot(d.$slots,"label",{},()=>[e.createElementVNode("label",{for:t.id,class:"form-input__label",innerHTML:`${t.label}${t.required?" *":""}`},null,8,q)])],2))}}),de="",O={class:"radio-group"},z=["for"],L=e.defineComponent({__name:"check-group",props:{modelValue:{default:[]},options:{type:Array,default:[]},name:{type:String,default:()=>s()},id:{type:String,default:()=>s()},label:{type:String,default:""},variant:{type:String,default:""},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1}},emits:["change","update:modelValue"],setup(t,{emit:r}){const a=t,o=e.ref([]);return e.watch(()=>a.modelValue,(d,n)=>{o.value=a.options.map(l=>l.value?a.modelValue.some(i=>i["value "]===l.value):a.modelValue.some(i=>i===l))},{immediate:!0}),e.watch(o,(d,n)=>{const l=d.reduce((i,m,u)=>{const f=m&&a.options[u]?[a.options[u]||a.options[u]]:[];return[...i,...f]},[]);r("update:modelValue",l)},{deep:!0}),e.onBeforeMount(()=>{}),(d,n)=>{const l=e.resolveComponent("form-input");return e.openBlock(),e.createElementBlock("div",O,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,(i,m)=>(e.openBlock(),e.createBlock(l,{key:m,modelValue:e.unref(o)[m],"onUpdate:modelValue":u=>e.unref(o)[m]=u,type:"checkbox",name:t.name,id:`${t.id}-${m}`,label:`${i.text||i}${t.required?" *":""}`,disabled:t.disabled,"read-only":t.readOnly,required:t.required},null,8,["modelValue","onUpdate:modelValue","name","id","label","disabled","read-only","required"]))),128)),e.createElementVNode("label",{for:t.id},[e.renderSlot(d.$slots,"label",{},()=>[e.createTextVNode(e.toDisplayString(t.label),1)])],8,z)])}}}),T={class:"radio-group"},D=["for"],U=e.defineComponent({__name:"radio-group",props:{modelValue:{default:!1},options:{type:Array,default:[]},name:{type:String,default:()=>s()},id:{type:String,default:()=>s()},label:{type:String,default:""},variant:{type:String,default:""},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1}},emits:["change","update:modelValue"],setup(t,{emit:r}){const a=t;e.ref(a.options.map(d=>d.value===a.modelValue));function o(d){r("update:modelValue",d)}return e.onBeforeMount(()=>{}),(d,n)=>{const l=e.resolveComponent("form-input");return e.openBlock(),e.createElementBlock("div",T,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,(i,m)=>(e.openBlock(),e.createBlock(l,{key:m,type:"radio",name:t.name,id:`${t.id}-${m}`,value:i.value||i,label:`${i.text||i}${t.required?" *":""}`,checked:i.value?i.value===t.modelValue:i===t.modelValue,disabled:t.disabled,"read-only":t.readOnly,required:t.required,onChange:u=>o(i)},null,8,["name","id","value","label","checked","disabled","read-only","required","onChange"]))),128)),e.createElementVNode("label",{for:t.id},[e.renderSlot(d.$slots,"label",{},()=>[e.createTextVNode(e.toDisplayString(t.label),1)])],8,D)])}}}),A={class:"input input-dropdown"},I={class:"dropdown"},F={class:"btn-group",role:"group"},R=["id","disabled"],P=["aria-labelledby"],j=["onClick"],H=["for"],G=e.defineComponent({__name:"input-dropdown",props:{modelValue:{type:[String,Number,Boolean,Object],default:""},name:{type:String,default:()=>s()},id:{type:String,default:()=>s()},label:{type:String,default:""},placeholder:{type:String,default:"Please select"},options:{type:Array,default:[]},variant:{type:String,default:""},color:{type:String,default:""},disabled:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},required:{type:Boolean,default:!1},outline:{type:Boolean,default:!0},resetOption:{type:Boolean,default:!0}},emits:["update:modelValue"],setup(t,{emit:r}){const a=t;e.computed({get(){return a.modelValue},set(l){r("update:modelValue",l)}});function o(l){r("update:modelValue",l)}const d=e.computed(()=>[{text:"Please select"},...a.options.map(l=>typeof l=="string"?{value:l,text:l}:l)]),n=e.computed(()=>[...a.options].find(l=>JSON.stringify(l.value)===JSON.stringify(a.modelValue)));return(l,i)=>(e.openBlock(),e.createElementBlock("div",A,[e.createElementVNode("div",I,[e.createElementVNode("div",F,[e.createElementVNode("button",{class:e.normalizeClass(["btn dropdown-toggle",{[`btn-${t.variant}`]:t.variant,[`btn-${t.color}`]:t.color,[`btn-${t.disabled}`]:t.disabled,[`btn-outline-${t.color||"dark"}`]:t.outline}]),type:"button",id:t.id,"data-bs-toggle":"dropdown","aria-expanded":"false",disabled:t.disabled},e.toDisplayString(e.unref(n)?e.unref(n).text:t.placeholder),11,R),e.createElementVNode("ul",{class:"dropdown-menu","aria-labelledby":t.id},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(d),(m,u)=>(e.openBlock(),e.createElementBlock("li",{key:u},[e.renderSlot(l.$slots,"option",{},()=>[e.createElementVNode("a",{class:"dropdown-item",onClick:e.withModifiers(f=>o(m.value),["prevent"])},e.toDisplayString(m.text),9,j)])]))),128))],8,P)])]),e.createElementVNode("label",{for:t.id},[e.renderSlot(l.$slots,"label",{},()=>[e.createTextVNode(e.toDisplayString(t.label),1)])],8,H)]))}}),J=["id","name","multiple","accept"],X={class:"form-input__input-group input-group"},Y=["value","id","name"],K=["for"],Q=["for","innerHTML"],W=e.defineComponent({__name:"file-input",props:{modelValue:{type:Array,default:[]},name:{type:String,default:()=>s()},id:{type:String,default:()=>s()},label:{type:String,default:""},placeholder:{type:String,default:""},variant:{type:String,default:""},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},pattern:{type:String,default:null},multiple:{type:Boolean,default:!1},accept:{type:String}},emits:["update:modelValue"],setup(t,{emit:r}){function a(n){const l=n.target&&n.target.files;l&&(o.splice(0,o.length),Array.from(l).forEach(i=>{o.push(i)}))}const o=e.reactive([]),d=e.computed(()=>o&&o.map(n=>n.name));return e.computed(()=>o.map(n=>URL.createObjectURL(n))),e.watch(()=>o,(n,l)=>{console.log("file input",n),r("update:modelValue",n)},{deep:!0}),(n,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["form-input file-input","file-input--primary"])},[e.createElementVNode("input",{type:"file",id:t.id,name:t.name,class:"d-none",onChange:a,multiple:t.multiple,accept:t.accept},null,40,J),e.createElementVNode("div",X,[e.renderSlot(n.$slots,"input-prepend"),e.createElementVNode("input",{type:"text",value:e.unref(d),id:t.id,name:t.name,class:"form-control"},null,8,Y),e.renderSlot(n.$slots,"input-append",{},()=>[e.createElementVNode("label",{for:t.id,class:"btn btn-outline-dark"}," Select Image ",8,K)])]),e.renderSlot(n.$slots,"label",{},()=>[e.createElementVNode("label",{for:t.id,class:"form-input__label",innerHTML:`${t.label}${t.required?" *":""}`},null,8,Q)])]))}}),Z={class:"media-upload"},_=["src"],v=["for"];async function ee(t){return await new Promise(r=>{let a=new FileReader;a.onload=()=>r(a.result),a.readAsDataURL(t)})}const te=e.defineComponent({__name:"media-upload",props:{modelValue:{type:Array,default:[]},name:{type:String,default:()=>s()},id:{type:String,default:()=>s()},label:{type:String,default:""},placeholder:{type:String,default:""},variant:{type:String,default:""},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},pattern:{type:String,default:null},multiple:{type:Boolean,default:!1},accept:{type:String,default:"image/*"}},emits:["update:modelValue"],setup(t,{emit:r}){const a=e.ref([]),o=e.ref([]);return e.watch(()=>a,async(d,n)=>{o.value=await Promise.all(d.value.map(async l=>({src:await ee(l),type:l.type})))},{deep:!0}),e.watch(()=>o,async(d,n)=>{r("update:modelValue",o.value)},{deep:!0}),(d,n)=>{const l=e.resolveComponent("file-input");return e.openBlock(),e.createElementBlock("div",Z,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,i=>(e.openBlock(),e.createElementBlock("div",{key:i.src},[e.createElementVNode("img",{src:i.src,class:"img-fluid rounded"},null,8,_)]))),128)),e.createVNode(l,{modelValue:a.value,"onUpdate:modelValue":n[0]||(n[0]=i=>a.value=i),id:t.id,name:t.name,accept:t.accept,class:"d-none"},null,8,["modelValue","id","name","accept"]),e.createElementVNode("label",{for:t.id,class:"btn btn-outline-dark"}," Select Image ",8,v)])}}});c.BaseButton=E,c.CheckGroup=L,c.FileInput=W,c.FormInput=M,c.InputDropdown=G,c.LoadingSpinner=$,c.MediaUpload=te,c.RadioGroup=U,c.SvgIcon=g,Object.defineProperties(c,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -6,23 +6,31 @@ declare const _default: {
6
6
  label: string;
7
7
  pattern: string;
8
8
  required: boolean;
9
- type: string;
10
- checked: boolean;
11
- modelValue: string | number | boolean;
9
+ modelValue: File[][];
12
10
  variant: string;
13
11
  name: string;
14
12
  id: string;
15
13
  disabled: boolean;
16
14
  readOnly: boolean;
17
15
  placeholder: string;
16
+ multiple: boolean;
18
17
  }> & Omit<Readonly<import("vue").ExtractPropTypes<{
19
18
  modelValue: {
20
- type: (BooleanConstructor | StringConstructor | NumberConstructor)[];
21
- default: string;
22
- };
23
- type: {
24
- type: StringConstructor;
25
- default: string;
19
+ type: {
20
+ (arrayLength: number): File[][];
21
+ (...items: File[][]): File[][];
22
+ new (arrayLength: number): File[][];
23
+ new (...items: File[][]): File[][];
24
+ isArray(arg: any): arg is any[];
25
+ readonly prototype: any[];
26
+ from<T>(arrayLike: ArrayLike<T>): T[];
27
+ from<T_1, U>(arrayLike: ArrayLike<T_1>, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[];
28
+ from<T_2>(iterable: Iterable<T_2> | ArrayLike<T_2>): T_2[];
29
+ from<T_3, U_1>(iterable: Iterable<T_3> | ArrayLike<T_3>, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[];
30
+ of<T_4>(...items: T_4[]): T_4[];
31
+ readonly [Symbol.species]: ArrayConstructor;
32
+ };
33
+ default: never[];
26
34
  };
27
35
  name: {
28
36
  type: StringConstructor;
@@ -56,20 +64,20 @@ declare const _default: {
56
64
  type: BooleanConstructor;
57
65
  default: boolean;
58
66
  };
59
- maxlength: {
60
- type: NumberConstructor;
61
- };
62
67
  pattern: {
63
68
  type: StringConstructor;
64
69
  default: null;
65
70
  };
66
- checked: {
71
+ multiple: {
67
72
  type: BooleanConstructor;
68
73
  default: boolean;
69
74
  };
75
+ accept: {
76
+ type: StringConstructor;
77
+ };
70
78
  }>> & {
71
79
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
72
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "label" | "pattern" | "required" | "type" | "checked" | "modelValue" | "variant" | "name" | "id" | "disabled" | "readOnly" | "placeholder">;
80
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "label" | "pattern" | "required" | "modelValue" | "variant" | "name" | "id" | "disabled" | "readOnly" | "placeholder" | "multiple">;
73
81
  $attrs: {
74
82
  [x: string]: unknown;
75
83
  };
@@ -85,12 +93,21 @@ declare const _default: {
85
93
  $el: any;
86
94
  $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
87
95
  modelValue: {
88
- type: (BooleanConstructor | StringConstructor | NumberConstructor)[];
89
- default: string;
90
- };
91
- type: {
92
- type: StringConstructor;
93
- default: string;
96
+ type: {
97
+ (arrayLength: number): File[][];
98
+ (...items: File[][]): File[][];
99
+ new (arrayLength: number): File[][];
100
+ new (...items: File[][]): File[][];
101
+ isArray(arg: any): arg is any[];
102
+ readonly prototype: any[];
103
+ from<T>(arrayLike: ArrayLike<T>): T[];
104
+ from<T_1, U>(arrayLike: ArrayLike<T_1>, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[];
105
+ from<T_2>(iterable: Iterable<T_2> | ArrayLike<T_2>): T_2[];
106
+ from<T_3, U_1>(iterable: Iterable<T_3> | ArrayLike<T_3>, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[];
107
+ of<T_4>(...items: T_4[]): T_4[];
108
+ readonly [Symbol.species]: ArrayConstructor;
109
+ };
110
+ default: never[];
94
111
  };
95
112
  name: {
96
113
  type: StringConstructor;
@@ -124,32 +141,31 @@ declare const _default: {
124
141
  type: BooleanConstructor;
125
142
  default: boolean;
126
143
  };
127
- maxlength: {
128
- type: NumberConstructor;
129
- };
130
144
  pattern: {
131
145
  type: StringConstructor;
132
146
  default: null;
133
147
  };
134
- checked: {
148
+ multiple: {
135
149
  type: BooleanConstructor;
136
150
  default: boolean;
137
151
  };
152
+ accept: {
153
+ type: StringConstructor;
154
+ };
138
155
  }>> & {
139
156
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
140
157
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], string, {
141
158
  label: string;
142
159
  pattern: string;
143
160
  required: boolean;
144
- type: string;
145
- checked: boolean;
146
- modelValue: string | number | boolean;
161
+ modelValue: File[][];
147
162
  variant: string;
148
163
  name: string;
149
164
  id: string;
150
165
  disabled: boolean;
151
166
  readOnly: boolean;
152
167
  placeholder: string;
168
+ multiple: boolean;
153
169
  }> & {
154
170
  beforeCreate?: ((() => void) | (() => void)[]) | undefined;
155
171
  created?: ((() => void) | (() => void)[]) | undefined;
@@ -172,12 +188,21 @@ declare const _default: {
172
188
  $watch(source: string | Function, cb: Function, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
173
189
  } & Readonly<import("vue").ExtractPropTypes<{
174
190
  modelValue: {
175
- type: (BooleanConstructor | StringConstructor | NumberConstructor)[];
176
- default: string;
177
- };
178
- type: {
179
- type: StringConstructor;
180
- default: string;
191
+ type: {
192
+ (arrayLength: number): File[][];
193
+ (...items: File[][]): File[][];
194
+ new (arrayLength: number): File[][];
195
+ new (...items: File[][]): File[][];
196
+ isArray(arg: any): arg is any[];
197
+ readonly prototype: any[];
198
+ from<T>(arrayLike: ArrayLike<T>): T[];
199
+ from<T_1, U>(arrayLike: ArrayLike<T_1>, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[];
200
+ from<T_2>(iterable: Iterable<T_2> | ArrayLike<T_2>): T_2[];
201
+ from<T_3, U_1>(iterable: Iterable<T_3> | ArrayLike<T_3>, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[];
202
+ of<T_4>(...items: T_4[]): T_4[];
203
+ readonly [Symbol.species]: ArrayConstructor;
204
+ };
205
+ default: never[];
181
206
  };
182
207
  name: {
183
208
  type: StringConstructor;
@@ -211,17 +236,17 @@ declare const _default: {
211
236
  type: BooleanConstructor;
212
237
  default: boolean;
213
238
  };
214
- maxlength: {
215
- type: NumberConstructor;
216
- };
217
239
  pattern: {
218
240
  type: StringConstructor;
219
241
  default: null;
220
242
  };
221
- checked: {
243
+ multiple: {
222
244
  type: BooleanConstructor;
223
245
  default: boolean;
224
246
  };
247
+ accept: {
248
+ type: StringConstructor;
249
+ };
225
250
  }>> & {
226
251
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
227
252
  } & import("vue").ShallowUnwrapRef<{}> & {} & import("vue").ComponentCustomProperties;
@@ -230,12 +255,21 @@ declare const _default: {
230
255
  __isSuspense?: undefined;
231
256
  } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
232
257
  modelValue: {
233
- type: (BooleanConstructor | StringConstructor | NumberConstructor)[];
234
- default: string;
235
- };
236
- type: {
237
- type: StringConstructor;
238
- default: string;
258
+ type: {
259
+ (arrayLength: number): File[][];
260
+ (...items: File[][]): File[][];
261
+ new (arrayLength: number): File[][];
262
+ new (...items: File[][]): File[][];
263
+ isArray(arg: any): arg is any[];
264
+ readonly prototype: any[];
265
+ from<T>(arrayLike: ArrayLike<T>): T[];
266
+ from<T_1, U>(arrayLike: ArrayLike<T_1>, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[];
267
+ from<T_2>(iterable: Iterable<T_2> | ArrayLike<T_2>): T_2[];
268
+ from<T_3, U_1>(iterable: Iterable<T_3> | ArrayLike<T_3>, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[];
269
+ of<T_4>(...items: T_4[]): T_4[];
270
+ readonly [Symbol.species]: ArrayConstructor;
271
+ };
272
+ default: never[];
239
273
  };
240
274
  name: {
241
275
  type: StringConstructor;
@@ -269,32 +303,31 @@ declare const _default: {
269
303
  type: BooleanConstructor;
270
304
  default: boolean;
271
305
  };
272
- maxlength: {
273
- type: NumberConstructor;
274
- };
275
306
  pattern: {
276
307
  type: StringConstructor;
277
308
  default: null;
278
309
  };
279
- checked: {
310
+ multiple: {
280
311
  type: BooleanConstructor;
281
312
  default: boolean;
282
313
  };
314
+ accept: {
315
+ type: StringConstructor;
316
+ };
283
317
  }>> & {
284
318
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
285
319
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", {
286
320
  label: string;
287
321
  pattern: string;
288
322
  required: boolean;
289
- type: string;
290
- checked: boolean;
291
- modelValue: string | number | boolean;
323
+ modelValue: File[][];
292
324
  variant: string;
293
325
  name: string;
294
326
  id: string;
295
327
  disabled: boolean;
296
328
  readOnly: boolean;
297
329
  placeholder: string;
330
+ multiple: boolean;
298
331
  }> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
299
332
  $slots: {
300
333
  'input-prepend': (_: {}) => any;
@@ -0,0 +1,342 @@
1
+ export declare function fileToDataUrl(file: File): Promise<any>;
2
+ declare const _default: {
3
+ new (...args: any[]): {
4
+ $: import("vue").ComponentInternalInstance;
5
+ $data: {};
6
+ $props: Partial<{
7
+ label: string;
8
+ pattern: string;
9
+ required: boolean;
10
+ modelValue: File[][];
11
+ variant: string;
12
+ name: string;
13
+ id: string;
14
+ disabled: boolean;
15
+ readOnly: boolean;
16
+ placeholder: string;
17
+ multiple: boolean;
18
+ accept: string;
19
+ }> & Omit<Readonly<import("vue").ExtractPropTypes<{
20
+ modelValue: {
21
+ type: {
22
+ (arrayLength: number): File[][];
23
+ (...items: File[][]): File[][];
24
+ new (arrayLength: number): File[][];
25
+ new (...items: File[][]): File[][];
26
+ isArray(arg: any): arg is any[];
27
+ readonly prototype: any[];
28
+ from<T>(arrayLike: ArrayLike<T>): T[];
29
+ from<T_1, U>(arrayLike: ArrayLike<T_1>, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[];
30
+ from<T_2>(iterable: Iterable<T_2> | ArrayLike<T_2>): T_2[];
31
+ from<T_3, U_1>(iterable: Iterable<T_3> | ArrayLike<T_3>, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[];
32
+ of<T_4>(...items: T_4[]): T_4[];
33
+ readonly [Symbol.species]: ArrayConstructor;
34
+ };
35
+ default: never[];
36
+ };
37
+ name: {
38
+ type: StringConstructor;
39
+ default: () => string;
40
+ };
41
+ id: {
42
+ type: StringConstructor;
43
+ default: () => string;
44
+ };
45
+ label: {
46
+ type: StringConstructor;
47
+ default: string;
48
+ };
49
+ placeholder: {
50
+ type: StringConstructor;
51
+ default: string;
52
+ };
53
+ variant: {
54
+ type: StringConstructor;
55
+ default: string;
56
+ };
57
+ disabled: {
58
+ type: BooleanConstructor;
59
+ default: boolean;
60
+ };
61
+ readOnly: {
62
+ type: BooleanConstructor;
63
+ default: boolean;
64
+ };
65
+ required: {
66
+ type: BooleanConstructor;
67
+ default: boolean;
68
+ };
69
+ pattern: {
70
+ type: StringConstructor;
71
+ default: null;
72
+ };
73
+ multiple: {
74
+ type: BooleanConstructor;
75
+ default: boolean;
76
+ };
77
+ accept: {
78
+ type: StringConstructor;
79
+ default: string;
80
+ };
81
+ }>> & {
82
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
83
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "label" | "pattern" | "required" | "modelValue" | "variant" | "name" | "id" | "disabled" | "readOnly" | "placeholder" | "multiple" | "accept">;
84
+ $attrs: {
85
+ [x: string]: unknown;
86
+ };
87
+ $refs: {
88
+ [x: string]: unknown;
89
+ };
90
+ $slots: Readonly<{
91
+ [name: string]: import("vue").Slot | undefined;
92
+ }>;
93
+ $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null;
94
+ $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null;
95
+ $emit: (event: "update:modelValue", ...args: any[]) => void;
96
+ $el: any;
97
+ $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
98
+ modelValue: {
99
+ type: {
100
+ (arrayLength: number): File[][];
101
+ (...items: File[][]): File[][];
102
+ new (arrayLength: number): File[][];
103
+ new (...items: File[][]): File[][];
104
+ isArray(arg: any): arg is any[];
105
+ readonly prototype: any[];
106
+ from<T>(arrayLike: ArrayLike<T>): T[];
107
+ from<T_1, U>(arrayLike: ArrayLike<T_1>, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[];
108
+ from<T_2>(iterable: Iterable<T_2> | ArrayLike<T_2>): T_2[];
109
+ from<T_3, U_1>(iterable: Iterable<T_3> | ArrayLike<T_3>, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[];
110
+ of<T_4>(...items: T_4[]): T_4[];
111
+ readonly [Symbol.species]: ArrayConstructor;
112
+ };
113
+ default: never[];
114
+ };
115
+ name: {
116
+ type: StringConstructor;
117
+ default: () => string;
118
+ };
119
+ id: {
120
+ type: StringConstructor;
121
+ default: () => string;
122
+ };
123
+ label: {
124
+ type: StringConstructor;
125
+ default: string;
126
+ };
127
+ placeholder: {
128
+ type: StringConstructor;
129
+ default: string;
130
+ };
131
+ variant: {
132
+ type: StringConstructor;
133
+ default: string;
134
+ };
135
+ disabled: {
136
+ type: BooleanConstructor;
137
+ default: boolean;
138
+ };
139
+ readOnly: {
140
+ type: BooleanConstructor;
141
+ default: boolean;
142
+ };
143
+ required: {
144
+ type: BooleanConstructor;
145
+ default: boolean;
146
+ };
147
+ pattern: {
148
+ type: StringConstructor;
149
+ default: null;
150
+ };
151
+ multiple: {
152
+ type: BooleanConstructor;
153
+ default: boolean;
154
+ };
155
+ accept: {
156
+ type: StringConstructor;
157
+ default: string;
158
+ };
159
+ }>> & {
160
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
161
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], string, {
162
+ label: string;
163
+ pattern: string;
164
+ required: boolean;
165
+ modelValue: File[][];
166
+ variant: string;
167
+ name: string;
168
+ id: string;
169
+ disabled: boolean;
170
+ readOnly: boolean;
171
+ placeholder: string;
172
+ multiple: boolean;
173
+ accept: string;
174
+ }> & {
175
+ beforeCreate?: ((() => void) | (() => void)[]) | undefined;
176
+ created?: ((() => void) | (() => void)[]) | undefined;
177
+ beforeMount?: ((() => void) | (() => void)[]) | undefined;
178
+ mounted?: ((() => void) | (() => void)[]) | undefined;
179
+ beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
180
+ updated?: ((() => void) | (() => void)[]) | undefined;
181
+ activated?: ((() => void) | (() => void)[]) | undefined;
182
+ deactivated?: ((() => void) | (() => void)[]) | undefined;
183
+ beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
184
+ beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
185
+ destroyed?: ((() => void) | (() => void)[]) | undefined;
186
+ unmounted?: ((() => void) | (() => void)[]) | undefined;
187
+ renderTracked?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
188
+ renderTriggered?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
189
+ errorCaptured?: (((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null, info: string) => boolean | void)[]) | undefined;
190
+ };
191
+ $forceUpdate: () => void;
192
+ $nextTick: typeof import("vue").nextTick;
193
+ $watch(source: string | Function, cb: Function, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
194
+ } & Readonly<import("vue").ExtractPropTypes<{
195
+ modelValue: {
196
+ type: {
197
+ (arrayLength: number): File[][];
198
+ (...items: File[][]): File[][];
199
+ new (arrayLength: number): File[][];
200
+ new (...items: File[][]): File[][];
201
+ isArray(arg: any): arg is any[];
202
+ readonly prototype: any[];
203
+ from<T>(arrayLike: ArrayLike<T>): T[];
204
+ from<T_1, U>(arrayLike: ArrayLike<T_1>, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[];
205
+ from<T_2>(iterable: Iterable<T_2> | ArrayLike<T_2>): T_2[];
206
+ from<T_3, U_1>(iterable: Iterable<T_3> | ArrayLike<T_3>, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[];
207
+ of<T_4>(...items: T_4[]): T_4[];
208
+ readonly [Symbol.species]: ArrayConstructor;
209
+ };
210
+ default: never[];
211
+ };
212
+ name: {
213
+ type: StringConstructor;
214
+ default: () => string;
215
+ };
216
+ id: {
217
+ type: StringConstructor;
218
+ default: () => string;
219
+ };
220
+ label: {
221
+ type: StringConstructor;
222
+ default: string;
223
+ };
224
+ placeholder: {
225
+ type: StringConstructor;
226
+ default: string;
227
+ };
228
+ variant: {
229
+ type: StringConstructor;
230
+ default: string;
231
+ };
232
+ disabled: {
233
+ type: BooleanConstructor;
234
+ default: boolean;
235
+ };
236
+ readOnly: {
237
+ type: BooleanConstructor;
238
+ default: boolean;
239
+ };
240
+ required: {
241
+ type: BooleanConstructor;
242
+ default: boolean;
243
+ };
244
+ pattern: {
245
+ type: StringConstructor;
246
+ default: null;
247
+ };
248
+ multiple: {
249
+ type: BooleanConstructor;
250
+ default: boolean;
251
+ };
252
+ accept: {
253
+ type: StringConstructor;
254
+ default: string;
255
+ };
256
+ }>> & {
257
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
258
+ } & import("vue").ShallowUnwrapRef<{}> & {} & import("vue").ComponentCustomProperties;
259
+ __isFragment?: undefined;
260
+ __isTeleport?: undefined;
261
+ __isSuspense?: undefined;
262
+ } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
263
+ modelValue: {
264
+ type: {
265
+ (arrayLength: number): File[][];
266
+ (...items: File[][]): File[][];
267
+ new (arrayLength: number): File[][];
268
+ new (...items: File[][]): File[][];
269
+ isArray(arg: any): arg is any[];
270
+ readonly prototype: any[];
271
+ from<T>(arrayLike: ArrayLike<T>): T[];
272
+ from<T_1, U>(arrayLike: ArrayLike<T_1>, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[];
273
+ from<T_2>(iterable: Iterable<T_2> | ArrayLike<T_2>): T_2[];
274
+ from<T_3, U_1>(iterable: Iterable<T_3> | ArrayLike<T_3>, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[];
275
+ of<T_4>(...items: T_4[]): T_4[];
276
+ readonly [Symbol.species]: ArrayConstructor;
277
+ };
278
+ default: never[];
279
+ };
280
+ name: {
281
+ type: StringConstructor;
282
+ default: () => string;
283
+ };
284
+ id: {
285
+ type: StringConstructor;
286
+ default: () => string;
287
+ };
288
+ label: {
289
+ type: StringConstructor;
290
+ default: string;
291
+ };
292
+ placeholder: {
293
+ type: StringConstructor;
294
+ default: string;
295
+ };
296
+ variant: {
297
+ type: StringConstructor;
298
+ default: string;
299
+ };
300
+ disabled: {
301
+ type: BooleanConstructor;
302
+ default: boolean;
303
+ };
304
+ readOnly: {
305
+ type: BooleanConstructor;
306
+ default: boolean;
307
+ };
308
+ required: {
309
+ type: BooleanConstructor;
310
+ default: boolean;
311
+ };
312
+ pattern: {
313
+ type: StringConstructor;
314
+ default: null;
315
+ };
316
+ multiple: {
317
+ type: BooleanConstructor;
318
+ default: boolean;
319
+ };
320
+ accept: {
321
+ type: StringConstructor;
322
+ default: string;
323
+ };
324
+ }>> & {
325
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
326
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", {
327
+ label: string;
328
+ pattern: string;
329
+ required: boolean;
330
+ modelValue: File[][];
331
+ variant: string;
332
+ name: string;
333
+ id: string;
334
+ disabled: boolean;
335
+ readOnly: boolean;
336
+ placeholder: string;
337
+ multiple: boolean;
338
+ accept: string;
339
+ }> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
340
+ $slots: {};
341
+ });
342
+ export default _default;
package/dist/index.d.ts CHANGED
@@ -6,3 +6,4 @@ export { default as CheckGroup } from "./components/check-group.vue";
6
6
  export { default as RadioGroup } from "./components/radio-group.vue";
7
7
  export { default as InputDropdown } from "./components/input-dropdown.vue";
8
8
  export { default as FileInput } from "./components/file-input.vue";
9
+ export { default as MediaUpload } from "./components/media-upload.vue";
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .svg-icon{display:inline-block}.svg-icon svg{display:block;stroke-width:0;stroke:currentColor;fill:currentColor;width:1.5em;height:1.5em}.svg-icon--xxl svg{width:12rem;height:12rem}.svg-icon--xl svg{width:8rem;height:8rem}.svg-icon--large svg{width:4rem;height:4rem}.loading-spinner{min-width:2rem}.base-button{display:flex;justify-content:center;align-items:center;box-sizing:border-box;transition:all .2s ease;text-decoration:none;width:100%;margin:0;padding:1.036em 1.625em;appearance:none;outline:none;border:none;border-radius:.4375em;font-size:.875em;line-height:1.125em;text-transform:uppercase;font-weight:700}@media screen and (min-width: 600px){.base-button{width:auto}}.base-button .icon{width:16px;height:16px;margin-top:-1px}.base-button.s-collapsed>.caption{display:none}.base-button.s-pending{background-repeat:no-repeat;background-position:center center}.base-button.s-pending .caption{margin-left:25px;visibility:hidden}@media screen and (min-width: 600px){.base-button.s-pending{background-position:1.625em center}.base-button.s-pending .caption{visibility:visible}}.base-button[readonly],.base-button[disabled]{cursor:not-allowed}.form-input{display:flex;flex-flow:column}.form-input>*{order:2}.form-input__label{order:0}.form-input__input-group{flex-wrap:nowrap;order:1}.form-input__color-swatch{flex:0 0 3rem;display:block;border-top-right-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius);overflow:hidden;border:thin solid var(--border-color);border-left:none}.form-input input[type=color]{display:block;height:100%;padding:0;border-width:0}.form-input input[type=color]::-webkit-color-swatch-wrapper{padding:0}.form-input input[type=color]::-webkit-color-swatch{border:none}:root,*:before,*:after{--border-color: #ced4da;--border-radius: .25rem}.file-input{display:flex;flex-flow:column}.file-input>*{order:2}.file-input__label{order:0}.file-input__input-group{flex-wrap:nowrap;order:1}.file-input__color-swatch{flex:0 0 3rem;display:block;border-top-right-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius);overflow:hidden;border:thin solid var(--border-color);border-left:none}.file-input input[type=color]{display:block;height:100%;padding:0;border-width:0}.file-input input[type=color]::-webkit-color-swatch-wrapper{padding:0}.file-input input[type=color]::-webkit-color-swatch{border:none}
1
+ .svg-icon{display:inline-block}.svg-icon svg{display:block;stroke-width:0;stroke:currentColor;fill:currentColor;width:1.5em;height:1.5em}.svg-icon--xxl svg{width:12rem;height:12rem}.svg-icon--xl svg{width:8rem;height:8rem}.svg-icon--large svg{width:4rem;height:4rem}.loading-spinner{min-width:2rem}.base-button{display:flex;justify-content:center;align-items:center;box-sizing:border-box;transition:all .2s ease;text-decoration:none;width:100%;margin:0;padding:1.036em 1.625em;appearance:none;outline:none;border:none;border-radius:.4375em;font-size:.875em;line-height:1.125em;text-transform:uppercase;font-weight:700}@media screen and (min-width: 600px){.base-button{width:auto}}.base-button .icon{width:16px;height:16px;margin-top:-1px}.base-button.s-collapsed>.caption{display:none}.base-button.s-pending{background-repeat:no-repeat;background-position:center center}.base-button.s-pending .caption{margin-left:25px;visibility:hidden}@media screen and (min-width: 600px){.base-button.s-pending{background-position:1.625em center}.base-button.s-pending .caption{visibility:visible}}.base-button[readonly],.base-button[disabled]{cursor:not-allowed}:root,*:before,*:after{--border-color: #ced4da;--border-radius: .25rem}.form-input{display:flex;flex-flow:column}.form-input>*{order:2}.form-input__label{order:0}.form-input__input-group{flex-wrap:nowrap;order:1}.form-input__color-swatch{flex:0 0 3rem;display:block;border-top-right-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius);overflow:hidden;border:thin solid var(--border-color);border-left:none}.form-input input[type=color]{display:block;height:100%;padding:0;border-width:0}.form-input input[type=color]::-webkit-color-swatch-wrapper{padding:0}.form-input input[type=color]::-webkit-color-swatch{border:none}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ablok-components",
3
3
  "private": false,
4
- "version": "0.0.31",
4
+ "version": "0.0.32",
5
5
  "scripts": {
6
6
  "dev": "vite",
7
7
  "build": "vue-tsc --noEmit && vite build",