sard-uniapp 1.15.3 → 1.16.0

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 (106) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/components/calendar-input/calendar-input.vue +26 -89
  3. package/components/calendar-input/common.d.ts +7 -17
  4. package/components/calendar-input/common.js +2 -1
  5. package/components/calendar-popout/calendar-popout.d.ts +17 -0
  6. package/components/calendar-popout/calendar-popout.vue +102 -0
  7. package/components/calendar-popout/common.d.ts +27 -0
  8. package/components/calendar-popout/common.js +5 -0
  9. package/components/calendar-popout/index.d.ts +1 -0
  10. package/components/calendar-popout/index.js +1 -0
  11. package/components/cascader-input/cascader-input.vue +26 -89
  12. package/components/cascader-input/common.d.ts +5 -19
  13. package/components/cascader-input/common.js +3 -1
  14. package/components/cascader-popout/cascader-popout.d.ts +23 -0
  15. package/components/cascader-popout/cascader-popout.vue +88 -0
  16. package/components/cascader-popout/common.d.ts +27 -0
  17. package/components/cascader-popout/common.js +2 -0
  18. package/components/cascader-popout/index.d.ts +1 -0
  19. package/components/cascader-popout/index.js +1 -0
  20. package/components/checkbox-input/checkbox-input.vue +21 -141
  21. package/components/checkbox-input/common.d.ts +4 -11
  22. package/components/checkbox-input/common.js +2 -5
  23. package/components/checkbox-popout/checkbox-popout.d.ts +21 -0
  24. package/components/checkbox-popout/checkbox-popout.vue +136 -0
  25. package/components/checkbox-popout/common.d.ts +22 -0
  26. package/components/checkbox-popout/common.js +5 -0
  27. package/components/checkbox-popout/index.d.ts +1 -0
  28. package/components/checkbox-popout/index.js +1 -0
  29. package/components/{checkbox-input → checkbox-popout}/index.scss +2 -2
  30. package/components/{checkbox-input → checkbox-popout}/variables.scss +1 -1
  31. package/components/config/index.d.ts +9 -7
  32. package/components/config/index.js +9 -7
  33. package/components/datetime-picker-input/common.d.ts +3 -13
  34. package/components/datetime-picker-input/common.js +1 -1
  35. package/components/datetime-picker-input/datetime-picker-input.vue +22 -109
  36. package/components/datetime-picker-popout/common.d.ts +23 -0
  37. package/components/datetime-picker-popout/common.js +5 -0
  38. package/components/datetime-picker-popout/datetime-picker-popout.d.ts +21 -0
  39. package/components/datetime-picker-popout/datetime-picker-popout.vue +113 -0
  40. package/components/datetime-picker-popout/index.d.ts +1 -0
  41. package/components/datetime-picker-popout/index.js +1 -0
  42. package/components/datetime-range-picker-input/common.d.ts +3 -13
  43. package/components/datetime-range-picker-input/common.js +1 -1
  44. package/components/datetime-range-picker-input/datetime-range-picker-input.vue +23 -97
  45. package/components/datetime-range-picker-popout/common.d.ts +23 -0
  46. package/components/datetime-range-picker-popout/common.js +5 -0
  47. package/components/datetime-range-picker-popout/datetime-range-picker-popout.d.ts +21 -0
  48. package/components/datetime-range-picker-popout/datetime-range-picker-popout.vue +102 -0
  49. package/components/datetime-range-picker-popout/index.d.ts +1 -0
  50. package/components/datetime-range-picker-popout/index.js +1 -0
  51. package/components/navbar/navbar.vue +1 -1
  52. package/components/navbar-pit/common.d.ts +6 -0
  53. package/components/navbar-pit/common.js +1 -0
  54. package/components/navbar-pit/index.d.ts +1 -0
  55. package/components/navbar-pit/index.js +1 -0
  56. package/components/navbar-pit/index.scss +11 -0
  57. package/components/navbar-pit/navbar-pit.d.ts +2 -1
  58. package/components/navbar-pit/navbar-pit.vue +29 -4
  59. package/components/picker-input/common.d.ts +3 -12
  60. package/components/picker-input/common.js +2 -4
  61. package/components/picker-input/picker-input.vue +16 -77
  62. package/components/picker-popout/common.d.ts +24 -0
  63. package/components/picker-popout/common.js +6 -0
  64. package/components/picker-popout/index.d.ts +1 -0
  65. package/components/picker-popout/index.js +1 -0
  66. package/components/picker-popout/picker-popout.d.ts +22 -0
  67. package/components/picker-popout/picker-popout.vue +84 -0
  68. package/components/popout-input/common.d.ts +2 -0
  69. package/components/popout-input/popout-input.d.ts +2 -0
  70. package/components/popout-input/popout-input.vue +4 -0
  71. package/components/radio-input/common.d.ts +4 -11
  72. package/components/radio-input/common.js +2 -5
  73. package/components/radio-input/radio-input.vue +21 -140
  74. package/components/radio-popout/common.d.ts +23 -0
  75. package/components/radio-popout/common.js +5 -0
  76. package/components/radio-popout/index.d.ts +1 -0
  77. package/components/radio-popout/index.js +1 -0
  78. package/components/{radio-input → radio-popout}/index.scss +2 -2
  79. package/components/radio-popout/radio-popout.d.ts +22 -0
  80. package/components/radio-popout/radio-popout.vue +135 -0
  81. package/components/{radio-input → radio-popout}/variables.scss +1 -1
  82. package/components/signature/signature.d.ts +2 -2
  83. package/components/tabbar/common.d.ts +2 -0
  84. package/components/tabbar/index.scss +13 -0
  85. package/components/tabbar/tabbar.vue +10 -2
  86. package/components/tabbar/variables.scss +1 -0
  87. package/components/tabbar-pit/common.d.ts +13 -0
  88. package/components/tabbar-pit/common.js +1 -0
  89. package/components/tabbar-pit/index.d.ts +1 -0
  90. package/components/tabbar-pit/index.js +1 -0
  91. package/components/tabbar-pit/index.scss +12 -0
  92. package/components/tabbar-pit/tabbar-pit.d.ts +10 -0
  93. package/components/tabbar-pit/tabbar-pit.vue +46 -0
  94. package/global.d.ts +8 -0
  95. package/index.d.ts +9 -0
  96. package/index.js +9 -0
  97. package/index.scss +2 -2
  98. package/package.json +4 -4
  99. package/use/index.d.ts +3 -0
  100. package/use/index.js +3 -0
  101. package/use/useFormPopout.d.ts +20 -0
  102. package/use/useFormPopout.js +42 -0
  103. package/use/usePopoutInput.d.ts +19 -0
  104. package/use/usePopoutInput.js +39 -0
  105. package/use/useTwoWayVisible.d.ts +9 -0
  106. package/use/useTwoWayVisible.js +13 -0
