@davincihealthcare/elty-design-system-vue 1.74.0 → 1.75.1

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.
@@ -51,9 +51,9 @@ declare const _default: import('vue').DefineComponent<__VLS_WithDefaults<__VLS_T
51
51
  disabled: boolean;
52
52
  icon: ElIconProps;
53
53
  error: boolean;
54
+ variant: ElButtonVariant;
54
55
  dark: boolean;
55
56
  loading: boolean;
56
- variant: ElButtonVariant;
57
57
  loadOnClick: boolean;
58
58
  }, {}>;
59
59
  export default _default;
@@ -72,9 +72,9 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
72
72
  disabled: boolean;
73
73
  icon: import('./ElIcon.vue').ElIconProps;
74
74
  error: boolean;
75
+ variant: import('./ElButton.vue').ElButtonVariant;
75
76
  dark: boolean;
76
77
  loading: boolean;
77
- variant: import('./ElButton.vue').ElButtonVariant;
78
78
  loadOnClick: boolean;
79
79
  }> & Omit<{
80
80
  readonly type: "button" | "reset" | "submit";
@@ -82,9 +82,9 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
82
82
  readonly label: string;
83
83
  readonly disabled: boolean;
84
84
  readonly error: boolean;
85
+ readonly variant: import('./ElButton.vue').ElButtonVariant;
85
86
  readonly dark: boolean;
86
87
  readonly loading: boolean;
87
- readonly variant: import('./ElButton.vue').ElButtonVariant;
88
88
  readonly loadOnClick: boolean;
89
89
  readonly onClick?: ((() => unknown) | (() => Promise<unknown>)) | undefined;
90
90
  readonly icon?: import('./ElIcon.vue').ElIconProps | undefined;
@@ -119,6 +119,10 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
119
119
  type: import('vue').PropType<boolean>;
120
120
  default: boolean;
121
121
  };
122
+ variant: {
123
+ type: import('vue').PropType<"primary" | "secondary" | "tertiary">;
124
+ default: string;
125
+ };
122
126
  dark: {
123
127
  type: import('vue').PropType<boolean>;
124
128
  default: boolean;
@@ -130,15 +134,11 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
130
134
  iconRight: {
131
135
  type: import('vue').PropType<boolean>;
132
136
  };
133
- variant: {
134
- type: import('vue').PropType<"primary" | "secondary" | "tertiary">;
135
- default: string;
136
- };
137
137
  loadOnClick: {
138
138
  type: import('vue').PropType<boolean>;
139
139
  default: boolean;
140
140
  };
141
- }>>, "type" | "size" | "label" | "onClick" | "disabled" | "icon" | "error" | "dark" | "loading" | "variant" | "loadOnClick">, "size" | "error" | "variant">>;
141
+ }>>, "type" | "size" | "label" | "onClick" | "disabled" | "icon" | "error" | "variant" | "dark" | "loading" | "loadOnClick">, "size" | "error" | "variant">>;
142
142
  required: true;
143
143
  };
144
144
  secondaryAction: {
@@ -150,9 +150,9 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
150
150
  disabled: boolean;
151
151
  icon: import('./ElIcon.vue').ElIconProps;
152
152
  error: boolean;
153
+ variant: import('./ElButton.vue').ElButtonVariant;
153
154
  dark: boolean;
154
155
  loading: boolean;
155
- variant: import('./ElButton.vue').ElButtonVariant;
156
156
  loadOnClick: boolean;
157
157
  }> & Omit<{
158
158
  readonly type: "button" | "reset" | "submit";
@@ -160,9 +160,9 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
160
160
  readonly label: string;
161
161
  readonly disabled: boolean;
162
162
  readonly error: boolean;
163
+ readonly variant: import('./ElButton.vue').ElButtonVariant;
163
164
  readonly dark: boolean;
164
165
  readonly loading: boolean;
165
- readonly variant: import('./ElButton.vue').ElButtonVariant;
166
166
  readonly loadOnClick: boolean;
167
167
  readonly onClick?: ((() => unknown) | (() => Promise<unknown>)) | undefined;
168
168
  readonly icon?: import('./ElIcon.vue').ElIconProps | undefined;
@@ -197,6 +197,10 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
197
197
  type: import('vue').PropType<boolean>;
198
198
  default: boolean;
199
199
  };
200
+ variant: {
201
+ type: import('vue').PropType<"primary" | "secondary" | "tertiary">;
202
+ default: string;
203
+ };
200
204
  dark: {
201
205
  type: import('vue').PropType<boolean>;
202
206
  default: boolean;
@@ -208,15 +212,11 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
208
212
  iconRight: {
209
213
  type: import('vue').PropType<boolean>;
210
214
  };
211
- variant: {
212
- type: import('vue').PropType<"primary" | "secondary" | "tertiary">;
213
- default: string;
214
- };
215
215
  loadOnClick: {
216
216
  type: import('vue').PropType<boolean>;
217
217
  default: boolean;
218
218
  };
219
- }>>, "type" | "size" | "label" | "onClick" | "disabled" | "icon" | "error" | "dark" | "loading" | "variant" | "loadOnClick">, "size" | "error" | "variant">>;
219
+ }>>, "type" | "size" | "label" | "onClick" | "disabled" | "icon" | "error" | "variant" | "dark" | "loading" | "loadOnClick">, "size" | "error" | "variant">>;
220
220
  default: undefined;
221
221
  };
222
222
  tertiaryAction: {
@@ -228,9 +228,9 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
228
228
  disabled: boolean;
229
229
  icon: import('./ElIcon.vue').ElIconProps;
230
230
  error: boolean;
231
+ variant: import('./ElButton.vue').ElButtonVariant;
231
232
  dark: boolean;
232
233
  loading: boolean;
233
- variant: import('./ElButton.vue').ElButtonVariant;
234
234
  loadOnClick: boolean;
235
235
  }> & Omit<{
236
236
  readonly type: "button" | "reset" | "submit";
@@ -238,9 +238,9 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
238
238
  readonly label: string;
239
239
  readonly disabled: boolean;
240
240
  readonly error: boolean;
241
+ readonly variant: import('./ElButton.vue').ElButtonVariant;
241
242
  readonly dark: boolean;
242
243
  readonly loading: boolean;
243
- readonly variant: import('./ElButton.vue').ElButtonVariant;
244
244
  readonly loadOnClick: boolean;
245
245
  readonly onClick?: ((() => unknown) | (() => Promise<unknown>)) | undefined;
246
246
  readonly icon?: import('./ElIcon.vue').ElIconProps | undefined;
@@ -275,6 +275,10 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
275
275
  type: import('vue').PropType<boolean>;
276
276
  default: boolean;
277
277
  };
278
+ variant: {
279
+ type: import('vue').PropType<"primary" | "secondary" | "tertiary">;
280
+ default: string;
281
+ };
278
282
  dark: {
279
283
  type: import('vue').PropType<boolean>;
280
284
  default: boolean;
@@ -286,15 +290,11 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
286
290
  iconRight: {
287
291
  type: import('vue').PropType<boolean>;
288
292
  };
289
- variant: {
290
- type: import('vue').PropType<"primary" | "secondary" | "tertiary">;
291
- default: string;
292
- };
293
293
  loadOnClick: {
294
294
  type: import('vue').PropType<boolean>;
295
295
  default: boolean;
296
296
  };
297
- }>>, "type" | "size" | "label" | "onClick" | "disabled" | "icon" | "error" | "dark" | "loading" | "variant" | "loadOnClick">, "size" | "error" | "variant">>;
297
+ }>>, "type" | "size" | "label" | "onClick" | "disabled" | "icon" | "error" | "variant" | "dark" | "loading" | "loadOnClick">, "size" | "error" | "variant">>;
298
298
  default: undefined;
299
299
  };
300
300
  isNestedModal: {
@@ -352,9 +352,9 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
352
352
  disabled: boolean;
353
353
  icon: import('./ElIcon.vue').ElIconProps;
354
354
  error: boolean;
355
+ variant: import('./ElButton.vue').ElButtonVariant;
355
356
  dark: boolean;
356
357
  loading: boolean;
357
- variant: import('./ElButton.vue').ElButtonVariant;
358
358
  loadOnClick: boolean;
359
359
  }> & Omit<{
360
360
  readonly type: "button" | "reset" | "submit";
@@ -362,9 +362,9 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
362
362
  readonly label: string;
363
363
  readonly disabled: boolean;
364
364
  readonly error: boolean;
365
+ readonly variant: import('./ElButton.vue').ElButtonVariant;
365
366
  readonly dark: boolean;
366
367
  readonly loading: boolean;
367
- readonly variant: import('./ElButton.vue').ElButtonVariant;
368
368
  readonly loadOnClick: boolean;
369
369
  readonly onClick?: ((() => unknown) | (() => Promise<unknown>)) | undefined;
370
370
  readonly icon?: import('./ElIcon.vue').ElIconProps | undefined;
@@ -399,6 +399,10 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
399
399
  type: import('vue').PropType<boolean>;
400
400
  default: boolean;
401
401
  };
402
+ variant: {
403
+ type: import('vue').PropType<"primary" | "secondary" | "tertiary">;
404
+ default: string;
405
+ };
402
406
  dark: {
403
407
  type: import('vue').PropType<boolean>;
404
408
  default: boolean;
@@ -410,15 +414,11 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
410
414
  iconRight: {
411
415
  type: import('vue').PropType<boolean>;
412
416
  };
413
- variant: {
414
- type: import('vue').PropType<"primary" | "secondary" | "tertiary">;
415
- default: string;
416
- };
417
417
  loadOnClick: {
418
418
  type: import('vue').PropType<boolean>;
419
419
  default: boolean;
420
420
  };
421
- }>>, "type" | "size" | "label" | "onClick" | "disabled" | "icon" | "error" | "dark" | "loading" | "variant" | "loadOnClick">, "size" | "error" | "variant">>;
421
+ }>>, "type" | "size" | "label" | "onClick" | "disabled" | "icon" | "error" | "variant" | "dark" | "loading" | "loadOnClick">, "size" | "error" | "variant">>;
422
422
  required: true;
423
423
  };
424
424
  secondaryAction: {
@@ -430,9 +430,9 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
430
430
  disabled: boolean;
431
431
  icon: import('./ElIcon.vue').ElIconProps;
432
432
  error: boolean;
433
+ variant: import('./ElButton.vue').ElButtonVariant;
433
434
  dark: boolean;
434
435
  loading: boolean;
435
- variant: import('./ElButton.vue').ElButtonVariant;
436
436
  loadOnClick: boolean;
437
437
  }> & Omit<{
438
438
  readonly type: "button" | "reset" | "submit";
@@ -440,9 +440,9 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
440
440
  readonly label: string;
441
441
  readonly disabled: boolean;
442
442
  readonly error: boolean;
443
+ readonly variant: import('./ElButton.vue').ElButtonVariant;
443
444
  readonly dark: boolean;
444
445
  readonly loading: boolean;
445
- readonly variant: import('./ElButton.vue').ElButtonVariant;
446
446
  readonly loadOnClick: boolean;
447
447
  readonly onClick?: ((() => unknown) | (() => Promise<unknown>)) | undefined;
448
448
  readonly icon?: import('./ElIcon.vue').ElIconProps | undefined;
@@ -477,6 +477,10 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
477
477
  type: import('vue').PropType<boolean>;
478
478
  default: boolean;
479
479
  };
