sard-uniapp 1.22.0 → 1.22.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +1 -1
  3. package/components/action-sheet/README.md +15 -6
  4. package/components/action-sheet/action-sheet.d.ts +6 -10
  5. package/components/action-sheet/action-sheet.vue +16 -2
  6. package/components/action-sheet/common.d.ts +2 -1
  7. package/components/calendar-input/calendar-input.d.ts +5 -7
  8. package/components/calendar-input/calendar-input.vue +26 -3
  9. package/components/calendar-popout/README.md +15 -5
  10. package/components/calendar-popout/calendar-popout.d.ts +5 -7
  11. package/components/calendar-popout/calendar-popout.vue +19 -12
  12. package/components/calendar-popout/common.d.ts +3 -1
  13. package/components/cascader-input/cascader-input.d.ts +5 -10
  14. package/components/cascader-input/cascader-input.vue +26 -3
  15. package/components/cascader-popout/README.md +16 -6
  16. package/components/cascader-popout/cascader-popout.d.ts +5 -9
  17. package/components/cascader-popout/cascader-popout.vue +19 -12
  18. package/components/cascader-popout/common.d.ts +3 -1
  19. package/components/checkbox-input/checkbox-input.d.ts +5 -7
  20. package/components/checkbox-input/checkbox-input.vue +26 -3
  21. package/components/checkbox-popout/README.md +15 -5
  22. package/components/checkbox-popout/checkbox-popout.d.ts +5 -7
  23. package/components/checkbox-popout/checkbox-popout.vue +14 -6
  24. package/components/checkbox-popout/common.d.ts +3 -1
  25. package/components/crop-image/README.md +12 -3
  26. package/components/crop-image/common.d.ts +2 -1
  27. package/components/crop-image/crop-image.d.ts +5 -3
  28. package/components/crop-image/crop-image.vue +16 -2
  29. package/components/datetime-picker-input/datetime-picker-input.d.ts +5 -7
  30. package/components/datetime-picker-input/datetime-picker-input.vue +26 -3
  31. package/components/datetime-picker-popout/README.md +15 -5
  32. package/components/datetime-picker-popout/common.d.ts +3 -1
  33. package/components/datetime-picker-popout/datetime-picker-popout.d.ts +5 -7
  34. package/components/datetime-picker-popout/datetime-picker-popout.vue +21 -3
  35. package/components/datetime-range-picker-input/datetime-range-picker-input.d.ts +5 -7
  36. package/components/datetime-range-picker-input/datetime-range-picker-input.vue +26 -3
  37. package/components/datetime-range-picker-popout/README.md +15 -5
  38. package/components/datetime-range-picker-popout/common.d.ts +3 -1
  39. package/components/datetime-range-picker-popout/datetime-range-picker-popout.d.ts +5 -7
  40. package/components/datetime-range-picker-popout/datetime-range-picker-popout.vue +21 -3
  41. package/components/dialog/dialog.d.ts +1 -1
  42. package/components/dialog-agent/dialog-agent.d.ts +1 -1
  43. package/components/dnd/README.md +0 -6
  44. package/components/dnd/dnd.vue +1 -14
  45. package/components/dnd/index.scss +0 -4
  46. package/components/dnd-handle/index.scss +0 -1
  47. package/components/icon/common.d.ts +3 -0
  48. package/components/icon/icon.d.ts +5 -1
  49. package/components/icon/icon.vue +8 -3
  50. package/components/icon/index.d.ts +1 -1
  51. package/components/list/README.md +10 -10
  52. package/components/list-item/list-item.vue +1 -1
  53. package/components/picker-input/picker-input.d.ts +6 -8
  54. package/components/picker-input/picker-input.vue +26 -3
  55. package/components/picker-popout/README.md +15 -5
  56. package/components/picker-popout/common.d.ts +3 -1
  57. package/components/picker-popout/picker-popout.d.ts +6 -8
  58. package/components/picker-popout/picker-popout.vue +21 -3
  59. package/components/popout/popout.d.ts +1 -1
  60. package/components/radio-input/radio-input.d.ts +5 -7
  61. package/components/radio-input/radio-input.vue +26 -3
  62. package/components/radio-popout/README.md +15 -5
  63. package/components/radio-popout/common.d.ts +3 -1
  64. package/components/radio-popout/radio-popout.d.ts +5 -7
  65. package/components/radio-popout/radio-popout.vue +14 -6
  66. package/components/rate/rate.d.ts +1 -1
  67. package/components/share-sheet/README.md +15 -6
  68. package/components/share-sheet/common.d.ts +2 -1
  69. package/components/share-sheet/share-sheet.d.ts +6 -10
  70. package/components/share-sheet/share-sheet.vue +16 -2
  71. package/components/style/mixins.scss +0 -1
  72. package/components/style/variables.scss +0 -2
  73. package/components/tree/common.d.ts +0 -1
  74. package/components/tree/index.scss +0 -4
  75. package/components/tree/tree.vue +2 -16
  76. package/components/tree-node/index.scss +1 -0
  77. package/components/tree-node/tree-node.vue +0 -2
  78. package/components/upload/README.md +13 -4
  79. package/components/upload/common.d.ts +6 -0
  80. package/components/upload/upload.vue +37 -30
  81. package/components/waterfall/README.md +1 -1
  82. package/package.json +2 -2
  83. package/use/useFormPopout.d.ts +6 -2
  84. package/use/useFormPopout.js +9 -1
  85. package/use/usePopoutInput.d.ts +4 -1
  86. package/use/usePopoutInput.js +5 -0
  87. package/utils/dom.js +2 -0
  88. package/components/style/mixins/disable-scroll.scss +0 -14
