sard 1.0.12 → 1.0.13

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 (36) hide show
  1. package/README.md +6 -7
  2. package/components/action-sheet/action-sheet.vue.d.ts +1 -0
  3. package/components/action-sheet/action-sheet.vue.js +11 -1
  4. package/components/action-sheet/common.d.ts +1 -0
  5. package/components/action-sheet/common.js +4 -1
  6. package/components/crop-image/common.d.ts +1 -0
  7. package/components/crop-image/common.js +2 -1
  8. package/components/crop-image/crop-image.vue.d.ts +1 -0
  9. package/components/crop-image/crop-image.vue.js +10 -1
  10. package/components/dialog/common.d.ts +1 -0
  11. package/components/dialog/common.js +2 -1
  12. package/components/dialog/dialog.vue.d.ts +1 -0
  13. package/components/dialog/dialog.vue.js +14 -1
  14. package/components/index.js +2 -1
  15. package/components/popout/common.d.ts +1 -0
  16. package/components/popout/common.js +2 -1
  17. package/components/popout/popout.vue.d.ts +1 -0
  18. package/components/popout/popout.vue.js +11 -1
  19. package/components/popup/common.d.ts +2 -0
  20. package/components/popup/index.d.ts +1 -0
  21. package/components/popup/index.js +2 -1
  22. package/components/popup/popup-manager.d.ts +15 -0
  23. package/components/popup/popup-manager.js +25 -0
  24. package/components/popup/popup.vue.d.ts +3 -0
  25. package/components/popup/popup.vue.js +16 -1
  26. package/components/preview-image/common.d.ts +1 -0
  27. package/components/preview-image/common.js +2 -1
  28. package/components/preview-image/preview-image.vue.d.ts +1 -0
  29. package/components/preview-image/preview-image.vue.js +14 -1
  30. package/components/pull-down-refresh/pull-down-refresh.vue.js +1 -1
  31. package/components/share-sheet/common.d.ts +1 -0
  32. package/components/share-sheet/common.js +4 -1
  33. package/components/share-sheet/share-sheet.vue.d.ts +1 -0
  34. package/components/share-sheet/share-sheet.vue.js +14 -2
  35. package/index.js +2 -1
  36. package/package.json +1 -1
package/README.md CHANGED
@@ -123,13 +123,12 @@ npm run publish
123
123
  4. 暂存 `git add .`
124
124
  5. 提交 `git commit -m 'fix: '`
125
125
  6. 给提交打标签 `npm run tag`
126
- 7. 生成 changelog `npm run changelog`
127
- 8. 暂存、提交 changelog `git commit -a -m 'chore: changelog'`
128
- 9. 打包组件库 `npm run build:sard`
129
- 10. 发布到 npm `npm run publish:sard`
130
- 11. 推送代码和标签 `npm run push`
131
- 12. 打包文档 `npm run build:site`
132
- 13. 部署文档 `npm run deploy`
126
+ 7. 生成 changelog 并暂存、提交 `npm run changelog && git commit -a -m 'chore: changelog'`
127
+ 8. 打包组件库 `npm run build:sard`
128
+ 9. 发布到 npm `npm run publish:sard`
129
+ 10. 推送代码和标签 `npm run push`
130
+ 11. 打包文档 `npm run build:site`
131
+ 12. 部署文档 `npm run deploy`
133
132
 
134
133
  ## 新增组件流程
135
134
 
@@ -33,6 +33,7 @@ declare const __VLS_base: import("vue").DefineComponent<ActionSheetProps, {}, {}
33
33
  cancel: string;
34
34
  visible: boolean;
35
35
  overlayClosable: boolean;
36
+ closeOnBackPress: boolean;
36
37
  description: string;
37
38
  itemList: ActionSheetItemProps[];
38
39
  showCancel: boolean;
@@ -42,6 +42,10 @@ var action_sheet_default = /*@__PURE__*/ defineComponent({
42
42
  internalContext: {
43
43
  type: Object,
44
44
  required: false
45
+ },
46
+ closeOnBackPress: {
47
+ type: Boolean,
48
+ required: false
45
49
  }
46
50
  }, defaultActionSheetProps),
47
51
  emits: [
@@ -112,6 +116,10 @@ var action_sheet_default = /*@__PURE__*/ defineComponent({
112
116
  perhapsClose("close");
113
117
  }
114
118
  };
119
+ const onBackPress = () => {
120
+ emit("close");
121
+ perhapsClose("close");
122
+ };
115
123
  const onSelect = (item, index) => {
116
124
  if (!item.disabled && !item.loading) {
117
125
  item = { ...item };
@@ -135,7 +143,9 @@ var action_sheet_default = /*@__PURE__*/ defineComponent({
135
143
  return openBlock(), createBlock(popup_default, {
136
144
  effect: "slide-bottom",
137
145
  visible: innerVisible.value,
146
+ "close-on-back-press": __props.closeOnBackPress,
138
147
  onOverlayClick,
148
+ onBackPress,
139
149
  onVisibleHook
140
150
  }, {
141
151
  default: withCtx(() => [createElementVNode("div", { class: normalizeClass(actionSheetClass.value) }, [
@@ -152,7 +162,7 @@ var action_sheet_default = /*@__PURE__*/ defineComponent({
152
162
  }, [renderSlot(_ctx.$slots, "cancel", {}, () => [createTextVNode(toDisplayString(__props.cancel || unref(t)("cancel")), 1)])], 2)], 64)) : createCommentVNode("v-if", true)
153
163
  ], 2)]),
154
164
  _: 3
155
- }, 8, ["visible"]);
165
+ }, 8, ["visible", "close-on-back-press"]);
156
166
  };
157
167
  }
158
168
  });
@@ -22,6 +22,7 @@ export interface ActionSheetProps {
22
22
  overlayClosable?: boolean;
23
23
  beforeClose?: ActionSheetBeforeClose;
24
24
  internalContext?: UseActionSheetReturn;
25
+ closeOnBackPress?: boolean;
25
26
  }
26
27
  export declare const defaultActionSheetProps: DefaultProps<ActionSheetProps>;