480
+ variant: {
481
+ type: import('vue').PropType<"primary" | "secondary" | "tertiary">;
482
+ default: string;
483
+ };
480
484
  dark: {
481
485
  type: import('vue').PropType<boolean>;
482
486
  default: boolean;
@@ -488,15 +492,11 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
488
492
  iconRight: {
489
493
  type: import('vue').PropType<boolean>;
490
494
  };
491
- variant: {
492
- type: import('vue').PropType<"primary" | "secondary" | "tertiary">;
493
- default: string;
494
- };
495
495
  loadOnClick: {
496
496
  type: import('vue').PropType<boolean>;
497
497
  default: boolean;
498
498
  };
499
- }>>, "type" | "size" | "label" | "onClick" | "disabled" | "icon" | "error" | "dark" | "loading" | "variant" | "loadOnClick">, "size" | "error" | "variant">>;
499
+ }>>, "type" | "size" | "label" | "onClick" | "disabled" | "icon" | "error" | "variant" | "dark" | "loading" | "loadOnClick">, "size" | "error" | "variant">>;
500
500
  default: undefined;
501
501
  };
502
502
  tertiaryAction: {
@@ -508,9 +508,9 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
508
508
  disabled: boolean;
509
509
  icon: import('./ElIcon.vue').ElIconProps;
510
510
  error: boolean;
511
+ variant: import('./ElButton.vue').ElButtonVariant;
511
512
  dark: boolean;
512
513
  loading: boolean;
513
- variant: import('./ElButton.vue').ElButtonVariant;
514
514
  loadOnClick: boolean;
515
515
  }> & Omit<{
516
516
  readonly type: "button" | "reset" | "submit";
@@ -518,9 +518,9 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
518
518
  readonly label: string;
519
519
  readonly disabled: boolean;
520
520
  readonly error: boolean;
521
+ readonly variant: import('./ElButton.vue').ElButtonVariant;
521
522
  readonly dark: boolean;
522
523
  readonly loading: boolean;
523
- readonly variant: import('./ElButton.vue').ElButtonVariant;
524
524
  readonly loadOnClick: boolean;
525
525
  readonly onClick?: ((() => unknown) | (() => Promise<unknown>)) | undefined;
526
526
  readonly icon?: import('./ElIcon.vue').ElIconProps | undefined;
@@ -555,6 +555,10 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
555
555
  type: import('vue').PropType<boolean>;
556
556
  default: boolean;
557
557
  };
558
+ variant: {
559
+ type: import('vue').PropType<"primary" | "secondary" | "tertiary">;
560
+ default: string;
561
+ };
558
562
  dark: {
559
563
  type: import('vue').PropType<boolean>;
560
564
  default: boolean;
@@ -566,15 +570,11 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
566
570
  iconRight: {
567
571
  type: import('vue').PropType<boolean>;
568
572
  };
569
- variant: {
570
- type: import('vue').PropType<"primary" | "secondary" | "tertiary">;
571
- default: string;
572
- };
573
573
  loadOnClick: {
574
574
  type: import('vue').PropType<boolean>;
575
575
  default: boolean;
576
576
  };
577
- }>>, "type" | "size" | "label" | "onClick" | "disabled" | "icon" | "error" | "dark" | "loading" | "variant" | "loadOnClick">, "size" | "error" | "variant">>;
577
+ }>>, "type" | "size" | "label" | "onClick" | "disabled" | "icon" | "error" | "variant" | "dark" | "loading" | "loadOnClick">, "size" | "error" | "variant">>;
578
578
  default: undefined;
579
579
  };
580
580
  isNestedModal: {
@@ -9,19 +9,27 @@ export type ElTabItem = {
9
9
  value?: string;
10
10
  };
11
11
  };
12
- declare const _default: import('vue').DefineComponent<__VLS_TypePropsToRuntimeProps<{
12
+ declare const _default: import('vue').DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
13
13
  modelValue: string;
14
14
  tabs: ElTabItem[];
15
15
  color?: ElTabColors;
16
+ variant?: "default" | "w-full";
17
+ }>, {
18
+ variant: string;
16
19
  }>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
17
20
  "update:modelValue": (modelValue: string) => void;
18
- }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
21
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
19
22
  modelValue: string;
20
23
  tabs: ElTabItem[];
21
24
  color?: ElTabColors;
25
+ variant?: "default" | "w-full";
26
+ }>, {
27
+ variant: string;
22
28
  }>>> & {
23
29
  "onUpdate:modelValue"?: ((modelValue: string) => any) | undefined;
24
- }, {}, {}>;
30
+ }, {
31
+ variant: "default" | "w-full";
32
+ }, {}>;
25
33
  export default _default;
26
34
  type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
27
35
  type __VLS_TypePropsToRuntimeProps<T> = {
@@ -32,3 +40,11 @@ type __VLS_TypePropsToRuntimeProps<T> = {
32
40
  required: true;
33
41
  };
34
42
  };
