yc-design-vue 2.3.3 → 2.3.4

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.
Files changed (51) hide show
  1. package/dist/index.umd.js +1 -1
  2. package/es/AutoComplete/index.d.ts +6 -6
  3. package/es/AutoComplete/index.vue.d.ts +12 -12
  4. package/es/Breadcrumb/BreadcrumbSeparator.vue.js +1 -1
  5. package/es/Dropdown/Dsubmenu.vue.d.ts +12 -12
  6. package/es/Dropdown/index.d.ts +6 -6
  7. package/es/Mention/index.d.ts +6 -6
  8. package/es/Mention/index.vue.d.ts +12 -12
  9. package/es/Popconfirm/index.d.ts +6 -6
  10. package/es/Popconfirm/index.vue.d.ts +12 -12
  11. package/es/Select/Select.vue.d.ts +12 -12
  12. package/es/Select/index.d.ts +6 -6
  13. package/es/Trigger/hooks/useContext.d.ts +1 -1
  14. package/es/Trigger/hooks/useContext.js +6 -1
  15. package/es/Trigger/hooks/useTriggerPosition.js +20 -8
  16. package/es/Trigger/hooks/useTriggerVisible.d.ts +2 -2
  17. package/es/Trigger/hooks/useTriggerVisible.js +11 -6
  18. package/es/Trigger/index.d.ts +6 -6
  19. package/es/Trigger/index.vue.d.ts +2 -2
  20. package/es/Trigger/type.d.ts +3 -2
  21. package/es/_shared/components/Icon/index.vue3.js +2 -2
  22. package/es/_shared/icons/IconSeparator.vue.js +24 -1
  23. package/es/_shared/icons/IconSeparator.vue2.js +1 -24
  24. package/es/_shared/utils/dom.d.ts +1 -1
  25. package/es/_shared/utils/dom.js +17 -17
  26. package/es/index.d.ts +6 -6
  27. package/lib/AutoComplete/index.d.ts +6 -6
  28. package/lib/AutoComplete/index.vue.d.ts +12 -12
  29. package/lib/Breadcrumb/BreadcrumbSeparator.vue.js +1 -1
  30. package/lib/Dropdown/Dsubmenu.vue.d.ts +12 -12
  31. package/lib/Dropdown/index.d.ts +6 -6
  32. package/lib/Mention/index.d.ts +6 -6
  33. package/lib/Mention/index.vue.d.ts +12 -12
  34. package/lib/Popconfirm/index.d.ts +6 -6
  35. package/lib/Popconfirm/index.vue.d.ts +12 -12
  36. package/lib/Select/Select.vue.d.ts +12 -12
  37. package/lib/Select/index.d.ts +6 -6
  38. package/lib/Trigger/hooks/useContext.d.ts +1 -1
  39. package/lib/Trigger/hooks/useContext.js +1 -1
  40. package/lib/Trigger/hooks/useTriggerPosition.js +1 -1
  41. package/lib/Trigger/hooks/useTriggerVisible.d.ts +2 -2
  42. package/lib/Trigger/hooks/useTriggerVisible.js +1 -1
  43. package/lib/Trigger/index.d.ts +6 -6
  44. package/lib/Trigger/index.vue.d.ts +2 -2
  45. package/lib/Trigger/type.d.ts +3 -2
  46. package/lib/_shared/components/Icon/index.vue3.js +1 -1
  47. package/lib/_shared/icons/IconSeparator.vue.js +1 -1
  48. package/lib/_shared/icons/IconSeparator.vue2.js +1 -1
  49. package/lib/_shared/utils/dom.d.ts +1 -1
  50. package/lib/index.d.ts +6 -6
  51. package/package.json +1 -1
