eco-vue-js 0.9.1 → 0.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"WModalStepper.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Modal/WModalStepper.vue"],"names":[],"mappings":"AA8NA,iBAAS,cAAc;;uBAsPI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CAyEq+O,GAAG,8CAA8C,GAAG,yBAAyB,GAAG,6DAAmC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CAAtH,GAAG,8CAA8C,GAAG,yBAAyB,GAAG,6DAAmC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CAAtH,GAAG,8CAA8C,GAAG,yBAAyB,GAAG,6DAAmC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WA/D3mP,OAAO,IAA6B;EAEjD;AA0BD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;cAnWT,OAAO;eACN,OAAO;mBACH,OAAO;;gBA6BP,IAAI;oBANA,IAAI;;;;;;;;;cAzBb,OAAO;eACN,OAAO;mBACH,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAmY2+O,GAAG,8CAA8C,GAAG,yBAAyB,GAAG,6DAAmC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAAtH,GAAG,8CAA8C,GAAG,yBAAyB,GAAG,6DAAmC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAAtH,GAAG,8CAA8C,GAAG,yBAAyB,GAAG,6DAAmC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAlBvnP,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAWpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"WModalStepper.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Modal/WModalStepper.vue"],"names":[],"mappings":"AAgLA,iBAAS,cAAc;;uBAyPI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gDAmEyiS,GAAG,8CAA8C,GAAG,yBAAyB,GAAG,6DAAmC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gDAAtH,GAAG,8CAA8C,GAAG,yBAAyB,GAAG,6DAAmC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gDAAtH,GAAG,8CAA8C,GAAG,yBAAyB,GAAG,6DAAmC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAzD/qS,OAAO,IAA6B;EAEjD;AAuBD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;cA9UT,OAAO;eACN,OAAO;mBACH,OAAO;;gBAyBP,IAAI;oBAJA,IAAI;;;;;;cAvBb,OAAO;eACN,OAAO;mBACH,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CA2W+iS,GAAG,8CAA8C,GAAG,yBAAyB,GAAG,6DAAmC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CAAtH,GAAG,8CAA8C,GAAG,yBAAyB,GAAG,6DAAmC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CAAtH,GAAG,8CAA8C,GAAG,yBAAyB,GAAG,6DAAmC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAlB3rS,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAWpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -1,11 +1,10 @@
1
- import { defineComponent, useSlots, useTemplateRef, computed, ref, watch, openBlock, createBlock, withCtx, renderSlot, createTextVNode, toDisplayString, createElementVNode, normalizeStyle, unref, createVNode } from 'vue';
2
- import _sfc_main$2 from '../Button/WButton.vue.js';
1
+ import { defineComponent, useSlots, useTemplateRef, computed, ref, openBlock, createBlock, withCtx, renderSlot, createTextVNode, toDisplayString, createVNode, unref } from 'vue';
2
+ import _sfc_main$3 from '../Button/WButton.vue.js';
3
3
  import _sfc_main$1 from './WModalWrapper.vue.js';
4
- import _sfc_main$3 from '../Tabs/WTabs.vue.js';
5
- import { Notify } from '../../utils/Notify.js';
4
+ import _sfc_main$2 from '../Progress/WProgress.vue.js';
5
+ import _sfc_main$4 from '../Tabs/WTabsStepper.vue.js';
6
6
  import { SemanticType } from '../../utils/SemanticType.js';
7
7
 