43
+ type __VLS_WithDefaults<P, D> = {
44
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
45
+ default: D[K];
46
+ }> : P[K];
47
+ };
48
+ type __VLS_Prettify<T> = {
49
+ [K in keyof T]: T[K];
50
+ } & {};
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("vue"),d=require("./ElIcon.vue.cjs2.js"),u=["disabled","type","data-cy"],p={class:"font-semibold"},b={key:1,class:"inline-flex items-center"},m=r.createElementVNode("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),h=r.createElementVNode("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1),v=[m,h],y=r.createElementVNode("span",{class:"font-semibold"},"Un attimo...",-1),f=["xs","sm","base","l","xl"],c=["primary","secondary","tertiary"],g=r.defineComponent({__name:"ElButton",props:{disabled:{type:Boolean,default:!1},dark:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},icon:{default:void 0},iconRight:{type:Boolean},error:{type:Boolean,default:!1},label:{default:""},size:{default:"base"},variant:{default:"primary"},type:{default:"button"},loadOnClick:{type:Boolean,default:!1},onClick:{type:Function,default:void 0}},setup(n){const a=n,o=r.ref(!1),l=r.ref(!1),s=r.computed(()=>o.value||l.value||a.loading),t=async()=>{var e;o.value||s.value||(l.value=o.value=a.loadOnClick,setTimeout(()=>{l.value=!1},3e3),await((e=a.onClick)==null?void 0:e.call(a)),o.value=!1)};return(e,z)=>{var i;return r.openBlock(),r.createElementBlock("button",{disabled:e.disabled||e.loading,type:e.type,class:r.normalizeClass(["inline-flex items-center justify-center py-0 font-semibold leading-4 transition duration-150 ease-in-out",{"h-6 rounded text-xs":e.size==="xs","h-7 rounded text-xs":e.size==="sm","h-8 rounded-md text-sm":e.size==="base","text-base h-10 rounded-md ":e.size==="l","text-base h-12 rounded-md ":e.size==="xl","cursor-pointer":!s.value,"cursor-wait":s.value,"px-4":e.variant!=="tertiary"&&(e.size==="base"||e.size==="l"||e.size==="xl"),"px-3":e.variant!=="tertiary"&&(e.size==="sm"||e.size==="xs")||e.variant==="tertiary"&&(e.size==="l"||e.size==="xl"),"px-2":e.variant==="tertiary"&&(e.size==="xs"||e.size==="sm"||e.size==="base"),...e.dark?{"bg-alpha-200 text-white hover:bg-alpha-300 focus:bg-alpha-300 focus:border focus:border-alpha-400 focus:outline-none":e.variant==="primary"&&!e.disabled,"bg-alpha-100 text-alpha-400 cursor-not-allowed":e.variant==="primary"&&e.disabled,"bg-black border border-alpha-500 hover:bg-alpha-100 focus:bg-alpha-100 text-white focus:outline-none":e.variant==="secondary"&&!e.error&&!e.disabled,"text-alpha-400 bg-alpha-100 cursor-not-allowed focus:outline-none":e.variant==="secondary"&&e.disabled,"bg-transparent hover:bg-alpha-100 focus:bg-alpha-100 border-none text-white focus:outline-none":e.variant==="tertiary"&&!e.error&&!e.disabled,"text-alpha-400 cursor-not-allowed border-none bg-transparent focus:outline-none":e.variant==="tertiary"&&e.disabled}:{"bg-primary hover:bg-primary-hover focus:bg-primary-pressed focus:outlined-primary text-white":e.variant==="primary"&&!e.error&&!e.disabled,"bg-error hover:bg-error-hover focus:bg-error-pressed focus:outlined-error text-white":e.variant==="primary"&&e.error&&!e.disabled,"bg-neutral-inactive text-neutral-inactive cursor-not-allowed":e.variant==="primary"&&e.disabled,"bg-white border border-primary hover:border-primary-hover hover:bg-primary-light-hover hover:text-primary-hover focus:text-primary-pressed focus:bg-primary-light focus:border-primary-pressed text-primary focus:outlined-primary":e.variant==="secondary"&&!e.error&&!e.disabled,"border-error text-error hover:bg-error-light-hover focus:bg-error-light-pressed focus:outlined-error border bg-white":e.variant==="secondary"&&e.error&&!e.disabled,"text-neutral-inactive border-neutral-inactive cursor-not-allowed border":e.variant==="secondary"&&e.disabled,"text-primary hover:text-primary-hover hover:bg-primary-light-hover focus:text-primary-pressed focus:bg-primary-light-pressed focus:outlined-primary border-none bg-transparent":e.variant==="tertiary"&&!e.error&&!e.disabled,"text-error hover:bg-error-light-hover focus:bg-error-light-pressed focus:outlined-error border-none":e.variant==="tertiary"&&e.error&&!e.disabled,"text-neutral-inactive cursor-not-allowed border-none bg-transparent":e.variant==="tertiary"&&e.disabled}}]),"data-cy":`${(i=e.label.trim())==null?void 0:i.replaceAll(" ","").replaceAll(",","")}-button`,onClick:t},[s.value?(r.openBlock(),r.createElementBlock("span",b,[(r.openBlock(),r.createElementBlock("svg",{class:r.normalizeClass(["animate-spin",{"mr-1 h-[14px] w-[14px]":e.size==="xs","mr-2 h-4 w-4":e.size==="sm","mr-2 h-5 w-5":e.size==="base","mr-3 h-6 w-6":e.size==="l"||e.size==="xl"}]),xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},v,2)),y])):(r.openBlock(),r.createElementBlock("span",{key:0,class:r.normalizeClass(["inline-flex items-center",e.iconRight?"flex-row-reverse":"flex-row"])},[e.icon?(r.openBlock(),r.createBlock(d.default,{key:0,name:e.icon.name,solid:e.icon.solid,class:r.normalizeClass({"h-[14px] w-[14px]":e.size==="xs","h-4 w-4":e.size==="sm","h-5 w-5":e.size==="base","h-6 w-6":e.size==="l"||e.size==="xl"})},null,8,["name","solid","class"])):r.createCommentVNode("",!0),e.icon&&e.label!==""?(r.openBlock(),r.createElementBlock("span",{key:1,class:r.normalizeClass({"w-1":e.size==="xs","w-2":e.size==="sm"||e.size==="base","w-3":e.size==="l"||e.size==="xl"})},null,2)):r.createCommentVNode("",!0),r.createElementVNode("span",p,r.toDisplayString(e.label),1)],2))],10,u)}}});exports.default=g;exports.elButtonSizes=f;exports.elButtonVariants=c;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("vue"),d=require("./ElIcon.vue.cjs2.js"),u=["disabled","type","data-cy"],p={class:"font-semibold"},b={key:1,class:"inline-flex items-center"},m=r.createElementVNode("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),h=r.createElementVNode("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1),v=[m,h],y=r.createElementVNode("span",{class:"font-semibold"},"Un attimo...",-1),f=["xs","sm","base","l","xl"],g=["primary","secondary","tertiary"],c=r.defineComponent({__name:"ElButton",props:{disabled:{type:Boolean,default:!1},dark:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},icon:{default:void 0},iconRight:{type:Boolean},error:{type:Boolean,default:!1},label:{default:""},size:{default:"base"},variant:{default:"primary"},type:{default:"button"},loadOnClick:{type:Boolean,default:!1},onClick:{type:Function,default:void 0}},setup(n){const a=n,o=r.ref(!1),l=r.ref(!1),s=r.computed(()=>o.value||l.value||a.loading),t=async()=>{var e;o.value||s.value||(l.value=o.value=a.loadOnClick,setTimeout(()=>{l.value=!1},3e3),await((e=a.onClick)==null?void 0:e.call(a)),o.value=!1)};return(e,z)=>{var i;return r.openBlock(),r.createElementBlock("button",{disabled:e.disabled||e.loading,type:e.type,class:r.normalizeClass(["inline-flex items-center justify-center py-0 font-semibold leading-4 transition duration-150 ease-in-out",{"h-6 rounded text-xs":e.size==="xs","h-7 rounded text-xs":e.size==="sm","h-8 rounded-md text-sm":e.size==="base","text-base h-10 rounded-md ":e.size==="l","text-base h-12 rounded-md ":e.size==="xl","cursor-pointer":!s.value&&!e.disabled,"cursor-wait":s.value&&!e.disabled,"px-4":e.variant!=="tertiary"&&(e.size==="base"||e.size==="l"||e.size==="xl"),"px-3":e.variant!=="tertiary"&&(e.size==="sm"||e.size==="xs")||e.variant==="tertiary"&&(e.size==="l"||e.size==="xl"),"px-2":e.variant==="tertiary"&&(e.size==="xs"||e.size==="sm"||e.size==="base"),...e.dark?{"bg-alpha-200 text-white hover:bg-alpha-300 focus:bg-alpha-300 focus:border focus:border-alpha-400 focus:outline-none":e.variant==="primary"&&!e.disabled,"bg-alpha-100 text-alpha-400 cursor-not-allowed":e.variant==="primary"&&e.disabled,"bg-black border border-alpha-500 hover:bg-alpha-100 focus:bg-alpha-100 text-white focus:outline-none":e.variant==="secondary"&&!e.error&&!e.disabled,"text-alpha-400 bg-alpha-100 cursor-not-allowed focus:outline-none":e.variant==="secondary"&&e.disabled,"bg-transparent hover:bg-alpha-100 focus:bg-alpha-100 border-none text-white focus:outline-none":e.variant==="tertiary"&&!e.error&&!e.disabled,"text-alpha-400 cursor-not-allowed border-none bg-transparent focus:outline-none":e.variant==="tertiary"&&e.disabled}:{"bg-primary hover:bg-primary-hover focus:bg-primary-pressed focus:outlined-primary text-white":e.variant==="primary"&&!e.error&&!e.disabled,"bg-error hover:bg-error-hover focus:bg-error-pressed focus:outlined-error text-white":e.variant==="primary"&&e.error&&!e.disabled,"bg-neutral-inactive text-neutral-inactive cursor-not-allowed":e.variant==="primary"&&e.disabled,"bg-white border border-primary hover:border-primary-hover hover:bg-primary-light-hover hover:text-primary-hover focus:text-primary-pressed focus:bg-primary-light focus:border-primary-pressed text-primary focus:outlined-primary":e.variant==="secondary"&&!e.error&&!e.disabled,"border-error text-error hover:bg-error-light-hover focus:bg-error-light-pressed focus:outlined-error border bg-white":e.variant==="secondary"&&e.error&&!e.disabled,"text-neutral-inactive border-neutral-inactive cursor-not-allowed border":e.variant==="secondary"&&e.disabled,"text-primary hover:text-primary-hover hover:bg-primary-light-hover focus:text-primary-pressed focus:bg-primary-light-pressed focus:outlined-primary border-none bg-transparent":e.variant==="tertiary"&&!e.error&&!e.disabled,"text-error hover:bg-error-light-hover focus:bg-error-light-pressed focus:outlined-error border-none":e.variant==="tertiary"&&e.error&&!e.disabled,"text-neutral-inactive cursor-not-allowed border-none bg-transparent":e.variant==="tertiary"&&e.disabled}}]),"data-cy":`${(i=e.label.trim())==null?void 0:i.replaceAll(" ","").replaceAll(",","")}-button`,onClick:t},[s.value?(r.openBlock(),r.createElementBlock("span",b,[(r.openBlock(),r.createElementBlock("svg",{class:r.normalizeClass(["animate-spin",{"mr-1 h-[14px] w-[14px]":e.size==="xs","mr-2 h-4 w-4":e.size==="sm","mr-2 h-5 w-5":e.size==="base","mr-3 h-6 w-6":e.size==="l"||e.size==="xl"}]),xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},v,2)),y])):(r.openBlock(),r.createElementBlock("span",{key:0,class:r.normalizeClass(["inline-flex items-center",e.iconRight?"flex-row-reverse":"flex-row"])},[e.icon?(r.openBlock(),r.createBlock(d.default,{key:0,name:e.icon.name,solid:e.icon.solid,class:r.normalizeClass({"h-[14px] w-[14px]":e.size==="xs","h-4 w-4":e.size==="sm","h-5 w-5":e.size==="base","h-6 w-6":e.size==="l"||e.size==="xl"})},null,8,["name","solid","class"])):r.createCommentVNode("",!0),e.icon&&e.label!==""?(r.openBlock(),r.createElementBlock("span",{key:1,class:r.normalizeClass({"w-1":e.size==="xs","w-2":e.size==="sm"||e.size==="base","w-3":e.size==="l"||e.size==="xl"})},null,2)):r.createCommentVNode("",!0),r.createElementVNode("span",p,r.toDisplayString(e.label),1)],2))],10,u)}}});exports.default=c;exports.elButtonSizes=f;exports.elButtonVariants=g;
2
2
  //# sourceMappingURL=ElButton.vue.cjs2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ElButton.vue.cjs2.js","sources":["../../src/ElButton.vue"],"sourcesContent":["<script lang=\"ts\">\nexport const elButtonSizes = ['xs', 'sm', 'base', 'l', 'xl'] as const;\nexport type ElButtonSize = (typeof elButtonSizes)[number];\n\nexport const elButtonVariants = ['primary', 'secondary', 'tertiary'] as const;\nexport type ElButtonVariant = (typeof elButtonVariants)[number];\n</script>\n\n<script setup lang=\"ts\">\nimport ElIcon, { ElIconProps } from '@/ElIcon.vue';\nimport { ref, computed, ButtonHTMLAttributes } from 'vue';\n\nexport interface ElButtonProps {\n disabled?: boolean;\n dark?: boolean;\n loading?: boolean;\n icon?: ElIconProps;\n iconRight?: boolean;\n error?: boolean;\n label: string;\n size?: ElButtonSize;\n variant?: ElButtonVariant;\n type?: ButtonHTMLAttributes['type'];\n loadOnClick?: boolean;\n onClick?: (() => unknown) | (() => Promise<unknown>);\n}\n\nconst props = withDefaults(defineProps<ElButtonProps>(), {\n disabled: false,\n dark: false,\n loading: false,\n error: false,\n label: '',\n icon: undefined,\n size: 'base',\n variant: 'primary',\n type: 'button',\n loadOnClick: false,\n onClick: undefined,\n});\n\nconst callbackLoading = ref<boolean>(false);\nconst defaultLoading = ref<boolean>(false);\nconst computedLoading = computed(() => callbackLoading.value || defaultLoading.value || props.loading);\n\nconst onClick = async () => {\n if (callbackLoading.value || computedLoading.value) return;\n defaultLoading.value = callbackLoading.value = props.loadOnClick;\n setTimeout(() => {\n defaultLoading.value = false;\n }, 3000);\n await props.onClick?.();\n callbackLoading.value = false;\n};\n</script>\n\n<template>\n <button\n :disabled=\"disabled || loading\"\n :type=\"type\"\n class=\"inline-flex items-center justify-center py-0 font-semibold leading-4 transition duration-150 ease-in-out\"\n :class=\"{\n 'h-6 rounded text-xs': size === 'xs',\n 'h-7 rounded text-xs': size === 'sm',\n 'h-8 rounded-md text-sm': size === 'base',\n 'text-base h-10 rounded-md ': size === 'l',\n 'text-base h-12 rounded-md ': size === 'xl',\n 'cursor-pointer': !computedLoading,\n 'cursor-wait': computedLoading,\n 'px-4': variant !== 'tertiary' && (size === 'base' || size === 'l' || size === 'xl'),\n 'px-3': (variant !== 'tertiary' && (size === 'sm' || size === 'xs')) || (variant === 'tertiary' && (size === 'l' || size === 'xl')),\n 'px-2': variant === 'tertiary' && (size === 'xs' || size === 'sm' || size === 'base'),\n ...(dark\n ? {\n 'bg-alpha-200 text-white hover:bg-alpha-300 focus:bg-alpha-300 focus:border focus:border-alpha-400 focus:outline-none':\n variant === 'primary' && !disabled,\n 'bg-alpha-100 text-alpha-400 cursor-not-allowed': variant === 'primary' && disabled,\n 'bg-black border border-alpha-500 hover:bg-alpha-100 focus:bg-alpha-100 text-white focus:outline-none':\n variant === 'secondary' && !error && !disabled,\n 'text-alpha-400 bg-alpha-100 cursor-not-allowed focus:outline-none': variant === 'secondary' && disabled,\n 'bg-transparent hover:bg-alpha-100 focus:bg-alpha-100 border-none text-white focus:outline-none':\n variant === 'tertiary' && !error && !disabled,\n 'text-alpha-400 cursor-not-allowed border-none bg-transparent focus:outline-none': variant === 'tertiary' && disabled,\n }\n : {\n 'bg-primary hover:bg-primary-hover focus:bg-primary-pressed focus:outlined-primary text-white':\n variant === 'primary' && !error && !disabled,\n 'bg-error hover:bg-error-hover focus:bg-error-pressed focus:outlined-error text-white':\n variant === 'primary' && error && !disabled,\n 'bg-neutral-inactive text-neutral-inactive cursor-not-allowed': variant === 'primary' && disabled,\n 'bg-white border border-primary hover:border-primary-hover hover:bg-primary-light-hover hover:text-primary-hover focus:text-primary-pressed focus:bg-primary-light focus:border-primary-pressed text-primary focus:outlined-primary':\n variant === 'secondary' && !error && !disabled,\n 'border-error text-error hover:bg-error-light-hover focus:bg-error-light-pressed focus:outlined-error border bg-white':\n variant === 'secondary' && error && !disabled,\n 'text-neutral-inactive border-neutral-inactive cursor-not-allowed border': variant === 'secondary' && disabled,\n 'text-primary hover:text-primary-hover hover:bg-primary-light-hover focus:text-primary-pressed focus:bg-primary-light-pressed focus:outlined-primary border-none bg-transparent':\n variant === 'tertiary' && !error && !disabled,\n 'text-error hover:bg-error-light-hover focus:bg-error-light-pressed focus:outlined-error border-none':\n variant === 'tertiary' && error && !disabled,\n 'text-neutral-inactive cursor-not-allowed border-none bg-transparent': variant === 'tertiary' && disabled,\n }),\n }\"\n :data-cy=\"`${label.trim()?.replaceAll(' ', '').replaceAll(',', '')}-button`\"\n @click=\"onClick\"\n >\n <span v-if=\"!computedLoading\" class=\"inline-flex items-center\" :class=\"iconRight ? 'flex-row-reverse' : 'flex-row'\">\n <ElIcon\n v-if=\"icon\"\n :name=\"icon.name\"\n :solid=\"icon.solid\"\n :class=\"{\n 'h-[14px] w-[14px]': size === 'xs',\n 'h-4 w-4': size === 'sm',\n 'h-5 w-5': size === 'base',\n 'h-6 w-6': size === 'l' || size === 'xl',\n }\"\n />\n <span\n v-if=\"icon && label !== ''\"\n :class=\"{\n 'w-1': size === 'xs',\n 'w-2': size === 'sm' || size === 'base',\n 'w-3': size === 'l' || size === 'xl',\n }\"\n ></span>\n <span class=\"font-semibold\">{{ label }}</span>\n </span>\n <span v-else class=\"inline-flex items-center\">\n <svg\n class=\"animate-spin\"\n :class=\"{\n 'mr-1 h-[14px] w-[14px]': size === 'xs',\n 'mr-2 h-4 w-4': size === 'sm',\n 'mr-2 h-5 w-5': size === 'base',\n 'mr-3 h-6 w-6': size === 'l' || size === 'xl',\n }\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <circle class=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" stroke-width=\"4\" />\n <path\n class=\"opacity-75\"\n fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n />\n </svg>\n <span class=\"font-semibold\">Un attimo...</span>\n </span>\n </button>\n</template>\n"],"names":["elButtonSizes","elButtonVariants","props","__props","callbackLoading","ref","defaultLoading","computedLoading","computed","onClick","_a"],"mappings":"6pBACaA,EAAgB,CAAC,KAAM,KAAM,OAAQ,IAAK,IAAI,EAG9CC,EAAmB,CAAC,UAAW,YAAa,UAAU,uZAuBnE,MAAMC,EAAQC,EAcRC,EAAkBC,MAAa,EAAK,EACpCC,EAAiBD,MAAa,EAAK,EACnCE,EAAkBC,WAAS,IAAMJ,EAAgB,OAASE,EAAe,OAASJ,EAAM,OAAO,EAE/FO,EAAU,SAAY,OACtBL,EAAgB,OAASG,EAAgB,QAC9BD,EAAA,MAAQF,EAAgB,MAAQF,EAAM,YACrD,WAAW,IAAM,CACfI,EAAe,MAAQ,IACtB,GAAI,EACP,OAAMI,EAAAR,EAAM,UAAN,YAAAQ,EAAA,KAAAR,IACNE,EAAgB,MAAQ,GAAA"}