package/index.d.ts CHANGED
@@ -7,11 +7,14 @@ export * from './components/badge';
7
7
  export * from './components/button';
8
8
  export * from './components/calendar';
9
9
  export * from './components/calendar-input';
10
+ export * from './components/calendar-popout';
10
11
  export * from './components/card';
11
12
  export * from './components/cascader';
12
13
  export * from './components/cascader-input';
14
+ export * from './components/cascader-popout';
13
15
  export * from './components/checkbox';
14
16
  export * from './components/checkbox-input';
17
+ export * from './components/checkbox-popout';
15
18
  export * from './components/collapse';
16
19
  export * from './components/config';
17
20
  export * from './components/count-down';
@@ -20,8 +23,10 @@ export * from './components/crop-image';
20
23
  export * from './components/crop-image-agent';
21
24
  export * from './components/datetime-picker';
22
25
  export * from './components/datetime-picker-input';
26
+ export * from './components/datetime-picker-popout';
23
27
  export * from './components/datetime-range-picker';
24
28
  export * from './components/datetime-range-picker-input';
29
+ export * from './components/datetime-range-picker-popout';
25
30
  export * from './components/dialog';
26
31
  export * from './components/dialog-agent';
27
32
  export * from './components/divider';
@@ -44,6 +49,7 @@ export * from './components/locale';
44
49
  export * from './components/marquee';
45
50
  export * from './components/menu';
46
51
  export * from './components/navbar';
52
+ export * from './components/navbar-pit';
47
53
  export * from './components/notice-bar';
