vlite3 0.4.6 → 0.4.8

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 (108) hide show
  1. package/components/Accordion/AccordionItem.vue.js +33 -32
  2. package/components/Accordion/types.d.ts +2 -0
  3. package/components/Alert.vue.d.ts +2 -0
  4. package/components/Alert.vue.js +38 -36
  5. package/components/AvatarUploader/AvatarUploader.vue.d.ts +1 -1
  6. package/components/AvatarUploader/AvatarUploader.vue.js +25 -24
  7. package/components/Button.vue.d.ts +1 -1
  8. package/components/Button.vue.js +37 -35
  9. package/components/CheckBox.vue.d.ts +1 -0
  10. package/components/CheckBox.vue.js +40 -40
  11. package/components/Chip/Chip.vue.js +55 -55
  12. package/components/Chip/types.d.ts +1 -0
  13. package/components/ChoiceBox/ChoiceBox.vue.d.ts +5 -0
  14. package/components/ChoiceBox/ChoiceBox.vue.js +61 -58
  15. package/components/ColorPicker/ColorPicker.vue.js +3 -2
  16. package/components/ConfirmationModal.vue.d.ts +4 -2
  17. package/components/ConfirmationModal.vue.js +48 -33
  18. package/components/DataList/DataList.vue.d.ts +0 -2
  19. package/components/DataList/DataList.vue.js +39 -35
  20. package/components/DataList/types.d.ts +2 -0
  21. package/components/DataTable/DataTable.vue.d.ts +0 -5
  22. package/components/DataTable/DataTable.vue.js +177 -158
  23. package/components/DataTable/DataTableHeader.vue.js +15 -14
  24. package/components/DataTable/DataTableToolbar.vue.d.ts +1 -1
  25. package/components/DataTable/DataTableToolbar.vue.js +30 -23
  26. package/components/DataTable/types.d.ts +4 -0
  27. package/components/DatePicker.vue.d.ts +1 -0
  28. package/components/DatePicker.vue.js +32 -25
  29. package/components/Dropdown/DropdownBooleanItem.vue.js +18 -17
  30. package/components/Dropdown/DropdownGroupedLayout.vue.js +28 -27
  31. package/components/Dropdown/DropdownItem.vue.js +24 -23
  32. package/components/Dropdown/DropdownMenu.vue.js +100 -91
  33. package/components/Dropdown/composables/useDropdownNavigation.js +24 -23
  34. package/components/Dropdown/composables/useDropdownSelection.js +19 -17
  35. package/components/Empty/Empty.vue.d.ts +2 -2
  36. package/components/Empty/Empty.vue.js +32 -18
  37. package/components/FilePicker/FilePicker.vue.d.ts +3 -1
  38. package/components/FilePicker/FilePicker.vue.js +140 -127
  39. package/components/FileTree/FileTree.vue.js +68 -58
  40. package/components/FileTree/FileTreeNode.vue.js +35 -34
  41. package/components/FileTree/types.d.ts +3 -0
  42. package/components/Form/CustomFields.vue.d.ts +3 -1
  43. package/components/Form/CustomFields.vue.js +2 -2
  44. package/components/Form/CustomFields.vue2.js +92 -80
  45. package/components/Form/Form.vue.d.ts +1 -1
  46. package/components/Form/FormField.vue.d.ts +1 -1
  47. package/components/Form/FormField.vue.js +60 -59
  48. package/components/Form/FormFields.vue.js +2 -2
  49. package/components/Form/FormFields.vue2.js +58 -57
  50. package/components/Form/composables/useForm.js +102 -90
  51. package/components/Form/types.d.ts +4 -0
  52. package/components/GoogleLogin.vue.d.ts +1 -1
  53. package/components/GoogleLogin.vue.js +39 -32
  54. package/components/Heatmap/Heatmap.vue2.js +3 -2
  55. package/components/IconPicker.vue.d.ts +2 -0
  56. package/components/IconPicker.vue.js +37 -29
  57. package/components/Input.vue.d.ts +1 -1
  58. package/components/Input.vue.js +96 -98
  59. package/components/Kanban/KanbanBoard.vue.js +1 -1
  60. package/components/Kanban/KanbanBoard.vue2.js +55 -54
  61. package/components/Kanban/types.d.ts +1 -0
  62. package/components/Masonry/Masonry.vue2.js +3 -2
  63. package/components/Modal.vue.d.ts +2 -0
  64. package/components/Modal.vue.js +62 -57
  65. package/components/MultiSelect/MultiSelect.vue.d.ts +1 -1
  66. package/components/MultiSelect/MultiSelect.vue.js +61 -54
  67. package/components/Navbar/Navbar.vue.js +46 -46
  68. package/components/Pagination/Pagination.vue.js +116 -97
  69. package/components/PricingPlan/PricingPlanItem.vue.js +60 -47
  70. package/components/PricingPlan/types.d.ts +5 -0
  71. package/components/Screen/Screen.vue.d.ts +0 -4
  72. package/components/Screen/Screen.vue.js +231 -189
  73. package/components/Screen/ScreenFilter.vue.js +73 -63
  74. package/components/Screen/types.d.ts +5 -0
  75. package/components/SidePanel.vue.d.ts +2 -0
  76. package/components/SidePanel.vue.js +140 -5
  77. package/components/SidePanel.vue2.js +2 -135
  78. package/components/SidebarMenu/SidebarMenuItem.vue.js +131 -130
  79. package/components/SidebarMenu/types.d.ts +1 -0
  80. package/components/Slider.vue.d.ts +1 -0
  81. package/components/Slider.vue.js +71 -69
  82. package/components/Switch.vue.d.ts +1 -0
  83. package/components/Switch.vue.js +23 -18
  84. package/components/Tabes/Tabes.vue.js +20 -19
  85. package/components/Tabes/types.d.ts +1 -0
  86. package/components/Textarea.vue.d.ts +1 -0
  87. package/components/Textarea.vue.js +18 -16
  88. package/components/ThemeToggle.vue.js +24 -14
  89. package/components/Timeline.vue.js +68 -82
  90. package/components/ToastNotification.vue.js +2 -2
  91. package/components/Tooltip.vue.d.ts +4 -3
  92. package/components/Tooltip.vue.js +17 -15
  93. package/components/Workbook/Sheet.vue.js +80 -71
  94. package/components/Workbook/WorkbookAddButton.vue.js +14 -10
  95. package/components/Workbook/types.d.ts +1 -0
  96. package/core/config.d.ts +2 -0
  97. package/index.d.ts +1 -0
  98. package/index.js +28 -26
  99. package/package.json +1 -1
  100. package/style.css +1 -2
  101. package/types/button.d.ts +1 -0
  102. package/types/config.type.d.ts +10 -0
  103. package/types/form.type.d.ts +2 -0
  104. package/types/styles.d.ts +3 -0
  105. package/types/timeline.type.d.ts +2 -0
  106. package/utils/i18n.d.ts +8 -0
  107. package/utils/i18n.js +5 -0
  108. package/utils/index.d.ts +1 -0