1
+ {"version":3,"file":"ElButton.vue.cjs2.js","sources":["../../src/ElButton.vue"],"sourcesContent":["<script lang=\"ts\">\nexport const elButtonSizes = ['xs', 'sm', 'base', 'l', 'xl'] as const;\nexport type ElButtonSize = (typeof elButtonSizes)[number];\n\nexport const elButtonVariants = ['primary', 'secondary', 'tertiary'] as const;\nexport type ElButtonVariant = (typeof elButtonVariants)[number];\n</script>\n\n<script setup lang=\"ts\">\nimport ElIcon, { ElIconProps } from '@/ElIcon.vue';\nimport { ref, computed, ButtonHTMLAttributes } from 'vue';\n\nexport interface ElButtonProps {\n disabled?: boolean;\n dark?: boolean;\n loading?: boolean;\n icon?: ElIconProps;\n iconRight?: boolean;\n error?: boolean;\n label: string;\n size?: ElButtonSize;\n variant?: ElButtonVariant;\n type?: ButtonHTMLAttributes['type'];\n loadOnClick?: boolean;\n onClick?: (() => unknown) | (() => Promise<unknown>);\n}\n\nconst props = withDefaults(defineProps<ElButtonProps>(), {\n disabled: false,\n dark: false,\n loading: false,\n error: false,\n label: '',\n icon: undefined,\n size: 'base',\n variant: 'primary',\n type: 'button',\n loadOnClick: false,\n onClick: undefined,\n});\n\nconst callbackLoading = ref<boolean>(false);\nconst defaultLoading = ref<boolean>(false);\nconst computedLoading = computed(() => callbackLoading.value || defaultLoading.value || props.loading);\n\nconst onClick = async () => {\n if (callbackLoading.value || computedLoading.value) return;\n defaultLoading.value = callbackLoading.value = props.loadOnClick;\n setTimeout(() => {\n defaultLoading.value = false;\n }, 3000);\n await props.onClick?.();\n callbackLoading.value = false;\n};\n</script>\n\n<template>\n <button\n :disabled=\"disabled || loading\"\n :type=\"type\"\n class=\"inline-flex items-center justify-center py-0 font-semibold leading-4 transition duration-150 ease-in-out\"\n :class=\"{\n 'h-6 rounded text-xs': size === 'xs',\n 'h-7 rounded text-xs': size === 'sm',\n 'h-8 rounded-md text-sm': size === 'base',\n 'text-base h-10 rounded-md ': size === 'l',\n 'text-base h-12 rounded-md ': size === 'xl',\n 'cursor-pointer': !computedLoading && !disabled,\n 'cursor-wait': computedLoading && !disabled,\n 'px-4': variant !== 'tertiary' && (size === 'base' || size === 'l' || size === 'xl'),\n 'px-3': (variant !== 'tertiary' && (size === 'sm' || size === 'xs')) || (variant === 'tertiary' && (size === 'l' || size === 'xl')),\n 'px-2': variant === 'tertiary' && (size === 'xs' || size === 'sm' || size === 'base'),\n ...(dark\n ? {\n 'bg-alpha-200 text-white hover:bg-alpha-300 focus:bg-alpha-300 focus:border focus:border-alpha-400 focus:outline-none':\n variant === 'primary' && !disabled,\n 'bg-alpha-100 text-alpha-400 cursor-not-allowed': variant === 'primary' && disabled,\n 'bg-black border border-alpha-500 hover:bg-alpha-100 focus:bg-alpha-100 text-white focus:outline-none':\n variant === 'secondary' && !error && !disabled,\n 'text-alpha-400 bg-alpha-100 cursor-not-allowed focus:outline-none': variant === 'secondary' && disabled,\n 'bg-transparent hover:bg-alpha-100 focus:bg-alpha-100 border-none text-white focus:outline-none':\n variant === 'tertiary' && !error && !disabled,\n 'text-alpha-400 cursor-not-allowed border-none bg-transparent focus:outline-none': variant === 'tertiary' && disabled,\n }\n : {\n 'bg-primary hover:bg-primary-hover focus:bg-primary-pressed focus:outlined-primary text-white':\n variant === 'primary' && !error && !disabled,\n 'bg-error hover:bg-error-hover focus:bg-error-pressed focus:outlined-error text-white':\n variant === 'primary' && error && !disabled,\n 'bg-neutral-inactive text-neutral-inactive cursor-not-allowed': variant === 'primary' && disabled,\n 'bg-white border border-primary hover:border-primary-hover hover:bg-primary-light-hover hover:text-primary-hover focus:text-primary-pressed focus:bg-primary-light focus:border-primary-pressed text-primary focus:outlined-primary':\n variant === 'secondary' && !error && !disabled,\n 'border-error text-error hover:bg-error-light-hover focus:bg-error-light-pressed focus:outlined-error border bg-white':\n variant === 'secondary' && error && !disabled,\n 'text-neutral-inactive border-neutral-inactive cursor-not-allowed border': variant === 'secondary' && disabled,\n 'text-primary hover:text-primary-hover hover:bg-primary-light-hover focus:text-primary-pressed focus:bg-primary-light-pressed focus:outlined-primary border-none bg-transparent':\n variant === 'tertiary' && !error && !disabled,\n 'text-error hover:bg-error-light-hover focus:bg-error-light-pressed focus:outlined-error border-none':\n variant === 'tertiary' && error && !disabled,\n 'text-neutral-inactive cursor-not-allowed border-none bg-transparent': variant === 'tertiary' && disabled,\n }),\n }\"\n :data-cy=\"`${label.trim()?.replaceAll(' ', '').replaceAll(',', '')}-button`\"\n @click=\"onClick\"\n >\n <span v-if=\"!computedLoading\" class=\"inline-flex items-center\" :class=\"iconRight ? 'flex-row-reverse' : 'flex-row'\">\n <ElIcon\n v-if=\"icon\"\n :name=\"icon.name\"\n :solid=\"icon.solid\"\n :class=\"{\n 'h-[14px] w-[14px]': size === 'xs',\n 'h-4 w-4': size === 'sm',\n 'h-5 w-5': size === 'base',\n 'h-6 w-6': size === 'l' || size === 'xl',\n }\"\n />\n <span\n v-if=\"icon && label !== ''\"\n :class=\"{\n 'w-1': size === 'xs',\n 'w-2': size === 'sm' || size === 'base',\n 'w-3': size === 'l' || size === 'xl',\n }\"\n ></span>\n <span class=\"font-semibold\">{{ label }}</span>\n </span>\n <span v-else class=\"inline-flex items-center\">\n <svg\n class=\"animate-spin\"\n :class=\"{\n 'mr-1 h-[14px] w-[14px]': size === 'xs',\n 'mr-2 h-4 w-4': size === 'sm',\n 'mr-2 h-5 w-5': size === 'base',\n 'mr-3 h-6 w-6': size === 'l' || size === 'xl',\n }\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <circle class=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" stroke-width=\"4\" />\n <path\n class=\"opacity-75\"\n fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n />\n </svg>\n <span class=\"font-semibold\">Un attimo...</span>\n </span>\n </button>\n</template>\n"],"names":["elButtonSizes","elButtonVariants","props","__props","callbackLoading","ref","defaultLoading","computedLoading","computed","onClick","_a"],"mappings":"6pBACaA,EAAgB,CAAC,KAAM,KAAM,OAAQ,IAAK,IAAI,EAG9CC,EAAmB,CAAC,UAAW,YAAa,UAAU,uZAuBnE,MAAMC,EAAQC,EAcRC,EAAkBC,MAAa,EAAK,EACpCC,EAAiBD,MAAa,EAAK,EACnCE,EAAkBC,WAAS,IAAMJ,EAAgB,OAASE,EAAe,OAASJ,EAAM,OAAO,EAE/FO,EAAU,SAAY,OACtBL,EAAgB,OAASG,EAAgB,QAC9BD,EAAA,MAAQF,EAAgB,MAAQF,EAAM,YACrD,WAAW,IAAM,CACfI,EAAe,MAAQ,IACtB,GAAI,EACP,OAAMI,EAAAR,EAAM,UAAN,YAAAQ,EAAA,KAAAR,IACNE,EAAgB,MAAQ,GAAA"}
@@ -1,2 +1,2 @@
1
- import{defineComponent as m,ref as u,computed as y,openBlock as r,createElementBlock as o,normalizeClass as s,createBlock as f,createCommentVNode as p,createElementVNode as n,toDisplayString as v}from"vue";import g from"./ElIcon.vue.esm2.js";const z=["disabled","type","data-cy"],c={class:"font-semibold"},w={key:1,class:"inline-flex items-center"},k=n("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),B=n("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1),C=[k,B],V=n("span",{class:"font-semibold"},"Un attimo...",-1),N=["xs","sm","base","l","xl"],O=["primary","secondary","tertiary"],R=m({__name:"ElButton",props:{disabled:{type:Boolean,default:!1},dark:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},icon:{default:void 0},iconRight:{type:Boolean},error:{type:Boolean,default:!1},label:{default:""},size:{default:"base"},variant:{default:"primary"},type:{default:"button"},loadOnClick:{type:Boolean,default:!1},onClick:{type:Function,default:void 0}},setup(b){const a=b,i=u(!1),t=u(!1),l=y(()=>i.value||t.value||a.loading),h=async()=>{var e;i.value||l.value||(t.value=i.value=a.loadOnClick,setTimeout(()=>{t.value=!1},3e3),await((e=a.onClick)==null?void 0:e.call(a)),i.value=!1)};return(e,A)=>{var d;return r(),o("button",{disabled:e.disabled||e.loading,type:e.type,class:s(["inline-flex items-center justify-center py-0 font-semibold leading-4 transition duration-150 ease-in-out",{"h-6 rounded text-xs":e.size==="xs","h-7 rounded text-xs":e.size==="sm","h-8 rounded-md text-sm":e.size==="base","text-base h-10 rounded-md ":e.size==="l","text-base h-12 rounded-md ":e.size==="xl","cursor-pointer":!l.value,"cursor-wait":l.value,"px-4":e.variant!=="tertiary"&&(e.size==="base"||e.size==="l"||e.size==="xl"),"px-3":e.variant!=="tertiary"&&(e.size==="sm"||e.size==="xs")||e.variant==="tertiary"&&(e.size==="l"||e.size==="xl"),"px-2":e.variant==="tertiary"&&(e.size==="xs"||e.size==="sm"||e.size==="base"),...e.dark?{"bg-alpha-200 text-white hover:bg-alpha-300 focus:bg-alpha-300 focus:border focus:border-alpha-400 focus:outline-none":e.variant==="primary"&&!e.disabled,"bg-alpha-100 text-alpha-400 cursor-not-allowed":e.variant==="primary"&&e.disabled,"bg-black border border-alpha-500 hover:bg-alpha-100 focus:bg-alpha-100 text-white focus:outline-none":e.variant==="secondary"&&!e.error&&!e.disabled,"text-alpha-400 bg-alpha-100 cursor-not-allowed focus:outline-none":e.variant==="secondary"&&e.disabled,"bg-transparent hover:bg-alpha-100 focus:bg-alpha-100 border-none text-white focus:outline-none":e.variant==="tertiary"&&!e.error&&!e.disabled,"text-alpha-400 cursor-not-allowed border-none bg-transparent focus:outline-none":e.variant==="tertiary"&&e.disabled}:{"bg-primary hover:bg-primary-hover focus:bg-primary-pressed focus:outlined-primary text-white":e.variant==="primary"&&!e.error&&!e.disabled,"bg-error hover:bg-error-hover focus:bg-error-pressed focus:outlined-error text-white":e.variant==="primary"&&e.error&&!e.disabled,"bg-neutral-inactive text-neutral-inactive cursor-not-allowed":e.variant==="primary"&&e.disabled,"bg-white border border-primary hover:border-primary-hover hover:bg-primary-light-hover hover:text-primary-hover focus:text-primary-pressed focus:bg-primary-light focus:border-primary-pressed text-primary focus:outlined-primary":e.variant==="secondary"&&!e.error&&!e.disabled,"border-error text-error hover:bg-error-light-hover focus:bg-error-light-pressed focus:outlined-error border bg-white":e.variant==="secondary"&&e.error&&!e.disabled,"text-neutral-inactive border-neutral-inactive cursor-not-allowed border":e.variant==="secondary"&&e.disabled,"text-primary hover:text-primary-hover hover:bg-primary-light-hover focus:text-primary-pressed focus:bg-primary-light-pressed focus:outlined-primary border-none bg-transparent":e.variant==="tertiary"&&!e.error&&!e.disabled,"text-error hover:bg-error-light-hover focus:bg-error-light-pressed focus:outlined-error border-none":e.variant==="tertiary"&&e.error&&!e.disabled,"text-neutral-inactive cursor-not-allowed border-none bg-transparent":e.variant==="tertiary"&&e.disabled}}]),"data-cy":`${(d=e.label.trim())==null?void 0:d.replaceAll(" ","").replaceAll(",","")}-button`,onClick:h},[l.value?(r(),o("span",w,[(r(),o("svg",{class:s(["animate-spin",{"mr-1 h-[14px] w-[14px]":e.size==="xs","mr-2 h-4 w-4":e.size==="sm","mr-2 h-5 w-5":e.size==="base","mr-3 h-6 w-6":e.size==="l"||e.size==="xl"}]),xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},C,2)),V])):(r(),o("span",{key:0,class:s(["inline-flex items-center",e.iconRight?"flex-row-reverse":"flex-row"])},[e.icon?(r(),f(g,{key:0,name:e.icon.name,solid:e.icon.solid,class:s({"h-[14px] w-[14px]":e.size==="xs","h-4 w-4":e.size==="sm","h-5 w-5":e.size==="base","h-6 w-6":e.size==="l"||e.size==="xl"})},null,8,["name","solid","class"])):p("",!0),e.icon&&e.label!==""?(r(),o("span",{key:1,class:s({"w-1":e.size==="xs","w-2":e.size==="sm"||e.size==="base","w-3":e.size==="l"||e.size==="xl"})},null,2)):p("",!0),n("span",c,v(e.label),1)],2))],10,z)}}});export{R as default,N as elButtonSizes,O as elButtonVariants};
1
+ import{defineComponent as m,ref as u,computed as y,openBlock as r,createElementBlock as o,normalizeClass as s,createBlock as f,createCommentVNode as p,createElementVNode as n,toDisplayString as v}from"vue";import g from"./ElIcon.vue.esm2.js";const z=["disabled","type","data-cy"],w={class:"font-semibold"},c={key:1,class:"inline-flex items-center"},k=n("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),B=n("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1),C=[k,B],V=n("span",{class:"font-semibold"},"Un attimo...",-1),N=["xs","sm","base","l","xl"],O=["primary","secondary","tertiary"],R=m({__name:"ElButton",props:{disabled:{type:Boolean,default:!1},dark:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},icon:{default:void 0},iconRight:{type:Boolean},error:{type:Boolean,default:!1},label:{default:""},size:{default:"base"},variant:{default:"primary"},type:{default:"button"},loadOnClick:{type:Boolean,default:!1},onClick:{type:Function,default:void 0}},setup(b){const a=b,i=u(!1),t=u(!1),l=y(()=>i.value||t.value||a.loading),h=async()=>{var e;i.value||l.value||(t.value=i.value=a.loadOnClick,setTimeout(()=>{t.value=!1},3e3),await((e=a.onClick)==null?void 0:e.call(a)),i.value=!1)};return(e,A)=>{var d;return r(),o("button",{disabled:e.disabled||e.loading,type:e.type,class:s(["inline-flex items-center justify-center py-0 font-semibold leading-4 transition duration-150 ease-in-out",{"h-6 rounded text-xs":e.size==="xs","h-7 rounded text-xs":e.size==="sm","h-8 rounded-md text-sm":e.size==="base","text-base h-10 rounded-md ":e.size==="l","text-base h-12 rounded-md ":e.size==="xl","cursor-pointer":!l.value&&!e.disabled,"cursor-wait":l.value&&!e.disabled,"px-4":e.variant!=="tertiary"&&(e.size==="base"||e.size==="l"||e.size==="xl"),"px-3":e.variant!=="tertiary"&&(e.size==="sm"||e.size==="xs")||e.variant==="tertiary"&&(e.size==="l"||e.size==="xl"),"px-2":e.variant==="tertiary"&&(e.size==="xs"||e.size==="sm"||e.size==="base"),...e.dark?{"bg-alpha-200 text-white hover:bg-alpha-300 focus:bg-alpha-300 focus:border focus:border-alpha-400 focus:outline-none":e.variant==="primary"&&!e.disabled,"bg-alpha-100 text-alpha-400 cursor-not-allowed":e.variant==="primary"&&e.disabled,"bg-black border border-alpha-500 hover:bg-alpha-100 focus:bg-alpha-100 text-white focus:outline-none":e.variant==="secondary"&&!e.error&&!e.disabled,"text-alpha-400 bg-alpha-100 cursor-not-allowed focus:outline-none":e.variant==="secondary"&&e.disabled,"bg-transparent hover:bg-alpha-100 focus:bg-alpha-100 border-none text-white focus:outline-none":e.variant==="tertiary"&&!e.error&&!e.disabled,"text-alpha-400 cursor-not-allowed border-none bg-transparent focus:outline-none":e.variant==="tertiary"&&e.disabled}:{"bg-primary hover:bg-primary-hover focus:bg-primary-pressed focus:outlined-primary text-white":e.variant==="primary"&&!e.error&&!e.disabled,"bg-error hover:bg-error-hover focus:bg-error-pressed focus:outlined-error text-white":e.variant==="primary"&&e.error&&!e.disabled,"bg-neutral-inactive text-neutral-inactive cursor-not-allowed":e.variant==="primary"&&e.disabled,"bg-white border border-primary hover:border-primary-hover hover:bg-primary-light-hover hover:text-primary-hover focus:text-primary-pressed focus:bg-primary-light focus:border-primary-pressed text-primary focus:outlined-primary":e.variant==="secondary"&&!e.error&&!e.disabled,"border-error text-error hover:bg-error-light-hover focus:bg-error-light-pressed focus:outlined-error border bg-white":e.variant==="secondary"&&e.error&&!e.disabled,"text-neutral-inactive border-neutral-inactive cursor-not-allowed border":e.variant==="secondary"&&e.disabled,"text-primary hover:text-primary-hover hover:bg-primary-light-hover focus:text-primary-pressed focus:bg-primary-light-pressed focus:outlined-primary border-none bg-transparent":e.variant==="tertiary"&&!e.error&&!e.disabled,"text-error hover:bg-error-light-hover focus:bg-error-light-pressed focus:outlined-error border-none":e.variant==="tertiary"&&e.error&&!e.disabled,"text-neutral-inactive cursor-not-allowed border-none bg-transparent":e.variant==="tertiary"&&e.disabled}}]),"data-cy":`${(d=e.label.trim())==null?void 0:d.replaceAll(" ","").replaceAll(",","")}-button`,onClick:h},[l.value?(r(),o("span",c,[(r(),o("svg",{class:s(["animate-spin",{"mr-1 h-[14px] w-[14px]":e.size==="xs","mr-2 h-4 w-4":e.size==="sm","mr-2 h-5 w-5":e.size==="base","mr-3 h-6 w-6":e.size==="l"||e.size==="xl"}]),xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},C,2)),V])):(r(),o("span",{key:0,class:s(["inline-flex items-center",e.iconRight?"flex-row-reverse":"flex-row"])},[e.icon?(r(),f(g,{key:0,name:e.icon.name,solid:e.icon.solid,class:s({"h-[14px] w-[14px]":e.size==="xs","h-4 w-4":e.size==="sm","h-5 w-5":e.size==="base","h-6 w-6":e.size==="l"||e.size==="xl"})},null,8,["name","solid","class"])):p("",!0),e.icon&&e.label!==""?(r(),o("span",{key:1,class:s({"w-1":e.size==="xs","w-2":e.size==="sm"||e.size==="base","w-3":e.size==="l"||e.size==="xl"})},null,2)):p("",!0),n("span",w,v(e.label),1)],2))],10,z)}}});export{R as default,N as elButtonSizes,O as elButtonVariants};
2
2
  //# sourceMappingURL=ElButton.vue.esm2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ElButton.vue.esm2.js","sources":["../../src/ElButton.vue"],"sourcesContent":["<script lang=\"ts\">\nexport const elButtonSizes = ['xs', 'sm', 'base', 'l', 'xl'] as const;\nexport type ElButtonSize = (typeof elButtonSizes)[number];\n\nexport const elButtonVariants = ['primary', 'secondary', 'tertiary'] as const;\nexport type ElButtonVariant = (typeof elButtonVariants)[number];\n</script>\n\n<script setup lang=\"ts\">\nimport ElIcon, { ElIconProps } from '@/ElIcon.vue';\nimport { ref, computed, ButtonHTMLAttributes } from 'vue';\n\nexport interface ElButtonProps {\n disabled?: boolean;\n dark?: boolean;\n loading?: boolean;\n icon?: ElIconProps;\n iconRight?: boolean;\n error?: boolean;\n label: string;\n size?: ElButtonSize;\n variant?: ElButtonVariant;\n type?: ButtonHTMLAttributes['type'];\n loadOnClick?: boolean;\n onClick?: (() => unknown) | (() => Promise<unknown>);\n}\n\nconst props = withDefaults(defineProps<ElButtonProps>(), {\n disabled: false,\n dark: false,\n loading: false,\n error: false,\n label: '',\n icon: undefined,\n size: 'base',\n variant: 'primary',\n type: 'button',\n loadOnClick: false,\n onClick: undefined,\n});\n\nconst callbackLoading = ref<boolean>(false);\nconst defaultLoading = ref<boolean>(false);\nconst computedLoading = computed(() => callbackLoading.value || defaultLoading.value || props.loading);\n\nconst onClick = async () => {\n if (callbackLoading.value || computedLoading.value) return;\n defaultLoading.value = callbackLoading.value = props.loadOnClick;\n setTimeout(() => {\n defaultLoading.value = false;\n }, 3000);\n await props.onClick?.();\n callbackLoading.value = false;\n};\n</script>\n\n<template>\n <button\n :disabled=\"disabled || loading\"\n :type=\"type\"\n class=\"inline-flex items-center justify-center py-0 font-semibold leading-4 transition duration-150 ease-in-out\"\n :class=\"{\n 'h-6 rounded text-xs': size === 'xs',\n 'h-7 rounded text-xs': size === 'sm',\n 'h-8 rounded-md text-sm': size === 'base',\n 'text-base h-10 rounded-md ': size === 'l',\n 'text-base h-12 rounded-md ': size === 'xl',\n 'cursor-pointer': !computedLoading,\n 'cursor-wait': computedLoading,\n 'px-4': variant !== 'tertiary' && (size === 'base' || size === 'l' || size === 'xl'),\n 'px-3': (variant !== 'tertiary' && (size === 'sm' || size === 'xs')) || (variant === 'tertiary' && (size === 'l' || size === 'xl')),\n 'px-2': variant === 'tertiary' && (size === 'xs' || size === 'sm' || size === 'base'),\n ...(dark\n ? {\n 'bg-alpha-200 text-white hover:bg-alpha-300 focus:bg-alpha-300 focus:border focus:border-alpha-400 focus:outline-none':\n variant === 'primary' && !disabled,\n 'bg-alpha-100 text-alpha-400 cursor-not-allowed': variant === 'primary' && disabled,\n 'bg-black border border-alpha-500 hover:bg-alpha-100 focus:bg-alpha-100 text-white focus:outline-none':\n variant === 'secondary' && !error && !disabled,\n 'text-alpha-400 bg-alpha-100 cursor-not-allowed focus:outline-none': variant === 'secondary' && disabled,\n 'bg-transparent hover:bg-alpha-100 focus:bg-alpha-100 border-none text-white focus:outline-none':\n variant === 'tertiary' && !error && !disabled,\n 'text-alpha-400 cursor-not-allowed border-none bg-transparent focus:outline-none': variant === 'tertiary' && disabled,\n }\n : {\n 'bg-primary hover:bg-primary-hover focus:bg-primary-pressed focus:outlined-primary text-white':\n variant === 'primary' && !error && !disabled,\n 'bg-error hover:bg-error-hover focus:bg-error-pressed focus:outlined-error text-white':\n variant === 'primary' && error && !disabled,\n 'bg-neutral-inactive text-neutral-inactive cursor-not-allowed': variant === 'primary' && disabled,\n 'bg-white border border-primary hover:border-primary-hover hover:bg-primary-light-hover hover:text-primary-hover focus:text-primary-pressed focus:bg-primary-light focus:border-primary-pressed text-primary focus:outlined-primary':\n variant === 'secondary' && !error && !disabled,\n 'border-error text-error hover:bg-error-light-hover focus:bg-error-light-pressed focus:outlined-error border bg-white':\n variant === 'secondary' && error && !disabled,\n 'text-neutral-inactive border-neutral-inactive cursor-not-allowed border': variant === 'secondary' && disabled,\n 'text-primary hover:text-primary-hover hover:bg-primary-light-hover focus:text-primary-pressed focus:bg-primary-light-pressed focus:outlined-primary border-none bg-transparent':\n variant === 'tertiary' && !error && !disabled,\n 'text-error hover:bg-error-light-hover focus:bg-error-light-pressed focus:outlined-error border-none':\n variant === 'tertiary' && error && !disabled,\n 'text-neutral-inactive cursor-not-allowed border-none bg-transparent': variant === 'tertiary' && disabled,\n }),\n }\"\n :data-cy=\"`${label.trim()?.replaceAll(' ', '').replaceAll(',', '')}-button`\"\n @click=\"onClick\"\n >\n <span v-if=\"!computedLoading\" class=\"inline-flex items-center\" :class=\"iconRight ? 'flex-row-reverse' : 'flex-row'\">\n <ElIcon\n v-if=\"icon\"\n :name=\"icon.name\"\n :solid=\"icon.solid\"\n :class=\"{\n 'h-[14px] w-[14px]': size === 'xs',\n 'h-4 w-4': size === 'sm',\n 'h-5 w-5': size === 'base',\n 'h-6 w-6': size === 'l' || size === 'xl',\n }\"\n />\n <span\n v-if=\"icon && label !== ''\"\n :class=\"{\n 'w-1': size === 'xs',\n 'w-2': size === 'sm' || size === 'base',\n 'w-3': size === 'l' || size === 'xl',\n }\"\n ></span>\n <span class=\"font-semibold\">{{ label }}</span>\n </span>\n <span v-else class=\"inline-flex items-center\">\n <svg\n class=\"animate-spin\"\n :class=\"{\n 'mr-1 h-[14px] w-[14px]': size === 'xs',\n 'mr-2 h-4 w-4': size === 'sm',\n 'mr-2 h-5 w-5': size === 'base',\n 'mr-3 h-6 w-6': size === 'l' || size === 'xl',\n }\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <circle class=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" stroke-width=\"4\" />\n <path\n class=\"opacity-75\"\n fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n />\n </svg>\n <span class=\"font-semibold\">Un attimo...</span>\n </span>\n </button>\n</template>\n"],"names":["elButtonSizes","elButtonVariants","props","__props","callbackLoading","ref","defaultLoading","computedLoading","computed","onClick","_a"],"mappings":"urBACaA,EAAgB,CAAC,KAAM,KAAM,OAAQ,IAAK,IAAI,EAG9CC,EAAmB,CAAC,UAAW,YAAa,UAAU,uYAuBnE,MAAMC,EAAQC,EAcRC,EAAkBC,EAAa,EAAK,EACpCC,EAAiBD,EAAa,EAAK,EACnCE,EAAkBC,EAAS,IAAMJ,EAAgB,OAASE,EAAe,OAASJ,EAAM,OAAO,EAE/FO,EAAU,SAAY,OACtBL,EAAgB,OAASG,EAAgB,QAC9BD,EAAA,MAAQF,EAAgB,MAAQF,EAAM,YACrD,WAAW,IAAM,CACfI,EAAe,MAAQ,IACtB,GAAI,EACP,OAAMI,EAAAR,EAAM,UAAN,YAAAQ,EAAA,KAAAR,IACNE,EAAgB,MAAQ,GAAA"}