48
54
  export * from './components/notify';
49
55
  export * from './components/notify-agent';
@@ -52,6 +58,7 @@ export * from './components/pagination';
52
58
  export * from './components/password-input';
53
59
  export * from './components/picker';
54
60
  export * from './components/picker-input';
61
+ export * from './components/picker-popout';
55
62
  export * from './components/popout';
56
63
  export * from './components/popout-input';
57
64
  export * from './components/popover';
@@ -63,6 +70,7 @@ export * from './components/pull-down-refresh';
63
70
  export * from './components/qrcode';
64
71
  export * from './components/radio';
65
72
  export * from './components/radio-input';
73
+ export * from './components/radio-popout';
66
74
  export * from './components/rate';
67
75
  export * from './components/result';
68
76
  export * from './components/scroll-spy';
@@ -81,6 +89,7 @@ export * from './components/steps';
81
89
  export * from './components/swiper-dot';
82
90
  export * from './components/switch';
83
91
  export * from './components/tabbar';
92
+ export * from './components/tabbar-pit';
84
93
  export * from './components/table';
85
94
  export * from './components/tabs';
86
95
  export * from './components/tag';
package/index.js CHANGED
@@ -7,11 +7,14 @@ export * from './components/badge';
7
7
  export * from './components/button';
8
8
  export * from './components/calendar';
9
9
  export * from './components/calendar-input';
10
+ export * from './components/calendar-popout';
10
11
  export * from './components/card';
11
12
  export * from './components/cascader';
12
13
  export * from './components/cascader-input';
14
+ export * from './components/cascader-popout';
13
15
  export * from './components/checkbox';
14
16
  export * from './components/checkbox-input';
17
+ export * from './components/checkbox-popout';
15
18
  export * from './components/collapse';
16
19
  export * from './components/config';
17
20
  export * from './components/count-down';
@@ -20,8 +23,10 @@ export * from './components/crop-image';
20
23
  export * from './components/crop-image-agent';
21
24
  export * from './components/datetime-picker';
22
25
  export * from './components/datetime-picker-input';
26
+ export * from './components/datetime-picker-popout';
23
27
  export * from './components/datetime-range-picker';
24
28
  export * from './components/datetime-range-picker-input';
29
+ export * from './components/datetime-range-picker-popout';
25
30
  export * from './components/dialog';
26
31
  export * from './components/dialog-agent';
27
32
  export * from './components/divider';
@@ -44,6 +49,7 @@ export * from './components/locale';
44
49
  export * from './components/marquee';
45
50
  export * from './components/menu';
46
51
  export * from './components/navbar';
52
+ export * from './components/navbar-pit';
47
53
  export * from './components/notice-bar';
48
54
  export * from './components/notify';
49
55
  export * from './components/notify-agent';
@@ -52,6 +58,7 @@ export * from './components/pagination';
52
58
  export * from './components/password-input';
53
59
  export * from './components/picker';
54
60
  export * from './components/picker-input';
61
+ export * from './components/picker-popout';
55
62
  export * from './components/popout';
56
63
  export * from './components/popout-input';
57
64
  export * from './components/popover';
@@ -63,6 +70,7 @@ export * from './components/pull-down-refresh';
63
70
  export * from './components/qrcode';
64
71
  export * from './components/radio';
65
72
  export * from './components/radio-input';
73
+ export * from './components/radio-popout';
66
74
  export * from './components/rate';
67
75
  export * from './components/result';
68
76
  export * from './components/scroll-spy';
@@ -81,6 +89,7 @@ export * from './components/steps';
81
89
  export * from './components/swiper-dot';
82
90
  export * from './components/switch';
83
91
  export * from './components/tabbar';
92
+ export * from './components/tabbar-pit';
84
93
  export * from './components/table';
85
94
  export * from './components/tabs';
86
95
  export * from './components/tag';
package/index.scss CHANGED
@@ -9,7 +9,7 @@
9
9
  @use './components/card/variables.scss' as *;
10
10
  @use './components/cascader/variables.scss' as *;
11
11
  @use './components/check-icon/variables.scss' as *;
12
- @use './components/checkbox-input/variables.scss' as *;
12
+ @use './components/checkbox-popout/variables.scss' as *;
13
13
  @use './components/checkbox/variables.scss' as *;
