sard-uniapp 1.25.3 → 1.25.5

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 (223) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +15 -0
  3. package/components/accordion/accordion.vue +1 -1
  4. package/components/accordion-item/accordion-item.vue +1 -1
  5. package/components/action-sheet/action-sheet.vue +1 -1
  6. package/components/alert/alert.vue +1 -1
  7. package/components/avatar/avatar.vue +1 -1
  8. package/components/avatar-group/avatar-group.vue +1 -1
  9. package/components/back-top/back-top.vue +1 -1
  10. package/components/badge/badge.vue +1 -1
  11. package/components/button/button.vue +1 -1
  12. package/components/calendar/calendar.vue +1 -1
  13. package/components/calendar-input/README.md +1 -3
  14. package/components/calendar-input/calendar-input.d.ts +2 -0
  15. package/components/calendar-input/calendar-input.vue +13 -3
  16. package/components/calendar-input/common.d.ts +152 -0
  17. package/components/calendar-popout/calendar-popout.vue +2 -2
  18. package/components/card/card.vue +1 -1
  19. package/components/cascader/README.md +89 -18
  20. package/components/cascader/cascader.d.ts +6 -6
  21. package/components/cascader/cascader.vue +201 -182
  22. package/components/cascader/common.d.ts +32 -7
  23. package/components/cascader/common.js +39 -23
  24. package/components/cascader/index.d.ts +1 -1
  25. package/components/cascader/index.scss +40 -4
  26. package/components/cascader/useCascaderTabs.d.ts +12 -0
  27. package/components/cascader/useCascaderTabs.js +59 -0
  28. package/components/cascader/useCascaderTree.d.ts +66 -0
  29. package/components/cascader/useCascaderTree.js +194 -0
  30. package/components/cascader/variables.scss +9 -2
  31. package/components/cascader-input/README.md +27 -18
  32. package/components/cascader-input/cascader-input.d.ts +9 -2
  33. package/components/cascader-input/cascader-input.vue +81 -17
  34. package/components/cascader-input/common.d.ts +470 -28
  35. package/components/cascader-popout/README.md +6 -0
  36. package/components/cascader-popout/cascader-popout.d.ts +5 -1
  37. package/components/cascader-popout/cascader-popout.vue +16 -4
  38. package/components/cascader-popout/common.d.ts +169 -17
  39. package/components/check-icon/check-icon.vue +1 -1
  40. package/components/checkbox/checkbox.d.ts +2 -2
  41. package/components/checkbox/checkbox.vue +1 -1
  42. package/components/checkbox-group/checkbox-group.vue +1 -1
  43. package/components/checkbox-input/README.md +1 -3
  44. package/components/checkbox-input/checkbox-input.d.ts +2 -0
  45. package/components/checkbox-input/checkbox-input.vue +13 -3
  46. package/components/checkbox-input/common.d.ts +128 -0
  47. package/components/checkbox-popout/checkbox-popout.vue +2 -2
  48. package/components/col/col.vue +1 -1
  49. package/components/collapse/collapse.vue +1 -1
  50. package/components/config/index.js +4 -1
  51. package/components/cool-icon/cool-icon.vue +1 -1
  52. package/components/count-down/count-down.vue +1 -1
  53. package/components/crop-image/crop-image.vue +1 -1
  54. package/components/crop-image-agent/crop-image-agent.vue +1 -1
  55. package/components/datetime-picker/datetime-picker.vue +1 -1
  56. package/components/datetime-picker-input/README.md +1 -3
  57. package/components/datetime-picker-input/common.d.ts +116 -0
  58. package/components/datetime-picker-input/datetime-picker-input.d.ts +2 -0
  59. package/components/datetime-picker-input/datetime-picker-input.vue +13 -3
  60. package/components/datetime-picker-popout/datetime-picker-popout.vue +2 -2
  61. package/components/datetime-range-picker/datetime-range-picker.vue +1 -1
  62. package/components/datetime-range-picker-input/README.md +1 -3
  63. package/components/datetime-range-picker-input/common.d.ts +120 -0
  64. package/components/datetime-range-picker-input/datetime-range-picker-input.d.ts +2 -0
  65. package/components/datetime-range-picker-input/datetime-range-picker-input.vue +13 -3
  66. package/components/datetime-range-picker-popout/datetime-range-picker-popout.vue +2 -2
  67. package/components/dialog/dialog.vue +2 -2
  68. package/components/dialog-agent/dialog-agent.vue +2 -2
  69. package/components/divider/divider.vue +1 -1
  70. package/components/dnd/dnd.vue +1 -1
  71. package/components/dnd-handle/dnd-handle.vue +1 -1
  72. package/components/dnd-item/dnd-item.vue +1 -1
  73. package/components/dropdown/dropdown.vue +1 -1
  74. package/components/dropdown-item/dropdown-item.vue +7 -2
  75. package/components/empty/empty.vue +1 -1
  76. package/components/fab/fab.vue +1 -1
  77. package/components/fab-item/fab-item.vue +1 -1
  78. package/components/floating-bubble/floating-bubble.vue +1 -1
  79. package/components/floating-panel/floating-panel.vue +1 -1
  80. package/components/form/form.vue +1 -1
  81. package/components/form-item/form-item.vue +1 -1
  82. package/components/form-item-plain/form-item-plain.vue +1 -1
  83. package/components/form-plain/form-plain.vue +1 -1
  84. package/components/grid/grid.vue +1 -1
  85. package/components/grid-item/grid-item.vue +2 -2
  86. package/components/icon/icon.vue +1 -1
  87. package/components/icon/sari.scss +17 -17
  88. package/components/image/image.vue +10 -4
  89. package/components/indexes/indexes.vue +1 -1
  90. package/components/indexes-anchor/indexes-anchor.vue +1 -1
  91. package/components/input/index.scss +2 -0
  92. package/components/input/input.vue +1 -1
  93. package/components/keyboard/keyboard.vue +1 -1
  94. package/components/list/list.vue +1 -1
  95. package/components/list-item/list-item.vue +1 -1
  96. package/components/load-more/load-more.vue +1 -1
  97. package/components/loading/loading.vue +1 -1
  98. package/components/locale/lang/ar-SA.d.ts +2 -0
  99. package/components/locale/lang/ar-SA.js +2 -0
  100. package/components/locale/lang/en-US.d.ts +2 -0
  101. package/components/locale/lang/en-US.js +2 -0
  102. package/components/locale/lang/vi-VN.d.ts +2 -0
  103. package/components/locale/lang/vi-VN.js +2 -0
  104. package/components/locale/lang/zh-CN.d.ts +2 -0
  105. package/components/locale/lang/zh-CN.js +2 -0
  106. package/components/marquee/marquee.vue +1 -1
  107. package/components/menu/menu.vue +1 -1
  108. package/components/navbar/navbar.vue +2 -2
  109. package/components/navbar-item/navbar-item.vue +1 -1
  110. package/components/navbar-pit/navbar-pit.vue +1 -1
  111. package/components/notice-bar/notice-bar.vue +1 -1
  112. package/components/notify/notify.vue +2 -1
  113. package/components/notify-agent/notify-agent.vue +1 -1
  114. package/components/overlay/overlay.vue +1 -1
  115. package/components/pagination/pagination.vue +1 -1
  116. package/components/password-input/password-input.vue +1 -1
  117. package/components/picker/picker.vue +1 -1
  118. package/components/picker-input/README.md +1 -7
  119. package/components/picker-input/common.d.ts +102 -0
  120. package/components/picker-input/picker-input.d.ts +2 -0
  121. package/components/picker-input/picker-input.vue +13 -4
  122. package/components/picker-item/picker-item.vue +1 -1
  123. package/components/picker-popout/picker-popout.vue +2 -2
  124. package/components/popout/popout.vue +1 -1
  125. package/components/popout-input/README.md +5 -3
  126. package/components/popout-input/common.d.ts +63 -1
  127. package/components/popout-input/index.scss +0 -1
  128. package/components/popout-input/popout-input.d.ts +2 -0
  129. package/components/popout-input/popout-input.vue +5 -3
  130. package/components/popout-input/variables.scss +0 -1
  131. package/components/popover/popover.vue +3 -2
  132. package/components/popover-reference/popover-reference.vue +1 -1
  133. package/components/popup/README.md +1 -0
  134. package/components/popup/common.d.ts +28 -0
  135. package/components/popup/index.scss +4 -2
  136. package/components/popup/popup.d.ts +1 -0
  137. package/components/popup/popup.vue +82 -16
  138. package/components/popup/variables.scss +6 -0
  139. package/components/progress-bar/progress-bar.vue +1 -1
  140. package/components/progress-circle/progress-circle.vue +1 -1
  141. package/components/pull-down-refresh/pull-down-refresh.vue +1 -1
  142. package/components/qrcode/qrcode.vue +6 -5
  143. package/components/radio/radio.vue +1 -1
  144. package/components/radio-group/radio-group.vue +1 -1
  145. package/components/radio-input/README.md +1 -3
  146. package/components/radio-input/common.d.ts +122 -0
  147. package/components/radio-input/radio-input.d.ts +2 -0
  148. package/components/radio-input/radio-input.vue +13 -3
  149. package/components/radio-popout/radio-popout.vue +2 -2
  150. package/components/rate/rate.vue +1 -1
  151. package/components/read-more/read-more.vue +1 -1
  152. package/components/resize-sensor/index.scss +7 -0
  153. package/components/resize-sensor/resize-sensor.vue +10 -3
  154. package/components/result/result.vue +1 -1
  155. package/components/row/row.vue +1 -1
  156. package/components/scroll-list/scroll-list.vue +1 -1
  157. package/components/scroll-spy/scroll-spy.vue +1 -1
  158. package/components/scroll-spy-anchor/scroll-spy-anchor.vue +1 -1
  159. package/components/search/search.vue +1 -1
  160. package/components/segmented/segmented.vue +1 -1
  161. package/components/segmented-item/segmented-item.vue +1 -1
  162. package/components/share-sheet/share-sheet.vue +2 -1
  163. package/components/sidebar/sidebar.vue +1 -1
  164. package/components/sidebar-item/sidebar-item.vue +1 -1
  165. package/components/signature/signature.vue +1 -1
  166. package/components/skeleton/skeleton.vue +1 -1
  167. package/components/skeleton-avatar/skeleton-avatar.vue +1 -1
  168. package/components/skeleton-block/skeleton-block.vue +1 -1
  169. package/components/skeleton-paragraph/skeleton-paragraph.vue +1 -1
  170. package/components/skeleton-title/skeleton-title.vue +1 -1
  171. package/components/slider/slider.vue +1 -1
  172. package/components/space/space.vue +1 -1
  173. package/components/status-bar/status-bar.vue +1 -1
  174. package/components/step/step.vue +1 -1
  175. package/components/stepper/stepper.vue +1 -1
  176. package/components/steps/steps.vue +1 -1
  177. package/components/sticky/sticky.vue +1 -1
  178. package/components/sticky-box/sticky-box.vue +1 -1
  179. package/components/swipe-action/swipe-action.vue +1 -1
  180. package/components/swiper-dot/swiper-dot.vue +1 -1
  181. package/components/switch/switch.vue +1 -1
  182. package/components/tab/tab.vue +1 -1
  183. package/components/tabbar/tabbar.vue +1 -1
  184. package/components/tabbar-item/tabbar-item.vue +1 -1
  185. package/components/tabbar-pit/tabbar-pit.vue +1 -1
  186. package/components/table/table.vue +1 -1
  187. package/components/table-cell/table-cell.vue +1 -1
  188. package/components/table-fixation/table-fixation.vue +1 -1
  189. package/components/table-row/table-row.vue +1 -1
  190. package/components/tabs/tabs.vue +1 -1
  191. package/components/tag/tag.vue +1 -1
  192. package/components/timeline/timeline.vue +1 -1
  193. package/components/timeline-item/timeline-item.vue +1 -1
  194. package/components/toast/toast.vue +2 -1
  195. package/components/toast-agent/toast-agent.vue +1 -1
  196. package/components/tree/README.md +0 -2
  197. package/components/tree/tree.d.ts +1 -1
  198. package/components/tree/tree.vue +36 -81
  199. package/components/tree-node/tree-node.vue +8 -4
  200. package/components/upload/upload.vue +1 -1
  201. package/components/upload-preview/upload-preview.vue +1 -1
  202. package/components/waterfall/waterfall.vue +1 -1
  203. package/components/waterfall-item/waterfall-item.vue +1 -1
  204. package/components/waterfall-load/waterfall-load.vue +1 -1
  205. package/components/watermark/watermark.vue +6 -8
  206. package/package.json +2 -1
  207. package/use/index.d.ts +1 -0
  208. package/use/index.js +1 -0
  209. package/use/useLockScroll.d.ts +8 -0
  210. package/use/useLockScroll.js +88 -0
  211. package/utils/file.d.ts +6 -0
  212. package/utils/file.js +33 -11
  213. package/utils/index.d.ts +2 -0
  214. package/utils/index.js +2 -0
  215. package/utils/log.d.ts +1 -0
  216. package/utils/log.js +4 -0
  217. package/utils/router.js +2 -1
  218. package/utils/system.d.ts +2 -0
  219. package/utils/system.js +6 -1
  220. package/utils/tree.d.ts +18 -0
  221. package/utils/tree.js +94 -0
  222. package/components/tree/utils.d.ts +0 -5
  223. package/components/tree/utils.js +0 -29
