@datametria/vue-components 1.1.3 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.es.js CHANGED
@@ -1,14 +1,14 @@
1
- import { defineComponent as S, computed as T, createElementBlock as s, openBlock as t, normalizeClass as L, createCommentVNode as h, renderSlot as R, createElementVNode as v, createTextVNode as N, toDisplayString as g, Fragment as W, renderList as X, ref as V, watch as H, withDirectives as ie, vModelText as ne, nextTick as Y, normalizeStyle as j, withModifiers as Z, onMounted as J, onUnmounted as re, createBlock as ee, Teleport as ae, createVNode as te, Transition as le, withCtx as se, createStaticVNode as ve, withKeys as de, resolveDynamicComponent as he } from "vue";
2
- var ue = /* @__PURE__ */ ((e) => (e.PRIMARY = "primary", e.SECONDARY = "secondary", e.OUTLINE = "outline", e.GHOST = "ghost", e))(ue || {}), me = /* @__PURE__ */ ((e) => (e.SM = "sm", e.MD = "md", e.LG = "lg", e))(me || {});
3
- const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
1
+ import { defineComponent as E, computed as B, createElementBlock as s, openBlock as t, normalizeClass as L, createCommentVNode as f, renderSlot as R, createElementVNode as v, createTextVNode as A, toDisplayString as g, Fragment as U, renderList as K, ref as V, watch as H, withDirectives as re, vModelText as ne, nextTick as Y, normalizeStyle as X, withModifiers as Z, onMounted as J, onUnmounted as ie, createBlock as ee, Teleport as ae, createVNode as te, Transition as le, withCtx as se, createStaticVNode as ve, withKeys as ce, resolveDynamicComponent as fe } from "vue";
2
+ var oe = /* @__PURE__ */ ((e) => (e.PRIMARY = "primary", e.SECONDARY = "secondary", e.OUTLINE = "outline", e.GHOST = "ghost", e))(oe || {}), me = /* @__PURE__ */ ((e) => (e.SM = "sm", e.MD = "md", e.LG = "lg", e))(me || {});
3
+ const he = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
4
4
  key: 0,
5
5
  class: "spinner",
6
6
  role: "status",
7
7
  "aria-label": "Carregando"
8
- }, pe = /* @__PURE__ */ S({
8
+ }, pe = /* @__PURE__ */ E({
9
9
  __name: "DatametriaButton",
10
10
  props: {
11
- variant: { default: ue.PRIMARY },
11
+ variant: { default: oe.PRIMARY },
12
12
  size: { default: me.MD },
13
13
  disabled: { type: Boolean, default: !1 },
14
14
  loading: { type: Boolean, default: !1 },
@@ -17,40 +17,45 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
17
17
  },
18
18
  emits: ["click"],
19
19
  setup(e) {
20
- const r = e, i = T(() => [
20
+ const i = e;
21
+ if (process.env.NODE_ENV === "development") {
22
+ const a = Object.values(oe);
23
+ a.includes(i.variant) || console.warn(`[DatametriaButton] Invalid variant "${i.variant}". Valid options: ${a.join(", ")}`);
24
+ }
25
+ const n = B(() => [
21
26
  "datametria-button",
22
- `datametria-button--${r.variant}`,
23
- `datametria-button--${r.size}`,
27
+ `datametria-button--${i.variant}`,
28
+ `datametria-button--${i.size}`,
24
29
  {
25
- "datametria-button--full-width": r.fullWidth,
26
- "datametria-button--loading": r.loading,
27
- "datametria-button--disabled": r.disabled
30
+ "datametria-button--full-width": i.fullWidth,
31
+ "datametria-button--loading": i.loading,
32
+ "datametria-button--disabled": i.disabled
28
33
  }
29
34
  ]);
30
35
  return (a, l) => (t(), s("button", {
31
- class: L(i.value),
36
+ class: L(n.value),
32
37
  disabled: e.disabled || e.loading,
33
38
  type: e.type,
34
39
  "aria-busy": e.loading,
35
40
  "aria-disabled": e.disabled,
36
- onClick: l[0] || (l[0] = (n) => a.$emit("click", n))
41
+ onClick: l[0] || (l[0] = (r) => a.$emit("click", r))
37
42
  }, [
38
- e.loading ? (t(), s("span", be)) : h("", !0),
43
+ e.loading ? (t(), s("span", be)) : f("", !0),
39
44
  R(a.$slots, "default", {}, void 0, !0)
40
- ], 10, fe));
45
+ ], 10, he));
41
46
  }
42
- }), E = (e, r) => {
43
- const i = e.__vccOpts || e;
44
- for (const [a, l] of r)
45
- i[a] = l;
46
- return i;
47
- }, Xl = /* @__PURE__ */ E(pe, [["__scopeId", "data-v-e9850b65"]]), ge = { class: "datametria-input" }, _e = ["for"], ke = {
47
+ }), S = (e, i) => {
48
+ const n = e.__vccOpts || e;
49
+ for (const [a, l] of i)
50
+ n[a] = l;
51
+ return n;
52
+ }, Kl = /* @__PURE__ */ S(pe, [["__scopeId", "data-v-5b66540e"]]), ge = { class: "datametria-input" }, _e = ["for"], ke = {
48
53
  key: 0,
49
54
  class: "datametria-input__required"
50
55
  }, ye = ["id", "value", "placeholder", "disabled", "required"], $e = {
51
56
  key: 1,
52
57
  class: "datametria-input__error"
53
- }, we = /* @__PURE__ */ S({
58
+ }, we = /* @__PURE__ */ E({
54
59
  __name: "DatametriaInput",
55
60
  props: {
56
61
  modelValue: { default: "" },
@@ -62,45 +67,45 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
62
67
  },
63
68
  emits: ["update:modelValue"],
64
69
  setup(e) {
65
- const r = e, i = T(() => `input-${Math.random().toString(36).substr(2, 9)}`), a = T(() => [
70
+ const i = e, n = B(() => `input-${Math.random().toString(36).substr(2, 9)}`), a = B(() => [
66
71
  "datametria-input__field",
67
72
  {
68
- "datametria-input__field--error": r.errorMessage,
69
- "datametria-input__field--disabled": r.disabled
73
+ "datametria-input__field--error": i.errorMessage,
74
+ "datametria-input__field--disabled": i.disabled
70
75
  }
71
76
  ]);
72
- return (l, n) => (t(), s("div", ge, [
77
+ return (l, r) => (t(), s("div", ge, [
73
78
  e.label ? (t(), s("label", {
74
79
  key: 0,
75
- for: i.value,
80
+ for: n.value,
76
81
  class: "datametria-input__label"
77
82
  }, [
78
- N(g(e.label) + " ", 1),
79
- e.required ? (t(), s("span", ke, "*")) : h("", !0)
80
- ], 8, _e)) : h("", !0),
83
+ A(g(e.label) + " ", 1),
84
+ e.required ? (t(), s("span", ke, "*")) : f("", !0)
85
+ ], 8, _e)) : f("", !0),
81
86
  v("input", {
82
- id: i.value,
87
+ id: n.value,
83
88
  value: e.modelValue,
84
89
  placeholder: e.placeholder,
85
90
  disabled: e.disabled,
86
91
  required: e.required,
87
92
  class: L(a.value),
88
- onInput: n[0] || (n[0] = (d) => l.$emit("update:modelValue", d.target.value))
93
+ onInput: r[0] || (r[0] = (o) => l.$emit("update:modelValue", o.target.value))
89
94
  }, null, 42, ye),
90
- e.errorMessage ? (t(), s("p", $e, g(e.errorMessage), 1)) : h("", !0)
95
+ e.errorMessage ? (t(), s("p", $e, g(e.errorMessage), 1)) : f("", !0)
91
96
  ]));
92
97
  }
93
- }), jl = /* @__PURE__ */ E(we, [["__scopeId", "data-v-cae54108"]]), xe = { class: "datametria-select" }, Ve = ["for"], Me = {
98
+ }), Xl = /* @__PURE__ */ S(we, [["__scopeId", "data-v-cae54108"]]), xe = { class: "datametria-select" }, Ve = ["for"], De = {
94
99
  key: 0,
95
100
  class: "datametria-select__required"
96
- }, De = ["id", "value", "disabled", "required"], Ce = {
101
+ }, Me = ["id", "value", "disabled", "required"], Ce = {
97
102
  key: 0,
98
103
  value: "",
99
104
  disabled: ""
100
105
  }, Ie = ["value"], Be = {
101
106
  key: 1,
102
107
  class: "datametria-select__error"
103
- }, Te = /* @__PURE__ */ S({
108
+ }, Te = /* @__PURE__ */ E({
104
109
  __name: "DatametriaSelect",
105
110
  props: {
106
111
  modelValue: { default: "" },
@@ -113,43 +118,43 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
113
118
  },
114
119
  emits: ["update:modelValue"],
115
120
  setup(e) {
116
- const r = e, i = T(() => `select-${Math.random().toString(36).substr(2, 9)}`), a = T(() => [
121
+ const i = e, n = B(() => `select-${Math.random().toString(36).substr(2, 9)}`), a = B(() => [
117
122
  "datametria-select__field",
118
123
  {
119
- "datametria-select__field--error": r.errorMessage,
120
- "datametria-select__field--disabled": r.disabled
124
+ "datametria-select__field--error": i.errorMessage,
125
+ "datametria-select__field--disabled": i.disabled
121
126
  }
122
127
  ]);
123
- return (l, n) => (t(), s("div", xe, [
128
+ return (l, r) => (t(), s("div", xe, [
124
129
  e.label ? (t(), s("label", {
125
130
  key: 0,
126
- for: i.value,
131
+ for: n.value,
127
132
  class: "datametria-select__label"
128
133
  }, [
129
- N(g(e.label) + " ", 1),
130
- e.required ? (t(), s("span", Me, "*")) : h("", !0)
131
- ], 8, Ve)) : h("", !0),
134
+ A(g(e.label) + " ", 1),
135
+ e.required ? (t(), s("span", De, "*")) : f("", !0)
136
+ ], 8, Ve)) : f("", !0),
132
137
  v("select", {
133
- id: i.value,
138
+ id: n.value,
134
139
  value: e.modelValue,
135
140
  disabled: e.disabled,
136
141
  required: e.required,
137
142
  class: L(a.value),
138
- onChange: n[0] || (n[0] = (d) => l.$emit("update:modelValue", d.target.value))
143
+ onChange: r[0] || (r[0] = (o) => l.$emit("update:modelValue", o.target.value))
139
144
  }, [
140
- e.placeholder ? (t(), s("option", Ce, g(e.placeholder), 1)) : h("", !0),
141
- (t(!0), s(W, null, X(e.options, (d) => (t(), s("option", {
142
- key: d.value,
143
- value: d.value
144
- }, g(d.label), 9, Ie))), 128))
145
- ], 42, De),
146
- e.errorMessage ? (t(), s("p", Be, g(e.errorMessage), 1)) : h("", !0)
145
+ e.placeholder ? (t(), s("option", Ce, g(e.placeholder), 1)) : f("", !0),
146
+ (t(!0), s(U, null, K(e.options, (o) => (t(), s("option", {
147
+ key: o.value,
148
+ value: o.value
149
+ }, g(o.label), 9, Ie))), 128))
150
+ ], 42, Me),
151
+ e.errorMessage ? (t(), s("p", Be, g(e.errorMessage), 1)) : f("", !0)
147
152
  ]));
148
153
  }
149
- }), Hl = /* @__PURE__ */ E(Te, [["__scopeId", "data-v-96f4e8ce"]]), Le = { class: "datametria-checkbox" }, Se = ["checked", "disabled"], Ee = {
154
+ }), Hl = /* @__PURE__ */ S(Te, [["__scopeId", "data-v-96f4e8ce"]]), Le = { class: "datametria-checkbox" }, Ee = ["checked", "disabled"], Se = {
150
155
  key: 0,
151
156
  class: "datametria-checkbox__label"
152
- }, qe = /* @__PURE__ */ S({
157
+ }, qe = /* @__PURE__ */ E({
153
158
  __name: "DatametriaCheckbox",
154
159
  props: {
155
160
  modelValue: { type: Boolean, default: !1 },
@@ -158,22 +163,22 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
158
163
  },
159
164
  emits: ["update:modelValue"],
160
165
  setup(e) {
161
- return (r, i) => (t(), s("label", Le, [
166
+ return (i, n) => (t(), s("label", Le, [
162
167
  v("input", {
163
168
  type: "checkbox",
164
169
  checked: e.modelValue,
165
170
  disabled: e.disabled,
166
171
  class: "datametria-checkbox__input",
167
- onChange: i[0] || (i[0] = (a) => r.$emit("update:modelValue", a.target.checked))
168
- }, null, 40, Se),
169
- i[1] || (i[1] = v("span", { class: "datametria-checkbox__checkmark" }, null, -1)),
170
- e.label ? (t(), s("span", Ee, g(e.label), 1)) : h("", !0)
172
+ onChange: n[0] || (n[0] = (a) => i.$emit("update:modelValue", a.target.checked))
173
+ }, null, 40, Ee),
174
+ n[1] || (n[1] = v("span", { class: "datametria-checkbox__checkmark" }, null, -1)),
175
+ e.label ? (t(), s("span", Se, g(e.label), 1)) : f("", !0)
171
176
  ]));
172
177
  }
173
- }), Gl = /* @__PURE__ */ E(qe, [["__scopeId", "data-v-3226ffd6"]]), Re = { class: "dm-radio" }, ze = { class: "dm-radio__label" }, Fe = ["value", "checked", "disabled", "name", "aria-label", "aria-describedby"], Ae = {
178
+ }), Gl = /* @__PURE__ */ S(qe, [["__scopeId", "data-v-3226ffd6"]]), Re = { class: "dm-radio" }, ze = { class: "dm-radio__label" }, Ne = ["value", "checked", "disabled", "name", "aria-label", "aria-describedby"], Oe = {
174
179
  key: 0,
175
180
  class: "dm-radio__text"
176
- }, Oe = ["id"], Ne = /* @__PURE__ */ S({
181
+ }, Fe = ["id"], Ae = /* @__PURE__ */ E({
177
182
  __name: "DatametriaRadio",
178
183
  props: {
179
184
  modelValue: { type: [String, Number, Boolean] },
@@ -185,11 +190,11 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
185
190
  ariaLabel: {}
186
191
  },
187
192
  emits: ["update:modelValue"],
188
- setup(e, { emit: r }) {
189
- const i = e, a = r, l = () => {
190
- i.disabled || a("update:modelValue", i.value);
193
+ setup(e, { emit: i }) {
194
+ const n = e, a = i, l = () => {
195
+ n.disabled || a("update:modelValue", n.value);
191
196
  };
192
- return (n, d) => (t(), s("div", Re, [
197
+ return (r, o) => (t(), s("div", Re, [
193
198
  v("label", ze, [
194
199
  v("input", {
195
200
  type: "radio",
@@ -201,24 +206,24 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
201
206
  "aria-label": e.ariaLabel,
202
207
  "aria-describedby": e.error ? `${e.name}-error` : void 0,
203
208
  onChange: l
204
- }, null, 40, Fe),
205
- d[0] || (d[0] = v("span", { class: "dm-radio__checkmark" }, null, -1)),
206
- e.label ? (t(), s("span", Ae, g(e.label), 1)) : h("", !0)
209
+ }, null, 40, Ne),
210
+ o[0] || (o[0] = v("span", { class: "dm-radio__checkmark" }, null, -1)),
211
+ e.label ? (t(), s("span", Oe, g(e.label), 1)) : f("", !0)
207
212
  ]),
208
213
  e.error ? (t(), s("p", {
209
214
  key: 0,
210
215
  id: `${e.name}-error`,
211
216
  class: "dm-radio__error"
212
- }, g(e.error), 9, Oe)) : h("", !0)
217
+ }, g(e.error), 9, Fe)) : f("", !0)
213
218
  ]));
214
219
  }
215
- }), Yl = /* @__PURE__ */ E(Ne, [["__scopeId", "data-v-4fb0fa6f"]]), Pe = { class: "dm-switch" }, Ue = { class: "dm-switch__label" }, We = ["checked", "disabled", "aria-label", "aria-checked"], Ke = {
220
+ }), Yl = /* @__PURE__ */ S(Ae, [["__scopeId", "data-v-4fb0fa6f"]]), je = { class: "dm-switch" }, Pe = { class: "dm-switch__label" }, Ue = ["checked", "disabled", "aria-label", "aria-checked"], We = {
216
221
  key: 0,
217
222
  class: "dm-switch__text"
218
- }, Xe = {
223
+ }, Ke = {
219
224
  key: 0,
220
225
  class: "dm-switch__error"
221
- }, je = /* @__PURE__ */ S({
226
+ }, Xe = /* @__PURE__ */ E({
222
227
  __name: "DatametriaSwitch",
223
228
  props: {
224
229
  modelValue: { type: Boolean, default: !1 },
@@ -228,12 +233,12 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
228
233
  ariaLabel: {}
229
234
  },
230
235
  emits: ["update:modelValue"],
231
- setup(e, { emit: r }) {
232
- const i = e, a = r, l = (n) => {
233
- i.disabled || a("update:modelValue", n.target.checked);
236
+ setup(e, { emit: i }) {
237
+ const n = e, a = i, l = (r) => {
238
+ n.disabled || a("update:modelValue", r.target.checked);
234
239
  };
235
- return (n, d) => (t(), s("div", Pe, [
236
- v("label", Ue, [
240
+ return (r, o) => (t(), s("div", je, [
241
+ v("label", Pe, [
237
242
  v("input", {
238
243
  type: "checkbox",
239
244
  class: "dm-switch__input",
@@ -243,16 +248,16 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
243
248
  "aria-checked": e.modelValue,
244
249
  role: "switch",
245
250
  onChange: l
246
- }, null, 40, We),
247
- d[0] || (d[0] = v("span", { class: "dm-switch__track" }, [
251
+ }, null, 40, Ue),
252
+ o[0] || (o[0] = v("span", { class: "dm-switch__track" }, [
248
253
  v("span", { class: "dm-switch__thumb" })
249
254
  ], -1)),
250
- e.label ? (t(), s("span", Ke, g(e.label), 1)) : h("", !0)
255
+ e.label ? (t(), s("span", We, g(e.label), 1)) : f("", !0)
251
256
  ]),
252
- e.error ? (t(), s("p", Xe, g(e.error), 1)) : h("", !0)
257
+ e.error ? (t(), s("p", Ke, g(e.error), 1)) : f("", !0)
253
258
  ]));
254
259
  }
255
- }), Jl = /* @__PURE__ */ E(je, [["__scopeId", "data-v-f57b4d9a"]]), He = { class: "dm-textarea" }, Ge = {
260
+ }), Jl = /* @__PURE__ */ S(Xe, [["__scopeId", "data-v-f57b4d9a"]]), He = { class: "dm-textarea" }, Ge = {
256
261
  key: 0,
257
262
  class: "dm-textarea__required"
258
263
  }, Ye = ["placeholder", "disabled", "required", "rows", "maxlength", "aria-label", "aria-describedby", "aria-invalid"], Je = {
@@ -261,7 +266,7 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
261
266
  }, Qe = ["id"], Ze = {
262
267
  key: 1,
263
268
  class: "dm-textarea__counter"
264
- }, ea = /* @__PURE__ */ S({
269
+ }, ea = /* @__PURE__ */ E({
265
270
  __name: "DatametriaTextarea",
266
271
  props: {
267
272
  modelValue: { default: "" },
@@ -275,13 +280,13 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
275
280
  ariaLabel: {}
276
281
  },
277
282
  emits: ["update:modelValue"],
278
- setup(e, { emit: r }) {
279
- const i = e, a = r, l = `dm-textarea-${Math.random().toString(36).substr(2, 9)}`, n = V(i.modelValue);
280
- H(() => i.modelValue, (u) => {
281
- n.value = u;
283
+ setup(e, { emit: i }) {
284
+ const n = e, a = i, l = `dm-textarea-${Math.random().toString(36).substr(2, 9)}`, r = V(n.modelValue);
285
+ H(() => n.modelValue, (u) => {
286
+ r.value = u;
282
287
  });
283
- const d = () => {
284
- a("update:modelValue", n.value || "");
288
+ const o = () => {
289
+ a("update:modelValue", r.value || "");
285
290
  };
286
291
  return (u, m) => {
287
292
  var b;
@@ -291,12 +296,12 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
291
296
  for: l,
292
297
  class: "dm-textarea__label"
293
298
  }, [
294
- N(g(e.label) + " ", 1),
295
- e.required ? (t(), s("span", Ge, "*")) : h("", !0)
296
- ])) : h("", !0),
297
- ie(v("textarea", {
299
+ A(g(e.label) + " ", 1),
300
+ e.required ? (t(), s("span", Ge, "*")) : f("", !0)
301
+ ])) : f("", !0),
302
+ re(v("textarea", {
298
303
  id: l,
299
- "onUpdate:modelValue": m[0] || (m[0] = (k) => n.value = k),
304
+ "onUpdate:modelValue": m[0] || (m[0] = (k) => r.value = k),
300
305
  class: L(["dm-textarea__input", { "dm-textarea__input--error": e.error }]),
301
306
  placeholder: e.placeholder,
302
307
  disabled: e.disabled,
@@ -306,25 +311,25 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
306
311
  "aria-label": e.ariaLabel,
307
312
  "aria-describedby": e.error ? `${l}-error` : void 0,
308
313
  "aria-invalid": !!e.error,
309
- onInput: d
314
+ onInput: o
310
315
  }, null, 42, Ye), [
311
- [ne, n.value]
316
+ [ne, r.value]
312
317
  ]),
313
318
  e.maxLength || e.error ? (t(), s("div", Je, [
314
319
  e.error ? (t(), s("p", {
315
320
  key: 0,
316
321
  id: `${l}-error`,
317
322
  class: "dm-textarea__error"
318
- }, g(e.error), 9, Qe)) : h("", !0),
319
- e.maxLength ? (t(), s("span", Ze, g(((b = n.value) == null ? void 0 : b.length) || 0) + "/" + g(e.maxLength), 1)) : h("", !0)
320
- ])) : h("", !0)
323
+ }, g(e.error), 9, Qe)) : f("", !0),
324
+ e.maxLength ? (t(), s("span", Ze, g(((b = r.value) == null ? void 0 : b.length) || 0) + "/" + g(e.maxLength), 1)) : f("", !0)
325
+ ])) : f("", !0)
321
326
  ]);
322
327
  };
323
328
  }
324
- }), Ql = /* @__PURE__ */ E(ea, [["__scopeId", "data-v-e9253798"]]), aa = { class: "dm-datepicker" }, ta = {
329
+ }), Ql = /* @__PURE__ */ S(ea, [["__scopeId", "data-v-e9253798"]]), aa = { class: "dm-datepicker" }, ta = {
325
330
  key: 0,
326
331
  class: "dm-datepicker__required"
327
- }, la = { class: "dm-datepicker__wrapper" }, sa = ["disabled", "required", "min", "max", "aria-label", "aria-describedby", "aria-invalid"], ra = ["id"], ia = /* @__PURE__ */ S({
332
+ }, la = { class: "dm-datepicker__wrapper" }, sa = ["disabled", "required", "min", "max", "aria-label", "aria-describedby", "aria-invalid"], ia = ["id"], ra = /* @__PURE__ */ E({
328
333
  __name: "DatametriaDatePicker",
329
334
  props: {
330
335
  modelValue: { default: "" },
@@ -337,13 +342,13 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
337
342
  ariaLabel: {}
338
343
  },
339
344
  emits: ["update:modelValue"],
340
- setup(e, { emit: r }) {
341
- const i = e, a = r, l = `dm-datepicker-${Math.random().toString(36).substr(2, 9)}`, n = V(i.modelValue);
342
- H(() => i.modelValue, (u) => {
343
- n.value = u;
345
+ setup(e, { emit: i }) {
346
+ const n = e, a = i, l = `dm-datepicker-${Math.random().toString(36).substr(2, 9)}`, r = V(n.modelValue);
347
+ H(() => n.modelValue, (u) => {
348
+ r.value = u;
344
349
  });
345
- const d = () => {
346
- a("update:modelValue", n.value);
350
+ const o = () => {
351
+ a("update:modelValue", r.value);
347
352
  };
348
353
  return (u, m) => (t(), s("div", aa, [
349
354
  e.label ? (t(), s("label", {
@@ -351,14 +356,14 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
351
356
  for: l,
352
357
  class: "dm-datepicker__label"
353
358
  }, [
354
- N(g(e.label) + " ", 1),
355
- e.required ? (t(), s("span", ta, "*")) : h("", !0)
356
- ])) : h("", !0),
359
+ A(g(e.label) + " ", 1),
360
+ e.required ? (t(), s("span", ta, "*")) : f("", !0)
361
+ ])) : f("", !0),
357
362
  v("div", la, [
358
- ie(v("input", {
363
+ re(v("input", {
359
364
  id: l,
360
365
  type: "date",
361
- "onUpdate:modelValue": m[0] || (m[0] = (b) => n.value = b),
366
+ "onUpdate:modelValue": m[0] || (m[0] = (b) => r.value = b),
362
367
  class: L(["dm-datepicker__input", { "dm-datepicker__input--error": e.error }]),
363
368
  disabled: e.disabled,
364
369
  required: e.required,
@@ -367,19 +372,19 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
367
372
  "aria-label": e.ariaLabel,
368
373
  "aria-describedby": e.error ? `${l}-error` : void 0,
369
374
  "aria-invalid": !!e.error,
370
- onChange: d
375
+ onChange: o
371
376
  }, null, 42, sa), [
372
- [ne, n.value]
377
+ [ne, r.value]
373
378
  ])
374
379
  ]),
375
380
  e.error ? (t(), s("p", {
376
381
  key: 1,
377
382
  id: `${l}-error`,
378
383
  class: "dm-datepicker__error"
379
- }, g(e.error), 9, ra)) : h("", !0)
384
+ }, g(e.error), 9, ia)) : f("", !0)
380
385
  ]));
381
386
  }
382
- }), Zl = /* @__PURE__ */ E(ia, [["__scopeId", "data-v-8bf1e9ec"]]), na = ["for"], oa = {
387
+ }), Zl = /* @__PURE__ */ S(ra, [["__scopeId", "data-v-8bf1e9ec"]]), na = ["for"], oa = {
383
388
  key: 0,
384
389
  class: "dm-time-picker__required",
385
390
  "aria-label": "obrigatório"
@@ -396,10 +401,10 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
396
401
  class: "dm-time-picker__icon--success",
397
402
  viewBox: "0 0 20 20",
398
403
  fill: "currentColor"
399
- }, ha = {
404
+ }, fa = {
400
405
  key: 1,
401
406
  class: "dm-time-picker__messages"
402
- }, fa = ["id"], ba = ["id"], pa = ["id"], ga = /* @__PURE__ */ S({
407
+ }, ha = ["id"], ba = ["id"], pa = ["id"], ga = /* @__PURE__ */ E({
403
408
  __name: "DatametriaTimePicker",
404
409
  props: {
405
410
  modelValue: { default: "" },
@@ -416,53 +421,53 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
416
421
  format24h: { type: Boolean, default: !0 }
417
422
  },
418
423
  emits: ["update:modelValue", "blur", "focus", "change"],
419
- setup(e, { expose: r, emit: i }) {
420
- const a = e, l = i, n = V(), d = T(() => `dm-time-picker-${Math.random().toString(36).substr(2, 9)}`), u = T(() => !!a.errorMessage), m = T(() => !!a.successMessage && !u.value), b = T(() => {
424
+ setup(e, { expose: i, emit: n }) {
425
+ const a = e, l = n, r = V(), o = B(() => `dm-time-picker-${Math.random().toString(36).substr(2, 9)}`), u = B(() => !!a.errorMessage), m = B(() => !!a.successMessage && !u.value), b = B(() => {
421
426
  const p = [];
422
- return a.errorMessage ? p.push(`${d.value}-error`) : a.successMessage ? p.push(`${d.value}-success`) : a.helperText && p.push(`${d.value}-helper`), p.length > 0 ? p.join(" ") : void 0;
423
- }), k = T({
427
+ return a.errorMessage ? p.push(`${o.value}-error`) : a.successMessage ? p.push(`${o.value}-success`) : a.helperText && p.push(`${o.value}-helper`), p.length > 0 ? p.join(" ") : void 0;
428
+ }), k = B({
424
429
  get: () => a.modelValue,
425
430
  set: (p) => {
426
431
  l("update:modelValue", p), l("change", p);
427
432
  }
428
- }), D = (p) => {
433
+ }), M = (p) => {
429
434
  const w = p.target;
430
435
  k.value = w.value;
431
- }, B = (p) => {
436
+ }, T = (p) => {
432
437
  l("blur", p);
433
438
  }, $ = (p) => {
434
439
  l("focus", p);
435
440
  }, C = () => {
436
441
  Y(() => {
437
442
  var p;
438
- (p = n.value) == null || p.focus();
443
+ (p = r.value) == null || p.focus();
439
444
  });
440
- }, f = () => {
445
+ }, h = () => {
441
446
  var p;
442
- (p = n.value) == null || p.blur();
447
+ (p = r.value) == null || p.blur();
443
448
  };
444
449
  return H(() => a.modelValue, (p) => {
445
- n.value && n.value.value !== p && (n.value.value = p);
446
- }), r({
450
+ r.value && r.value.value !== p && (r.value.value = p);
451
+ }), i({
447
452
  focus: C,
448
- blur: f,
449
- inputRef: n
453
+ blur: h,
454
+ inputRef: r
450
455
  }), (p, w) => (t(), s("div", {
451
456
  class: L(["dm-time-picker", { "dm-time-picker--disabled": e.disabled }])
452
457
  }, [
453
458
  e.label ? (t(), s("label", {
454
459
  key: 0,
455
- for: d.value,
460
+ for: o.value,
456
461
  class: "dm-time-picker__label"
457
462
  }, [
458
- N(g(e.label) + " ", 1),
459
- e.required ? (t(), s("span", oa, "*")) : h("", !0)
460
- ], 8, na)) : h("", !0),
463
+ A(g(e.label) + " ", 1),
464
+ e.required ? (t(), s("span", oa, "*")) : f("", !0)
465
+ ], 8, na)) : f("", !0),
461
466
  v("div", da, [
462
- ie(v("input", {
463
- id: d.value,
467
+ re(v("input", {
468
+ id: o.value,
464
469
  ref_key: "inputRef",
465
- ref: n,
470
+ ref: r,
466
471
  "onUpdate:modelValue": w[0] || (w[0] = (z) => k.value = z),
467
472
  type: "time",
468
473
  class: L(["dm-time-picker__input", {
@@ -476,8 +481,8 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
476
481
  step: e.step,
477
482
  "aria-describedby": b.value,
478
483
  "aria-invalid": u.value,
479
- onInput: D,
480
- onBlur: B,
484
+ onInput: M,
485
+ onBlur: T,
481
486
  onFocus: $
482
487
  }, null, 42, ca), [
483
488
  [ne, k.value]
@@ -495,28 +500,28 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
495
500
  d: "M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",
496
501
  "clip-rule": "evenodd"
497
502
  }, null, -1)
498
- ])])) : h("", !0)
499
- ])) : h("", !0)
503
+ ])])) : f("", !0)
504
+ ])) : f("", !0)
500
505
  ]),
501
- e.errorMessage || e.successMessage || e.helperText ? (t(), s("div", ha, [
506
+ e.errorMessage || e.successMessage || e.helperText ? (t(), s("div", fa, [
502
507
  e.errorMessage ? (t(), s("p", {
503
508
  key: 0,
504
- id: `${d.value}-error`,
509
+ id: `${o.value}-error`,
505
510
  class: "dm-time-picker__error",
506
511
  role: "alert"
507
- }, g(e.errorMessage), 9, fa)) : e.successMessage ? (t(), s("p", {
512
+ }, g(e.errorMessage), 9, ha)) : e.successMessage ? (t(), s("p", {
508
513
  key: 1,
509
- id: `${d.value}-success`,
514
+ id: `${o.value}-success`,
510
515
  class: "dm-time-picker__success"
511
516
  }, g(e.successMessage), 9, ba)) : e.helperText ? (t(), s("p", {
512
517
  key: 2,
513
- id: `${d.value}-helper`,
518
+ id: `${o.value}-helper`,
514
519
  class: "dm-time-picker__helper"
515
- }, g(e.helperText), 9, pa)) : h("", !0)
516
- ])) : h("", !0)
520
+ }, g(e.helperText), 9, pa)) : f("", !0)
521
+ ])) : f("", !0)
517
522
  ], 2));