1
+ {"version":3,"file":"ElButton.vue.esm2.js","sources":["../../src/ElButton.vue"],"sourcesContent":["<script lang=\"ts\">\nexport const elButtonSizes = ['xs', 'sm', 'base', 'l', 'xl'] as const;\nexport type ElButtonSize = (typeof elButtonSizes)[number];\n\nexport const elButtonVariants = ['primary', 'secondary', 'tertiary'] as const;\nexport type ElButtonVariant = (typeof elButtonVariants)[number];\n</script>\n\n<script setup lang=\"ts\">\nimport ElIcon, { ElIconProps } from '@/ElIcon.vue';\nimport { ref, computed, ButtonHTMLAttributes } from 'vue';\n\nexport interface ElButtonProps {\n disabled?: boolean;\n dark?: boolean;\n loading?: boolean;\n icon?: ElIconProps;\n iconRight?: boolean;\n error?: boolean;\n label: string;\n size?: ElButtonSize;\n variant?: ElButtonVariant;\n type?: ButtonHTMLAttributes['type'];\n loadOnClick?: boolean;\n onClick?: (() => unknown) | (() => Promise<unknown>);\n}\n\nconst props = withDefaults(defineProps<ElButtonProps>(), {\n disabled: false,\n dark: false,\n loading: false,\n error: false,\n label: '',\n icon: undefined,\n size: 'base',\n variant: 'primary',\n type: 'button',\n loadOnClick: false,\n onClick: undefined,\n});\n\nconst callbackLoading = ref<boolean>(false);\nconst defaultLoading = ref<boolean>(false);\nconst computedLoading = computed(() => callbackLoading.value || defaultLoading.value || props.loading);\n\nconst onClick = async () => {\n if (callbackLoading.value || computedLoading.value) return;\n defaultLoading.value = callbackLoading.value = props.loadOnClick;\n setTimeout(() => {\n defaultLoading.value = false;\n }, 3000);\n await props.onClick?.();\n callbackLoading.value = false;\n};\n</script>\n\n<template>\n <button\n :disabled=\"disabled || loading\"\n :type=\"type\"\n class=\"inline-flex items-center justify-center py-0 font-semibold leading-4 transition duration-150 ease-in-out\"\n :class=\"{\n 'h-6 rounded text-xs': size === 'xs',\n 'h-7 rounded text-xs': size === 'sm',\n 'h-8 rounded-md text-sm': size === 'base',\n 'text-base h-10 rounded-md ': size === 'l',\n 'text-base h-12 rounded-md ': size === 'xl',\n 'cursor-pointer': !computedLoading && !disabled,\n 'cursor-wait': computedLoading && !disabled,\n 'px-4': variant !== 'tertiary' && (size === 'base' || size === 'l' || size === 'xl'),\n 'px-3': (variant !== 'tertiary' && (size === 'sm' || size === 'xs')) || (variant === 'tertiary' && (size === 'l' || size === 'xl')),\n 'px-2': variant === 'tertiary' && (size === 'xs' || size === 'sm' || size === 'base'),\n ...(dark\n ? {\n 'bg-alpha-200 text-white hover:bg-alpha-300 focus:bg-alpha-300 focus:border focus:border-alpha-400 focus:outline-none':\n variant === 'primary' && !disabled,\n 'bg-alpha-100 text-alpha-400 cursor-not-allowed': variant === 'primary' && disabled,\n 'bg-black border border-alpha-500 hover:bg-alpha-100 focus:bg-alpha-100 text-white focus:outline-none':\n variant === 'secondary' && !error && !disabled,\n 'text-alpha-400 bg-alpha-100 cursor-not-allowed focus:outline-none': variant === 'secondary' && disabled,\n 'bg-transparent hover:bg-alpha-100 focus:bg-alpha-100 border-none text-white focus:outline-none':\n variant === 'tertiary' && !error && !disabled,\n 'text-alpha-400 cursor-not-allowed border-none bg-transparent focus:outline-none': variant === 'tertiary' && disabled,\n }\n : {\n 'bg-primary hover:bg-primary-hover focus:bg-primary-pressed focus:outlined-primary text-white':\n variant === 'primary' && !error && !disabled,\n 'bg-error hover:bg-error-hover focus:bg-error-pressed focus:outlined-error text-white':\n variant === 'primary' && error && !disabled,\n 'bg-neutral-inactive text-neutral-inactive cursor-not-allowed': variant === 'primary' && disabled,\n 'bg-white border border-primary hover:border-primary-hover hover:bg-primary-light-hover hover:text-primary-hover focus:text-primary-pressed focus:bg-primary-light focus:border-primary-pressed text-primary focus:outlined-primary':\n variant === 'secondary' && !error && !disabled,\n 'border-error text-error hover:bg-error-light-hover focus:bg-error-light-pressed focus:outlined-error border bg-white':\n variant === 'secondary' && error && !disabled,\n 'text-neutral-inactive border-neutral-inactive cursor-not-allowed border': variant === 'secondary' && disabled,\n 'text-primary hover:text-primary-hover hover:bg-primary-light-hover focus:text-primary-pressed focus:bg-primary-light-pressed focus:outlined-primary border-none bg-transparent':\n variant === 'tertiary' && !error && !disabled,\n 'text-error hover:bg-error-light-hover focus:bg-error-light-pressed focus:outlined-error border-none':\n variant === 'tertiary' && error && !disabled,\n 'text-neutral-inactive cursor-not-allowed border-none bg-transparent': variant === 'tertiary' && disabled,\n }),\n }\"\n :data-cy=\"`${label.trim()?.replaceAll(' ', '').replaceAll(',', '')}-button`\"\n @click=\"onClick\"\n >\n <span v-if=\"!computedLoading\" class=\"inline-flex items-center\" :class=\"iconRight ? 'flex-row-reverse' : 'flex-row'\">\n <ElIcon\n v-if=\"icon\"\n :name=\"icon.name\"\n :solid=\"icon.solid\"\n :class=\"{\n 'h-[14px] w-[14px]': size === 'xs',\n 'h-4 w-4': size === 'sm',\n 'h-5 w-5': size === 'base',\n 'h-6 w-6': size === 'l' || size === 'xl',\n }\"\n />\n <span\n v-if=\"icon && label !== ''\"\n :class=\"{\n 'w-1': size === 'xs',\n 'w-2': size === 'sm' || size === 'base',\n 'w-3': size === 'l' || size === 'xl',\n }\"\n ></span>\n <span class=\"font-semibold\">{{ label }}</span>\n </span>\n <span v-else class=\"inline-flex items-center\">\n <svg\n class=\"animate-spin\"\n :class=\"{\n 'mr-1 h-[14px] w-[14px]': size === 'xs',\n 'mr-2 h-4 w-4': size === 'sm',\n 'mr-2 h-5 w-5': size === 'base',\n 'mr-3 h-6 w-6': size === 'l' || size === 'xl',\n }\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <circle class=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" stroke-width=\"4\" />\n <path\n class=\"opacity-75\"\n fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n />\n </svg>\n <span class=\"font-semibold\">Un attimo...</span>\n </span>\n </button>\n</template>\n"],"names":["elButtonSizes","elButtonVariants","props","__props","callbackLoading","ref","defaultLoading","computedLoading","computed","onClick","_a"],"mappings":"urBACaA,EAAgB,CAAC,KAAM,KAAM,OAAQ,IAAK,IAAI,EAG9CC,EAAmB,CAAC,UAAW,YAAa,UAAU,uYAuBnE,MAAMC,EAAQC,EAcRC,EAAkBC,EAAa,EAAK,EACpCC,EAAiBD,EAAa,EAAK,EACnCE,EAAkBC,EAAS,IAAMJ,EAAgB,OAASE,EAAe,OAASJ,EAAM,OAAO,EAE/FO,EAAU,SAAY,OACtBL,EAAgB,OAASG,EAAgB,QAC9BD,EAAA,MAAQF,EAAgB,MAAQF,EAAM,YACrD,WAAW,IAAM,CACfI,EAAe,MAAQ,IACtB,GAAI,EACP,OAAMI,EAAAR,EAAM,UAAN,YAAAQ,EAAA,KAAAR,IACNE,EAAgB,MAAQ,GAAA"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),i=require("./ElTab.vue.cjs2.js"),d={class:"w-full"},p={class:"flex flex-wrap sm:flex-nowrap"},_=e.defineComponent({__name:"ElTabGroup",props:{modelValue:{},tabs:{},color:{}},emits:["update:modelValue"],setup(a,{emit:r}){const o=a,n=r,u=l=>{n("update:modelValue",l)},s=l=>l.disabled?"inactive":(l.value??l.label)===o.modelValue?"active":"default";return(l,m)=>(e.openBlock(),e.createElementBlock("div",d,[e.createElementVNode("div",p,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.tabs,(t,c)=>(e.openBlock(),e.createBlock(i.default,{key:`tab-${c}`,color:o.color,badge:t.badge,class:"grow min-w-[120px]",label:t.label,status:s(t),onClick:f=>u(t.value??t.label)},null,8,["color","badge","label","status","onClick"]))),128))])]))}});exports.default=_;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),i=require("./ElTab.vue.cjs2.js"),d={class:"w-full"},p={class:"flex flex-wrap sm:flex-nowrap"},m=e.defineComponent({__name:"ElTabGroup",props:{modelValue:{},tabs:{},color:{},variant:{default:"default"}},emits:["update:modelValue"],setup(o,{emit:r}){const a=o,n=r,s=l=>{n("update:modelValue",l)},u=l=>l.disabled?"inactive":(l.value??l.label)===a.modelValue?"active":"default";return(l,_)=>(e.openBlock(),e.createElementBlock("div",d,[e.createElementVNode("div",p,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.tabs,(t,c)=>(e.openBlock(),e.createBlock(i.default,{key:`tab-${c}`,color:a.color,badge:t.badge,class:e.normalizeClass(["min-w-[120px]",{grow:a.variant==="w-full"}]),label:t.label,status:u(t),onClick:f=>s(t.value??t.label)},null,8,["color","badge","class","label","status","onClick"]))),128))])]))}});exports.default=m;
2
2
  //# sourceMappingURL=ElTabGroup.vue.cjs2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ElTabGroup.vue.cjs2.js","sources":["../../src/ElTabGroup.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type ElTabItem = {\n value?: string;\n label: string;\n disabled?: boolean;\n badge?: {\n visible: boolean;\n value?: string;\n };\n};\n</script>\n\n<script lang=\"ts\" setup>\nimport ElTab, { ElTabColors, ElTabStatues } from '@/ElTab.vue';\n\nconst props = defineProps<{\n modelValue: string;\n tabs: ElTabItem[];\n color?: ElTabColors;\n}>();\n\nconst emit = defineEmits<{\n (event: 'update:modelValue', modelValue: string): void;\n}>();\n\nconst onClick = (tab: string) => {\n emit('update:modelValue', tab);\n};\n\nconst getTabStatus = (tab: ElTabItem): ElTabStatues => {\n if (tab.disabled) return 'inactive';\n if ((tab.value ?? tab.label) === props.modelValue) return 'active';\n return 'default';\n};\n</script>\n\n<template>\n <div class=\"w-full\">\n <div class=\"flex flex-wrap sm:flex-nowrap\">\n <ElTab\n v-for=\"(tab, index) in tabs\"\n :key=\"`tab-${index}`\"\n :color=\"props.color\"\n :badge=\"tab.badge\"\n class=\"grow min-w-[120px]\"\n :label=\"tab.label\"\n :status=\"getTabStatus(tab)\"\n @click=\"onClick(tab.value ?? tab.label)\"\n />\n </div>\n </div>\n</template>\n"],"names":["props","__props","emit","__emit","onClick","tab","getTabStatus"],"mappings":"+VAeA,MAAMA,EAAQC,EAMRC,EAAOC,EAIPC,EAAWC,GAAgB,CAC/BH,EAAK,oBAAqBG,CAAG,CAAA,EAGzBC,EAAgBD,GAChBA,EAAI,SAAiB,YACpBA,EAAI,OAASA,EAAI,SAAWL,EAAM,WAAmB,SACnD"}
