sard-uniapp 1.22.0 → 1.22.1

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 (65) hide show
  1. package/CHANGELOG.md +10 -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/picker-input/picker-input.d.ts +6 -8
  44. package/components/picker-input/picker-input.vue +26 -3
  45. package/components/picker-popout/README.md +15 -5
  46. package/components/picker-popout/common.d.ts +3 -1
  47. package/components/picker-popout/picker-popout.d.ts +6 -8
  48. package/components/picker-popout/picker-popout.vue +21 -3
  49. package/components/popout/popout.d.ts +1 -1
  50. package/components/radio-input/radio-input.d.ts +5 -7
  51. package/components/radio-input/radio-input.vue +26 -3
  52. package/components/radio-popout/README.md +15 -5
  53. package/components/radio-popout/common.d.ts +3 -1
  54. package/components/radio-popout/radio-popout.d.ts +5 -7
  55. package/components/radio-popout/radio-popout.vue +14 -6
  56. package/components/rate/rate.d.ts +1 -1
  57. package/components/share-sheet/README.md +15 -6
  58. package/components/share-sheet/common.d.ts +2 -1
  59. package/components/share-sheet/share-sheet.d.ts +6 -10
  60. package/components/share-sheet/share-sheet.vue +16 -2
  61. package/package.json +2 -2
  62. package/use/useFormPopout.d.ts +6 -2
  63. package/use/useFormPopout.js +9 -1
  64. package/use/usePopoutInput.d.ts +4 -1
  65. package/use/usePopoutInput.js +5 -0
@@ -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="shareSheetClass" :style="shareSheetStyle">
9
10
  <view v-if="title || description" :class="bem.e('header')">
