eco-vue-js 0.8.34 → 0.8.36

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.
@@ -22,6 +22,8 @@ declare const _default: <Data extends DefaultData, QueryParams, Fields extends L
22
22
  configKey: string;
23
23
  defaultConfigMap: FieldConfigMap<Fields>;
24
24
  alignTop?: boolean;
25
+ disableMore?: boolean;
26
+ readonly?: boolean;
25
27
  }> & import('vue').PublicProps;
26
28
  expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
27
29
  attrs: any;
@@ -1 +1 @@
1
- {"version":3,"file":"WList.vue.d.ts","sourceRoot":"","sources":["../../../src/components/List/WList.vue"],"names":[],"mappings":"AA0TA,OAAO,KAAK,EAAC,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAC,MAAM,SAAS,CAAA;yBAYpF,IAAI,SAAS,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,eACtF,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,cAClD,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,iBAC5F,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;WAqnBxD,mBAAmB,CAAC;;;gBA/mBpB,MAAM;gBACN,MAAM;oBACF,cAAc,CAAC,IAAI,CAAC;oBACpB,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC;qBACnC,WAAW;6BACH,MAAM;wBACX,MAAM;eACf,aAAa,CAAC,WAAW,CAAC,EAAE;mBACxB,aAAa,CAAC,WAAW,CAAC,EAAE;cACjC,aAAa,CAAC,IAAI,CAAC,EAAE;yBACV,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO;oBAC5B,MAAM;2BACC,MAAM;6BACJ,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM;oBACvD,OAAO;qBACN,OAAO;mBACT,MAAM;0BACC,cAAc,CAAC,MAAM,CAAC;mBAC7B,OAAO;KA6lBmE,CAAC,4BAA2B;oBAChG,OAAO,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI;WAClD,GAAG;;;;YAtDgB,GAAG;;cApiB1B,uBAAuB,SAAS,MAAM,KAAG,IAAI;;;;YA+lBP,OAAO,CAAC,OAAO,WAAW,CAAC;;AA/nBvE,wBA+nB4E;AAC5E,KAAK,mBAAmB,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"WList.vue.d.ts","sourceRoot":"","sources":["../../../src/components/List/WList.vue"],"names":[],"mappings":"AA6TA,OAAO,KAAK,EAAC,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAC,MAAM,SAAS,CAAA;yBAYpF,IAAI,SAAS,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,eACtF,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,cAClD,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,iBAC5F,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;WAunBxD,mBAAmB,CAAC;;;gBAjnBpB,MAAM;gBACN,MAAM;oBACF,cAAc,CAAC,IAAI,CAAC;oBACpB,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC;qBACnC,WAAW;6BACH,MAAM;wBACX,MAAM;eACf,aAAa,CAAC,WAAW,CAAC,EAAE;mBACxB,aAAa,CAAC,WAAW,CAAC,EAAE;cACjC,aAAa,CAAC,IAAI,CAAC,EAAE;yBACV,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO;oBAC5B,MAAM;2BACC,MAAM;6BACJ,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM;oBACvD,OAAO;qBACN,OAAO;mBACT,MAAM;0BACC,cAAc,CAAC,MAAM,CAAC;mBAC7B,OAAO;sBACJ,OAAO;mBACV,OAAO;KA6lBmE,CAAC,4BAA2B;oBAChG,OAAO,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI;WAClD,GAAG;;;;YAtDgB,GAAG;;cApiB1B,uBAAuB,SAAS,MAAM,KAAG,IAAI;;;;YA+lBP,OAAO,CAAC,OAAO,WAAW,CAAC;;AAjoBvE,wBAioB4E;AAC5E,KAAK,mBAAmB,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC"}
@@ -34,7 +34,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
34
34
  moreBottom: { type: Boolean },
35
35
  configKey: {},
36
36
  defaultConfigMap: {},
37
- alignTop: { type: Boolean }
37
+ alignTop: { type: Boolean },
38
+ disableMore: { type: Boolean },
39
+ readonly: { type: Boolean }
38
40
  },
39
41
  emits: ["update:header-padding"],