1
+ {"version":3,"file":"ElTabGroup.vue.cjs2.js","sources":["../../src/ElTabGroup.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type ElTabItem = {\n value?: string;\n label: string;\n disabled?: boolean;\n badge?: {\n visible: boolean;\n value?: string;\n };\n};\n</script>\n\n<script lang=\"ts\" setup>\nimport ElTab, { ElTabColors, ElTabStatues } from '@/ElTab.vue';\n\nconst props = withDefaults(\n defineProps<{\n modelValue: string;\n tabs: ElTabItem[];\n color?: ElTabColors;\n variant?: 'default' | 'w-full';\n }>(),\n {\n variant: 'default',\n },\n);\n\nconst emit = defineEmits<{\n (event: 'update:modelValue', modelValue: string): void;\n}>();\n\nconst onClick = (tab: string) => {\n emit('update:modelValue', tab);\n};\n\nconst getTabStatus = (tab: ElTabItem): ElTabStatues => {\n if (tab.disabled) return 'inactive';\n if ((tab.value ?? tab.label) === props.modelValue) return 'active';\n return 'default';\n};\n</script>\n\n<template>\n <div class=\"w-full\">\n <div class=\"flex flex-wrap sm:flex-nowrap\">\n <ElTab\n v-for=\"(tab, index) in tabs\"\n :key=\"`tab-${index}`\"\n :color=\"props.color\"\n :badge=\"tab.badge\"\n class=\"min-w-[120px]\"\n :class=\"{ grow: props.variant === 'w-full' }\"\n :label=\"tab.label\"\n :status=\"getTabStatus(tab)\"\n @click=\"onClick(tab.value ?? tab.label)\"\n />\n </div>\n </div>\n</template>\n"],"names":["props","__props","emit","__emit","onClick","tab","getTabStatus"],"mappings":"2XAeA,MAAMA,EAAQC,EAYRC,EAAOC,EAIPC,EAAWC,GAAgB,CAC/BH,EAAK,oBAAqBG,CAAG,CAAA,EAGzBC,EAAgBD,GAChBA,EAAI,SAAiB,YACpBA,EAAI,OAASA,EAAI,SAAWL,EAAM,WAAmB,SACnD"}
@@ -1,2 +1,2 @@
1
- import{defineComponent as d,openBlock as t,createElementBlock as a,createElementVNode as m,Fragment as p,renderList as f,createBlock as _}from"vue";import b from"./ElTab.vue.esm2.js";const k={class:"w-full"},v={class:"flex flex-wrap sm:flex-nowrap"},C=d({__name:"ElTabGroup",props:{modelValue:{},tabs:{},color:{}},emits:["update:modelValue"],setup(r,{emit:n}){const o=r,s=n,c=e=>{s("update:modelValue",e)},u=e=>e.disabled?"inactive":(e.value??e.label)===o.modelValue?"active":"default";return(e,g)=>(t(),a("div",k,[m("div",v,[(t(!0),a(p,null,f(e.tabs,(l,i)=>(t(),_(b,{key:`tab-${i}`,color:o.color,badge:l.badge,class:"grow min-w-[120px]",label:l.label,status:u(l),onClick:w=>c(l.value??l.label)},null,8,["color","badge","label","status","onClick"]))),128))])]))}});export{C as default};
1
+ import{defineComponent as d,openBlock as t,createElementBlock as o,createElementVNode as m,Fragment as f,renderList as p,createBlock as _,normalizeClass as v}from"vue";import b from"./ElTab.vue.esm2.js";const k={class:"w-full"},g={class:"flex flex-wrap sm:flex-nowrap"},h=d({__name:"ElTabGroup",props:{modelValue:{},tabs:{},color:{},variant:{default:"default"}},emits:["update:modelValue"],setup(r,{emit:n}){const a=r,s=n,c=e=>{s("update:modelValue",e)},u=e=>e.disabled?"inactive":(e.value??e.label)===a.modelValue?"active":"default";return(e,w)=>(t(),o("div",k,[m("div",g,[(t(!0),o(f,null,p(e.tabs,(l,i)=>(t(),_(b,{key:`tab-${i}`,color:a.color,badge:l.badge,class:v(["min-w-[120px]",{grow:a.variant==="w-full"}]),label:l.label,status:u(l),onClick:x=>c(l.value??l.label)},null,8,["color","badge","class","label","status","onClick"]))),128))])]))}});export{h as default};
2
2
  //# sourceMappingURL=ElTabGroup.vue.esm2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ElTabGroup.vue.esm2.js","sources":["../../src/ElTabGroup.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type ElTabItem = {\n value?: string;\n label: string;\n disabled?: boolean;\n badge?: {\n visible: boolean;\n value?: string;\n };\n};\n</script>\n\n<script lang=\"ts\" setup>\nimport ElTab, { ElTabColors, ElTabStatues } from '@/ElTab.vue';\n\nconst props = defineProps<{\n modelValue: string;\n tabs: ElTabItem[];\n color?: ElTabColors;\n}>();\n\nconst emit = defineEmits<{\n (event: 'update:modelValue', modelValue: string): void;\n}>();\n\nconst onClick = (tab: string) => {\n emit('update:modelValue', tab);\n};\n\nconst getTabStatus = (tab: ElTabItem): ElTabStatues => {\n if (tab.disabled) return 'inactive';\n if ((tab.value ?? tab.label) === props.modelValue) return 'active';\n return 'default';\n};\n</script>\n\n<template>\n <div class=\"w-full\">\n <div class=\"flex flex-wrap sm:flex-nowrap\">\n <ElTab\n v-for=\"(tab, index) in tabs\"\n :key=\"`tab-${index}`\"\n :color=\"props.color\"\n :badge=\"tab.badge\"\n class=\"grow min-w-[120px]\"\n :label=\"tab.label\"\n :status=\"getTabStatus(tab)\"\n @click=\"onClick(tab.value ?? tab.label)\"\n />\n </div>\n </div>\n</template>\n"],"names":["props","__props","emit","__emit","onClick","tab","getTabStatus"],"mappings":"wWAeA,MAAMA,EAAQC,EAMRC,EAAOC,EAIPC,EAAWC,GAAgB,CAC/BH,EAAK,oBAAqBG,CAAG,CAAA,EAGzBC,EAAgBD,GAChBA,EAAI,SAAiB,YACpBA,EAAI,OAASA,EAAI,SAAWL,EAAM,WAAmB,SACnD"}
