eco-vue-js 0.3.75 → 0.3.77

Sign up to get free protection for your applications and to get access to all the features.
@@ -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", {
@@ -1 +1 @@
1
- {"version":3,"file":"WDropdown.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Dropdown/WDropdown.vue"],"names":[],"mappings":"AAiBA;AAMA,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8MvD,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":"WDropdown.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Dropdown/WDropdown.vue"],"names":[],"mappings":"AAgBA;AAMA,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4MvD,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,8 +1,7 @@
1
- import { defineComponent, ref, computed, onBeforeMount, onMounted, onBeforeUnmount, watch, toRef, openBlock, createElementBlock, normalizeStyle, normalizeClass, unref, renderSlot } from 'vue';
1
+ import { defineComponent, ref, computed, onBeforeMount, onMounted, onBeforeUnmount, watch, toRef, openBlock, createElementBlock, normalizeStyle, normalizeClass, renderSlot } from 'vue';
2
2
  import DOMListenerContainer from '../../utils/DOMListenerContainer.js';
3
3
  import { isClientSide, getAllScrollParents } from '../../utils/utils.js';
4
4
  import { horizontalGetterOrderMap, searchStyleGetter } from './utils/DropdownStyle.js';
5
- import { HorizontalAlign } from '../../utils/HorizontalAlign.js';
6
5
 
7
6
  const _sfc_main = /* @__PURE__ */ defineComponent({
8
7
  __name: "WDropdown",
@@ -36,16 +35,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
36
35
  ...verticalStyle.value
37
36
  };
38
37
  });