@@ -1,153 +1,165 @@
1
- import { ref as v, computed as K, watch as L } from "vue";
2
- import { initializeFormValues as B, deepClone as m, cleanSubmitValues as Q, getNestedValue as M, evaluateConditional as w, setNestedValue as x, collectFileFields as W, filterNullCustomFields as X } from "../utils/form.utils.js";
1
+ import { ref as y, computed as J, watch as K } from "vue";
2
+ import { initializeFormValues as B, deepClone as F, cleanSubmitValues as Q, getNestedValue as M, evaluateConditional as j, setNestedValue as V, collectFileFields as W, filterNullCustomFields as X } from "../utils/form.utils.js";
3
3
  import { useFileUpload as Y } from "./useFileUpload.js";
4
- function te(b) {
5
- const { schema: o, values: U, isUpdate: F = !1, folderId: g, onSubmit: j } = b, { handleUploadFile: E } = Y(), t = v(B(o, U)), u = v({}), h = v(!1), d = v(!1), V = v(m(t.value)), y = K(() => o ? Array.isArray(o[0]) ? o.flat() : o : []);
6
- L(
7
- () => U,
4
+ import { $t as Z } from "../../../utils/i18n.js";
5
+ function ne(S) {
6
+ const { schema: f, values: x, isUpdate: b = !1, folderId: U, onSubmit: E } = S, { handleUploadFile: C } = Y(), i = y(B(f, x)), d = y({}), A = y(!1), v = y(!1), z = y(F(i.value)), h = J(() => f ? Array.isArray(f[0]) ? f.flat() : f : []);
7
+ K(
8
+ () => x,
8
9
  (e) => {
9
- e && (t.value = B(o, e), V.value = m(t.value), d.value = !1);
10
+ e && (i.value = B(f, e), z.value = F(i.value), v.value = !1);
10
11
  },
11
12
  { deep: !0 }
12
13
  );
13
- const S = () => ({
14
- values: t.value,
15
- isUpdate: F
16
- }), C = (e) => M(t.value, e), T = (e) => u.value[e] || "", N = (e, l) => {
17
- l ? u.value[e] = l : delete u.value[e];
18
- }, A = () => {
19
- u.value = {};
20
- }, O = (e) => e.when ? w(e.when, S()) : !0, D = (e) => w(e.disabled, S()), I = (e) => w(e.readonly, S()), P = (e) => {
21
- const l = C(e.name);
14
+ const w = () => ({
15
+ values: i.value,
16
+ isUpdate: b
17
+ }), I = (e) => M(i.value, e), T = (e) => d.value[e] || "", N = (e, l) => {
18
+ l ? d.value[e] = l : delete d.value[e];
19
+ }, g = () => {
20
+ d.value = {};
21
+ }, O = (e) => e.when ? j(e.when, w()) : !0, $ = (e) => j(e.disabled, w()), L = (e) => j(e.readonly, w()), D = (e) => {
22
+ const l = I(e.name);
22
23
  let a = "";
23
- if (e.required && (l == null || l === "" || Array.isArray(l) && l.length === 0) && (a = `${e.label || e.name} is required`), !a && e.maxFileSize) {
24
- const i = e.maxFileSize * 1024 * 1024;
24
+ const o = e.labelI18n ? Z(e.labelI18n) : typeof e.label == "string" ? e.label : e.name;
25
+ if (e.required && (l == null || l === "" || Array.isArray(l) && l.length === 0) && (a = `${o} is required`), !a && e.maxFileSize) {
26
+ const n = e.maxFileSize * 1024 * 1024;
25
27
  if (l != null && l !== "") {
26
- const n = Array.isArray(l) ? l : [l];
27
- for (const s of n) {
28
- const c = s instanceof File ? s.size : s?.fileSize || s?.file?.size || s?.size;
29
- if (c !== void 0 && c > i) {
30
- a = `${e.label || e.name} size must be less than ${e.maxFileSize}MB`;
28
+ const t = Array.isArray(l) ? l : [l];
29
+ for (const r of t) {
30
+ const s = r instanceof File ? r.size : r?.fileSize || r?.file?.size || r?.size;
31
+ if (s !== void 0 && s > n) {
32
+ a = `${o} size must be less than ${e.maxFileSize}MB`;
31
33
  break;
32
34
  }
33
35
  }
34
36
  }
35
37
  }
36
38
  if (!a && (e.type === "file" || e.type === "fileUploader") && (e.props?.multiple || e.maxFiles)) {
37
- const i = e.maxFiles || e.props?.maxFiles;
38
- i && Array.isArray(l) && l.length > i && (a = `Maximum ${i} files allowed`);
39
+ const n = e.maxFiles || e.props?.maxFiles;
40
+ n && Array.isArray(l) && l.length > n && (a = `Maximum ${n} files allowed`);
39
41
  }
40
42
  return !a && e.validation && (a = e.validation({
41
43
  value: l,
42
- values: t.value,
43
- isUpdate: F
44
- })), a ? u.value[e.name] = a : delete u.value[e.name], a;
45
- }, $ = () => {
46
- A();
44
+ values: i.value,
45
+ isUpdate: b
46
+ })), a ? d.value[e.name] = a : delete d.value[e.name], a;
47
+ }, P = () => {
48
+ g();
47
49
  let e = !0;
48
- for (const l of y.value) {
49
- if (!O(l) || D(l)) continue;
50
- P(l) && (e = !1);
50
+ for (const l of h.value) {
51
+ if (!O(l) || $(l)) continue;
52
+ D(l) && (e = !1);
51
53
  }
52
54
  return e;
53
55
  }, R = (e, l, a) => {
54
- t.value = x(t.value, e, l), d.value = !0, delete u.value[e];
55
- const i = y.value.find((n) => n.name === e);
56
- if (i?.updateValues) {
57
- const n = i.updateValues({
58
- values: t.value,
56
+ i.value = V(i.value, e, l), v.value = !0, delete d.value[e];
57
+ const o = h.value.find((n) => n.name === e);
58
+ if (o?.updateValues) {
59
+ const n = o.updateValues({
60
+ values: i.value,
59
61
  data: a,
60
- isUpdate: F,
62
+ isUpdate: b,
61
63
  updateError: N
62
64
  });
63
- n && typeof n == "object" && (t.value = { ...t.value, ...n });
65
+ n && typeof n == "object" && (i.value = { ...i.value, ...n });
64
66
  }
65
67
  }, G = async () => {
66
- const e = m(t.value), l = W(o, e), a = (s, c) => {
67
- let r = null;
68
- return s instanceof File ? r = s : s && typeof s == "object" && s.file instanceof File && (r = s.file), {
69
- fileName: s?.fileName || r?.name || c.split("/").pop() || "unknown",
70
- fileUrl: c,
71
- fileType: s?.fileType || r?.type || "application/octet-stream",
72
- fileSize: s?.fileSize || r?.size || 0
68
+ const e = F(i.value), l = W(f, e), a = (t, r) => {
69
+ let s = null;
70
+ t instanceof File ? s = t : t && typeof t == "object" && t.file instanceof File && (s = t.file);
71
+ const m = {
72
+ ...typeof t == "object" ? t : {},
73
+ fileName: t?.fileName || s?.name || r.split("/").pop() || "unknown",
74
+ fileUrl: r,
75
+ fileType: t?.fileType || s?.type || "application/octet-stream",
76
+ fileSize: t?.fileSize || s?.size || 0
73
77
  };
74
- }, i = l.map(async (s) => {
75
- const { name: c, value: r, field: J } = s, k = J.returnFileObject === !0;
76
- if (Array.isArray(r)) {
77
- const q = r.map(async (f) => {
78
- if (f instanceof File || f && typeof f == "object" && f.file instanceof File) {
79
- const z = await E(f, g);
80
- return z ? k ? a(f, z) : z : null;
78
+ return delete m.file, delete m.base64, m;
79
+ }, o = l.map(async (t) => {
80
+ const { name: r, value: s, field: m } = t, k = m.returnFileObject === !0;
81
+ if (Array.isArray(s)) {
82
+ const q = s.map(async (u) => {
83
+ if (u instanceof File || u && typeof u == "object" && u.file instanceof File) {
84
+ const p = await C(u, U);
85
+ return p ? k ? a(u, p) : p : null;
81
86
  }
82
- return f;
83
- }), p = await Promise.all(q);
84
- return { name: c, value: p };
87
+ if (u && typeof u == "object") {
88
+ const p = { ...u };
89
+ return delete p.file, delete p.base64, p;
90
+ }
91
+ return u;
92
+ }), c = await Promise.all(q);
93
+ return { name: r, value: c };
85
94
  } else {
86
- if (r instanceof File || r && typeof r == "object" && r.file instanceof File) {
87
- const p = await E(r, g);
88
- if (p)
89
- return { name: c, value: k ? a(r, p) : p };
95
+ if (s instanceof File || s && typeof s == "object" && s.file instanceof File) {
96
+ const c = await C(s, U);
97
+ if (c)
98
+ return { name: r, value: k ? a(s, c) : c };
99
+ } else if (s && typeof s == "object") {
100
+ const c = { ...s };
101
+ return delete c.file, delete c.base64, { name: r, value: c };
90
102
  }
91
103
  return null;
92
104
  }
93
105
  });
94
- return (await Promise.all(i)).forEach((s) => {
95
- s && Object.assign(e, x(e, s.name, s.value));
106
+ return (await Promise.all(o)).forEach((t) => {
107
+ t && (Object.assign(e, V(e, t.name, t.value)), i.value = V(i.value, t.name, t.value));
96
108
  }), e;
97
109
  }, H = (e) => {
98
110
  const l = { ...e };
99
- for (const a of y.value)
111
+ for (const a of h.value)
100
112
  if (a.type === "customFields" && a.props?.schema) {
101
- const i = M(l, a.name);
102
- if (Array.isArray(i)) {
103
- const n = X(i, a.props.schema);
104
- Object.assign(l, x(l, a.name, n));
113
+ const o = M(l, a.name);
114
+ if (Array.isArray(o)) {
115
+ const n = X(o, a.props.schema);
116
+ Object.assign(l, V(l, a.name, n));
105
117
  }
106
118
  }
107
119
  return l;
108
120
  };
109
121
  return {
110
- formValues: t,
111
- errors: u,
112
- isSubmitting: h,
113
- isDirty: d,
122
+ formValues: i,
123
+ errors: d,
124
+ isSubmitting: A,
125
+ isDirty: v,
114
126
  handleFieldChange: R,
115
- validateField: P,
116
- validateAll: $,
127
+ validateField: D,
128
+ validateAll: P,
117
129
  isFieldVisible: O,
118
- isFieldDisabled: D,
119
- isFieldReadonly: I,
120
- getFieldValue: C,
130
+ isFieldDisabled: $,
131
+ isFieldReadonly: L,
132
+ getFieldValue: I,
121
133
  getFieldError: T,
122
134
  setFieldError: N,
123
- clearErrors: A,
135
+ clearErrors: g,
124
136
  resetForm: () => {
125
- t.value = m(V.value), A(), d.value = !1;
137
+ i.value = F(z.value), g(), v.value = !1;
126
138
  },
127
139
  handleSubmit: async () => {
128
- if ($()) {
129
- h.value = !0;
140
+ if (P()) {
141
+ A.value = !0;
130
142
  try {
131
143
  let l = await G();
132
144
  l = H(l), l = Q(
133
145
  l,
134
- o,
135
- b.emitFields,
136
- b.emitFields
137
- ), j && await j({
146
+ f,
147
+ S.emitFields,
148
+ S.emitFields
149
+ ), E && await E({
138
150
  values: l,
139
- isUpdate: F
140
- }), d.value = !1, V.value = m(l);
151
+ isUpdate: b
152
+ }), v.value = !1, z.value = F(l);
141
153
  } catch (l) {
142
154
  throw console.error("[useForm] Submit error:", l), l;
143
155
  } finally {
144
- h.value = !1;
156
+ A.value = !1;
145
157
  }
146
158
  }
147
159
  },
148
- flatSchema: y
160
+ flatSchema: h
149
161
  };
150
162
  }
151
163
  export {
152
- te as useForm
164
+ ne as useForm
153
165
  };
@@ -85,8 +85,12 @@ export interface IForm {
85
85
  transform?: (value: any, formValues: Record<string, any>) => any;
86
86
  /** Field label - can be string or Vue component */
87
87
  label?: string | Component;
88
+ /** I18n translation key for the label */
89
+ labelI18n?: string;
88
90
  /** Placeholder text */
89
91
  placeholder?: string;
92
+ /** I18n translation key for the placeholder */
93
+ placeholderI18n?: string;
90
94
  /** Field type - determines which component renders */
91
95
  type?: IFormFieldType;
92
96
  /** Initial/default value - can be static or function */
@@ -1,5 +1,6 @@
1
1
  export interface GoogleLoginProps {
2
2
  buttonText?: string;
3
+ buttonTextI18n?: string;
3
4
  btnClass?: string;
4
5
  variant?: any;
5
6
  size?: any;
@@ -30,7 +31,6 @@ declare const __VLS_component: import('vue').DefineComponent<GoogleLoginProps, {
30
31
  size: any;
31
32
  variant: any;
32
33
  rounded: any;
33
- buttonText: string;
34
34
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
35
35
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
36
36
  export default _default;
@@ -1,10 +1,12 @@
1
- import { defineComponent as d, ref as u, openBlock as c, createElementBlock as f, renderSlot as m, createVNode as g, normalizeClass as v, unref as b, withCtx as C, createElementVNode as h, toDisplayString as k } from "vue";
1
+ import { defineComponent as c, ref as f, computed as g, openBlock as m, createElementBlock as b, renderSlot as v, createVNode as x, normalizeClass as T, unref as p, withCtx as C, createElementVNode as h, toDisplayString as k } from "vue";
2
2
  import { useTokenClient as w } from "vue3-google-signin";
3
- import z from "./Button.vue.js";
4
- const x = { class: "google-login-wrapper inline-block w-full" }, y = { class: "font-medium" }, T = /* @__PURE__ */ d({
3
+ import y from "./Button.vue.js";
4
+ import { $t as i } from "../utils/i18n.js";
5
+ const z = { class: "google-login-wrapper inline-block w-full" }, L = { class: "font-medium" }, G = /* @__PURE__ */ c({
5
6
  __name: "GoogleLogin",
6
7
  props: {
7
- buttonText: { default: "Sign in with Google" },
8
+ buttonText: {},
9
+ buttonTextI18n: {},
8
10
  btnClass: {},
9
11
  variant: { default: "outline" },
10
12
  size: { default: "md" },
@@ -12,42 +14,47 @@ const x = { class: "google-login-wrapper inline-block w-full" }, y = { class: "f
12
14
  disabled: { type: Boolean, default: !1 }
13
15
  },
14
16
  emits: ["success", "error"],
15
- setup(e, { emit: n }) {
16
- const s = e, a = n, l = u(!1), { login: i, isReady: r } = w({
17
- onSuccess: (o) => {
18
- l.value = !1, a("success", o);
17
+ setup(o, { emit: s }) {
18
+ const n = o, l = s, t = f(!1), { login: r, isReady: u } = w({
19
+ onSuccess: (e) => {
20
+ t.value = !1, l("success", e);
19
21
  },
20
- onError: (o) => {
21
- l.value = !1, a("error", o);
22
+ onError: (e) => {
23
+ t.value = !1, l("error", e);
22
24
  }
23
- }), t = () => {
24
- if (!(s.disabled || l.value)) {
25
- l.value = !0;
25
+ }), a = () => {
26
+ if (!(n.disabled || t.value)) {
27
+ t.value = !0;
26
28
  try {
27
- i();
28
- } catch (o) {
29
- l.value = !1, a("error", o);
29
+ r();
30
+ } catch (e) {
31
+ t.value = !1, l("error", e);
30
32
  }
31
33
  }
32
- };
33
- return (o, S) => (c(), f("div", x, [
34
- m(o.$slots, "default", {
35
- login: t,
36
- loading: l.value,
37
- disabled: e.disabled
34
+ }, d = g(() => {
35
+ if (n.buttonTextI18n) return i(n.buttonTextI18n);
36
+ if (n.buttonText) return n.buttonText;
37
+ const e = i("vlite.googleLogin.buttonText");
38
+ return e !== "vlite.googleLogin.buttonText" ? e : "Sign in with Google";
39
+ });
40
+ return (e, B) => (m(), b("div", z, [
41
+ v(e.$slots, "default", {
42
+ login: a,
43
+ loading: t.value,
44
+ disabled: o.disabled
38
45
  }, () => [
39
- g(z, {
40
- variant: e.variant,
41
- size: e.size,
42
- rounded: e.rounded,
43
- disabled: !b(r) || e.disabled || l.value,
44
- loading: l.value,
45
- class: v([e.btnClass, "w-full"]),
46
+ x(y, {
47
+ variant: o.variant,
48
+ size: o.size,
49
+ rounded: o.rounded,
50
+ disabled: !p(u) || o.disabled || t.value,
51
+ loading: t.value,
52
+ class: T([o.btnClass, "w-full"]),
46
53
  icon: "flat-color-icons:google",
47
- onClick: t
54
+ onClick: a
48
55
  }, {
49
56
  default: C(() => [
50
- h("span", y, k(e.buttonText), 1)
57
+ h("span", L, k(d.value), 1)
51
58
  ]),
52
59
  _: 1
53
60
  }, 8, ["variant", "size", "rounded", "disabled", "loading", "class"])
@@ -56,5 +63,5 @@ const x = { class: "google-login-wrapper inline-block w-full" }, y = { class: "f
56
63
  }
57
64
  });
58
65
  export {
59
- T as default
66
+ G as default
60
67
  };
@@ -1,6 +1,7 @@
1
1
  import { defineComponent as te, ref as p, computed as c, onMounted as ae, nextTick as U, onUnmounted as le, watch as oe, openBlock as d, createElementBlock as m, normalizeClass as z, createElementVNode as b, normalizeStyle as k, Fragment as E, renderList as W, createBlock as ne, withCtx as se, toDisplayString as j, createCommentVNode as I } from "vue";
2
2
  import ie from "../Tooltip.vue.js";
3
3
  import { debounce as re } from "../../utils/functions.js";
4
+ import "../../core/config.js";
4
5
  const ue = ["onClick", "onMouseenter"], ce = {
5
6
  key: 0,
6
7
  class: "heatmap-cell-label"
@@ -10,7 +11,7 @@ const ue = ["onClick", "onMouseenter"], ce = {
10
11
  }, ve = {
11
12
  key: 0,
12
13
  class: "heatmap-legend"
13
- }, me = { class: "heatmap-legend-colors" }, ge = ["title"], ye = /* @__PURE__ */ te({
14
+ }, me = { class: "heatmap-legend-colors" }, ge = ["title"], xe = /* @__PURE__ */ te({
14
15
  __name: "Heatmap",
15
16
  props: {
16
17
  data: {},
@@ -322,5 +323,5 @@ const ue = ["onClick", "onMouseenter"], ce = {
322
323
  }
323
324
  });
324
325
  export {
325
- ye as default
326
+ xe as default
326
327
  };
@@ -4,6 +4,8 @@ interface Props {
4
4
  btnProps?: ButtonProps;
5
5
  value?: string;
6
6
  position?: TooltTipPlacement;
7
+ placeholder?: string;
8
+ placeholderI18n?: string;
7
9
  }
8
10
  declare function __VLS_template(): {
9
11
  attrs: Partial<{}>;
@@ -1,23 +1,31 @@
1
- import { defineComponent as p, ref as f, openBlock as b, createBlock as g, unref as n, withCtx as a, renderSlot as l, createVNode as s, mergeProps as v } from "vue";
2
- import w from "./Dropdown/Dropdown.vue.js";
1
+ import { defineComponent as g, ref as v, computed as w, openBlock as k, createBlock as y, unref as a, withCtx as n, renderSlot as c, createVNode as s, mergeProps as P } from "vue";
2
+ import $ from "./Dropdown/Dropdown.vue.js";
3
3
  import "@iconify/vue";
4
- import y from "./Button.vue.js";
5
- import k from "iconify-icon-picker";
4
+ import { $t as d } from "../utils/i18n.js";
5
+ import C from "./Button.vue.js";
6
+ import I from "iconify-icon-picker";
6
7
  import "iconify-icon-picker/style.css";
7
- const O = /* @__PURE__ */ p({
8
+ const z = /* @__PURE__ */ g({
8
9
  __name: "IconPicker",
9
10
  props: {
10
11
  btnProps: {},
11
12
  value: { default: "tabler:icons-filled" },
12
- position: { default: "bottom" }
13
+ position: { default: "bottom" },
14
+ placeholder: {},
15
+ placeholderI18n: {}
13
16
  },
14
17
  emits: ["onSelect", "onTrigger", "onClose"],
15
- setup(r, { emit: c }) {
16
- const t = c, m = f(!1), i = () => {
18
+ setup(o, { emit: u }) {
19
+ const t = o, i = u, m = v(!1), l = () => {
17
20
  m.value = !1;
18
- }, d = (o, e) => {
19
- t("onSelect", o, e), i();
20
- }, u = [
21
+ }, h = (e, r) => {
22
+ i("onSelect", e, r), l();
23
+ }, p = w(() => {
24
+ if (t.placeholderI18n) return d(t.placeholderI18n);
25
+ if (t.placeholder) return t.placeholder;
26
+ const e = d("vlite.iconPicker.search");
27
+ return e !== "vlite.iconPicker.search" ? e : "Search 1000+ icons...";
28
+ }), f = [
21
29
  "ri:alert-line",
22
30
  "heroicons:arrow-right",
23
31
  "lucide:arrow-left",
@@ -87,38 +95,38 @@ const O = /* @__PURE__ */ p({
87
95
  "tabler:ruler-2",
88
96
  "material-symbols:download-rounded"
89
97
  ];
90
- return (o, e) => (b(), g(n(w), {
98
+ return (e, r) => (k(), y(a($), {
91
99
  className: "max-h-[392px]! min-w-[250px]",
92
- onOnClose: e[1] || (e[1] = (h) => t("onClose")),
93
- position: r.position
100
+ onOnClose: r[1] || (r[1] = (b) => i("onClose")),
101
+ position: o.position
94
102
  }, {
95
- trigger: a(() => [
96
- l(o.$slots, "default", {}, () => [
97
- s(y, v({
98
- icon: r.value,
103
+ trigger: n(() => [
104
+ c(e.$slots, "default", {}, () => [
105
+ s(C, P({
106
+ icon: o.value,
99
107
  rounded: "md",
100
108
  variant: "outline",
101
- ...r.btnProps || {}
109
+ ...o.btnProps || {}
102
110
  }, {
103
- onClick: e[0] || (e[0] = (h) => t("onTrigger"))
111
+ onClick: r[0] || (r[0] = (b) => i("onTrigger"))
104
112
  }), null, 16)
105
113
  ])
106
114
  ]),
107
- menu: a(() => [
108
- l(o.$slots, "menu-top", { close: i }),
109
- s(n(k), {
115
+ menu: n(() => [
116
+ c(e.$slots, "menu-top", { close: l }),
117
+ s(a(I), {
110
118
  id: "icon-picker",
111
- placeholder: "Search 1000+ icons...",
119
+ placeholder: p.value,
112
120
  "items-per-page": 35,
113
- value: r.value,
114
- onOnSelect: d,
115
- defaultIcons: u
116
- }, null, 8, ["value"])
121
+ value: o.value,
122
+ onOnSelect: h,
123
+ defaultIcons: f
124
+ }, null, 8, ["placeholder", "value"])
117
125
  ]),
118
126
  _: 3
119
127
  }, 8, ["position"]));
120
128
  }
121
129
  });
122
130
  export {
123
- O as default
131
+ z as default
124
132
  };
@@ -32,8 +32,8 @@ declare const __VLS_component: import('vue').DefineComponent<InputProps, {}, {},
32
32
  size: InputSize;
33
33
  variant: InputVariant;
34
34
  modelValue: string | number;
35
- loading: boolean;
36
35
  rounded: InputRounded;
36
+ loading: boolean;
37
37
  rows: number;
38
38
  showClearButton: boolean;
39
39
  autofocus: boolean;