27
28
  export interface ActionSheetEmits extends MotionEmits {
@@ -1,4 +1,7 @@
1
1
  //#region packages/sard/components/action-sheet/common.ts
2
- const defaultActionSheetProps = { overlayClosable: true };
2
+ const defaultActionSheetProps = {
3
+ overlayClosable: true,
4
+ closeOnBackPress: true
5
+ };
3
6
  //#endregion
4
7
  export { defaultActionSheetProps };
@@ -16,6 +16,7 @@ export interface CropImageProps {
16
16
  beforeCrop?: (width: number, height: number) => number;
17
17
  cancelText?: string;
18
18
  confirmText?: string;
19
+ closeOnBackPress?: boolean;
19
20
  }
20
21
  export declare const defaultCropImageProps: DefaultProps<CropImageProps>;
21
22
  export interface CropImageSlots {
@@ -2,7 +2,8 @@
2
2
  const defaultCropImageProps = {
3
3
  cropScale: "1:1",
4
4
  type: "image/png",
5
- quality: .92
5
+ quality: .92,
6
+ closeOnBackPress: true
6
7
  };
7
8
  //#endregion
8
9
  export { defaultCropImageProps };
@@ -28,6 +28,7 @@ declare const __VLS_base: import("vue").DefineComponent<CropImageProps, CropImag
28
28
  cancel: () => void;
29
29
  type: string;
30
30
  visible: boolean;
31
+ closeOnBackPress: boolean;
31
32
  success: (dataURL: string, info: {
32
33
  width: number;
33
34
  height: number;
@@ -68,6 +68,10 @@ var crop_image_default = /*@__PURE__*/ defineComponent({
68
68
  confirmText: {
69
69
  type: String,
70
70
  required: false
71
+ },
72
+ closeOnBackPress: {
73
+ type: Boolean,
74
+ required: false
71
75
  }
72
76
  }, defaultCropImageProps),
73
77
  emits: [
@@ -95,6 +99,9 @@ var crop_image_default = /*@__PURE__*/ defineComponent({
95
99
  innerVisible.value = false;
96
100
  emit("update:visible", false);
97
101
  };
102
+ const onBackPress = () => {
103
+ close();
104
+ };
98
105
  const onVisibleHook = (name, el) => {
99
106
  emit("visible-hook", name, el);
100
107
  emit(name, el);
@@ -454,6 +461,8 @@ var crop_image_default = /*@__PURE__*/ defineComponent({
454
461
  effect: "full-fade",
455
462
  visible: __props.visible,
456
463
  overlay: false,
464
+ "close-on-back-press": __props.closeOnBackPress,
465
+ onBackPress,
457
466
  onVisibleHook
458
467
  }, {
459
468
  default: withCtx(() => [createElementVNode("div", { class: normalizeClass(cropImageClass.value) }, [
@@ -527,7 +536,7 @@ var crop_image_default = /*@__PURE__*/ defineComponent({
527
536
  class: normalizeClass(unref(bem).e("loading"))
528
537
  }, [createVNode(loading_default)], 2)) : createCommentVNode("v-if", true)]),
529
538
  _: 1
530
- }, 8, ["visible"]);
539
+ }, 8, ["visible", "close-on-back-press"]);
531
540
  };
532
541
  }
533
542
  });
@@ -20,6 +20,7 @@ export interface DialogProps {
20
20
  beforeClose?: DialogBeforeClose;
21
21
  cancelProps?: ButtonProps;
22
22
  confirmProps?: ButtonProps;
23
+ closeOnBackPress?: boolean;
23
24
  }
24
25
  export declare const defaultDialogProps: DefaultProps<DialogProps>;
25
26
  export interface DialogSlots {
@@ -4,7 +4,8 @@ const defaultDialogProps = {
4
4
  buttonType: "round",
5
5
  showCancel: true,
6
6
  showConfirm: true,
7
- overlayClosable: true
7
+ overlayClosable: true,
8
+ closeOnBackPress: true
8
9
  };
9
10
  //#endregion
10
11
  export { defaultDialogProps };
@@ -34,6 +34,7 @@ declare const __VLS_base: import("vue").DefineComponent<DialogProps, {}, {}, {},
34
34
  title: string;
35
35
  visible: boolean;
36
36
  overlayClosable: boolean;
37
+ closeOnBackPress: boolean;
37
38
  message: string;
38
39
  showCancel: boolean;
39
40
  beforeClose: import("./common").DialogBeforeClose;
@@ -62,6 +62,10 @@ var dialog_default = /*@__PURE__*/ defineComponent({
62
62
  confirmProps: {
63
63
  type: Object,
64
64
  required: false
65
+ },
66
+ closeOnBackPress: {
67
+ type: Boolean,
68
+ required: false
65
69
  }
66
70
  }, defaultDialogProps),
67
71
  emits: [
@@ -132,6 +136,9 @@ var dialog_default = /*@__PURE__*/ defineComponent({
132
136
  const onOverlayClick = () => {
133
137
  if (props.overlayClosable) perhapsClose("close");
134
138
  };
139
+ const onBackPress = () => {
140
+ perhapsClose("close");
141
+ };
135
142
  const onClose = () => {
136
143
  perhapsClose("close");
137
144
  };
@@ -186,7 +193,9 @@ var dialog_default = /*@__PURE__*/ defineComponent({
186
193
  effect: "zoom",
187
194
  visible: __props.visible,
188
195
  class: normalizeClass(unref(bem).e("popup")),
196
+ "close-on-back-press": __props.closeOnBackPress,
189
197
  onOverlayClick,
198
+ onBackPress,
190
199
  onVisibleHook
191
200
  }, {
192
201
  default: withCtx(() => [createElementVNode("div", { class: normalizeClass(dialogClass.value) }, [
@@ -265,7 +274,11 @@ var dialog_default = /*@__PURE__*/ defineComponent({
265
274
  ], 2)
266
275
  ], 2)]),
267
276
  _: 3
268
- }, 8, ["visible", "class"]);
277
+ }, 8, [
278
+ "visible",
279
+ "class",
280
+ "close-on-back-press"
281
+ ]);
269
282
  };
270
283
  }
271
284
  });
@@ -1,5 +1,6 @@
1
1
  import { useInPopup, usePopupEnter, usePopupVisibleHookProvide } from "./popup/common.js";
2
2
  import { Accordion, AccordionItem } from "./accordion/index.js";
3
+ import { popupManager } from "./popup/popup-manager.js";
3
4
  import { actionSheet, createActionSheet } from "./action-sheet/imperative.js";
4
5
  import { ActionSheet, ActionSheetItem } from "./action-sheet/index.js";
5
6
  import { Alert } from "./alert/index.js";
@@ -139,4 +140,4 @@ import { Tree, TreeBranch, TreeNode } from "./tree/index.js";
139
140
  import { Upload, UploadPreview } from "./upload/index.js";
140
141
  import { Waterfall, WaterfallItem, WaterfallLoad } from "./waterfall/index.js";
141
142
  import { Watermark } from "./watermark/index.js";
