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.
- package/CHANGELOG.md +26 -0
- package/README.md +1 -1
- package/components/action-sheet/README.md +15 -6
- package/components/action-sheet/action-sheet.d.ts +6 -10
- package/components/action-sheet/action-sheet.vue +16 -2
- package/components/action-sheet/common.d.ts +2 -1
- package/components/calendar-input/calendar-input.d.ts +5 -7
- package/components/calendar-input/calendar-input.vue +26 -3
- package/components/calendar-popout/README.md +15 -5
- package/components/calendar-popout/calendar-popout.d.ts +5 -7
- package/components/calendar-popout/calendar-popout.vue +19 -12
- package/components/calendar-popout/common.d.ts +3 -1
- package/components/cascader-input/cascader-input.d.ts +5 -10
- package/components/cascader-input/cascader-input.vue +26 -3
- package/components/cascader-popout/README.md +16 -6
- package/components/cascader-popout/cascader-popout.d.ts +5 -9
- package/components/cascader-popout/cascader-popout.vue +19 -12
- package/components/cascader-popout/common.d.ts +3 -1
- package/components/checkbox-input/checkbox-input.d.ts +5 -7
- package/components/checkbox-input/checkbox-input.vue +26 -3
- package/components/checkbox-popout/README.md +15 -5
- package/components/checkbox-popout/checkbox-popout.d.ts +5 -7
- package/components/checkbox-popout/checkbox-popout.vue +14 -6
- package/components/checkbox-popout/common.d.ts +3 -1
- package/components/crop-image/README.md +12 -3
- package/components/crop-image/common.d.ts +2 -1
- package/components/crop-image/crop-image.d.ts +5 -3
- package/components/crop-image/crop-image.vue +16 -2
- package/components/datetime-picker-input/datetime-picker-input.d.ts +5 -7
- package/components/datetime-picker-input/datetime-picker-input.vue +26 -3
- package/components/datetime-picker-popout/README.md +15 -5
- package/components/datetime-picker-popout/common.d.ts +3 -1
- package/components/datetime-picker-popout/datetime-picker-popout.d.ts +5 -7
- package/components/datetime-picker-popout/datetime-picker-popout.vue +21 -3
- package/components/datetime-range-picker-input/datetime-range-picker-input.d.ts +5 -7
- package/components/datetime-range-picker-input/datetime-range-picker-input.vue +26 -3
- package/components/datetime-range-picker-popout/README.md +15 -5
- package/components/datetime-range-picker-popout/common.d.ts +3 -1
- package/components/datetime-range-picker-popout/datetime-range-picker-popout.d.ts +5 -7
- package/components/datetime-range-picker-popout/datetime-range-picker-popout.vue +21 -3
- package/components/dialog/dialog.d.ts +1 -1
- package/components/dialog-agent/dialog-agent.d.ts +1 -1
- package/components/dnd/README.md +0 -6
- package/components/dnd/dnd.vue +1 -14
- package/components/dnd/index.scss +0 -4
- package/components/dnd-handle/index.scss +0 -1
- package/components/icon/common.d.ts +3 -0
- package/components/icon/icon.d.ts +5 -1
- package/components/icon/icon.vue +8 -3
- package/components/icon/index.d.ts +1 -1
- package/components/list/README.md +10 -10
- package/components/list-item/list-item.vue +1 -1
- package/components/picker-input/picker-input.d.ts +6 -8
- package/components/picker-input/picker-input.vue +26 -3
- package/components/picker-popout/README.md +15 -5
- package/components/picker-popout/common.d.ts +3 -1
- package/components/picker-popout/picker-popout.d.ts +6 -8
- package/components/picker-popout/picker-popout.vue +21 -3
- package/components/popout/popout.d.ts +1 -1
- package/components/radio-input/radio-input.d.ts +5 -7
- package/components/radio-input/radio-input.vue +26 -3
- package/components/radio-popout/README.md +15 -5
- package/components/radio-popout/common.d.ts +3 -1
- package/components/radio-popout/radio-popout.d.ts +5 -7
- package/components/radio-popout/radio-popout.vue +14 -6
- package/components/rate/rate.d.ts +1 -1
- package/components/share-sheet/README.md +15 -6
- package/components/share-sheet/common.d.ts +2 -1
- package/components/share-sheet/share-sheet.d.ts +6 -10
- package/components/share-sheet/share-sheet.vue +16 -2
- package/components/style/mixins.scss +0 -1
- package/components/style/variables.scss +0 -2
- package/components/tree/common.d.ts +0 -1
- package/components/tree/index.scss +0 -4
- package/components/tree/tree.vue +2 -16
- package/components/tree-node/index.scss +1 -0
- package/components/tree-node/tree-node.vue +0 -2
- package/components/upload/README.md +13 -4
- package/components/upload/common.d.ts +6 -0
- package/components/upload/upload.vue +37 -30
- package/components/waterfall/README.md +1 -1
- package/package.json +2 -2
- package/use/useFormPopout.d.ts +6 -2
- package/use/useFormPopout.js +9 -1
- package/use/usePopoutInput.d.ts +4 -1
- package/use/usePopoutInput.js +5 -0
- package/utils/dom.js +2 -0
- package/components/style/mixins/disable-scroll.scss +0 -14
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,29 @@
|
|
|
1
|
+
## [1.22.2](https://github.com/sutras/sard-uniapp/compare/v1.22.1...v1.22.2) (2025-07-24)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* 优化支付宝端拖拽体验 ([351db34](https://github.com/sutras/sard-uniapp/commit/351db340ec343c95cb37015e03375113b43a6840))
|
|
7
|
+
* 修复支付宝端获取元素尺寸可能存在失败的问题 ([12c2dfb](https://github.com/sutras/sard-uniapp/commit/12c2dfb59e17a9811600b11d23c093d6c0c56bf6))
|
|
8
|
+
* 隐藏 list-item 单独使用时的上下文警告 ([18fe6bb](https://github.com/sutras/sard-uniapp/commit/18fe6bb645c383282723ad29c4636ac775cbadf2))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* upload 新增默认插槽 ([73f3658](https://github.com/sutras/sard-uniapp/commit/73f3658c94cc7b04c036a577a959c1385665e6f7))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [1.22.1](https://github.com/sutras/sard-uniapp/compare/v1.22.0...v1.22.1) (2025-07-19)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Features
|
|
21
|
+
|
|
22
|
+
* 基于 popout 组件的带有确定按钮的组件添加 confirm 事件 ([d88f36f](https://github.com/sutras/sard-uniapp/commit/d88f36fd2f23a33eb56b2c7fd1f3919558a4f857))
|
|
23
|
+
* 所有基于 Popup 和 Popout 组件的组件都添加入场/退场相关事件 ([5178b00](https://github.com/sutras/sard-uniapp/commit/5178b00e0e4b092304013b5639a7f85c52ba65b3))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
1
27
|
# [1.22.0](https://github.com/sutras/sard-uniapp/compare/v1.21.1...v1.22.0) (2025-07-15)
|
|
2
28
|
|
|
3
29
|
|
package/README.md
CHANGED
|
@@ -71,12 +71,21 @@ import ActionSheet from 'sard-uniapp/components/action-sheet/action-sheet.vue'
|
|
|
71
71
|
|
|
72
72
|
### ActionSheetEmits
|
|
73
73
|
|
|
74
|
-
| 事件
|
|
75
|
-
|
|
|
76
|
-
| update:visible
|
|
77
|
-
| close
|
|
78
|
-
| cancel
|
|
79
|
-
| select
|
|
74
|
+
| 事件 | 描述 | 类型 |
|
|
75
|
+
| ---------------------------------- | --------------------------- | ---------------------------------------------- |
|
|
76
|
+
| update:visible | 动作面板显隐时触发 | (visible: boolean) => void |
|
|
77
|
+
| close | 点击遮罩时触发 | () => void |
|
|
78
|
+
| cancel | 点击取消按钮时触发 | () => void |
|
|
79
|
+
| select | 点击动作按钮时触发 | (item: ActionSheetItem, index: number) => void |
|
|
80
|
+
| visible-hook <sup>1.22.1+</sup> | 入场/退场动画状态改变时触发 | (name: TransitionHookName) => void |
|
|
81
|
+
| before-enter <sup>1.22.1+</sup> | 入场动画开始前触发 | () => void |
|
|
82
|
+
| enter <sup>1.22.1+</sup> | 入场动画开始时触发 | () => void |
|
|
83
|
+
| after-enter <sup>1.22.1+</sup> | 入场动画结束时触发 | () => void |
|
|
84
|
+
| enter-cancelled <sup>1.22.1+</sup> | 入场动画取消时触发 | () => void |
|
|
85
|
+
| before-leave <sup>1.22.1+</sup> | 退场动画开始前触发 | () => void |
|
|
86
|
+
| leave <sup>1.22.1+</sup> | 退场动画开始时触发 | () => void |
|
|
87
|
+
| after-leave <sup>1.22.1+</sup> | 退场动画结束时触发 | () => void |
|
|
88
|
+
| leave-cancelled <sup>1.22.1+</sup> | 退场动画取消时触发 | () => void |
|
|
80
89
|
|
|
81
90
|
## 主题定制
|
|
82
91
|
|
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
declare const _default: import("vue").DefineComponent<ActionSheetProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
"update:visible": (visible: boolean) => any;
|
|
1
|
+
import { type ActionSheetProps } from './common';
|
|
2
|
+
declare const _default: import("vue").DefineComponent<ActionSheetProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
3
|
+
[x: string]: any;
|
|
4
|
+
} & {
|
|
5
|
+
[x: string]: any;
|
|
7
6
|
}, string, import("vue").PublicProps, Readonly<ActionSheetProps> & Readonly<{
|
|
8
|
-
|
|
9
|
-
onClose?: (() => any) | undefined;
|
|
10
|
-
onSelect?: ((item: ActionSheetItem, index: number) => any) | undefined;
|
|
11
|
-
"onUpdate:visible"?: ((visible: boolean) => any) | undefined;
|
|
7
|
+
[x: `on${Capitalize<any>}`]: ((...args: any) => any) | undefined;
|
|
12
8
|
}>, {
|
|
13
9
|
duration: number;
|
|
14
10
|
overlayClosable: boolean;
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
:visible="innerVisible"
|
|
5
5
|
:duration="duration"
|
|
6
6
|
@overlay-click="onOverlayClick"
|
|
7
|
+
@visible-hook="onVisibleHook"
|
|
7
8
|
>
|
|
8
9
|
<view :class="actionSheetClass" :style="actionSheetStyle">
|
|
9
10
|
<view v-if="description" :class="bem.e('description')">
|
|
@@ -76,6 +77,15 @@ import {
|
|
|
76
77
|
* @event {() => void} close 点击遮罩时触发
|
|
77
78
|
* @event {() => void} cancel 点击取消按钮时触发
|
|
78
79
|
* @event {(item: ActionSheetItem, index: number) => void} select 点击动作按钮时触发
|
|
80
|
+
* @event {(name: TransitionHookName) => void} visible-hook 入场/退场动画状态改变时触发
|
|
81
|
+
* @event {() => void} before-enter 入场动画开始前触发
|
|
82
|
+
* @event {() => void} enter 入场动画开始时触发
|
|
83
|
+
* @event {() => void} after-enter 入场动画结束时触发
|
|
84
|
+
* @event {() => void} enter-cancelled 入场动画取消时触发
|
|
85
|
+
* @event {() => void} before-leave 退场动画开始前触发
|
|
86
|
+
* @event {() => void} leave 退场动画开始时触发
|
|
87
|
+
* @event {() => void} after-leave 退场动画结束时触发
|
|
88
|
+
* @event {() => void} leave-cancelled 退场动画取消时触发
|
|
79
89
|
*/
|
|
80
90
|
export default _defineComponent({
|
|
81
91
|
components: {
|
|
@@ -100,7 +110,7 @@ export default _defineComponent({
|
|
|
100
110
|
beforeClose: { type: Function, required: false },
|
|
101
111
|
duration: { type: Number, required: false }
|
|
102
112
|
}, defaultActionSheetProps),
|
|
103
|
-
emits: ["update:visible", "close", "cancel", "select"],
|
|
113
|
+
emits: ["update:visible", "close", "cancel", "select", "before-enter", "enter", "after-enter", "enter-cancelled", "before-leave", "leave", "after-leave", "leave-cancelled", "visible-hook"],
|
|
104
114
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
105
115
|
__expose();
|
|
106
116
|
const props = __props;
|
|
@@ -144,6 +154,10 @@ export default _defineComponent({
|
|
|
144
154
|
emit("cancel");
|
|
145
155
|
perhapsClose("cancel");
|
|
146
156
|
};
|
|
157
|
+
const onVisibleHook = (name) => {
|
|
158
|
+
emit("visible-hook", name);
|
|
159
|
+
emit(name);
|
|
160
|
+
};
|
|
147
161
|
const actionSheetClass = computed(() => {
|
|
148
162
|
return classNames(
|
|
149
163
|
bem.b(),
|
|
@@ -154,7 +168,7 @@ export default _defineComponent({
|
|
|
154
168
|
const actionSheetStyle = computed(() => {
|
|
155
169
|
return stringifyStyle(props.rootStyle);
|
|
156
170
|
});
|
|
157
|
-
const __returned__ = { props, emit, bem, innerVisible, perhapsClose, onOverlayClick, onSelect, onCancel, actionSheetClass, actionSheetStyle, get classNames() {
|
|
171
|
+
const __returned__ = { props, emit, bem, innerVisible, perhapsClose, onOverlayClick, onSelect, onCancel, onVisibleHook, actionSheetClass, actionSheetStyle, get classNames() {
|
|
158
172
|
return classNames;
|
|
159
173
|
}, get stringifyStyle() {
|
|
160
174
|
return stringifyStyle;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type StyleValue } from 'vue';
|
|
2
|
+
import { type TransitionHookEmits } from '../popup/common';
|
|
2
3
|
export interface ActionSheetProps {
|
|
3
4
|
rootStyle?: StyleValue;
|
|
4
5
|
rootClass?: string;
|
|
@@ -14,7 +15,7 @@ export declare const defaultActionSheetProps: {
|
|
|
14
15
|
overlayClosable: boolean;
|
|
15
16
|
duration: number;
|
|
16
17
|
};
|
|
17
|
-
export interface ActionSheetEmits {
|
|
18
|
+
export interface ActionSheetEmits extends TransitionHookEmits {
|
|
18
19
|
(e: 'update:visible', visible: boolean): void;
|
|
19
20
|
(e: 'close'): void;
|
|
20
21
|
(e: 'cancel'): void;
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import { type CalendarType } from '../calendar/common';
|
|
2
2
|
import { type CalendarInputProps, type CalendarInputSlots } from './common';
|
|
3
3
|
declare function __VLS_template(): Readonly<CalendarInputSlots> & CalendarInputSlots;
|
|
4
|
-
declare const __VLS_component: import("vue").DefineComponent<CalendarInputProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
declare const __VLS_component: import("vue").DefineComponent<CalendarInputProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
5
|
+
[x: string]: any;
|
|
6
|
+
} & {
|
|
7
|
+
[x: string]: any;
|
|
8
8
|
}, string, import("vue").PublicProps, Readonly<CalendarInputProps> & Readonly<{
|
|
9
|
-
|
|
10
|
-
onChange?: ((value: string | string[] | Date | Date[] | undefined) => any) | undefined;
|
|
11
|
-
"onUpdate:visible"?: ((visible: boolean) => any) | undefined;
|
|
9
|
+
[x: `on${Capitalize<any>}`]: ((...args: any) => any) | undefined;
|
|
12
10
|
}>, {
|
|
13
11
|
type: CalendarType;
|
|
14
12
|
valueOnClear: () => any;
|
|
@@ -39,6 +39,8 @@
|
|
|
39
39
|
:value-format="valueFormat"
|
|
40
40
|
:validate-event="validateEvent"
|
|
41
41
|
@change="onChange"
|
|
42
|
+
@visible-hook="onVisibleHook"
|
|
43
|
+
@confirm="onConfirm"
|
|
42
44
|
/>
|
|
43
45
|
</sar-popout-input>
|
|
44
46
|
</template>
|
|
@@ -90,6 +92,16 @@ import {
|
|
|
90
92
|
* @property {InputProps} inputProps 自定义输入框组件属性,默认值:-。
|
|
91
93
|
* @event {(visible: boolean) => void} update 弹出框显隐时触发
|
|
92
94
|
* @event {(value: Date | Date[] | string | string[] | undefined) => void} change 日历组件值改变时触发
|
|
95
|
+
* @event {() => void} confirm 点击确定按钮时触发
|
|
96
|
+
* @event {(name: TransitionHookName) => void} visible-hook 入场/退场动画状态改变时触发
|
|
97
|
+
* @event {() => void} before-enter 入场动画开始前触发
|
|
98
|
+
* @event {() => void} enter 入场动画开始时触发
|
|
99
|
+
* @event {() => void} after-enter 入场动画结束时触发
|
|
100
|
+
* @event {() => void} enter-cancelled 入场动画取消时触发
|
|
101
|
+
* @event {() => void} before-leave 退场动画开始前触发
|
|
102
|
+
* @event {() => void} leave 退场动画开始时触发
|
|
103
|
+
* @event {() => void} after-leave 退场动画结束时触发
|
|
104
|
+
* @event {() => void} leave-cancelled 退场动画取消时触发
|
|
93
105
|
*/
|
|
94
106
|
export default _defineComponent({
|
|
95
107
|
components: {
|
|
@@ -140,12 +152,20 @@ export default _defineComponent({
|
|
|
140
152
|
internalArrow: { type: Number, required: false },
|
|
141
153
|
inputProps: { type: Object, required: false }
|
|
142
154
|
}, defaultCalendarInputProps()),
|
|
143
|
-
emits: ["update:visible", "update:model-value", "change"],
|
|
155
|
+
emits: ["update:visible", "update:model-value", "change", "confirm", "before-enter", "enter", "after-enter", "enter-cancelled", "before-leave", "leave", "after-leave", "leave-cancelled", "visible-hook"],
|
|
144
156
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
145
157
|
__expose();
|
|
146
158
|
const props = __props;
|
|
147
159
|
const emit = __emit;
|
|
148
|
-
const {
|
|
160
|
+
const {
|
|
161
|
+
innerVisible,
|
|
162
|
+
innerValue,
|
|
163
|
+
inputValue,
|
|
164
|
+
show,
|
|
165
|
+
onChange,
|
|
166
|
+
onClear,
|
|
167
|
+
onVisibleHook
|
|
168
|
+
} = usePopoutInput(props, emit);
|
|
149
169
|
const { t } = useTranslate("calendar");
|
|
150
170
|
function getOutletTextMayByStr(date) {
|
|
151
171
|
if (isString(date) && props.valueFormat) {
|
|
@@ -188,7 +208,10 @@ export default _defineComponent({
|
|
|
188
208
|
immediate: true
|
|
189
209
|
}
|
|
190
210
|
);
|
|
191
|
-
const
|
|
211
|
+
const onConfirm = () => {
|
|
212
|
+
emit("confirm");
|
|
213
|
+
};
|
|
214
|
+
const __returned__ = { props, emit, innerVisible, innerValue, inputValue, show, onChange, onClear, onVisibleHook, t, getOutletTextMayByStr, getOutletText, getInputValue, onConfirm, SarPopoutInput, SarCalendarPopout };
|
|
192
215
|
return __returned__;
|
|
193
216
|
}
|
|
194
217
|
});
|
|
@@ -93,8 +93,18 @@ import CalendarPopout from 'sard-uniapp/components/calendar-popout/calendar-popo
|
|
|
93
93
|
|
|
94
94
|
### CalendarPopoutEmits
|
|
95
95
|
|
|
96
|
-
| 事件
|
|
97
|
-
|
|
|
98
|
-
| update:model-value
|
|
99
|
-
| change
|
|
100
|
-
| update:visible
|
|
96
|
+
| 事件 | 描述 | 类型 |
|
|
97
|
+
| ---------------------------------- | --------------------------- | ------------------------------------------------------------------ |
|
|
98
|
+
| update:model-value | 日历组件值改变时触发 | (value: Date \| Date[] \| string \| string[] \| undefined) => void |
|
|
99
|
+
| change | 日历组件值改变时触发 | (value: Date \| Date[] \| string \| string[] \| undefined) => void |
|
|
100
|
+
| update:visible | 弹出框显隐时触发 | (visible: boolean) => void |
|
|
101
|
+
| confirm <sup>1.22.1+</sup> | 点击确定按钮时触发 | () => void |
|
|
102
|
+
| visible-hook <sup>1.22.1+</sup> | 入场/退场动画状态改变时触发 | (name: TransitionHookName) => void |
|
|
103
|
+
| before-enter <sup>1.22.1+</sup> | 入场动画开始前触发 | () => void |
|
|
104
|
+
| enter <sup>1.22.1+</sup> | 入场动画开始时触发 | () => void |
|
|
105
|
+
| after-enter <sup>1.22.1+</sup> | 入场动画结束时触发 | () => void |
|
|
106
|
+
| enter-cancelled <sup>1.22.1+</sup> | 入场动画取消时触发 | () => void |
|
|
107
|
+
| before-leave <sup>1.22.1+</sup> | 退场动画开始前触发 | () => void |
|
|
108
|
+
| leave <sup>1.22.1+</sup> | 退场动画开始时触发 | () => void |
|
|
109
|
+
| after-leave <sup>1.22.1+</sup> | 退场动画结束时触发 | () => void |
|
|
110
|
+
| leave-cancelled <sup>1.22.1+</sup> | 退场动画取消时触发 | () => void |
|
|
@@ -3,14 +3,12 @@ declare function __VLS_template(): {
|
|
|
3
3
|
"title-prepend"?(_: {}): any;
|
|
4
4
|
title?(_: {}): any;
|
|
5
5
|
};
|
|
6
|
-
declare const __VLS_component: import("vue").DefineComponent<CalendarPopoutProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
declare const __VLS_component: import("vue").DefineComponent<CalendarPopoutProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
7
|
+
[x: string]: any;
|
|
8
|
+
} & {
|
|
9
|
+
[x: string]: any;
|
|
10
10
|
}, string, import("vue").PublicProps, Readonly<CalendarPopoutProps> & Readonly<{
|
|
11
|
-
|
|
12
|
-
onChange?: ((value: string | string[] | Date | Date[] | undefined) => any) | undefined;
|
|
13
|
-
"onUpdate:visible"?: ((visible: boolean) => any) | undefined;
|
|
11
|
+
[x: `on${Capitalize<any>}`]: ((...args: any) => any) | undefined;
|
|
14
12
|
}>, {
|
|
15
13
|
type: import("../calendar/common.js").CalendarType;
|
|
16
14
|
showConfirm: boolean;
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
:root-class="popoutClass"
|
|
8
8
|
:root-style="popoutStyle"
|
|
9
9
|
@confirm="onConfirm"
|
|
10
|
+
@visible-hook="onVisibleHook"
|
|
10
11
|
>
|
|
11
12
|
<template #title-prepend>
|
|
12
13
|
<slot name="title-prepend"></slot>
|
|
@@ -75,6 +76,16 @@ import { useFormPopout } from "../../use";
|
|
|
75
76
|
* @property {boolean} validateEvent 是否触发表单验证,默认值:true。
|
|
76
77
|
* @event {(visible: boolean) => void} update 弹出框显隐时触发
|
|
77
78
|
* @event {(value: Date | Date[] | string | string[] | undefined) => void} change 日历组件值改变时触发
|
|
79
|
+
* @event {() => void} confirm 点击确定按钮时触发
|
|
80
|
+
* @event {(name: TransitionHookName) => void} visible-hook 入场/退场动画状态改变时触发
|
|
81
|
+
* @event {() => void} before-enter 入场动画开始前触发
|
|
82
|
+
* @event {() => void} enter 入场动画开始时触发
|
|
83
|
+
* @event {() => void} after-enter 入场动画结束时触发
|
|
84
|
+
* @event {() => void} enter-cancelled 入场动画取消时触发
|
|
85
|
+
* @event {() => void} before-leave 退场动画开始前触发
|
|
86
|
+
* @event {() => void} leave 退场动画开始时触发
|
|
87
|
+
* @event {() => void} after-leave 退场动画结束时触发
|
|
88
|
+
* @event {() => void} leave-cancelled 退场动画取消时触发
|
|
78
89
|
*/
|
|
79
90
|
export default _defineComponent({
|
|
80
91
|
components: {
|
|
@@ -114,28 +125,24 @@ export default _defineComponent({
|
|
|
114
125
|
endDateText: { type: String, required: false },
|
|
115
126
|
sameDateText: { type: String, required: false }
|
|
116
127
|
}, defaultCalendarPopoutProps()),
|
|
117
|
-
emits: ["update:visible", "update:model-value", "change"],
|
|
128
|
+
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
129
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
119
130
|
__expose();
|
|
120
131
|
const props = __props;
|
|
121
132
|
const emit = __emit;
|
|
122
|
-
const { innerVisible, popoutValue, onChange, onConfirm } = useFormPopout(
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
if (!props.showConfirm && !confirmDisabled.value) {
|
|
128
|
-
onConfirm();
|
|
129
|
-
innerVisible.value = false;
|
|
130
|
-
}
|
|
133
|
+
const { innerVisible, popoutValue, onChange, onConfirm, onVisibleHook } = useFormPopout(props, emit, {
|
|
134
|
+
onChange() {
|
|
135
|
+
if (!props.showConfirm && !confirmDisabled.value) {
|
|
136
|
+
onConfirm(false);
|
|
137
|
+
innerVisible.value = false;
|
|
131
138
|
}
|
|
132
139
|
}
|
|
133
|
-
);
|
|
140
|
+
});
|
|
134
141
|
const confirmDisabled = computed(() => {
|
|
135
142
|
const value = popoutValue.value;
|
|
136
143
|
return !value || Array.isArray(value) && value.length === 0;
|
|
137
144
|
});
|
|
138
|
-
const __returned__ = { props, emit, innerVisible, popoutValue, onChange, onConfirm, confirmDisabled, SarPopout, SarCalendar };
|
|
145
|
+
const __returned__ = { props, emit, innerVisible, popoutValue, onChange, onConfirm, onVisibleHook, confirmDisabled, SarPopout, SarCalendar };
|
|
139
146
|
return __returned__;
|
|
140
147
|
}
|
|
141
148
|
});
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type StyleValue } from 'vue';
|
|
2
2
|
import { type CalendarProps } from '../calendar/common';
|
|
3
|
+
import { type TransitionHookEmits } from '../popup/common';
|
|
3
4
|
export interface CalendarPopoutProps extends CalendarProps {
|
|
4
5
|
visible?: boolean;
|
|
5
6
|
title?: string;
|
|
@@ -20,10 +21,11 @@ export interface CalendarPopoutSlots {
|
|
|
20
21
|
title?(props: Record<string, never>): any;
|
|
21
22
|
'title-prepend'?(props: Record<string, never>): any;
|
|
22
23
|
}
|
|
23
|
-
export interface CalendarPopoutEmits {
|
|
24
|
+
export interface CalendarPopoutEmits extends TransitionHookEmits {
|
|
24
25
|
(e: 'update:visible', visible: boolean): void;
|
|
25
26
|
(e: 'update:model-value', value: Date | Date[] | string | string[] | undefined): void;
|
|
26
27
|
(e: 'change', value: Date | Date[] | string | string[] | undefined): void;
|
|
28
|
+
(e: 'confirm'): void;
|
|
27
29
|
}
|
|
28
30
|
export interface CalendarPopoutExpose {
|
|
29
31
|
}
|
|
@@ -1,16 +1,11 @@
|
|
|
1
|
-
import { type CascaderOption } from '../cascader/common';
|
|
2
1
|
import { type CascaderInputProps, type CascaderInputSlots } from './common';
|
|
3
2
|
declare function __VLS_template(): Readonly<CascaderInputSlots> & CascaderInputSlots;
|
|
4
|
-
declare const __VLS_component: import("vue").DefineComponent<CascaderInputProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
"update:visible": (visible: boolean) => any;
|
|
3
|
+
declare const __VLS_component: import("vue").DefineComponent<CascaderInputProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
4
|
+
[x: string]: any;
|
|
5
|
+
} & {
|
|
6
|
+
[x: string]: any;
|
|
9
7
|
}, string, import("vue").PublicProps, Readonly<CascaderInputProps> & Readonly<{
|
|
10
|
-
|
|
11
|
-
onChange?: ((value: any, selectedOptions: CascaderOption[]) => any) | undefined;
|
|
12
|
-
onSelect?: ((option: CascaderOption, tabIndex: number) => any) | undefined;
|
|
13
|
-
"onUpdate:visible"?: ((visible: boolean) => any) | undefined;
|
|
8
|
+
[x: `on${Capitalize<any>}`]: ((...args: any) => any) | undefined;
|
|
14
9
|
}>, {
|
|
15
10
|
valueOnClear: () => any;
|
|
16
11
|
showConfirm: boolean;
|
|
@@ -31,6 +31,8 @@
|
|
|
31
31
|
:validate-event="validateEvent"
|
|
32
32
|
@select="(option, tabIndex) => $emit('select', option, tabIndex)"
|
|
33
33
|
@change="onChange"
|
|
34
|
+
@visible-hook="onVisibleHook"
|
|
35
|
+
@confirm="onConfirm"
|
|
34
36
|
>
|
|
35
37
|
<template #top="{ tabIndex }">
|
|
36
38
|
<slot name="top" :tab-index="tabIndex"></slot>
|
|
@@ -80,6 +82,16 @@ import {
|
|
|
80
82
|
* @event {(visible: boolean) => void} update 弹出框显隐时触发
|
|
81
83
|
* @event {(value: string | number, selectedOptions: CascaderOption[]) => void} change 级联输入组件值改变时触发
|
|
82
84
|
* @event {(option: CascaderOption, tabIndex: number) => void} select 选择级联选择某一项时触发
|
|
85
|
+
* @event {() => void} confirm 点击确定按钮时触发
|
|
86
|
+
* @event {(name: TransitionHookName) => void} visible-hook 入场/退场动画状态改变时触发
|
|
87
|
+
* @event {() => void} before-enter 入场动画开始前触发
|
|
88
|
+
* @event {() => void} enter 入场动画开始时触发
|
|
89
|
+
* @event {() => void} after-enter 入场动画结束时触发
|
|
90
|
+
* @event {() => void} enter-cancelled 入场动画取消时触发
|
|
91
|
+
* @event {() => void} before-leave 退场动画开始前触发
|
|
92
|
+
* @event {() => void} leave 退场动画开始时触发
|
|
93
|
+
* @event {() => void} after-leave 退场动画结束时触发
|
|
94
|
+
* @event {() => void} leave-cancelled 退场动画取消时触发
|
|
83
95
|
*/
|
|
84
96
|
export default _defineComponent({
|
|
85
97
|
components: {
|
|
@@ -120,12 +132,20 @@ export default _defineComponent({
|
|
|
120
132
|
internalArrow: { type: Number, required: false },
|
|
121
133
|
inputProps: { type: Object, required: false }
|
|
122
134
|
}, defaultCascaderInputProps()),
|
|
123
|
-
emits: ["update:visible", "update:model-value", "change", "select"],
|
|
135
|
+
emits: ["update:visible", "update:model-value", "change", "select", "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 {
|
|
140
|
+
const {
|
|
141
|
+
innerVisible,
|
|
142
|
+
innerValue,
|
|
143
|
+
inputValue,
|
|
144
|
+
show,
|
|
145
|
+
onChange,
|
|
146
|
+
onClear,
|
|
147
|
+
onVisibleHook
|
|
148
|
+
} = usePopoutInput(props, emit, {
|
|
129
149
|
onClear(value) {
|
|
130
150
|
emit("update:model-value", value, []);
|
|
131
151
|
emit("change", value, []);
|
|
@@ -161,7 +181,10 @@ export default _defineComponent({
|
|
|
161
181
|
immediate: true
|
|
162
182
|
}
|
|
163
183
|
);
|
|
164
|
-
const
|
|
184
|
+
const onConfirm = () => {
|
|
185
|
+
emit("confirm");
|
|
186
|
+
};
|
|
187
|
+
const __returned__ = { props, emit, innerVisible, innerValue, inputValue, show, onChange, onClear, onVisibleHook, fieldkeys, getOutletText, getInputValue, onConfirm, SarPopoutInput, SarCascaderPopout };
|
|
165
188
|
return __returned__;
|
|
166
189
|
}
|
|
167
190
|
});
|
|
@@ -45,9 +45,19 @@ import CascaderPopout from 'sard-uniapp/components/cascader-popout/cascader-popo
|
|
|
45
45
|
|
|
46
46
|
### CascaderPopoutEmits
|
|
47
47
|
|
|
48
|
-
| 事件
|
|
49
|
-
|
|
|
50
|
-
| update:model-value
|
|
51
|
-
| change
|
|
52
|
-
| select
|
|
53
|
-
| update:visible
|
|
48
|
+
| 事件 | 描述 | 类型 |
|
|
49
|
+
| ---------------------------------- | --------------------------- | -------------------------------------------------------------------- |
|
|
50
|
+
| update:model-value | 级联输入组件值改变时触发 | (value: string \| number, selectedOptions: CascaderOption[]) => void |
|
|
51
|
+
| change | 级联输入组件值改变时触发 | (value: string \| number, selectedOptions: CascaderOption[]) => void |
|
|
52
|
+
| select | 选择级联选择某一项时触发 | (option: CascaderOption, tabIndex: number) => void |
|
|
53
|
+
| update:visible | 弹出框显隐时触发 | (visible: boolean) => void |
|
|
54
|
+
| confirm <sup>1.22.1+</sup> | 点击确定按钮时触发 | () => void |
|
|
55
|
+
| visible-hook <sup>1.22.1+</sup> | 入场/退场动画状态改变时触发 | (name: TransitionHookName) => void |
|
|
56
|
+
| before-enter <sup>1.22.1+</sup> | 入场动画开始前触发 | () => void |
|
|
57
|
+
| enter <sup>1.22.1+</sup> | 入场动画开始时触发 | () => void |
|
|
58
|
+
| after-enter <sup>1.22.1+</sup> | 入场动画结束时触发 | () => void |
|
|
59
|
+
| enter-cancelled <sup>1.22.1+</sup> | 入场动画取消时触发 | () => void |
|
|
60
|
+
| before-leave <sup>1.22.1+</sup> | 退场动画开始前触发 | () => void |
|
|
61
|
+
| leave <sup>1.22.1+</sup> | 退场动画开始时触发 | () => void |
|
|
62
|
+
| after-leave <sup>1.22.1+</sup> | 退场动画结束时触发 | () => void |
|
|
63
|
+
| leave-cancelled <sup>1.22.1+</sup> | 退场动画取消时触发 | () => void |
|
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
import { type CascaderPopoutProps, type CascaderPopoutSlots } from './common';
|
|
2
2
|
declare function __VLS_template(): Readonly<CascaderPopoutSlots> & CascaderPopoutSlots;
|
|
3
|
-
declare const __VLS_component: import("vue").DefineComponent<CascaderPopoutProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
"update:visible": (visible: boolean) => any;
|
|
3
|
+
declare const __VLS_component: import("vue").DefineComponent<CascaderPopoutProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
4
|
+
[x: string]: any;
|
|
5
|
+
} & {
|
|
6
|
+
[x: string]: any;
|
|
8
7
|
}, string, import("vue").PublicProps, Readonly<CascaderPopoutProps> & Readonly<{
|
|
9
|
-
|
|
10
|
-
onChange?: ((value: any, selectedOptions: import("../cascader/common.js").CascaderOption[]) => any) | undefined;
|
|
11
|
-
onSelect?: ((option: import("../cascader/common.js").CascaderOption, tabIndex: number) => any) | undefined;
|
|
12
|
-
"onUpdate:visible"?: ((visible: boolean) => any) | undefined;
|
|
8
|
+
[x: `on${Capitalize<any>}`]: ((...args: any) => any) | undefined;
|
|
13
9
|
}>, {
|
|
14
10
|
showConfirm: boolean;
|
|
15
11
|
validateEvent: boolean;
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
:root-class="popoutClass"
|
|
7
7
|
:root-style="popoutStyle"
|
|
8
8
|
@confirm="onConfirm"
|
|
9
|
+
@visible-hook="onVisibleHook"
|
|
9
10
|
>
|
|
10
11
|
<template #visible="{ already }">
|
|
11
12
|
<sar-cascader
|
|
@@ -54,6 +55,16 @@ import { useFormPopout } from "../../use";
|
|
|
54
55
|
* @event {(visible: boolean) => void} update 弹出框显隐时触发
|
|
55
56
|
* @event {(value: string | number, selectedOptions: CascaderOption[]) => void} change 级联输入组件值改变时触发
|
|
56
57
|
* @event {(option: CascaderOption, tabIndex: number) => void} select 选择级联选择某一项时触发
|
|
58
|
+
* @event {() => void} confirm 点击确定按钮时触发
|
|
59
|
+
* @event {(name: TransitionHookName) => void} visible-hook 入场/退场动画状态改变时触发
|
|
60
|
+
* @event {() => void} before-enter 入场动画开始前触发
|
|
61
|
+
* @event {() => void} enter 入场动画开始时触发
|
|
62
|
+
* @event {() => void} after-enter 入场动画结束时触发
|
|
63
|
+
* @event {() => void} enter-cancelled 入场动画取消时触发
|
|
64
|
+
* @event {() => void} before-leave 退场动画开始前触发
|
|
65
|
+
* @event {() => void} leave 退场动画开始时触发
|
|
66
|
+
* @event {() => void} after-leave 退场动画结束时触发
|
|
67
|
+
* @event {() => void} leave-cancelled 退场动画取消时触发
|
|
57
68
|
*/
|
|
58
69
|
export default _defineComponent({
|
|
59
70
|
components: {
|
|
@@ -83,24 +94,20 @@ export default _defineComponent({
|
|
|
83
94
|
labelRender: { type: Function, required: false },
|
|
84
95
|
changeOnSelect: { type: Boolean, required: false }
|
|
85
96
|
}, defaultCascaderPopoutProps),
|
|
86
|
-
emits: ["update:visible", "update:model-value", "change", "select"],
|
|
97
|
+
emits: ["update:visible", "update:model-value", "change", "select", "confirm", "before-enter", "enter", "after-enter", "enter-cancelled", "before-leave", "leave", "after-leave", "leave-cancelled", "visible-hook"],
|
|
87
98
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
88
99
|
__expose();
|
|
89
100
|
const props = __props;
|
|
90
101
|
const emit = __emit;
|
|
91
|
-
const { innerVisible, popoutValue, onChange, onConfirm } = useFormPopout(
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
if (!props.showConfirm && !isEmptyBinding(popoutValue.value)) {
|
|
97
|
-
onConfirm();
|
|
98
|
-
innerVisible.value = false;
|
|
99
|
-
}
|
|
102
|
+
const { innerVisible, popoutValue, onChange, onConfirm, onVisibleHook } = useFormPopout(props, emit, {
|
|
103
|
+
onChange() {
|
|
104
|
+
if (!props.showConfirm && !isEmptyBinding(popoutValue.value)) {
|
|
105
|
+
onConfirm(false);
|
|
106
|
+
innerVisible.value = false;
|
|
100
107
|
}
|
|
101
108
|
}
|
|
102
|
-
);
|
|
103
|
-
const __returned__ = { props, emit, innerVisible, popoutValue, onChange, onConfirm, SarPopout, SarCascader };
|
|
109
|
+
});
|
|
110
|
+
const __returned__ = { props, emit, innerVisible, popoutValue, onChange, onConfirm, onVisibleHook, SarPopout, SarCascader };
|
|
104
111
|
return __returned__;
|
|
105
112
|
}
|
|
106
113
|
});
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type StyleValue } from 'vue';
|
|
2
2
|
import { type CascaderOption, type CascaderProps } from '../cascader/common';
|
|
3
|
+
import { type TransitionHookEmits } from '../popup/common';
|
|
3
4
|
export interface CascaderPopoutProps extends CascaderProps {
|
|
4
5
|
visible?: boolean;
|
|
5
6
|
title?: string;
|
|
@@ -17,11 +18,12 @@ export interface CascaderPopoutSlots {
|
|
|
17
18
|
tabIndex: number;
|
|
18
19
|
}): any;
|
|
19
20
|
}
|
|
20
|
-
export interface CascaderPopoutEmits {
|
|
21
|
+
export interface CascaderPopoutEmits extends TransitionHookEmits {
|
|
21
22
|
(e: 'update:visible', visible: boolean): void;
|
|
22
23
|
(e: 'update:model-value', value: any, selectedOptions: CascaderOption[]): void;
|
|
23
24
|
(e: 'change', value: any, selectedOptions: CascaderOption[]): void;
|
|
24
25
|
(e: 'select', option: CascaderOption, tabIndex: number): void;
|
|
26
|
+
(e: 'confirm'): void;
|
|
25
27
|
}
|
|
26
28
|
export interface CascaderPopoutExpose {
|
|
27
29
|
}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import { type CheckboxInputProps, type CheckboxInputSlots } from './common';
|
|
2
2
|
declare function __VLS_template(): Readonly<CheckboxInputSlots> & CheckboxInputSlots;
|
|
3
|
-
declare const __VLS_component: import("vue").DefineComponent<CheckboxInputProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
declare const __VLS_component: import("vue").DefineComponent<CheckboxInputProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
4
|
+
[x: string]: any;
|
|
5
|
+
} & {
|
|
6
|
+
[x: string]: any;
|
|
7
7
|
}, string, import("vue").PublicProps, Readonly<CheckboxInputProps> & Readonly<{
|
|
8
|
-
|
|
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
|
valueOnClear: () => any;
|