40
42
  setup(__props) {
@@ -201,6 +203,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
201
203
  default: withCtx(({ item, skeleton, setter, refetch }) => [
202
204
  createVNode(_sfc_main$7, {
203
205
  disabled: skeleton,
206
+ "disable-more": _ctx.disableMore,
204
207
  mobile: unref(isMobile),
205
208
  "card-class": _ctx.cardClass,
206
209
  "card-wrapper-class": _ctx.cardWrapperClass,
@@ -219,7 +222,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
219
222
  default: withCtx((defaultScope) => [
220
223
  (openBlock(), createBlock(resolveDynamicComponent(defaultScope.field.component), {
221
224
  item: defaultScope.item,
222
- readonly: _ctx.readonlyGetter?.(defaultScope.item) ?? false,
225
+ readonly: _ctx.readonly || (_ctx.readonlyGetter?.(defaultScope.item) ?? false),
223
226
  skeleton,
224
227
  mobile: unref(isMobile),
225
228
  class: normalizeClass({
@@ -243,7 +246,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
243
246
  return openBlock(), createBlock(resolveDynamicComponent(menuItem), {
244
247
  key: menuIndex,
245
248
  item,
246
- readonly: _ctx.readonlyGetter?.(item) ?? false,
249
+ readonly: _ctx.readonly || (_ctx.readonlyGetter?.(item) ?? false),
247
250
  "update-item": setter,
248
251
  "delete-item": () => {
249
252
  setter();
@@ -264,7 +267,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
264
267
  fn: withCtx(() => [
265
268
  (openBlock(), createBlock(resolveDynamicComponent(_ctx.expansion), {
266
269
  item,
267
- readonly: _ctx.readonlyGetter?.(item) ?? false,
270
+ readonly: _ctx.readonly || (_ctx.readonlyGetter?.(item) ?? false),
268
271
  skeleton,
269
272
  mobile: unref(isMobile),
270
273
  "onUpdate:item": setter,
@@ -276,7 +279,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
276
279
  ]),
277
280
  key: "0"
278
281
  } : void 0
279
- ]), 1032, ["disabled", "mobile", "card-class", "card-wrapper-class", "has-border", "more-bottom", "allow-open", "align-top"])
282
+ ]), 1032, ["disabled", "disable-more", "mobile", "card-class", "card-wrapper-class", "has-border", "more-bottom", "allow-open", "align-top"])
280
283
  ]),
281
284
  _: 3
282
285
  }, 8, ["use-query-fn", "query-params", "skeleton-length", "header-margin", "allow-select", "selected", "reverse", "selected-range", "page-length", "count", "onSelect", "onSelectReverse", "onSelectRange"]);
@@ -21,6 +21,7 @@ declare const __VLS_component: import('vue').DefineComponent<{
21
21
  cardClass?: string;
22
22
  cardWrapperClass?: string;
23
23
  allowOpen?: boolean;
24
+ disableMore?: boolean;
24
25
  }, {
25
26
  updateSelected: ((value: boolean) => void) | undefined;
26
27
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
@@ -36,6 +37,7 @@ declare const __VLS_component: import('vue').DefineComponent<{
36
37
  cardClass?: string;
37
38
  cardWrapperClass?: string;
38
39
  allowOpen?: boolean;
40
+ disableMore?: boolean;
39
41
  }> & Readonly<{
40
42
  "onUpdate:selected"?: ((value: boolean) => any) | undefined;
41
43
  "onUpdate:selected-hover"?: ((value: boolean) => any) | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"WListCard.vue.d.ts","sourceRoot":"","sources":["../../../src/components/List/WListCard.vue"],"names":[],"mappings":"AAuRA,iBAAS,cAAc;;;;;YAuUO,GAAG;sBACN,GAAG;2BACE,GAAG;;;WASrB,OAAO,IAA6B;EAEjD;AA4BD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;eAnbR,OAAO;eACP,OAAO;aACT,OAAO;iBACH,OAAO;eACT,OAAO;gBACN,OAAO;gBACP,MAAM;uBACC,MAAM;gBACb,OAAO;;;;;;;eARR,OAAO;eACP,OAAO;aACT,OAAO;iBACH,OAAO;eACT,OAAO;gBACN,OAAO;gBACP,MAAM;uBACC,MAAM;gBACb,OAAO;;;;kFAsbnB,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":"WListCard.vue.d.ts","sourceRoot":"","sources":["../../../src/components/List/WListCard.vue"],"names":[],"mappings":"AAyRA,iBAAS,cAAc;;;;;YAuUO,GAAG;sBACN,GAAG;2BACE,GAAG;;;WASrB,OAAO,IAA6B;EAEjD;AA4BD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;eApbR,OAAO;eACP,OAAO;aACT,OAAO;iBACH,OAAO;eACT,OAAO;gBACN,OAAO;gBACP,MAAM;uBACC,MAAM;gBACb,OAAO;kBACL,OAAO;;;;;;;eATV,OAAO;eACP,OAAO;aACT,OAAO;iBACH,OAAO;eACT,OAAO;gBACN,OAAO;gBACP,MAAM;uBACC,MAAM;gBACb,OAAO;kBACL,OAAO;;;;kFAsbrB,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"}
@@ -25,7 +25,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
25
25
  hasBorder: { type: Boolean },
26
26
  cardClass: {},
27
27
  cardWrapperClass: {},
28
- allowOpen: { type: Boolean }
28
+ allowOpen: { type: Boolean },
29
+ disableMore: { type: Boolean }
29
30
  },
30
31
  emits: ["update:selected", "update:selected-hover"],
31
32
  setup(__props, { expose: __expose, emit: __emit }) {
@@ -148,7 +149,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
148
149
  "items-start pt-3": _ctx.alignTop,
149
150
  "items-center": !_ctx.alignTop
150
151
  }]),
151
- disabled: _ctx.disabled
152
+ disabled: _ctx.disabled || _ctx.disableMore
152
153
  }, {
153
154
  default: withCtx(() => [
154
155
  unref(allowSelect) && _ctx.mobile ? (openBlock(), createBlock(_sfc_main$3, {
@@ -10,6 +10,8 @@ declare function __VLS_template(): {
10
10
  slots?: import('vue').VNode[];
11
11
  lessTransitions?: boolean;
12
12
  initTab?: number;
13
+ side?: boolean;
14
+ disableMinHeight?: boolean;
13
15
  }> & Readonly<{
14
16
  "onUpdate:has-changes"?: ((value: boolean) => any) | undefined;
15
17
  "onUpdate:current"?: ((value: number) => any) | undefined;
@@ -39,6 +41,8 @@ declare function __VLS_template(): {
39
41
  slots?: import('vue').VNode[];
40
42
  lessTransitions?: boolean;
41
43
  initTab?: number;
44
+ side?: boolean;
45
+ disableMinHeight?: boolean;
42
46
  }> & Readonly<{
43
47
  "onUpdate:has-changes"?: ((value: boolean) => any) | undefined;
44
48
  "onUpdate:current"?: ((value: number) => any) | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"WModalStepper.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Modal/WModalStepper.vue"],"names":[],"mappings":"AAuNA,iBAAS,cAAc;;uBA6MI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAUhB,OAAO,IAA6B;EAEjD;AAyBD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;YAzTX,MAAM,EAAE;cACN,OAAO;eACN,OAAO;mBACH,OAAO;;gBA2BP,IAAI;oBANA,IAAI;;;;;;;;;YAxBf,MAAM,EAAE;cACN,OAAO;eACN,OAAO;mBACH,OAAO;;;;;;;;kFAqUtB,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":"AAuNA,iBAAS,cAAc;;uBA6MI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAUhB,OAAO,IAA6B;EAEjD;AAyBD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;YAzTX,MAAM,EAAE;cACN,OAAO;eACN,OAAO;mBACH,OAAO;;gBA2BP,IAAI;oBANA,IAAI;;;;;;;;;YAxBf,MAAM,EAAE;cACN,OAAO;eACN,OAAO;mBACH,OAAO;;;;;;;;kFAqUtB,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"}
@@ -7,6 +7,8 @@ declare const _default: import('vue').DefineComponent<{
7
7
  slots?: VNode[];
8
8
  lessTransitions?: boolean;
9
9
  initTab?: number;
10
+ side?: boolean;
11
+ disableMinHeight?: boolean;
10
12
  }, {
11
13
  updateIndex: (value: number) => void;
12
14
  next: () => void;
@@ -26,6 +28,8 @@ declare const _default: import('vue').DefineComponent<{
26
28
  slots?: VNode[];
27
29
  lessTransitions?: boolean;
28
30
  initTab?: number;
31
+ side?: boolean;
32
+ disableMinHeight?: boolean;
29
33
  }> & Readonly<{
30
34
  "onUpdate:has-changes"?: ((value: boolean) => any) | undefined;
31
35
  "onUpdate:current"?: ((value: number) => any) | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"WTabs.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Tabs/WTabs.vue"],"names":[],"mappings":"AA4OA,OAAO,EAAkC,KAAK,KAAK,EAAoD,MAAM,KAAK,CAAA;AAElH,OAAO,KAAK,MAAM,6BAA6B,CAAA;;YAOrC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;gBAC7B,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;YACrC,YAAY,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC;YAC7C,KAAK,EAAE;sBACG,OAAO;cACf,MAAM;;yBAyCU,MAAM;gBAajB,IAAI;oBAIA,IAAI;sBAuBA,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;;;;;YA9FpJ,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;gBAC7B,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;YACrC,YAAY,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC;YAC7C,KAAK,EAAE;sBACG,OAAO;cACf,MAAM;;;;;AAoZlB,wBAWG"}
1
+ {"version":3,"file":"WTabs.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Tabs/WTabs.vue"],"names":[],"mappings":"AAqQA,OAAO,EAAkC,KAAK,KAAK,EAAoD,MAAM,KAAK,CAAA;AAElH,OAAO,KAAK,MAAM,6BAA6B,CAAA;;YAOrC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;gBAC7B,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;YACrC,YAAY,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC;YAC7C,KAAK,EAAE;sBACG,OAAO;cACf,MAAM;WACT,OAAO;uBACK,OAAO;;yBAyCA,MAAM;gBAajB,IAAI;oBAIA,IAAI;sBAkCA,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;;;;;YA3GpJ,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;gBAC7B,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;YACrC,YAAY,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC;YAC7C,KAAK,EAAE;sBACG,OAAO;cACf,MAAM;WACT,OAAO;uBACK,OAAO;;;;;AAmb5B,wBAWG"}
@@ -1,16 +1,11 @@
1
- import { defineComponent, useSlots, computed, ref, reactive, inject, watch, onMounted, onUnmounted, openBlock, createElementBlock, Fragment, renderList, normalizeClass, unref, createElementVNode, createBlock, resolveDynamicComponent, createCommentVNode, createTextVNode, toDisplayString, createVNode, Transition, withCtx, normalizeStyle, TransitionGroup, nextTick } from 'vue';
1
+ import { defineComponent, useSlots, computed, ref, reactive, inject, watch, onMounted, onUnmounted, openBlock, createElementBlock, normalizeClass, Fragment, renderList, unref, createElementVNode, createBlock, resolveDynamicComponent, createCommentVNode, createTextVNode, toDisplayString, createVNode, Transition, withCtx, normalizeStyle, TransitionGroup, nextTick } from 'vue';
2
2
  import _sfc_main$1 from './components/TabItem.vue.js';
3
3
  import _sfc_main$2 from '../Form/WForm.vue.js';
4
4
  import { throttle, debounce } from '../../utils/utils.js';
5
5
  import { wTabItemListener, wTabItemUnlistener } from './models/injection.js';
6
6
 
7
- const _hoisted_1 = { class: "mb-8" };
8
- const _hoisted_2 = {
9
- key: 0,
10
- class: "relative flex mb-4 overflow-x-auto overscroll-x-contain no-scrollbar snap-x snap-always snap-mandatory"
11
- };
12
- const _hoisted_3 = ["onClick"];
13
- const _hoisted_4 = { class: "relative whitespace-nowrap px-4" };
7
+ const _hoisted_1 = ["onClick"];
8
+ const _hoisted_2 = { class: "relative whitespace-nowrap px-4" };
14
9
  const _sfc_main = /* @__PURE__ */ defineComponent({
15
10
  __name: "WTabs",
16
11
  props: {
@@ -19,7 +14,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
19
14
  icons: {},
20
15
  slots: {},
21
16
  lessTransitions: { type: Boolean },
22
- initTab: {}
17
+ initTab: {},
18
+ side: { type: Boolean },
19
+ disableMinHeight: { type: Boolean }
23
20
  },
24
21
  emits: ["update:current", "update:has-changes"],
25
22
  setup(__props, { expose: __expose, emit: __emit }) {
@@ -66,10 +63,21 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
66
63
  if (!props.names) return;
67
64
  const element = button.value[current.value];
68
65
  if (!element || !element.offsetWidth) return;
69
- indicatorStyle.value = {
70
- width: element.offsetWidth + "px",
71
- left: element.offsetLeft + "px"
72
- };
66
+ if (props.side) {
67
+ indicatorStyle.value = {
68
+ height: element.offsetHeight + "px",
69
+ top: element.offsetTop + "px",
70
+ left: "0",
71
+ width: "0.25rem"
72
+ };
73
+ } else {
74
+ indicatorStyle.value = {
75
+ width: element.offsetWidth + "px",
76
+ left: element.offsetLeft + "px",
77
+ bottom: "0",
78
+ height: "0.25rem"
79
+ };
80
+ }
73
81
  };
74
82
  const updateHeight = (value) => {
75
83
  if (minHeight.value >= value) return;
@@ -111,22 +119,34 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
111
119
  initModel
112
120
  });
113
121
  return (_ctx, _cache) => {
114
- return openBlock(), createElementBlock("div", _hoisted_1, [
115
- _ctx.names ? (openBlock(), createElementBlock("div", _hoisted_2, [
122
+ return openBlock(), createElementBlock("div", {
123
+ class: normalizeClass(["mb-8 grid gap-4", {
124
+ "grid grid-cols-1": !_ctx.side,
125
+ "grid grid-cols-[auto,1fr] items-start": _ctx.side
126
+ }])
127
+ }, [
128
+ _ctx.names ? (openBlock(), createElementBlock("div", {
129
+ key: 0,
130
+ class: normalizeClass(["relative flex overflow-x-auto overscroll-x-contain no-scrollbar snap-x snap-always snap-mandatory", {
131
+ "flex-col": _ctx.side
132
+ }])
133
+ }, [
116
134
  (openBlock(true), createElementBlock(Fragment, null, renderList(defaultSlots.value, (_, index) => {
117
135
  return openBlock(), createElementBlock("button", {
118
136
  ref_for: true,
119
137
  ref_key: "button",
120
138
  ref: button,
121
139
  key: index,
122
- class: normalizeClass(["flex-1 font-semibold flex items-center justify-center h-10 cursor-pointer snap-center relative w-ripple w-ripple-hover select-none transition-colors duration-500 outline-none", {
140
+ class: normalizeClass(["flex-1 font-semibold flex items-center cursor-pointer snap-center relative w-ripple w-ripple-hover select-none transition-colors duration-500 outline-none", {
123
141
  "text-description": current.value !== index && isValidMap[index] !== false,
124
142
  "text-primary-default dark:text-primary-dark": current.value === index && isValidMap[index] !== false,
125
- "text-negative dark:text-negative-dark": isValidMap[index] === false
143
+ "text-negative dark:text-negative-dark": isValidMap[index] === false,
144
+ "h-10 text-center justify-center": !_ctx.side,
145
+ "py-3 text-start pr-4": _ctx.side
126
146
  }]),
127
147
  onClick: ($event) => unref(switchTab)(index)
128
148
  }, [
129
- createElementVNode("div", _hoisted_4, [
149
+ createElementVNode("div", _hoisted_2, [
130
150
  _ctx.icons?.[index] ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.icons?.[index]), {
131
151
  key: 0,
132
152
  class: "inline -mt-1"
@@ -141,7 +161,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
141
161
  default: withCtx(() => [
142
162
  hasChangesMap[index] ? (openBlock(), createElementBlock("div", {
143
163
  key: 0,
144
- class: normalizeClass(["absolute top-0 -right-4 square-2 rounded-full transition-colors duration-500", {
164
+ class: normalizeClass(["absolute top-0 right-0 square-2 rounded-full transition-colors duration-500", {
145
165
  "bg-info dark:bg-info-dark": isValidMap[index] !== false,
146
166
  "bg-negative dark:bg-negative-dark": isValidMap[index] === false
147
167
  }])
@@ -150,26 +170,27 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
150
170
  _: 2
151
171
  }, 1024)
152
172
  ])
153
- ], 10, _hoisted_3);
173
+ ], 10, _hoisted_1);
154
174
  }), 128)),
155
175
  createElementVNode("div", {
156
- class: normalizeClass(["absolute bottom-0 h-1 rounded-sm duration-500", {
176
+ class: normalizeClass(["absolute rounded-sm duration-500", {
157
177
  "bg-primary-default dark:bg-primary-dark": isValidMap[current.value] !== false,
158
178
  "bg-negative dark:bg-negative-dark": isValidMap[current.value] === false,
159
- "transition-[left,width,background-color]": indicatorStyle.value !== void 0
179
+ "transition-[left,width,background-color]": !_ctx.side && indicatorStyle.value !== void 0,
180
+ "transition-[top,height,background-color]": _ctx.side && indicatorStyle.value !== void 0
160
181
  }]),
161
182
  style: normalizeStyle(indicatorStyle.value)
162
183
  }, null, 6)
163
- ])) : createCommentVNode("", true),
184
+ ], 2)) : createCommentVNode("", true),
164
185
  createElementVNode("div", {
165
186
  class: "relative transition-[min-height] h-full duration-300",
166
187
  style: normalizeStyle({ minHeight: minHeight.value ? minHeight.value + "px" : "auto", "--direction-factor": isDirect.value ? "1" : "-1" })
167
188
  }, [
168
189
  createVNode(TransitionGroup, {
169
- "enter-active-class": "transition-transform duration-[250ms] w-full",
170
- "leave-active-class": "transition-transform duration-[250ms] w-full absolute top-0",
171
- "enter-from-class": _ctx.lessTransitions ? "opacity-0" : "translate-x-[calc((100%+var(--inner-margin))*var(--direction-factor))]",
172
- "leave-to-class": _ctx.lessTransitions ? "opacity-0" : "translate-x-[calc((100%+var(--inner-margin))*var(--direction-factor)*-1)]"
190
+ "enter-active-class": "transition-[transform,opacity] duration-[250ms] w-full",
191
+ "leave-active-class": "transition-[transform,opacity] duration-[250ms] w-full absolute top-0",
192
+ "enter-from-class": _ctx.lessTransitions || _ctx.side ? "opacity-0" : "translate-x-[calc((100%+var(--inner-margin))*var(--direction-factor))]",
193
+ "leave-to-class": _ctx.lessTransitions || _ctx.side ? "opacity-0" : "translate-x-[calc((100%+var(--inner-margin))*var(--direction-factor)*-1)]"
173
194
  }, {
174
195
  default: withCtx(() => [
175
196
  (openBlock(true), createElementBlock(Fragment, null, renderList(defaultSlots.value, (slot, index) => {
@@ -180,7 +201,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
180
201
  key: index,
181
202
  "is-active": index === current.value,
182
203
  class: "width-full",
183
- "onUpdate:height": updateHeight
204
+ "onUpdate:height": _cache[0] || (_cache[0] = ($event) => !_ctx.disableMinHeight && updateHeight($event))
184
205
  }, {
185
206
  default: withCtx(() => [
186
207
  createVNode(_sfc_main$2, {
@@ -205,7 +226,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
205
226
  _: 1
206
227
  }, 8, ["enter-from-class", "leave-to-class"])
207
228
  ], 4)
208
- ]);
229
+ ], 2);
209
230
  };
210
231
  }
211
232
  });
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "type": "git",
5
5
  "url": "https://github.com/rsmple/eco-vue-js.git"
6
6
  },
7
- "version": "0.8.34",
7
+ "version": "0.8.36",
8
8
  "scripts": {
9
9
  "dev": "vite",
10
10
  "build": "run-p type-check build-only",
@@ -25,7 +25,7 @@
25
25
  "@rushstack/eslint-patch": "1.10.4",
26
26
  "@tsconfig/node18": "18.2.4",
27
27
  "@types/jsdom": "21.1.7",
28
- "@types/node": "22.7.4",
28
+ "@types/node": "22.9.0",
29
29
  "@types/postcss-import": "14.0.3",
30
30
  "@vitejs/plugin-vue": "5.1.4",
31
31
  "@vue/eslint-config-typescript": "13.0.0",
@@ -33,19 +33,19 @@
33
33
  "autoprefixer": "10.4.20",
34
34
  "eslint": "8.57.0",
35
35
  "eslint-plugin-unused-imports": "3.0.0",
36
- "eslint-plugin-vue": "9.28.0",
36
+ "eslint-plugin-vue": "9.30.0",
37
37
  "jsdom": "25.0.1",
38
38
  "npm-run-all": "4.1.5",
39
39
  "path": "0.12.7",
40
40
  "postcss": "8.4.47",
41
41
  "postcss-import": "16.1.0",
42
- "tailwindcss": "3.4.13",
43
- "typescript": "5.6.2",
44
- "vite": "5.4.8",
45
- "vite-plugin-dts": "4.2.2",
42
+ "tailwindcss": "3.4.14",
43
+ "typescript": "5.6.3",
44
+ "vite": "5.4.10",
45
+ "vite-plugin-dts": "4.3.0",
46
46
  "vite-svg-loader": "5.1.0",
47
- "vitest": "2.1.1",
48
- "vue-tsc": "2.1.6"
47
+ "vitest": "2.1.4",
48
+ "vue-tsc": "2.1.10"
49
49
  },
50
50
  "type": "module",
51
51
  "files": [