142
- export { ADD_SWIPER_CONTEXT_KEY, Accordion, AccordionItem, ActionSheet, ActionSheetItem, Alert, Avatar, AvatarGroup, BackTop, Badge, Barcode, Button, Calendar, CalendarInput, CalendarPopout, Card, Cascader, CascaderInput, CascaderPopout, Checkbox, CheckboxGroup, CheckboxInput, CheckboxPopout, Col, Collapse, ColorPicker, ColorPickerInput, ColorPickerPopout, Compact, CoolIcon, CountDown, CountTo, CropImage, DateStrip, DatetimePicker, DatetimePickerInput, DatetimePickerPopout, DatetimeRangePicker, DatetimeRangePickerInput, DatetimeRangePickerPopout, Descriptions, DescriptionsItem, Dialog, Divider, Dnd, DndHandle, DndItem, Dropdown, DropdownItem, Ellipsis, Empty, Fab, FabItem, FloatingBubble, FloatingPanel, Form, FormItem, FormItemPlain, FormPlain, Grid, GridItem, Image, Indexes, IndexesAnchor, IndexesNav, InfiniteList, Input, Keyboard, KeyboardPopout, List, ListItem, LoadMore, Loading, Marquee, Menu, MenuItem, Motion, Navbar, NavbarItem, NavbarPit, NoticeBar, Notify, Overlay, Pagination, PasswordInput, Picker, PickerInput, PickerPopout, PickerView, PickerViewColumn, Popout, PopoutInput, Popover, Popup, PreviewImage, ProgressBar, ProgressCircle, PullDownRefresh, PuzzleVerify, Qrcode, REMOVE_SWIPER_CONTEXT_KEY, Radio, RadioGroup, RadioInput, RadioPopout, Rate, ReadMore, Result, RotateVerify, Row, SWIPER_AUTO_HEIGHT_KEY, ScrollList, ScrollSpy, ScrollSpyAnchor, Search, Segmented, SegmentedItem, Select, SelectInput, SelectOption, SelectOptionGroup, SelectPopout, ShareSheet, ShareSheetIcon, ShareSheetItem, ShareSheetRow, Sidebar, SidebarItem, Signature, Skeleton, SkeletonAvatar, SkeletonBlock, SkeletonParagraph, SkeletonTitle, SlideVerify, Slider, Space, StatusBar, Step, Stepper, Steps, Sticky, StickyBox, SwipeAction, Swiper, SwiperItem, Switch, Tab, Tabbar, TabbarItem, TabbarPit, Table, Tabs, Tag, Text, Timeline, TimelineItem, Toast, Tree, TreeBranch, TreeNode, Upload, UploadPreview, Waterfall, WaterfallItem, WaterfallLoad, Watermark, actionSheet, createActionSheet, createCropImage, createDialog, createNotify, createPreviewImage, createToast, cropImage, dialog, formatTime, getCurrentTime, notify, omitFormPopoutProps, partitionPopoutInputProps, plateEnglishLetterKeys, plateProvinceKeys, plateSuffixKeys, previewImage, safeAreaInsets, spaceSizes, toast, useCountDown, useElementBackTop, useFormContext, useFormItem, useFormItemContext, useFormPopout, useInPopup, useLoadMore, useMotioning, usePageBackTop, usePopoutInput, usePopupEnter, usePopupVisibleHookProvide, windowInfo };
143
+ export { ADD_SWIPER_CONTEXT_KEY, Accordion, AccordionItem, ActionSheet, ActionSheetItem, Alert, Avatar, AvatarGroup, BackTop, Badge, Barcode, Button, Calendar, CalendarInput, CalendarPopout, Card, Cascader, CascaderInput, CascaderPopout, Checkbox, CheckboxGroup, CheckboxInput, CheckboxPopout, Col, Collapse, ColorPicker, ColorPickerInput, ColorPickerPopout, Compact, CoolIcon, CountDown, CountTo, CropImage, DateStrip, DatetimePicker, DatetimePickerInput, DatetimePickerPopout, DatetimeRangePicker, DatetimeRangePickerInput, DatetimeRangePickerPopout, Descriptions, DescriptionsItem, Dialog, Divider, Dnd, DndHandle, DndItem, Dropdown, DropdownItem, Ellipsis, Empty, Fab, FabItem, FloatingBubble, FloatingPanel, Form, FormItem, FormItemPlain, FormPlain, Grid, GridItem, Image, Indexes, IndexesAnchor, IndexesNav, InfiniteList, Input, Keyboard, KeyboardPopout, List, ListItem, LoadMore, Loading, Marquee, Menu, MenuItem, Motion, Navbar, NavbarItem, NavbarPit, NoticeBar, Notify, Overlay, Pagination, PasswordInput, Picker, PickerInput, PickerPopout, PickerView, PickerViewColumn, Popout, PopoutInput, Popover, Popup, PreviewImage, ProgressBar, ProgressCircle, PullDownRefresh, PuzzleVerify, Qrcode, REMOVE_SWIPER_CONTEXT_KEY, Radio, RadioGroup, RadioInput, RadioPopout, Rate, ReadMore, Result, RotateVerify, Row, SWIPER_AUTO_HEIGHT_KEY, ScrollList, ScrollSpy, ScrollSpyAnchor, Search, Segmented, SegmentedItem, Select, SelectInput, SelectOption, SelectOptionGroup, SelectPopout, ShareSheet, ShareSheetIcon, ShareSheetItem, ShareSheetRow, Sidebar, SidebarItem, Signature, Skeleton, SkeletonAvatar, SkeletonBlock, SkeletonParagraph, SkeletonTitle, SlideVerify, Slider, Space, StatusBar, Step, Stepper, Steps, Sticky, StickyBox, SwipeAction, Swiper, SwiperItem, Switch, Tab, Tabbar, TabbarItem, TabbarPit, Table, Tabs, Tag, Text, Timeline, TimelineItem, Toast, Tree, TreeBranch, TreeNode, Upload, UploadPreview, Waterfall, WaterfallItem, WaterfallLoad, Watermark, actionSheet, createActionSheet, createCropImage, createDialog, createNotify, createPreviewImage, createToast, cropImage, dialog, formatTime, getCurrentTime, notify, omitFormPopoutProps, partitionPopoutInputProps, plateEnglishLetterKeys, plateProvinceKeys, plateSuffixKeys, popupManager, previewImage, safeAreaInsets, spaceSizes, toast, useCountDown, useElementBackTop, useFormContext, useFormItem, useFormItemContext, useFormPopout, useInPopup, useLoadMore, useMotioning, usePageBackTop, usePopoutInput, usePopupEnter, usePopupVisibleHookProvide, windowInfo };
@@ -26,6 +26,7 @@ export interface PopoutProps {
26
26
  showShadow?: boolean;
27
27
  destroyOnClose?: boolean;
28
28
  lazy?: boolean;
29
+ closeOnBackPress?: boolean;
29
30
  }