39
- const setParentRect = (updateSize = false) => {
38
+ const setParentRect = (updateSize = false, updateAlign = false) => {
40
39
  const newRect = props.parentElement.getBoundingClientRect();
41
40
  const isLeftChanged = newRect.left !== parentRect?.left;
42
41
  const isTopChanged = newRect.top !== parentRect?.top || newRect.bottom !== parentRect?.bottom;
43
- if (!horizontalGetter || isLeftChanged && props.updateAlign) {
42
+ if (!horizontalGetter || isLeftChanged && (props.updateAlign || updateAlign)) {
44
43
  horizontalGetter = searchStyleGetter(order.value, newRect, props.maxWidth);
45
44
  if (updateSize)
46
45
  widthStyle.value = horizontalGetter.widthStyleGetter(newRect, props.maxWidth);
47
46
  }
48
- if (!verticalGetter || isTopChanged && props.updateAlign) {
47
+ if (!verticalGetter || isTopChanged && (props.updateAlign || updateAlign)) {
49
48
  const order2 = horizontalGetter.verticalGetterOrder;
50
49
  verticalGetter = searchStyleGetter(order2, newRect, props.maxHeight);
51
50
  isTop.value = verticalGetter.isTop;
@@ -87,7 +86,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
87
86
  domListenerContainer.destroy();
88
87
  });
89
88
  watch(toRef(props, "parentElement"), () => {
90
- setParentRect();
89
+ setParentRect(false, true);
91
90
  });
92
91
  __expose({
93
92
  update: () => {
@@ -100,8 +99,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
100
99
  ref: dropdown,
101
100
  style: normalizeStyle(styles.value),
102
101
  class: normalizeClass(["fixed h-auto group/dropdown", {
103
- "dropdown-top": isTop.value,
104
- "w-0 flex justify-center": _ctx.horizontalAlign === unref(HorizontalAlign).CENTER
102
+ "dropdown-top": isTop.value
105
103
  }])
106
104
  }, [
107
105
  renderSlot(_ctx.$slots, "default", {
@@ -1 +1 @@
1
- {"version":3,"file":"WDropdownMenu.vue.d.ts","sourceRoot":"","sources":["../../../src/components/DropdownMenu/WDropdownMenu.vue"],"names":[],"mappings":"AAsCA;AAIA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6L5D,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":"WDropdownMenu.vue.d.ts","sourceRoot":"","sources":["../../../src/components/DropdownMenu/WDropdownMenu.vue"],"names":[],"mappings":"AAuCA;AAIA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6L5D,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"}
@@ -48,10 +48,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
48
48
  "max-height": _ctx.maxHeight,
49
49
  "max-width": _ctx.maxWidth,
50
50
  "emit-update": _ctx.emitUpdate,
51
- class: normalizeClass({
51
+ class: normalizeClass([{
52
52
  "z-[2]": !_ctx.teleport,
53
53
  "z-30": _ctx.teleport
54
- }),
54
+ }, "will-change-[top,bottom]"]),
55
55
  "onUpdate:rect": _cache[0] || (_cache[0] = ($event) => _ctx.$emit("update:rect"))
56
56
  }, {
57
57
  default: withCtx(() => [
@@ -4,6 +4,7 @@ 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;
@@ -16,6 +17,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
16
17
  validate?: ValidateFn | ValidateFn[] | undefined;
17
18
  forbiddenRegexp?: RegExp | undefined;
18
19
  requiredSymbols?: string | undefined;
20
+ noChanges?: boolean | undefined;
19
21
  }>>> & {
20
22
  "onUpdate:has-changes"?: ((value: boolean) => any) | undefined;
21
23
  }, {}, {}>, Readonly<{
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoUA,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,7 +8,8 @@ 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
14
  emits: ["update:has-changes"],
14
15
  setup(__props, { expose: __expose, emit: __emit }) {
@@ -188,7 +189,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
188
189
  return (_ctx, _cache) => {
189
190
  return openBlock(), createBlock(resolveDynamicComponent(component.value), {
190
191
  "error-message": errorMessage.value,
191
- "has-changes": hasChanges.value,
192
+ "has-changes": _ctx.noChanges ? void 0 : hasChanges.value,
192
193
  "onUpdate:modelValue": _validateOnUpdate,
193
194
  onSelect: _validateOnSelect,
194
195
  onUnselect: _validateOnUnselect
@@ -4,12 +4,14 @@ declare const _default: import("vue").DefineComponent<__VLS_TypePropsToRuntimePr
4
4
  overflowOnly?: boolean | undefined;
5
5
  light?: boolean | undefined;
6
6
  trigger?: Element | undefined;
7
+ maxHeight?: number | undefined;
7
8
  }>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
8
9
  text?: string | undefined;
9
10
  noTouch?: boolean | undefined;
10
11
  overflowOnly?: boolean | undefined;
11
12
  light?: boolean | undefined;
12
13
  trigger?: Element | undefined;
14
+ maxHeight?: number | undefined;
13
15
  }>>>, {}, {}>;
14
16
  export default _default;
15
17
  type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
@@ -1 +1 @@
1
- {"version":3,"file":"WTooltip.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip/WTooltip.vue"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;AA0HA,wBAYG;AACH,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"}
1
+ {"version":3,"file":"WTooltip.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip/WTooltip.vue"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;;AAmIA,wBAaG;AACH,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"}
@@ -1,4 +1,4 @@
1
- import { defineComponent, useSlots, ref, computed, watch, toRef, onBeforeUnmount, unref, openBlock, createElementBlock, createCommentVNode } from 'vue';
1
+ import { defineComponent, useSlots, ref, computed, watch, toRef, onBeforeUnmount, unref, openBlock, createElementBlock, createCommentVNode, markRaw } from 'vue';
2
2
  import { getIsTouchDevice } from '../../utils/mobile.js';
3
3
  import { Tooltip } from '../../utils/Tooltip.js';
4
4
  import { getIncrement } from './models/utils.js';
@@ -10,7 +10,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
10
10
  noTouch: { type: Boolean },
11
11
  overflowOnly: { type: Boolean },
12
12
  light: { type: Boolean },
13
- trigger: {}
13
+ trigger: {},
14
+ maxHeight: {}
14
15
  },
15
16
  setup(__props) {
16
17
  const props = __props;
@@ -32,7 +33,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
32
33
  if (parent.value.scrollHeight === Math.round(rect.height) && parent.value.scrollWidth === Math.round(rect.width))
33
34
  return;
34
35
  }
35
- Tooltip.add({ parent: parent.value, slot, text: props.text, light: props.light, key: getIncrement() });
36
+ Tooltip.add({
37
+ parent: parent.value,
38
+ slot: slot ? markRaw(slot) : void 0,
39
+ text: props.text,
40
+ light: props.light,
41
+ key: getIncrement(),
42
+ maxHeight: props.maxHeight
43
+ });
36
44
  };
37
45
  const close = () => {
38
46
  isOpen.value = false;
@@ -1 +1 @@
1
- {"version":3,"file":"WTooltipContainer.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip/WTooltipContainer.vue"],"names":[],"mappings":"AAkEA;;AAoSA,wBAKG"}
1
+ {"version":3,"file":"WTooltipContainer.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip/WTooltipContainer.vue"],"names":[],"mappings":"AA4CA;;AAoMA,wBAKG"}
@@ -1,20 +1,17 @@
1
- import { defineComponent, ref, onBeforeMount, onMounted, onBeforeUnmount, onUnmounted, openBlock, createBlock, Transition, withCtx, unref, createElementVNode, normalizeClass, normalizeStyle, resolveDynamicComponent, createElementBlock, toDisplayString, createCommentVNode } from 'vue';
1
+ import { defineComponent, ref, onBeforeMount, onMounted, onBeforeUnmount, onUnmounted, openBlock, createBlock, Transition, withCtx, unref, createVNode, resolveDynamicComponent, createElementBlock, toDisplayString, createCommentVNode, markRaw } from 'vue';
2
2
  import _sfc_main$1 from '../Dropdown/WDropdown.vue.js';
3
3
  import { HorizontalAlign } from '../../utils/HorizontalAlign.js';
4
4
  import { initTooltip } from '../../utils/Tooltip.js';
5
- import { isClientSide } from '../../utils/utils.js';
5
+ import _sfc_main$2 from './components/TooltipContainer.vue.js';
6
6
 
7
7
  const _hoisted_1 = {
8
8
  key: 1,
9
9
  class: "whitespace-nowrap"
10
10
  };
11
- const MARGIN = 12;
12
11
  const _sfc_main = /* @__PURE__ */ defineComponent({
13
12
  __name: "WTooltipContainer",
14
13
  setup(__props) {
15
14
  const tooltipMeta = ref(null);
16
- const container = ref();
17
- const containerWidth = ref(0);
18
15
  let timeout;
19
16
  const setTooltipMeta = (meta) => {
20
17
  clearTimeoutOnClose();
@@ -25,8 +22,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
25
22
  }, 100);
26
23
  } else if (tooltipMeta.value !== meta) {
27
24
  timeout = setTimeout(() => {
28
- tooltipMeta.value = meta;
29
- updateContainerStyles(container.value);
25
+ tooltipMeta.value = markRaw(meta);
26
+ timeout = void 0;
30
27
  }, 25);
31
28
  }
32
29
  };
@@ -40,45 +37,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
40
37
  clearTimeout(timeout);
41
38
  timeout = void 0;
42
39
  };
43
- const updateContainerStyles = (value) => {
44
- if (!value) {
45
- containerWidth.value = 0;
46
- } else {
47
- containerWidth.value = value.getBoundingClientRect().width;
48
- }
49
- };
50
- const getMarginStyles = (left, right) => {
51
- if (!isClientSide || !containerWidth.value)
52
- return;
53
- const l = left ? Number.parseFloat(left.substring(0, left.indexOf("px"))) : void 0;
54
- if (l !== void 0) {
55
- const containerLeft = l - containerWidth.value / 2 - MARGIN;
56
- if (containerLeft < 0)
57
- return { marginLeft: 0 - containerLeft + "px", marginRight: containerLeft + "px" };
58
- const containerRight = window.innerWidth - l - containerWidth.value / 2 - MARGIN;
59
- if (containerRight < 0)
60
- return { marginRight: 0 - containerRight + "px", marginLeft: containerRight + "px" };
61
- return {};
62
- }
63
- const r = right ? Number.parseFloat(right.substring(0, right.indexOf("px"))) : void 0;
64
- if (r !== void 0) {
65
- const containerLeft = window.innerWidth - r - containerWidth.value / 2 - MARGIN;
66
- if (containerLeft < 0)
67
- return { marginLeft: 0 - containerLeft + "px", marginRight: containerLeft + "px" };
68
- const containerRight = r - containerWidth.value / 2 - MARGIN;
69
- if (containerRight < 0)
70
- return { marginRight: 0 - containerRight + "px", marginLeft: containerRight + "px" };
71
- return {};
72
- }
73
- };
74
- const marginStyleCache = ref();
75
- const getMarginStylesCached = (left, right) => {
76
- const styles = getMarginStyles(left, right);
77
- if (!styles)
78
- return marginStyleCache.value;
79
- marginStyleCache.value = styles;
80
- return styles;
81
- };
82
40
  onBeforeMount(() => {
83
41
  initTooltip(setTooltipMeta);
84
42
  });
@@ -103,45 +61,31 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
103
61
  key: 0,
104
62
  "parent-element": tooltipMeta.value.parent,
105
63
  "horizontal-align": unref(HorizontalAlign).CENTER,
106
- "max-height": 200,
64
+ "max-height": tooltipMeta.value?.maxHeight ?? 120,
107
65
  "max-width": 240,
108
66
  "emit-update": "",
109
- class: "z-[10000] [--arrow-size:8px] transition-[top,bottom,left,right]",
67
+ class: "z-[10000] sm:transition-[top,bottom,left,right] will-change-[top,bottom,left,right] isolate",
110
68
  "onUpdate:rect": close
111
69
  }, {
112
70
  default: withCtx(({ left, right, istop }) => [
113
- createElementVNode("div", {
114
- ref_key: "container",
115
- ref: container,
116
- class: "flex justify-center items-center flex-col drop-shadow-md dark:drop-shadow-none pointer-events-none"
117
- }, [
118
- createElementVNode("div", {
119
- class: normalizeClass(["w-[calc(var(--arrow-size)/2)] z-10 pointer-events-auto border-[transparent] border-solid [border-width:var(--arrow-size)]", {
120
- "text-black-default dark:text-gray-800": !tooltipMeta.value.light,
121
- "text-default dark:text-gray-800": tooltipMeta.value.light,
122
- "border-t-current order-2": istop,
123
- "border-b-current": !istop
124
- }]),
125
- onMouseover: _cache[0] || (_cache[0] = ($event) => setTooltipMeta(tooltipMeta.value)),
126
- onMouseleave: _cache[1] || (_cache[1] = ($event) => setTooltipMeta(null))
127
- }, null, 34),
128
- createElementVNode("div", {
129
- class: normalizeClass(["py-3 px-4 rounded-xl text-xs font-medium text-center transition-[margin] pointer-events-auto", {
130
- "bg-black-default dark:bg-gray-800 text-default": !tooltipMeta.value.light,
131
- "bg-default dark:bg-gray-800 text-accent": tooltipMeta.value.light
132
- }]),
133
- style: normalizeStyle(getMarginStylesCached(left, right)),
134
- onMouseover: _cache[2] || (_cache[2] = ($event) => setTooltipMeta(tooltipMeta.value)),
135
- onMouseleave: _cache[3] || (_cache[3] = ($event) => setTooltipMeta(null))
136
- }, [
71
+ createVNode(_sfc_main$2, {
72
+ "tooltip-meta": tooltipMeta.value,
73
+ left,
74
+ right,
75
+ "is-top": istop,
76
+ onOver: _cache[0] || (_cache[0] = ($event) => setTooltipMeta(tooltipMeta.value)),
77
+ onLeave: _cache[1] || (_cache[1] = ($event) => setTooltipMeta(null))
78
+ }, {
79
+ default: withCtx(() => [
137
80
  tooltipMeta.value.slot ? (openBlock(), createBlock(resolveDynamicComponent(tooltipMeta.value.slot), {
138
81
  key: tooltipMeta.value.key
139
82
  })) : tooltipMeta.value.text ? (openBlock(), createElementBlock("div", _hoisted_1, toDisplayString(tooltipMeta.value.text), 1)) : createCommentVNode("", true)
140
- ], 38)
141
- ], 512)
83
+ ]),
84
+ _: 2
85
+ }, 1032, ["tooltip-meta", "left", "right", "is-top"])
142
86
  ]),
143
87
  _: 1
144
- }, 8, ["parent-element", "horizontal-align"])) : createCommentVNode("", true)
88
+ }, 8, ["parent-element", "horizontal-align", "max-height"])) : createCommentVNode("", true)
145
89
  ]),
146
90
  _: 1
147
91
  });