package/CHANGELOG.md CHANGED
@@ -1,3 +1,28 @@
1
+ ## [1.25.5](https://github.com/sutras/sard-uniapp/compare/v1.25.4...v1.25.5) (2025-11-30)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **image:** 修复image动态展示时无法获取正确尺寸的问题 ([432d8b3](https://github.com/sutras/sard-uniapp/commit/432d8b368a3b49e70f79d8c0b3a7ce65969171e5))
7
+
8
+
9
+ ### Features
10
+
11
+ * **cascader:** 级联组件新增多选功能 ([7f104c1](https://github.com/sutras/sard-uniapp/commit/7f104c1a393509a6b1c97b2565520f9f8e6f8361))
12
+ * 兼容鸿蒙 ([53924d7](https://github.com/sutras/sard-uniapp/commit/53924d7f9562bb4cbe162083998f1485590c629f))
13
+ * 阻止页面滚动(弹窗中的滚动穿透) ([21b43c0](https://github.com/sutras/sard-uniapp/commit/21b43c0924ba1197b217b6fd1020fbd07d5b04fe))
14
+
15
+
16
+
17
+ ## [1.25.4](https://github.com/sutras/sard-uniapp/compare/v1.25.3...v1.25.4) (2025-11-22)
18
+
19
+
20
+ ### Features
21
+
22
+ * *-input 类组件新增input前置/后置插槽 ([98d879b](https://github.com/sutras/sard-uniapp/commit/98d879bea01faa8f7c72f6c24f59e42e9da165ef))
23
+
24
+
25
+
1
26
  ## [1.25.3](https://github.com/sutras/sard-uniapp/compare/v1.25.2...v1.25.3) (2025-11-12)
2
27
 
3
28
 
package/README.md CHANGED
@@ -6,6 +6,13 @@
6
6
 
7
7
  <p align="center">sard-uniapp 是一套基于 Uniapp + Vue3 框架开发的兼容多端的 UI 组件库。</p>
8
8
 
9
+ <p align="center">
10
+ <a href="https://www.npmjs.com/package/sard-uniapp"><img src="https://img.shields.io/npm/dm/sard-uniapp.svg" alt="Total Downloads"></a>
11
+ <a href="https://github.com/sutras/sard-uniapp/tags"><img src="https://img.shields.io/npm/v/sard-uniapp.svg" alt="Latest Release"></a>
12
+ <a href="https://github.com/sutras/sard-uniapp/graphs/contributors"><img src="https://img.shields.io/github/contributors/sutras/sard-uniapp" alt="Contributors"></a>
13
+ <a href="https://github.com/sutras/sard-uniapp/blob/master/LICENSE"><img src="https://img.shields.io/npm/l/tailwindcss.svg" alt="License"></a>
14
+ </p>
15
+
9
16
  <p align="center">
10
17
  国内:📖 <a href="http://sard.wzt.zone/sard-uniapp-docs">文档</a>&nbsp;&nbsp;&nbsp;&nbsp;
11
18
  🧑🏻‍🏫 <a href="http://sard.wzt.zone/sard-uniapp-docs/mobile/">案例演示</a>&nbsp;&nbsp;&nbsp;&nbsp;
@@ -156,3 +163,11 @@ npm run release
156
163
  - 将 gitee 发行版 apk 资源链接转换为二维码图片
157
164
  - 将图片更新到 `sard-assets` 项目,并发布到 npm
158
165
  - 最后等待 http://fastly.jsdelivr.net 链接生效
166
+
167
+ ## 贡献者
168
+
169
+ 感谢这些优秀的人:
170
+
171
+ <p align="center">
172
+ <a href="https://www.npmjs.com/package/sard-uniapp"><img src="https://contrib.rocks/image?repo=sutras/sard-uniapp&columns=10&anon=1" alt="Contributors"></a>
173
+ </p>
@@ -28,7 +28,7 @@ export default _defineComponent({
28
28
  },
29
29
  __name: "accordion",
30
30
  props: {
31
- rootStyle: { type: [Boolean, null, String, Object, Array], required: false, skipCheck: true },
31
+ rootStyle: { type: null, required: false },
32
32
  rootClass: { type: String, required: false },
33
33
  modelValue: { type: [Array, String, Number], required: false },
34
34
  multiple: { type: Boolean, required: false },
@@ -46,7 +46,7 @@ export default _defineComponent({
46
46
  },
47
47
  __name: "accordion-item",
48
48
  props: {
49
- rootStyle: { type: [Boolean, null, String, Object, Array], required: false, skipCheck: true },
49
+ rootStyle: { type: null, required: false },
50
50
  rootClass: { type: String, required: false },
51
51
  title: { type: String, required: false },
52
52
  value: { type: String, required: false },
@@ -100,7 +100,7 @@ export default _defineComponent({
100
100
  },
101
101
  __name: "action-sheet",
102
102
  props: _mergeDefaults({
103
- rootStyle: { type: [Boolean, null, String, Object, Array], required: false, skipCheck: true },
103
+ rootStyle: { type: null, required: false },
104
104
  rootClass: { type: String, required: false },
105
105
  description: { type: String, required: false },
106
106
  itemList: { type: Array, required: false },
@@ -43,7 +43,7 @@ export default _defineComponent({
43
43
  },
44
44
  __name: "alert",
45
45
  props: _mergeDefaults({
46
- rootStyle: { type: [Boolean, null, String, Object, Array], required: false, skipCheck: true },
46
+ rootStyle: { type: null, required: false },
47
47
  rootClass: { type: String, required: false },
48
48
  showIcon: { type: Boolean, required: false },
49
49
  closable: { type: Boolean, required: false },
@@ -62,7 +62,7 @@ export default _defineComponent({
62
62
  },
63
63
  __name: "avatar",
64
64
  props: _mergeDefaults({
65
- rootStyle: { type: [Boolean, null, String, Object, Array], required: false, skipCheck: true },
65
+ rootStyle: { type: null, required: false },
66
66
  rootClass: { type: String, required: false },
67
67
  shape: { type: String, required: false },
68
68
  size: { type: String, required: false },
@@ -31,7 +31,7 @@ export default _defineComponent({
31
31
  },
32
32
  __name: "avatar-group",
33
33
  props: _mergeDefaults({
34
- rootStyle: { type: [Boolean, null, String, Object, Array], required: false, skipCheck: true },
34
+ rootStyle: { type: null, required: false },
35
35
  rootClass: { type: String, required: false },
36
36
  max: { type: Number, required: true },
37
37
  total: { type: Number, required: true },
@@ -35,7 +35,7 @@ export default _defineComponent({
35
35
  },
36
36
  __name: "back-top",
37
37
  props: _mergeDefaults({
38
- rootStyle: { type: [Boolean, null, String, Object, Array], required: false, skipCheck: true },
38
+ rootStyle: { type: null, required: false },
39
39
  rootClass: { type: String, required: false },
40
40
  scrollTop: { type: Number, required: false },
41
41
  visibleHeight: { type: Number, required: false },
@@ -39,7 +39,7 @@ export default _defineComponent({
39
39
  },
40
40
  __name: "badge",
41
41
  props: _mergeDefaults({
42
- rootStyle: { type: [Boolean, null, String, Object, Array], required: false, skipCheck: true },
42
+ rootStyle: { type: null, required: false },
43
43
  rootClass: { type: String, required: false },
44
44
  value: { type: [Number, String], required: false },
45
45
  max: { type: Number, required: false },
@@ -119,7 +119,7 @@ export default _defineComponent({
119
119
  },
120
120
  __name: "button",
121
121
  props: _mergeDefaults({
122
- rootStyle: { type: [Boolean, null, String, Object, Array], required: false, skipCheck: true },
122
+ rootStyle: { type: null, required: false },
123
123
  rootClass: { type: String, required: false },
124
124
  type: { type: String, required: false },
125
125
  theme: { type: String, required: false },
@@ -169,7 +169,7 @@ export default _defineComponent({
169
169
  },
170
170
  __name: "calendar",
171
171
  props: _mergeDefaults({
172
- rootStyle: { type: [Boolean, null, String, Object, Array], required: false, skipCheck: true },
172
+ rootStyle: { type: null, required: false },
173
173
  rootClass: { type: String, required: false },
174
174
  type: { type: String, required: false },
175
175
  modelValue: { type: [Date, Array, String], required: false },
@@ -65,9 +65,7 @@ import CalendarInput from 'sard-uniapp/components/calendar-input/calendar-input.
65
65
 
66
66
  ### CalendarInputSlots
67
67
 
68
- | 插槽 | 描述 | 属性 |
69
- | ---------------------- | ---------- | ---------- |
70
- | arrow <sup>1.22+</sup> | 自定义箭头 | () => void |
68
+ 继承 [`PopoutInputSlots`](./popout-input#PopoutInputSlots)
71
69
 
72
70
  ### CalendarInputEmits
73
71
 
@@ -38,9 +38,11 @@ declare const __VLS_component: import("vue").DefineComponent<CalendarInputProps,
38
38
  resettable: boolean;
39
39
  placeholder: string;
40
40
  clearable: boolean;
41
+ internalPrepend: number;
41
42
  multiline: boolean;
42
43
  arrow: string;
43
44
  arrowFamily: string;
45
+ internalAppend: number;
44
46
  internalArrow: number;
45
47
  inputProps: import("../input/common.js").InputProps;
46
48
  outletFormat: string;
@@ -9,11 +9,19 @@
9
9
  :root-style="rootStyle"
10
10
  :arrow="arrow"
11
11
  :internal-arrow="$slots.arrow ? 1 : 0"
12
+ :internal-prepend="$slots.prepend ? 1 : 0"
13
+ :internal-append="$slots.append ? 1 : 0"
12
14
  :input-props="inputProps"
13
15
  @clear="onClear"
14
16
  @click="show"
15
17
  >
16
- <template v-if="$slots.arrow" #arrow>
18
+ <template #prepend>
19
+ <slot name="prepend"></slot>
20
+ </template>
21
+ <template #append>
22
+ <slot name="append"></slot>
23
+ </template>
24
+ <template #arrow>
17
25
  <slot name="arrow"></slot>
18
26
  </template>
19
27
  <sar-calendar-popout
@@ -126,9 +134,9 @@ export default _defineComponent({
126
134
  showConfirm: { type: Boolean, required: false },
127
135
  validateEvent: { type: Boolean, required: false },
128
136
  popoutClass: { type: String, required: false },
129
- popoutStyle: { type: [Boolean, null, String, Object, Array], required: false, skipCheck: true },
137
+ popoutStyle: { type: null, required: false },
130
138
  resettable: { type: Boolean, required: false },
131
- rootStyle: { type: [Boolean, null, String, Object, Array], required: false, skipCheck: true },
139
+ rootStyle: { type: null, required: false },
132
140
  rootClass: { type: String, required: false },
133
141
  type: { type: String, required: false },
134
142
  modelValue: { type: [Date, Array, String], required: false },
@@ -153,6 +161,8 @@ export default _defineComponent({
153
161
  multiline: { type: Boolean, required: false },
154
162
  arrow: { type: String, required: false },
155
163
  arrowFamily: { type: String, required: false },
164
+ internalPrepend: { type: Number, required: false },
165
+ internalAppend: { type: Number, required: false },
156
166
  internalArrow: { type: Number, required: false },
157
167
  inputProps: { type: Object, required: false }
158
168
  }, defaultCalendarInputProps()),