eco-vue-js 0.3.76 → 0.3.78

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.
@@ -11,6 +11,7 @@ declare const _default: <Model extends string | number | boolean | null, Entity
11
11
  valueGetter: ValueGetter | ((value: Entity) => Model);
12
12
  wrap?: boolean | undefined;
13
13
  stretch?: boolean | undefined;
14
+ alwaysEmit?: boolean | undefined;
14
15
  } | {
15
16
  title?: string | undefined;
16
17
  semanticType?: SemanticType | undefined;
@@ -23,6 +24,7 @@ declare const _default: <Model extends string | number | boolean | null, Entity
23
24
  valueGetter?: ValueGetter | undefined;
24
25
  wrap?: boolean | undefined;
25
26
  stretch?: boolean | undefined;
27
+ alwaysEmit?: boolean | undefined;
26
28
  }) & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, __VLS_ctx?: {
27
29
  attrs: any;
28
30
  slots: {
@@ -45,6 +47,7 @@ declare const _default: <Model extends string | number | boolean | null, Entity
45
47
  valueGetter: ValueGetter | ((value: Entity) => Model);
46
48
  wrap?: boolean | undefined;
47
49
  stretch?: boolean | undefined;
50
+ alwaysEmit?: boolean | undefined;
48
51
  } | {
49
52
  title?: string | undefined;
50
53
  semanticType?: SemanticType | undefined;
@@ -57,6 +60,7 @@ declare const _default: <Model extends string | number | boolean | null, Entity
57
60
  valueGetter?: ValueGetter | undefined;
58
61
  wrap?: boolean | undefined;
59
62
  stretch?: boolean | undefined;
63
+ alwaysEmit?: boolean | undefined;
60
64
  }) & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
61
65
  expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
62
66
  attrs: any;
@@ -83,6 +87,7 @@ declare const _default: <Model extends string | number | boolean | null, Entity
83
87
  valueGetter: ValueGetter | ((value: Entity) => Model);
84
88
  wrap?: boolean | undefined;
85
89
  stretch?: boolean | undefined;
90
+ alwaysEmit?: boolean | undefined;
86
91
  } | {
87
92
  title?: string | undefined;
88
93
  semanticType?: SemanticType | undefined;
@@ -95,6 +100,7 @@ declare const _default: <Model extends string | number | boolean | null, Entity
95
100
  valueGetter?: ValueGetter | undefined;
96
101
  wrap?: boolean | undefined;
97
102
  stretch?: boolean | undefined;
103
+ alwaysEmit?: boolean | undefined;
98
104
  }) & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
99
105
  expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
100
106
  attrs: any;
@@ -1 +1 @@
1
- {"version":3,"file":"WButtonGroup.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Button/WButtonGroup.vue"],"names":[],"mappings":"AAuCA;AAGA,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;WAkM1C,GAAG;;uBA1BkB,GAAG;;;YACD,GAAG;;cAnI3B,mBAAmB,mBAAiB,IAAI;yCA2J9B,OAAO,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,KAAG,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;oBAAzC,OAAO,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI;WAClD,GAAG;;uBA1BkB,GAAG;;;YACD,GAAG;;cAnI3B,mBAAmB,mBAAiB,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBA2J9B,OAAO,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI;eAClD,GAAG;;2BA1BkB,GAAG;;;gBACD,GAAG;;kBAnI3B,mBAAmB,mBAAiB,IAAI;;;AAnC9C,wBAoM2E"}
1
+ {"version":3,"file":"WButtonGroup.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Button/WButtonGroup.vue"],"names":[],"mappings":"AAuCA;AAGA,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAoM1C,GAAG;;uBA1BkB,GAAG;;;YACD,GAAG;;cAnI3B,mBAAmB,mBAAiB,IAAI;yCA2J9B,OAAO,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,KAAG,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAAzC,OAAO,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI;WAClD,GAAG;;uBA1BkB,GAAG;;;YACD,GAAG;;cAnI3B,mBAAmB,mBAAiB,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBA2J9B,OAAO,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI;eAClD,GAAG;;2BA1BkB,GAAG;;;gBACD,GAAG;;kBAnI3B,mBAAmB,mBAAiB,IAAI;;;AArC9C,wBAsM2E"}
@@ -14,7 +14,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
14
14
  minimize: { type: Boolean },
15
15
  wrap: { type: Boolean },