@@ -11,11 +11,11 @@ declare function __VLS_template(): {
11
11
  $props: {
12
12
  readonly popupVisible?: boolean | undefined;
13
13
  readonly defaultPopupVisible?: boolean | undefined;
14
- readonly trigger?: import('../Trigger').TriggerType | undefined;
14
+ readonly trigger?: (import('../Trigger').TriggerType | import('../Trigger').TriggerType[]) | undefined;
15
15
  readonly position?: import('..').PopupPosition | undefined;
16
16
  readonly disabled?: boolean | undefined;
17
17
  readonly popupOffset?: number | undefined;
18
- readonly popupTranslate?: number[] | undefined;
18
+ readonly popupTranslate?: import('../Trigger').popupTranslate | undefined;
19
19
  readonly showArrow?: boolean | undefined;
20
20
  readonly popuphoverStay?: boolean | undefined;
21
21
  readonly blurToClose?: boolean | undefined;
@@ -144,7 +144,7 @@ declare function __VLS_template(): {
144
144
  show: () => any;
145
145
  hide: () => any;
146
146
  }, string, {
147
- trigger: import('../Trigger').TriggerType;
147
+ trigger: import('../Trigger').TriggerType | import('../Trigger').TriggerType[];
148
148
  mouseEnterDelay: number;
149
149
  popupVisible: boolean;
150
150
  defaultPopupVisible: boolean;
@@ -160,7 +160,7 @@ declare function __VLS_template(): {
160
160
  alignPoint: boolean;
161
161
  position: import('..').PopupPosition;
162
162
  popupOffset: number;
163
- popupTranslate: number[];
163
+ popupTranslate: import('../Trigger').popupTranslate;
164
164
  showArrow: boolean;
165
165
  unmountOnClose: boolean;
166
166
  contentClass: import('..').ClassName;
@@ -198,7 +198,7 @@ declare function __VLS_template(): {
198
198
  $nextTick: typeof import('vue').nextTick;
199
199
  $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;
200
200
  } & Readonly<{
201
- trigger: import('../Trigger').TriggerType;
201
+ trigger: import('../Trigger').TriggerType | import('../Trigger').TriggerType[];
202
202
  mouseEnterDelay: number;
203
203
  popupVisible: boolean;
204
204
  defaultPopupVisible: boolean;
@@ -214,7 +214,7 @@ declare function __VLS_template(): {
214
214
  alignPoint: boolean;
215
215
  position: import('..').PopupPosition;
216
216
  popupOffset: number;
217
- popupTranslate: number[];
217
+ popupTranslate: import('../Trigger').popupTranslate;
218
218
  showArrow: boolean;
219
219
  unmountOnClose: boolean;
220
220
  contentClass: import('..').ClassName;
@@ -469,11 +469,11 @@ declare const __VLS_component: import('vue').DefineComponent<SelectProps, {
469
469
  $props: {
470
470
  readonly popupVisible?: boolean | undefined;
471
471
  readonly defaultPopupVisible?: boolean | undefined;
472
- readonly trigger?: import('../Trigger').TriggerType | undefined;
472
+ readonly trigger?: (import('../Trigger').TriggerType | import('../Trigger').TriggerType[]) | undefined;
473
473
  readonly position?: import('..').PopupPosition | undefined;
474
474
  readonly disabled?: boolean | undefined;
475
475
  readonly popupOffset?: number | undefined;
476
- readonly popupTranslate?: number[] | undefined;
476
+ readonly popupTranslate?: import('../Trigger').popupTranslate | undefined;
477
477
  readonly showArrow?: boolean | undefined;
478
478
  readonly popuphoverStay?: boolean | undefined;
479
479
  readonly blurToClose?: boolean | undefined;
@@ -602,7 +602,7 @@ declare const __VLS_component: import('vue').DefineComponent<SelectProps, {
602
602
  show: () => any;
603
603
  hide: () => any;
604
604
  }, string, {
605
- trigger: import('../Trigger').TriggerType;
605
+ trigger: import('../Trigger').TriggerType | import('../Trigger').TriggerType[];
606
606
  mouseEnterDelay: number;
607
607
  popupVisible: boolean;
608
608
  defaultPopupVisible: boolean;
@@ -618,7 +618,7 @@ declare const __VLS_component: import('vue').DefineComponent<SelectProps, {
618
618
  alignPoint: boolean;
619
619
  position: import('..').PopupPosition;
620
620
  popupOffset: number;
621
- popupTranslate: number[];
621
+ popupTranslate: import('../Trigger').popupTranslate;
622
622
  showArrow: boolean;
623
623
  unmountOnClose: boolean;
624
624
  contentClass: import('..').ClassName;
@@ -656,7 +656,7 @@ declare const __VLS_component: import('vue').DefineComponent<SelectProps, {
656
656
  $nextTick: typeof import('vue').nextTick;
657
657
  $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;
658
658
  } & Readonly<{
659
- trigger: import('../Trigger').TriggerType;
659
+ trigger: import('../Trigger').TriggerType | import('../Trigger').TriggerType[];
660
660
  mouseEnterDelay: number;
661
661
  popupVisible: boolean;
662
662
  defaultPopupVisible: boolean;
@@ -672,7 +672,7 @@ declare const __VLS_component: import('vue').DefineComponent<SelectProps, {
672
672
  alignPoint: boolean;
673
673
  position: import('..').PopupPosition;
674
674
  popupOffset: number;
675
- popupTranslate: number[];
675
+ popupTranslate: import('../Trigger').popupTranslate;
676
676
  showArrow: boolean;
677
677
  unmountOnClose: boolean;
678
678
  contentClass: import('..').ClassName;
@@ -79,11 +79,11 @@ declare const Select: {
79
79
  $props: {
80
80
  readonly popupVisible?: boolean | undefined;
81
81
  readonly defaultPopupVisible?: boolean | undefined;
82
- readonly trigger?: import('..').TriggerType | undefined;
82
+ readonly trigger?: (import('..').TriggerType | import('..').TriggerType[]) | undefined;
83
83
  readonly position?: import('..').PopupPosition | undefined;
84
84
  readonly disabled?: boolean | undefined;
85
85
  readonly popupOffset?: number | undefined;
86
- readonly popupTranslate?: number[] | undefined;
86
+ readonly popupTranslate?: import('..').popupTranslate | undefined;
87
87
  readonly showArrow?: boolean | undefined;
88
88
  readonly popuphoverStay?: boolean | undefined;
89
89
  readonly blurToClose?: boolean | undefined;
@@ -212,7 +212,7 @@ declare const Select: {
212
212
  show: () => any;
213
213
  hide: () => any;
214
214
  }, string, {
215
- trigger: import('..').TriggerType;
215
+ trigger: import('..').TriggerType | import('..').TriggerType[];
216
216
  mouseEnterDelay: number;
217
217
  popupVisible: boolean;
218
218
  defaultPopupVisible: boolean;
@@ -228,7 +228,7 @@ declare const Select: {
228
228
  alignPoint: boolean;
229
229
  position: import('..').PopupPosition;
230
230
  popupOffset: number;
231
- popupTranslate: number[];
231
+ popupTranslate: import('..').popupTranslate;
232
232
  showArrow: boolean;
233
233
  unmountOnClose: boolean;
234
234
  contentClass: import('..').ClassName;
@@ -266,7 +266,7 @@ declare const Select: {
266
266
  $nextTick: typeof import('vue').nextTick;
267
267
  $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;
268
268
  } & Readonly<{
269
- trigger: import('..').TriggerType;
269
+ trigger: import('..').TriggerType | import('..').TriggerType[];
270
270
  mouseEnterDelay: number;
271
271
  popupVisible: boolean;
272
272
  defaultPopupVisible: boolean;
@@ -282,7 +282,7 @@ declare const Select: {
282
282
  alignPoint: boolean;
283
283
  position: import('..').PopupPosition;
284
284
  popupOffset: number;
285
- popupTranslate: number[];
285
+ popupTranslate: import('..').popupTranslate;
286
286
  showArrow: boolean;
287
287
  unmountOnClose: boolean;
288
288
  contentClass: import('..').ClassName;
@@ -9,7 +9,7 @@ export type TriggerProps = Required<_TriggerProps>;
9
9
  * groupId 组件标识,用于标识元素是否处于一个嵌套中
10
10
  */
11
11
  export default function useTriggerContext(params: {
12
- trigger: TriggerType;
12
+ trigger: TriggerType | TriggerType[];
13
13
  mouseEnterDelay: Ref<number>;
14
14
  computedVisible: Ref<boolean>;
15
15
  popupRef: Ref<HTMLDivElement | undefined>;
@@ -5,6 +5,7 @@ import "../../node_modules/b-tween/dist/b-tween.es.js";
5
5
  import "../../node_modules/dayjs/dayjs.min.js";
6
6
  import "../../node_modules/tinycolor2/esm/tinycolor.js";
7
7
  import { sleep } from "../../_shared/utils/dom.js";
8
+ import { isString } from "../../_shared/utils/is.js";
8
9
  import "../../_shared/utils/locale.js";
9
10
  import "../../_shared/utils/time.js";
10
11
  const TRIGGER_CONTEXT_KEY = "trigger-context";
@@ -33,6 +34,10 @@ function useTriggerContext(params) {
33
34
  hoverTimeout,
34
35
  timeout
35
36
  });
37
+ const isValidTrigger = (value) => {
38
+ const triggerArray = isString(trigger) ? [trigger] : trigger;
39
+ return triggerArray.includes(value);
40
+ };
36
41
  const isSameGroup = (el) => {
37
42
  const dataId = el.getAttribute("data-group-id");
38
43
  const dataDepth = el.getAttribute("data-group-depth");
@@ -80,7 +85,7 @@ function useTriggerContext(params) {
80
85
  watch(
81
86
  () => curDepth.value,
82
87
  (v) => {
83
- if (depth <= v || trigger != "hover") {
88
+ if (depth <= v || !isValidTrigger("hover")) {
84
89
  return;
85
90
  }
86
91
  computedVisible.value = false;
@@ -4,6 +4,7 @@ import "../../node_modules/b-tween/dist/b-tween.es.js";
4
4
  import "../../node_modules/dayjs/dayjs.min.js";
5
5
  import "../../node_modules/tinycolor2/esm/tinycolor.js";
6
6
  import { valueToPx, sleep } from "../../_shared/utils/dom.js";
7
+ import { isArray, isString } from "../../_shared/utils/is.js";
7
8
  import "../../_shared/utils/locale.js";
8
9
  import "../../_shared/utils/time.js";
9
10
  const useTriggerPosition = (params) => {
@@ -56,9 +57,13 @@ const useTriggerPosition = (params) => {
56
57
  windowScroll: updateAtScroll.value,
57
58
  updateTiming: "next-frame"
58
59
  });
60
+ const isValidTrigger = (value) => {
61
+ const triggerArray = isString(trigger.value) ? [trigger.value] : trigger.value;
62
+ return triggerArray.includes(value);
63
+ };
59
64
  const popupStyle = computed(() => {
60
65
  const [offsetX, offsetY] = calcPopupOffset();
61
- const isMousePosition = alignPoint.value && ["click", "contextMenu"].includes(trigger.value);
66
+ const isMousePosition = alignPoint.value && !isValidTrigger("click") && !isValidTrigger("contextMenu");
62
67
  if (autoSetPosition.value || isMousePosition) {
63
68
  return {
64
69
  top: valueToPx(mouseY.value + offsetY),
@@ -135,17 +140,24 @@ const useTriggerPosition = (params) => {
135
140
  };
136
141
  });
137
142
  const calcPopupOffset = () => {
138
- const [translateX, translateY] = popupTranslate.value;
139
- let offsetX = translateX;
140
- let offsetY = translateY;
143
+ var _a, _b, _c, _d;
144
+ let offsetX = 0;
145
+ let offsetY = 0;
146
+ if (isArray(popupTranslate.value)) {
147
+ offsetX = ((_a = popupTranslate.value) == null ? void 0 : _a[0]) || 0;
148
+ offsetY = ((_b = popupTranslate.value) == null ? void 0 : _b[1]) || 0;
149
+ } else {
150
+ offsetX = ((_c = popupTranslate.value[position.value]) == null ? void 0 : _c[0]) || 0;
151
+ offsetY = ((_d = popupTranslate.value[position.value]) == null ? void 0 : _d[1]) || 0;
152
+ }
141
153
  if (position.value.startsWith("t")) {
142
- offsetY = -popupOffset.value;
154
+ offsetY += -popupOffset.value;
143
155
  } else if (position.value.startsWith("b")) {
144
- offsetY = popupOffset.value;
156
+ offsetY += popupOffset.value;
145
157
  } else if (position.value.startsWith("l")) {
146
- offsetX = -popupOffset.value;
158
+ offsetX += -popupOffset.value;
147
159
  } else if (position.value.startsWith("r")) {
148
- offsetX = popupOffset.value;
160
+ offsetX += popupOffset.value;
149
161
  }
150
162
  return [offsetX, offsetY];
151
163
  };
@@ -1,5 +1,5 @@
1
1
  import { Ref } from 'vue';
2
- import { TriggerEmits } from '../type';
2
+ import { TriggerEmits, TriggerType } from '../type';
3
3
  import { RecordType } from '../../_shared/type';
4
4
  declare const _default: (params: {
5
5
  props: RecordType;
@@ -10,7 +10,7 @@ declare const _default: (params: {
10
10
  mouseX: Ref<number, number>;
11
11
  mouseY: Ref<number, number>;
12
12
  computedVisible: import('vue').WritableComputedRef<boolean, boolean>;
13
- handleClickEvent: (e: MouseEvent, type: "click" | "contextMenu") => void;
13
+ handleClickEvent: (e: MouseEvent, type: TriggerType) => void;
14
14
  handleMouseenter: () => void;
15
15
  handleMouseleave: (e: MouseEvent) => void;
16
16
  handleFocus: () => void;
@@ -5,6 +5,7 @@ import "../../node_modules/b-tween/dist/b-tween.es.js";
5
5
  import "../../node_modules/dayjs/dayjs.min.js";
6
6
  import "../../node_modules/tinycolor2/esm/tinycolor.js";
7
7
  import { findFirstScrollableParent } from "../../_shared/utils/dom.js";
8
+ import { isString } from "../../_shared/utils/is.js";
8
9
  import { useControlValue } from "../../_shared/utils/hooks.js";
9
10
  import "../../_shared/utils/locale.js";
10
11
  import "../../_shared/utils/time.js";
@@ -55,8 +56,12 @@ const useTriggerVisible = (params) => {
55
56
  const scrollContainer = computed(() => {
56
57
  return triggerRef.value ? findFirstScrollableParent(unrefElement(triggerRef.value)) : null;
57
58
  });
59
+ const isValidTrigger = (value) => {
60
+ const triggerArray = isString(trigger.value) ? [trigger.value] : trigger.value;
61
+ return triggerArray.includes(value);
62
+ };
58
63
  const handleClickEvent = (e, type) => {
59
- if (trigger.value != type || disabled.value) {
64
+ if (!isValidTrigger(type) || disabled.value) {
60
65
  return;
61
66
  }
62
67
  if (timeout.value) {
@@ -71,7 +76,7 @@ const useTriggerVisible = (params) => {
71
76
  onTriggerMouseclick == null ? void 0 : onTriggerMouseclick();
72
77
  };
73
78
  const handleMouseenter = () => {
74
- if (trigger.value != "hover" || disabled.value) {
79
+ if (!isValidTrigger("hover") || disabled.value) {
75
80
  return;
76
81
  }
77
82
  mouseEnterHandler();
@@ -87,7 +92,7 @@ const useTriggerVisible = (params) => {
87
92
  }, mouseEnterDelay.value);
88
93
  };
89
94
  const handleMouseleave = (e) => {
90
- if (trigger.value != "hover" || disabled.value) {
95
+ if (!isValidTrigger("hover") || disabled.value) {
91
96
  return;
92
97
  }
93
98
  if (timeout.value) {
@@ -106,7 +111,7 @@ const useTriggerVisible = (params) => {
106
111
  }, mouseLeaveDelay.value);
107
112
  };
108
113
  const handleFocus = () => {
109
- if (trigger.value != "focus" || disabled.value) {
114
+ if (!isValidTrigger("focus") || disabled.value) {
110
115
  return;
111
116
  }
112
117
  if (timeout.value) {
@@ -121,7 +126,7 @@ const useTriggerVisible = (params) => {
121
126
  }, focusDelay.value);
122
127
  };
123
128
  const handleBlur = () => {
124
- if (trigger.value != "focus" || !blurToClose.value || disabled.value) {
129
+ if (!isValidTrigger("focus") || !blurToClose.value || disabled.value) {
125
130
  return;
126
131
  }
127
132
  if (timeout.value) {
@@ -134,7 +139,7 @@ const useTriggerVisible = (params) => {
134
139
  onTriggerBlur == null ? void 0 : onTriggerBlur();
135
140
  };
136
141
  const handleClickOutsideClose = () => {
137
- if (!clickOutsideToClose.value || !["click", "contextMenu"].includes(trigger.value)) {
142
+ if (!clickOutsideToClose.value || !isValidTrigger("click") && !isValidTrigger("contextMenu")) {
138
143
  return;
139
144
  }
140
145
  onClickOutside(
@@ -18,7 +18,7 @@ declare const Trigger: {
18
18
  show: () => any;
19
19
  hide: () => any;
20
20
  }, import('vue').PublicProps, {
21
- trigger: import('./type').TriggerType;
21
+ trigger: import('./type').TriggerType | import('./type').TriggerType[];
22
22
  mouseEnterDelay: number;
23
23
  popupVisible: boolean;
24
24
  defaultPopupVisible: boolean;
@@ -34,7 +34,7 @@ declare const Trigger: {
34
34
  alignPoint: boolean;
35
35
  position: import('..').PopupPosition;
36
36
  popupOffset: number;
37
- popupTranslate: number[];
37
+ popupTranslate: import('./type').popupTranslate;
38
38
  showArrow: boolean;
39
39
  unmountOnClose: boolean;
40
40
  contentClass: import('..').ClassName;
@@ -129,7 +129,7 @@ declare const Trigger: {
129
129
  show(): void;
130
130
  updatePosition(x: number, y: number): void;
131
131
  }, {}, {}, {}, {
132
- trigger: import('./type').TriggerType;
132
+ trigger: import('./type').TriggerType | import('./type').TriggerType[];
133
133
  mouseEnterDelay: number;
134
134
  popupVisible: boolean;
135
135
  defaultPopupVisible: boolean;
@@ -145,7 +145,7 @@ declare const Trigger: {
145
145
  alignPoint: boolean;
146
146
  position: import('..').PopupPosition;
147
147
  popupOffset: number;
148
- popupTranslate: number[];
148
+ popupTranslate: import('./type').popupTranslate;
149
149
  showArrow: boolean;
150
150
  unmountOnClose: boolean;
151
151
  contentClass: import('..').ClassName;
@@ -181,7 +181,7 @@ declare const Trigger: {
181
181
  show: () => any;
182
182
  hide: () => any;
183
183
  }, string, {
184
- trigger: import('./type').TriggerType;
184
+ trigger: import('./type').TriggerType | import('./type').TriggerType[];
185
185
  mouseEnterDelay: number;
186
186
  popupVisible: boolean;
187
187
  defaultPopupVisible: boolean;
@@ -197,7 +197,7 @@ declare const Trigger: {
197
197
  alignPoint: boolean;
198
198
  position: import('..').PopupPosition;
199
199
  popupOffset: number;
200
- popupTranslate: number[];
200
+ popupTranslate: import('./type').popupTranslate;
201
201
  showArrow: boolean;
202
202
  unmountOnClose: boolean;
203
203
  contentClass: import('..').ClassName;
@@ -82,7 +82,7 @@ declare const __VLS_component: import('vue').DefineComponent<TriggerProps, {
82
82
  onShow?: (() => any) | undefined;
83
83
  onHide?: (() => any) | undefined;
84
84
  }>, {
85
- trigger: import('./type').TriggerType;
85
+ trigger: import('./type').TriggerType | import('./type').TriggerType[];
86
86
  mouseEnterDelay: number;
87
87
  popupVisible: boolean;
88
88
  defaultPopupVisible: boolean;
@@ -98,7 +98,7 @@ declare const __VLS_component: import('vue').DefineComponent<TriggerProps, {
98
98
  alignPoint: boolean;
99
99
  position: import('..').PopupPosition;
100
100
  popupOffset: number;
101
- popupTranslate: number[];
101
+ popupTranslate: import('./type').popupTranslate;
102
102
  showArrow: boolean;
103
103
  unmountOnClose: boolean;
104
104
  contentClass: import('..').ClassName;
@@ -3,11 +3,11 @@ import { ClassName, EventTrigger, PopupContainer, PopupPosition } from '../_shar
3
3
  export interface TriggerProps {
4
4
  popupVisible?: boolean;
5
5
  defaultPopupVisible?: boolean;
6
- trigger?: TriggerType;
6
+ trigger?: TriggerType | TriggerType[];
7
7
  position?: PopupPosition;
8
8
  disabled?: boolean;
9
9
  popupOffset?: number;
10
- popupTranslate?: number[];
10
+ popupTranslate?: popupTranslate;
11
11
  showArrow?: boolean;
12
12
  popuphoverStay?: boolean;
13
13
  blurToClose?: boolean;
@@ -58,3 +58,4 @@ export interface TriggerExpose {
58
58
  updatePosition(x: number, y: number): void;
59
59
  }
60
60
  export type TriggerType = EventTrigger | 'focus' | 'contextMenu';
61
+ export type popupTranslate = number[] | Record<PopupPosition, number[]>;
@@ -45,7 +45,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
45
45
  transform: rotate ? `rotate(${rotate.value}deg)` : "unset"
46
46
  };
47
47
  });
48
- const attrs = computed(() => {
48
+ computed(() => {
49
49
  return {
50
50
  style: style.value,
51
51
  "stroke-width": strokeWidth.value,
@@ -68,7 +68,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
68
68
  "yc-icon-spin": unref(spin)
69
69
  }
70
70
  ]
71
- }, attrs.value), [
71
+ }, unref($attrs)), [
72
72
  renderSlot(_ctx.$slots, "default")
73
73
  ], 16);
74
74
  };
@@ -1,4 +1,27 @@
1
- import _sfc_main from "./IconSeparator.vue2.js";
1
+ import { defineComponent, createBlock, openBlock, unref, normalizeProps, guardReactiveProps, withCtx, createElementVNode } from "vue";
2
+ import "../../node_modules/b-tween/dist/b-tween.es.js";
3
+ import "../../node_modules/dayjs/dayjs.min.js";
4
+ import "../../node_modules/tinycolor2/esm/tinycolor.js";
5
+ import "../utils/dom.js";
6
+ import "../utils/locale.js";
7
+ import "../utils/time.js";
8
+ /* empty css */
9
+ /* empty css */
10
+ import _sfc_main$1 from "../components/Icon/index.vue3.js";
11
+ /* empty css */
12
+ const _sfc_main = /* @__PURE__ */ defineComponent({
13
+ __name: "IconSeparator",
14
+ setup(__props) {
15
+ return (_ctx, _cache) => {
16
+ return openBlock(), createBlock(unref(_sfc_main$1), normalizeProps(guardReactiveProps(_ctx.$attrs)), {
17
+ default: withCtx(() => [..._cache[0] || (_cache[0] = [
18
+ createElementVNode("path", { d: "M29.506 6.502 18.493 41.498" }, null, -1)
19
+ ])]),
20
+ _: 1
21
+ }, 16);
22
+ };
23
+ }
24
+ });
2
25
  export {
3
26
  _sfc_main as default
4
27
  };
@@ -1,27 +1,4 @@
1
- import { defineComponent, createBlock, openBlock, unref, normalizeProps, guardReactiveProps, withCtx, createElementVNode } from "vue";
2
- import "../../node_modules/b-tween/dist/b-tween.es.js";
3
- import "../../node_modules/dayjs/dayjs.min.js";
4
- import "../../node_modules/tinycolor2/esm/tinycolor.js";
5
- import "../utils/dom.js";
6
- import "../utils/locale.js";
7
- import "../utils/time.js";
8
- /* empty css */
9
- /* empty css */
10
- import _sfc_main$1 from "../components/Icon/index.vue3.js";
11
- /* empty css */
12
- const _sfc_main = /* @__PURE__ */ defineComponent({
13
- __name: "IconSeparator",
14
- setup(__props) {
15
- return (_ctx, _cache) => {
16
- return openBlock(), createBlock(unref(_sfc_main$1), normalizeProps(guardReactiveProps(_ctx.$attrs)), {
17
- default: withCtx(() => [..._cache[0] || (_cache[0] = [
18
- createElementVNode("path", { d: "M29.506 6.502 18.493 41.498" }, null, -1)
19
- ])]),
20
- _: 1
21
- }, 16);
22
- };
23
- }
24
- });
1
+ import _sfc_main from "./IconSeparator.vue.js";
25
2
  export {
26
3
  _sfc_main as default
27
4
  };
@@ -6,7 +6,6 @@ export declare const getElement: (target: string | HTMLElement | undefined, cont
6
6
  export declare const innerText: (dom: Ref<HTMLElement | undefined>) => string;
7
7
  export declare const getBreakpointValue: (breakpoint: BreakpointName, value: string | number | ResponsiveValue, defaultValue?: number | string) => number | string | undefined;
8
8
  export declare const mediaQueryHandler: (onBreakpoint: (breakpoint: BreakpointName, order: Record<string, number>, index: number) => void, queries?: Record<string, string>) => void;
9
- export declare const findFirstScrollableParent: (element?: HTMLElement | null) => HTMLElement | undefined;
10
9
  export declare const sleep: (ms: number) => Promise<unknown>;
11
10
  export declare const throttleByRaf: (cb: (...args: any[]) => void) => {
12
11
  (...args: any[]): void;
@@ -15,5 +14,6 @@ export declare const throttleByRaf: (cb: (...args: any[]) => void) => {
15
14
  export declare const debounce: (func: (...args: any) => void, delay: number, immediate?: boolean) => (this: any, ...args: any) => void;
16
15
  export declare const throttle: (fn: (...args: any) => void, delay: number) => (this: any, ...args: any) => void;
17
16
  export declare const valueToPx: (value: string | number | undefined) => string;
17
+ export declare const findFirstScrollableParent: (element?: HTMLElement | null) => HTMLElement | undefined;
18
18
  export declare function isHorizontallyScrollable(element: HTMLElement): boolean;
19
19
  export declare function isVerticallyScrollable(element: HTMLElement): boolean;
@@ -67,23 +67,6 @@ const mediaQueryHandler = (onBreakpoint, queries = MEDICA_QUERY_QUERUES) => {
67
67
  }
68
68
  );
69
69
  };
70
- const findFirstScrollableParent = (element) => {
71
- if (!element) {
72
- return void 0;
73
- }
74
- let currentElement = element.parentElement;
75
- while (currentElement) {
76
- const style = getComputedStyle(currentElement);
77
- const overflow = style.overflowY || style.overflow;
78
- const isScrollable = ["auto", "scroll"].includes(overflow);
79
- const canScroll = currentElement.scrollHeight > currentElement.clientHeight;
80
- if (isScrollable && canScroll) {
81
- return currentElement;
82
- }
83
- currentElement = currentElement.parentElement;
84
- }
85
- return void 0;
86
- };
87
70
  const sleep = (ms) => {
88
71
  return new Promise((resolve) => {
89
72
  setTimeout(() => {
@@ -155,6 +138,23 @@ const valueToPx = (value) => {
155
138
  }
156
139
  return value;
157
140
  };
141
+ const findFirstScrollableParent = (element) => {
142
+ if (!element) {
143
+ return void 0;
144
+ }
145
+ let currentElement = element.parentElement;
146
+ while (currentElement) {
147
+ const style = getComputedStyle(currentElement);
148
+ const overflow = style.overflowY || style.overflow;
149
+ const isScrollable = ["auto", "scroll"].includes(overflow);
150
+ const canScroll = currentElement.scrollHeight > currentElement.clientHeight;
151
+ if (isScrollable && canScroll) {
152
+ return currentElement;
153
+ }
154
+ currentElement = currentElement.parentElement;
155
+ }
156
+ return void 0;
157
+ };
158
158
  function isHorizontallyScrollable(element) {
159
159
  const style = getComputedStyle(element);
160
160
  const isScrollableOverflow = style.overflowX === "scroll" || style.overflowX === "auto";
package/es/index.d.ts CHANGED
@@ -938,11 +938,11 @@ declare const YcDesignVue: {
938
938
  $props: {
939
939
  readonly popupVisible?: boolean | undefined;
940
940
  readonly defaultPopupVisible?: boolean | undefined;
941
- readonly trigger?: import('./Trigger').TriggerType | undefined;
941
+ readonly trigger?: (import('./Trigger').TriggerType | import('./Trigger').TriggerType[]) | undefined;
942
942
  readonly position?: import('./_shared/type').PopupPosition | undefined;
943
943
  readonly disabled?: boolean | undefined;
944
944
  readonly popupOffset?: number | undefined;
945
- readonly popupTranslate?: number[] | undefined;
945
+ readonly popupTranslate?: import('./Trigger').popupTranslate | undefined;
946
946
  readonly showArrow?: boolean | undefined;
947
947
  readonly popuphoverStay?: boolean | undefined;
948
948
  readonly blurToClose?: boolean | undefined;
@@ -1071,7 +1071,7 @@ declare const YcDesignVue: {
1071
1071
  show: () => any;
1072
1072
  hide: () => any;
1073
1073
  }, string, {
1074
- trigger: import('./Trigger').TriggerType;
1074
+ trigger: import('./Trigger').TriggerType | import('./Trigger').TriggerType[];
1075
1075
  mouseEnterDelay: number;
1076
1076
  popupVisible: boolean;
1077
1077
  defaultPopupVisible: boolean;
@@ -1087,7 +1087,7 @@ declare const YcDesignVue: {
1087
1087
  alignPoint: boolean;
1088
1088
  position: import('./_shared/type').PopupPosition;
1089
1089
  popupOffset: number;
1090
- popupTranslate: number[];
1090
+ popupTranslate: import('./Trigger').popupTranslate;
1091
1091
  showArrow: boolean;
1092
1092
  unmountOnClose: boolean;
1093
1093
  contentClass: import('./_shared/type').ClassName;
@@ -1125,7 +1125,7 @@ declare const YcDesignVue: {
1125
1125
  $nextTick: typeof import('vue').nextTick;
1126
1126
  $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;
1127
1127
  } & Readonly<{
1128
- trigger: import('./Trigger').TriggerType;
1128
+ trigger: import('./Trigger').TriggerType | import('./Trigger').TriggerType[];
1129
1129
  mouseEnterDelay: number;
1130
1130
  popupVisible: boolean;
1131
1131
  defaultPopupVisible: boolean;
@@ -1141,7 +1141,7 @@ declare const YcDesignVue: {
1141
1141
  alignPoint: boolean;
1142
1142
  position: import('./_shared/type').PopupPosition;
1143
1143
  popupOffset: number;
1144
- popupTranslate: number[];
1144
+ popupTranslate: import('./Trigger').popupTranslate;
1145
1145
  showArrow: boolean;
1146
1146
  unmountOnClose: boolean;
1147
1147
  contentClass: import('./_shared/type').ClassName;