518
523
  }
519
- }), es = /* @__PURE__ */ E(ga, [["__scopeId", "data-v-89e8ad3a"]]), _a = {
524
+ }), es = /* @__PURE__ */ S(ga, [["__scopeId", "data-v-89e8ad3a"]]), _a = {
520
525
  key: 0,
521
526
  class: "dm-slider__header"
522
527
  }, ka = ["for"], ya = {
@@ -529,10 +534,10 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
529
534
  }, wa = { class: "dm-slider__wrapper" }, xa = ["id", "value", "min", "max", "step", "disabled", "required", "aria-label", "aria-describedby", "aria-valuemin", "aria-valuemax", "aria-valuenow", "aria-valuetext"], Va = {
530
535
  key: 1,
531
536
  class: "dm-slider__range"
532
- }, Ma = { class: "dm-slider__min" }, Da = { class: "dm-slider__max" }, Ca = {
537
+ }, Da = { class: "dm-slider__min" }, Ma = { class: "dm-slider__max" }, Ca = {
533
538
  key: 2,
534
539
  class: "dm-slider__messages"
535
- }, Ia = ["id"], Ba = ["id"], Ta = /* @__PURE__ */ S({
540
+ }, Ia = ["id"], Ba = ["id"], Ta = /* @__PURE__ */ E({
536
541
  __name: "DatametriaSlider",
537
542
  props: {
538
543
  modelValue: {},
@@ -550,66 +555,66 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
550
555
  formatter: {}
551
556
  },
552
557
  emits: ["update:modelValue", "change", "input", "focus", "blur"],
553
- setup(e, { expose: r, emit: i }) {
554
- const a = e, l = i, n = V(), d = V(!1), u = T(() => `dm-slider-${Math.random().toString(36).substr(2, 9)}`), m = T(() => {
558
+ setup(e, { expose: i, emit: n }) {
559
+ const a = e, l = n, r = V(), o = V(!1), u = B(() => `dm-slider-${Math.random().toString(36).substr(2, 9)}`), m = B(() => {
555
560
  const x = a.max - a.min;
556
561
  return (a.modelValue - a.min) / x * 100;
557
- }), b = T(() => a.formatter ? a.formatter(a.modelValue) : a.modelValue.toString()), k = T(() => {
562
+ }), b = B(() => a.formatter ? a.formatter(a.modelValue) : a.modelValue.toString()), k = B(() => {
558
563
  const x = [];
559
564
  return a.errorMessage ? x.push(`${u.value}-error`) : a.helperText && x.push(`${u.value}-helper`), x.length > 0 ? x.join(" ") : void 0;
560
- }), D = T(() => a.formatter ? a.formatter(a.modelValue) : `${a.modelValue}`), B = (x) => a.formatter ? a.formatter(x) : x.toString(), $ = (x) => {
561
- const q = x.target, M = parseFloat(q.value);
562
- l("update:modelValue", M), l("input", M);
565
+ }), M = B(() => a.formatter ? a.formatter(a.modelValue) : `${a.modelValue}`), T = (x) => a.formatter ? a.formatter(x) : x.toString(), $ = (x) => {
566
+ const q = x.target, D = parseFloat(q.value);
567
+ l("update:modelValue", D), l("input", D);
563
568
  }, C = (x) => {
564
- const q = x.target, M = parseFloat(q.value);
565
- l("change", M);
566
- }, f = (x) => {
569
+ const q = x.target, D = parseFloat(q.value);
570
+ l("change", D);
571
+ }, h = (x) => {
567
572
  l("focus", x);
568
573
  }, p = (x) => {
569
574
  l("blur", x);
570
575
  }, w = (x) => {
571
576
  if (a.disabled) return;
572
- const M = x.currentTarget.getBoundingClientRect(), F = (x.clientX - M.left) / M.width, A = a.max - a.min, o = a.min + F * A, c = Math.round(o / a.step) * a.step, y = Math.max(a.min, Math.min(a.max, c));
577
+ const D = x.currentTarget.getBoundingClientRect(), N = (x.clientX - D.left) / D.width, O = a.max - a.min, d = a.min + N * O, c = Math.round(d / a.step) * a.step, y = Math.max(a.min, Math.min(a.max, c));
573
578
  l("update:modelValue", y), l("change", y);
574
579
  }, z = (x) => {
575
580
  if (a.disabled) return;
576
- d.value = !0, x.preventDefault();
577
- const q = (F) => {
578
- if (!d.value) return;
579
- const A = x.target.parentElement;
580
- if (!A) return;
581
- const o = A.getBoundingClientRect(), c = Math.max(0, Math.min(1, (F.clientX - o.left) / o.width)), y = a.max - a.min, _ = a.min + c * y, I = Math.round(_ / a.step) * a.step, Q = Math.max(a.min, Math.min(a.max, I));
581
+ o.value = !0, x.preventDefault();
582
+ const q = (N) => {
583
+ if (!o.value) return;
584
+ const O = x.target.parentElement;
585
+ if (!O) return;
586
+ const d = O.getBoundingClientRect(), c = Math.max(0, Math.min(1, (N.clientX - d.left) / d.width)), y = a.max - a.min, _ = a.min + c * y, I = Math.round(_ / a.step) * a.step, Q = Math.max(a.min, Math.min(a.max, I));
582
587
  l("update:modelValue", Q), l("input", Q);
583
- }, M = () => {
584
- d.value && (d.value = !1, l("change", a.modelValue)), document.removeEventListener("mousemove", q), document.removeEventListener("mouseup", M);
588
+ }, D = () => {
589
+ o.value && (o.value = !1, l("change", a.modelValue)), document.removeEventListener("mousemove", q), document.removeEventListener("mouseup", D);
585
590
  };
586
- document.addEventListener("mousemove", q), document.addEventListener("mouseup", M);
587
- }, O = (x) => {
591
+ document.addEventListener("mousemove", q), document.addEventListener("mouseup", D);
592
+ }, F = (x) => {
588
593
  if (a.disabled) return;
589
- d.value = !0, x.preventDefault();
590
- const q = (F) => {
591
- if (!d.value) return;
592
- const A = x.target.parentElement;
593
- if (!A) return;
594
- const o = A.getBoundingClientRect(), c = F.touches[0], y = Math.max(0, Math.min(1, (c.clientX - o.left) / o.width)), _ = a.max - a.min, I = a.min + y * _, Q = Math.round(I / a.step) * a.step, oe = Math.max(a.min, Math.min(a.max, Q));
595
- l("update:modelValue", oe), l("input", oe);
596
- }, M = () => {
597
- d.value && (d.value = !1, l("change", a.modelValue)), document.removeEventListener("touchmove", q), document.removeEventListener("touchend", M);
594
+ o.value = !0, x.preventDefault();
595
+ const q = (N) => {
596
+ if (!o.value) return;
597
+ const O = x.target.parentElement;
598
+ if (!O) return;
599
+ const d = O.getBoundingClientRect(), c = N.touches[0], y = Math.max(0, Math.min(1, (c.clientX - d.left) / d.width)), _ = a.max - a.min, I = a.min + y * _, Q = Math.round(I / a.step) * a.step, de = Math.max(a.min, Math.min(a.max, Q));
600
+ l("update:modelValue", de), l("input", de);
601
+ }, D = () => {
602
+ o.value && (o.value = !1, l("change", a.modelValue)), document.removeEventListener("touchmove", q), document.removeEventListener("touchend", D);
598
603
  };
599
- document.addEventListener("touchmove", q), document.addEventListener("touchend", M);
604
+ document.addEventListener("touchmove", q), document.addEventListener("touchend", D);
600
605
  };
601
- return r({
606
+ return i({
602
607
  focus: () => {
603
608
  Y(() => {
604
609
  var x;
605
- (x = n.value) == null || x.focus();
610
+ (x = r.value) == null || x.focus();
606
611
  });
607
612
  },
608
613
  blur: () => {
609
614
  var x;
610
- (x = n.value) == null || x.blur();
615
+ (x = r.value) == null || x.blur();
611
616
  },
612
- inputRef: n
617
+ inputRef: r
613
618
  }), (x, q) => (t(), s("div", {
614
619
  class: L(["dm-slider", { "dm-slider--disabled": e.disabled }])
615
620
  }, [
@@ -619,11 +624,11 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
619
624
  for: u.value,
620
625
  class: "dm-slider__label"
621
626
  }, [
622
- N(g(e.label) + " ", 1),
623
- e.required ? (t(), s("span", ya, "*")) : h("", !0)
624
- ], 8, ka)) : h("", !0),
625
- e.showValue ? (t(), s("span", $a, g(b.value), 1)) : h("", !0)
626
- ])) : h("", !0),
627
+ A(g(e.label) + " ", 1),
628
+ e.required ? (t(), s("span", ya, "*")) : f("", !0)
629
+ ], 8, ka)) : f("", !0),
630
+ e.showValue ? (t(), s("span", $a, g(b.value), 1)) : f("", !0)
631
+ ])) : f("", !0),
627
632
  v("div", wa, [
628
633
  v("div", {
629
634
  class: "dm-slider__track",
@@ -631,19 +636,19 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
631
636
  }, [
632
637
  v("div", {
633
638
  class: "dm-slider__progress",
634
- style: j({ width: `${m.value}%` })
639
+ style: X({ width: `${m.value}%` })
635
640
  }, null, 4),
636
641
  v("div", {
637
642
  class: "dm-slider__thumb",
638
- style: j({ left: `${m.value}%` }),
643
+ style: X({ left: `${m.value}%` }),
639
644
  onMousedown: z,
640
- onTouchstart: O
645
+ onTouchstart: F
641
646
  }, null, 36)
642
647
  ]),
643
648
  v("input", {
644
649
  id: u.value,
645
650
  ref_key: "inputRef",
646
- ref: n,
651
+ ref: r,
647
652
  type: "range",
648
653
  class: "dm-slider__input",
649
654
  value: e.modelValue,
@@ -657,17 +662,17 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
657
662
  "aria-valuemin": e.min,
658
663
  "aria-valuemax": e.max,
659
664
  "aria-valuenow": e.modelValue,
660
- "aria-valuetext": D.value,
665
+ "aria-valuetext": M.value,
661
666
  onInput: $,
662
667
  onChange: C,
663
- onFocus: f,
668
+ onFocus: h,
664
669
  onBlur: p
665
670
  }, null, 40, xa)
666
671
  ]),
667
672
  e.showMinMax ? (t(), s("div", Va, [
668
- v("span", Ma, g(B(e.min)), 1),
669
- v("span", Da, g(B(e.max)), 1)
670
- ])) : h("", !0),
673
+ v("span", Da, g(T(e.min)), 1),
674
+ v("span", Ma, g(T(e.max)), 1)
675
+ ])) : f("", !0),
671
676
  e.errorMessage || e.helperText ? (t(), s("div", Ca, [
672
677
  e.errorMessage ? (t(), s("p", {
673
678
  key: 0,
@@ -678,26 +683,26 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
678
683
  key: 1,
679
684
  id: `${u.value}-helper`,
680
685
  class: "dm-slider__helper"
681
- }, g(e.helperText), 9, Ba)) : h("", !0)
682
- ])) : h("", !0)
686
+ }, g(e.helperText), 9, Ba)) : f("", !0)
687
+ ])) : f("", !0)
683
688
  ], 2));