16
16
  semanticType: {},
17
- stretch: { type: Boolean }
17
+ stretch: { type: Boolean },
18
+ alwaysEmit: { type: Boolean }
18
19
  },
19
20
  emits: ["update:modelValue"],
20
21
  setup(__props) {
@@ -55,7 +56,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
55
56
  index !== 0 ? "rounded-l-none border-l-0" : getValue(item) !== _ctx.modelValue && "-ml-px",
56
57
  _ctx.stretch ? "flex-1" : void 0
57
58
  ]),
58
- onClick: ($event) => getValue(item) !== _ctx.modelValue && _ctx.$emit("update:modelValue", getValue(item))
59
+ onClick: ($event) => (_ctx.alwaysEmit || getValue(item) !== _ctx.modelValue) && _ctx.$emit("update:modelValue", getValue(item))
59
60
  }, {
60
61
  default: withCtx(() => [
61
62
  renderSlot(_ctx.$slots, "default", {
@@ -2,7 +2,7 @@ import { defineComponent, openBlock, createBlock, Transition, withCtx, KeepAlive
2
2
 
3
3
  const _hoisted_1 = {
4
4
  key: 0,
5
- class: "duration-[var(--expansion-duration,300ms)]"
5
+ class: "duration-[var(--expansion-duration,200ms)]"
6
6
  };
7
7
  const _hoisted_2 = { class: "[overflow:inherit]" };
8
8
  const _sfc_main = /* @__PURE__ */ defineComponent({
@@ -22,7 +22,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
22
22
  return (_ctx, _cache) => {
23
23
  return openBlock(), createElementBlock("div", _hoisted_1, [
24
24
  (openBlock(), createBlock(resolveDynamicComponent(_ctx.$slots.title?.()?.[0] ?? "button"), {
25
- class: "flex py-4 cursor-pointer select-none w-full",
25
+ class: "grid grid-cols-[1fr,auto] py-4 cursor-pointer select-none w-full text-start items-center",
26
26
  onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("toggle"))
27
27
  }, {
28
28
  default: withCtx(() => [
@@ -10,14 +10,14 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
10
10
  initModel: () => void;
11
11
  errorMessage: import("vue").ComputedRef<string>;
12
12
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
13
- "update:isValid": (value: boolean | undefined) => void;
14
- "update:hasChanges": (value: boolean) => void;
13
+ "update:is-valid": (value: boolean | undefined) => void;
14
+ "update:has-changes": (value: boolean) => void;
15
15
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
16
16
  name?: string | undefined;
17
17
  title?: string | undefined;
18
18
  }>>> & {
19
- "onUpdate:isValid"?: ((value: boolean | undefined) => any) | undefined;
20
- "onUpdate:hasChanges"?: ((value: boolean) => any) | undefined;
19
+ "onUpdate:is-valid"?: ((value: boolean | undefined) => any) | undefined;
20
+ "onUpdate:has-changes"?: ((value: boolean) => any) | undefined;
21
21
  }, {}, {}>, {
22
22
  default?(_: {}): any;
23
23
  }>;
@@ -13,15 +13,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
13
13
  name: {},
14
14
  title: {}
15
15
  },
16
- emits: ["update:isValid", "update:hasChanges"],
16
+ emits: ["update:is-valid", "update:has-changes"],
17
17
  setup(__props, { expose: __expose, emit: __emit }) {
18
18
  const props = __props;
19
19
  const emit = __emit;
20
20
  const name = computed(() => props.name);
21
21
  const { titleGetter, titleMapUnlistener } = useFormTitleMap(name, toRef(props, "title"));
22
- const { errorMessageMapUnlistener, isValid, errorMessage } = useFormErrorMessageMap(name, titleGetter);
22
+ const { errorMessageMapUnlistener, isValid, errorMessage, errorMessageMap } = useFormErrorMessageMap(name, titleGetter);
23
23
  const { hasChangesMapUnlistener, hasChanges } = useFormHasChangesMap(name);
24
- const { validateMapUnlistener, validate } = useFormValidateMap(name, titleGetter, (value) => emit("update:isValid", value));
24
+ const { validateMapUnlistener, validate } = useFormValidateMap(name, titleGetter, (value) => emit("update:is-valid", value));
25
25
  const { invalidateMapUnlistener, invalidate } = useFormInvalidateMap(name);
26
26
  const { initModelMapUnlistener, initModel } = useFormInitModelMap(name);
27
27
  const unlistener = (key) => {
@@ -34,13 +34,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
34
34
  };
35
35
  provide(wFormUnlistener, unlistener);
36
36
  const unlistenerInjected = inject(wFormUnlistener, void 0);
37
- watch(isValid, (value) => emit("update:isValid", value));
38
- watch(hasChanges, (value) => emit("update:hasChanges", value));
37
+ watch(errorMessageMap, () => emit("update:is-valid", isValid.value));
38
+ watch(hasChanges, (value) => emit("update:has-changes", value));
39
39
  onBeforeUnmount(() => {
40
40
  if (props.name) {
41
41
  unlistenerInjected?.(props.name);
42
42
  }
43
- emit("update:isValid", void 0);
43
+ emit("update:is-valid", void 0);
44
44
  });
45
45
  __expose({
46
46
  isValid,
@@ -4,19 +4,23 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
4
4
  validate?: ValidateFn | ValidateFn[] | undefined;
5
5
  forbiddenRegexp?: RegExp | undefined;
6
6
  requiredSymbols?: string | undefined;
7
+ noChanges?: boolean | undefined;
7
8
  }>, {
8
9
  validateOnUpdate(): string | undefined;
9
10
  invalidate(message: string): void;
10
11
  initModel: () => void;
11
12
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
12
13
  "update:has-changes": (value: boolean) => void;
14
+ "update:is-valid": (value: boolean) => void;
13
15
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
14
16
  name?: string | undefined;
15
17
  title?: string | undefined;
16
18
  validate?: ValidateFn | ValidateFn[] | undefined;
17
19
  forbiddenRegexp?: RegExp | undefined;
18
20
  requiredSymbols?: string | undefined;
21
+ noChanges?: boolean | undefined;
19
22
  }>>> & {
23
+ "onUpdate:is-valid"?: ((value: boolean) => any) | undefined;
20
24
  "onUpdate:has-changes"?: ((value: boolean) => any) | undefined;
21
25
  }, {}, {}>, Readonly<{
22
26
  default: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"WFormValidator.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Form/WFormValidator.vue"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;;;;;;;;;;;;;;AAiUA,wBAAwG;AACxG,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC;AAC9M,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAClD,MAAM,EAAE,CAAC,CAAC;KACT,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"WFormValidator.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Form/WFormValidator.vue"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyUA,wBAAwG;AACxG,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC;AAC9M,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAClD,MAAM,EAAE,CAAC,CAAC;KACT,CAAA;CAAE,CAAC"}
@@ -8,9 +8,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
8
8
  title: {},
9
9
  validate: {},
10
10
  forbiddenRegexp: {},
11
- requiredSymbols: {}
11
+ requiredSymbols: {},
12
+ noChanges: { type: Boolean }
12
13
  },
13
- emits: ["update:has-changes"],
14
+ emits: ["update:has-changes", "update:is-valid"],
14
15
  setup(__props, { expose: __expose, emit: __emit }) {
15
16
  const props = __props;
16
17
  const emit = __emit;
@@ -38,7 +39,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
38
39
  const initModelValue = ref();
39
40
  const required = computed(() => component.value?.props?.required !== void 0 ? component.value?.props?.required !== false : void 0);
40
41
  const title = computed(() => props.title ?? component.value?.props?.title);
41
- const errorMessage = ref();
42
+ const errorMessage = ref(null);
42
43
  const hasChanges = ref(false);
43
44
  const hasBeenValidated = ref(false);
44
45
  const requiredSymbols = computed(() => props.requiredSymbols?.split("") ?? []);
@@ -144,9 +145,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
144
145
  hasChanges.value = false;
145
146
  };
146
147
  watch(errorMessage, (value) => {
148
+ if (value === null)
149
+ return;
147
150
  if (props.name) {
148
151
  errorMessageUpdater?.(props.name, value);
149
152
  }
153
+ emit("update:is-valid", !value);
150
154
  });
151
155
  watch(hasChanges, (value) => {
152
156
  if (props.name) {
@@ -188,7 +192,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
188
192
  return (_ctx, _cache) => {
189
193
  return openBlock(), createBlock(resolveDynamicComponent(component.value), {
190
194
  "error-message": errorMessage.value,
191
- "has-changes": hasChanges.value,
195
+ "has-changes": _ctx.noChanges ? void 0 : hasChanges.value,
192
196
  "onUpdate:modelValue": _validateOnUpdate,
193
197
  onSelect: _validateOnSelect,
194
198
  onUnselect: _validateOnUnselect
@@ -3,5 +3,6 @@ export declare const useFormErrorMessageMap: (name: Ref<string | undefined>, tit
3
3
  errorMessageMapUnlistener: (key: string) => void;
4
4
  isValid: import("vue").ComputedRef<boolean>;
5
5
  errorMessage: import("vue").ComputedRef<string>;
6
+ errorMessageMap: Ref<Record<string, string>>;
6
7
  };
7
8
  //# sourceMappingURL=useFormErrorMessageMap.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFormErrorMessageMap.d.ts","sourceRoot":"","sources":["../../../../src/components/Form/use/useFormErrorMessageMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwC,KAAK,GAAG,EAAC,MAAM,KAAK,CAAA;AAInE,eAAO,MAAM,sBAAsB,SAAU,IAAI,MAAM,GAAG,SAAS,CAAC,qBAAqB,MAAM,KAAK,MAAM;qCAQhE,MAAM;;;CAuB/C,CAAA"}
1
+ {"version":3,"file":"useFormErrorMessageMap.d.ts","sourceRoot":"","sources":["../../../../src/components/Form/use/useFormErrorMessageMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwC,KAAK,GAAG,EAAC,MAAM,KAAK,CAAA;AAInE,eAAO,MAAM,sBAAsB,SAAU,IAAI,MAAM,GAAG,SAAS,CAAC,qBAAqB,MAAM,KAAK,MAAM;qCAQhE,MAAM;;;;CAwB/C,CAAA"}
@@ -24,7 +24,8 @@ const useFormErrorMessageMap = (name, titleGetter) => {
24
24
  return {
25
25
  errorMessageMapUnlistener,
26
26
  isValid,
27
- errorMessage
27
+ errorMessage,
28
+ errorMessageMap
28
29
  };
29
30
  };
30
31
 
@@ -1 +1 @@
1
- {"version":3,"file":"WNavItem.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Nav/WNavItem.vue"],"names":[],"mappings":"AA0DA;AAGA,OAAO,EAAkC,KAAK,gBAAgB,EAAC,MAAM,YAAY,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AAkPjF,wBAAwG;AACxG,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC;AAC9M,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAClD,MAAM,EAAE,CAAC,CAAC;KACT,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"WNavItem.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Nav/WNavItem.vue"],"names":[],"mappings":"AA0DA;AAGA,OAAO,EAAkC,KAAK,gBAAgB,EAAC,MAAM,YAAY,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AAsPjF,wBAAwG;AACxG,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC;AAC9M,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAClD,MAAM,EAAE,CAAC,CAAC;KACT,CAAA;CAAE,CAAC"}
@@ -1,4 +1,4 @@
1
- import { defineComponent, computed, watch, openBlock, createBlock, unref, normalizeClass, withCtx, createElementVNode, resolveDynamicComponent, renderSlot, toDisplayString, createElementBlock, createTextVNode, createCommentVNode } from 'vue';
1
+ import { defineComponent, computed, watch, onUnmounted, openBlock, createBlock, unref, normalizeClass, withCtx, createElementVNode, resolveDynamicComponent, renderSlot, toDisplayString, createElementBlock, createTextVNode, createCommentVNode } from 'vue';
2
2
  import { useRoute, useRouter, RouterLink } from 'vue-router';
3
3
  import { isEqualObj, numberCompactFormatter } from '../../utils/utils.js';
4
4
  import WSkeleton from '../Skeleton/WSkeleton.vue.js';
@@ -42,6 +42,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
42
42
  });
43
43
  const isBigCount = computed(() => props.counter !== void 0 && props.counter >= 1e3);
44
44
  watch(isActive, (value) => emit("update:isActive", { [props.title]: value }), { immediate: true });
45
+ onUnmounted(() => {
46
+ emit("update:isActive", { [props.title]: false });
47
+ });
45
48
  return (_ctx, _cache) => {
46
49
  return openBlock(), createBlock(unref(RouterLink), {
47
50
  to: _ctx.to,
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.3.76",
7
+ "version": "0.3.78",
8
8
  "scripts": {
9
9
  "dev": "vite",
10
10
  "build": "run-p type-check build-only",