14
14
  @use './components/col/variables.scss' as *;
15
15
  @use './components/collapse/variables.scss' as *;
@@ -47,7 +47,7 @@
47
47
  @use './components/progress-circle/variables.scss' as *;
48
48
  @use './components/pull-down-refresh/variables.scss' as *;
49
49
  @use './components/qrcode/variables.scss' as *;
50
- @use './components/radio-input/variables.scss' as *;
50
+ @use './components/radio-popout/variables.scss' as *;
51
51
  @use './components/radio/variables.scss' as *;
52
52
  @use './components/rate/variables.scss' as *;
53
53
  @use './components/result/variables.scss' as *;
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.15.3",
5
+ "version": "1.16.0",
6
6
  "description": "sard-uniapp 是一套基于 Uniapp + Vue3 框架开发的兼容多端的 UI 组件库",
7
7
  "main": "index.js",
8
8
  "scripts": {
@@ -69,7 +69,7 @@
69
69
  },
70
70
  "peerDependencies": {
71
71
  "@dcloudio/types": "^3.4.8",
72
- "vue": "^3.4.27"
72
+ "vue": "^3.3.13"
73
73
  },
74
74
  "devDependencies": {
75
75
  "@commitlint/cli": "^17.8.1",
@@ -120,9 +120,9 @@
120
120
  "inquirer": "^9.3.7",
121
121
  "lint-staged": "^13.3.0",
122
122
  "lodash-es": "^4.17.21",
123
- "prettier": "^2.8.8",
123
+ "prettier": "^3.5.3",
124
124
  "region-data": "^1.2.3",
125
- "sard-cli": "^1.1.8",
125
+ "sard-cli": "^1.2.0",
126
126
  "sass": "^1.69.7",
127
127
  "tel-area-code": "^1.1.0",
128
128
  "ts-custom-error": "^3.3.1",
package/use/index.d.ts CHANGED
@@ -13,3 +13,6 @@ export * from './useScrollSide';
13
13
  export * from './useScrollSpy';
14
14
  export * from './useDragPinch';
15
15
  export * from './useTimeoutLoading';
16
+ export * from './useTwoWayVisible';
17
+ export * from './usePopoutInput';
18
+ export * from './useFormPopout';
package/use/index.js CHANGED
@@ -13,3 +13,6 @@ export * from './useScrollSide';
13
13
  export * from './useScrollSpy';
14
14
  export * from './useDragPinch';
15
15
  export * from './useTimeoutLoading';
16
+ export * from './useTwoWayVisible';
17
+ export * from './usePopoutInput';
18
+ export * from './useFormPopout';
@@ -0,0 +1,20 @@
1
+ export interface UseFormPopoutProps {
2
+ visible?: boolean;
3
+ modelValue?: any;
4
+ validateEvent?: boolean;
5
+ }
6
+ export interface UseFormPopoutEmits {
7
+ (e: 'update:visible', visible: boolean): void;
8
+ (e: 'update:model-value', ...args: any[]): void;
9
+ (e: 'change', ...args: any[]): void;
10
+ }
11
+ export declare function useFormPopout(props: UseFormPopoutProps, emit: UseFormPopoutEmits, options?: {
12
+ onChange?: (...args: any[]) => void;
13
+ onConfirmBefore?: () => void;
14
+ }): {
15
+ innerVisible: import("vue").Ref<boolean | undefined, boolean | undefined>;
16
+ innerValue: import("vue").Ref<any, any>;
17
+ popoutValue: import("vue").Ref<any, any>;
18
+ onChange: (value: any, ...args: any[]) => void;
19
+ onConfirm: () => void;
20
+ };
@@ -0,0 +1,42 @@
1
+ import { ref, watch } from 'vue';
2
+ import { useTwoWayVisible } from './useTwoWayVisible';
3
+ import { useFormItemContext } from '../components/form';
4
+ export function useFormPopout(props, emit, options = {}) {
5
+ // visible
6
+ const { visible } = useTwoWayVisible(props, emit);
7
+ // value
8
+ const formItemContext = useFormItemContext();
9
+ const innerValue = ref(props.modelValue);
10
+ watch(() => props.modelValue, () => {
11
+ innerValue.value = props.modelValue;
12
+ if (props.validateEvent) {
13
+ formItemContext?.onChange();
14
+ }
15
+ });
16
+ const popoutValue = ref(props.modelValue);
17
+ watch(innerValue, () => {
18
+ popoutValue.value = innerValue.value;
19
+ });
20
+ let restArgs = [];
21
+ const onChange = (value, ...args) => {
22
+ popoutValue.value = value;
23
+ restArgs = args;
24
+ options.onChange?.(value, ...args);
25
+ };
26
+ const onConfirm = () => {
27
+ options.onConfirmBefore?.();
28
+ if (popoutValue.value !== innerValue.value) {
29
+ innerValue.value = popoutValue.value;
30
+ const args = [innerValue.value, ...restArgs];
31
+ emit('update:model-value', ...args);
32
+ emit('change', ...args);
33
+ }
34
+ };
35
+ return {
36
+ innerVisible: visible,
37
+ innerValue,
38
+ popoutValue,
39
+ onChange,
40
+ onConfirm,
41
+ };
42
+ }
@@ -0,0 +1,19 @@
1
+ export interface UsePopoutInputProps {
2
+ visible?: boolean;
3
+ modelValue?: any;
4
+ }
5
+ export interface UsePopoutInputEmits {
6
+ (e: 'update:visible', visible: boolean): void;
7
+ (e: 'update:model-value', ...args: any[]): void;
8
+ (e: 'change', ...args: any[]): void;
9
+ }
10
+ export declare function usePopoutInput(props: UsePopoutInputProps, emit: UsePopoutInputEmits, options?: {
11
+ onClear?: () => void;
12
+ }): {
13
+ innerVisible: import("vue").Ref<boolean | undefined, boolean | undefined>;
14
+ innerValue: import("vue").Ref<any, any>;
15
+ inputValue: import("vue").Ref<string, string>;
16
+ show: () => void;
17
+ onChange: (...args: any[]) => void;
18
+ onClear: () => void;
19
+ };
@@ -0,0 +1,39 @@
1
+ import { ref, watch } from 'vue';
2
+ import { useTwoWayVisible } from './useTwoWayVisible';
3
+ export function usePopoutInput(props, emit, options = {}) {
4
+ // visible
5
+ const { visible } = useTwoWayVisible(props, emit);
6
+ const show = () => {
7
+ visible.value = true;
8
+ };
9
+ // value
10
+ const innerValue = ref(props.modelValue);
11
+ watch(() => props.modelValue, () => {
12
+ innerValue.value = props.modelValue;
13
+ });
14
+ const onChange = (...args) => {
15
+ emit('update:model-value', ...args);
16
+ emit('change', ...args);
17
+ };
18
+ const onClear = () => {
19
+ inputValue.value = '';
20
+ innerValue.value = undefined;
21
+ if (options.onClear) {
22
+ options.onClear();
23
+ }
24
+ else {
25
+ emit('update:model-value', undefined);
26
+ emit('change', undefined);
27
+ }
28
+ };
29
+ // input
30
+ const inputValue = ref('');
31
+ return {
32
+ innerVisible: visible,
33
+ innerValue,
34
+ inputValue,
35
+ show,
36
+ onChange,
37
+ onClear,
38
+ };
39
+ }
@@ -0,0 +1,9 @@
1
+ export interface UsePopoutInputVisibleProps {
2
+ visible?: boolean;
3
+ }
4
+ export interface UsePopoutInputVisibleEmits {
5
+ (e: 'update:visible', visible: boolean): void;
6
+ }
7
+ export declare function useTwoWayVisible(props: UsePopoutInputVisibleProps, emit: UsePopoutInputVisibleEmits): {
8
+ visible: import("vue").Ref<boolean | undefined, boolean | undefined>;
9
+ };
@@ -0,0 +1,13 @@
1
+ import { ref, watch } from 'vue';
2
+ export function useTwoWayVisible(props, emit) {
3
+ const visible = ref(props.visible);
4
+ watch(() => props.visible, () => {
5
+ visible.value = props.visible;
6
+ });
7
+ watch(visible, () => {
8
+ emit('update:visible', !!visible.value);
9
+ });
10
+ return {
11
+ visible,
12
+ };
13
+ }