@@ -105,6 +106,15 @@ import {
105
106
  * @event {() => void} close 点击遮罩时触发
106
107
  * @event {() => void} cancel 点击取消按钮时触发
107
108
  * @event {(item: ShareSheetItem) => void} select 点击分享项时触发
109
+ * @event {(name: TransitionHookName) => void} visible-hook 入场/退场动画状态改变时触发
110
+ * @event {() => void} before-enter 入场动画开始前触发
111
+ * @event {() => void} enter 入场动画开始时触发
112
+ * @event {() => void} after-enter 入场动画结束时触发
113
+ * @event {() => void} enter-cancelled 入场动画取消时触发
114
+ * @event {() => void} before-leave 退场动画开始前触发
115
+ * @event {() => void} leave 退场动画开始时触发
116
+ * @event {() => void} after-leave 退场动画结束时触发
117
+ * @event {() => void} leave-cancelled 退场动画取消时触发
108
118
  */
109
119
  export default _defineComponent({
110
120
  components: {
@@ -130,7 +140,7 @@ export default _defineComponent({
130
140
  beforeClose: { type: Function, required: false },
131
141
  duration: { type: Number, required: false }
132
142
  }, defaultShareSheetProps),
133
- emits: ["update:visible", "close", "cancel", "select"],
143
+ emits: ["update:visible", "close", "cancel", "select", "before-enter", "enter", "after-enter", "enter-cancelled", "before-leave", "leave", "after-leave", "leave-cancelled", "visible-hook"],
134
144
  setup(__props, { expose: __expose, emit: __emit }) {
135
145
  __expose();
136
146
  const props = __props;
@@ -184,6 +194,10 @@ export default _defineComponent({
184
194
  emit("cancel");
185
195
  perhapsClose("cancel");
186
196
  };
197
+ const onVisibleHook = (name) => {
198
+ emit("visible-hook", name);
199
+ emit(name);
200
+ };
187
201
  const isImg = (url) => {
188
202
  return typeof url === "string" && isFileUrl(url);
189
203
  };
@@ -193,7 +207,7 @@ export default _defineComponent({
193
207
  const shareSheetStyle = computed(() => {
194
208
  return stringifyStyle(props.rootStyle);
195
209
  });
196
- const __returned__ = { props, emit, bem, finalItemList, innerVisible, perhapsClose, onOverlayClick, onSelect, onCancel, isImg, shareSheetClass, shareSheetStyle, get classNames() {
210
+ const __returned__ = { props, emit, bem, finalItemList, innerVisible, perhapsClose, onOverlayClick, onSelect, onCancel, onVisibleHook, isImg, shareSheetClass, shareSheetStyle, get classNames() {
197
211
  return classNames;
198
212
  }, get stringifyStyle() {
199
213
  return stringifyStyle;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "id": "sard-uniapp",
3
3
  "name": "sard-uniapp",
4
4
  "displayName": "sard-uniapp",
5
- "version": "1.22.0",
5
+ "version": "1.22.1",
6
6
  "description": "sard-uniapp 是一套基于 Uniapp + Vue3 框架开发的兼容多端的 UI 组件库",
7
7
  "main": "index.js",
8
8
  "scripts": {
@@ -123,7 +123,7 @@
123
123
  "lodash-es": "^4.17.21",
124
124
  "prettier": "^3.5.3",
125
125
  "region-data": "^1.2.3",
126
- "sard-cli": "^1.3.4",
126
+ "sard-cli": "^1.3.5",
127
127
  "sass": "^1.69.7",
128
128
  "tailwindcss": "^3.4.17",
129
129
  "tel-area-code": "^1.1.0",
@@ -1,12 +1,15 @@
1
+ import { type TransitionHookName } from './useTransition';
2
+ import { type TransitionHookEmits } from '../components/popup/common';
1
3
  export interface UseFormPopoutProps {
2
4
  visible?: boolean;
3
5
  modelValue?: any;
4
6
  validateEvent?: boolean;
5
7
  }
6
- export interface UseFormPopoutEmits {
8
+ export interface UseFormPopoutEmits extends TransitionHookEmits {
7
9
  (e: 'update:visible', visible: boolean): void;
8
10
  (e: 'update:model-value', ...args: any[]): void;
9
11
  (e: 'change', ...args: any[]): void;
12
+ (e: 'confirm'): void;
10
13
  }
11
14
  export declare function useFormPopout(props: UseFormPopoutProps, emit: UseFormPopoutEmits, options?: {
12
15
  onChange?: (...args: any[]) => void;
@@ -16,5 +19,6 @@ export declare function useFormPopout(props: UseFormPopoutProps, emit: UseFormPo
16
19
  innerValue: import("vue").Ref<any, any>;
17
20
  popoutValue: import("vue").Ref<any, any>;
18
21
  onChange: (value: any, ...args: any[]) => void;
19
- onConfirm: () => void;
22
+ onConfirm: (showConfirm?: boolean) => void;
23
+ onVisibleHook: (name: TransitionHookName) => void;
20
24
  };
@@ -23,7 +23,10 @@ export function useFormPopout(props, emit, options = {}) {
23
23
  restArgs = args;
24
24
  options.onChange?.(value, ...args);
25
25
  };
26
- const onConfirm = () => {
26
+ const onConfirm = (showConfirm = true) => {
27
+ if (showConfirm) {
28
+ emit('confirm');
29
+ }
27
30
  const extraArgs = options.onConfirmBefore?.();
28
31
  if (extraArgs) {
29
32
  restArgs = extraArgs;
@@ -35,11 +38,16 @@ export function useFormPopout(props, emit, options = {}) {
35
38
  emit('change', ...args);
36
39
  }
37
40
  };
41
+ const onVisibleHook = (name) => {
42
+ emit('visible-hook', name);
43
+ emit(name);
44
+ };
38
45
  return {
39
46
  innerVisible: visible,
40
47
  innerValue,
41
48
  popoutValue,
42
49
  onChange,
43
50
  onConfirm,
51
+ onVisibleHook,
44
52
  };
45
53
  }
@@ -1,9 +1,11 @@
1
+ import { type TransitionHookName } from './useTransition';
2
+ import { type TransitionHookEmits } from '../components/popup/common';
1
3
  export interface UsePopoutInputProps {
2
4
  visible?: boolean;
3
5
  modelValue?: any;
4
6
  valueOnClear?: () => any;
5
7
  }
6
- export interface UsePopoutInputEmits {
8
+ export interface UsePopoutInputEmits extends TransitionHookEmits {
7
9
  (e: 'update:visible', visible: boolean): void;
8
10
  (e: 'update:model-value', ...args: any[]): void;
9
11
  (e: 'change', ...args: any[]): void;
@@ -17,4 +19,5 @@ export declare function usePopoutInput(props: UsePopoutInputProps, emit: UsePopo
17
19
  show: () => void;
18
20
  onChange: (...args: any[]) => void;
19
21
  onClear: () => void;
22
+ onVisibleHook: (name: TransitionHookName) => void;
20
23
  };
@@ -8,6 +8,10 @@ export function usePopoutInput(props, emit, options = {}) {
8
8
  const show = () => {
9
9
  visible.value = true;
10
10
  };
11
+ const onVisibleHook = (name) => {
12
+ emit('visible-hook', name);
13
+ emit(name);
14
+ };
11
15
  // value
12
16
  const innerValue = ref(props.modelValue);
13
17
  const getValueOnClear = () => (props.valueOnClear || defaultConfig.valueOnClear || defaultValueOnClear)();
@@ -38,5 +42,6 @@ export function usePopoutInput(props, emit, options = {}) {
38
42
  show,
39
43
  onChange,
40
44
  onClear,
45
+ onVisibleHook,
41
46
  };
42
47
  }