8
- const _hoisted_1 = { class: "h-1 w-full bg-gray-200 dark:bg-gray-700" };
9
8
  const _sfc_main = /* @__PURE__ */ defineComponent({
10
9
  __name: "WModalStepper",
11
10
  props: {
@@ -13,31 +12,21 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
13
12
  disabled: { type: Boolean },
14
13
  disabledNext: { type: Boolean }
15
14
  },
16
- emits: ["close:modal", "submit", "next", "previous", "update:current", "update:has-changes"],
17
- setup(__props, { expose: __expose, emit: __emit }) {
18
- const emit = __emit;
15
+ emits: ["close:modal", "submit", "update:has-changes"],
16
+ setup(__props, { expose: __expose }) {
19
17
  const slots = useSlots();
20
- const tabsRef = useTemplateRef("tabs");
18
+ const tabsStepperRef = useTemplateRef("tabsStepper");
21
19
  const defaultSlots = computed(() => slots.default?.() ?? []);
22
- const tabsLength = ref(0);
23
- const current = ref(0);
20
+ const first = ref(true);
21
+ const last = ref(false);
24
22
  const currentTitle = ref();
23
+ const progress = ref(0);
25
24
  const previous = () => {
26
- emit("previous", current.value);
27
- tabsRef.value?.previous();
25
+ tabsStepperRef.value?.previous();
28
26
  };
29
27
  const next = () => {
30
- emit("next", current.value);
31
- const errorMessage = tabsRef.value?.validate(current.value);
32
- if (errorMessage) {
33
- Notify.warn({ title: "Form contains invalid values", caption: errorMessage.length < 200 ? errorMessage : void 0 });
34
- return;
35
- }
36
- tabsRef.value?.next();
28
+ tabsStepperRef.value?.next();
37
29
  };
38
- watch(current, (value) => {
39
- emit("update:current", value);
40
- }, { immediate: true });
41
30
  __expose({
42
31
  next,
43
32
  previous
@@ -50,74 +39,67 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
50
39
  ])
51
40
  ]),
52
41
  subtitle: withCtx(() => [
53
- createElementVNode("div", _hoisted_1, [
54
- createElementVNode("div", {
55
- class: "bg-primary-default dark:bg-primary-dark h-full transition-[width]",
56
- style: normalizeStyle({
57
- width: 100 * (current.value + 1) / tabsLength.value + "%"
58
- })
59
- }, null, 4)
60
- ])
42
+ createVNode(_sfc_main$2, { "model-value": progress.value }, null, 8, ["model-value"])
61
43
  ]),
62
44
  actions: withCtx(() => [
63
- current.value === 0 ? (openBlock(), createBlock(_sfc_main$2, {
45
+ first.value ? (openBlock(), createBlock(_sfc_main$3, {
64
46
  key: 0,
65
47
  disabled: _ctx.loading || _ctx.disabled,
66
48
  "semantic-type": unref(SemanticType).SECONDARY,
67
49
  class: "w-full",
68
- onClick: _cache[4] || (_cache[4] = ($event) => _ctx.$emit("close:modal"))
50
+ onClick: _cache[5] || (_cache[5] = ($event) => _ctx.$emit("close:modal"))
69
51
  }, {
70
- default: withCtx(() => _cache[6] || (_cache[6] = [
52
+ default: withCtx(() => _cache[9] || (_cache[9] = [
71
53
  createTextVNode(" Close ")
72
54
  ])),
73
55
  _: 1
74
- }, 8, ["disabled", "semantic-type"])) : (openBlock(), createBlock(_sfc_main$2, {
56
+ }, 8, ["disabled", "semantic-type"])) : (openBlock(), createBlock(_sfc_main$3, {
75
57
  key: 1,
76
58
  disabled: _ctx.loading || _ctx.disabled,
77
59
  "semantic-type": unref(SemanticType).SECONDARY,
78
60
  class: "w-full",
79
- onClick: previous
61
+ onClick: _cache[6] || (_cache[6] = ($event) => unref(tabsStepperRef)?.previous())
80
62
  }, {
81
- default: withCtx(() => _cache[7] || (_cache[7] = [
63
+ default: withCtx(() => _cache[10] || (_cache[10] = [
82
64
  createTextVNode(" Back ")
83
65
  ])),
84
66
  _: 1
85
67
  }, 8, ["disabled", "semantic-type"])),
86
- current.value === tabsLength.value - 1 ? (openBlock(), createBlock(_sfc_main$2, {
68
+ last.value ? (openBlock(), createBlock(_sfc_main$3, {
87
69
  key: 2,
88
70
  "semantic-type": unref(SemanticType).PRIMARY,
89
71
  loading: _ctx.loading,
90
72
  disabled: _ctx.disabled || _ctx.disabledNext,
91
73
  class: "w-full",
92
- onClick: _cache[5] || (_cache[5] = ($event) => _ctx.$emit("submit"))
74
+ onClick: _cache[7] || (_cache[7] = ($event) => _ctx.$emit("submit"))
93
75
  }, {
94
- default: withCtx(() => _cache[8] || (_cache[8] = [
76
+ default: withCtx(() => _cache[11] || (_cache[11] = [
95
77
  createTextVNode(" Submit ")
96
78
  ])),
97
79
  _: 1
98
- }, 8, ["semantic-type", "loading", "disabled"])) : (openBlock(), createBlock(_sfc_main$2, {
80
+ }, 8, ["semantic-type", "loading", "disabled"])) : (openBlock(), createBlock(_sfc_main$3, {
99
81
  key: 3,
100
82
  "semantic-type": unref(SemanticType).PRIMARY,
101
83
  loading: _ctx.loading,
102
84
  disabled: _ctx.disabled || _ctx.disabledNext,
103
85
  class: "w-full",
104
- onClick: next
86
+ onClick: _cache[8] || (_cache[8] = ($event) => unref(tabsStepperRef)?.next())
105
87
  }, {
106
- default: withCtx(() => _cache[9] || (_cache[9] = [
88
+ default: withCtx(() => _cache[12] || (_cache[12] = [
107
89
  createTextVNode(" Next ")
108
90
  ])),
109
91
  _: 1
110
92
  }, 8, ["semantic-type", "loading", "disabled"]))
111
93
  ]),
112
94
  default: withCtx(() => [
113
- createVNode(_sfc_main$3, {
114
- ref: "tabs",
95
+ createVNode(_sfc_main$4, {
96
+ ref: "tabsStepper",
115
97
  "custom-slots": defaultSlots.value,
116
- "no-header": "",
117
- "onUpdate:currentIndex": _cache[0] || (_cache[0] = ($event) => current.value = $event),
118
- "onUpdate:currentTitle": _cache[1] || (_cache[1] = ($event) => currentTitle.value = $event),
119
- "onUpdate:hasChanges": _cache[2] || (_cache[2] = ($event) => _ctx.$emit("update:has-changes", $event)),
120
- "onUpdate:tabsLength": _cache[3] || (_cache[3] = ($event) => tabsLength.value = $event)
98
+ "onUpdate:first": _cache[0] || (_cache[0] = ($event) => first.value = $event),
99
+ "onUpdate:last": _cache[1] || (_cache[1] = ($event) => last.value = $event),
100
+ "onUpdate:currentTitle": _cache[2] || (_cache[2] = ($event) => currentTitle.value = $event),
101
+ "onUpdate:hasChanges": _cache[3] || (_cache[3] = ($event) => _ctx.$emit("update:has-changes", $event)),
102
+ "onUpdate:progress": _cache[4] || (_cache[4] = ($event) => progress.value = $event)
121
103
  }, null, 8, ["custom-slots"])
122
104
  ]),
123
105
  _: 3
@@ -0,0 +1,7 @@
1
+ declare const _default: import('vue').DefineComponent<{
2
+ modelValue: number;
3
+ }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
4
+ modelValue: number;
5
+ }> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
6
+ export default _default;
7
+ //# sourceMappingURL=WProgress.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WProgress.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Progress/WProgress.vue"],"names":[],"mappings":";gBAoBc,MAAM;;gBAAN,MAAM;;AA8DpB,wBAMG"}
@@ -0,0 +1,23 @@
1
+ import { defineComponent, openBlock, createElementBlock, createElementVNode, normalizeStyle } from 'vue';
2
+
3
+ const _hoisted_1 = { class: "h-1 w-full bg-gray-200 dark:bg-gray-700" };
4
+ const _sfc_main = /* @__PURE__ */ defineComponent({
5
+ __name: "WProgress",
6
+ props: {
7
+ modelValue: {}
8
+ },
9
+ setup(__props) {
10
+ return (_ctx, _cache) => {
11
+ return openBlock(), createElementBlock("div", _hoisted_1, [
12
+ createElementVNode("div", {
13
+ class: "bg-primary-default dark:bg-primary-dark h-full transition-[width]",
14
+ style: normalizeStyle({
15
+ width: _ctx.modelValue + "%"
16
+ })
17
+ }, null, 4)
18
+ ]);
19
+ };
20
+ }
21
+ });
22
+
23
+ export { _sfc_main as default };
@@ -0,0 +1,5 @@
1
+ import _sfc_main from './WProgress.vue.js';
2
+
3
+
4
+
5
+ export { _sfc_main as default };
@@ -1,14 +1,7 @@
1
- import { CSSProperties, VNode, nextTick } from 'vue';
1
+ import { TabsProps } from './types';
2
+ import { CSSProperties, nextTick } from 'vue';
2
3
  import { default as WForm } from '../Form/WForm.vue';
3
- declare const _default: import('vue').DefineComponent<{
4
- customSlots?: VNode[];
5
- lessTransitions?: boolean;
6
- initTab?: number;
7
- side?: boolean;
8
- disableMinHeight?: boolean;
9
- noHeader?: boolean;
10
- switchToNew?: boolean;
11
- }, {
4
+ declare const _default: import('vue').DefineComponent<TabsProps, {
12
5
  updateCurrent: (value: string) => void;
13
6
  updateIndex: (value: number) => void;
14
7
  next: () => void;
@@ -24,15 +17,7 @@ declare const _default: import('vue').DefineComponent<{
24
17
  "update:current-index": (value: number) => any;
25
18
  "update:current-title": (value: string) => any;
26
19
  "update:tabs-length": (value: number) => any;
27
- }, string, import('vue').PublicProps, Readonly<{
28
- customSlots?: VNode[];
29
- lessTransitions?: boolean;
30
- initTab?: number;
31
- side?: boolean;
32
- disableMinHeight?: boolean;
33
- noHeader?: boolean;
34
- switchToNew?: boolean;
35
- }> & Readonly<{
20
+ }, string, import('vue').PublicProps, Readonly<TabsProps> & Readonly<{
36
21
  "onUpdate:has-changes"?: ((value: boolean) => any) | undefined;
37
22
  "onUpdate:current"?: ((value: string) => any) | undefined;
38
23
  "onUpdate:current-index"?: ((value: number) => any) | undefined;
@@ -155,6 +140,7 @@ declare const _default: import('vue').DefineComponent<{
155
140
  $data: {};
156
141
  $props: {
157
142
  readonly active: boolean;
143
+ readonly removable: boolean;
158
144
  readonly "onUpdate:height"?: ((value: number) => any) | undefined;
159
145
  readonly "onUpdate:active"?: (() => any) | undefined;
160
146
  } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
@@ -176,6 +162,7 @@ declare const _default: import('vue').DefineComponent<{
176
162
  $el: any;
177
163
  $options: import('vue').ComponentOptionsBase<Readonly<{
178
164
  active: boolean;
165
+ removable: boolean;
179
166
  }> & Readonly<{
180
167
  "onUpdate:height"?: ((value: number) => any) | undefined;
181
168
  "onUpdate:active"?: (() => any) | undefined;
@@ -206,6 +193,7 @@ declare const _default: import('vue').DefineComponent<{
206
193
  $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle;
207
194
  } & Readonly<{}> & Omit<Readonly<{
208
195
  active: boolean;
196
+ removable: boolean;
209
197
  }> & Readonly<{
210
198
  "onUpdate:height"?: ((value: number) => any) | undefined;
211
199
  "onUpdate:active"?: (() => any) | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"WTabs.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Tabs/WTabs.vue"],"names":[],"mappings":"AAsSA,OAAO,EAAC,KAAK,aAAa,EAAkB,KAAK,KAAK,EAAoB,QAAQ,EAAyE,MAAM,KAAK,CAAA;AAEtK,OAAO,KAAK,MAAM,6BAA6B,CAAA;;kBAW/B,KAAK,EAAE;sBACH,OAAO;cACf,MAAM;WACT,OAAO;uBACK,OAAO;eACf,OAAO;kBACJ,OAAO;;2BA6DO,MAAM;yBAMR,MAAM;gBAcjB,IAAI;oBAIA,IAAI;sBAUA,MAAM,6GAAqE,UAAU,CAAC,iBAAiB,CAAC,OAAO,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;wBAIhI,MAAM;;UAAuE,UAAU,CAAC,iBAAiB,CAAC,OAAO,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC;uBAIvI,MAAM,KAAsE,UAAU,CAAC,iBAAiB,CAAC,OAAO,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC;;;;;;;;kBA7G9I,KAAK,EAAE;sBACH,OAAO;cACf,MAAM;WACT,OAAO;uBACK,OAAO;eACf,OAAO;kBACJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAsW4B,GAAG,8CAErB,GAAG,yBACnB,GAAG,6DAAmC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAHP,GAAG,8CAErB,GAAG,yBACnB,GAAG,6DAAmC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAHP,GAAG,8CAErB,GAAG,yBACnB,GAAG,6DAAmC,GAAG;;;;;;;;;;;;;;;;;;;;;AAqJ1D,wBAeG"}
1
+ {"version":3,"file":"WTabs.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Tabs/WTabs.vue"],"names":[],"mappings":"AAiSA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,SAAS,CAAA;AAEtC,OAAO,EAAC,KAAK,aAAa,EAAgD,QAAQ,EAAyE,MAAM,KAAK,CAAA;AAEtK,OAAO,KAAK,MAAM,6BAA6B,CAAA;;2BAsEjB,MAAM;yBAMR,MAAM;gBAcjB,IAAI;oBAIA,IAAI;sBAUA,MAAM,6GAAqE,UAAU,CAAC,iBAAiB,CAAC,OAAO,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;wBAIhI,MAAM;;UAAuE,UAAU,CAAC,iBAAiB,CAAC,OAAO,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC;uBAIvI,MAAM,KAAsE,UAAU,CAAC,iBAAiB,CAAC,OAAO,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAgQ7G,GAAG,8CAA8C,GAAG,yBACpF,GAAG,6DAAmC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCADT,GAAG,8CAA8C,GAAG,yBACpF,GAAG,6DAAmC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCADT,GAAG,8CAA8C,GAAG,yBACpF,GAAG,6DAAmC,GAAG;;;;;;;;;;;;;;;;;;;;;AA0J1D,wBAeG"}
@@ -63,7 +63,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
63
63
  };
64
64
  const setCurrentDebounced = debounce((value) => {
65
65
  if (current.value === value || !defaultSlotsKeys.value.includes(value)) return;
66
- if (!defaultSlots.value[defaultSlotsKeys.value.indexOf(value)].children?.default) return;
66
+ if (defaultSlots.value[defaultSlotsKeys.value.indexOf(value)].props?.disabled !== void 0) return;
67
67
  isDirect.value = defaultSlotsKeys.value.indexOf(current.value) < defaultSlotsKeys.value.indexOf(value);
68
68
  current.value = value;
69
69
  }, 100);
@@ -141,7 +141,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
141
141
  });
142
142
  return (_ctx, _cache) => {
143
143
  return openBlock(), createElementBlock("div", {
144
- class: normalizeClass(["mb-8 grid gap-4", {
144
+ class: normalizeClass(["grid gap-4", {
145
145
  "grid grid-cols-1": !_ctx.side,
146
146
  "grid grid-cols-[auto,1fr] items-start": _ctx.side
147
147
  }])
@@ -202,15 +202,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
202
202
  style: normalizeStyle(indicatorStyle.value)
203
203
  }, null, 6)
204
204
  ], 2)) : createCommentVNode("", true),
205
- createElementVNode("div", {
205
+ defaultSlots.value.some((slot) => slot.children?.default) ? (openBlock(), createElementBlock("div", {
206
+ key: 1,
206
207
  class: "relative h-full transition-[min-height] duration-300",
207
208
  style: normalizeStyle({ minHeight: minHeight.value ? minHeight.value + "px" : "auto", "--direction-factor": isDirect.value ? "1" : "-1" })
208
209
  }, [
209
210
  createVNode(TransitionGroup, {
210
211
  "enter-active-class": "transition-[transform,opacity] duration-[250ms] w-full",
211
212
  "leave-active-class": "transition-[transform,opacity] duration-[250ms] w-full absolute top-0",
212
- "enter-from-class": _ctx.lessTransitions || _ctx.side ? "opacity-0" : "translate-x-[calc((100%+var(--inner-margin))*var(--direction-factor))]",
213
- "leave-to-class": _ctx.lessTransitions || _ctx.side ? "opacity-0" : "translate-x-[calc((100%+var(--inner-margin))*var(--direction-factor)*-1)]"
213
+ "enter-from-class": _ctx.lessTransitions || _ctx.side ? "opacity-0" : "opacity-0 translate-x-[calc((100%+var(--inner-margin))*var(--direction-factor))]",
214
+ "leave-to-class": _ctx.lessTransitions || _ctx.side ? "opacity-0" : "opacity-0 translate-x-[calc((100%+var(--inner-margin))*var(--direction-factor)*-1)]"
214
215
  }, {
215
216
  default: withCtx(() => [
216
217
  (openBlock(true), createElementBlock(Fragment, null, renderList(defaultSlots.value, (slot) => {
@@ -219,7 +220,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
219
220
  ref: "tabItem",
220
221
  key: slot.props?.name,
221
222
  active: slot.props?.name === current.value,
222
- class: "width-full",
223
+ removable: slot.props?.removable,
223
224
  "onUpdate:height": _cache[1] || (_cache[1] = ($event) => !_ctx.disableMinHeight && updateHeight($event)),
224
225
  "onUpdate:active": ($event) => _ctx.$emit("update:current-title", slot.props?.title)
225
226
  }, {
@@ -239,12 +240,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
239
240
  }, 1032, ["name", "title", "onUpdate:isValid", "onUpdate:hasChanges"])
240
241
  ]),
241
242
  _: 2
242
- }, 1032, ["active", "onUpdate:active"]);
243
+ }, 1032, ["active", "removable", "onUpdate:active"]);
243
244
  }), 128))
244
245
  ]),
245
246
  _: 1
246
247
  }, 8, ["enter-from-class", "leave-to-class"])
247
- ], 4)
248
+ ], 4)) : createCommentVNode("", true)
248
249
  ], 2);
249
250
  };
250
251
  }
@@ -18,10 +18,14 @@ declare const __VLS_component: import('vue').DefineComponent<{
18
18
  title: string;
19
19
  name: string;
20
20
  icon?: SVGComponent;
21
+ disabled?: boolean;
22
+ removable?: boolean;
21
23
  }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
22
24
  title: string;
23
25
  name: string;
24
26
  icon?: SVGComponent;
27
+ disabled?: boolean;
28
+ removable?: boolean;
25
29
  }> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
26
30
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
27
31
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"WTabsItem.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Tabs/WTabsItem.vue"],"names":[],"mappings":"AAuCA,iBAAS,cAAc;;kBAVX,MAAM,IAAI;gBACZ,MAAM,IAAI;iBACT,MAAM,IAAI;gBACX,MAAM,IAAI;;kBAHR,MAAM,IAAI;gBACZ,MAAM,IAAI;iBACT,MAAM,IAAI;gBACX,MAAM,IAAI;;;WAsCN,OAAO,IAA6B;EAEjD;AAQD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;WA3DZ,MAAM;UACP,MAAM;WACL,YAAY;;WAFZ,MAAM;UACP,MAAM;WACL,YAAY;iGA+DnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAWpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"WTabsItem.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Tabs/WTabsItem.vue"],"names":[],"mappings":"AA2CA,iBAAS,cAAc;;kBAVX,MAAM,IAAI;gBACZ,MAAM,IAAI;iBACT,MAAM,IAAI;gBACX,MAAM,IAAI;;kBAHR,MAAM,IAAI;gBACZ,MAAM,IAAI;iBACT,MAAM,IAAI;gBACX,MAAM,IAAI;;;WAsCN,OAAO,IAA6B;EAEjD;AAQD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;WA7DZ,MAAM;UACP,MAAM;WACL,YAAY;eACR,OAAO;gBACN,OAAO;;WAJZ,MAAM;UACP,MAAM;WACL,YAAY;eACR,OAAO;gBACN,OAAO;iGA+DnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAWpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -5,7 +5,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5
5
  props: {
6
6
  title: {},
7
7
  name: {},
8
- icon: {}
8
+ icon: {},
9
+ disabled: { type: Boolean },
10
+ removable: { type: Boolean }
9
11
  },
10
12
  setup(__props) {
11
13
  return (_ctx, _cache) => {