@@ -0,0 +1,36 @@
1
+ import type { TooltipMeta } from '../../../utils/Tooltip';
2
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__VLS_TypePropsToRuntimeProps<{
3
+ tooltipMeta: TooltipMeta;
4
+ isTop?: boolean | undefined;
5
+ left?: string | undefined;
6
+ right?: string | undefined;
7
+ }>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
8
+ over: () => void;
9
+ leave: () => void;
10
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
11
+ tooltipMeta: TooltipMeta;
12
+ isTop?: boolean | undefined;
13
+ left?: string | undefined;
14
+ right?: string | undefined;
15
+ }>>> & {
16
+ onLeave?: (() => any) | undefined;
17
+ onOver?: (() => any) | undefined;
18
+ }, {}, {}>, {
19
+ default?(_: {}): any;
20
+ }>;
21
+ export default _default;
22
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
23
+ type __VLS_TypePropsToRuntimeProps<T> = {
24
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
25
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
26
+ } : {
27
+ type: import('vue').PropType<T[K]>;
28
+ required: true;
29
+ };
30
+ };
31
+ type __VLS_WithTemplateSlots<T, S> = T & {
32
+ new (): {
33
+ $slots: S;
34
+ };
35
+ };
36
+ //# sourceMappingURL=TooltipContainer.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TooltipContainer.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/Tooltip/components/TooltipContainer.vue"],"names":[],"mappings":"AA+BA;AAGA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;;;;;;;;;;;;;;;;;;;;AA2MhD,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"}
@@ -0,0 +1,86 @@
1
+ import { defineComponent, ref, watch, toRef, onMounted, openBlock, createElementBlock, createElementVNode, normalizeClass, normalizeStyle, renderSlot, nextTick } from 'vue';
2
+ import { isClientSide } from '../../../utils/utils.js';
3
+
4
+ const _hoisted_1 = { class: "flex justify-center items-center flex-col drop-shadow-md dark:drop-shadow-none pointer-events-none" };
5
+ const MARGIN = 12;
6
+ const _sfc_main = /* @__PURE__ */ defineComponent({
7
+ __name: "TooltipContainer",
8
+ props: {
9
+ tooltipMeta: {},
10
+ isTop: { type: Boolean },
11
+ left: {},
12
+ right: {}
13
+ },
14
+ emits: ["over", "leave"],
15
+ setup(__props) {
16
+ const props = __props;
17
+ const container = ref();
18
+ const transformX = ref(0);
19
+ const getTransformX = () => {
20
+ if (!isClientSide || !container.value)
21
+ return 0;
22
+ const l = props.left ? Number.parseFloat(props.left.slice(0, -2)) : null;
23
+ if (typeof l === "number") {
24
+ const containerLeft = l - container.value.offsetWidth / 2 - MARGIN;
25
+ if (containerLeft < 0)
26
+ return containerLeft * -1;
27
+ const containerRight = window.innerWidth - l - container.value.offsetWidth / 2 - MARGIN;
28
+ if (containerRight < 0)
29
+ return containerRight;
30
+ return 0;
31
+ }
32
+ const r = props.right ? Number.parseFloat(props.right.slice(0, -2)) : null;
33
+ if (typeof r === "number") {
34
+ const containerLeft = window.innerWidth - r - container.value.offsetWidth / 2 - MARGIN;
35
+ if (containerLeft < 0)
36
+ return containerLeft * -1;
37
+ const containerRight = r - container.value.offsetWidth / 2 - MARGIN;
38
+ if (containerRight < 0)
39
+ return containerRight;
40
+ return 0;
41
+ }
42
+ return 0;
43
+ };
44
+ const setTransformX = async () => {
45
+ await nextTick();
46
+ transformX.value = getTransformX();
47
+ };
48
+ watch(toRef(props, "tooltipMeta"), () => {
49
+ setTransformX();
50
+ });
51
+ onMounted(() => {
52
+ setTransformX();
53
+ });
54
+ return (_ctx, _cache) => {
55
+ return openBlock(), createElementBlock("div", _hoisted_1, [
56
+ createElementVNode("div", {
57
+ class: normalizeClass(["w-1 z-10 pointer-events-auto border-[transparent] border-solid border-[0.5rem]", {
58
+ "text-black-default dark:text-gray-800": !_ctx.tooltipMeta.light,
59
+ "text-default dark:text-gray-800": _ctx.tooltipMeta.light,
60
+ "border-t-current order-2": _ctx.isTop,
61
+ "border-b-current": !_ctx.isTop
62
+ }]),
63
+ onMouseover: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("over")),
64
+ onMouseleave: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("leave"))
65
+ }, null, 34),
66
+ createElementVNode("div", {
67
+ ref_key: "container",
68
+ ref: container,
69
+ class: normalizeClass(["py-3 px-4 rounded-xl text-xs font-medium text-center pointer-events-auto translate-x-[var(--t-translate-x)] max-w-[calc(100vw-1.5rem)]", {
70
+ "bg-black-default dark:bg-gray-800 text-default": !_ctx.tooltipMeta.light,
71
+ "bg-default dark:bg-gray-800 text-accent": _ctx.tooltipMeta.light
72
+ }]),
73
+ style: normalizeStyle({
74
+ "--t-translate-x": transformX.value + "px"
75
+ }),
76
+ onMouseover: _cache[2] || (_cache[2] = ($event) => _ctx.$emit("over")),
77
+ onMouseleave: _cache[3] || (_cache[3] = ($event) => _ctx.$emit("leave"))
78
+ }, [
79
+ renderSlot(_ctx.$slots, "default")
80
+ ], 38)
81
+ ]);
82
+ };
83
+ }
84
+ });
85
+
86
+ export { _sfc_main as default };
@@ -0,0 +1,5 @@
1
+ import _sfc_main from './TooltipContainer.vue.js';
2
+
3
+
4
+
5
+ export { _sfc_main as default };
@@ -5,6 +5,7 @@ export type TooltipMeta = {
5
5
  text?: string;
6
6
  light?: boolean;
7
7
  key: number;
8
+ maxHeight?: number;
8
9
  };
9
10
  export type SetTooltipMeta = (meta: TooltipMeta | null) => void;
10
11
  export declare const initTooltip: (value: SetTooltipMeta | undefined) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../src/utils/Tooltip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,KAAK,CAAA;AAE9B,MAAM,MAAM,WAAW,GAAG;IAAC,MAAM,EAAE,WAAW,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAC,CAAA;AAE1G,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAA;AAI/D,eAAO,MAAM,WAAW,UAAW,cAAc,GAAG,SAAS,SAE5D,CAAA;AAED,eAAO,MAAM,OAAO;cACR,WAAW,GAAG,IAAI;aAGnB,IAAI;CAGd,CAAA"}
1
+ {"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../src/utils/Tooltip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,KAAK,CAAA;AAE9B,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,WAAW,CAAA;IACnB,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAA;AAI/D,eAAO,MAAM,WAAW,UAAW,cAAc,GAAG,SAAS,SAE5D,CAAA;AAED,eAAO,MAAM,OAAO;cACR,WAAW,GAAG,IAAI;aAGnB,IAAI;CAGd,CAAA"}
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.75",
7
+ "version": "0.3.77",
8
8
  "scripts": {
9
9
  "dev": "vite",
10
10
  "build": "run-p type-check build-only",