@@ -33,6 +33,8 @@
33
33
  :searchable="searchable"
34
34
  :filter-placeholder="filterPlaceholder"
35
35
  @change="onChange"
36
+ @visible-hook="onVisibleHook"
37
+ @confirm="onConfirm"
36
38
  />
37
39
  </sar-popout-input>
38
40
  </template>
@@ -77,6 +79,16 @@ import { usePopoutInput } from "../../use";
77
79
  * @property {InputProps} inputProps 自定义输入框组件属性,默认值:-。
78
80
  * @event {(visible: boolean) => void} update 弹出框显隐时触发
79
81
  * @event {(value: any[] | undefined) => void} change 复选输入组件值改变时触发
82
+ * @event {() => void} confirm 点击确定按钮时触发
83
+ * @event {(name: TransitionHookName) => void} visible-hook 入场/退场动画状态改变时触发
84
+ * @event {() => void} before-enter 入场动画开始前触发
85
+ * @event {() => void} enter 入场动画开始时触发
86
+ * @event {() => void} after-enter 入场动画结束时触发
87
+ * @event {() => void} enter-cancelled 入场动画取消时触发
88
+ * @event {() => void} before-leave 退场动画开始前触发
89
+ * @event {() => void} leave 退场动画开始时触发
90
+ * @event {() => void} after-leave 退场动画结束时触发
91
+ * @event {() => void} leave-cancelled 退场动画取消时触发
80
92
  */
