@solfacil/girassol 0.1.5 → 0.1.6

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.
@@ -17,12 +17,12 @@ var __spreadValues = (a, b) => {
17
17
  return a;
18
18
  };
19
19
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- import { defineComponent, useSlots, computed, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, renderSlot, toDisplayString, createCommentVNode, createVNode, mergeProps, isRef, ref, createBlock, withCtx, withDirectives, vShow, vModelText, Fragment, renderList, getCurrentScope, onScopeDispose, watch, withModifiers, withKeys, createTextVNode, reactive, onMounted, onUnmounted, Transition as Transition$1, normalizeStyle, render as render$7 } from "vue";
20
+ import { defineComponent, useSlots, computed, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, renderSlot, ref, toDisplayString, createCommentVNode, createVNode, mergeProps, isRef, createBlock, withCtx, withDirectives, vShow, vModelText, Fragment, renderList, getCurrentScope, onScopeDispose, watch, reactive, withModifiers, createTextVNode, Transition as Transition$1, normalizeStyle, withKeys, onMounted, onUnmounted, render as render$8 } from "vue";
21
21
  var Button_vue_vue_type_style_index_0_lang = "";
22
- const _hoisted_1$i = ["data-testid"];
23
- const _hoisted_2$g = { class: "icon -left" };
24
- const _hoisted_3$e = { class: "icon -right" };
25
- const _sfc_main$b = /* @__PURE__ */ defineComponent({
22
+ const _hoisted_1$k = ["data-testid"];
23
+ const _hoisted_2$i = { class: "icon -left" };
24
+ const _hoisted_3$g = { class: "icon -right" };
25
+ const _sfc_main$c = /* @__PURE__ */ defineComponent({
26
26
  props: {
27
27
  variant: { default: "primary" },
28
28
  dense: { type: Boolean, default: false },
@@ -46,23 +46,23 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
46
46
  `]),
47
47
  type: "button"
48
48
  }, [
49
- createElementVNode("div", _hoisted_2$g, [
49
+ createElementVNode("div", _hoisted_2$i, [
50
50
  renderSlot(_ctx.$slots, "icon-left")
51
51
  ]),
52
52
  renderSlot(_ctx.$slots, "default"),
53
- createElementVNode("div", _hoisted_3$e, [
53
+ createElementVNode("div", _hoisted_3$g, [
54
54
  renderSlot(_ctx.$slots, "icon-right")
55
55
  ])
56
- ], 10, _hoisted_1$i);
56
+ ], 10, _hoisted_1$k);
57
57
  };
58
58
  }
59
59
  });
60
- _sfc_main$b.install = (app) => {
61
- app.component("SolButton", _sfc_main$b);
60
+ _sfc_main$c.install = (app) => {
61
+ app.component("SolButton", _sfc_main$c);
62
62
  };
63
63
  var Input_vue_vue_type_style_index_0_lang = "";
64
- const _hoisted_1$h = ["id", "data-testid", "value"];
65
- const _sfc_main$a = /* @__PURE__ */ defineComponent({
64
+ const _hoisted_1$j = ["id", "data-testid", "value"];
65
+ const _sfc_main$b = /* @__PURE__ */ defineComponent({
66
66
  props: {
67
67
  id: null,
68
68
  modelValue: null,
@@ -70,32 +70,38 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
70
70
  error: { type: Boolean }
71
71
  },
72
72
  emits: ["update:modelValue"],
73
- setup(__props, { emit }) {
73
+ setup(__props, { expose, emit }) {
74
74
  function emitInput({ target }) {
75
- const { value } = target;
76
- emit("update:modelValue", value);
75
+ var _a2;
76
+ emit("update:modelValue", (_a2 = target == null ? void 0 : target.value) != null ? _a2 : "");
77
77
  }
78
+ const input = ref("");
79
+ expose({
80
+ input
81
+ });
78
82
  return (_ctx, _cache) => {
79
83
  return openBlock(), createElementBlock("input", {
80
84
  id: `input-${__props.id}`,
85
+ ref_key: "input",
86
+ ref: input,
81
87
  "data-testid": `input-${__props.id}`,
82
88
  value: __props.modelValue,
83
89
  class: normalizeClass(["sol-input-core", { "-invert": __props.invert, "-error": __props.error }]),
84
90
  onInput: emitInput
85
- }, null, 42, _hoisted_1$h);
91
+ }, null, 42, _hoisted_1$j);
86
92
  };
87
93
  }
88
94
  });
89
- _sfc_main$a.install = (app) => {
90
- app.component("SolInput", _sfc_main$a);
95
+ _sfc_main$b.install = (app) => {
96
+ app.component("SolInput", _sfc_main$b);
91
97
  };
92
98
  var Textfield_vue_vue_type_style_index_0_lang = "";
93
- const _hoisted_1$g = ["id", "data-testid"];
94
- const _hoisted_2$f = ["for"];
95
- const _hoisted_3$d = { class: "container-input" };
99
+ const _hoisted_1$i = ["id", "data-testid"];
100
+ const _hoisted_2$h = ["for"];
101
+ const _hoisted_3$f = { class: "container-input" };
96
102
  const _hoisted_4$6 = ["id"];
97
103
  const _hoisted_5$3 = ["id"];
98
- const _sfc_main$9 = /* @__PURE__ */ defineComponent({
104
+ const _sfc_main$a = /* @__PURE__ */ defineComponent({
99
105
  props: {
100
106
  id: null,
101
107
  class: null,
@@ -138,11 +144,11 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
138
144
  class: "label"
139
145
  }, [
140
146
  createElementVNode("span", null, toDisplayString(__props.label), 1)
141
- ], 8, _hoisted_2$f)) : createCommentVNode("", true)
147
+ ], 8, _hoisted_2$h)) : createCommentVNode("", true)
142
148
  ]),
143
- createElementVNode("div", _hoisted_3$d, [
149
+ createElementVNode("div", _hoisted_3$f, [
144
150
  renderSlot(_ctx.$slots, "default", {}, () => [
145
- createVNode(_sfc_main$a, mergeProps(_ctx.$attrs, {
151
+ createVNode(_sfc_main$b, mergeProps(_ctx.$attrs, {
146
152
  id: __props.id,
147
153
  modelValue: unref(model),
148
154
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(model) ? model.value = $event : null),
@@ -164,46 +170,46 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
164
170
  id: `error-${__props.id}`,
165
171
  class: "error"
166
172
  }, toDisplayString(__props.error), 9, _hoisted_5$3)) : createCommentVNode("", true)
167
- ], 10, _hoisted_1$g);
173
+ ], 10, _hoisted_1$i);
168
174
  };
169
175
  }
170
176
  });
171
- const _hoisted_1$f = {
177
+ const _hoisted_1$h = {
172
178
  preserveAspectRatio: "xMidYMid meet",
173
179
  viewBox: "0 0 24 24",
174
180
  width: "1.2em",
175
181
  height: "1.2em"
176
182
  };
177
- const _hoisted_2$e = /* @__PURE__ */ createElementVNode("g", { fill: "currentColor" }, [
183
+ const _hoisted_2$g = /* @__PURE__ */ createElementVNode("g", { fill: "currentColor" }, [
178
184
  /* @__PURE__ */ createElementVNode("path", { d: "M15 12a3 3 0 1 1-6 0a3 3 0 0 1 6 0z" }),
179
185
  /* @__PURE__ */ createElementVNode("path", { d: "M21.894 11.553C19.736 7.236 15.904 5 12 5c-3.903 0-7.736 2.236-9.894 6.553a1 1 0 0 0 0 .894C4.264 16.764 8.096 19 12 19c3.903 0 7.736-2.236 9.894-6.553a1 1 0 0 0 0-.894zM12 17c-2.969 0-6.002-1.62-7.87-5C5.998 8.62 9.03 7 12 7c2.969 0 6.002 1.62 7.87 5c-1.868 3.38-4.901 5-7.87 5z" })
180
186
  ], -1);
181
- const _hoisted_3$c = [
182
- _hoisted_2$e
187
+ const _hoisted_3$e = [
188
+ _hoisted_2$g
183
189
  ];
184
- function render$6(_ctx, _cache) {
185
- return openBlock(), createElementBlock("svg", _hoisted_1$f, _hoisted_3$c);
190
+ function render$7(_ctx, _cache) {
191
+ return openBlock(), createElementBlock("svg", _hoisted_1$h, _hoisted_3$e);
186
192
  }
187
- var EyeOn = { name: "mi-eye", render: render$6 };
188
- const _hoisted_1$e = {
193
+ var EyeOn = { name: "mi-eye", render: render$7 };
194
+ const _hoisted_1$g = {
189
195
  preserveAspectRatio: "xMidYMid meet",
190
196
  viewBox: "0 0 24 24",
191
197
  width: "1.2em",
192
198
  height: "1.2em"
193
199
  };
194
- const _hoisted_2$d = /* @__PURE__ */ createElementVNode("path", {
200
+ const _hoisted_2$f = /* @__PURE__ */ createElementVNode("path", {
195
201
  fill: "currentColor",
196
202
  d: "M4.707 3.293a1 1 0 0 0-1.414 1.414l2.424 2.424c-1.43 1.076-2.678 2.554-3.611 4.422a1 1 0 0 0 0 .894C4.264 16.764 8.096 19 12 19c1.555 0 3.1-.355 4.53-1.055l2.763 2.762a1 1 0 0 0 1.414-1.414l-16-16zm10.307 13.135c-.98.383-2 .572-3.014.572c-2.969 0-6.002-1.62-7.87-5c.817-1.479 1.858-2.62 3.018-3.437l2.144 2.144a3 3 0 0 0 4.001 4.001l1.72 1.72zm3.538-2.532c.483-.556.926-1.187 1.318-1.896c-1.868-3.38-4.9-5-7.87-5c-.112 0-.224.002-.336.007L9.879 5.223A10.215 10.215 0 0 1 12 5c3.903 0 7.736 2.236 9.894 6.553a1 1 0 0 1 0 .894a13.106 13.106 0 0 1-1.925 2.865l-1.417-1.416z"
197
203
  }, null, -1);
198
- const _hoisted_3$b = [
199
- _hoisted_2$d
204
+ const _hoisted_3$d = [
205
+ _hoisted_2$f
200
206
  ];
201
- function render$5(_ctx, _cache) {
202
- return openBlock(), createElementBlock("svg", _hoisted_1$e, _hoisted_3$b);
207
+ function render$6(_ctx, _cache) {
208
+ return openBlock(), createElementBlock("svg", _hoisted_1$g, _hoisted_3$d);
203
209
  }
204
- var EyeOff = { name: "mi-eye-off", render: render$5 };
205
- const _hoisted_1$d = ["aria-label"];
206
- const _sfc_main$8 = /* @__PURE__ */ defineComponent({
210
+ var EyeOff = { name: "mi-eye-off", render: render$6 };
211
+ const _hoisted_1$f = ["aria-label"];
212
+ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
207
213
  props: {
208
214
  id: { default: "" },
209
215
  label: { default: "Sua senha" }
@@ -212,7 +218,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
212
218
  const passwordIsVisible = ref(false);
213
219
  const inputType = computed(() => passwordIsVisible.value ? "text" : "password");
214
220
  return (_ctx, _cache) => {
215
- return openBlock(), createBlock(_sfc_main$9, {
221
+ return openBlock(), createBlock(_sfc_main$a, {
216
222
  id: __props.id,
217
223
  required: "",
218
224
  type: unref(inputType),
@@ -232,27 +238,27 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
232
238
  withDirectives(createVNode(unref(EyeOff), { "aria-hidden": "true" }, null, 512), [
233
239
  [vShow, !passwordIsVisible.value]
234
240
  ])
235
- ], 8, _hoisted_1$d)
241
+ ], 8, _hoisted_1$f)
236
242
  ]),
237
243
  _: 1
238
244
  }, 8, ["id", "type", "label"]);
239
245
  };
240
246
  }
241
247
  });
242
- _sfc_main$9.install = (app) => {
243
- app.component("SolTextfield", _sfc_main$9);
248
+ _sfc_main$a.install = (app) => {
249
+ app.component("SolTextfield", _sfc_main$a);
244
250
  };
245
- _sfc_main$8.install = (app) => {
246
- app.component("SolTextfieldPassword", _sfc_main$8);
251
+ _sfc_main$9.install = (app) => {
252
+ app.component("SolTextfieldPassword", _sfc_main$9);
247
253
  };
248
254
  var Textarea_vue_vue_type_style_index_0_lang = "";
249
- const _hoisted_1$c = ["id", "data-testid"];
250
- const _hoisted_2$c = ["for"];
251
- const _hoisted_3$a = { class: "container-textarea" };
255
+ const _hoisted_1$e = ["id", "data-testid"];
256
+ const _hoisted_2$e = ["for"];
257
+ const _hoisted_3$c = { class: "container-textarea" };
252
258
  const _hoisted_4$5 = ["id", "data-testid", "invert", "aria-invalid", "aria-describedby"];
253
259
  const _hoisted_5$2 = ["id"];
254
260
  const _hoisted_6$2 = ["id"];
255
- const _sfc_main$7 = /* @__PURE__ */ defineComponent({
261
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
256
262
  props: {
257
263
  id: null,
258
264
  class: null,
@@ -296,9 +302,9 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
296
302
  class: "label"
297
303
  }, [
298
304
  createElementVNode("span", null, toDisplayString(__props.label), 1)
299
- ], 8, _hoisted_2$c)) : createCommentVNode("", true)
305
+ ], 8, _hoisted_2$e)) : createCommentVNode("", true)
300
306
  ]),
301
- createElementVNode("div", _hoisted_3$a, [
307
+ createElementVNode("div", _hoisted_3$c, [
302
308
  renderSlot(_ctx.$slots, "default", {}, () => [
303
309
  withDirectives(createElementVNode("textarea", mergeProps(_ctx.$attrs, {
304
310
  id: `input-${__props.id}`,
@@ -323,17 +329,17 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
323
329
  id: `error-${__props.id}`,
324
330
  class: "error"
325
331
  }, toDisplayString(__props.error), 9, _hoisted_6$2)) : createCommentVNode("", true)
326
- ], 10, _hoisted_1$c);
332
+ ], 10, _hoisted_1$e);
327
333
  };
328
334
  }
329
335
  });
330
- _sfc_main$7.install = (app) => {
331
- app.component("SolTextarea", _sfc_main$7);
336
+ _sfc_main$8.install = (app) => {
337
+ app.component("SolTextarea", _sfc_main$8);
332
338
  };
333
339
  var Radio_vue_vue_type_style_index_0_lang = "";
334
- const _hoisted_1$b = ["id", "data-testid", "checked", "value", "name"];
335
- const _hoisted_2$b = ["for"];
336
- const _sfc_main$6 = /* @__PURE__ */ defineComponent({
340
+ const _hoisted_1$d = ["id", "data-testid", "checked", "value", "name"];
341
+ const _hoisted_2$d = ["for"];
342
+ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
337
343
  props: {
338
344
  id: null,
339
345
  name: null,
@@ -357,21 +363,21 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
357
363
  value: __props.value,
358
364
  name: __props.name,
359
365
  onChange: _cache[0] || (_cache[0] = ($event) => emit("change", __props.value))
360
- }), null, 16, _hoisted_1$b),
366
+ }), null, 16, _hoisted_1$d),
361
367
  createElementVNode("label", {
362
368
  class: "label",
363
369
  for: `radio-${__props.name}-${__props.id}`
364
- }, toDisplayString(__props.label), 9, _hoisted_2$b)
370
+ }, toDisplayString(__props.label), 9, _hoisted_2$d)
365
371
  ], 2);
366
372
  };
367
373
  }
368
374
  });
369
375
  var RadioGroup_vue_vue_type_style_index_0_lang = "";
370
- const _hoisted_1$a = ["aria-labelledby"];
371
- const _hoisted_2$a = ["id", "data-testid"];
372
- const _hoisted_3$9 = ["id"];
376
+ const _hoisted_1$c = ["aria-labelledby"];
377
+ const _hoisted_2$c = ["id", "data-testid"];
378
+ const _hoisted_3$b = ["id"];
373
379
  const _hoisted_4$4 = ["id"];
374
- const _sfc_main$5 = /* @__PURE__ */ defineComponent({
380
+ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
375
381
  props: {
376
382
  id: null,
377
383
  title: null,
@@ -414,7 +420,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
414
420
  id: `radio-group-title-${__props.id}`,
415
421
  class: normalizeClass(["title", { "sr-only": __props.hideTitle }]),
416
422
  "data-testid": `radio-group-title-${__props.id}`
417
- }, toDisplayString(__props.title), 11, _hoisted_2$a)
423
+ }, toDisplayString(__props.title), 11, _hoisted_2$c)
418
424
  ]),
419
425
  createElementVNode("ul", {
420
426
  class: normalizeClass(["container-radios", { "flex-col": __props.direction === "column" }])
@@ -426,7 +432,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
426
432
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.radios, (radio, index) => {
427
433
  var _a2;
428
434
  return openBlock(), createElementBlock("li", { key: index }, [
429
- createVNode(_sfc_main$6, mergeProps(_ctx.$attrs, {
435
+ createVNode(_sfc_main$7, mergeProps(_ctx.$attrs, {
430
436
  id: (_a2 = radio == null ? void 0 : radio.id) != null ? _a2 : `${radio.value}`,
431
437
  class: ["radio", { "mb-micro": __props.direction === "column", "mr-micro": __props.direction === "row" }],
432
438
  name: radio.name,
@@ -445,25 +451,25 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
445
451
  key: 0,
446
452
  id: `hint-${__props.id}`,
447
453
  class: "hint"
448
- }, toDisplayString(__props.hint), 9, _hoisted_3$9)) : __props.error ? (openBlock(), createElementBlock("p", {
454
+ }, toDisplayString(__props.hint), 9, _hoisted_3$b)) : __props.error ? (openBlock(), createElementBlock("p", {
449
455
  key: 1,
450
456
  id: `error-${__props.id}`,
451
457
  class: "error"
452
458
  }, toDisplayString(__props.error), 9, _hoisted_4$4)) : createCommentVNode("", true)
453
- ], 8, _hoisted_1$a);
459
+ ], 8, _hoisted_1$c);
454
460
  };
455
461
  }
456
462
  });
457
- _sfc_main$6.install = (app) => {
458
- app.component("SolRadio", _sfc_main$6);
463
+ _sfc_main$7.install = (app) => {
464
+ app.component("SolRadio", _sfc_main$7);
459
465
  };
460
- _sfc_main$5.install = (app) => {
461
- app.component("SolRadioGroup", _sfc_main$5);
466
+ _sfc_main$6.install = (app) => {
467
+ app.component("SolRadioGroup", _sfc_main$6);
462
468
  };
463
469
  var Checkbox_vue_vue_type_style_index_0_lang = "";
464
- const _hoisted_1$9 = ["id", "data-testid", "checked", "value", "name"];
465
- const _hoisted_2$9 = ["for"];
466
- const _sfc_main$4 = /* @__PURE__ */ defineComponent({
470
+ const _hoisted_1$b = ["id", "data-testid", "checked", "value", "name"];
471
+ const _hoisted_2$b = ["for"];
472
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
467
473
  props: {
468
474
  id: null,
469
475
  name: null,
@@ -487,21 +493,21 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
487
493
  value: __props.value,
488
494
  name: __props.name,
489
495
  onChange: _cache[0] || (_cache[0] = ($event) => emit("change", __props.value))
490
- }), null, 16, _hoisted_1$9),
496
+ }), null, 16, _hoisted_1$b),
491
497
  createElementVNode("label", {
492
498
  class: "label",
493
499
  for: `checkbox-${__props.name}-${__props.id}`
494
- }, toDisplayString(__props.label), 9, _hoisted_2$9)
500
+ }, toDisplayString(__props.label), 9, _hoisted_2$b)
495
501
  ], 2);
496
502
  };
497
503
  }
498
504
  });
499
505
  var CheckboxGroup_vue_vue_type_style_index_0_lang = "";
500
- const _hoisted_1$8 = ["aria-labelledby"];
501
- const _hoisted_2$8 = ["id", "data-testid"];
502
- const _hoisted_3$8 = ["id"];
506
+ const _hoisted_1$a = ["aria-labelledby"];
507
+ const _hoisted_2$a = ["id", "data-testid"];
508
+ const _hoisted_3$a = ["id"];
503
509
  const _hoisted_4$3 = ["id"];
504
- const _sfc_main$3 = /* @__PURE__ */ defineComponent({
510
+ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
505
511
  props: {
506
512
  id: null,
507
513
  title: null,
@@ -550,7 +556,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
550
556
  id: `checkbox-group-title-${__props.id}`,
551
557
  class: normalizeClass(["title", { "sr-only": __props.hideTitle }]),
552
558
  "data-testid": `checkbox-group-title-${__props.id}`
553
- }, toDisplayString(__props.title), 11, _hoisted_2$8)
559
+ }, toDisplayString(__props.title), 11, _hoisted_2$a)
554
560
  ]),
555
561
  createElementVNode("ul", {
556
562
  class: normalizeClass(["container-checkboxes", { "flex-col": __props.direction === "column" }])
@@ -562,7 +568,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
562
568
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.checkboxes, (checkbox, index) => {
563
569
  var _a2;
564
570
  return openBlock(), createElementBlock("li", { key: index }, [
565
- createVNode(_sfc_main$4, mergeProps(_ctx.$attrs, {
571
+ createVNode(_sfc_main$5, mergeProps(_ctx.$attrs, {
566
572
  id: (_a2 = checkbox == null ? void 0 : checkbox.id) != null ? _a2 : `${checkbox.value}`,
567
573
  class: ["checkbox", { "mb-micro": __props.direction === "column", "mr-micro": __props.direction === "row" }],
568
574
  label: checkbox.label,
@@ -581,27 +587,27 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
581
587
  key: 0,
582
588
  id: `hint-${__props.id}`,
583
589
  class: "hint"
584
- }, toDisplayString(__props.hint), 9, _hoisted_3$8)) : __props.error ? (openBlock(), createElementBlock("p", {
590
+ }, toDisplayString(__props.hint), 9, _hoisted_3$a)) : __props.error ? (openBlock(), createElementBlock("p", {
585
591
  key: 1,
586
592
  id: `error-${__props.id}`,
587
593
  class: "error"
588
594
  }, toDisplayString(__props.error), 9, _hoisted_4$3)) : createCommentVNode("", true)
589
- ], 8, _hoisted_1$8);
595
+ ], 8, _hoisted_1$a);
590
596
  };
591
597
  }
592
598
  });
593
- _sfc_main$4.install = (app) => {
594
- app.component("SolCheckbox", _sfc_main$4);
599
+ _sfc_main$5.install = (app) => {
600
+ app.component("SolCheckbox", _sfc_main$5);
595
601
  };
596
- _sfc_main$3.install = (app) => {
597
- app.component("SolCheckboxGroup", _sfc_main$3);
602
+ _sfc_main$4.install = (app) => {
603
+ app.component("SolCheckboxGroup", _sfc_main$4);
598
604
  };
599
605
  var Switch_vue_vue_type_style_index_0_lang = "";
600
- const _hoisted_1$7 = ["id", "for", "data-testid"];
601
- const _hoisted_2$7 = { class: "switch-container" };
602
- const _hoisted_3$7 = ["id", "aria-checked", "aria-labelledby", "data-testid", "checked", "value", "name"];
606
+ const _hoisted_1$9 = ["id", "for", "data-testid"];
607
+ const _hoisted_2$9 = { class: "switch-container" };
608
+ const _hoisted_3$9 = ["id", "aria-checked", "aria-labelledby", "data-testid", "checked", "value", "name"];
603
609
  const _hoisted_4$2 = /* @__PURE__ */ createElementVNode("span", { class: "ellipse" }, null, -1);
604
- const _sfc_main$2 = /* @__PURE__ */ defineComponent({
610
+ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
605
611
  props: {
606
612
  id: null,
607
613
  name: null,
@@ -623,8 +629,8 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
623
629
  class: normalizeClass(["label", { "mb-1": !__props.horizontalLabel, "sr-only": __props.hideLabel }]),
624
630
  for: `switch-${__props.name}-${__props.id}`,
625
631
  "data-testid": `switch-label-${__props.name}-${__props.id}`
626
- }, toDisplayString(__props.label), 11, _hoisted_1$7),
627
- createElementVNode("div", _hoisted_2$7, [
632
+ }, toDisplayString(__props.label), 11, _hoisted_1$9),
633
+ createElementVNode("div", _hoisted_2$9, [
628
634
  createElementVNode("input", mergeProps(_ctx.$attrs, {
629
635
  id: `switch-${__props.name}-${__props.id}`,
630
636
  type: "checkbox",
@@ -637,15 +643,15 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
637
643
  value: __props.value,
638
644
  name: __props.name,
639
645
  onChange: _cache[0] || (_cache[0] = ($event) => emit("change", __props.value))
640
- }), null, 16, _hoisted_3$7),
646
+ }), null, 16, _hoisted_3$9),
641
647
  _hoisted_4$2
642
648
  ])
643
649
  ], 2);
644
650
  };
645
651
  }
646
652
  });
647
- _sfc_main$2.install = (app) => {
648
- app.component("SolSwitch", _sfc_main$2);
653
+ _sfc_main$3.install = (app) => {
654
+ app.component("SolSwitch", _sfc_main$3);
649
655
  };
650
656
  function tryOnScopeDispose(fn) {
651
657
  if (getCurrentScope()) {
@@ -654,10 +660,12 @@ function tryOnScopeDispose(fn) {
654
660
  }
655
661
  return false;
656
662
  }
663
+ var _a;
657
664
  const isClient = typeof window !== "undefined";
658
665
  const isString = (val) => typeof val === "string";
659
666
  const noop = () => {
660
667
  };
668
+ isClient && ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent) && /iP(ad|hone|od)/.test(window.navigator.userAgent);
661
669
  function unrefElement(elRef) {
662
670
  var _a2;
663
671
  const plain = unref(elRef);
@@ -703,7 +711,9 @@ function onClickOutside(target, handler, options = {}) {
703
711
  if (!window2)
704
712
  return;
705
713
  const shouldListen = ref(true);
714
+ let fallback;
706
715
  const listener = (event) => {
716
+ window2.clearTimeout(fallback);
707
717
  const el = unrefElement(target);
708
718
  const composedPath = event.composedPath();
709
719
  if (!el || el === event.target || composedPath.includes(el) || !shouldListen.value)
@@ -722,6 +732,9 @@ function onClickOutside(target, handler, options = {}) {
722
732
  useEventListener(window2, "pointerdown", (e) => {
723
733
  const el = unrefElement(target);
724
734
  shouldListen.value = !!el && !e.composedPath().includes(el);
735
+ }, { passive: true }),
736
+ useEventListener(window2, "pointerup", (e) => {
737
+ fallback = window2.setTimeout(() => listener(e), 50);
725
738
  }, { passive: true })
726
739
  ];
727
740
  const stop = () => cleanup.forEach((fn) => fn());
@@ -731,39 +744,39 @@ const _global = typeof globalThis !== "undefined" ? globalThis : typeof window !
731
744
  const globalKey = "__vueuse_ssr_handlers__";
732
745
  _global[globalKey] = _global[globalKey] || {};
733
746
  _global[globalKey];
734
- var _a, _b;
735
- isClient && (window == null ? void 0 : window.navigator) && ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.platform) && /iP(ad|hone|od)/.test((_b = window == null ? void 0 : window.navigator) == null ? void 0 : _b.platform);
736
- const _hoisted_1$6 = {
747
+ const _hoisted_1$8 = {
737
748
  preserveAspectRatio: "xMidYMid meet",
738
749
  viewBox: "0 0 24 24",
739
750
  width: "1.2em",
740
751
  height: "1.2em"
741
752
  };
742
- const _hoisted_2$6 = /* @__PURE__ */ createElementVNode("path", {
753
+ const _hoisted_2$8 = /* @__PURE__ */ createElementVNode("path", {
743
754
  fill: "currentColor",
744
755
  d: "M10 4a6 6 0 1 0 0 12a6 6 0 0 0 0-12zm-8 6a8 8 0 1 1 14.32 4.906l5.387 5.387a1 1 0 0 1-1.414 1.414l-5.387-5.387A8 8 0 0 1 2 10z"
745
756
  }, null, -1);
746
- const _hoisted_3$6 = [
747
- _hoisted_2$6
757
+ const _hoisted_3$8 = [
758
+ _hoisted_2$8
748
759
  ];
749
- function render$4(_ctx, _cache) {
750
- return openBlock(), createElementBlock("svg", _hoisted_1$6, _hoisted_3$6);
760
+ function render$5(_ctx, _cache) {
761
+ return openBlock(), createElementBlock("svg", _hoisted_1$8, _hoisted_3$8);
751
762
  }
752
- var IconSearch = { name: "mi-search", render: render$4 };
763
+ var IconSearch = { name: "mi-search", render: render$5 };
753
764
  var Dropdown_vue_vue_type_style_index_0_lang = "";
754
- const _hoisted_1$5 = ["data-testid"];
755
- const _hoisted_2$5 = ["id", "disabled", "data-testid", "aria-expanded", "aria-controls", "aria-activedescendant", "onClick", "onKeyup"];
756
- const _hoisted_3$5 = { class: "dropdown-container" };
757
- const _hoisted_4$1 = ["id", "data-testid", "aria-labelledby"];
758
- const _hoisted_5$1 = ["id", "data-testid", "selected", "aria-selected", "onClick", "onKeyup"];
759
- const _hoisted_6$1 = {
765
+ const _hoisted_1$7 = ["data-testid"];
766
+ const _hoisted_2$7 = ["id", "for"];
767
+ const _hoisted_3$7 = ["id", "disabled", "data-testid", "aria-expanded", "aria-labelledby", "aria-controls", "onClick"];
768
+ const _hoisted_4$1 = { class: "dropdown-container" };
769
+ const _hoisted_5$1 = ["id", "data-testid", "aria-multiselectable", "aria-labelledby"];
770
+ const _hoisted_6$1 = ["id", "data-testid", "selected", "aria-selected", "onClick", "onKeyup"];
771
+ const _hoisted_7 = {
760
772
  key: 0,
761
773
  class: "no-data"
762
774
  };
763
- const _hoisted_7 = /* @__PURE__ */ createTextVNode(" Sem dados ");
764
- const _sfc_main$1 = /* @__PURE__ */ defineComponent({
775
+ const _hoisted_8 = /* @__PURE__ */ createTextVNode(" Sem dados ");
776
+ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
765
777
  props: {
766
778
  id: null,
779
+ label: null,
767
780
  disabled: { type: Boolean },
768
781
  loading: { type: Boolean, default: false },
769
782
  searchable: { type: Boolean, default: false },
@@ -779,7 +792,6 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
779
792
  const props = __props;
780
793
  const el = ref();
781
794
  const isDropdownOpen = ref(false);
782
- const elementFocus = ref("");
783
795
  const filter = ref("");
784
796
  const filtered = computed(() => {
785
797
  var _a2;
@@ -791,9 +803,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
791
803
  close2();
792
804
  });
793
805
  function toggleDropdown() {
794
- if (!props.disabled) {
806
+ if (!props.disabled)
795
807
  isDropdownOpen.value ? close2() : open();
796
- }
797
808
  }
798
809
  function open() {
799
810
  isDropdownOpen.value = true;
@@ -820,36 +831,43 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
820
831
  }
821
832
  return typeof option === "string" ? option === props.selected : option.value === props.selected;
822
833
  }
823
- const listItemFocusIndex = ref(0);
824
- function navigation({ key, code }) {
834
+ const elements = reactive({
835
+ list: void 0,
836
+ search: void 0
837
+ });
838
+ const elementFocus = reactive({
839
+ id: "",
840
+ index: 0
841
+ });
842
+ function navigation({ code }) {
825
843
  const focusListItem = (index) => {
826
- const indexItem = index != null ? index : listItemFocusIndex.value;
827
- if (!!index)
828
- listItemFocusIndex.value = index;
844
+ const indexItem = index != null ? index : elementFocus.index;
845
+ if (index !== void 0)
846
+ elementFocus.index = index;
829
847
  setTimeout(() => {
830
- const list = el.value.children[1].lastChild;
831
- const item = list.children[indexItem];
832
- elementFocus.value = item.id;
833
- item.focus();
848
+ var _a2, _b;
849
+ const item = (_a2 = elements.list) == null ? void 0 : _a2.children[indexItem];
850
+ elementFocus.id = (_b = item == null ? void 0 : item.id) != null ? _b : "";
851
+ item == null ? void 0 : item.focus();
834
852
  }, 0);
835
853
  };
836
854
  const focusSearch = () => {
837
855
  var _a2;
838
856
  if (props.searchable) {
839
- listItemFocusIndex.value = 0;
840
- (_a2 = el.value.children[1].firstChild.firstElementChild) == null ? void 0 : _a2.focus();
857
+ elementFocus.index = 0;
858
+ (_a2 = elements == null ? void 0 : elements.search) == null ? void 0 : _a2.focus();
841
859
  }
842
860
  };
843
861
  switch (code) {
844
862
  case "ArrowUp":
845
- listItemFocusIndex.value > 0 && (listItemFocusIndex.value -= 1);
863
+ elementFocus.index > 0 && (elementFocus.index -= 1);
846
864
  return focusListItem();
847
865
  case "ArrowDown":
848
866
  if (!isDropdownOpen.value) {
849
867
  open();
850
868
  return focusListItem(0);
851
869
  }
852
- listItemFocusIndex.value < filtered.value.length - 1 && (listItemFocusIndex.value += 1);
870
+ elementFocus.index < filtered.value.length - 1 && (elementFocus.index += 1);
853
871
  return focusListItem();
854
872
  case "Home":
855
873
  return focusListItem(0);
@@ -863,7 +881,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
863
881
  }
864
882
  function resetStates() {
865
883
  isDropdownOpen.value = false;
866
- listItemFocusIndex.value = 0;
884
+ elementFocus.index = 0;
867
885
  filter.value = "";
868
886
  }
869
887
  function getOption(option, key) {
@@ -877,108 +895,212 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
877
895
  "data-testid": `dropdown-${__props.id}`,
878
896
  onKeydownPassive: navigation
879
897
  }, [
898
+ renderSlot(_ctx.$slots, "label", {}, () => [
899
+ __props.label ? (openBlock(), createElementBlock("label", {
900
+ key: 0,
901
+ id: `label-dropdown-${__props.id}`,
902
+ class: normalizeClass(["label", { "-disabled": __props.disabled }]),
903
+ for: `toggle-dropdown-${__props.id}`
904
+ }, toDisplayString(__props.label), 11, _hoisted_2$7)) : createCommentVNode("", true)
905
+ ]),
880
906
  createElementVNode("button", {
881
907
  id: `toggle-dropdown-${__props.id}`,
882
- role: "combobox",
883
908
  disabled: __props.disabled,
884
909
  "data-testid": `toggle-dropdown-${__props.id}`,
885
910
  class: "button-toggle-dropdown toggle-dropdown",
886
911
  "aria-haspopup": "listbox",
887
912
  "aria-expanded": isDropdownOpen.value,
913
+ "aria-labelledby": `label-dropdown-${__props.id}`,
888
914
  "aria-controls": `dropdown-list-${__props.id}`,
889
- "aria-activedescendant": elementFocus.value,
890
- onClick: withModifiers(toggleDropdown, ["stop"]),
891
- onKeyup: withKeys(toggleDropdown, ["space"])
915
+ onClick: withModifiers(toggleDropdown, ["stop"])
892
916
  }, [
893
917
  renderSlot(_ctx.$slots, "toggle-dropdown", {
894
918
  toggle: { open, close: close2, toggleDropdown },
919
+ isOpen: isDropdownOpen.value,
895
920
  selectedSanitized: unref(selectedSanitize),
896
921
  selected: __props.selected
897
922
  }, () => [
898
923
  createTextVNode(toDisplayString(unref(selectedSanitize) || "Selecione"), 1)
899
924
  ])
900
- ], 40, _hoisted_2$5),
901
- withDirectives(createElementVNode("div", _hoisted_3$5, [
902
- __props.searchable ? (openBlock(), createElementBlock("div", {
903
- key: 0,
904
- class: normalizeClass(["search-container", { "-loading": __props.loading }])
905
- }, [
906
- renderSlot(_ctx.$slots, "search", { filter: filter.value }, () => [
907
- createVNode(_sfc_main$a, {
908
- id: `search-dropdown-${__props.id}`,
909
- modelValue: filter.value,
910
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => filter.value = $event),
911
- "data-testid": `search-dropdown-${__props.id}`,
912
- role: "searchbox",
913
- class: "search",
914
- "aria-autocomplete": "list",
915
- placeholder: __props.searchPlaceholder,
916
- "aria-expanded": isDropdownOpen.value,
917
- "aria-haspopup": "listbox",
918
- "aria-controls": `dropdown-list-${__props.id}`,
919
- "aria-activedescendant": elementFocus.value,
920
- "aria-label": `Pesquisar dentro da lista ${__props.id}`,
921
- onClick: _cache[1] || (_cache[1] = withModifiers(() => {
922
- }, ["stop"])),
923
- onInput: _cache[2] || (_cache[2] = ($event) => {
924
- var _a2;
925
- return emit("search", (_a2 = $event.target) == null ? void 0 : _a2.value);
926
- })
927
- }, null, 8, ["id", "modelValue", "data-testid", "placeholder", "aria-expanded", "aria-controls", "aria-activedescendant", "aria-label"]),
928
- createVNode(unref(IconSearch), {
929
- "aria-hidden": "true",
930
- class: "icon"
931
- })
932
- ])
933
- ], 2)) : createCommentVNode("", true),
934
- createElementVNode("ul", {
935
- id: `dropdown-list-${__props.id}`,
936
- "data-testid": `dropdown-list-${__props.id}`,
937
- role: "listbox",
938
- tabindex: "-1",
939
- "aria-labelledby": `toggle-dropdown-${__props.id}`,
940
- class: "dropdown-list-core"
941
- }, [
942
- (openBlock(true), createElementBlock(Fragment, null, renderList(unref(filtered), (option, index) => {
943
- return openBlock(), createElementBlock("li", {
944
- id: `option-${__props.id}-${getOption(option, "value")}`,
945
- key: index,
946
- "data-testid": `option-${__props.id}-${getOption(option, "value")}`,
947
- role: "option",
948
- tabindex: "-1",
949
- class: "dropdown-item",
950
- selected: isSelected(option),
951
- "aria-selected": isSelected(option),
952
- onClick: ($event) => select(option),
953
- onKeyup: [
954
- withKeys(($event) => select(option), ["enter"]),
955
- withKeys(($event) => select(option), ["space"])
956
- ]
925
+ ], 8, _hoisted_3$7),
926
+ createVNode(Transition$1, {
927
+ mode: "out-in",
928
+ name: "dropdown"
929
+ }, {
930
+ default: withCtx(() => [
931
+ withDirectives(createElementVNode("div", _hoisted_4$1, [
932
+ __props.searchable ? (openBlock(), createElementBlock("div", {
933
+ key: 0,
934
+ class: normalizeClass(["search-container", { "-loading": __props.loading }])
957
935
  }, [
958
- renderSlot(_ctx.$slots, "default", {
959
- text: getOption(option, "name"),
960
- option,
961
- isSelect: isSelected
962
- }, () => [
963
- createTextVNode(toDisplayString(getOption(option, "name")), 1)
936
+ renderSlot(_ctx.$slots, "search", { filter: filter.value }, () => [
937
+ createVNode(_sfc_main$b, {
938
+ id: `search-dropdown-${__props.id}`,
939
+ ref: (target) => unref(elements).search = target == null ? void 0 : target.input,
940
+ modelValue: filter.value,
941
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => filter.value = $event),
942
+ "data-testid": `search-dropdown-${__props.id}`,
943
+ role: "combobox",
944
+ class: "search",
945
+ "aria-autocomplete": "list",
946
+ placeholder: __props.searchPlaceholder,
947
+ "aria-expanded": isDropdownOpen.value,
948
+ "aria-haspopup": "listbox",
949
+ "aria-owns": `dropdown-list-${__props.id}`,
950
+ "aria-controls": `dropdown-list-${__props.id}`,
951
+ "aria-activedescendant": unref(elementFocus).id,
952
+ "aria-labelledby": `label-dropdown-${__props.id}`,
953
+ onClick: _cache[1] || (_cache[1] = withModifiers(() => {
954
+ }, ["stop"])),
955
+ onInput: _cache[2] || (_cache[2] = ($event) => {
956
+ var _a2;
957
+ return emit("search", (_a2 = $event.target) == null ? void 0 : _a2.value);
958
+ })
959
+ }, null, 8, ["id", "modelValue", "data-testid", "placeholder", "aria-expanded", "aria-owns", "aria-controls", "aria-activedescendant", "aria-labelledby"]),
960
+ createVNode(unref(IconSearch), {
961
+ "aria-hidden": "true",
962
+ class: "icon"
963
+ })
964
964
  ])
965
- ], 40, _hoisted_5$1);
966
- }), 128)),
967
- !unref(filtered).length ? (openBlock(), createElementBlock("li", _hoisted_6$1, [
968
- renderSlot(_ctx.$slots, "no-data", {}, () => [
969
- _hoisted_7
970
- ])
971
- ])) : createCommentVNode("", true)
972
- ], 8, _hoisted_4$1)
973
- ], 512), [
974
- [vShow, isDropdownOpen.value]
975
- ])
976
- ], 40, _hoisted_1$5);
965
+ ], 2)) : createCommentVNode("", true),
966
+ createElementVNode("ul", {
967
+ id: `dropdown-list-${__props.id}`,
968
+ ref: (target) => unref(elements).list = target,
969
+ "data-testid": `dropdown-list-${__props.id}`,
970
+ role: "listbox",
971
+ tabindex: "-1",
972
+ "aria-multiselectable": __props.isMultipleSelect,
973
+ "aria-labelledby": `label-dropdown-${__props.id}`,
974
+ class: "dropdown-list-core"
975
+ }, [
976
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(filtered), (option, index) => {
977
+ return openBlock(), createElementBlock("li", {
978
+ id: `option-${__props.id}-${getOption(option, "value")}`,
979
+ key: index,
980
+ "data-testid": `option-${__props.id}-${getOption(option, "value")}`,
981
+ role: "option",
982
+ tabindex: "-1",
983
+ class: "dropdown-item",
984
+ style: normalizeStyle(`--item: ${index + 1}`),
985
+ selected: isSelected(option),
986
+ "aria-selected": isSelected(option),
987
+ onClick: ($event) => select(option),
988
+ onKeyup: [
989
+ withKeys(($event) => select(option), ["enter"]),
990
+ withKeys(($event) => select(option), ["space"])
991
+ ]
992
+ }, [
993
+ renderSlot(_ctx.$slots, "default", {
994
+ text: getOption(option, "name"),
995
+ option,
996
+ isSelect: isSelected
997
+ }, () => [
998
+ createTextVNode(toDisplayString(getOption(option, "name")), 1)
999
+ ])
1000
+ ], 44, _hoisted_6$1);
1001
+ }), 128)),
1002
+ !unref(filtered).length ? (openBlock(), createElementBlock("li", _hoisted_7, [
1003
+ renderSlot(_ctx.$slots, "no-data", {}, () => [
1004
+ _hoisted_8
1005
+ ])
1006
+ ])) : createCommentVNode("", true)
1007
+ ], 8, _hoisted_5$1)
1008
+ ], 512), [
1009
+ [vShow, isDropdownOpen.value]
1010
+ ])
1011
+ ]),
1012
+ _: 3
1013
+ })
1014
+ ], 40, _hoisted_1$7);
1015
+ };
1016
+ }
1017
+ });
1018
+ _sfc_main$2.install = (app) => {
1019
+ app.component("SolDropdown", _sfc_main$2);
1020
+ };
1021
+ const _hoisted_1$6 = {
1022
+ preserveAspectRatio: "xMidYMid meet",
1023
+ viewBox: "0 0 24 24",
1024
+ width: "1.2em",
1025
+ height: "1.2em"
1026
+ };
1027
+ const _hoisted_2$6 = /* @__PURE__ */ createElementVNode("path", {
1028
+ fill: "currentColor",
1029
+ d: "m17 10l-5 6l-5-6h10z"
1030
+ }, null, -1);
1031
+ const _hoisted_3$6 = [
1032
+ _hoisted_2$6
1033
+ ];
1034
+ function render$4(_ctx, _cache) {
1035
+ return openBlock(), createElementBlock("svg", _hoisted_1$6, _hoisted_3$6);
1036
+ }
1037
+ var IconArrow = { name: "mi-caret-down", render: render$4 };
1038
+ var Select_vue_vue_type_style_index_0_lang = "";
1039
+ const _hoisted_1$5 = { class: "select" };
1040
+ const _hoisted_2$5 = {
1041
+ key: 2,
1042
+ class: "placeholder-inline"
1043
+ };
1044
+ const _hoisted_3$5 = { class: "error" };
1045
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
1046
+ props: {
1047
+ id: null,
1048
+ options: null,
1049
+ label: { default: "Label" },
1050
+ disabled: { type: Boolean },
1051
+ multiple: { type: Boolean },
1052
+ modelValue: null,
1053
+ error: null,
1054
+ fetchOnApi: { type: Boolean },
1055
+ placeholder: { default: "Selecione" },
1056
+ searchPlaceholder: null,
1057
+ searchable: { type: Boolean }
1058
+ },
1059
+ emits: ["update:modelValue"],
1060
+ setup(__props, { emit }) {
1061
+ return (_ctx, _cache) => {
1062
+ return openBlock(), createBlock(_sfc_main$2, {
1063
+ id: `select-${__props.id}`,
1064
+ selected: __props.modelValue,
1065
+ label: __props.label,
1066
+ disabled: __props.disabled,
1067
+ "fetch-on-search": __props.fetchOnApi,
1068
+ "is-multiple-select": __props.multiple,
1069
+ class: "sol-select-core",
1070
+ "search-placeholder": __props.searchPlaceholder,
1071
+ searchable: __props.searchable,
1072
+ options: __props.options,
1073
+ "onUpdate:selected": _cache[1] || (_cache[1] = ($event) => emit("update:modelValue", $event))
1074
+ }, {
1075
+ "toggle-dropdown": withCtx(({ selected, isOpen }) => [
1076
+ createElementVNode("div", {
1077
+ class: normalizeClass(["select-container", { "-disabled": __props.disabled, "-error": __props.error }])
1078
+ }, [
1079
+ createElementVNode("div", _hoisted_1$5, [
1080
+ __props.multiple && selected.length ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(selected, (item, index) => {
1081
+ return openBlock(), createElementBlock("span", {
1082
+ key: index,
1083
+ class: "tag",
1084
+ onClick: _cache[0] || (_cache[0] = withModifiers(() => {
1085
+ }, ["stop"]))
1086
+ }, toDisplayString(item), 1);
1087
+ }), 128)) : selected.length ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
1088
+ createTextVNode(toDisplayString(selected), 1)
1089
+ ], 64)) : (openBlock(), createElementBlock("span", _hoisted_2$5, toDisplayString(__props.placeholder), 1))
1090
+ ]),
1091
+ createVNode(unref(IconArrow), {
1092
+ class: normalizeClass(["icon", { "-open": isOpen }])
1093
+ }, null, 8, ["class"])
1094
+ ], 2),
1095
+ createElementVNode("span", _hoisted_3$5, toDisplayString(__props.error), 1)
1096
+ ]),
1097
+ _: 1
1098
+ }, 8, ["id", "selected", "label", "disabled", "fetch-on-search", "is-multiple-select", "search-placeholder", "searchable", "options"]);
977
1099
  };
978
1100
  }
979
1101
  });
980
1102
  _sfc_main$1.install = (app) => {
981
- app.component("SolDropdown", _sfc_main$1);
1103
+ app.component("SolSelect", _sfc_main$1);
982
1104
  };
983
1105
  var windiBase = "";
984
1106
  var windiComponents = "";
@@ -993,74 +1115,6 @@ const DEFAULT_OPTIONS = {
993
1115
  position: "top-right",
994
1116
  hideProgressBar: false
995
1117
  };
996
- const _hoisted_1$4 = {
997
- preserveAspectRatio: "xMidYMid meet",
998
- viewBox: "0 0 24 24",
999
- width: "1.2em",
1000
- height: "1.2em"
1001
- };
1002
- const _hoisted_2$4 = /* @__PURE__ */ createElementVNode("path", {
1003
- fill: "currentColor",
1004
- d: "M12 4a8 8 0 1 0 0 16a8 8 0 0 0 0-16zM2 12C2 6.477 6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12zm14.664-3.247a1 1 0 0 1 .083 1.411l-5.333 6a1 1 0 0 1-1.495 0l-2.666-3a1 1 0 0 1 1.494-1.328l1.92 2.159l4.586-5.16a1 1 0 0 1 1.411-.082z"
1005
- }, null, -1);
1006
- const _hoisted_3$4 = [
1007
- _hoisted_2$4
1008
- ];
1009
- function render$3(_ctx, _cache) {
1010
- return openBlock(), createElementBlock("svg", _hoisted_1$4, _hoisted_3$4);
1011
- }
1012
- var Success = { name: "mi-circle-check", render: render$3 };
1013
- const _hoisted_1$3 = {
1014
- preserveAspectRatio: "xMidYMid meet",
1015
- viewBox: "0 0 24 24",
1016
- width: "1.2em",
1017
- height: "1.2em"
1018
- };
1019
- const _hoisted_2$3 = /* @__PURE__ */ createElementVNode("path", {
1020
- fill: "currentColor",
1021
- d: "M12 4a8 8 0 1 0 0 16a8 8 0 0 0 0-16zM2 12C2 6.477 6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12zm5.793-4.207a1 1 0 0 1 1.414 0L12 10.586l2.793-2.793a1 1 0 1 1 1.414 1.414L13.414 12l2.793 2.793a1 1 0 0 1-1.414 1.414L12 13.414l-2.793 2.793a1 1 0 0 1-1.414-1.414L10.586 12L7.793 9.207a1 1 0 0 1 0-1.414z"
1022
- }, null, -1);
1023
- const _hoisted_3$3 = [
1024
- _hoisted_2$3
1025
- ];
1026
- function render$2(_ctx, _cache) {
1027
- return openBlock(), createElementBlock("svg", _hoisted_1$3, _hoisted_3$3);
1028
- }
1029
- var Error$1 = { name: "mi-circle-error", render: render$2 };
1030
- const _hoisted_1$2 = {
1031
- preserveAspectRatio: "xMidYMid meet",
1032
- viewBox: "0 0 24 24",
1033
- width: "1.2em",
1034
- height: "1.2em"
1035
- };
1036
- const _hoisted_2$2 = /* @__PURE__ */ createElementVNode("g", { fill: "currentColor" }, [
1037
- /* @__PURE__ */ createElementVNode("path", { d: "M12 4a8 8 0 1 0 0 16a8 8 0 0 0 0-16zM2 12C2 6.477 6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12z" }),
1038
- /* @__PURE__ */ createElementVNode("path", { d: "M12 14a1 1 0 0 1-1-1V7a1 1 0 1 1 2 0v6a1 1 0 0 1-1 1zm-1.5 2.5a1.5 1.5 0 1 1 3 0a1.5 1.5 0 0 1-3 0z" })
1039
- ], -1);
1040
- const _hoisted_3$2 = [
1041
- _hoisted_2$2
1042
- ];
1043
- function render$1(_ctx, _cache) {
1044
- return openBlock(), createElementBlock("svg", _hoisted_1$2, _hoisted_3$2);
1045
- }
1046
- var Info = { name: "mi-circle-warning", render: render$1 };
1047
- const _hoisted_1$1 = {
1048
- preserveAspectRatio: "xMidYMid meet",
1049
- viewBox: "0 0 24 24",
1050
- width: "1.2em",
1051
- height: "1.2em"
1052
- };
1053
- const _hoisted_2$1 = /* @__PURE__ */ createElementVNode("path", {
1054
- fill: "currentColor",
1055
- d: "M5.293 5.293a1 1 0 0 1 1.414 0L12 10.586l5.293-5.293a1 1 0 1 1 1.414 1.414L13.414 12l5.293 5.293a1 1 0 0 1-1.414 1.414L12 13.414l-5.293 5.293a1 1 0 0 1-1.414-1.414L10.586 12L5.293 6.707a1 1 0 0 1 0-1.414z"
1056
- }, null, -1);
1057
- const _hoisted_3$1 = [
1058
- _hoisted_2$1
1059
- ];
1060
- function render(_ctx, _cache) {
1061
- return openBlock(), createElementBlock("svg", _hoisted_1$1, _hoisted_3$1);
1062
- }
1063
- var Close = { name: "mi-close", render };
1064
1118
  function useTimer(callback, delay) {
1065
1119
  const timer = reactive({
1066
1120
  id: null,
@@ -1089,7 +1143,7 @@ function useTimer(callback, delay) {
1089
1143
  }
1090
1144
  onMounted(() => {
1091
1145
  if (delay <= 0)
1092
- return;
1146
+ return false;
1093
1147
  });
1094
1148
  onUnmounted(() => {
1095
1149
  clear();
@@ -1156,6 +1210,74 @@ var Transition = /* @__PURE__ */ ((Transition2) => {
1156
1210
  Transition2["bottom-right"] = "bounce-right";
1157
1211
  return Transition2;
1158
1212
  })(Transition || {});
1213
+ const _hoisted_1$4 = {
1214
+ preserveAspectRatio: "xMidYMid meet",
1215
+ viewBox: "0 0 24 24",
1216
+ width: "1.2em",
1217
+ height: "1.2em"
1218
+ };
1219
+ const _hoisted_2$4 = /* @__PURE__ */ createElementVNode("path", {
1220
+ fill: "currentColor",
1221
+ d: "M12 4a8 8 0 1 0 0 16a8 8 0 0 0 0-16zM2 12C2 6.477 6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12zm14.664-3.247a1 1 0 0 1 .083 1.411l-5.333 6a1 1 0 0 1-1.495 0l-2.666-3a1 1 0 0 1 1.494-1.328l1.92 2.159l4.586-5.16a1 1 0 0 1 1.411-.082z"
1222
+ }, null, -1);
1223
+ const _hoisted_3$4 = [
1224
+ _hoisted_2$4
1225
+ ];
1226
+ function render$3(_ctx, _cache) {
1227
+ return openBlock(), createElementBlock("svg", _hoisted_1$4, _hoisted_3$4);
1228
+ }
1229
+ var Success = { name: "mi-circle-check", render: render$3 };
1230
+ const _hoisted_1$3 = {
1231
+ preserveAspectRatio: "xMidYMid meet",
1232
+ viewBox: "0 0 24 24",
1233
+ width: "1.2em",
1234
+ height: "1.2em"
1235
+ };
1236
+ const _hoisted_2$3 = /* @__PURE__ */ createElementVNode("path", {
1237
+ fill: "currentColor",
1238
+ d: "M12 4a8 8 0 1 0 0 16a8 8 0 0 0 0-16zM2 12C2 6.477 6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12zm5.793-4.207a1 1 0 0 1 1.414 0L12 10.586l2.793-2.793a1 1 0 1 1 1.414 1.414L13.414 12l2.793 2.793a1 1 0 0 1-1.414 1.414L12 13.414l-2.793 2.793a1 1 0 0 1-1.414-1.414L10.586 12L7.793 9.207a1 1 0 0 1 0-1.414z"
1239
+ }, null, -1);
1240
+ const _hoisted_3$3 = [
1241
+ _hoisted_2$3
1242
+ ];
1243
+ function render$2(_ctx, _cache) {
1244
+ return openBlock(), createElementBlock("svg", _hoisted_1$3, _hoisted_3$3);
1245
+ }
1246
+ var Error$1 = { name: "mi-circle-error", render: render$2 };
1247
+ const _hoisted_1$2 = {
1248
+ preserveAspectRatio: "xMidYMid meet",
1249
+ viewBox: "0 0 24 24",
1250
+ width: "1.2em",
1251
+ height: "1.2em"
1252
+ };
1253
+ const _hoisted_2$2 = /* @__PURE__ */ createElementVNode("g", { fill: "currentColor" }, [
1254
+ /* @__PURE__ */ createElementVNode("path", { d: "M12 4a8 8 0 1 0 0 16a8 8 0 0 0 0-16zM2 12C2 6.477 6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12z" }),
1255
+ /* @__PURE__ */ createElementVNode("path", { d: "M12 14a1 1 0 0 1-1-1V7a1 1 0 1 1 2 0v6a1 1 0 0 1-1 1zm-1.5 2.5a1.5 1.5 0 1 1 3 0a1.5 1.5 0 0 1-3 0z" })
1256
+ ], -1);
1257
+ const _hoisted_3$2 = [
1258
+ _hoisted_2$2
1259
+ ];
1260
+ function render$1(_ctx, _cache) {
1261
+ return openBlock(), createElementBlock("svg", _hoisted_1$2, _hoisted_3$2);
1262
+ }
1263
+ var Info = { name: "mi-circle-warning", render: render$1 };
1264
+ const _hoisted_1$1 = {
1265
+ preserveAspectRatio: "xMidYMid meet",
1266
+ viewBox: "0 0 24 24",
1267
+ width: "1.2em",
1268
+ height: "1.2em"
1269
+ };
1270
+ const _hoisted_2$1 = /* @__PURE__ */ createElementVNode("path", {
1271
+ fill: "currentColor",
1272
+ d: "M5.293 5.293a1 1 0 0 1 1.414 0L12 10.586l5.293-5.293a1 1 0 1 1 1.414 1.414L13.414 12l5.293 5.293a1 1 0 0 1-1.414 1.414L12 13.414l-5.293 5.293a1 1 0 0 1-1.414-1.414L10.586 12L5.293 6.707a1 1 0 0 1 0-1.414z"
1273
+ }, null, -1);
1274
+ const _hoisted_3$1 = [
1275
+ _hoisted_2$1
1276
+ ];
1277
+ function render(_ctx, _cache) {
1278
+ return openBlock(), createElementBlock("svg", _hoisted_1$1, _hoisted_3$1);
1279
+ }
1280
+ var Close = { name: "mi-close", render };
1159
1281
  var Toast_vue_vue_type_style_index_0_lang = "";
1160
1282
  const _hoisted_1 = ["id", "data-testid"];
1161
1283
  const _hoisted_2 = { class: "content-wrapper" };
@@ -1333,7 +1455,7 @@ function setupVNode(id, options, content) {
1333
1455
  const container = document.createElement("div");
1334
1456
  document.body.appendChild(container);
1335
1457
  const toastVNode = createVNode(_sfc_main, setupVNodeProps(options, id, verticalOffset, close, content));
1336
- render$7(toastVNode, container);
1458
+ render$8(toastVNode, container);
1337
1459
  toasts[options.position].push({ toastVNode, container });
1338
1460
  if (toastVNode.component)
1339
1461
  toastVNode.component.props.visible = true;
@@ -1389,23 +1511,24 @@ function close(id, position) {
1389
1511
  componentProps.visible = false;
1390
1512
  componentProps.onClose && componentProps.onClose();
1391
1513
  setTimeout(() => {
1392
- render$7(null, container);
1514
+ render$8(null, container);
1393
1515
  document.body.removeChild(container);
1394
1516
  }, 1e3);
1395
1517
  }
1396
1518
  console.log("%c\u{1F33B}[Girassol]\u{1F33B}", "padding: 8px;background: #212121;color: gold; font-family: 'Fira code'; font-weight: bold; font-size: 1.2rem");
1397
1519
  const components = {
1398
- SolButton: _sfc_main$b,
1399
- SolInput: _sfc_main$a,
1400
- SolTextarea: _sfc_main$7,
1401
- SolTextfield: _sfc_main$9,
1402
- SolTextfieldPassword: _sfc_main$8,
1403
- SolRadio: _sfc_main$6,
1404
- SolRadioGroup: _sfc_main$5,
1405
- SolCheckbox: _sfc_main$4,
1406
- SolCheckboxGroup: _sfc_main$3,
1407
- SolSwitch: _sfc_main$2,
1408
- SolDropdown: _sfc_main$1
1520
+ SolButton: _sfc_main$c,
1521
+ SolInput: _sfc_main$b,
1522
+ SolTextarea: _sfc_main$8,
1523
+ SolTextfield: _sfc_main$a,
1524
+ SolTextfieldPassword: _sfc_main$9,
1525
+ SolRadio: _sfc_main$7,
1526
+ SolRadioGroup: _sfc_main$6,
1527
+ SolCheckbox: _sfc_main$5,
1528
+ SolCheckboxGroup: _sfc_main$4,
1529
+ SolSwitch: _sfc_main$3,
1530
+ SolDropdown: _sfc_main$2,
1531
+ SolSelect: _sfc_main$1
1409
1532
  };
1410
1533
  function install(App) {
1411
1534
  for (const component in components) {
@@ -1413,7 +1536,6 @@ function install(App) {
1413
1536
  }
1414
1537
  }
1415
1538
  const componentsNames = [];
1416
- for (const component in components) {
1539
+ for (const component in components)
1417
1540
  componentsNames.push(component);
1418
- }
1419
- export { _sfc_main$b as SolButton, _sfc_main$4 as SolCheckbox, _sfc_main$3 as SolCheckboxGroup, _sfc_main$1 as SolDropdown, _sfc_main$a as SolInput, _sfc_main$6 as SolRadio, _sfc_main$5 as SolRadioGroup, _sfc_main$2 as SolSwitch, _sfc_main$7 as SolTextarea, _sfc_main$9 as SolTextfield, _sfc_main$8 as SolTextfieldPassword, componentsNames, install, useToast };
1541
+ export { _sfc_main$c as SolButton, _sfc_main$5 as SolCheckbox, _sfc_main$4 as SolCheckboxGroup, _sfc_main$2 as SolDropdown, _sfc_main$b as SolInput, _sfc_main$7 as SolRadio, _sfc_main$6 as SolRadioGroup, _sfc_main$1 as SolSelect, _sfc_main$3 as SolSwitch, _sfc_main$8 as SolTextarea, _sfc_main$a as SolTextfield, _sfc_main$9 as SolTextfieldPassword, componentsNames, install, useToast };