30
31
  export declare const defaultPopoutProps: DefaultProps<PopoutProps>;
31
32
  export interface PopoutSlots {
@@ -8,7 +8,8 @@ const defaultPopoutProps = {
8
8
  overlay: true,
9
9
  overlayClosable: true,
10
10
  lazy: void 0,
11
- destroyOnClose: void 0
11
+ destroyOnClose: void 0,
12
+ closeOnBackPress: true
12
13
  };
13
14
  //#endregion
14
15
  export { defaultPopoutProps };
@@ -41,6 +41,7 @@ declare const __VLS_base: import("vue").DefineComponent<PopoutProps, {}, {}, {},
41
41
  overlayClosable: boolean;
42
42
  destroyOnClose: boolean;
43
43
  lazy: boolean;
44
+ closeOnBackPress: boolean;
44
45
  showCancel: boolean;
45
46
  beforeClose: import("./common").PopoutBeforeClose;
46
47
  cancelText: string;
@@ -91,6 +91,10 @@ var popout_default = /*@__PURE__*/ defineComponent({
91
91
  lazy: {
92
92
  type: Boolean,
93
93
  required: false
94
+ },
95
+ closeOnBackPress: {
96
+ type: Boolean,
97
+ required: false
94
98
  }
95
99
  }, defaultPopoutProps),
96
100
  emits: [
@@ -163,6 +167,9 @@ var popout_default = /*@__PURE__*/ defineComponent({
163
167
  const onOverlayClick = () => {
164
168
  if (props.overlayClosable) perhapsClose("close");
165
169
  };
170
+ const onBackPress = () => {
171
+ perhapsClose("close");
172
+ };
166
173
  const onCloseClick = () => {
167
174
  perhapsClose("close");
168
175
  };
@@ -192,7 +199,9 @@ var popout_default = /*@__PURE__*/ defineComponent({
192
199
  transparent: __props.transparent,
193
200
  "destroy-on-close": __props.destroyOnClose,
194
201
  lazy: __props.lazy,
202
+ "close-on-back-press": __props.closeOnBackPress,
195
203
  onOverlayClick,
204
+ onBackPress,
196
205
  onVisibleHook
197
206
  }, {
198
207
  default: withCtx(() => [createElementVNode("div", {
@@ -299,7 +308,8 @@ var popout_default = /*@__PURE__*/ defineComponent({
299
308
  "background",
300
309
  "transparent",
301
310
  "destroy-on-close",
302
- "lazy"
311
+ "lazy",
312
+ "close-on-back-press"
303
313
  ]);
304
314
  };
305
315
  }
@@ -14,6 +14,7 @@ export interface PopupProps {
14
14
  lockScroll?: boolean;
15
15
  destroyOnClose?: boolean;
16
16
  lazy?: boolean;
17
+ closeOnBackPress?: boolean;
17
18
  }
18
19
  export declare const mapEffectMotion: Record<PopupEffect, MotionName>;
19
20
  export declare const defaultPopupProps: DefaultProps<PopupProps>;
@@ -33,6 +34,7 @@ export interface TransitionHookCallbacks {
33
34
  }
34
35
  export interface PopupEmits extends MotionEmits {
35
36
  (e: 'overlay-click', event: any): void;
37
+ (e: 'back-press'): void;
36
38
  (e: 'update:visible', visible: boolean): void;
37
39
  }
38
40
  export interface PopupExpose {
@@ -3,3 +3,4 @@ import _Popup from './popup.vue';
3
3
  export declare const Popup: EnhancedComponent<typeof _Popup>;
4
4
  export default Popup;
5
5
  export { type PopupProps, type PopupSlots, type PopupEmits, type PopupExpose, type PopupContext, usePopupVisibleHookProvide, usePopupEnter, useInPopup, } from './common';
6
+ export { type PopupItem, popupManager } from './popup-manager';
@@ -1,7 +1,8 @@
1
1
  import { enhanceComponent } from "../../utils/component.js";
2
2
  import { useInPopup, usePopupEnter, usePopupVisibleHookProvide } from "./common.js";
3
+ import { popupManager } from "./popup-manager.js";
3
4
  import popup_default from "./popup.vue.js";
4
5
  //#region packages/sard/components/popup/index.ts
5
6
  const Popup = enhanceComponent(popup_default);
6
7
  //#endregion
7
- export { Popup, Popup as default, useInPopup, usePopupEnter, usePopupVisibleHookProvide };
8
+ export { Popup, Popup as default, popupManager, useInPopup, usePopupEnter, usePopupVisibleHookProvide };
@@ -0,0 +1,15 @@
1
+ export interface PopupItem {
2
+ close: () => void;
3
+ }
4
+ export declare function createPopupManager(): {
5
+ stack: import("vue").Reactive<PopupItem[]>;
6
+ push: (item: PopupItem) => void;
7
+ pop: () => void;
8
+ remove: (item: PopupItem) => void;
9
+ };
10
+ export declare const popupManager: {
11
+ stack: import("vue").Reactive<PopupItem[]>;
12
+ push: (item: PopupItem) => void;
13
+ pop: () => void;
14
+ remove: (item: PopupItem) => void;
15
+ };
@@ -0,0 +1,25 @@
1
+ import { reactive } from "vue";
2
+ //#region packages/sard/components/popup/popup-manager.ts
3
+ function createPopupManager() {
4
+ const stack = reactive([]);
5
+ const push = (item) => {
6
+ if (!stack.includes(item)) stack.push(item);
7
+ };
8
+ const pop = () => {
9
+ const item = stack.pop();
10
+ if (item) item.close();
11
+ };
12
+ const remove = (item) => {
13
+ const index = stack.indexOf(item);
14
+ if (index !== -1) stack.splice(index, 1);
15
+ };
16
+ return {
17
+ stack,
18
+ push,
19
+ pop,
20
+ remove
21
+ };
22
+ }
23
+ const popupManager = createPopupManager();
24
+ //#endregion
25
+ export { createPopupManager, popupManager };
@@ -12,6 +12,7 @@ declare const __VLS_base: import("vue").DefineComponent<PopupProps, {}, {}, {},
12
12
  "leave-cancelled": (el: Element) => any;
13
13
  "visible-hook": (name: MotionHookName, el: Element) => any;
14
14
  "overlay-click": (event: any) => any;
15
+ "back-press": () => any;
15
16
  "update:visible": (visible: boolean) => any;
16
17
  }, string, import("vue").PublicProps, Readonly<PopupProps> & Readonly<{
17
18
  "onBefore-enter"?: ((el: Element) => any) | undefined;
@@ -24,6 +25,7 @@ declare const __VLS_base: import("vue").DefineComponent<PopupProps, {}, {}, {},
24
25
  "onLeave-cancelled"?: ((el: Element) => any) | undefined;
25
26
  "onVisible-hook"?: ((name: MotionHookName, el: Element) => any) | undefined;
26
27
  "onOverlay-click"?: ((event: any) => any) | undefined;
28
+ "onBack-press"?: (() => any) | undefined;
27
29
  "onUpdate:visible"?: ((visible: boolean) => any) | undefined;
28
30
  }>, {
29
31
  background: string;
@@ -37,6 +39,7 @@ declare const __VLS_base: import("vue").DefineComponent<PopupProps, {}, {}, {},
37
39
  lockScroll: boolean;
38
40
  destroyOnClose: boolean;
39
41
  lazy: boolean;
42
+ closeOnBackPress: boolean;
40
43
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
41
44
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
42
45
  declare const _default: typeof __VLS_export;
@@ -4,7 +4,8 @@ import { defaultPopupProps, mapEffectMotion, usePopupVisibleHookProvide } from "
4
4
  import { useLockScroll } from "../../use/useLockScroll.js";
5
5
  import motion_default from "../motion/motion.vue.js";
6
6
  import overlay_default from "../overlay/overlay.vue.js";
7
- import { Teleport, computed, createBlock, createCommentVNode, createElementVNode, createVNode, defineComponent, mergeDefaults, mergeProps, normalizeClass, normalizeStyle, openBlock, ref, renderSlot, unref, vShow, withCtx, withDirectives } from "vue";
7
+ import { popupManager } from "./popup-manager.js";
8
+ import { Teleport, computed, createBlock, createCommentVNode, createElementVNode, createVNode, defineComponent, mergeDefaults, mergeProps, normalizeClass, normalizeStyle, onUnmounted, openBlock, ref, renderSlot, unref, vShow, withCtx, withDirectives } from "vue";
8
9
  //#region packages/sard/components/popup/popup.vue
9
10
  var popup_default = /*@__PURE__*/ defineComponent({
10
11
  inheritAttrs: false,
@@ -67,10 +68,15 @@ var popup_default = /*@__PURE__*/ defineComponent({
67
68
  lazy: {
68
69
  type: Boolean,
69
70
  required: false
71
+ },
72
+ closeOnBackPress: {
73
+ type: Boolean,
74
+ required: false
70
75
  }
71
76
  }, defaultPopupProps),
72
77
  emits: [
73
78
  "overlay-click",
79
+ "back-press",
74
80
  "update:visible",
75
81
  "before-enter",
76
82
  "enter",
@@ -96,8 +102,10 @@ var popup_default = /*@__PURE__*/ defineComponent({
96
102
  if (name === "before-enter") {
97
103
  increaseZIndex();
98
104
  rendered.value = true;
105
+ if (props.closeOnBackPress) popupManager.push(popupItem);
99
106
  } else if (name === "after-leave") {
100
107
  if (props.destroyOnClose) rendered.value = false;
108
+ popupManager.remove(popupItem);
101
109
  }
102
110
  callVisibleHook(name);
103
111
  emit("visible-hook", name, el);
@@ -108,6 +116,13 @@ var popup_default = /*@__PURE__*/ defineComponent({
108
116
  if (props.overlayClosable) emit("update:visible", false);
109
117
  };
110
118
  useLockScroll(() => props.visible, props.lockScroll);
119
+ const popupItem = { close: () => {
120
+ emit("back-press");
121
+ emit("update:visible", false);
122
+ } };
123
+ onUnmounted(() => {
124
+ popupManager.remove(popupItem);
125
+ });
111
126
  const popupClass = computed(() => {
112
127
  return [bem.b(), bem.m(props.effect)];
113
128
  });
@@ -7,6 +7,7 @@ export interface PreviewImageProps {
7
7
  current?: number;
8
8
  showIndicator?: boolean;
9
9
  loop?: boolean;
10
+ closeOnBackPress?: boolean;
10
11
  }
11
12
  export declare const defaultPreviewImageProps: DefaultProps<PreviewImageProps>;
12
13
  export interface PreviewImageSlots {
@@ -3,7 +3,8 @@ const defaultPreviewImageProps = {
3
3
  current: 0,
4
4
  showIndicator: true,
5
5
  loop: true,
6
- urls: () => []
6
+ urls: () => [],
7
+ closeOnBackPress: true
7
8
  };
8
9
  const previewImageContextKey = Symbol("previewImageContext");
9
10
  //#endregion
@@ -27,6 +27,7 @@ declare const __VLS_base: import("vue").DefineComponent<PreviewImageProps, Previ
27
27
  "onUpdate:current"?: ((current: number) => any) | undefined;
28
28
  }>, {
29
29
  visible: boolean;
30
+ closeOnBackPress: boolean;
30
31
  current: number;
31
32
  urls: string[];
32
33
  showIndicator: boolean;
@@ -34,6 +34,10 @@ var preview_image_default = /*@__PURE__*/ defineComponent({
34
34
  loop: {
35
35
  type: Boolean,
36
36
  required: false
37
+ },
38
+ closeOnBackPress: {
39
+ type: Boolean,
40
+ required: false
37
41
  }
38
42
  }, defaultPreviewImageProps),
39
43
  emits: [
@@ -62,6 +66,9 @@ var preview_image_default = /*@__PURE__*/ defineComponent({
62
66
  visibleSwitching.value = false;
63
67
  }, 150);
64
68
  });
69
+ const onBackPress = () => {
70
+ close();
71
+ };
65
72
  const onVisibleHook = (name, el) => {
66
73
  if (name === "before-enter") resetSlideDown();
67
74
  emit("visible-hook", name, el);
@@ -141,6 +148,8 @@ var preview_image_default = /*@__PURE__*/ defineComponent({
141
148
  unref(bem).is("immersive", isImmersive.value)
142
149
  ],
143
150
  visible: unref(innerVisible),
151
+ "close-on-back-press": __props.closeOnBackPress,
152
+ onBackPress,
144
153
  onVisibleHook
145
154
  }, {
146
155
  default: withCtx(() => [createElementVNode("div", {
@@ -176,7 +185,11 @@ var preview_image_default = /*@__PURE__*/ defineComponent({
176
185
  class: normalizeClass(unref(bem).e("indicator"))
177
186
  }, toDisplayString(unref(current) + 1) + " / " + toDisplayString(__props.urls.length), 3)) : createCommentVNode("v-if", true)], 2)]),
178
187
  _: 1
179
- }, 8, ["overlay-class", "visible"]);
188
+ }, 8, [
189
+ "overlay-class",
190
+ "visible",
191
+ "close-on-back-press"
192
+ ]);
180
193
  };
181
194
  }
182
195
  });
@@ -52,7 +52,7 @@ var pull_down_refresh_default = /*@__PURE__*/ defineComponent({
52
52
  recoveringTimer.clear();
53
53
  initialTimer.clear();
54
54
  status.value = "loading";
55
- translateY.value = props.headerHeight;
55
+ if (!props.disabled) translateY.value = props.headerHeight;
56
56
  };
57
57
  const toRecovering = () => {
58
58
  status.value = "recovering";
@@ -11,6 +11,7 @@ export interface ShareSheetProps {
11
11
  visible?: boolean;
12
12
  overlayClosable?: boolean;
13
13
  beforeClose?: ShareSheetbeforeClose;
14
+ closeOnBackPress?: boolean;
14
15
  }
15
16
  export declare const defaultShareSheetProps: DefaultProps<ShareSheetProps>;
16
17
  export interface ShareSheetEmits extends MotionEmits {
@@ -1,5 +1,8 @@
1
1
  //#region packages/sard/components/share-sheet/common.ts
2
- const defaultShareSheetProps = { overlayClosable: true };
2
+ const defaultShareSheetProps = {
3
+ overlayClosable: true,
4
+ closeOnBackPress: true
5
+ };
3
6
  const defaultShareSheetRowProps = {};
4
7
  //#endregion
5
8
  export { defaultShareSheetProps, defaultShareSheetRowProps };
@@ -34,6 +34,7 @@ declare const __VLS_base: import("vue").DefineComponent<ShareSheetProps, {}, {},
34
34
  cancel: string;
35
35
  visible: boolean;
36
36
  overlayClosable: boolean;
37
+ closeOnBackPress: boolean;
37
38
  description: string;
38
39
  showCancel: boolean;
39
40
  beforeClose: import("./common").ShareSheetbeforeClose;
@@ -37,6 +37,10 @@ var share_sheet_default = /*@__PURE__*/ defineComponent({
37
37
  beforeClose: {
38
38
  type: Function,
39
39
  required: false
40
+ },
41
+ closeOnBackPress: {
42
+ type: Boolean,
43
+ required: false
40
44
  }
41
45
  }, defaultShareSheetProps),
42
46
  emits: [
@@ -86,8 +90,14 @@ var share_sheet_default = /*@__PURE__*/ defineComponent({
86
90
  emit("update:visible", false);
87
91
  };
88
92
  const onOverlayClick = () => {
93
+ if (props.overlayClosable) {
94
+ emit("close");
95
+ perhapsClose("close");
96
+ }
97
+ };
98
+ const onBackPress = () => {
89
99
  emit("close");
90
- if (props.overlayClosable) perhapsClose("close");
100
+ perhapsClose("close");
91
101
  };
92
102
  const onSelect = (item) => {
93
103
  emit("select", { ...item });
@@ -109,7 +119,9 @@ var share_sheet_default = /*@__PURE__*/ defineComponent({
109
119
  return openBlock(), createBlock(popup_default, {
110
120
  effect: "slide-bottom",
111
121
  visible: innerVisible.value,
122
+ "close-on-back-press": __props.closeOnBackPress,
112
123
  onOverlayClick,
124
+ onBackPress,
113
125
  onVisibleHook
114
126
  }, {
115
127
  default: withCtx(() => [createElementVNode("div", { class: normalizeClass(shareSheetClass.value) }, [
@@ -130,7 +142,7 @@ var share_sheet_default = /*@__PURE__*/ defineComponent({
130
142
  }, [renderSlot(_ctx.$slots, "cancel", {}, () => [createTextVNode(toDisplayString(__props.cancel || unref(t)("cancel")), 1)])], 2)], 64)) : createCommentVNode("v-if", true)
131
143
  ], 2)]),
132
144
  _: 3
133
- }, 8, ["visible"]);
145
+ }, 8, ["visible", "close-on-back-press"]);
134
146
  };
135
147
  }
136
148
  });
package/index.js CHANGED
@@ -61,6 +61,7 @@ import { isColorScheme, provideColorScheme, useColorScheme } from "./use/useColo
61
61
  import { withResolvers } from "./utils/polyfill.js";
62
62
  import { useScroller } from "./utils/scroller/useScroller.js";
63
63
  import { Accordion, AccordionItem } from "./components/accordion/index.js";
64
+ import { popupManager } from "./components/popup/popup-manager.js";
64
65
  import { currentLocale, localeContextKey, provideLocale, setLocale, useLocale, useTranslate, useTranslateWithPrefix } from "./locale/index.js";
65
66
  import { actionSheet, createActionSheet } from "./components/action-sheet/imperative.js";
66
67
  import { ActionSheet, ActionSheetItem } from "./components/action-sheet/index.js";
@@ -216,4 +217,4 @@ function prepareEnvironment() {
216
217
  });
217
218
  }
218
219
  //#endregion
219
- export { ADD_SWIPER_CONTEXT_KEY, ALPHANUMERIC_CHARS, Accordion, AccordionItem, ActionSheet, ActionSheetItem, Alert, Avatar, AvatarGroup, BackTop, Badge, Barcode, BarcodeFormatList, BarcodeTextPositionList, Button, Calendar, CalendarInput, CalendarPopout, Card, Cascader, CascaderInput, CascaderPopout, Checkbox, CheckboxGroup, CheckboxInput, CheckboxPopout, Col, Collapse, ColorPicker, ColorPickerInput, ColorPickerPopout, Compact, CoolIcon, CountDown, CountTo, CropImage, DateStrip, DatetimePicker, DatetimePickerInput, DatetimePickerPopout, DatetimeRangePicker, DatetimeRangePickerInput, DatetimeRangePickerPopout, Descriptions, DescriptionsItem, Dialog, Divider, Dnd, DndHandle, DndItem, Dropdown, DropdownItem, ECLList, Ellipsis, Empty, Fab, FabItem, FloatingBubble, FloatingPanel, Form, FormItem, FormItemPlain, FormPlain, Friction, Grid, GridItem, Image, Indexes, IndexesAnchor, IndexesNav, InfiniteList, Input, Keyboard, KeyboardPopout, List, ListItem, LoadMore, Loading, Marquee, Menu, MenuItem, Motion, Navbar, NavbarItem, NavbarPit, NoticeBar, Notify, OnlyChild, Overlay, Pagination, PasswordInput, Picker, PickerInput, PickerPopout, PickerView, PickerViewColumn, Popout, PopoutInput, Popover, Popup, PreviewImage, ProgressBar, ProgressCircle, PullDownRefresh, PuzzleVerify, Qrcode, REMOVE_SWIPER_CONTEXT_KEY, Radio, RadioGroup, RadioInput, RadioPopout, Rate, ReadMore, Result, RotateVerify, Row, SWIPER_AUTO_HEIGHT_KEY, ScrollList, ScrollSpy, ScrollSpyAnchor, Search, Segmented, SegmentedItem, Select, SelectInput, SelectOption, SelectOptionGroup, SelectPopout, ShareSheet, ShareSheetIcon, ShareSheetItem, ShareSheetRow, Sidebar, SidebarItem, Signature, Skeleton, SkeletonAvatar, SkeletonBlock, SkeletonParagraph, SkeletonTitle, SlideVerify, Slider, Space, Spring, StatusBar, Step, Stepper, Steps, Sticky, StickyBox, SwipeAction, Swiper, SwiperItem, Switch, Tab, Tabbar, TabbarItem, TabbarPit, Table, Tabs, Tag, Text, Timeline, TimelineItem, Toast, Tree, TreeBranch, TreeNode, Upload, UploadPreview, Waterfall, WaterfallItem, WaterfallLoad, Watermark, actionSheet, addSeparator, addUnit, arrayEqual, arrayMove, autoUpdate, barcode, baseLunarYear, calculateBarcodeLayout, camelCase, capitalize, chainGet, chainSet, checkRtl, chooseFile, clamp, clipboard, computePosition, createActionSheet, createBem, createBemStruct, createCropImage, createDialog, createInertialAnimate, createNotify, createPreviewImage, createToast, cropImage, cssVar, cssVarName, currentLocale, debounce, deepClone, defaultBemConfig, defaultColorPickerPresets, defaultColorPickerValue, defaultOptionKeys, defineSetupFnComponent, dialog, earthlyBranches, enhanceComponent, extend, flatVNode, formatColor, formatDate, formatNumber, formatTime, getAllImperatives, getAspectFillSize, getAspectFitSize, getAvailableImperative, getCurrentTime, getDampingValue, getDayOfYear, getDaysAfterLastDay, getDaysBeforeFirstDay, getDaysInMonth, getDaysSinceUnixEpoch, getDecimalsLength, getFileName, getFirstDayWeekday, getGridCenterSize, getGridIndex, getGridPrizeCount, getImperatives, getInBoundValue, getLeafNodes, getLunarDayName, getLunarHourName, getLunarLeapMonth, getLunarLeapMonthDays, getLunarMonthDays, getLunarMonthName, getLunarYearDays, getLunarYearName, getNextMonthDate, getNextMonthHeadDays, getNodeLevel, getOverflowRangeInArea, getPageRange, getPrevMonthDate, getPrevMonthTailDays, getPreviewColor, getRectDampingValue, getRotatedRect, getScrollIntoViewValue, getScrollTop, getTouchPoint, getTransformOrigin, getTreeCheckedKeys, getTreeHalfCheckedKeys, getTwoPointsDistance, heavenlyStems, hslToHsv, hslToHwb, hslToRgb, hsvToHsl, hwbToHsl, imageDataToDataURL, inRange, initializeCheckNodes, installer, isBoolean, isColorScheme, isConfigObject, isDate, isEmptyArray, isEmptyBinding, isEmptyValue, isFileUrl, isFunction, isImageFile, isImageUrl, isKorean, isLeapYear, isNoEmptyArray, isNullish, isNumber, isObject, isPlainObject, isPrimitive, isRectEqual, isRenderVisible, isSizeEqual, isString, isUndefined, isVideoFile, isVideoUrl, isVisibleEmpty, kebabCase, loadImage, localeContextKey, logError, looseToNumber, lowerFirst, lunarDayNames, lunarInfo, lunarMonthNames, lunarToSolar, lunarYearNames, mapTreeToGrid, matchScrollVisible, measureTextWidth, minmaxDate, mround, nestedToMulti, noop, normalizeBarcodeOptions, normalizeHsla, normalizeHsva, notify, omit, omitFormPopoutProps, parseColor, parseDate, partition, partitionPopoutInputProps, pascalCase, pick, plateEnglishLetterKeys, plateProvinceKeys, plateSuffixKeys, prepareEnvironment, previewImage, provideColorScheme, provideLocale, qrcode, random, reactiveComputed, readFileContent, rgbToHsl, round, safeAreaInsets, scrollToTarget, setCheckedRecursively, setLocale, shuffle, sleep, snakeCase, solarToLunar, spaceSizes, splitUnit, spreadEach, springFestivals, throttle, toArray, toDate, toDateNumber, toDateString, toMonthNumber, toReactive, toTouchEvent, toast, treeToMap, uniqid, updateAncestorsChecked, upperFirst, useClickOutside, useColorScheme, useComposition, useCountDown, useDragPinch, useElementBackTop, useElementScroll, useFormContext, useFormItem, useFormItemContext, useFormPopout, useImperative, useInPopup, useIndeterminate, useInitialVelocity, useIntersectionObserver, useKeyList, useLoadMore, useLocale, useLockScroll, useLuckyDraw, useLuckyGrid, useLuckyWheel, useMotioning, useOptionKeys, usePageBackTop, usePageScroll, usePointerDown, usePopoutInput, usePopper, usePopupEnter, usePopupVisibleHookProvide, useReachBottom, useResizeObserver, useRtl, useScrollSide, useScrollSpy, useScroller, useSimulatedClick, useSimulatedDblClick, useSimulatedPress, useSingleTask, useSlotMachine, useStopMovedClick, useTimeout, useTimeoutLoading, useTranslate, useTranslateWithPrefix, useWindowResize, useZIndex, walkAncestor, walkDescendant, walkNodes, windowInfo, withResolvers };
220
+ export { ADD_SWIPER_CONTEXT_KEY, ALPHANUMERIC_CHARS, Accordion, AccordionItem, ActionSheet, ActionSheetItem, Alert, Avatar, AvatarGroup, BackTop, Badge, Barcode, BarcodeFormatList, BarcodeTextPositionList, Button, Calendar, CalendarInput, CalendarPopout, Card, Cascader, CascaderInput, CascaderPopout, Checkbox, CheckboxGroup, CheckboxInput, CheckboxPopout, Col, Collapse, ColorPicker, ColorPickerInput, ColorPickerPopout, Compact, CoolIcon, CountDown, CountTo, CropImage, DateStrip, DatetimePicker, DatetimePickerInput, DatetimePickerPopout, DatetimeRangePicker, DatetimeRangePickerInput, DatetimeRangePickerPopout, Descriptions, DescriptionsItem, Dialog, Divider, Dnd, DndHandle, DndItem, Dropdown, DropdownItem, ECLList, Ellipsis, Empty, Fab, FabItem, FloatingBubble, FloatingPanel, Form, FormItem, FormItemPlain, FormPlain, Friction, Grid, GridItem, Image, Indexes, IndexesAnchor, IndexesNav, InfiniteList, Input, Keyboard, KeyboardPopout, List, ListItem, LoadMore, Loading, Marquee, Menu, MenuItem, Motion, Navbar, NavbarItem, NavbarPit, NoticeBar, Notify, OnlyChild, Overlay, Pagination, PasswordInput, Picker, PickerInput, PickerPopout, PickerView, PickerViewColumn, Popout, PopoutInput, Popover, Popup, PreviewImage, ProgressBar, ProgressCircle, PullDownRefresh, PuzzleVerify, Qrcode, REMOVE_SWIPER_CONTEXT_KEY, Radio, RadioGroup, RadioInput, RadioPopout, Rate, ReadMore, Result, RotateVerify, Row, SWIPER_AUTO_HEIGHT_KEY, ScrollList, ScrollSpy, ScrollSpyAnchor, Search, Segmented, SegmentedItem, Select, SelectInput, SelectOption, SelectOptionGroup, SelectPopout, ShareSheet, ShareSheetIcon, ShareSheetItem, ShareSheetRow, Sidebar, SidebarItem, Signature, Skeleton, SkeletonAvatar, SkeletonBlock, SkeletonParagraph, SkeletonTitle, SlideVerify, Slider, Space, Spring, StatusBar, Step, Stepper, Steps, Sticky, StickyBox, SwipeAction, Swiper, SwiperItem, Switch, Tab, Tabbar, TabbarItem, TabbarPit, Table, Tabs, Tag, Text, Timeline, TimelineItem, Toast, Tree, TreeBranch, TreeNode, Upload, UploadPreview, Waterfall, WaterfallItem, WaterfallLoad, Watermark, actionSheet, addSeparator, addUnit, arrayEqual, arrayMove, autoUpdate, barcode, baseLunarYear, calculateBarcodeLayout, camelCase, capitalize, chainGet, chainSet, checkRtl, chooseFile, clamp, clipboard, computePosition, createActionSheet, createBem, createBemStruct, createCropImage, createDialog, createInertialAnimate, createNotify, createPreviewImage, createToast, cropImage, cssVar, cssVarName, currentLocale, debounce, deepClone, defaultBemConfig, defaultColorPickerPresets, defaultColorPickerValue, defaultOptionKeys, defineSetupFnComponent, dialog, earthlyBranches, enhanceComponent, extend, flatVNode, formatColor, formatDate, formatNumber, formatTime, getAllImperatives, getAspectFillSize, getAspectFitSize, getAvailableImperative, getCurrentTime, getDampingValue, getDayOfYear, getDaysAfterLastDay, getDaysBeforeFirstDay, getDaysInMonth, getDaysSinceUnixEpoch, getDecimalsLength, getFileName, getFirstDayWeekday, getGridCenterSize, getGridIndex, getGridPrizeCount, getImperatives, getInBoundValue, getLeafNodes, getLunarDayName, getLunarHourName, getLunarLeapMonth, getLunarLeapMonthDays, getLunarMonthDays, getLunarMonthName, getLunarYearDays, getLunarYearName, getNextMonthDate, getNextMonthHeadDays, getNodeLevel, getOverflowRangeInArea, getPageRange, getPrevMonthDate, getPrevMonthTailDays, getPreviewColor, getRectDampingValue, getRotatedRect, getScrollIntoViewValue, getScrollTop, getTouchPoint, getTransformOrigin, getTreeCheckedKeys, getTreeHalfCheckedKeys, getTwoPointsDistance, heavenlyStems, hslToHsv, hslToHwb, hslToRgb, hsvToHsl, hwbToHsl, imageDataToDataURL, inRange, initializeCheckNodes, installer, isBoolean, isColorScheme, isConfigObject, isDate, isEmptyArray, isEmptyBinding, isEmptyValue, isFileUrl, isFunction, isImageFile, isImageUrl, isKorean, isLeapYear, isNoEmptyArray, isNullish, isNumber, isObject, isPlainObject, isPrimitive, isRectEqual, isRenderVisible, isSizeEqual, isString, isUndefined, isVideoFile, isVideoUrl, isVisibleEmpty, kebabCase, loadImage, localeContextKey, logError, looseToNumber, lowerFirst, lunarDayNames, lunarInfo, lunarMonthNames, lunarToSolar, lunarYearNames, mapTreeToGrid, matchScrollVisible, measureTextWidth, minmaxDate, mround, nestedToMulti, noop, normalizeBarcodeOptions, normalizeHsla, normalizeHsva, notify, omit, omitFormPopoutProps, parseColor, parseDate, partition, partitionPopoutInputProps, pascalCase, pick, plateEnglishLetterKeys, plateProvinceKeys, plateSuffixKeys, popupManager, prepareEnvironment, previewImage, provideColorScheme, provideLocale, qrcode, random, reactiveComputed, readFileContent, rgbToHsl, round, safeAreaInsets, scrollToTarget, setCheckedRecursively, setLocale, shuffle, sleep, snakeCase, solarToLunar, spaceSizes, splitUnit, spreadEach, springFestivals, throttle, toArray, toDate, toDateNumber, toDateString, toMonthNumber, toReactive, toTouchEvent, toast, treeToMap, uniqid, updateAncestorsChecked, upperFirst, useClickOutside, useColorScheme, useComposition, useCountDown, useDragPinch, useElementBackTop, useElementScroll, useFormContext, useFormItem, useFormItemContext, useFormPopout, useImperative, useInPopup, useIndeterminate, useInitialVelocity, useIntersectionObserver, useKeyList, useLoadMore, useLocale, useLockScroll, useLuckyDraw, useLuckyGrid, useLuckyWheel, useMotioning, useOptionKeys, usePageBackTop, usePageScroll, usePointerDown, usePopoutInput, usePopper, usePopupEnter, usePopupVisibleHookProvide, useReachBottom, useResizeObserver, useRtl, useScrollSide, useScrollSpy, useScroller, useSimulatedClick, useSimulatedDblClick, useSimulatedPress, useSingleTask, useSlotMachine, useStopMovedClick, useTimeout, useTimeoutLoading, useTranslate, useTranslateWithPrefix, useWindowResize, useZIndex, walkAncestor, walkDescendant, walkNodes, windowInfo, withResolvers };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sard",
3
- "version": "1.0.12",
3
+ "version": "1.0.13",
4
4
  "description": "sard 是基于 Vue3 的 Web 移动端 UI 组件库",
5
5
  "keywords": [
6
6
  "UI",