1
+ {"version":3,"file":"ElTabGroup.vue.esm2.js","sources":["../../src/ElTabGroup.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type ElTabItem = {\n value?: string;\n label: string;\n disabled?: boolean;\n badge?: {\n visible: boolean;\n value?: string;\n };\n};\n</script>\n\n<script lang=\"ts\" setup>\nimport ElTab, { ElTabColors, ElTabStatues } from '@/ElTab.vue';\n\nconst props = withDefaults(\n defineProps<{\n modelValue: string;\n tabs: ElTabItem[];\n color?: ElTabColors;\n variant?: 'default' | 'w-full';\n }>(),\n {\n variant: 'default',\n },\n);\n\nconst emit = defineEmits<{\n (event: 'update:modelValue', modelValue: string): void;\n}>();\n\nconst onClick = (tab: string) => {\n emit('update:modelValue', tab);\n};\n\nconst getTabStatus = (tab: ElTabItem): ElTabStatues => {\n if (tab.disabled) return 'inactive';\n if ((tab.value ?? tab.label) === props.modelValue) return 'active';\n return 'default';\n};\n</script>\n\n<template>\n <div class=\"w-full\">\n <div class=\"flex flex-wrap sm:flex-nowrap\">\n <ElTab\n v-for=\"(tab, index) in tabs\"\n :key=\"`tab-${index}`\"\n :color=\"props.color\"\n :badge=\"tab.badge\"\n class=\"min-w-[120px]\"\n :class=\"{ grow: props.variant === 'w-full' }\"\n :label=\"tab.label\"\n :status=\"getTabStatus(tab)\"\n @click=\"onClick(tab.value ?? tab.label)\"\n />\n </div>\n </div>\n</template>\n"],"names":["props","__props","emit","__emit","onClick","tab","getTabStatus"],"mappings":"wZAeA,MAAMA,EAAQC,EAYRC,EAAOC,EAIPC,EAAWC,GAAgB,CAC/BH,EAAK,oBAAqBG,CAAG,CAAA,EAGzBC,EAAgBD,GAChBA,EAAI,SAAiB,YACpBA,EAAI,OAASA,EAAI,SAAWL,EAAM,WAAmB,SACnD"}
@@ -123,9 +123,9 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_TypePropsToRu
123
123
  disabled?: boolean | undefined;