684
689
  }
685
- }), as = /* @__PURE__ */ E(Ta, [["__scopeId", "data-v-8a957612"]]), La = { class: "dm-file-upload" }, Sa = {
690
+ }), as = /* @__PURE__ */ S(Ta, [["__scopeId", "data-v-8a957612"]]), La = { class: "dm-file-upload" }, Ea = {
686
691
  key: 0,
687
692
  class: "dm-file-upload__label"
688
- }, Ea = {
693
+ }, Sa = {
689
694
  key: 0,
690
695
  class: "dm-file-upload__required"
691
696
  }, qa = ["accept", "multiple", "disabled", "required"], Ra = { class: "dm-file-upload__content" }, za = {
692
697
  key: 0,
693
698
  class: "dm-file-upload__hint"
694
- }, Fa = {
699
+ }, Na = {
695
700
  key: 1,
696
701
  class: "dm-file-upload__files"
697
- }, Aa = { class: "dm-file-upload__filename" }, Oa = { class: "dm-file-upload__filesize" }, Na = ["onClick"], Pa = {
702
+ }, Oa = { class: "dm-file-upload__filename" }, Fa = { class: "dm-file-upload__filesize" }, Aa = ["onClick"], ja = {
698
703
  key: 2,
699
704
  class: "dm-file-upload__error"
700
- }, Ua = /* @__PURE__ */ S({
705
+ }, Pa = /* @__PURE__ */ E({
701
706
  __name: "DatametriaFileUpload",
702
707
  props: {
703
708
  modelValue: { default: () => [] },
@@ -709,42 +714,42 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
709
714
  error: {}
710
715
  },
711
716
  emits: ["update:modelValue"],
712
- setup(e, { emit: r }) {
713
- const i = e, a = r, l = V(), n = V(i.modelValue), d = V(!1), u = () => {
714
- var f;
715
- i.disabled || (f = l.value) == null || f.click();
716
- }, m = (f) => {
717
- const p = Array.from(f.target.files || []);
718
- B(p);
717
+ setup(e, { emit: i }) {
718
+ const n = e, a = i, l = V(), r = V(n.modelValue), o = V(!1), u = () => {
719
+ var h;
720
+ n.disabled || (h = l.value) == null || h.click();
721
+ }, m = (h) => {
722
+ const p = Array.from(h.target.files || []);
723
+ T(p);
719
724
  }, b = () => {
720
- i.disabled || (d.value = !0);
725
+ n.disabled || (o.value = !0);
721
726
  }, k = () => {
722
- d.value = !1;
723
- }, D = (f) => {
727
+ o.value = !1;
728
+ }, M = (h) => {
724
729
  var p;
725
- if (d.value = !1, !i.disabled) {
726
- const w = Array.from(((p = f.dataTransfer) == null ? void 0 : p.files) || []);
727
- B(w);
730
+ if (o.value = !1, !n.disabled) {
731
+ const w = Array.from(((p = h.dataTransfer) == null ? void 0 : p.files) || []);
732
+ T(w);
728
733
  }
729
- }, B = (f) => {
730
- n.value = i.multiple ? [...n.value, ...f] : f, a("update:modelValue", n.value);
731
- }, $ = (f) => {
732
- n.value.splice(f, 1), a("update:modelValue", n.value);
733
- }, C = (f) => {
734
- if (f === 0) return "0 B";
735
- const p = 1024, w = ["B", "KB", "MB", "GB"], z = Math.floor(Math.log(f) / Math.log(p));
736
- return `${(f / Math.pow(p, z)).toFixed(1)} ${w[z]}`;
734
+ }, T = (h) => {
735
+ r.value = n.multiple ? [...r.value, ...h] : h, a("update:modelValue", r.value);
736
+ }, $ = (h) => {
737
+ r.value.splice(h, 1), a("update:modelValue", r.value);
738
+ }, C = (h) => {
739
+ if (h === 0) return "0 B";
740
+ const p = 1024, w = ["B", "KB", "MB", "GB"], z = Math.floor(Math.log(h) / Math.log(p));
741
+ return `${(h / Math.pow(p, z)).toFixed(1)} ${w[z]}`;
737
742
  };
738
- return (f, p) => (t(), s("div", La, [
739
- e.label ? (t(), s("label", Sa, [
740
- N(g(e.label) + " ", 1),
741
- e.required ? (t(), s("span", Ea, "*")) : h("", !0)
742
- ])) : h("", !0),
743
+ return (h, p) => (t(), s("div", La, [
744
+ e.label ? (t(), s("label", Ea, [
745
+ A(g(e.label) + " ", 1),
746
+ e.required ? (t(), s("span", Sa, "*")) : f("", !0)
747
+ ])) : f("", !0),
743
748
  v("div", {
744
- class: L(["dm-file-upload__dropzone", { "dm-file-upload--dragging": d.value, "dm-file-upload__dropzone--dragover": d.value, "dm-file-upload__dropzone--error": e.error }]),
749
+ class: L(["dm-file-upload__dropzone", { "dm-file-upload--dragging": o.value, "dm-file-upload__dropzone--dragover": o.value, "dm-file-upload__dropzone--error": e.error }]),
745
750
  onDragover: Z(b, ["prevent"]),
746
751
  onDragleave: Z(k, ["prevent"]),
747
- onDrop: Z(D, ["prevent"]),
752
+ onDrop: Z(M, ["prevent"]),
748
753
  onClick: u
749
754
  }, [
750
755
  v("input", {
@@ -774,39 +779,39 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
774
779
  ], -1)),
775
780
  p[1] || (p[1] = v("p", { class: "dm-file-upload__text" }, [
776
781
  v("span", { class: "dm-file-upload__text--primary" }, "Clique para selecionar"),
777
- N(" ou arraste arquivos aqui ")
782
+ A(" ou arraste arquivos aqui ")
778
783
  ], -1)),
779
- e.accept ? (t(), s("p", za, g(e.accept), 1)) : h("", !0)
784
+ e.accept ? (t(), s("p", za, g(e.accept), 1)) : f("", !0)
780
785
  ])
781
786
  ], 34),
782
- n.value.length ? (t(), s("div", Fa, [
783
- (t(!0), s(W, null, X(n.value, (w, z) => (t(), s("div", {
787
+ r.value.length ? (t(), s("div", Na, [
788
+ (t(!0), s(U, null, K(r.value, (w, z) => (t(), s("div", {
784
789
  key: z,
785
790
  class: "dm-file-upload__file"
786
791
  }, [
787
- v("span", Aa, g(w.name), 1),
788
- v("span", Oa, g(C(w.size)), 1),
792
+ v("span", Oa, g(w.name), 1),
793
+ v("span", Fa, g(C(w.size)), 1),
789
794
  v("button", {
790
795
  type: "button",
791
796
  class: "dm-file-upload__remove",
792
- onClick: (O) => $(z),
797
+ onClick: (F) => $(z),
793
798
  "aria-label": "Remover arquivo"
794
- }, "×", 8, Na)
799
+ }, "×", 8, Aa)
795
800
  ]))), 128))
796
- ])) : h("", !0),
797
- e.error ? (t(), s("p", Pa, g(e.error), 1)) : h("", !0)
801
+ ])) : f("", !0),
802
+ e.error ? (t(), s("p", ja, g(e.error), 1)) : f("", !0)
798
803
  ]));
799
804
  }
800
- }), ts = /* @__PURE__ */ E(Ua, [["__scopeId", "data-v-da137679"]]), Wa = {
805
+ }), ts = /* @__PURE__ */ S(Pa, [["__scopeId", "data-v-da137679"]]), Ua = {
801
806
  key: 0,
802
807
  class: "dm-autocomplete__required"
803
- }, Ka = { class: "dm-autocomplete__wrapper" }, Xa = ["placeholder", "disabled", "required", "aria-label", "aria-expanded", "aria-controls", "aria-activedescendant"], ja = ["id"], Ha = ["id", "aria-selected", "onClick", "onMouseenter"], Ga = {
808
+ }, Wa = { class: "dm-autocomplete__wrapper" }, Ka = ["placeholder", "disabled", "required", "aria-label", "aria-expanded", "aria-controls", "aria-activedescendant"], Xa = ["id"], Ha = ["id", "aria-selected", "onClick", "onMouseenter"], Ga = {
804
809
  key: 1,
805
810
  class: "dm-autocomplete__no-results"
806
811
  }, Ya = {
807
812
  key: 1,
808
813
  class: "dm-autocomplete__error"
809
- }, Ja = /* @__PURE__ */ S({
814
+ }, Ja = /* @__PURE__ */ E({
810
815
  __name: "DatametriaAutocomplete",
811
816
  props: {
812
817
  modelValue: { default: "" },
@@ -819,26 +824,26 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
819
824
  ariaLabel: {}
820
825
  },
821
826
  emits: ["update:modelValue"],
822
- setup(e, { emit: r }) {
823
- const i = e, a = r, l = `dm-autocomplete-${Math.random().toString(36).substr(2, 9)}`, n = V(), d = V(i.modelValue), u = V(!1), m = V(-1), b = T(() => d.value ? i.options.filter(
824
- (w) => w.toLowerCase().includes(d.value.toLowerCase())
825
- ) : i.options), k = T(
827
+ setup(e, { emit: i }) {
828
+ const n = e, a = i, l = `dm-autocomplete-${Math.random().toString(36).substr(2, 9)}`, r = V(), o = V(n.modelValue), u = V(!1), m = V(-1), b = B(() => o.value ? n.options.filter(
829
+ (w) => w.toLowerCase().includes(o.value.toLowerCase())
830
+ ) : n.options), k = B(
826
831
  () => m.value >= 0 ? `${l}-option-${m.value}` : void 0
827
832
  );
828
- H(() => i.modelValue, (w) => {
829
- d.value = w;
833
+ H(() => n.modelValue, (w) => {
834
+ o.value = w;
830
835
  });
831
- const D = () => {
832
- u.value = !0, m.value = -1, a("update:modelValue", d.value);
833
- }, B = () => {
834
- i.disabled || (u.value = !0);
836
+ const M = () => {
837
+ u.value = !0, m.value = -1, a("update:modelValue", o.value);
838
+ }, T = () => {
839
+ n.disabled || (u.value = !0);
835
840
  }, $ = () => {
836
841
  setTimeout(() => {
837
842
  u.value = !1;
838
843
  }, 200);
839
844
  }, C = (w) => {
840
- d.value = w, a("update:modelValue", w), u.value = !1, m.value = -1;
841
- }, f = (w) => {
845
+ o.value = w, a("update:modelValue", w), u.value = !1, m.value = -1;
846
+ }, h = (w) => {
842
847
  if (!u.value && w.key !== "Escape") {
843
848
  u.value = !0;
844
849
  return;
@@ -858,29 +863,29 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
858
863
  break;
859
864
  }
860
865
  }, p = (w) => {
861
- n.value && !n.value.contains(w.target) && (u.value = !1);
866
+ r.value && !r.value.contains(w.target) && (u.value = !1);
862
867
  };
863
868
  return J(() => {
864
869
  document.addEventListener("click", p);
865
- }), re(() => {
870
+ }), ie(() => {
866
871
  document.removeEventListener("click", p);
867
872
  }), (w, z) => (t(), s("div", {
868
873
  class: "dm-autocomplete",
869
874
  ref_key: "autocompleteRef",
870
- ref: n
875
+ ref: r
871
876
  }, [
872
877
  e.label ? (t(), s("label", {
873
878
  key: 0,
874
879
  for: l,
875
880
  class: "dm-autocomplete__label"
876
881
  }, [
877
- N(g(e.label) + " ", 1),
878
- e.required ? (t(), s("span", Wa, "*")) : h("", !0)
879
- ])) : h("", !0),
880
- v("div", Ka, [
881
- ie(v("input", {
882
+ A(g(e.label) + " ", 1),
883
+ e.required ? (t(), s("span", Ua, "*")) : f("", !0)
884
+ ])) : f("", !0),
885
+ v("div", Wa, [
886
+ re(v("input", {
882
887
  id: l,
883
- "onUpdate:modelValue": z[0] || (z[0] = (O) => d.value = O),
888
+ "onUpdate:modelValue": z[0] || (z[0] = (F) => o.value = F),
884
889
  type: "text",
885
890
  class: L(["dm-autocomplete__input", { "dm-autocomplete__input--error": e.error }]),
886
891
  placeholder: e.placeholder,
@@ -892,12 +897,12 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
892
897
  "aria-activedescendant": k.value,
893
898
  role: "combobox",
894
899
  autocomplete: "off",
895
- onInput: D,
896
- onFocus: B,
900
+ onInput: M,
901
+ onFocus: T,
897
902
  onBlur: $,
898
- onKeydown: f
899
- }, null, 42, Xa), [
900
- [ne, d.value]
903
+ onKeydown: h
904
+ }, null, 42, Ka), [
905
+ [ne, o.value]
901
906
  ]),
902
907
  u.value && b.value.length ? (t(), s("ul", {
903
908
  key: 0,
@@ -905,62 +910,62 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
905
910
  class: "dm-autocomplete__dropdown",
906
911
  role: "listbox"
907
912
  }, [
908
- (t(!0), s(W, null, X(b.value, (O, U) => (t(), s("li", {
909
- key: U,
910
- id: `${l}-option-${U}`,
911
- class: L(["dm-autocomplete__option", { "dm-autocomplete__option--active": U === m.value }]),
913
+ (t(!0), s(U, null, K(b.value, (F, P) => (t(), s("li", {
914
+ key: P,
915
+ id: `${l}-option-${P}`,
916
+ class: L(["dm-autocomplete__option", { "dm-autocomplete__option--active": P === m.value }]),
912
917
  role: "option",
913
- "aria-selected": U === m.value,
914
- onClick: (K) => C(O),
915
- onMouseenter: (K) => m.value = U
916
- }, g(O), 43, Ha))), 128))
917
- ], 8, ja)) : u.value && !b.value.length ? (t(), s("div", Ga, " No results ")) : h("", !0)
918
+ "aria-selected": P === m.value,
919
+ onClick: (W) => C(F),
920
+ onMouseenter: (W) => m.value = P
921
+ }, g(F), 43, Ha))), 128))
922
+ ], 8, Xa)) : u.value && !b.value.length ? (t(), s("div", Ga, " No results ")) : f("", !0)
918
923
  ]),
919
- e.error ? (t(), s("p", Ya, g(e.error), 1)) : h("", !0)
924
+ e.error ? (t(), s("p", Ya, g(e.error), 1)) : f("", !0)
920
925
  ], 512));
921
926
  }
922
- }), ls = /* @__PURE__ */ E(Ja, [["__scopeId", "data-v-782dacde"]]), Qa = {
927
+ }), ls = /* @__PURE__ */ S(Ja, [["__scopeId", "data-v-782dacde"]]), Qa = {
923
928
  key: 0,
924
929
  class: "datametria-card__header"
925
930
  }, Za = { class: "datametria-card__title" }, et = { class: "datametria-card__content" }, at = {
926
931
  key: 1,
927
932
  class: "datametria-card__footer"
928
- }, tt = /* @__PURE__ */ S({
933
+ }, tt = /* @__PURE__ */ E({
929
934
  __name: "DatametriaCard",
930
935
  props: {
931
936
  title: {},
932
937
  padding: { type: Boolean, default: !0 }
933
938
  },
934
939
  setup(e) {
935
- const r = e, i = T(() => [
940
+ const i = e, n = B(() => [
936
941
  "datametria-card",
937
942
  {
938
- "datametria-card--no-padding": !r.padding
943
+ "datametria-card--no-padding": !i.padding
939
944
  }
940
945
  ]);
941
946
  return (a, l) => (t(), s("div", {
942
- class: L(i.value)
947
+ class: L(n.value)
943
948
  }, [
944
949
  e.title || a.$slots.header ? (t(), s("div", Qa, [
945
950
  R(a.$slots, "header", {}, () => [
946
951
  v("h3", Za, g(e.title), 1)
947
952
  ], !0)
948
- ])) : h("", !0),
953
+ ])) : f("", !0),
949
954
  v("div", et, [
950
955
  R(a.$slots, "default", {}, void 0, !0)
951
956
  ]),
952
957
  a.$slots.footer ? (t(), s("div", at, [
953
958
  R(a.$slots, "footer", {}, void 0, !0)
954
- ])) : h("", !0)
959
+ ])) : f("", !0)
955
960
  ], 2));
956
961
  }
957
- }), ss = /* @__PURE__ */ E(tt, [["__scopeId", "data-v-539a1b0c"]]), lt = {
962
+ }), ss = /* @__PURE__ */ S(tt, [["__scopeId", "data-v-539a1b0c"]]), lt = {
958
963
  key: 0,
959
964
  class: "datametria-modal__header"
960
- }, st = { class: "datametria-modal__title" }, rt = { class: "datametria-modal__body" }, it = {
965
+ }, st = { class: "datametria-modal__title" }, it = { class: "datametria-modal__body" }, rt = {
961
966
  key: 1,
962
967
  class: "datametria-modal__footer"
963
- }, nt = /* @__PURE__ */ S({
968
+ }, nt = /* @__PURE__ */ E({
964
969
  __name: "DatametriaModal",
965
970
  props: {
966
971
  modelValue: { type: Boolean },
@@ -969,11 +974,11 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
969
974
  closable: { type: Boolean, default: !0 }
970
975
  },
971
976
  emits: ["update:modelValue", "close"],
972
- setup(e, { emit: r }) {
973
- const i = e, a = r, l = () => {
974
- i.closable && (a("update:modelValue", !1), a("close"));
977
+ setup(e, { emit: i }) {
978
+ const n = e, a = i, l = () => {
979
+ n.closable && (a("update:modelValue", !1), a("close"));
975
980
  };
976
- return (n, d) => (t(), ee(ae, { to: "body" }, [
981
+ return (r, o) => (t(), ee(ae, { to: "body" }, [
977
982
  te(le, { name: "modal" }, {
978
983
  default: se(() => [
979
984
  e.modelValue ? (t(), s("div", {
@@ -983,65 +988,65 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
983
988
  }, [
984
989
  v("div", {
985
990
  class: "datametria-modal__content",
986
- style: j({ maxWidth: e.size })
991
+ style: X({ maxWidth: e.size })
987
992
  }, [
988
- e.title || n.$slots.header ? (t(), s("div", lt, [
989
- R(n.$slots, "header", {}, () => [
993
+ e.title || r.$slots.header ? (t(), s("div", lt, [
994
+ R(r.$slots, "header", {}, () => [
990
995
  v("h3", st, g(e.title), 1)
991
996
  ], !0),
992
997
  e.closable ? (t(), s("button", {
993
998
  key: 0,
994
999
  class: "datametria-modal__close",
995
1000
  onClick: l
996
- }, " × ")) : h("", !0)
997
- ])) : h("", !0),
998
- v("div", rt, [
999
- R(n.$slots, "default", {}, void 0, !0)
1001
+ }, " × ")) : f("", !0)
1002
+ ])) : f("", !0),
1003
+ v("div", it, [
1004
+ R(r.$slots, "default", {}, void 0, !0)
1000
1005
  ]),
1001
- n.$slots.footer ? (t(), s("div", it, [
1002
- R(n.$slots, "footer", {}, void 0, !0)
1003
- ])) : h("", !0)
1006
+ r.$slots.footer ? (t(), s("div", rt, [
1007
+ R(r.$slots, "footer", {}, void 0, !0)
1008
+ ])) : f("", !0)
1004
1009
  ], 4)
1005
- ])) : h("", !0)
1010
+ ])) : f("", !0)
1006
1011
  ]),
1007
1012
  _: 3
1008
1013
  })
1009
1014
  ]));
1010
1015
  }
1011
- }), rs = /* @__PURE__ */ E(nt, [["__scopeId", "data-v-8aa80965"]]), ot = /* @__PURE__ */ S({
1016
+ }), is = /* @__PURE__ */ S(nt, [["__scopeId", "data-v-8aa80965"]]), ot = /* @__PURE__ */ E({
1012
1017
  __name: "DatametriaContainer",
1013
1018
  props: {
1014
1019
  size: { default: "lg" },
1015
1020
  fluid: { type: Boolean, default: !1 }
1016
1021
  },
1017
1022
  setup(e) {
1018
- return (r, i) => (t(), s("div", {
1023
+ return (i, n) => (t(), s("div", {
1019
1024
  class: L(["dm-container", [`dm-container--${e.size}`, { "dm-container--fluid": e.fluid }]])
1020
1025
  }, [
1021
- R(r.$slots, "default", {}, void 0, !0)
1026
+ R(i.$slots, "default", {}, void 0, !0)
1022
1027
  ], 2));
1023
1028
  }
1024
- }), is = /* @__PURE__ */ E(ot, [["__scopeId", "data-v-4cc8678e"]]), dt = /* @__PURE__ */ S({
1029
+ }), rs = /* @__PURE__ */ S(ot, [["__scopeId", "data-v-4cc8678e"]]), dt = /* @__PURE__ */ E({
1025
1030
  __name: "DatametriaGrid",
1026
1031
  props: {
1027
1032
  cols: { default: 12 },
1028
1033
  gap: { default: "var(--dm-space-4)" }
1029
1034
  },
1030
1035
  setup(e) {
1031
- return (r, i) => (t(), s("div", {
1036
+ return (i, n) => (t(), s("div", {
1032
1037
  class: "dm-grid",
1033
- style: j({
1038
+ style: X({
1034
1039
  "--dm-grid-cols": e.cols,
1035
1040
  "--dm-grid-gap": e.gap
1036
1041
  })
1037
1042
  }, [
1038
- R(r.$slots, "default", {}, void 0, !0)
1043
+ R(i.$slots, "default", {}, void 0, !0)
1039
1044
  ], 4));
1040
1045
  }
1041
- }), ns = /* @__PURE__ */ E(dt, [["__scopeId", "data-v-9e2c1279"]]), ct = ["role", "aria-orientation"], ut = {
1046
+ }), ns = /* @__PURE__ */ S(dt, [["__scopeId", "data-v-9e2c1279"]]), ct = ["role", "aria-orientation"], ut = {
1042
1047
  key: 0,
1043
1048
  class: "dm-divider__label"
1044
- }, mt = /* @__PURE__ */ S({
1049
+ }, mt = /* @__PURE__ */ E({
1045
1050
  __name: "DatametriaDivider",
1046
1051
  props: {
1047
1052
  orientation: { default: "horizontal" },
@@ -1049,22 +1054,22 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
1049
1054
  label: {}
1050
1055
  },
1051
1056
  setup(e) {
1052
- return (r, i) => (t(), s("div", {
1057
+ return (i, n) => (t(), s("div", {
1053
1058
  class: L(["dm-divider", [`dm-divider--${e.orientation}`, { "dm-divider--dashed": e.dashed }]]),
1054
1059
  role: e.orientation === "horizontal" ? "separator" : void 0,
1055
1060
  "aria-orientation": e.orientation
1056
1061
  }, [
1057
- r.$slots.default || e.label ? (t(), s("span", ut, [
1058
- R(r.$slots, "default", {}, () => [
1059
- N(g(e.label), 1)
1062
+ i.$slots.default || e.label ? (t(), s("span", ut, [
1063
+ R(i.$slots, "default", {}, () => [
1064
+ A(g(e.label), 1)
1060
1065
  ], !0)
1061
- ])) : h("", !0)
1066
+ ])) : f("", !0)
1062
1067
  ], 10, ct));
1063
1068
  }
1064
- }), os = /* @__PURE__ */ E(mt, [["__scopeId", "data-v-b0655e4c"]]), vt = { class: "datametria-alert__icon" }, ht = { key: 0 }, ft = { key: 1 }, bt = { key: 2 }, pt = { key: 3 }, gt = { class: "datametria-alert__content" }, _t = {
1069
+ }), os = /* @__PURE__ */ S(mt, [["__scopeId", "data-v-b0655e4c"]]), vt = { class: "datametria-alert__icon" }, ft = { key: 0 }, ht = { key: 1 }, bt = { key: 2 }, pt = { key: 3 }, gt = { class: "datametria-alert__content" }, _t = {
1065
1070
  key: 0,
1066
1071
  class: "datametria-alert__title"
1067
- }, kt = { class: "datametria-alert__message" }, yt = /* @__PURE__ */ S({
1072
+ }, kt = { class: "datametria-alert__message" }, yt = /* @__PURE__ */ E({
1068
1073
  __name: "DatametriaAlert",
1069
1074
  props: {
1070
1075
  modelValue: { type: Boolean, default: !0 },
@@ -1075,33 +1080,38 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
1075
1080
  },
1076
1081
  emits: ["update:modelValue"],
1077
1082
  setup(e) {
1078
- const r = e, i = T(() => [
1083
+ const i = e;
1084
+ if (process.env.NODE_ENV === "development") {
1085
+ const a = ["success", "error", "warning", "info", "primary"];
1086
+ a.includes(i.variant) || console.warn(`[DatametriaAlert] Invalid variant "${i.variant}". Valid options: ${a.join(", ")}`);
1087
+ }
1088
+ const n = B(() => [
1079
1089
  "datametria-alert",
1080
- `datametria-alert--${r.variant}`
1090
+ `datametria-alert--${i.variant}`
1081
1091
  ]);
1082
1092
  return (a, l) => e.modelValue ? (t(), s("div", {
1083
1093
  key: 0,
1084
- class: L(i.value)
1094
+ class: L(n.value)
1085
1095
  }, [
1086
1096
  v("div", vt, [
1087
- e.variant === "success" ? (t(), s("span", ht, "✓")) : e.variant === "error" ? (t(), s("span", ft, "✕")) : e.variant === "warning" ? (t(), s("span", bt, "⚠")) : (t(), s("span", pt, "ℹ"))
1097
+ e.variant === "success" ? (t(), s("span", ft, "✓")) : e.variant === "error" ? (t(), s("span", ht, "✕")) : e.variant === "warning" ? (t(), s("span", bt, "⚠")) : (t(), s("span", pt, "ℹ"))
1088
1098
  ]),
1089
1099
  v("div", gt, [
1090
- e.title ? (t(), s("h4", _t, g(e.title), 1)) : h("", !0),
1100
+ e.title ? (t(), s("h4", _t, g(e.title), 1)) : f("", !0),
1091
1101
  v("p", kt, [
1092
1102
  R(a.$slots, "default", {}, () => [
1093
- N(g(e.message), 1)
1103
+ A(g(e.message), 1)
1094
1104
  ], !0)
1095
1105
  ])
1096
1106
  ]),
1097
1107
  e.closable ? (t(), s("button", {
1098
1108
  key: 0,
1099
1109
  class: "datametria-alert__close",
1100
- onClick: l[0] || (l[0] = (n) => a.$emit("update:modelValue", !1))
1101
- }, " × ")) : h("", !0)
1102
- ], 2)) : h("", !0);
1110
+ onClick: l[0] || (l[0] = (r) => a.$emit("update:modelValue", !1))
1111
+ }, " × ")) : f("", !0)
1112
+ ], 2)) : f("", !0);
1103
1113
  }
1104
- }), ds = /* @__PURE__ */ E(yt, [["__scopeId", "data-v-a27dad03"]]), $t = ["aria-live"], wt = { class: "dm-toast__content" }, xt = { class: "dm-toast__message" }, Vt = /* @__PURE__ */ S({
1114
+ }), ds = /* @__PURE__ */ S(yt, [["__scopeId", "data-v-8a7f7fad"]]), $t = ["aria-live"], wt = { class: "dm-toast__content" }, xt = { class: "dm-toast__message" }, Vt = /* @__PURE__ */ E({
1105
1115
  __name: "DatametriaToast",
1106
1116
  props: {
1107
1117
  message: {},
@@ -1111,21 +1121,26 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
1111
1121
  modelValue: { type: Boolean, default: !1 }
1112
1122
  },
1113
1123
  emits: ["update:modelValue", "close"],
1114
- setup(e, { emit: r }) {
1115
- const i = e, a = r, l = V(i.modelValue);
1116
- let n = null;
1117
- H(() => i.modelValue, (m) => {
1118
- l.value = m, m && i.duration > 0 && d();
1124
+ setup(e, { emit: i }) {
1125
+ const n = e;
1126
+ if (process.env.NODE_ENV === "development") {
1127
+ const m = ["success", "error", "warning", "info", "primary"];
1128
+ m.includes(n.variant) || console.warn(`[DatametriaToast] Invalid variant "${n.variant}". Valid options: ${m.join(", ")}`);
1129
+ }
1130
+ const a = i, l = V(n.modelValue);
1131
+ let r = null;
1132
+ H(() => n.modelValue, (m) => {
1133
+ l.value = m, m && n.duration > 0 && o();
1119
1134
  });
1120
- const d = () => {
1121
- n && clearTimeout(n), n = setTimeout(() => {
1135
+ const o = () => {
1136
+ r && clearTimeout(r), r = setTimeout(() => {
1122
1137
  u();
1123
- }, i.duration);
1138
+ }, n.duration);
1124
1139
  }, u = () => {
1125
- l.value = !1, a("update:modelValue", !1), a("close"), n && clearTimeout(n);
1140
+ l.value = !1, a("update:modelValue", !1), a("close"), r && clearTimeout(r);
1126
1141
  };
1127
1142
  return J(() => {
1128
- l.value && i.duration > 0 && d();
1143
+ l.value && n.duration > 0 && o();
1129
1144
  }), (m, b) => (t(), ee(ae, { to: "body" }, [
1130
1145
  te(le, { name: "dm-toast" }, {
1131
1146
  default: se(() => [
@@ -1142,18 +1157,18 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
1142
1157
  class: "dm-toast__close",
1143
1158
  onClick: u,
1144
1159
  "aria-label": "Fechar"
1145
- }, "×")) : h("", !0)
1160
+ }, "×")) : f("", !0)
1146
1161
  ])
1147
- ], 10, $t)) : h("", !0)
1162
+ ], 10, $t)) : f("", !0)
1148
1163
  ]),
1149
1164
  _: 1
1150
1165
  })
1151
1166
  ]));
1152
1167
  }
1153
- }), cs = /* @__PURE__ */ E(Vt, [["__scopeId", "data-v-f6096907"]]), Mt = ["id", "aria-hidden"], Dt = { class: "dm-tooltip__content" }, Ct = {
1168
+ }), cs = /* @__PURE__ */ S(Vt, [["__scopeId", "data-v-cc77063e"]]), Dt = ["id", "aria-hidden"], Mt = { class: "dm-tooltip__content" }, Ct = {
1154
1169
  key: 0,
1155
1170
  class: "dm-tooltip__arrow"
1156
- }, It = /* @__PURE__ */ S({
1171
+ }, It = /* @__PURE__ */ E({
1157
1172
  __name: "DatametriaTooltip",
1158
1173
  props: {
1159
1174
  content: {},
@@ -1168,64 +1183,64 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
1168
1183
  maxWidth: { default: "200px" }
1169
1184
  },
1170
1185
  emits: ["show", "hide"],
1171
- setup(e, { expose: r, emit: i }) {
1172
- const a = e, l = i, n = V(), d = V(), u = V(!1), m = V(), b = V(), k = T(() => `dm-tooltip-${Math.random().toString(36).substr(2, 9)}`), D = V({}), B = async () => {
1173
- if (!n.value || !d.value) return;
1186
+ setup(e, { expose: i, emit: n }) {
1187
+ const a = e, l = n, r = V(), o = V(), u = V(!1), m = V(), b = V(), k = B(() => `dm-tooltip-${Math.random().toString(36).substr(2, 9)}`), M = V({}), T = async () => {
1188
+ if (!r.value || !o.value) return;
1174
1189
  await Y();
1175
- const M = n.value.getBoundingClientRect(), F = d.value.getBoundingClientRect(), A = {
1190
+ const D = r.value.getBoundingClientRect(), N = o.value.getBoundingClientRect(), O = {
1176
1191
  width: window.innerWidth,
1177
1192
  height: window.innerHeight
1178
1193
  };
1179
- let o = 0, c = 0;
1194
+ let d = 0, c = 0;
1180
1195
  switch (a.placement) {
1181
1196
  case "top":
1182
1197
  case "top-start":
1183
1198
  case "top-end":
1184
- o = M.top - F.height - a.offset;
1199
+ d = D.top - N.height - a.offset;
1185
1200
  break;
1186
1201
  case "bottom":
1187
1202
  case "bottom-start":
1188
1203
  case "bottom-end":
1189
- o = M.bottom + a.offset;
1204
+ d = D.bottom + a.offset;
1190
1205
  break;
1191
1206
  case "left":
1192
- o = M.top + (M.height - F.height) / 2, c = M.left - F.width - a.offset;
1207
+ d = D.top + (D.height - N.height) / 2, c = D.left - N.width - a.offset;
1193
1208
  break;
1194
1209
  case "right":
1195
- o = M.top + (M.height - F.height) / 2, c = M.right + a.offset;
1210
+ d = D.top + (D.height - N.height) / 2, c = D.right + a.offset;
1196
1211
  break;
1197
1212
  }
1198
1213
  if (a.placement.startsWith("top") || a.placement.startsWith("bottom"))
1199
1214
  switch (a.placement) {
1200
1215
  case "top":
1201
1216
  case "bottom":
1202
- c = M.left + (M.width - F.width) / 2;
1217
+ c = D.left + (D.width - N.width) / 2;
1203
1218
  break;
1204
1219
  case "top-start":
1205
1220
  case "bottom-start":
1206
- c = M.left;
1221
+ c = D.left;
1207
1222
  break;
1208
1223
  case "top-end":
1209
1224
  case "bottom-end":
1210
- c = M.right - F.width;
1225
+ c = D.right - N.width;
1211
1226
  break;
1212
1227
  }
1213
- c < 0 ? c = 8 : c + F.width > A.width && (c = A.width - F.width - 8), o < 0 ? o = 8 : o + F.height > A.height && (o = A.height - F.height - 8), D.value = {
1228
+ c < 0 ? c = 8 : c + N.width > O.width && (c = O.width - N.width - 8), d < 0 ? d = 8 : d + N.height > O.height && (d = O.height - N.height - 8), M.value = {
1214
1229
  position: "fixed",
1215
- top: `${o}px`,
1230
+ top: `${d}px`,
1216
1231
  left: `${c}px`,
1217
1232
  maxWidth: a.maxWidth,
1218
1233
  zIndex: "9999"
1219
1234
  };
1220
1235
  }, $ = () => {
1221
1236
  a.disabled || u.value || (clearTimeout(b.value), m.value = window.setTimeout(async () => {
1222
- u.value = !0, l("show"), await B();
1237
+ u.value = !0, l("show"), await T();
1223
1238
  }, a.delay));
1224
1239
  }, C = () => {
1225
1240
  clearTimeout(m.value), b.value = window.setTimeout(() => {
1226
1241
  u.value = !1, l("hide");
1227
1242
  }, a.hideDelay);
1228
- }, f = () => {
1243
+ }, h = () => {
1229
1244
  a.trigger === "hover" && $();
1230
1245
  }, p = () => {
1231
1246
  a.trigger === "hover" && C();
@@ -1233,86 +1248,86 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
1233
1248
  a.trigger === "focus" && $();
1234
1249
  }, z = () => {
1235
1250
  a.trigger === "focus" && C();
1236
- }, O = () => {
1251
+ }, F = () => {
1237
1252
  a.trigger === "click" && (u.value ? C() : $());
1238
- }, U = () => {
1239
- B();
1240
- }, K = () => {
1241
- D.value = {};
1253
+ }, P = () => {
1254
+ T();
1255
+ }, W = () => {
1256
+ M.value = {};
1242
1257
  }, x = () => {
1243
- u.value && B();
1258
+ u.value && T();
1244
1259
  }, q = () => {
1245
- u.value && B();
1260
+ u.value && T();
1246
1261
  };
1247
1262
  return J(() => {
1248
1263
  window.addEventListener("resize", x), window.addEventListener("scroll", q, !0);
1249
- }), re(() => {
1264
+ }), ie(() => {
1250
1265
  clearTimeout(m.value), clearTimeout(b.value), window.removeEventListener("resize", x), window.removeEventListener("scroll", q, !0);
1251
- }), r({
1266
+ }), i({
1252
1267
  show: $,
1253
1268
  hide: C,
1254
- isVisible: T(() => u.value)
1255
- }), (M, F) => (t(), s("div", {
1269
+ isVisible: B(() => u.value)
1270
+ }), (D, N) => (t(), s("div", {
1256
1271
  ref_key: "triggerRef",
1257
- ref: n,
1272
+ ref: r,
1258
1273
  class: "dm-tooltip-trigger",
1259
- onMouseenter: f,
1274
+ onMouseenter: h,
1260
1275
  onMouseleave: p,
1261
1276
  onFocus: w,
1262
1277
  onBlur: z,
1263
- onClick: O
1278
+ onClick: F
1264
1279
  }, [
1265
- R(M.$slots, "default", {}, void 0, !0),
1280
+ R(D.$slots, "default", {}, void 0, !0),
1266
1281
  (t(), ee(ae, { to: "body" }, [
1267
1282
  te(le, {
1268
1283
  name: "tooltip",
1269
- onEnter: U,
1270
- onLeave: K
1284
+ onEnter: P,
1285
+ onLeave: W
1271
1286
  }, {
1272
1287
  default: se(() => [
1273
1288
  u.value ? (t(), s("div", {
1274
1289
  key: 0,
1275
1290
  ref_key: "tooltipRef",
1276
- ref: d,
1291
+ ref: o,
1277
1292
  id: k.value,
1278
1293
  class: L(["dm-tooltip", [
1279
1294
  `dm-tooltip--${e.placement}`,
1280
1295
  `dm-tooltip--${e.variant}`,
1281
1296
  { "dm-tooltip--arrow": e.showArrow }
1282
1297
  ]]),
1283
- style: j(D.value),
1298
+ style: X(M.value),
1284
1299
  role: "tooltip",
1285
1300
  "aria-hidden": !u.value
1286
1301
  }, [
1287
- v("div", Dt, [
1288
- R(M.$slots, "content", {}, () => [
1289
- N(g(e.content), 1)
1302
+ v("div", Mt, [
1303
+ R(D.$slots, "content", {}, () => [
1304
+ A(g(e.content), 1)
1290
1305
  ], !0)
1291
1306
  ]),
1292
- e.showArrow ? (t(), s("div", Ct)) : h("", !0)
1293
- ], 14, Mt)) : h("", !0)
1307
+ e.showArrow ? (t(), s("div", Ct)) : f("", !0)
1308
+ ], 14, Dt)) : f("", !0)
1294
1309
  ]),
1295
1310
  _: 3
1296
1311
  })
1297
1312
  ]))
1298
1313
  ], 544));
1299
1314
  }
1300
- }), us = /* @__PURE__ */ E(It, [["__scopeId", "data-v-130ed64e"]]), Bt = ["aria-label"], Tt = {
1315
+ }), us = /* @__PURE__ */ S(It, [["__scopeId", "data-v-130ed64e"]]), Bt = ["aria-label"], Tt = {
1301
1316
  key: 0,
1302
1317
  class: "datametria-skeleton__text"
1303
1318
  }, Lt = {
1304
1319
  key: 1,
1305
1320
  class: "datametria-skeleton__avatar shimmer"
1306
- }, St = {
1321
+ }, Et = {
1307
1322
  key: 2,
1308
1323
  class: "datametria-skeleton__card"
1309
- }, Et = {
1324
+ }, St = {
1310
1325
  key: 3,
1311
1326
  class: "datametria-skeleton__button shimmer"
1312
1327
  }, qt = {
1313
1328
  key: 4,
1314
1329
  class: "datametria-skeleton__custom shimmer"
1315
- }, Rt = /* @__PURE__ */ S({
1330
+ }, Rt = /* @__PURE__ */ E({
1316
1331
  __name: "DatametriaSkeleton",
1317
1332
  props: {
1318
1333
  variant: { default: "text" },
@@ -1324,41 +1339,41 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
1324
1339
  lastLineWidth: { default: 75 }
1325
1340
  },
1326
1341
  setup(e) {
1327
- const r = e, i = T(() => {
1342
+ const i = e, n = B(() => {
1328
1343
  const l = {};
1329
- return r.width && (l.width = typeof r.width == "number" ? `${r.width}px` : r.width), r.height && (l.height = typeof r.height == "number" ? `${r.height}px` : r.height), l;
1344
+ return i.width && (l.width = typeof i.width == "number" ? `${i.width}px` : i.width), i.height && (l.height = typeof i.height == "number" ? `${i.height}px` : i.height), l;
1330
1345
  }), a = (l) => ({
1331
- width: l === r.lines ? `${r.lastLineWidth}%` : "100%",
1332
- marginBottom: l < r.lines ? "0.5rem" : "0"
1346
+ width: l === i.lines ? `${i.lastLineWidth}%` : "100%",
1347
+ marginBottom: l < i.lines ? "0.5rem" : "0"
1333
1348
  });
1334
- return (l, n) => (t(), s("div", {
1349
+ return (l, r) => (t(), s("div", {
1335
1350
  class: L(["datametria-skeleton", [
1336
1351
  `datametria-skeleton--${e.variant}`,
1337
1352
  { "datametria-skeleton--animated": e.animated }
1338
1353
  ]]),
1339
- style: j(i.value),
1354
+ style: X(n.value),
1340
1355
  "aria-label": e.ariaLabel,
1341
1356
  role: "status",
1342
1357
  "aria-live": "polite"
1343
1358
  }, [
1344
1359
  e.variant === "text" ? (t(), s("div", Tt, [
1345
- (t(!0), s(W, null, X(e.lines, (d) => (t(), s("div", {
1346
- key: d,
1360
+ (t(!0), s(U, null, K(e.lines, (o) => (t(), s("div", {
1361
+ key: o,
1347
1362
  class: "datametria-skeleton__line shimmer",
1348
- style: j(a(d))
1363
+ style: X(a(o))
1349
1364
  }, null, 4))), 128))
1350
- ])) : e.variant === "avatar" ? (t(), s("div", Lt)) : e.variant === "card" ? (t(), s("div", St, [...n[0] || (n[0] = [
1365
+ ])) : e.variant === "avatar" ? (t(), s("div", Lt)) : e.variant === "card" ? (t(), s("div", Et, [...r[0] || (r[0] = [
1351
1366
  ve('<div class="datametria-skeleton__card-header shimmer" data-v-1bc144db></div><div class="datametria-skeleton__card-content" data-v-1bc144db><div class="datametria-skeleton__line shimmer" style="width:100%;" data-v-1bc144db></div><div class="datametria-skeleton__line shimmer" style="width:80%;" data-v-1bc144db></div><div class="datametria-skeleton__line shimmer" style="width:60%;" data-v-1bc144db></div></div>', 2)
1352
- ])])) : e.variant === "button" ? (t(), s("div", Et)) : (t(), s("div", qt))
1367
+ ])])) : e.variant === "button" ? (t(), s("div", St)) : (t(), s("div", qt))
1353
1368
  ], 14, Bt));
1354
1369
  }
1355
- }), ms = /* @__PURE__ */ E(Rt, [["__scopeId", "data-v-1bc144db"]]), zt = { class: "dm-progress" }, Ft = {
1370
+ }), ms = /* @__PURE__ */ S(Rt, [["__scopeId", "data-v-1bc144db"]]), zt = { class: "dm-progress" }, Nt = {
1356
1371
  key: 0,
1357
1372
  class: "dm-progress__header"
1358
- }, At = { class: "dm-progress__label" }, Ot = {
1373
+ }, Ot = { class: "dm-progress__label" }, Ft = {
1359
1374
  key: 0,
1360
1375
  class: "dm-progress__value"
1361
- }, Nt = ["aria-valuenow", "aria-label"], Pt = /* @__PURE__ */ S({
1376
+ }, At = ["aria-valuenow", "aria-label"], jt = /* @__PURE__ */ E({
1362
1377
  __name: "DatametriaProgress",
1363
1378
  props: {
1364
1379
  value: {},
@@ -1368,12 +1383,12 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
1368
1383
  ariaLabel: {}
1369
1384
  },
1370
1385
  setup(e) {
1371
- const r = e, i = T(() => Math.min(Math.max(r.value, 0), 100));
1386
+ const i = e, n = B(() => Math.min(Math.max(i.value, 0), 100));
1372
1387
  return (a, l) => (t(), s("div", zt, [
1373
- e.label ? (t(), s("div", Ft, [
1374
- v("span", At, g(e.label), 1),
1375
- e.showValue ? (t(), s("span", Ot, g(e.value) + "%", 1)) : h("", !0)
1376
- ])) : h("", !0),
1388
+ e.label ? (t(), s("div", Nt, [
1389
+ v("span", Ot, g(e.label), 1),
1390
+ e.showValue ? (t(), s("span", Ft, g(e.value) + "%", 1)) : f("", !0)
1391
+ ])) : f("", !0),
1377
1392
  v("div", {
1378
1393
  class: "dm-progress__track",
1379
1394
  role: "progressbar",
@@ -1384,15 +1399,15 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
1384
1399
  }, [
1385
1400
  v("div", {
1386
1401
  class: L(["dm-progress__bar", `dm-progress__bar--${e.variant}`]),
1387
- style: j({ width: `${i.value}%` })
1402
+ style: X({ width: `${n.value}%` })
1388
1403
  }, null, 6)
1389
- ], 8, Nt)
1404
+ ], 8, At)
1390
1405
  ]));
1391
1406
  }
1392
- }), vs = /* @__PURE__ */ E(Pt, [["__scopeId", "data-v-6c9ef263"]]), Ut = ["aria-label"], Wt = {
1407
+ }), vs = /* @__PURE__ */ S(jt, [["__scopeId", "data-v-6c9ef263"]]), Pt = ["aria-label"], Ut = {
1393
1408
  key: 0,
1394
1409
  class: "dm-spinner__label"
1395
- }, Kt = /* @__PURE__ */ S({
1410
+ }, Wt = /* @__PURE__ */ E({
1396
1411
  __name: "DatametriaSpinner",
1397
1412
  props: {
1398
1413
  size: { default: "md" },
@@ -1401,12 +1416,12 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
1401
1416
  ariaLabel: { default: "Carregando" }
1402
1417
  },
1403
1418
  setup(e) {
1404
- return (r, i) => (t(), s("div", {
1419
+ return (i, n) => (t(), s("div", {
1405
1420
  class: L(["dm-spinner", [`dm-spinner--${e.size}`, `dm-spinner--${e.variant}`]]),
1406
1421
  role: "status",
1407
1422
  "aria-label": e.ariaLabel
1408
1423
  }, [
1409
- i[0] || (i[0] = v("svg", {
1424
+ n[0] || (n[0] = v("svg", {
1410
1425
  class: "dm-spinner__svg",
1411
1426
  viewBox: "0 0 50 50"
1412
1427
  }, [
@@ -1419,60 +1434,60 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
1419
1434
  "stroke-width": "4"
1420
1435
  })
1421
1436
  ], -1)),
1422
- e.label ? (t(), s("span", Wt, g(e.label), 1)) : h("", !0)
1423
- ], 10, Ut));
1437
+ e.label ? (t(), s("span", Ut, g(e.label), 1)) : f("", !0)
1438
+ ], 10, Pt));
1424
1439
  }
1425
- }), hs = /* @__PURE__ */ E(Kt, [["__scopeId", "data-v-013214f1"]]), Xt = { class: "datametria-table" }, jt = { class: "datametria-table__table" }, Ht = { class: "datametria-table__thead" }, Gt = { class: "datametria-table__tbody" }, Yt = {
1440
+ }), fs = /* @__PURE__ */ S(Wt, [["__scopeId", "data-v-013214f1"]]), Kt = { class: "datametria-table" }, Xt = { class: "datametria-table__table" }, Ht = { class: "datametria-table__thead" }, Gt = { class: "datametria-table__tbody" }, Yt = {
1426
1441
  key: 0,
1427
1442
  class: "datametria-table__empty"
1428
- }, Jt = /* @__PURE__ */ S({
1443
+ }, Jt = /* @__PURE__ */ E({
1429
1444
  __name: "DatametriaTable",
1430
1445
  props: {
1431
1446
  columns: {},
1432
1447
  data: {}
1433
1448
  },
1434
1449
  setup(e) {
1435
- return (r, i) => (t(), s("div", Xt, [
1436
- v("table", jt, [
1450
+ return (i, n) => (t(), s("div", Kt, [
1451
+ v("table", Xt, [
1437
1452
  v("thead", Ht, [
1438
1453
  v("tr", null, [
1439
- (t(!0), s(W, null, X(e.columns, (a) => (t(), s("th", {
1454
+ (t(!0), s(U, null, K(e.columns, (a) => (t(), s("th", {
1440
1455
  key: a.key,
1441
1456
  class: "datametria-table__th",
1442
- style: j({ width: a.width })
1457
+ style: X({ width: a.width })
1443
1458
  }, g(a.label), 5))), 128))
1444
1459
  ])
1445
1460
  ]),
1446
1461
  v("tbody", Gt, [
1447
- (t(!0), s(W, null, X(e.data, (a, l) => (t(), s("tr", {
1462
+ (t(!0), s(U, null, K(e.data, (a, l) => (t(), s("tr", {
1448
1463
  key: l,
1449
1464
  class: "datametria-table__tr"
1450
1465
  }, [
1451
- (t(!0), s(W, null, X(e.columns, (n) => (t(), s("td", {
1452
- key: n.key,
1466
+ (t(!0), s(U, null, K(e.columns, (r) => (t(), s("td", {
1467
+ key: r.key,
1453
1468
  class: "datametria-table__td"
1454
1469
  }, [
1455
- R(r.$slots, `cell-${n.key}`, {
1470
+ R(i.$slots, `cell-${r.key}`, {
1456
1471
  row: a,
1457
- value: a[n.key]
1472
+ value: a[r.key]
1458
1473
  }, () => [
1459
- N(g(a[n.key]), 1)
1474
+ A(g(a[r.key]), 1)
1460
1475
  ], !0)
1461
1476
  ]))), 128))
1462
1477
  ]))), 128))
1463
1478
  ])
1464
1479
  ]),
1465
1480
  e.data.length === 0 ? (t(), s("div", Yt, [
1466
- R(r.$slots, "empty", {}, () => [
1467
- i[0] || (i[0] = N("Nenhum dado disponível", -1))
1481
+ R(i.$slots, "empty", {}, () => [
1482
+ n[0] || (n[0] = A("Nenhum dado disponível", -1))
1468
1483
  ], !0)
1469
- ])) : h("", !0)
1484
+ ])) : f("", !0)
1470
1485
  ]));
1471
1486
  }
1472
- }), fs = /* @__PURE__ */ E(Jt, [["__scopeId", "data-v-7700c903"]]), Qt = ["aria-label"], Zt = ["src", "alt"], el = {
1487
+ }), hs = /* @__PURE__ */ S(Jt, [["__scopeId", "data-v-7700c903"]]), Qt = ["aria-label"], Zt = ["src", "alt"], el = {
1473
1488
  key: 1,
1474
1489
  class: "dm-avatar__initials"
1475
- }, al = /* @__PURE__ */ S({
1490
+ }, al = /* @__PURE__ */ E({
1476
1491
  __name: "DatametriaAvatar",
1477
1492
  props: {
1478
1493
  src: {},
@@ -1483,14 +1498,14 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
1483
1498
  ariaLabel: {}
1484
1499
  },
1485
1500
  setup(e) {
1486
- const r = e, i = V(!1), a = T(() => {
1487
- if (!r.name) return "?";
1488
- const n = r.name.trim().split(" ");
1489
- return n.length === 1 ? n[0].charAt(0).toUpperCase() : (n[0].charAt(0) + n[n.length - 1].charAt(0)).toUpperCase();
1501
+ const i = e, n = V(!1), a = B(() => {
1502
+ if (!i.name) return "?";
1503
+ const r = i.name.trim().split(" ");
1504
+ return r.length === 1 ? r[0].charAt(0).toUpperCase() : (r[0].charAt(0) + r[r.length - 1].charAt(0)).toUpperCase();
1490
1505
  }), l = () => {
1491
- i.value = !0;
1506
+ n.value = !0;
1492
1507
  };
1493
- return (n, d) => (t(), s("div", {
1508
+ return (r, o) => (t(), s("div", {
1494
1509
  class: L(["dm-avatar", [`dm-avatar--${e.size}`, { "dm-avatar--rounded": e.rounded }]]),
1495
1510
  "aria-label": e.ariaLabel || e.name
1496
1511
  }, [
@@ -1503,7 +1518,7 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
1503
1518
  }, null, 40, Zt)) : (t(), s("span", el, g(a.value), 1))
1504
1519
  ], 10, Qt));
1505
1520
  }
1506
- }), bs = /* @__PURE__ */ E(al, [["__scopeId", "data-v-898cb5d7"]]), tl = ["aria-label"], ll = /* @__PURE__ */ S({
1521
+ }), bs = /* @__PURE__ */ S(al, [["__scopeId", "data-v-898cb5d7"]]), tl = ["aria-label"], ll = /* @__PURE__ */ E({
1507
1522
  __name: "DatametriaBadge",
1508
1523
  props: {
1509
1524
  label: {},
@@ -1512,67 +1527,77 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
1512
1527
  ariaLabel: {}
1513
1528
  },
1514
1529
  setup(e) {
1515
- return (r, i) => (t(), s("span", {
1530
+ const i = e;
1531
+ if (process.env.NODE_ENV === "development") {
1532
+ const n = ["primary", "secondary", "success", "warning", "error", "info"];
1533
+ n.includes(i.variant) || console.warn(`[DatametriaBadge] Invalid variant "${i.variant}". Valid options: ${n.join(", ")}`);
1534
+ }
1535
+ return (n, a) => (t(), s("span", {
1516
1536
  class: L(["dm-badge", [`dm-badge--${e.variant}`, `dm-badge--${e.size}`]]),
1517
1537
  "aria-label": e.ariaLabel
1518
1538
  }, [
1519
- R(r.$slots, "default", {}, () => [
1520
- N(g(e.label), 1)
1539
+ R(n.$slots, "default", {}, () => [
1540
+ A(g(e.label), 1)
1521
1541
  ], !0)
1522
1542
  ], 10, tl));
1523
1543
  }
1524
- }), ps = /* @__PURE__ */ E(ll, [["__scopeId", "data-v-843741c5"]]), sl = ["role", "tabindex", "onKeydown"], rl = {
1544
+ }), ps = /* @__PURE__ */ S(ll, [["__scopeId", "data-v-1255c296"]]), sl = ["role", "tabindex", "onKeydown"], il = {
1525
1545
  key: 0,
1526
1546
  class: "dm-chip__icon"
1527
- }, il = { class: "dm-chip__label" }, nl = /* @__PURE__ */ S({
1547
+ }, rl = { class: "dm-chip__label" }, nl = /* @__PURE__ */ E({
1528
1548
  __name: "DatametriaChip",
1529
1549
  props: {
1530
1550
  label: {},
1531
- variant: { default: "default" },
1551
+ variant: { default: "primary" },
1532
1552
  closable: { type: Boolean, default: !1 },
1533
1553
  clickable: { type: Boolean, default: !1 }
1534
1554
  },
1535
1555
  emits: ["click", "close"],
1536
- setup(e, { emit: r }) {
1537
- const i = r, a = () => {
1538
- i("click");
1539
- }, l = () => {
1540
- i("close");
1556
+ setup(e, { emit: i }) {
1557
+ const n = e;
1558
+ if (process.env.NODE_ENV === "development") {
1559
+ const o = ["primary", "secondary", "success", "warning", "error"];
1560
+ o.includes(n.variant) || console.warn(`[DatametriaChip] Invalid variant "${n.variant}". Valid options: ${o.join(", ")}`);
1561
+ }
1562
+ const a = i, l = () => {
1563
+ a("click");
1564
+ }, r = () => {
1565
+ a("close");
1541
1566
  };
1542
- return (n, d) => (t(), s("div", {
1567
+ return (o, u) => (t(), s("div", {
1543
1568
  class: L(["dm-chip", [`dm-chip--${e.variant}`, { "dm-chip--clickable": e.clickable }]]),
1544
1569
  role: e.clickable ? "button" : void 0,
1545
1570
  tabindex: e.clickable ? 0 : void 0,
1546
- onClick: a,
1571
+ onClick: l,
1547
1572
  onKeydown: [
1548
- de(a, ["enter"]),
1549
- de(Z(a, ["prevent"]), ["space"])
1573
+ ce(l, ["enter"]),
1574
+ ce(Z(l, ["prevent"]), ["space"])
1550
1575
  ]
1551
1576
  }, [
1552
- n.$slots.icon ? (t(), s("span", rl, [
1553
- R(n.$slots, "icon", {}, void 0, !0)
1554
- ])) : h("", !0),
1555
- v("span", il, [
1556
- R(n.$slots, "default", {}, () => [
1557
- N(g(e.label), 1)
1577
+ o.$slots.icon ? (t(), s("span", il, [
1578
+ R(o.$slots, "icon", {}, void 0, !0)
1579
+ ])) : f("", !0),
1580
+ v("span", rl, [
1581
+ R(o.$slots, "default", {}, () => [
1582
+ A(g(e.label), 1)
1558
1583
  ], !0)
1559
1584
  ]),
1560
1585
  e.closable ? (t(), s("button", {
1561
1586
  key: 1,
1562
1587
  class: "dm-chip__close",
1563
- onClick: Z(l, ["stop"]),
1588
+ onClick: Z(r, ["stop"]),
1564
1589
  "aria-label": "Remover",
1565
1590
  type: "button"
1566
- }, "×")) : h("", !0)
1591
+ }, "×")) : f("", !0)
1567
1592
  ], 42, sl));
1568
1593
  }
1569
- }), gs = /* @__PURE__ */ E(nl, [["__scopeId", "data-v-0d7ae680"]]), ol = ["aria-label"], dl = { class: "dm-navbar__container" }, cl = { class: "dm-navbar__brand" }, ul = {
1594
+ }), gs = /* @__PURE__ */ S(nl, [["__scopeId", "data-v-c6a268e4"]]), ol = ["aria-label"], dl = { class: "dm-navbar__container" }, cl = { class: "dm-navbar__brand" }, ul = {
1570
1595
  href: "/",
1571
1596
  class: "dm-navbar__logo"
1572
1597
  }, ml = ["aria-expanded"], vl = {
1573
1598
  key: 1,
1574
1599
  class: "dm-navbar__actions"
1575
- }, hl = /* @__PURE__ */ S({
1600
+ }, fl = /* @__PURE__ */ E({
1576
1601
  __name: "DatametriaNavbar",
1577
1602
  props: {
1578
1603
  brand: { default: "" },
@@ -1583,47 +1608,53 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
1583
1608
  ariaLabel: { default: "Main navigation" }
1584
1609
  },
1585
1610
  setup(e) {
1586
- const r = e, i = V(!1), a = () => {
1587
- i.value = !i.value;
1611
+ const i = e;
1612
+ if (process.env.NODE_ENV === "development") {
1613
+ const r = ["light", "dark", "transparent", "primary"];
1614
+ r.includes(i.variant) || console.warn(`[DatametriaNavbar] Invalid variant "${i.variant}". Valid options: ${r.join(", ")}`);
1615
+ }
1616
+ const n = B(() => [
1617
+ "dm-navbar",
1618
+ `dm-navbar--${i.variant}`,
1619
+ { "dm-navbar--sticky": i.sticky },
1620
+ { "dm-navbar--transparent": i.transparent },
1621
+ { "dm-navbar--bordered": i.bordered }
1622
+ ]), a = V(!1), l = () => {
1623
+ a.value = !a.value;
1588
1624
  };
1589
- return (l, n) => (t(), s("nav", {
1590
- class: L(["dm-navbar", [
1591
- `dm-navbar--${r.variant}`,
1592
- { "dm-navbar--sticky": r.sticky },
1593
- { "dm-navbar--transparent": r.transparent },
1594
- { "dm-navbar--bordered": r.bordered }
1595
- ]]),
1625
+ return (r, o) => (t(), s("nav", {
1626
+ class: L(n.value),
1596
1627
  role: "navigation",
1597
- "aria-label": r.ariaLabel
1628
+ "aria-label": i.ariaLabel
1598
1629
  }, [
1599
1630
  v("div", dl, [
1600
1631
  v("div", cl, [
1601
- R(l.$slots, "brand", {}, () => [
1632
+ R(r.$slots, "brand", {}, () => [
1602
1633
  v("a", ul, g(e.brand), 1)
1603
1634
  ], !0)
1604
1635
  ]),
1605
- l.$slots.menu ? (t(), s("button", {
1636
+ r.$slots.menu ? (t(), s("button", {
1606
1637
  key: 0,
1607
1638
  class: "dm-navbar__toggle",
1608
- "aria-expanded": i.value,
1639
+ "aria-expanded": a.value,
1609
1640
  "aria-controls": "navbar-menu",
1610
- onClick: a
1611
- }, [...n[0] || (n[0] = [
1641
+ onClick: l
1642
+ }, [...o[0] || (o[0] = [
1612
1643
  v("span", { class: "dm-navbar__toggle-icon" }, null, -1)
1613
- ])], 8, ml)) : h("", !0),
1644
+ ])], 8, ml)) : f("", !0),
1614
1645
  v("div", {
1615
1646
  id: "navbar-menu",
1616
- class: L(["dm-navbar__menu", { "dm-navbar__menu--open": i.value }])
1647
+ class: L(["dm-navbar__menu", { "dm-navbar__menu--open": a.value }])
1617
1648
  }, [
1618
- R(l.$slots, "menu", {}, void 0, !0)
1649
+ R(r.$slots, "menu", {}, void 0, !0)
1619
1650
  ], 2),
1620
- l.$slots.actions ? (t(), s("div", vl, [
1621
- R(l.$slots, "actions", {}, void 0, !0)
1622
- ])) : h("", !0)
1651
+ r.$slots.actions ? (t(), s("div", vl, [
1652
+ R(r.$slots, "actions", {}, void 0, !0)
1653
+ ])) : f("", !0)
1623
1654
  ])
1624
1655
  ], 10, ol));
1625
1656
  }
1626
- }), _s = /* @__PURE__ */ E(hl, [["__scopeId", "data-v-adcb6d0c"]]), fl = ["aria-expanded", "aria-controls"], bl = ["disabled"], pl = ["id", "aria-labelledby"], gl = { class: "dm-menu__content" }, _l = ["tabindex", "aria-disabled", "onClick", "onMouseenter"], kl = {
1657
+ }), _s = /* @__PURE__ */ S(fl, [["__scopeId", "data-v-4d51ff6b"]]), hl = ["aria-expanded", "aria-controls"], bl = ["disabled"], pl = ["id", "aria-labelledby"], gl = { class: "dm-menu__content" }, _l = ["tabindex", "aria-disabled", "onClick", "onMouseenter"], kl = {
1627
1658
  key: 0,
1628
1659
  class: "dm-menu__divider"
1629
1660
  }, yl = {
@@ -1635,7 +1666,7 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
1635
1666
  }, Vl = {
1636
1667
  key: 1,
1637
1668
  class: "dm-menu__item-shortcut"
1638
- }, Ml = /* @__PURE__ */ S({
1669
+ }, Dl = /* @__PURE__ */ E({
1639
1670
  __name: "DatametriaMenu",
1640
1671
  props: {
1641
1672
  items: { default: () => [] },
@@ -1648,38 +1679,38 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
1648
1679
  offset: { default: 4 }
1649
1680
  },
1650
1681
  emits: ["open", "close", "item-click"],
1651
- setup(e, { expose: r, emit: i }) {
1652
- const a = e, l = i, n = V(), d = V(), u = V(!1), m = V(-1), b = T(() => `dm-menu-${Math.random().toString(36).substr(2, 9)}`), k = T(() => `dm-menu-trigger-${Math.random().toString(36).substr(2, 9)}`), D = V({}), B = async () => {
1653
- if (!n.value || !d.value) return;
1682
+ setup(e, { expose: i, emit: n }) {
1683
+ const a = e, l = n, r = V(), o = V(), u = V(!1), m = V(-1), b = B(() => `dm-menu-${Math.random().toString(36).substr(2, 9)}`), k = B(() => `dm-menu-trigger-${Math.random().toString(36).substr(2, 9)}`), M = V({}), T = async () => {
1684
+ if (!r.value || !o.value) return;
1654
1685
  await Y();
1655
- const o = n.value.getBoundingClientRect(), c = d.value.getBoundingClientRect(), y = {
1686
+ const d = r.value.getBoundingClientRect(), c = o.value.getBoundingClientRect(), y = {
1656
1687
  width: window.innerWidth,
1657
1688
  height: window.innerHeight
1658
1689
  };
1659
1690
  let _ = 0, I = 0;
1660
1691
  switch (a.placement) {
1661
1692
  case "bottom-start":
1662
- _ = o.bottom + a.offset, I = o.left;
1693
+ _ = d.bottom + a.offset, I = d.left;
1663
1694
  break;
1664
1695
  case "bottom-end":
1665
- _ = o.bottom + a.offset, I = o.right - c.width;
1696
+ _ = d.bottom + a.offset, I = d.right - c.width;
1666
1697
  break;
1667
1698
  case "top-start":
1668
- _ = o.top - c.height - a.offset, I = o.left;
1699
+ _ = d.top - c.height - a.offset, I = d.left;
1669
1700
  break;
1670
1701
  case "top-end":
1671
- _ = o.top - c.height - a.offset, I = o.right - c.width;
1702
+ _ = d.top - c.height - a.offset, I = d.right - c.width;
1672
1703
  break;
1673
1704
  case "left":
1674
- _ = o.top, I = o.left - c.width - a.offset;
1705
+ _ = d.top, I = d.left - c.width - a.offset;
1675
1706
  break;
1676
1707
  case "right":
1677
- _ = o.top, I = o.right + a.offset;
1708
+ _ = d.top, I = d.right + a.offset;
1678
1709
  break;
1679
1710
  }
1680
1711
  I < 8 ? I = 8 : I + c.width > y.width - 8 && (I = y.width - c.width - 8), _ < 8 ? _ = 8 : _ + c.height > y.height - 8 && (_ = y.height - c.height - 8);
1681
- const Q = a.fullWidth ? `${o.width}px` : "auto";
1682
- D.value = {
1712
+ const Q = a.fullWidth ? `${d.width}px` : "auto";
1713
+ M.value = {
1683
1714
  position: "fixed",
1684
1715
  top: `${_}px`,
1685
1716
  left: `${I}px`,
@@ -1687,28 +1718,28 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
1687
1718
  zIndex: "9999"
1688
1719
  };
1689
1720
  }, $ = async () => {
1690
- a.disabled || u.value || (u.value = !0, m.value = -1, l("open"), await B(), Y(() => {
1691
- const o = a.items.findIndex((c) => !c.disabled && !c.divider);
1692
- o !== -1 && (m.value = o);
1721
+ a.disabled || u.value || (u.value = !0, m.value = -1, l("open"), await T(), Y(() => {
1722
+ const d = a.items.findIndex((c) => !c.disabled && !c.divider);
1723
+ d !== -1 && (m.value = d);
1693
1724
  }));
1694
1725
  }, C = () => {
1695
1726
  u.value && (u.value = !1, m.value = -1, l("close"), Y(() => {
1696
- var o;
1697
- (o = n.value) == null || o.focus();
1727
+ var d;
1728
+ (d = r.value) == null || d.focus();
1698
1729
  }));
1699
- }, f = () => {
1730
+ }, h = () => {
1700
1731
  u.value ? C() : $();
1701
1732
  }, p = () => {
1702
- f();
1703
- }, w = (o) => {
1704
- switch (o.key) {
1733
+ h();
1734
+ }, w = (d) => {
1735
+ switch (d.key) {
1705
1736
  case "Enter":
1706
1737
  case " ":
1707
1738
  case "ArrowDown":
1708
- o.preventDefault(), $();
1739
+ d.preventDefault(), $();
1709
1740
  break;
1710
1741
  case "ArrowUp":
1711
- o.preventDefault(), $(), Y(() => {
1742
+ d.preventDefault(), $(), Y(() => {
1712
1743
  var y;
1713
1744
  const c = ((y = a.items.map((_, I) => ({ item: _, index: I })).filter(({ item: _ }) => !_.disabled && !_.divider).pop()) == null ? void 0 : y.index) ?? -1;
1714
1745
  c !== -1 && (m.value = c);
@@ -1718,71 +1749,71 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
1718
1749
  C();
1719
1750
  break;
1720
1751
  }
1721
- }, z = (o) => {
1722
- switch (o.key) {
1752
+ }, z = (d) => {
1753
+ switch (d.key) {
1723
1754
  case "ArrowDown":
1724
- o.preventDefault(), O();
1755
+ d.preventDefault(), F();
1725
1756
  break;
1726
1757
  case "ArrowUp":
1727
- o.preventDefault(), U();
1758
+ d.preventDefault(), P();
1728
1759
  break;
1729
1760
  case "Enter":
1730
1761
  case " ":
1731
- if (o.preventDefault(), m.value !== -1) {
1762
+ if (d.preventDefault(), m.value !== -1) {
1732
1763
  const c = a.items[m.value];
1733
- K(c, m.value);
1764
+ W(c, m.value);
1734
1765
  }
1735
1766
  break;
1736
1767
  case "Escape":
1737
- o.preventDefault(), C();
1768
+ d.preventDefault(), C();
1738
1769
  break;
1739
1770
  case "Tab":
1740
1771
  C();
1741
1772
  break;
1742
1773
  }
1743
- }, O = () => {
1744
- const o = a.items.map((_, I) => ({ item: _, index: I })).filter(({ item: _ }) => !_.disabled && !_.divider).map(({ index: _ }) => _);
1745
- if (o.length === 0) return;
1746
- const c = o.indexOf(m.value), y = c === -1 ? 0 : (c + 1) % o.length;
1747
- m.value = o[y];
1748
- }, U = () => {
1749
- const o = a.items.map((_, I) => ({ item: _, index: I })).filter(({ item: _ }) => !_.disabled && !_.divider).map(({ index: _ }) => _);
1750
- if (o.length === 0) return;
1751
- const c = o.indexOf(m.value), y = c === -1 ? o.length - 1 : (c - 1 + o.length) % o.length;
1752
- m.value = o[y];
1753
- }, K = (o, c) => {
1754
- o.disabled || o.divider || (l("item-click", o, c), o.action && o.action(), a.closeOnItemClick && C());
1755
- }, x = (o) => {
1756
- o.stopPropagation();
1774
+ }, F = () => {
1775
+ const d = a.items.map((_, I) => ({ item: _, index: I })).filter(({ item: _ }) => !_.disabled && !_.divider).map(({ index: _ }) => _);
1776
+ if (d.length === 0) return;
1777
+ const c = d.indexOf(m.value), y = c === -1 ? 0 : (c + 1) % d.length;
1778
+ m.value = d[y];
1779
+ }, P = () => {
1780
+ const d = a.items.map((_, I) => ({ item: _, index: I })).filter(({ item: _ }) => !_.disabled && !_.divider).map(({ index: _ }) => _);
1781
+ if (d.length === 0) return;
1782
+ const c = d.indexOf(m.value), y = c === -1 ? d.length - 1 : (c - 1 + d.length) % d.length;
1783
+ m.value = d[y];
1784
+ }, W = (d, c) => {
1785
+ d.disabled || d.divider || (l("item-click", d, c), d.action && d.action(), a.closeOnItemClick && C());
1786
+ }, x = (d) => {
1787
+ d.stopPropagation();
1757
1788
  }, q = () => {
1758
- B();
1759
- }, M = () => {
1760
- D.value = {};
1761
- }, F = (o) => {
1789
+ T();
1790
+ }, D = () => {
1791
+ M.value = {};
1792
+ }, N = (d) => {
1762
1793
  var y, _;
1763
1794
  if (!u.value) return;
1764
- const c = o.target;
1765
- (y = n.value) != null && y.contains(c) || (_ = d.value) != null && _.contains(c) || C();
1766
- }, A = () => {
1767
- u.value && B();
1795
+ const c = d.target;
1796
+ (y = r.value) != null && y.contains(c) || (_ = o.value) != null && _.contains(c) || C();
1797
+ }, O = () => {
1798
+ u.value && T();
1768
1799
  };
1769
1800
  return J(() => {
1770
- document.addEventListener("click", F), window.addEventListener("resize", A);
1771
- }), re(() => {
1772
- document.removeEventListener("click", F), window.removeEventListener("resize", A);
1801
+ document.addEventListener("click", N), window.addEventListener("resize", O);
1802
+ }), ie(() => {
1803
+ document.removeEventListener("click", N), window.removeEventListener("resize", O);
1773
1804
  }), H(() => a.items, () => {
1774
1805
  m.value >= a.items.length && (m.value = -1);
1775
- }), r({
1806
+ }), i({
1776
1807
  open: $,
1777
1808
  close: C,
1778
- toggle: f,
1779
- isOpen: T(() => u.value)
1780
- }), (o, c) => (t(), s("div", {
1809
+ toggle: h,
1810
+ isOpen: B(() => u.value)
1811
+ }), (d, c) => (t(), s("div", {
1781
1812
  class: L(["dm-menu", { "dm-menu--disabled": e.disabled }])
1782
1813
  }, [
1783
1814
  v("div", {
1784
1815
  ref_key: "triggerRef",
1785
- ref: n,
1816
+ ref: r,
1786
1817
  class: "dm-menu__trigger",
1787
1818
  "aria-expanded": u.value,
1788
1819
  "aria-haspopup": !0,
@@ -1790,16 +1821,16 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
1790
1821
  onClick: p,
1791
1822
  onKeydown: w
1792
1823
  }, [
1793
- R(o.$slots, "trigger", {
1824
+ R(d.$slots, "trigger", {
1794
1825
  isOpen: u.value,
1795
- toggle: f
1826
+ toggle: h
1796
1827
  }, () => [
1797
1828
  v("button", {
1798
1829
  type: "button",
1799
1830
  class: "dm-menu__button",
1800
1831
  disabled: e.disabled
1801
1832
  }, [
1802
- N(g(e.triggerText) + " ", 1),
1833
+ A(g(e.triggerText) + " ", 1),
1803
1834
  (t(), s("svg", {
1804
1835
  class: L(["dm-menu__chevron", { "dm-menu__chevron--open": u.value }]),
1805
1836
  viewBox: "0 0 20 20",
@@ -1813,35 +1844,35 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
1813
1844
  ])], 2))
1814
1845
  ], 8, bl)
1815
1846
  ], !0)
1816
- ], 40, fl),
1847
+ ], 40, hl),
1817
1848
  (t(), ee(ae, { to: "body" }, [
1818
1849
  te(le, {
1819
1850
  name: "menu",
1820
1851
  onEnter: q,
1821
- onLeave: M
1852
+ onLeave: D
1822
1853
  }, {
1823
1854
  default: se(() => [
1824
1855
  u.value ? (t(), s("div", {
1825
1856
  key: 0,
1826
1857
  ref_key: "menuRef",
1827
- ref: d,
1858
+ ref: o,
1828
1859
  id: b.value,
1829
1860
  class: L(["dm-menu__dropdown", [
1830
1861
  `dm-menu__dropdown--${e.placement}`,
1831
1862
  { "dm-menu__dropdown--full-width": e.fullWidth }
1832
1863
  ]]),
1833
- style: j(D.value),
1864
+ style: X(M.value),
1834
1865
  role: "menu",
1835
1866
  "aria-labelledby": k.value,
1836
1867
  onKeydown: z,
1837
1868
  onClick: x
1838
1869
  }, [
1839
1870
  v("div", gl, [
1840
- R(o.$slots, "default", {
1871
+ R(d.$slots, "default", {
1841
1872
  close: C,
1842
1873
  focusedIndex: m.value
1843
1874
  }, () => [
1844
- (t(!0), s(W, null, X(e.items, (y, _) => (t(), s("div", {
1875
+ (t(!0), s(U, null, K(e.items, (y, _) => (t(), s("div", {
1845
1876
  key: y.key || _,
1846
1877
  class: L(["dm-menu__item", {
1847
1878
  "dm-menu__item--focused": m.value === _,
@@ -1851,23 +1882,23 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
1851
1882
  role: "menuitem",
1852
1883
  tabindex: y.disabled ? -1 : 0,
1853
1884
  "aria-disabled": y.disabled,
1854
- onClick: (I) => K(y, _),
1885
+ onClick: (I) => W(y, _),
1855
1886
  onMouseenter: (I) => m.value = _
1856
1887
  }, [
1857
- y.divider ? (t(), s("div", kl)) : (t(), s(W, { key: 1 }, [
1888
+ y.divider ? (t(), s("div", kl)) : (t(), s(U, { key: 1 }, [
1858
1889
  y.icon ? (t(), s("div", yl, [
1859
- (t(), ee(he(y.icon)))
1860
- ])) : h("", !0),
1890
+ (t(), ee(fe(y.icon)))
1891
+ ])) : f("", !0),
1861
1892
  v("div", $l, [
1862
1893
  v("div", wl, g(y.label), 1),
1863
- y.description ? (t(), s("div", xl, g(y.description), 1)) : h("", !0)
1894
+ y.description ? (t(), s("div", xl, g(y.description), 1)) : f("", !0)
1864
1895
  ]),
1865
- y.shortcut ? (t(), s("div", Vl, g(y.shortcut), 1)) : h("", !0)
1896
+ y.shortcut ? (t(), s("div", Vl, g(y.shortcut), 1)) : f("", !0)
1866
1897
  ], 64))
1867
1898
  ], 42, _l))), 128))
1868
1899
  ], !0)
1869
1900
  ])
1870
- ], 46, pl)) : h("", !0)
1901
+ ], 46, pl)) : f("", !0)
1871
1902
  ]),
1872
1903
  _: 3
1873
1904
  })
@@ -1879,53 +1910,53 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
1879
1910
  key: 0,
1880
1911
  class: "dm-menu__backdrop",
1881
1912
  onClick: C
1882
- })) : h("", !0)
1913
+ })) : f("", !0)
1883
1914
  ]),
1884
1915
  _: 1
1885
1916
  })
1886
1917
  ]))
1887
1918
  ], 2));
1888
1919
  }
1889
- }), ks = /* @__PURE__ */ E(Ml, [["__scopeId", "data-v-62db3fcc"]]), Dl = {
1920
+ }), ks = /* @__PURE__ */ S(Dl, [["__scopeId", "data-v-62db3fcc"]]), Ml = {
1890
1921
  class: "dm-breadcrumb",
1891
1922
  "aria-label": "Breadcrumb"
1892
1923
  }, Cl = { class: "dm-breadcrumb__list" }, Il = ["href", "onClick"], Bl = ["aria-current"], Tl = {
1893
1924
  key: 2,
1894
1925
  class: "dm-breadcrumb__separator",
1895
1926
  "aria-hidden": "true"
1896
- }, Ll = /* @__PURE__ */ S({
1927
+ }, Ll = /* @__PURE__ */ E({
1897
1928
  __name: "DatametriaBreadcrumb",
1898
1929
  props: {
1899
1930
  items: {},
1900
1931
  separator: { default: "/" }
1901
1932
  },
1902
1933
  emits: ["click"],
1903
- setup(e, { emit: r }) {
1904
- const i = r, a = (l, n, d) => {
1905
- i("click", n, d);
1934
+ setup(e, { emit: i }) {
1935
+ const n = i, a = (l, r, o) => {
1936
+ n("click", r, o);
1906
1937
  };
1907
- return (l, n) => (t(), s("nav", Dl, [
1938
+ return (l, r) => (t(), s("nav", Ml, [
1908
1939
  v("ol", Cl, [
1909
- (t(!0), s(W, null, X(e.items, (d, u) => (t(), s("li", {
1940
+ (t(!0), s(U, null, K(e.items, (o, u) => (t(), s("li", {
1910
1941
  key: u,
1911
1942
  class: "dm-breadcrumb__item"
1912
1943
  }, [
1913
- d.href && u < e.items.length - 1 ? (t(), s("a", {
1944
+ o.href && u < e.items.length - 1 ? (t(), s("a", {
1914
1945
  key: 0,
1915
- href: d.href,
1946
+ href: o.href,
1916
1947
  class: "dm-breadcrumb__link",
1917
- onClick: (m) => a(m, d, u)
1918
- }, g(d.label), 9, Il)) : (t(), s("span", {
1948
+ onClick: (m) => a(m, o, u)
1949
+ }, g(o.label), 9, Il)) : (t(), s("span", {
1919
1950
  key: 1,
1920
1951
  class: "dm-breadcrumb__current",
1921
1952
  "aria-current": u === e.items.length - 1 ? "page" : void 0
1922
- }, g(d.label), 9, Bl)),
1923
- u < e.items.length - 1 ? (t(), s("span", Tl, g(e.separator), 1)) : h("", !0)
1953
+ }, g(o.label), 9, Bl)),
1954
+ u < e.items.length - 1 ? (t(), s("span", Tl, g(e.separator), 1)) : f("", !0)
1924
1955
  ]))), 128))
1925
1956
  ])
1926
1957
  ]));
1927
1958
  }
1928
- }), ys = /* @__PURE__ */ E(Ll, [["__scopeId", "data-v-17c32ee3"]]), Sl = { class: "dm-tabs" }, El = ["aria-label"], ql = ["id", "aria-selected", "aria-controls", "tabindex", "onClick", "onKeydown"], Rl = { class: "dm-tabs__panels" }, zl = ["id", "aria-labelledby", "hidden"], Fl = /* @__PURE__ */ S({
1959
+ }), ys = /* @__PURE__ */ S(Ll, [["__scopeId", "data-v-17c32ee3"]]), El = { class: "dm-tabs" }, Sl = ["aria-label"], ql = ["id", "aria-selected", "aria-controls", "tabindex", "onClick", "onKeydown"], Rl = { class: "dm-tabs__panels" }, zl = ["id", "aria-labelledby", "hidden"], Nl = /* @__PURE__ */ E({
1929
1960
  __name: "DatametriaTabs",
1930
1961
  props: {
1931
1962
  tabs: {},
@@ -1933,41 +1964,41 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
1933
1964
  ariaLabel: { default: "Tabs" }
1934
1965
  },
1935
1966
  emits: ["update:modelValue"],
1936
- setup(e, { emit: r }) {
1937
- const i = e, a = r, l = V(i.modelValue);
1938
- H(() => i.modelValue, (u) => {
1967
+ setup(e, { emit: i }) {
1968
+ const n = e, a = i, l = V(n.modelValue);
1969
+ H(() => n.modelValue, (u) => {
1939
1970
  l.value = u;
1940
1971
  });
1941
- const n = (u) => {
1972
+ const r = (u) => {
1942
1973
  l.value = u, a("update:modelValue", u);
1943
- }, d = (u, m) => {
1974
+ }, o = (u, m) => {
1944
1975
  var k;
1945
1976
  let b = m;
1946
1977
  switch (u.key) {
1947
1978
  case "ArrowLeft":
1948
- u.preventDefault(), b = m > 0 ? m - 1 : i.tabs.length - 1;
1979
+ u.preventDefault(), b = m > 0 ? m - 1 : n.tabs.length - 1;
1949
1980
  break;
1950
1981
  case "ArrowRight":
1951
- u.preventDefault(), b = m < i.tabs.length - 1 ? m + 1 : 0;
1982
+ u.preventDefault(), b = m < n.tabs.length - 1 ? m + 1 : 0;
1952
1983
  break;
1953
1984
  case "Home":
1954
1985
  u.preventDefault(), b = 0;
1955
1986
  break;
1956
1987
  case "End":
1957
- u.preventDefault(), b = i.tabs.length - 1;
1988
+ u.preventDefault(), b = n.tabs.length - 1;
1958
1989
  break;
1959
1990
  default:
1960
1991
  return;
1961
1992
  }
1962
- n(b), (k = document.getElementById(`tab-${b}`)) == null || k.focus();
1993
+ r(b), (k = document.getElementById(`tab-${b}`)) == null || k.focus();
1963
1994
  };
1964
- return (u, m) => (t(), s("div", Sl, [
1995
+ return (u, m) => (t(), s("div", El, [
1965
1996
  v("div", {
1966
1997
  class: "dm-tabs__header",
1967
1998
  role: "tablist",
1968
1999
  "aria-label": e.ariaLabel
1969
2000
  }, [
1970
- (t(!0), s(W, null, X(e.tabs, (b, k) => (t(), s("button", {
2001
+ (t(!0), s(U, null, K(e.tabs, (b, k) => (t(), s("button", {
1971
2002
  key: k,
1972
2003
  id: `tab-${k}`,
1973
2004
  class: L(["dm-tabs__tab", { "dm-tabs__tab--active": l.value === k }]),
@@ -1975,16 +2006,16 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
1975
2006
  "aria-selected": l.value === k,
1976
2007
  "aria-controls": `panel-${k}`,
1977
2008
  tabindex: l.value === k ? 0 : -1,
1978
- onClick: (D) => n(k),
1979
- onKeydown: (D) => d(D, k)
2009
+ onClick: (M) => r(k),
2010
+ onKeydown: (M) => o(M, k)
1980
2011
  }, g(b), 43, ql))), 128)),
1981
2012
  v("div", {
1982
2013
  class: "dm-tabs__indicator",
1983
- style: j({ transform: `translateX(${l.value * 100}%)` })
2014
+ style: X({ transform: `translateX(${l.value * 100}%)` })
1984
2015
  }, null, 4)
1985
- ], 8, El),
2016
+ ], 8, Sl),
1986
2017
  v("div", Rl, [
1987
- (t(!0), s(W, null, X(e.tabs, (b, k) => (t(), s("div", {
2018
+ (t(!0), s(U, null, K(e.tabs, (b, k) => (t(), s("div", {
1988
2019
  key: k,
1989
2020
  id: `panel-${k}`,
1990
2021
  class: L(["dm-tabs__panel", { "dm-tabs__panel--active": l.value === k }]),
@@ -1997,54 +2028,54 @@ const fe = ["disabled", "type", "aria-busy", "aria-disabled"], be = {
1997
2028
  ])
1998
2029
  ]));
1999
2030
  }
2000
- }), $s = /* @__PURE__ */ E(Fl, [["__scopeId", "data-v-6d59d320"]]);
2001
- let G = V(!1), ce = !1;
2031
+ }), $s = /* @__PURE__ */ S(Nl, [["__scopeId", "data-v-6d59d320"]]);
2032
+ let G = V(!1), ue = !1;
2002
2033
  function ws() {
2003
2034
  const e = () => {
2004
2035
  G.value = !G.value, document.documentElement.classList.toggle("dark", G.value), localStorage.setItem("theme", G.value ? "dark" : "light");
2005
- }, r = (d) => {
2006
- G.value = d === "dark", document.documentElement.classList.toggle("dark", G.value), localStorage.setItem("theme", d);
2007
- }, i = () => {
2008
- ce = !0;
2009
- const d = localStorage.getItem("theme");
2010
- if (d)
2011
- r(d);
2036
+ }, i = (o) => {
2037
+ G.value = o === "dark", document.documentElement.classList.toggle("dark", G.value), localStorage.setItem("theme", o);
2038
+ }, n = () => {
2039
+ ue = !0;
2040
+ const o = localStorage.getItem("theme");
2041
+ if (o)
2042
+ i(o);
2012
2043
  else if (typeof window < "u" && window.matchMedia) {
2013
2044
  const u = window.matchMedia("(prefers-color-scheme: dark)").matches;
2014
- r(u ? "dark" : "light");
2045
+ i(u ? "dark" : "light");
2015
2046
  }
2016
2047
  typeof window < "u" && window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change", (u) => {
2017
- localStorage.getItem("theme") || r(u.matches ? "dark" : "light");
2048
+ localStorage.getItem("theme") || i(u.matches ? "dark" : "light");
2018
2049
  });
2019
2050
  };
2020
- ce || i();
2021
- const a = T(() => G.value ? "dark" : "light");
2051
+ ue || n();
2052
+ const a = B(() => G.value ? "dark" : "light");
2022
2053
  return {
2023
2054
  isDark: G,
2024
2055
  currentTheme: a,
2025
2056
  toggle: e,
2026
- setTheme: r,
2027
- setDark: () => r("dark"),
2028
- setLight: () => r("light"),
2029
- initTheme: i
2057
+ setTheme: i,
2058
+ setDark: () => i("dark"),
2059
+ setLight: () => i("light"),
2060
+ initTheme: n
2030
2061
  };
2031
2062
  }
2032
- const Al = (e) => !!e, Ol = (e) => e ? /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e) : !0, Nl = (e) => (r) => r ? r.length >= e : !0, Pl = (e) => (r) => r ? r.length <= e : !0, Ul = (e) => (r) => r ? e.test(r) : !0, Wl = (e) => (r) => e(r);
2063
+ const Ol = (e) => !!e, Fl = (e) => e ? /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e) : !0, Al = (e) => (i) => i ? i.length >= e : !0, jl = (e) => (i) => i ? i.length <= e : !0, Pl = (e) => (i) => i ? e.test(i) : !0, Ul = (e) => (i) => e(i);
2033
2064
  function xs() {
2034
2065
  return {
2035
- required: Al,
2036
- email: Ol,
2037
- minLength: Nl,
2038
- maxLength: Pl,
2039
- pattern: Ul,
2040
- custom: Wl
2066
+ required: Ol,
2067
+ email: Fl,
2068
+ minLength: Al,
2069
+ maxLength: jl,
2070
+ pattern: Pl,
2071
+ custom: Ul
2041
2072
  };
2042
2073
  }
2043
2074
  function Vs(e = {}) {
2044
- const r = V(!1), i = V(null), a = V(null), l = async (b, k = {}) => {
2045
- r.value = !0, i.value = null;
2075
+ const i = V(!1), n = V(null), a = V(null), l = async (b, k = {}) => {
2076
+ i.value = !0, n.value = null;
2046
2077
  try {
2047
- const D = e.baseURL ? `${e.baseURL}${b}` : b, B = await fetch(D, {
2078
+ const M = e.baseURL ? `${e.baseURL}${b}` : b, T = await fetch(M, {
2048
2079
  ...k,
2049
2080
  headers: {
2050
2081
  "Content-Type": "application/json",
@@ -2052,82 +2083,82 @@ function Vs(e = {}) {
2052
2083
  ...k.headers
2053
2084
  }
2054
2085
  });
2055
- if (!B.ok)
2056
- throw new Error(`HTTP ${B.status}: ${B.statusText}`);
2057
- const $ = await B.json();
2086
+ if (!T.ok)
2087
+ throw new Error(`HTTP ${T.status}: ${T.statusText}`);
2088
+ const $ = await T.json();
2058
2089
  return a.value = $, $;
2059
- } catch (D) {
2060
- throw i.value = D.message || "Request failed", D;
2090
+ } catch (M) {
2091
+ throw n.value = M.message || "Request failed", M;
2061
2092
  } finally {
2062
- r.value = !1;
2093
+ i.value = !1;
2063
2094
  }
2064
2095
  };
2065
2096
  return {
2066
- loading: r,
2067
- error: i,
2097
+ loading: i,
2098
+ error: n,
2068
2099
  data: a,
2069
2100
  get: (b, k) => l(b, { ...k, method: "GET" }),
2070
- post: (b, k, D) => l(b, {
2071
- ...D,
2101
+ post: (b, k, M) => l(b, {
2102
+ ...M,
2072
2103
  method: "POST",
2073
2104
  body: JSON.stringify(k)
2074
2105
  }),
2075
- put: (b, k, D) => l(b, {
2076
- ...D,
2106
+ put: (b, k, M) => l(b, {
2107
+ ...M,
2077
2108
  method: "PUT",
2078
2109
  body: JSON.stringify(k)
2079
2110
  }),
2080
2111
  delete: (b, k) => l(b, { ...k, method: "DELETE" })
2081
2112
  };
2082
2113
  }
2083
- function Ms() {
2084
- const e = V(1), r = "datametria-accessibility-scale", i = 0.8, a = 2, l = T(
2085
- () => Math.max(i, Math.min(a, e.value))
2086
- ), n = T(() => {
2114
+ function Ds() {
2115
+ const e = V(1), i = "datametria-accessibility-scale", n = 0.8, a = 2, l = B(
2116
+ () => Math.max(n, Math.min(a, e.value))
2117
+ ), r = B(() => {
2087
2118
  const $ = l.value;
2088
2119
  return $ <= 0.9 ? "scale-small" : $ >= 1.1 ? "scale-large" : "scale-normal";
2089
- }), d = ($) => {
2090
- const C = Math.max(i, Math.min(a, $));
2120
+ }), o = ($) => {
2121
+ const C = Math.max(n, Math.min(a, $));
2091
2122
  document.documentElement.style.setProperty("--user-scale", C.toString()), e.value = C;
2092
2123
  }, u = ($) => {
2093
2124
  try {
2094
- localStorage.setItem(r, $.toString());
2125
+ localStorage.setItem(i, $.toString());
2095
2126
  } catch (C) {
2096
2127
  console.warn("Failed to save accessibility scale:", C);
2097
2128
  }
2098
2129
  }, m = () => {
2099
2130
  try {
2100
- const $ = localStorage.getItem(r);
2131
+ const $ = localStorage.getItem(i);
2101
2132
  return $ ? parseFloat($) : 1;
2102
2133
  } catch ($) {
2103
2134
  return console.warn("Failed to load accessibility scale:", $), 1;
2104
2135
  }
2105
2136
  }, b = ($) => {
2106
- d($), u(l.value);
2137
+ o($), u(l.value);
2107
2138
  }, k = () => {
2108
2139
  b(e.value + 0.1);
2109
- }, D = () => {
2140
+ }, M = () => {
2110
2141
  b(e.value - 0.1);
2111
- }, B = () => {
2142
+ }, T = () => {
2112
2143
  b(1);
2113
2144
  };
2114
2145
  return H(e, ($) => {
2115
- d($);
2146
+ o($);
2116
2147
  }), J(() => {
2117
2148
  const $ = m();
2118
- d($);
2149
+ o($);
2119
2150
  }), {
2120
2151
  scale: l,
2121
- scaleClass: n,
2152
+ scaleClass: r,
2122
2153
  setScale: b,
2123
2154
  increaseScale: k,
2124
- decreaseScale: D,
2125
- resetScale: B,
2126
- minScale: i,
2155
+ decreaseScale: M,
2156
+ resetScale: T,
2157
+ minScale: n,
2127
2158
  maxScale: a
2128
2159
  };
2129
2160
  }
2130
- const P = {
2161
+ const j = {
2131
2162
  xs: 475,
2132
2163
  sm: 640,
2133
2164
  md: 768,
@@ -2135,96 +2166,96 @@ const P = {
2135
2166
  xl: 1280,
2136
2167
  "2xl": 1536
2137
2168
  };
2138
- function Ds() {
2139
- const e = V(0), r = () => {
2169
+ function Ms() {
2170
+ const e = V(0), i = () => {
2140
2171
  e.value = window.innerWidth;
2141
- }, i = (f) => e.value >= P[f], a = (f) => e.value <= P[f], l = (f, p) => e.value >= P[f] && e.value <= P[p], n = () => {
2142
- const f = e.value;
2143
- return f >= P["2xl"] ? "2xl" : f >= P.xl ? "xl" : f >= P.lg ? "lg" : f >= P.md ? "md" : f >= P.sm ? "sm" : "xs";
2144
- }, d = () => e.value < P.sm, u = () => i("sm") && e.value < P.md, m = () => i("md") && e.value < P.lg, b = () => i("lg") && e.value < P.xl, k = () => i("xl") && e.value < P["2xl"], D = () => i("2xl"), B = () => e.value < P.md, $ = () => l("md", "lg"), C = () => i("lg");
2172
+ }, n = (h) => e.value >= j[h], a = (h) => e.value <= j[h], l = (h, p) => e.value >= j[h] && e.value <= j[p], r = () => {
2173
+ const h = e.value;
2174
+ return h >= j["2xl"] ? "2xl" : h >= j.xl ? "xl" : h >= j.lg ? "lg" : h >= j.md ? "md" : h >= j.sm ? "sm" : "xs";
2175
+ }, o = () => e.value < j.sm, u = () => n("sm") && e.value < j.md, m = () => n("md") && e.value < j.lg, b = () => n("lg") && e.value < j.xl, k = () => n("xl") && e.value < j["2xl"], M = () => n("2xl"), T = () => e.value < j.md, $ = () => l("md", "lg"), C = () => n("lg");
2145
2176
  return J(() => {
2146
- r(), window.addEventListener("resize", r);
2147
- }), re(() => {
2148
- window.removeEventListener("resize", r);
2177
+ i(), window.addEventListener("resize", i);
2178
+ }), ie(() => {
2179
+ window.removeEventListener("resize", i);
2149
2180
  }), {
2150
2181
  windowWidth: e,
2151
- breakpoints: P,
2152
- isGreaterOrEqual: i,
2182
+ breakpoints: j,
2183
+ isGreaterOrEqual: n,
2153
2184
  isLessOrEqual: a,
2154
2185
  isBetween: l,
2155
- getCurrentBreakpoint: n,
2156
- isXs: d,
2186
+ getCurrentBreakpoint: r,
2187
+ isXs: o,
2157
2188
  isSm: u,
2158
2189
  isMd: m,
2159
2190
  isLg: b,
2160
2191
  isXl: k,
2161
- is2xl: D,
2162
- isMobile: B,
2192
+ is2xl: M,
2193
+ isMobile: T,
2163
2194
  isTablet: $,
2164
2195
  isDesktop: C
2165
2196
  };
2166
2197
  }
2167
2198
  function Cs(e = {}) {
2168
2199
  const {
2169
- color: r = "rgba(255, 255, 255, 0.3)",
2170
- duration: i = 600,
2200
+ color: i = "rgba(255, 255, 255, 0.3)",
2201
+ duration: n = 600,
2171
2202
  disabled: a = !1
2172
- } = e, l = V(), n = V([]), d = (f) => {
2203
+ } = e, l = V(), r = V([]), o = (h) => {
2173
2204
  if (a || !l.value) return;
2174
2205
  const p = l.value, w = p.getBoundingClientRect();
2175
- let z, O;
2176
- if (f instanceof MouseEvent)
2177
- z = f.clientX, O = f.clientY;
2206
+ let z, F;
2207
+ if (h instanceof MouseEvent)
2208
+ z = h.clientX, F = h.clientY;
2178
2209
  else {
2179
- const M = f.touches[0] || f.changedTouches[0];
2180
- z = M.clientX, O = M.clientY;
2210
+ const D = h.touches[0] || h.changedTouches[0];
2211
+ z = D.clientX, F = D.clientY;
2181
2212
  }
2182
- const U = z - w.left, K = O - w.top, x = Math.max(w.width, w.height), q = document.createElement("div");
2213
+ const P = z - w.left, W = F - w.top, x = Math.max(w.width, w.height), q = document.createElement("div");
2183
2214
  q.className = "datametria-ripple", q.style.cssText = `
2184
2215
  position: absolute;
2185
- left: ${U - x / 2}px;
2186
- top: ${K - x / 2}px;
2216
+ left: ${P - x / 2}px;
2217
+ top: ${W - x / 2}px;
2187
2218
  width: ${x}px;
2188
2219
  height: ${x}px;
2189
2220
  border-radius: 50%;
2190
- background: ${r};
2221
+ background: ${i};
2191
2222
  transform: scale(0);
2192
- animation: ripple-animation ${i / 1e3}s ease-out;
2223
+ animation: ripple-animation ${n / 1e3}s ease-out;
2193
2224
  pointer-events: none;
2194
2225
  z-index: 1;
2195
2226
  `, p.appendChild(q), setTimeout(() => {
2196
2227
  q.parentNode && q.parentNode.removeChild(q);
2197
- }, i);
2198
- }, u = (f) => {
2199
- d(f);
2200
- }, m = (f) => f ? (l.value = f, window.getComputedStyle(f).position === "static" && (f.style.position = "relative"), f.style.overflow = "hidden", f.addEventListener("click", u), () => {
2201
- f.removeEventListener("click", u);
2202
- }) : void 0, b = (f) => {
2203
- const p = n.value.findIndex((w) => w.id === f);
2204
- p > -1 && n.value.splice(p, 1);
2228
+ }, n);
2229
+ }, u = (h) => {
2230
+ o(h);
2231
+ }, m = (h) => h ? (l.value = h, window.getComputedStyle(h).position === "static" && (h.style.position = "relative"), h.style.overflow = "hidden", h.addEventListener("click", u), () => {
2232
+ h.removeEventListener("click", u);
2233
+ }) : void 0, b = (h) => {
2234
+ const p = r.value.findIndex((w) => w.id === h);
2235
+ p > -1 && r.value.splice(p, 1);
2205
2236
  }, k = () => {
2206
- n.value = [];
2237
+ r.value = [];
2207
2238
  };
2208
- re(() => {
2239
+ ie(() => {
2209
2240
  k();
2210
2241
  });
2211
- const D = (f) => ({
2242
+ const M = (h) => ({
2212
2243
  position: "absolute",
2213
- left: `${f.x}px`,
2214
- top: `${f.y}px`,
2215
- width: `${f.size}px`,
2216
- height: `${f.size}px`,
2244
+ left: `${h.x}px`,
2245
+ top: `${h.y}px`,
2246
+ width: `${h.size}px`,
2247
+ height: `${h.size}px`,
2217
2248
  borderRadius: "50%",
2218
- backgroundColor: r,
2249
+ backgroundColor: i,
2219
2250
  transform: "scale(0)",
2220
- animation: `ripple-animation ${i}ms ease-out`,
2251
+ animation: `ripple-animation ${n}ms ease-out`,
2221
2252
  pointerEvents: "none",
2222
2253
  zIndex: 1
2223
- }), B = () => {
2224
- const f = "ripple-keyframes";
2225
- if (document.getElementById(f)) return;
2254
+ }), T = () => {
2255
+ const h = "ripple-keyframes";
2256
+ if (document.getElementById(h)) return;
2226
2257
  const p = document.createElement("style");
2227
- p.id = f, p.textContent = `
2258
+ p.id = h, p.textContent = `
2228
2259
  @keyframes ripple-animation {
2229
2260
  0% {
2230
2261
  transform: scale(0);
@@ -2252,39 +2283,39 @@ function Cs(e = {}) {
2252
2283
  l.value && l.value.removeEventListener("click", u);
2253
2284
  };
2254
2285
  return J(() => {
2255
- B(), l.value && $();
2256
- }), H(l, (f) => {
2257
- f && $();
2286
+ T(), l.value && $();
2287
+ }), H(l, (h) => {
2288
+ h && $();
2258
2289
  }), {
2259
2290
  rippleRef: l,
2260
- ripples: n,
2291
+ ripples: r,
2261
2292
  applyRipple: m,
2262
2293
  removeRipple: b,
2263
2294
  clearRipples: k,
2264
- getRippleStyle: D,
2265
- createRipple: d,
2295
+ getRippleStyle: M,
2296
+ createRipple: o,
2266
2297
  addRippleEffect: $,
2267
2298
  removeRippleEffect: C
2268
2299
  };
2269
2300
  }
2270
2301
  function Is(e = {}) {
2271
2302
  const {
2272
- enabled: r = !0,
2273
- fallbackToVisual: i = !0,
2303
+ enabled: i = !0,
2304
+ fallbackToVisual: n = !0,
2274
2305
  visualDuration: a = 150
2275
- } = e, l = V(!1), n = V(r), d = V(null), u = () => !!("hapticFeedback" in navigator && navigator.hapticFeedback || "vibrate" in navigator && typeof navigator.vibrate == "function"), m = (o) => {
2306
+ } = e, l = V(!1), r = V(i), o = V(null), u = () => !!("hapticFeedback" in navigator && navigator.hapticFeedback || "vibrate" in navigator && typeof navigator.vibrate == "function"), m = (d) => {
2276
2307
  if (!("vibrate" in navigator) || typeof navigator.vibrate != "function") return !1;
2277
2308
  try {
2278
- return navigator.vibrate(o);
2309
+ return navigator.vibrate(d);
2279
2310
  } catch (c) {
2280
2311
  return console.warn("Haptic feedback failed:", c), !1;
2281
2312
  }
2282
- }, b = (o, c) => {
2283
- if (!i) return;
2313
+ }, b = (d, c) => {
2314
+ if (!n) return;
2284
2315
  const y = `visual-${Date.now()}`;
2285
- if (d.value = y, c) {
2316
+ if (o.value = y, c) {
2286
2317
  const _ = c.style.transform, I = c.style.transition;
2287
- switch (c.style.transition = "transform 75ms ease-out", o) {
2318
+ switch (c.style.transition = "transform 75ms ease-out", d) {
2288
2319
  case "light":
2289
2320
  c.style.transform = "scale(0.98)";
2290
2321
  break;
@@ -2302,45 +2333,45 @@ function Is(e = {}) {
2302
2333
  }
2303
2334
  setTimeout(() => {
2304
2335
  c.style.transform = _, setTimeout(() => {
2305
- c.style.transition = I, d.value === y && (d.value = null);
2336
+ c.style.transition = I, o.value === y && (o.value = null);
2306
2337
  }, 75);
2307
2338
  }, 75);
2308
2339
  }
2309
2340
  setTimeout(() => {
2310
- d.value === y && (d.value = null);
2341
+ o.value === y && (o.value = null);
2311
2342
  }, a);
2312
- }, k = (o) => {
2313
- if (!n.value) return;
2343
+ }, k = (d) => {
2344
+ if (!r.value) return;
2314
2345
  let c = !1;
2315
- l.value && (c = m(10)), !c && i && b("light", o);
2316
- }, D = (o) => {
2317
- if (!n.value) return;
2346
+ l.value && (c = m(10)), !c && n && b("light", d);
2347
+ }, M = (d) => {
2348
+ if (!r.value) return;
2318
2349
  let c = !1;
2319
- l.value && (c = m(20)), !c && i && b("medium", o);
2320
- }, B = (o) => {
2321
- if (!n.value) return;
2350
+ l.value && (c = m(20)), !c && n && b("medium", d);
2351
+ }, T = (d) => {
2352
+ if (!r.value) return;
2322
2353
  let c = !1;
2323
- l.value && (c = m(40)), !c && i && b("heavy", o);
2324
- }, $ = (o) => {
2325
- if (!n.value) return;
2354
+ l.value && (c = m(40)), !c && n && b("heavy", d);
2355
+ }, $ = (d) => {
2356
+ if (!r.value) return;
2326
2357
  let c = !1;
2327
- l.value && (c = m(5)), !c && i && b("selection", o);
2328
- }, C = (o = "medium", c) => {
2329
- switch (o) {
2358
+ l.value && (c = m(5)), !c && n && b("selection", d);
2359
+ }, C = (d = "medium", c) => {
2360
+ switch (d) {
2330
2361
  case "light":
2331
2362
  k(c);
2332
2363
  break;
2333
2364
  case "medium":
2334
- D(c);
2365
+ M(c);
2335
2366
  break;
2336
2367
  case "heavy":
2337
- B(c);
2368
+ T(c);
2338
2369
  break;
2339
2370
  }
2340
- }, f = (o, c) => {
2341
- if (!n.value) return;
2371
+ }, h = (d, c) => {
2372
+ if (!r.value) return;
2342
2373
  let y;
2343
- switch (o) {
2374
+ switch (d) {
2344
2375
  case "success":
2345
2376
  y = [10, 50, 10];
2346
2377
  break;
@@ -2352,28 +2383,28 @@ function Is(e = {}) {
2352
2383
  break;
2353
2384
  }
2354
2385
  let _ = !1;
2355
- l.value && (_ = m(y)), !_ && i && b("notification", c);
2356
- }, p = (o, c) => {
2357
- if (!n.value) return;
2386
+ l.value && (_ = m(y)), !_ && n && b("notification", c);
2387
+ }, p = (d, c) => {
2388
+ if (!r.value) return;
2358
2389
  let y = !1;
2359
- l.value && (y = m(o)), !y && i && b("medium", c);
2390
+ l.value && (y = m(d)), !y && n && b("medium", c);
2360
2391
  }, w = () => {
2361
- n.value = !0;
2392
+ r.value = !0;
2362
2393
  }, z = () => {
2363
- n.value = !1;
2364
- }, O = () => {
2365
- n.value = !n.value;
2366
- }, U = T(() => l.value && n.value), K = T(() => d.value !== null), x = (o = "light") => {
2367
- if (!n.value) return !1;
2394
+ r.value = !1;
2395
+ }, F = () => {
2396
+ r.value = !r.value;
2397
+ }, P = B(() => l.value && r.value), W = B(() => o.value !== null), x = (d = "light") => {
2398
+ if (!r.value) return !1;
2368
2399
  if ("hapticFeedback" in navigator && navigator.hapticFeedback)
2369
2400
  try {
2370
- return navigator.hapticFeedback.impact(o);
2401
+ return navigator.hapticFeedback.impact(d);
2371
2402
  } catch (c) {
2372
2403
  console.warn("Haptic feedback failed:", c);
2373
2404
  }
2374
2405
  if ("vibrate" in navigator && typeof navigator.vibrate == "function") {
2375
2406
  let c;
2376
- switch (o) {
2407
+ switch (d) {
2377
2408
  case "light":
2378
2409
  c = 10;
2379
2410
  break;
@@ -2403,10 +2434,10 @@ function Is(e = {}) {
2403
2434
  }
2404
2435
  return !1;
2405
2436
  }, q = () => {
2406
- const o = "haptic-keyframes";
2407
- if (document.getElementById(o)) return;
2437
+ const d = "haptic-keyframes";
2438
+ if (document.getElementById(d)) return;
2408
2439
  const c = document.createElement("style");
2409
- c.id = o, c.textContent = `
2440
+ c.id = d, c.textContent = `
2410
2441
  @keyframes haptic-pulse-light {
2411
2442
  0% { transform: scale(1); }
2412
2443
  50% { transform: scale(0.98); }
@@ -2448,10 +2479,10 @@ function Is(e = {}) {
2448
2479
  }
2449
2480
  }
2450
2481
  `, document.head.appendChild(c);
2451
- }, M = (o, c) => {
2452
- if (!o) return;
2482
+ }, D = (d, c) => {
2483
+ if (!d) return;
2453
2484
  q();
2454
- const y = o.style.animation;
2485
+ const y = d.style.animation;
2455
2486
  let _, I;
2456
2487
  switch (c) {
2457
2488
  case "light":
@@ -2475,91 +2506,91 @@ function Is(e = {}) {
2475
2506
  default:
2476
2507
  _ = "haptic-pulse-light 0.15s ease-out", I = 150;
2477
2508
  }
2478
- o.style.animation = _, setTimeout(() => {
2479
- o.style.animation = y;
2509
+ d.style.animation = _, setTimeout(() => {
2510
+ d.style.animation = y;
2480
2511
  }, I);
2481
- }, F = (o, c) => {
2512
+ }, N = (d, c) => {
2482
2513
  const y = x(c);
2483
- return M(o, c), y;
2484
- }, A = () => {
2485
- const o = u();
2486
- return l.value = o, o;
2514
+ return D(d, c), y;
2515
+ }, O = () => {
2516
+ const d = u();
2517
+ return l.value = d, d;
2487
2518
  };
2488
- return A(), {
2519
+ return O(), {
2489
2520
  // Estado
2490
2521
  isSupported: l,
2491
- isEnabled: n,
2492
- canVibrate: U,
2493
- hasVisualFeedback: K,
2494
- activeVisualFeedback: d,
2522
+ isEnabled: r,
2523
+ canVibrate: P,
2524
+ hasVisualFeedback: W,
2525
+ activeVisualFeedback: o,
2495
2526
  // Métodos principais (compatíveis com testes)
2496
2527
  triggerHaptic: x,
2497
- triggerVisualFeedback: M,
2498
- feedback: F,
2499
- checkSupport: A,
2528
+ triggerVisualFeedback: D,
2529
+ feedback: N,
2530
+ checkSupport: O,
2500
2531
  // Métodos de feedback específicos
2501
2532
  light: k,
2502
- medium: D,
2503
- heavy: B,
2533
+ medium: M,
2534
+ heavy: T,
2504
2535
  selection: $,
2505
2536
  impact: C,
2506
- notification: f,
2537
+ notification: h,
2507
2538
  custom: p,
2508
2539
  // Controles
2509
2540
  enable: w,
2510
2541
  disable: z,
2511
- toggle: O,
2542
+ toggle: F,
2512
2543
  // Utilitários
2513
2544
  detectHapticSupport: u
2514
2545
  };
2515
2546
  }
2516
- function Bs(e, r) {
2517
- const i = localStorage.getItem(e);
2518
- let a = r;
2519
- if (i)
2547
+ function Bs(e, i) {
2548
+ const n = localStorage.getItem(e);
2549
+ let a = i;
2550
+ if (n)
2520
2551
  try {
2521
- a = JSON.parse(i);
2552
+ a = JSON.parse(n);
2522
2553
  } catch {
2523
- a = r;
2554
+ a = i;
2524
2555
  }
2525
2556
  const l = V(a);
2526
2557
  return H(
2527
2558
  l,
2528
- (n) => {
2529
- localStorage.setItem(e, JSON.stringify(n));
2559
+ (r) => {
2560
+ localStorage.setItem(e, JSON.stringify(r));
2530
2561
  },
2531
2562
  { deep: !0 }
2532
2563
  ), l;
2533
2564
  }
2534
- function Ts(e, r = 300) {
2535
- const i = V(e.value);
2565
+ function Ts(e, i = 300) {
2566
+ const n = V(e.value);
2536
2567
  let a = null;
2537
2568
  return H(e, (l) => {
2538
2569
  a && clearTimeout(a), a = setTimeout(() => {
2539
- i.value = l;
2540
- }, r);
2541
- }), i;
2570
+ n.value = l;
2571
+ }, i);
2572
+ }), n;
2542
2573
  }
2543
2574
  function Ls() {
2544
- const e = V(!1), r = V(null);
2575
+ const e = V(!1), i = V(null);
2545
2576
  return {
2546
2577
  copied: e,
2547
- error: r,
2578
+ error: i,
2548
2579
  copy: async (l) => {
2549
2580
  try {
2550
- return await navigator.clipboard.writeText(l), e.value = !0, r.value = null, setTimeout(() => {
2581
+ return await navigator.clipboard.writeText(l), e.value = !0, i.value = null, setTimeout(() => {
2551
2582
  e.value = !1;
2552
2583
  }, 2e3), !0;
2553
- } catch (n) {
2554
- return r.value = n.message || "Copy failed", e.value = !1, !1;
2584
+ } catch (r) {
2585
+ return i.value = r.message || "Copy failed", e.value = !1, !1;
2555
2586
  }
2556
2587
  },
2557
2588
  read: async () => {
2558
2589
  try {
2559
2590
  const l = await navigator.clipboard.readText();
2560
- return r.value = null, l;
2591
+ return i.value = null, l;
2561
2592
  } catch (l) {
2562
- return r.value = l.message || "Read failed", "";
2593
+ return i.value = l.message || "Read failed", "";
2563
2594
  }
2564
2595
  }
2565
2596
  };
@@ -2570,41 +2601,41 @@ export {
2570
2601
  bs as DatametriaAvatar,
2571
2602
  ps as DatametriaBadge,
2572
2603
  ys as DatametriaBreadcrumb,
2573
- Xl as DatametriaButton,
2604
+ Kl as DatametriaButton,
2574
2605
  ss as DatametriaCard,
2575
2606
  Gl as DatametriaCheckbox,
2576
2607
  gs as DatametriaChip,
2577
- is as DatametriaContainer,
2608
+ rs as DatametriaContainer,
2578
2609
  Zl as DatametriaDatePicker,
2579
2610
  os as DatametriaDivider,
2580
2611
  ts as DatametriaFileUpload,
2581
2612
  ns as DatametriaGrid,
2582
- jl as DatametriaInput,
2613
+ Xl as DatametriaInput,
2583
2614
  ks as DatametriaMenu,
2584
- rs as DatametriaModal,
2615
+ is as DatametriaModal,
2585
2616
  _s as DatametriaNavbar,
2586
2617
  vs as DatametriaProgress,
2587
2618
  Yl as DatametriaRadio,
2588
2619
  Hl as DatametriaSelect,
2589
2620
  ms as DatametriaSkeleton,
2590
2621
  as as DatametriaSlider,
2591
- hs as DatametriaSpinner,
2622
+ fs as DatametriaSpinner,
2592
2623
  Jl as DatametriaSwitch,
2593
- fs as DatametriaTable,
2624
+ hs as DatametriaTable,
2594
2625
  $s as DatametriaTabs,
2595
2626
  Ql as DatametriaTextarea,
2596
2627
  es as DatametriaTimePicker,
2597
2628
  cs as DatametriaToast,
2598
2629
  us as DatametriaTooltip,
2599
- Wl as custom,
2600
- Ol as email,
2601
- Pl as maxLength,
2602
- Nl as minLength,
2603
- Ul as pattern,
2604
- Al as required,
2630
+ Ul as custom,
2631
+ Fl as email,
2632
+ jl as maxLength,
2633
+ Al as minLength,
2634
+ Pl as pattern,
2635
+ Ol as required,
2605
2636
  Vs as useAPI,
2606
- Ms as useAccessibilityScale,
2607
- Ds as useBreakpoints,
2637
+ Ds as useAccessibilityScale,
2638
+ Ms as useBreakpoints,
2608
2639
  Ls as useClipboard,
2609
2640
  Ts as useDebounce,
2610
2641
  Is as useHapticFeedback,