81
93
  export default _defineComponent({
82
94
  components: {
@@ -120,12 +132,20 @@ export default _defineComponent({
120
132
  internalArrow: { type: Number, required: false },
121
133
  inputProps: { type: Object, required: false }
122
134
  }, defaultCheckboxInputProps()),
123
- emits: ["update:visible", "update:model-value", "change"],
135
+ emits: ["update:visible", "update:model-value", "change", "confirm", "before-enter", "enter", "after-enter", "enter-cancelled", "before-leave", "leave", "after-leave", "leave-cancelled", "visible-hook"],
124
136
  setup(__props, { expose: __expose, emit: __emit }) {
125
137
  __expose();
126
138
  const props = __props;
127
139
  const emit = __emit;
128
- const { innerVisible, innerValue, inputValue, show, onChange, onClear } = usePopoutInput(props, emit);
140
+ const {
141
+ innerVisible,
142
+ innerValue,
143
+ inputValue,
144
+ show,
145
+ onChange,
146
+ onClear,
147
+ onVisibleHook
148
+ } = usePopoutInput(props, emit);
129
149
  const fieldKeys = computed(() => {
130
150
  return Object.assign({}, defaultOptionKeys, props.optionKeys);
131
151
  });
@@ -149,7 +169,10 @@ export default _defineComponent({
149
169
  immediate: true
150
170
  }
151
171
  );
152
- const __returned__ = { props, emit, innerVisible, innerValue, inputValue, show, onChange, onClear, fieldKeys, getOutletText, getInputValue, SarPopoutInput, SarCheckboxPopout };
172
+ const onConfirm = () => {
173
+ emit("confirm");
174
+ };
175
+ const __returned__ = { props, emit, innerVisible, innerValue, inputValue, show, onChange, onClear, onVisibleHook, fieldKeys, getOutletText, getInputValue, onConfirm, SarPopoutInput, SarCheckboxPopout };
153
176
  return __returned__;
154
177
  }
155
178
  });
@@ -60,11 +60,21 @@ import CheckboxPopout from 'sard-uniapp/components/checkbox-popout/checkbox-popo
60
60
 
61
61
  ### CheckboxPopoutEmits
62
62
 
63
- | 事件 | 描述 | 类型 |
64
- | ------------------------ | ------------------------ | ----------------------------------- |
65
- | update:model-value | 复选输入组件值改变时触发 | (value: any[] \| undefined) => void |
66
- | change <sup>1.9.2+</sup> | 复选输入组件值改变时触发 | (value: any[] \| undefined) => void |
67
- | update:visible | 弹出框显隐时触发 | (visible: boolean) => void |
63
+ | 事件 | 描述 | 类型 |
64
+ | ---------------------------------- | --------------------------- | ----------------------------------- |
65
+ | update:model-value | 复选输入组件值改变时触发 | (value: any[] \| undefined) => void |
66
+ | change <sup>1.9.2+</sup> | 复选输入组件值改变时触发 | (value: any[] \| undefined) => void |
67
+ | update:visible | 弹出框显隐时触发 | (visible: boolean) => void |
68
+ | confirm <sup>1.22.1+</sup> | 点击确定按钮时触发 | () => void |
69
+ | visible-hook <sup>1.22.1+</sup> | 入场/退场动画状态改变时触发 | (name: TransitionHookName) => void |
70
+ | before-enter <sup>1.22.1+</sup> | 入场动画开始前触发 | () => void |
71
+ | enter <sup>1.22.1+</sup> | 入场动画开始时触发 | () => void |
72
+ | after-enter <sup>1.22.1+</sup> | 入场动画结束时触发 | () => void |
73
+ | enter-cancelled <sup>1.22.1+</sup> | 入场动画取消时触发 | () => void |
74
+ | before-leave <sup>1.22.1+</sup> | 退场动画开始前触发 | () => void |
75
+ | leave <sup>1.22.1+</sup> | 退场动画开始时触发 | () => void |
76
+ | after-leave <sup>1.22.1+</sup> | 退场动画结束时触发 | () => void |
77
+ | leave-cancelled <sup>1.22.1+</sup> | 退场动画取消时触发 | () => void |
68
78
 
69
79
  ## 主题定制
70
80
 
@@ -1,13 +1,11 @@
1
1
  import { type CheckboxPopoutProps, type CheckboxPopoutSlots } from './common';
2
2
  declare function __VLS_template(): Readonly<CheckboxPopoutSlots> & CheckboxPopoutSlots;
3
- declare const __VLS_component: import("vue").DefineComponent<CheckboxPopoutProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
4
- "update:model-value": (value: any) => any;
5
- change: (value: any) => any;
6
- "update:visible": (visible: boolean) => any;
3
+ declare const __VLS_component: import("vue").DefineComponent<CheckboxPopoutProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
4
+ [x: string]: any;
5
+ } & {
6
+ [x: string]: any;
7
7
  }, string, import("vue").PublicProps, Readonly<CheckboxPopoutProps> & Readonly<{
8
- "onUpdate:model-value"?: ((value: any) => any) | undefined;
9
- onChange?: ((value: any) => any) | undefined;
10
- "onUpdate:visible"?: ((visible: boolean) => any) | undefined;
8
+ [x: `on${Capitalize<any>}`]: ((...args: any) => any) | undefined;
11
9
  }>, {
12
10
  options: import("../checkbox/common").CheckboxGroupOption[];
13
11
  validateEvent: boolean;
@@ -5,6 +5,7 @@
5
5
  :root-class="popoutClass"
6
6
  :root-style="popoutStyle"
7
7
  @confirm="onConfirm"
8
+ @visible-hook="onVisibleHook"
8
9
  >
9
10
  <template v-if="showCheckAll" #title-prepend>
10
11
  <view :class="bem.e('check-all')">
@@ -116,6 +117,16 @@ import { defaultOptionKeys } from "../checkbox/common";
116
117
  * @property {string} filterPlaceholder 搜索输入框占位符内容,默认值:-。
117
118
  * @event {(visible: boolean) => void} update 弹出框显隐时触发
118
119
  * @event {(value: any[] | undefined) => void} change 复选输入组件值改变时触发
120
+ * @event {() => void} confirm 点击确定按钮时触发
121
+ * @event {(name: TransitionHookName) => void} visible-hook 入场/退场动画状态改变时触发
122
+ * @event {() => void} before-enter 入场动画开始前触发
123
+ * @event {() => void} enter 入场动画开始时触发
124
+ * @event {() => void} after-enter 入场动画结束时触发
125
+ * @event {() => void} enter-cancelled 入场动画取消时触发
126
+ * @event {() => void} before-leave 退场动画开始前触发
127
+ * @event {() => void} leave 退场动画开始时触发
128
+ * @event {() => void} after-leave 退场动画结束时触发
129
+ * @event {() => void} leave-cancelled 退场动画取消时触发
119
130
  */
120
131
  export default _defineComponent({
121
132
  components: {
@@ -155,16 +166,13 @@ export default _defineComponent({
155
166
  options: { type: Array, required: false },
156
167
  optionKeys: { type: Object, required: false }
157
168
  }, defaultCheckboxPopoutProps()),
158
- emits: ["update:visible", "update:model-value", "change"],
169
+ emits: ["update:visible", "update:model-value", "change", "confirm", "before-enter", "enter", "after-enter", "enter-cancelled", "before-leave", "leave", "after-leave", "leave-cancelled", "visible-hook"],
159
170
  setup(__props, { expose: __expose, emit: __emit }) {
160
171
  __expose();
161
172
  const props = __props;
162
173
  const emit = __emit;
163
174
  const bem = createBem("checkbox-popout");
164
- const { innerVisible, popoutValue, onChange, onConfirm } = useFormPopout(
165
- props,
166
- emit
167
- );
175
+ const { innerVisible, popoutValue, onChange, onConfirm, onVisibleHook } = useFormPopout(props, emit);
168
176
  const fieldKeys = computed(() => {
169
177
  return Object.assign({}, defaultOptionKeys, props.optionKeys);
170
178
  });
@@ -210,7 +218,7 @@ export default _defineComponent({
210
218
  bem.em("scroll", "searchable", props.searchable)
211
219
  );
212
220
  });
213
- const __returned__ = { props, emit, bem, innerVisible, popoutValue, onChange, onConfirm, fieldKeys, objectOptions, select, allChecked, isIndeterminate, onAllChange, searchValue, filteredOptions, count, scrollSide, onScroll, onScrolltoupper, onScrolltolower, containerClass, scrollClass, SarPopout, SarCheckboxGroup, SarCheckbox, SarList, SarListItem, SarInput, SarIcon };
221
+ const __returned__ = { props, emit, bem, innerVisible, popoutValue, onChange, onConfirm, onVisibleHook, fieldKeys, objectOptions, select, allChecked, isIndeterminate, onAllChange, searchValue, filteredOptions, count, scrollSide, onScroll, onScrolltoupper, onScrolltolower, containerClass, scrollClass, SarPopout, SarCheckboxGroup, SarCheckbox, SarList, SarListItem, SarInput, SarIcon };
214
222
  return __returned__;
215
223
  }
216
224
  });
@@ -1,5 +1,6 @@
1
1
  import { type StyleValue } from 'vue';
2
2
  import { type CheckboxGroupProps } from '../checkbox/common';
3
+ import { type TransitionHookEmits } from '../popup/common';
3
4
  export interface CheckboxPopoutProps extends CheckboxGroupProps {
4
5
  visible?: boolean;
5
6
  title?: string;
@@ -16,10 +17,11 @@ export declare const defaultCheckboxPopoutProps: () => {
16
17
  export interface CheckboxPopoutSlots {
17
18
  default?(props: Record<string, never>): any;
18
19
  }
19
- export interface CheckboxPopoutEmits {
20
+ export interface CheckboxPopoutEmits extends TransitionHookEmits {
20
21
  (e: 'update:visible', visible: boolean): void;
21
22
  (e: 'update:model-value', value: any): void;
22
23
  (e: 'change', value: any): void;
24
+ (e: 'confirm'): void;
23
25
  }
24
26
  export interface CheckboxPopoutExpose {
25
27
  }
@@ -67,9 +67,18 @@ import { cropImage } from 'sard-uniapp'
67
67
 
68
68
  ### CropImageEmits
69
69
 
70
- | 事件 | 描述 | 类型 |
71
- | -------------- | ---------------- | -------------------------- |
72
- | update:visible | 弹出框显隐时触发 | (visible: boolean) => void |
70
+ | 事件 | 描述 | 类型 |
71
+ | ---------------------------------- | --------------------------- | ---------------------------------- |
72
+ | update:visible | 弹出框显隐时触发 | (visible: boolean) => void |
73
+ | visible-hook <sup>1.22.1+</sup> | 入场/退场动画状态改变时触发 | (name: TransitionHookName) => void |
74
+ | before-enter <sup>1.22.1+</sup> | 入场动画开始前触发 | () => void |
75
+ | enter <sup>1.22.1+</sup> | 入场动画开始时触发 | () => void |
76
+ | after-enter <sup>1.22.1+</sup> | 入场动画结束时触发 | () => void |
77
+ | enter-cancelled <sup>1.22.1+</sup> | 入场动画取消时触发 | () => void |
78
+ | before-leave <sup>1.22.1+</sup> | 退场动画开始前触发 | () => void |
79
+ | leave <sup>1.22.1+</sup> | 退场动画开始时触发 | () => void |
80
+ | after-leave <sup>1.22.1+</sup> | 退场动画结束时触发 | () => void |
81
+ | leave-cancelled <sup>1.22.1+</sup> | 退场动画取消时触发 | () => void |
73
82
 
74
83
  ### CropImageAgentProps / CropImageOptions
75
84
 
@@ -1,4 +1,5 @@
1
1
  import { type StyleValue } from 'vue';
2
+ import { type TransitionHookEmits } from '../popup/common';
2
3
  export interface CropImageProps {
3
4
  rootStyle?: StyleValue;
4
5
  rootClass?: string;
@@ -25,7 +26,7 @@ export declare const defaultCropImageProps: {
25
26
  export interface CropImageSlots {
26
27
  default?(props: Record<string, never>): any;
27
28
  }
28
- export interface CropImageEmits {
29
+ export interface CropImageEmits extends TransitionHookEmits {
29
30
  (e: 'update:visible', visible: boolean): void;
30
31
  }
31
32
  export interface CropImageExpose {
@@ -1,9 +1,11 @@
1
1
  import { type CropImageProps, type CropImageSlots } from './common';
2
2
  declare function __VLS_template(): Readonly<CropImageSlots> & CropImageSlots;
3
- declare const __VLS_component: import("vue").DefineComponent<CropImageProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
4
- "update:visible": (visible: boolean) => any;
3
+ declare const __VLS_component: import("vue").DefineComponent<CropImageProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
4
+ [x: string]: any;
5
+ } & {
6
+ [x: string]: any;
5
7
  }, string, import("vue").PublicProps, Readonly<CropImageProps> & Readonly<{
6
- "onUpdate:visible"?: ((visible: boolean) => any) | undefined;
8
+ [x: `on${Capitalize<any>}`]: ((...args: any) => any) | undefined;
7
9
  }>, {
8
10
  type: "png" | "jpg";
9
11
  duration: number;
@@ -5,6 +5,7 @@
5
5
  :duration="duration"
6
6
  :overlay="false"
7
7
  @after-enter="onAfterEnter"
8
+ @visible-hook="onVisibleHook"
8
9
  >
9
10
  <view :class="cropImageClass" :style="cropImageStyle">
10
11
  <view
@@ -132,6 +133,15 @@ const maxScale = 5;
132
133
  * @property {() => void} complete 裁剪成功或失败回调,默认值:-。
133
134
  * @property {(width: number, height: number) => number} beforeCrop 裁剪前回调,可以修改裁剪的尺寸;接收宽高,返回缩放比例,默认值:-。
134
135
  * @event {(visible: boolean) => void} update 弹出框显隐时触发
136
+ * @event {(name: TransitionHookName) => void} visible-hook 入场/退场动画状态改变时触发
137
+ * @event {() => void} before-enter 入场动画开始前触发
138
+ * @event {() => void} enter 入场动画开始时触发
139
+ * @event {() => void} after-enter 入场动画结束时触发
140
+ * @event {() => void} enter-cancelled 入场动画取消时触发
141
+ * @event {() => void} before-leave 退场动画开始前触发
142
+ * @event {() => void} leave 退场动画开始时触发
143
+ * @event {() => void} after-leave 退场动画结束时触发
144
+ * @event {() => void} leave-cancelled 退场动画取消时触发
135
145
  */
136
146
  export default _defineComponent({
137
147
  components: {
@@ -164,7 +174,7 @@ export default _defineComponent({
164
174
  cancelText: { type: String, required: false },
165
175
  confirmText: { type: String, required: false }
166
176
  }, defaultCropImageProps),
167
- emits: ["update:visible"],
177
+ emits: ["update:visible", "before-enter", "enter", "after-enter", "enter-cancelled", "before-leave", "leave", "after-leave", "leave-cancelled", "visible-hook"],
168
178
  setup(__props, { expose: __expose, emit: __emit }) {
169
179
  const props = __props;
170
180
  const emit = __emit;
@@ -181,6 +191,10 @@ export default _defineComponent({
181
191
  innerVisible.value = false;
182
192
  emit("update:visible", false);
183
193
  };
194
+ const onVisibleHook = (name) => {
195
+ emit("visible-hook", name);
196
+ emit(name);
197
+ };
184
198
  const { windowWidth, windowHeight, pixelRatio } = getWindowInfo();
185
199
  const aspectRatio = computed(() => {
186
200
  const [w, h] = props.cropScale.split(":").map(Number);
@@ -662,7 +676,7 @@ export default _defineComponent({
662
676
  return stringifyStyle(props.rootStyle);
663
677
  });
664
678
  __expose({});
665
- const __returned__ = { props, emit, bem, t, innerVisible, close, windowWidth, windowHeight, pixelRatio, aspectRatio, minGapY, minGapX, focusRect, rotate, actualRotate, onRotateEnd, isRotating, isStillRotating, stopRotateLater, cancelStopRotate, maskStyle, focusStyle, imageOrigSize, imageCoverSize, reversedCoverSize, imgLeft, imgTop, imgWidth, imgHeight, isCaptured, inInertia, puppetStyle, imageStyle, onImageTouchStart, bounceCoeff, maxScale, get stopInertialAnimate() {
679
+ const __returned__ = { props, emit, bem, t, innerVisible, close, onVisibleHook, windowWidth, windowHeight, pixelRatio, aspectRatio, minGapY, minGapX, focusRect, rotate, actualRotate, onRotateEnd, isRotating, isStillRotating, stopRotateLater, cancelStopRotate, maskStyle, focusStyle, imageOrigSize, imageCoverSize, reversedCoverSize, imgLeft, imgTop, imgWidth, imgHeight, isCaptured, inInertia, puppetStyle, imageStyle, onImageTouchStart, bounceCoeff, maxScale, get stopInertialAnimate() {
666
680
  return stopInertialAnimate;
667
681
  }, set stopInertialAnimate(v) {
668
682
  stopInertialAnimate = v;
@@ -1,13 +1,11 @@
1
1
  import { type DatetimePickerInputProps, type DatetimePickerInputSlots } from './common';
2
2
  declare function __VLS_template(): Readonly<DatetimePickerInputSlots> & DatetimePickerInputSlots;
3
- declare const __VLS_component: import("vue").DefineComponent<DatetimePickerInputProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
4
- "update:model-value": (date: string | Date | undefined) => any;
5
- change: (date: string | Date | undefined) => any;
6
- "update:visible": (visible: boolean) => any;
3
+ declare const __VLS_component: import("vue").DefineComponent<DatetimePickerInputProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
4
+ [x: string]: any;
5
+ } & {
6
+ [x: string]: any;
7
7
  }, string, import("vue").PublicProps, Readonly<DatetimePickerInputProps> & Readonly<{
8
- "onUpdate:model-value"?: ((date: string | Date | undefined) => any) | undefined;
9
- onChange?: ((date: string | Date | undefined) => any) | undefined;
10
- "onUpdate:visible"?: ((visible: boolean) => any) | undefined;
8
+ [x: `on${Capitalize<any>}`]: ((...args: any) => any) | undefined;
11
9
  }>, {
12
10
  type: string;
13
11
  valueOnClear: () => any;
@@ -31,6 +31,8 @@
31
31
  :validate-event="validateEvent"
32
32
  :calendar="calendar"
33
33
  @change="onChange"
34
+ @visible-hook="onVisibleHook"
35
+ @confirm="onConfirm"
34
36
  />
35
37
  </sar-popout-input>
36
38
  </template>
@@ -73,6 +75,16 @@ import {
73
75
  * @property {InputProps} inputProps 自定义输入框组件属性,默认值:-。
74
76
  * @event {(visible: boolean) => void} update 弹出框显隐时触发
75
77
  * @event {(value: Date |string | undefined) => void} change 日期时间输入组件值改变时触发
78
+ * @event {() => void} confirm 点击确定按钮时触发
79
+ * @event {(name: TransitionHookName) => void} visible-hook 入场/退场动画状态改变时触发
80
+ * @event {() => void} before-enter 入场动画开始前触发
81
+ * @event {() => void} enter 入场动画开始时触发
82
+ * @event {() => void} after-enter 入场动画结束时触发
83
+ * @event {() => void} enter-cancelled 入场动画取消时触发
84
+ * @event {() => void} before-leave 退场动画开始前触发
85
+ * @event {() => void} leave 退场动画开始时触发
86
+ * @event {() => void} after-leave 退场动画结束时触发
87
+ * @event {() => void} leave-cancelled 退场动画取消时触发
76
88
  */
77
89
  export default _defineComponent({
78
90
  components: {
@@ -114,12 +126,20 @@ export default _defineComponent({
114
126
  internalArrow: { type: Number, required: false },
115
127
  inputProps: { type: Object, required: false }
116
128
  }, defaultDatetimePickerInputProps()),
117
- emits: ["update:visible", "update:model-value", "change"],
129
+ emits: ["update:visible", "update:model-value", "change", "confirm", "before-enter", "enter", "after-enter", "enter-cancelled", "before-leave", "leave", "after-leave", "leave-cancelled", "visible-hook"],
118
130
  setup(__props, { expose: __expose, emit: __emit }) {
119
131
  __expose();
120
132
  const props = __props;
121
133
  const emit = __emit;
122
- const { innerVisible, innerValue, inputValue, show, onChange, onClear } = usePopoutInput(props, emit);
134
+ const {
135
+ innerVisible,
136
+ innerValue,
137
+ inputValue,
138
+ show,
139
+ onChange,
140
+ onClear,
141
+ onVisibleHook
142
+ } = usePopoutInput(props, emit);
123
143
  function getOutletText(value) {
124
144
  if (isString(value) && props.valueFormat) {
125
145
  value = parseDate(value, props.valueFormat);
@@ -147,7 +167,10 @@ export default _defineComponent({
147
167
  immediate: true
148
168
  }
149
169
  );
150
- const __returned__ = { props, emit, innerVisible, innerValue, inputValue, show, onChange, onClear, getOutletText, getInputValue, SarPopoutInput, SarDatetimePickerPopout };
170
+ const onConfirm = () => {
171
+ emit("confirm");
172
+ };
173
+ const __returned__ = { props, emit, innerVisible, innerValue, inputValue, show, onChange, onClear, onVisibleHook, getOutletText, getInputValue, onConfirm, SarPopoutInput, SarDatetimePickerPopout };
151
174
  return __returned__;
152
175
  }
153
176
  });
@@ -70,8 +70,18 @@ import DatetimePickerPopout from 'sard-uniapp/components/datetime-picker-popout/
70
70
 
71
71
  ### DatetimePickerPopoutEmits
72
72
 
73
- | 事件 | 描述 | 类型 |
74
- | ------------------ | ---------------------------- | -------------------------------------------- |
75
- | update:model-value | 日期时间输入组件值改变时触发 | (value: Date \| string \| undefined) => void |
76
- | change | 日期时间输入组件值改变时触发 | (value: Date \|string \| undefined) => void |
77
- | update:visible | 弹出框显隐时触发 | (visible: boolean) => void |
73
+ | 事件 | 描述 | 类型 |
74
+ | ---------------------------------- | ---------------------------- | -------------------------------------------- |
75
+ | update:model-value | 日期时间输入组件值改变时触发 | (value: Date \| string \| undefined) => void |
76
+ | change | 日期时间输入组件值改变时触发 | (value: Date \|string \| undefined) => void |
77
+ | update:visible | 弹出框显隐时触发 | (visible: boolean) => void |
78
+ | confirm <sup>1.22.1+</sup> | 点击确定按钮时触发 | () => void |
79
+ | visible-hook <sup>1.22.1+</sup> | 入场/退场动画状态改变时触发 | (name: TransitionHookName) => void |
80
+ | before-enter <sup>1.22.1+</sup> | 入场动画开始前触发 | () => void |
81
+ | enter <sup>1.22.1+</sup> | 入场动画开始时触发 | () => void |
82
+ | after-enter <sup>1.22.1+</sup> | 入场动画结束时触发 | () => void |
83
+ | enter-cancelled <sup>1.22.1+</sup> | 入场动画取消时触发 | () => void |
84
+ | before-leave <sup>1.22.1+</sup> | 退场动画开始前触发 | () => void |
85
+ | leave <sup>1.22.1+</sup> | 退场动画开始时触发 | () => void |
86
+ | after-leave <sup>1.22.1+</sup> | 退场动画结束时触发 | () => void |
87
+ | leave-cancelled <sup>1.22.1+</sup> | 退场动画取消时触发 | () => void |
@@ -1,5 +1,6 @@
1
1
  import { type StyleValue } from 'vue';
2
2
  import { type DatetimePickerProps, type DatetimePickerSlots } from '../datetime-picker/common';
3
+ import { type TransitionHookEmits } from '../popup/common';
3
4
  export interface DatetimePickerPopoutProps extends DatetimePickerProps {
4
5
  visible?: boolean;
5
6
  title?: string;
@@ -14,10 +15,11 @@ export declare const defaultDatetimePickerPopoutProps: () => {
14
15
  };
15
16
  export interface DatetimePickerPopoutSlots extends DatetimePickerSlots {
16
17
  }
17
- export interface DatetimePickerPopoutEmits {
18
+ export interface DatetimePickerPopoutEmits extends TransitionHookEmits {
18
19
  (e: 'update:visible', visible: boolean): void;
19
20
  (e: 'update:model-value', date: Date | string | undefined): void;
20
21
  (e: 'change', date: Date | string | undefined): void;
22
+ (e: 'confirm'): void;
21
23
  }
22
24
  export interface DatetimePickerPopoutExpose {
23
25
  }
@@ -1,13 +1,11 @@
1
1
  import { type DatetimePickerPopoutProps, type DatetimePickerPopoutSlots } from './common';
2
2
  declare function __VLS_template(): Readonly<DatetimePickerPopoutSlots> & DatetimePickerPopoutSlots;
3
- declare const __VLS_component: import("vue").DefineComponent<DatetimePickerPopoutProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
4
- "update:model-value": (date: string | Date | undefined) => any;
5
- change: (date: string | Date | undefined) => any;
6
- "update:visible": (visible: boolean) => any;
3
+ declare const __VLS_component: import("vue").DefineComponent<DatetimePickerPopoutProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
4
+ [x: string]: any;
5
+ } & {
6
+ [x: string]: any;
7
7
  }, string, import("vue").PublicProps, Readonly<DatetimePickerPopoutProps> & Readonly<{
8
- "onUpdate:model-value"?: ((date: string | Date | undefined) => any) | undefined;
9
- onChange?: ((date: string | Date | undefined) => any) | undefined;
10
- "onUpdate:visible"?: ((visible: boolean) => any) | undefined;
8
+ [x: `on${Capitalize<any>}`]: ((...args: any) => any) | undefined;
11
9
  }>, {
12
10
  type: string;
13
11
  calendar: "solar" | "lunar";
@@ -7,6 +7,7 @@
7
7
  :root-style="popoutStyle"
8
8
  @confirm="onConfirm"
9
9
  @enter="onEnter"
10
+ @visible-hook="onVisibleHook"
10
11
  >
11
12
  <template #visible="{ already }">
12
13
  <sar-datetime-picker
@@ -58,6 +59,16 @@ import { useFormPopout } from "../../use";
58
59
  * @property {boolean} validateEvent 是否触发表单验证,默认值:true。
59
60
  * @event {(visible: boolean) => void} update 弹出框显隐时触发
60
61
  * @event {(value: Date |string | undefined) => void} change 日期时间输入组件值改变时触发
62
+ * @event {() => void} confirm 点击确定按钮时触发
63
+ * @event {(name: TransitionHookName) => void} visible-hook 入场/退场动画状态改变时触发
64
+ * @event {() => void} before-enter 入场动画开始前触发
65
+ * @event {() => void} enter 入场动画开始时触发
66
+ * @event {() => void} after-enter 入场动画结束时触发
67
+ * @event {() => void} enter-cancelled 入场动画取消时触发
68
+ * @event {() => void} before-leave 退场动画开始前触发
69
+ * @event {() => void} leave 退场动画开始时触发
70
+ * @event {() => void} after-leave 退场动画结束时触发
71
+ * @event {() => void} leave-cancelled 退场动画取消时触发
61
72
  */
62
73
  export default _defineComponent({
63
74
  components: {
@@ -88,7 +99,7 @@ export default _defineComponent({
88
99
  formatter: { type: Function, required: false },
89
100
  valueFormat: { type: String, required: false }
90
101
  }, defaultDatetimePickerPopoutProps()),
91
- emits: ["update:visible", "update:model-value", "change"],
102
+ emits: ["update:visible", "update:model-value", "change", "confirm", "before-enter", "enter", "after-enter", "enter-cancelled", "before-leave", "leave", "after-leave", "leave-cancelled", "visible-hook"],
92
103
  setup(__props, { expose: __expose, emit: __emit }) {
93
104
  __expose();
94
105
  const props = __props;
@@ -100,7 +111,14 @@ export default _defineComponent({
100
111
  const maxDate2 = toDate(props.max || getMaxDate());
101
112
  return maxDate2 < minDate.value ? new Date(minDate.value) : maxDate2;
102
113
  });
103
- const { innerVisible, innerValue, popoutValue, onChange, onConfirm } = useFormPopout(props, emit, {
114
+ const {
115
+ innerVisible,
116
+ innerValue,
117
+ popoutValue,
118
+ onChange,
119
+ onConfirm,
120
+ onVisibleHook
121
+ } = useFormPopout(props, emit, {
104
122
  onConfirmBefore() {
105
123
  if (!popoutValue.value) {
106
124
  const initialValue = getInitialValue(minDate.value, maxDate.value);
@@ -127,7 +145,7 @@ export default _defineComponent({
127
145
  }
128
146
  }
129
147
  });
130
- const __returned__ = { props, emit, minDate, maxDate, innerVisible, innerValue, popoutValue, onChange, onConfirm, onEnter, normalizeValue, SarPopout, SarDatetimePicker };
148
+ const __returned__ = { props, emit, minDate, maxDate, innerVisible, innerValue, popoutValue, onChange, onConfirm, onVisibleHook, onEnter, normalizeValue, SarPopout, SarDatetimePicker };
131
149
  return __returned__;
132
150
  }
133
151
  });
@@ -1,13 +1,11 @@
1
1
  import { type DatetimeRangePickerInputProps, type DatetimeRangePickerInputSlots } from './common';
2
2
  declare function __VLS_template(): Readonly<DatetimeRangePickerInputSlots> & DatetimeRangePickerInputSlots;
3
- declare const __VLS_component: import("vue").DefineComponent<DatetimeRangePickerInputProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
4
- "update:model-value": (date: (string | Date)[] | undefined) => any;
5
- change: (date: (string | Date)[] | undefined) => any;
6
- "update:visible": (visible: boolean) => any;
3
+ declare const __VLS_component: import("vue").DefineComponent<DatetimeRangePickerInputProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
4
+ [x: string]: any;
5
+ } & {
6
+ [x: string]: any;
7
7
  }, string, import("vue").PublicProps, Readonly<DatetimeRangePickerInputProps> & Readonly<{
8
- "onUpdate:model-value"?: ((date: (string | Date)[] | undefined) => any) | undefined;
9
- onChange?: ((date: (string | Date)[] | undefined) => any) | undefined;
10
- "onUpdate:visible"?: ((visible: boolean) => any) | undefined;
8
+ [x: `on${Capitalize<any>}`]: ((...args: any) => any) | undefined;
11
9
  }>, {
12
10
  type: string;
13
11
  valueOnClear: () => any;
@@ -31,6 +31,8 @@
31
31
  :tabs="tabs"
32
32
  :validate-event="validateEvent"
33
33
  @change="onChange"
34
+ @visible-hook="onVisibleHook"
35
+ @confirm="onConfirm"
34
36
  />
35
37
  </sar-popout-input>
36
38
  </template>
@@ -75,6 +77,16 @@ import { useTranslate } from "../locale";
75
77
  * @property {InputProps} inputProps 自定义输入框组件属性,默认值:-。
76
78
  * @event {(visible: boolean) => void} update 弹出框显隐时触发
77
79
  * @event {(date: (Date | string)[]) => void} change 日期时间输入组件值改变时触发
80
+ * @event {() => void} confirm 点击确定按钮时触发
81
+ * @event {(name: TransitionHookName) => void} visible-hook 入场/退场动画状态改变时触发
82
+ * @event {() => void} before-enter 入场动画开始前触发
83
+ * @event {() => void} enter 入场动画开始时触发
84
+ * @event {() => void} after-enter 入场动画结束时触发
85
+ * @event {() => void} enter-cancelled 入场动画取消时触发
86
+ * @event {() => void} before-leave 退场动画开始前触发
87
+ * @event {() => void} leave 退场动画开始时触发
88
+ * @event {() => void} after-leave 退场动画结束时触发
89
+ * @event {() => void} leave-cancelled 退场动画取消时触发
78
90
  */
79
91
  export default _defineComponent({
80
92
  components: {
@@ -117,12 +129,20 @@ export default _defineComponent({
117
129
  internalArrow: { type: Number, required: false },
118
130
  inputProps: { type: Object, required: false }
119
131
  }, defaultDatetimeRangePickerInputProps()),
120
- emits: ["update:visible", "update:model-value", "change"],
132
+ emits: ["update:visible", "update:model-value", "change", "confirm", "before-enter", "enter", "after-enter", "enter-cancelled", "before-leave", "leave", "after-leave", "leave-cancelled", "visible-hook"],
121
133
  setup(__props, { expose: __expose, emit: __emit }) {
122
134
  __expose();
123
135
  const props = __props;
124
136
  const emit = __emit;
125
- const { innerVisible, innerValue, inputValue, show, onChange, onClear } = usePopoutInput(props, emit);
137
+ const {
138
+ innerVisible,
139
+ innerValue,
140
+ inputValue,
141
+ show,
142
+ onChange,
143
+ onClear,
144
+ onVisibleHook
145
+ } = usePopoutInput(props, emit);
126
146
  const { t } = useTranslate("datetimeRangePickerInput");
127
147
  function getOutletTextMayByStr(date) {
128
148
  if (isString(date) && props.valueFormat) {
@@ -157,7 +177,10 @@ export default _defineComponent({
157
177
  immediate: true
158
178
  }
159
179
  );
160
- const __returned__ = { props, emit, innerVisible, innerValue, inputValue, show, onChange, onClear, t, getOutletTextMayByStr, getOutletText, getInputValue, SarPopoutInput, SarDatetimeRangePickerPopout };
180
+ const onConfirm = () => {
181
+ emit("confirm");
182
+ };
183
+ const __returned__ = { props, emit, innerVisible, innerValue, inputValue, show, onChange, onClear, onVisibleHook, t, getOutletTextMayByStr, getOutletText, getInputValue, onConfirm, SarPopoutInput, SarDatetimeRangePickerPopout };
161
184
  return __returned__;
162
185
  }
163
186
  });
@@ -40,8 +40,18 @@ import DatetimeRangePickerPopout from 'sard-uniapp/components/datetime-range-pic
40
40
 
41
41
  ### DatetimeRangePickerPopoutEmits
42
42
 
43
- | 事件 | 描述 | 类型 |
44
- | ------------------ | ---------------------------- | ---------------------------------- |
45
- | update:model-value | 日期时间输入组件值改变时触发 | (date: (Date \| string)[]) => void |
46
- | change | 日期时间输入组件值改变时触发 | (date: (Date \| string)[]) => void |
47
- | update:visible | 弹出框显隐时触发 | (visible: boolean) => void |
43
+ | 事件 | 描述 | 类型 |
44
+ | ---------------------------------- | ---------------------------- | ---------------------------------- |
45
+ | update:model-value | 日期时间输入组件值改变时触发 | (date: (Date \| string)[]) => void |
46
+ | change | 日期时间输入组件值改变时触发 | (date: (Date \| string)[]) => void |
47
+ | update:visible | 弹出框显隐时触发 | (visible: boolean) => void |
48
+ | confirm <sup>1.22.1+</sup> | 点击确定按钮时触发 | () => void |
49
+ | visible-hook <sup>1.22.1+</sup> | 入场/退场动画状态改变时触发 | (name: TransitionHookName) => void |
50
+ | before-enter <sup>1.22.1+</sup> | 入场动画开始前触发 | () => void |
51
+ | enter <sup>1.22.1+</sup> | 入场动画开始时触发 | () => void |
52
+ | after-enter <sup>1.22.1+</sup> | 入场动画结束时触发 | () => void |
53
+ | enter-cancelled <sup>1.22.1+</sup> | 入场动画取消时触发 | () => void |
54
+ | before-leave <sup>1.22.1+</sup> | 退场动画开始前触发 | () => void |
55
+ | leave <sup>1.22.1+</sup> | 退场动画开始时触发 | () => void |
56
+ | after-leave <sup>1.22.1+</sup> | 退场动画结束时触发 | () => void |
57
+ | leave-cancelled <sup>1.22.1+</sup> | 退场动画取消时触发 | () => void |
@@ -1,5 +1,6 @@
1
1
  import { type StyleValue } from 'vue';
2
2
  import { type DatetimeRangePickerProps, type DatetimeRangePickerSlots } from '../datetime-range-picker/common';
3
+ import { type TransitionHookEmits } from '../popup/common';
3
4
  export interface DatetimeRangePickerPopoutProps extends DatetimeRangePickerProps {
4
5
  visible?: boolean;
5
6
  title?: string;
@@ -13,10 +14,11 @@ export declare const defaultDatetimeRangePickerInputProps: () => {
13
14
  };
14
15
  export interface DatetimeRangePickerPopoutSlots extends DatetimeRangePickerSlots {
15
16
  }
16
- export interface DatetimeRangePickerPopoutEmits {
17
+ export interface DatetimeRangePickerPopoutEmits extends TransitionHookEmits {
17
18
  (e: 'update:visible', visible: boolean): void;
18
19
  (e: 'update:model-value', date: (Date | string)[] | undefined): void;
19
20
  (e: 'change', date: (Date | string)[] | undefined): void;
21
+ (e: 'confirm'): void;
20
22
  }
21
23
  export interface DatetimeRangePickerPopoutExpose {
22
24
  }