124
124
  } | undefined;
125
125
  error?: boolean | undefined;
126
+ variant?: import('../ElButton.vue').ElButtonVariant | undefined;
126
127
  dark?: boolean | undefined;
127
128
  loading?: boolean | undefined;
128
- variant?: import('../ElButton.vue').ElButtonVariant | undefined;
129
129
  loadOnClick?: boolean | undefined;
130
130
  key?: (string | number | symbol) | undefined;
131
131
  ref?: any;
@@ -302,9 +302,9 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_TypePropsToRu
302
302
  disabled?: boolean | undefined;
303
303
  } | undefined;
304
304
  error?: boolean | undefined;
305
+ variant?: import('../ElButton.vue').ElButtonVariant | undefined;
305
306
  dark?: boolean | undefined;
306
307
  loading?: boolean | undefined;
307
- variant?: import('../ElButton.vue').ElButtonVariant | undefined;
308
308
  loadOnClick?: boolean | undefined;
309
309
  key?: (string | number | symbol) | undefined;
310
310
  ref?: any;
@@ -333,9 +333,9 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_TypePropsToRu
333
333
  disabled?: boolean | undefined;
334
334
  } | undefined;
335
335
  error?: boolean | undefined;
336
+ variant?: import('../ElButton.vue').ElButtonVariant | undefined;
336
337
  dark?: boolean | undefined;
337
338
  loading?: boolean | undefined;
338
- variant?: import('../ElButton.vue').ElButtonVariant | undefined;
339
339
  loadOnClick?: boolean | undefined;
340
340
  key?: (string | number | symbol) | undefined;
341
341
  ref?: any;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@davincihealthcare/elty-design-system-vue",
3
- "version": "1.74.0",
3
+ "version": "1.75.1",
4
4
  "license": "UNLICENSED",
5
5
  "main": "dist/index.umd.cjs",
6
6
  "types": "dist/index.d.ts",