@nutui/nutui 4.0.0 → 4.0.1-2.beta-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 (285) hide show
  1. package/CHANGELOG.md +226 -0
  2. package/README.md +34 -65
  3. package/dist/nutui.es.js +10 -17
  4. package/dist/nutui.js +16202 -0
  5. package/dist/nutui.umd.js +1 -7
  6. package/dist/packages/_es/ActionSheet.js +79 -94
  7. package/dist/packages/_es/Address.js +260 -345
  8. package/dist/packages/_es/AddressList.js +269 -354
  9. package/dist/packages/_es/Animate.js +46 -38
  10. package/dist/packages/_es/Audio.js +128 -180
  11. package/dist/packages/_es/AudioOperate.js +60 -52
  12. package/dist/packages/_es/Avatar.js +67 -75
  13. package/dist/packages/_es/AvatarGroup.js +23 -31
  14. package/dist/packages/_es/Backtop.js +59 -99
  15. package/dist/packages/_es/Badge.js +39 -46
  16. package/dist/packages/_es/Barrage.js +68 -145
  17. package/dist/packages/_es/Button.js +47 -66
  18. package/dist/packages/_es/Calendar.js +135 -152
  19. package/dist/packages/_es/CalendarItem.js +6 -6
  20. package/dist/packages/_es/Card.js +42 -56
  21. package/dist/packages/_es/Cascader.js +323 -433
  22. package/dist/packages/_es/Category.js +29 -39
  23. package/dist/packages/_es/CategoryPane.js +57 -83
  24. package/dist/packages/_es/Cell.js +56 -71
  25. package/dist/packages/_es/CellGroup.js +19 -27
  26. package/dist/packages/_es/Checkbox.js +109 -138
  27. package/dist/packages/_es/CheckboxGroup.js +38 -61
  28. package/dist/packages/_es/CircleProgress.js +67 -96
  29. package/dist/packages/_es/Col.js +23 -31
  30. package/dist/packages/_es/Collapse.js +37 -67
  31. package/dist/packages/_es/CollapseItem.js +91 -184
  32. package/dist/packages/_es/Comment.js +207 -279
  33. package/dist/packages/_es/ConfigProvider.js +38 -56
  34. package/dist/packages/_es/Countdown.js +100 -194
  35. package/dist/packages/_es/Countup.js +232 -428
  36. package/dist/packages/_es/DatePicker.js +169 -245
  37. package/dist/packages/_es/Dialog.js +163 -188
  38. package/dist/packages/_es/Divider.js +42 -40
  39. package/dist/packages/_es/Drag.js +70 -153
  40. package/dist/packages/_es/Ecard.js +64 -104
  41. package/dist/packages/_es/Elevator.js +144 -201
  42. package/dist/packages/_es/Ellipsis.js +95 -159
  43. package/dist/packages/_es/Empty.js +23 -39
  44. package/dist/packages/_es/FixedNav.js +93 -116
  45. package/dist/packages/_es/Form.js +108 -164
  46. package/dist/packages/_es/FormItem.js +48 -61
  47. package/dist/packages/_es/Grid.js +5 -6
  48. package/dist/packages/_es/GridItem.js +58 -84
  49. package/dist/packages/_es/Image.js +98 -88
  50. package/dist/packages/_es/ImagePreview.js +262 -392
  51. package/dist/packages/_es/Indicator.js +30 -34
  52. package/dist/packages/_es/InfiniteLoading.js +83 -117
  53. package/dist/packages/_es/Input.js +176 -223
  54. package/dist/packages/_es/InputNumber.js +81 -117
  55. package/dist/packages/_es/Interceptor-6e26b757.js +18 -0
  56. package/dist/packages/_es/Invoice.js +105 -113
  57. package/dist/packages/_es/Layout.js +3 -4
  58. package/dist/packages/_es/List.js +147 -89
  59. package/dist/packages/_es/Menu.js +96 -152
  60. package/dist/packages/_es/MenuItem.js +117 -153
  61. package/dist/packages/_es/Navbar.js +103 -119
  62. package/dist/packages/_es/Noticebar.js +207 -273
  63. package/dist/packages/_es/Notify.js +110 -147
  64. package/dist/packages/_es/NumberKeyboard.js +127 -202
  65. package/dist/packages/_es/Overlay.js +53 -66
  66. package/dist/packages/_es/Pagination.js +70 -100
  67. package/dist/packages/_es/Picker.js +276 -425
  68. package/dist/packages/_es/Popover.js +122 -225
  69. package/dist/packages/_es/Popup.js +4 -4
  70. package/dist/packages/_es/Price.js +47 -80
  71. package/dist/packages/_es/Progress.js +63 -79
  72. package/dist/packages/_es/PullRefresh.js +96 -157
  73. package/dist/packages/_es/Radio.js +4 -4
  74. package/dist/packages/_es/RadioGroup.js +3 -3
  75. package/dist/packages/_es/Range.js +205 -329
  76. package/dist/packages/_es/Rate.js +93 -122
  77. package/dist/packages/_es/Row.js +21 -27
  78. package/dist/packages/_es/Searchbar.js +130 -160
  79. package/dist/packages/_es/ShortPassword.js +69 -93
  80. package/dist/packages/_es/SideNavbar.js +49 -59
  81. package/dist/packages/_es/SideNavbarItem.js +22 -32
  82. package/dist/packages/_es/Signature.js +83 -128
  83. package/dist/packages/_es/Skeleton.js +110 -130
  84. package/dist/packages/_es/Sku.js +251 -326
  85. package/dist/packages/_es/Step.js +60 -69
  86. package/dist/packages/_es/Steps.js +26 -31
  87. package/dist/packages/_es/Sticky.js +4 -4
  88. package/dist/packages/_es/SubSideNavbar.js +52 -56
  89. package/dist/packages/_es/Swipe.js +84 -137
  90. package/dist/packages/_es/Swiper.js +175 -310
  91. package/dist/packages/_es/SwiperItem.js +28 -44
  92. package/dist/packages/_es/Switch.js +55 -67
  93. package/dist/packages/_es/TabPane.js +32 -20
  94. package/dist/packages/_es/Tabbar.js +41 -52
  95. package/dist/packages/_es/TabbarItem.js +61 -81
  96. package/dist/packages/_es/Table.js +110 -148
  97. package/dist/packages/_es/Tabs.js +284 -205
  98. package/dist/packages/_es/Tag.js +44 -61
  99. package/dist/packages/_es/Textarea.js +80 -124
  100. package/dist/packages/_es/TimeDetail.js +49 -57
  101. package/dist/packages/_es/TimePannel.js +35 -31
  102. package/dist/packages/_es/TimeSelect.js +47 -68
  103. package/dist/packages/_es/Toast.js +150 -203
  104. package/dist/packages/_es/Tour.js +139 -175
  105. package/dist/packages/_es/TrendArrow.js +57 -58
  106. package/dist/packages/_es/Uploader.js +235 -359
  107. package/dist/packages/_es/Video.js +191 -298
  108. package/dist/packages/_es/Watermark.js +84 -98
  109. package/dist/packages/_es/_plugin-vue_export-helper-dad06003.js +9 -0
  110. package/dist/packages/_es/common-d218746f.js +116 -0
  111. package/dist/packages/_es/component-234624bc.js +89 -0
  112. package/dist/packages/_es/index-14dfadc4.js +561 -0
  113. package/dist/packages/_es/index-192a3ef6.js +29 -0
  114. package/dist/packages/_es/index-360c5092.js +210 -0
  115. package/dist/packages/_es/index-496e6e05.js +24 -0
  116. package/dist/packages/_es/index-50eed3d9.js +7 -0
  117. package/dist/packages/_es/index-53ec2d4d.js +34 -0
  118. package/dist/packages/_es/index-fadb0974.js +8 -0
  119. package/dist/packages/_es/index.vue_vue_type_script_lang-1139b29a.js +43 -0
  120. package/dist/packages/_es/index.vue_vue_type_script_lang-43b774dd.js +77 -0
  121. package/dist/packages/_es/index.vue_vue_type_script_lang-f44c159d.js +110 -0
  122. package/dist/packages/_es/mountComponent-6d4ff200.js +23 -0
  123. package/dist/packages/_es/pxCheck-38173291.js +4 -0
  124. package/dist/packages/_es/raf-a74f1a06.js +16 -0
  125. package/dist/packages/_es/renderIcon-47498b32.js +5 -0
  126. package/dist/packages/actionsheet/index.scss +2 -0
  127. package/dist/packages/actionsheet/style.mjs +0 -2
  128. package/dist/packages/address/index.scss +5 -2
  129. package/dist/packages/address/style.mjs +0 -3
  130. package/dist/packages/addresslist/index.scss +3 -0
  131. package/dist/packages/addresslist/style.mjs +0 -2
  132. package/dist/packages/audio/index.scss +2 -0
  133. package/dist/packages/audio/style.mjs +0 -1
  134. package/dist/packages/audiooperate/index.scss +2 -0
  135. package/dist/packages/audiooperate/style.mjs +0 -1
  136. package/dist/packages/badge/index.scss +3 -0
  137. package/dist/packages/button/index.scss +1 -1
  138. package/dist/packages/calendar/index.scss +3 -0
  139. package/dist/packages/calendar/style.mjs +0 -3
  140. package/dist/packages/card/index.scss +3 -0
  141. package/dist/packages/card/style.mjs +0 -2
  142. package/dist/packages/cascader/index.scss +4 -0
  143. package/dist/packages/cascader/style.mjs +0 -5
  144. package/dist/packages/cellgroup/index.scss +1 -1
  145. package/dist/packages/checkbox/index.scss +41 -0
  146. package/dist/packages/col/index.scss +2 -2
  147. package/dist/packages/comment/index.scss +2 -0
  148. package/dist/packages/comment/style.mjs +0 -1
  149. package/dist/packages/datepicker/index.scss +1 -2
  150. package/dist/packages/datepicker/style.mjs +0 -3
  151. package/dist/packages/dialog/index.scss +11 -0
  152. package/dist/packages/dialog/style.mjs +0 -3
  153. package/dist/packages/ecard/index.scss +2 -0
  154. package/dist/packages/ecard/style.mjs +0 -1
  155. package/dist/packages/fixednav/index.scss +2 -0
  156. package/dist/packages/fixednav/style.mjs +0 -1
  157. package/dist/packages/form/index.scss +1 -2
  158. package/dist/packages/form/style.mjs +0 -1
  159. package/dist/packages/formitem/index.scss +3 -0
  160. package/dist/packages/formitem/style.mjs +0 -1
  161. package/dist/packages/imagepreview/index.scss +5 -5
  162. package/dist/packages/imagepreview/style.mjs +0 -5
  163. package/dist/packages/input/index.scss +13 -13
  164. package/dist/packages/invoice/index.scss +6 -0
  165. package/dist/packages/invoice/style.mjs +0 -7
  166. package/dist/packages/list/index.scss +8 -8
  167. package/dist/packages/menuitem/index.scss +9 -10
  168. package/dist/packages/menuitem/style.mjs +0 -2
  169. package/dist/packages/navbar/index.scss +0 -1
  170. package/dist/packages/noticebar/index.scss +12 -2
  171. package/dist/packages/notify/index.scss +2 -0
  172. package/dist/packages/notify/style.mjs +0 -2
  173. package/dist/packages/numberkeyboard/index.scss +2 -0
  174. package/dist/packages/numberkeyboard/style.mjs +0 -2
  175. package/dist/packages/picker/index.scss +4 -9
  176. package/dist/packages/picker/style.mjs +0 -2
  177. package/dist/packages/popover/index.scss +2 -0
  178. package/dist/packages/popover/style.mjs +0 -2
  179. package/dist/packages/popup/index.scss +2 -0
  180. package/dist/packages/popup/style.mjs +0 -1
  181. package/dist/packages/price/index.scss +5 -10
  182. package/dist/packages/rate/index.scss +6 -9
  183. package/dist/packages/searchbar/index.scss +4 -0
  184. package/dist/packages/shortpassword/index.scss +18 -0
  185. package/dist/packages/shortpassword/style.mjs +0 -2
  186. package/dist/packages/signature/index.scss +2 -0
  187. package/dist/packages/signature/style.mjs +0 -1
  188. package/dist/packages/skeleton/index.scss +2 -0
  189. package/dist/packages/skeleton/style.mjs +0 -1
  190. package/dist/packages/sku/index.scss +4 -0
  191. package/dist/packages/sku/style.mjs +0 -4
  192. package/dist/packages/tabbaritem/index.scss +2 -0
  193. package/dist/packages/tabbaritem/style.mjs +0 -1
  194. package/dist/packages/tabs/index.scss +36 -2
  195. package/dist/packages/tabs/style.mjs +0 -1
  196. package/dist/packages/textarea/index.scss +2 -0
  197. package/dist/packages/timeselect/index.scss +2 -0
  198. package/dist/packages/timeselect/style.mjs +0 -2
  199. package/dist/packages/tour/index.scss +2 -0
  200. package/dist/packages/tour/style.mjs +0 -3
  201. package/dist/packages/uploader/index.scss +10 -2
  202. package/dist/packages/uploader/style.mjs +0 -2
  203. package/dist/resolver/index.d.ts +6 -0
  204. package/dist/resolver/index.js +1 -0
  205. package/dist/resolver/index.mjs +24 -0
  206. package/dist/resolver/package.json +20 -0
  207. package/dist/smartips/web-types.json +114 -15
  208. package/dist/style.css +1 -1
  209. package/dist/styles/themes/default.scss +155 -52
  210. package/dist/styles/themes/jdb.scss +155 -52
  211. package/dist/styles/themes/jddkh.scss +155 -52
  212. package/dist/styles/themes/jdt.scss +155 -52
  213. package/dist/styles/variables-jdb.scss +9 -1
  214. package/dist/styles/variables-jddkh.scss +9 -1
  215. package/dist/styles/variables-jdt.scss +9 -1
  216. package/dist/styles/variables.scss +8 -0
  217. package/dist/types/__VUE/address/index.vue.d.ts +2 -1
  218. package/dist/types/__VUE/addresslist/components/GeneralShell.vue.d.ts +1 -1
  219. package/dist/types/__VUE/addresslist/components/ItemContents.vue.d.ts +1 -1
  220. package/dist/types/__VUE/addresslist/index.vue.d.ts +1 -1
  221. package/dist/types/__VUE/animate/index.vue.d.ts +6 -0
  222. package/dist/types/__VUE/audiooperate/index.vue.d.ts +4 -4
  223. package/dist/types/__VUE/badge/index.vue.d.ts +9 -0
  224. package/dist/types/__VUE/button/type.d.ts +1 -0
  225. package/dist/types/__VUE/calendaritem/type.d.ts +1 -0
  226. package/dist/types/__VUE/collapse/index.vue.d.ts +31 -5
  227. package/dist/types/__VUE/collapseitem/index.vue.d.ts +117 -11
  228. package/dist/types/__VUE/configprovider/index.vue.d.ts +2 -2
  229. package/dist/types/__VUE/datepicker/index.vue.d.ts +1 -1
  230. package/dist/types/__VUE/dialog/index.d.ts +1 -0
  231. package/dist/types/__VUE/dialog/index.vue.d.ts +1 -0
  232. package/dist/types/__VUE/grid/index.vue.d.ts +1 -1
  233. package/dist/types/__VUE/image/index.vue.d.ts +14 -3
  234. package/dist/types/__VUE/imagepreview/imagePreviewItem.vue.d.ts +9 -0
  235. package/dist/types/__VUE/imagepreview/index.vue.d.ts +1 -1
  236. package/dist/types/__VUE/input/index.vue.d.ts +27 -2
  237. package/dist/types/__VUE/list/index.vue.d.ts +42 -13
  238. package/dist/types/__VUE/list/type.d.ts +13 -0
  239. package/dist/types/__VUE/menu/index.vue.d.ts +0 -2
  240. package/dist/types/__VUE/menuitem/index.vue.d.ts +9 -17
  241. package/dist/types/__VUE/navbar/index.vue.d.ts +1 -1
  242. package/dist/types/__VUE/noticebar/index.vue.d.ts +5 -2
  243. package/dist/types/__VUE/picker/common.d.ts +2 -0
  244. package/dist/types/__VUE/picker/usePicker.d.ts +1 -1
  245. package/dist/types/__VUE/price/index.vue.d.ts +9 -0
  246. package/dist/types/__VUE/rate/index.vue.d.ts +110 -3
  247. package/dist/types/__VUE/row/index.vue.d.ts +1 -1
  248. package/dist/types/__VUE/searchbar/index.vue.d.ts +121 -5
  249. package/dist/types/__VUE/skeleton/index.vue.d.ts +2 -2
  250. package/dist/types/__VUE/swiper/index.vue.d.ts +9 -2
  251. package/dist/types/__VUE/switch/index.vue.d.ts +1 -0
  252. package/dist/types/__VUE/table/common.d.ts +55 -2
  253. package/dist/types/__VUE/tabpane/index.vue.d.ts +1 -4
  254. package/dist/types/__VUE/tabs/hooks.d.ts +12 -0
  255. package/dist/types/__VUE/tabs/index.vue.d.ts +35 -5
  256. package/dist/types/__VUE/tabs/types.d.ts +12 -0
  257. package/dist/types/__VUE/timeselect/index.vue.d.ts +1 -1
  258. package/dist/types/__VUE/toast/index.vue.d.ts +11 -4
  259. package/dist/types/__VUE/uploader/type.d.ts +2 -1
  260. package/dist/types/__VUE/watermark/index.vue.d.ts +1 -1
  261. package/dist/types/index.d.ts +1 -2
  262. package/dist/types/resolver/index.d.ts +6 -0
  263. package/dist/types/utils/date.d.ts +4 -0
  264. package/dist/types/utils/useTaroRect/index.d.ts +1 -1
  265. package/dist/types/utils/util.d.ts +1 -1
  266. package/package.json +13 -6
  267. package/dist/packages/_es/_plugin-vue_export-helper-cc2b3d55.js +0 -10
  268. package/dist/packages/_es/common-b9a5e726.js +0 -145
  269. package/dist/packages/_es/component-81a4c1d0.js +0 -145
  270. package/dist/packages/_es/index-29892cda.js +0 -33
  271. package/dist/packages/_es/index-2ae3ae87.js +0 -846
  272. package/dist/packages/_es/index-43c34ac6.js +0 -30
  273. package/dist/packages/_es/index-54d03fc1.js +0 -8
  274. package/dist/packages/_es/index-79c5dc33.js +0 -10
  275. package/dist/packages/_es/index-7a7385e4.js +0 -67
  276. package/dist/packages/_es/index-991c279f.js +0 -244
  277. package/dist/packages/_es/index.vue_vue_type_script_lang-22dfc112.js +0 -46
  278. package/dist/packages/_es/index.vue_vue_type_script_lang-442e4704.js +0 -98
  279. package/dist/packages/_es/index.vue_vue_type_script_lang-cc5c4086.js +0 -151
  280. package/dist/packages/_es/interceptor-956b24fc.js +0 -29
  281. package/dist/packages/_es/mountComponent-1ece4110.js +0 -39
  282. package/dist/packages/_es/pxCheck-c6b9f6b7.js +0 -6
  283. package/dist/packages/_es/raf-729dad54.js +0 -25
  284. package/dist/packages/_es/renderIcon-3d0fd47c.js +0 -9
  285. /package/dist/types/utils/{interceptor.d.ts → Interceptor.d.ts} +0 -0
@@ -1,34 +1,29 @@
1
- import { ref, reactive, computed, watch, onMounted, h, resolveComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, createBlock, resolveDynamicComponent, normalizeStyle, toDisplayString, createTextVNode, createCommentVNode, withDirectives, renderSlot, createVNode, mergeProps, vShow } from "vue";
2
- import { c as createComponent } from "./component-81a4c1d0.js";
3
- import { MaskClose } from "@nutui/icons-vue";
4
- import { _ as _export_sfc } from "./_plugin-vue_export-helper-cc2b3d55.js";
1
+ var D = Object.defineProperty;
2
+ var b = Object.getOwnPropertySymbols;
3
+ var P = Object.prototype.hasOwnProperty, W = Object.prototype.propertyIsEnumerable;
4
+ var C = (e, n, o) => n in e ? D(e, n, { enumerable: !0, configurable: !0, writable: !0, value: o }) : e[n] = o, k = (e, n) => {
5
+ for (var o in n || (n = {}))
6
+ P.call(n, o) && C(e, o, n[o]);
7
+ if (b)
8
+ for (var o of b(n))
9
+ W.call(n, o) && C(e, o, n[o]);
10
+ return e;
11
+ };
12
+ import { ref as w, reactive as O, computed as S, watch as j, onMounted as G, h as H, resolveComponent as J, openBlock as f, createElementBlock as g, normalizeClass as K, createElementVNode as s, renderSlot as p, createBlock as Q, resolveDynamicComponent as R, normalizeStyle as U, toDisplayString as V, createTextVNode as X, createCommentVNode as B, withDirectives as Y, createVNode as Z, mergeProps as x, vShow as _ } from "vue";
13
+ import { c as ee } from "./component-234624bc.js";
14
+ import { MaskClose as te } from "@nutui/icons-vue";
15
+ import { _ as ne } from "./_plugin-vue_export-helper-dad06003.js";
5
16
  import "../locale/lang";
6
- function trimExtraChar(value, char, regExp) {
7
- const index2 = value.indexOf(char);
8
- if (index2 === -1) {
9
- return value;
10
- }
11
- if (char === "-" && index2 !== 0) {
12
- return value.slice(0, index2);
13
- }
14
- return value.slice(0, index2 + 1) + value.slice(index2).replace(regExp, "");
17
+ function v(e, n, o) {
18
+ const l = e.indexOf(n);
19
+ return l === -1 ? e : n === "-" && l !== 0 ? e.slice(0, l) : e.slice(0, l + 1) + e.slice(l).replace(o, "");
15
20
  }
16
- function formatNumber(value, allowDot = true, allowMinus = true) {
17
- if (allowDot) {
18
- value = trimExtraChar(value, ".", /\./g);
19
- } else {
20
- value = value.split(".")[0];
21
- }
22
- if (allowMinus) {
23
- value = trimExtraChar(value, "-", /-/g);
24
- } else {
25
- value = value.replace(/-/, "");
26
- }
27
- const regExp = allowDot ? /[^-0-9.]/g : /[^-0-9]/g;
28
- return value.replace(regExp, "");
21
+ function L(e, n = !0, o = !0) {
22
+ n ? e = v(e, ".", /\./g) : e = e.split(".")[0], o ? e = v(e, "-", /-/g) : e = e.replace(/-/, "");
23
+ const l = n ? /[^-0-9.]/g : /[^-0-9]/g;
24
+ return e.replace(l, "");
29
25
  }
30
- const { componentName, create } = createComponent("input");
31
- const _sfc_main = create({
26
+ const { componentName: oe, create: le } = ee("input"), ae = le({
32
27
  props: {
33
28
  type: {
34
29
  type: String,
@@ -48,15 +43,15 @@ const _sfc_main = create({
48
43
  },
49
44
  required: {
50
45
  type: Boolean,
51
- default: false
46
+ default: !1
52
47
  },
53
48
  disabled: {
54
49
  type: Boolean,
55
- default: false
50
+ default: !1
56
51
  },
57
52
  readonly: {
58
53
  type: Boolean,
59
- default: false
54
+ default: !1
60
55
  },
61
56
  maxLength: {
62
57
  type: [String, Number],
@@ -64,7 +59,7 @@ const _sfc_main = create({
64
59
  },
65
60
  clearable: {
66
61
  type: Boolean,
67
- default: false
62
+ default: !1
68
63
  },
69
64
  clearSize: {
70
65
  type: [String, Number],
@@ -72,7 +67,7 @@ const _sfc_main = create({
72
67
  },
73
68
  border: {
74
69
  type: Boolean,
75
- default: true
70
+ default: !0
76
71
  },
77
72
  formatTrigger: {
78
73
  type: String,
@@ -84,11 +79,11 @@ const _sfc_main = create({
84
79
  },
85
80
  showWordLimit: {
86
81
  type: Boolean,
87
- default: false
82
+ default: !1
88
83
  },
89
84
  autofocus: {
90
85
  type: Boolean,
91
- default: false
86
+ default: !1
92
87
  },
93
88
  confirmType: {
94
89
  type: String,
@@ -96,223 +91,181 @@ const _sfc_main = create({
96
91
  },
97
92
  error: {
98
93
  type: Boolean,
99
- default: false
94
+ default: !1
95
+ },
96
+ showClearIcon: {
97
+ type: Boolean,
98
+ default: !1
99
+ },
100
+ class: {
101
+ type: String,
102
+ default: ""
100
103
  }
101
104
  },
102
- components: { MaskClose },
103
- emits: ["update:modelValue", "blur", "focus", "clear", "keypress", "click-input"],
104
- setup(props, { emit, slots }) {
105
- const active = ref(false);
106
- const inputRef = ref();
107
- const getModelValue = () => String(props.modelValue ?? "");
108
- const renderInput = (type) => {
109
- return h("input", {
110
- style: styles,
111
- type: type != "textarea" && inputType(type)
112
- });
113
- };
114
- const state = reactive({
115
- focused: false,
116
- validateFailed: false,
105
+ components: { MaskClose: te },
106
+ emits: ["update:modelValue", "blur", "focus", "clear", "keypress", "click", "click-input"],
107
+ expose: ["focus", "blur", "select"],
108
+ setup(e, { emit: n, slots: o }) {
109
+ const l = w(!1), i = w(), u = () => {
110
+ var t;
111
+ return String((t = e.modelValue) != null ? t : "");
112
+ }, m = (t) => H("input", k({
113
+ style: h
114
+ }, y(t))), r = O({
115
+ focused: !1,
116
+ validateFailed: !1,
117
117
  // 校验失败
118
118
  validateMessage: ""
119
119
  // 校验信息
120
- });
121
- const classes = computed(() => {
122
- const prefixCls = componentName;
120
+ }), N = S(() => {
121
+ const t = oe;
123
122
  return {
124
- [prefixCls]: true,
125
- [`${prefixCls}--disabled`]: props.disabled,
126
- [`${prefixCls}--required`]: props.required,
127
- [`${prefixCls}--error`]: props.error,
128
- [`${prefixCls}--border`]: props.border
123
+ [t]: !0,
124
+ [`${t}--disabled`]: e.disabled,
125
+ [`${t}--required`]: e.required,
126
+ [`${t}--error`]: e.error,
127
+ [`${t}--border`]: e.border,
128
+ [e.class]: !!e.class
129
129
  };
130
- });
131
- const styles = computed(() => {
132
- return {
133
- textAlign: props.inputAlign
134
- };
135
- });
136
- const inputType = (type) => {
137
- if (type === "number") {
138
- return "text";
139
- } else if (type === "digit") {
140
- return "tel";
141
- } else {
142
- return type;
143
- }
144
- };
145
- const onInput = (event) => {
146
- if (!event.target.composing) {
147
- const input = event.target;
148
- let value = input.value;
149
- if (props.maxLength && value.length > Number(props.maxLength)) {
150
- value = value.slice(0, Number(props.maxLength));
151
- }
152
- updateValue(value);
153
- }
154
- };
155
- const updateValue = (value, trigger = "onChange") => {
156
- var _a;
157
- if (props.type === "digit") {
158
- value = formatNumber(value, false, false);
159
- }
160
- if (props.type === "number") {
161
- value = formatNumber(value, true, true);
162
- }
163
- if (props.formatter && trigger === props.formatTrigger) {
164
- value = props.formatter(value);
165
- }
166
- if (((_a = inputRef == null ? void 0 : inputRef.value) == null ? void 0 : _a.value) !== value) {
167
- inputRef.value.value = value;
168
- }
169
- if (value !== props.modelValue) {
170
- emit("update:modelValue", value);
130
+ }), h = S(() => ({
131
+ textAlign: e.inputAlign
132
+ })), y = (t) => t === "number" ? {
133
+ type: "text"
134
+ } : t === "digit" ? {
135
+ type: "tel"
136
+ } : { type: t }, $ = (t) => {
137
+ if (!t.target.composing) {
138
+ let a = t.target.value;
139
+ e.maxLength && a.length > Number(e.maxLength) && (a = a.slice(0, Number(e.maxLength))), d(a);
171
140
  }
172
- };
173
- const onFocus = (event) => {
174
- if (props.disabled || props.readonly) {
141
+ }, d = (t, c = "onChange") => {
142
+ var a;
143
+ e.type === "digit" && (t = L(t, !1, !1)), e.type === "number" && (t = L(t, !0, !0)), e.formatter && c === e.formatTrigger && (t = e.formatter(t)), ((a = i == null ? void 0 : i.value) == null ? void 0 : a.value) !== t && (i.value.value = t), t !== e.modelValue && n("update:modelValue", t);
144
+ }, T = (t) => {
145
+ if (e.disabled || e.readonly)
175
146
  return;
176
- }
177
- const input = event.target;
178
- let value = input.value;
179
- active.value = true;
180
- emit("focus", event);
181
- emit("update:modelValue", value);
182
- };
183
- const onBlur = (event) => {
184
- if (props.disabled || props.readonly) {
147
+ t.target.value, l.value = !0, n("focus", t);
148
+ }, I = (t) => {
149
+ if (e.disabled || e.readonly)
185
150
  return;
186
- }
187
151
  setTimeout(() => {
188
- active.value = false;
152
+ l.value = !1;
189
153
  }, 200);
190
- const input = event.target;
191
- let value = input.value;
192
- if (props.maxLength && value.length > Number(props.maxLength)) {
193
- value = value.slice(0, Number(props.maxLength));
194
- }
195
- updateValue(getModelValue(), "onBlur");
196
- emit("blur", event);
197
- emit("update:modelValue", value);
198
- };
199
- const clear = (event) => {
200
- event.stopPropagation();
201
- if (props.disabled)
202
- return;
203
- emit("update:modelValue", "", event);
204
- emit("clear", "", event);
205
- };
206
- const resetValidation = () => {
207
- if (state.validateFailed) {
208
- state.validateFailed = false;
209
- state.validateMessage = "";
210
- }
211
- };
212
- const onClickInput = (event) => {
213
- if (props.disabled) {
214
- return;
215
- }
216
- emit("click-input", event);
217
- };
218
- const startComposing = ({ target }) => {
219
- target.composing = true;
220
- };
221
- const endComposing = ({ target }) => {
222
- if (target.composing) {
223
- target.composing = false;
224
- target.dispatchEvent(new Event("input"));
225
- }
154
+ let a = t.target.value;
155
+ e.maxLength && a.length > Number(e.maxLength) && (a = a.slice(0, Number(e.maxLength))), d(u(), "onBlur"), n("blur", t);
156
+ }, z = (t) => {
157
+ t.stopPropagation(), !e.disabled && (n("update:modelValue", "", t), n("clear", "", t));
158
+ }, F = () => {
159
+ r.validateFailed && (r.validateFailed = !1, r.validateMessage = "");
160
+ }, M = (t) => {
161
+ e.disabled || n("click-input", t);
162
+ }, E = (t) => {
163
+ n("click", t);
164
+ }, q = ({ target: t }) => {
165
+ t.composing = !0;
166
+ }, A = ({ target: t }) => {
167
+ t.composing && (t.composing = !1, t.dispatchEvent(new Event("input")));
226
168
  };
227
- watch(
228
- () => props.modelValue,
169
+ return j(
170
+ () => e.modelValue,
229
171
  () => {
230
- updateValue(getModelValue());
231
- resetValidation();
172
+ d(u()), F();
173
+ }
174
+ ), G(() => {
175
+ d(u(), e.formatTrigger);
176
+ }), {
177
+ renderInput: m,
178
+ inputRef: i,
179
+ active: l,
180
+ classes: N,
181
+ styles: h,
182
+ inputType: y,
183
+ onInput: $,
184
+ onFocus: T,
185
+ onBlur: I,
186
+ clear: z,
187
+ startComposing: q,
188
+ endComposing: A,
189
+ onClick: E,
190
+ onClickInput: M,
191
+ focus: () => {
192
+ var t;
193
+ (t = i.value) == null || t.focus();
194
+ },
195
+ blur: () => {
196
+ var t;
197
+ (t = i.value) == null || t.blur();
198
+ },
199
+ select: () => {
200
+ var t;
201
+ (t = i.value) == null || t.select();
232
202
  }
233
- );
234
- onMounted(() => {
235
- updateValue(getModelValue(), props.formatTrigger);
236
- });
237
- return {
238
- renderInput,
239
- inputRef,
240
- active,
241
- classes,
242
- styles,
243
- inputType,
244
- onInput,
245
- onFocus,
246
- onBlur,
247
- clear,
248
- startComposing,
249
- endComposing,
250
- onClickInput
251
203
  };
252
204
  }
253
- });
254
- const _hoisted_1 = { class: "nut-input-value" };
255
- const _hoisted_2 = { class: "nut-input-inner" };
256
- const _hoisted_3 = { class: "nut-input-box" };
257
- const _hoisted_4 = {
205
+ }), ie = { class: "nut-input-value" }, re = { class: "nut-input-inner" }, se = { class: "nut-input-left-box" }, ue = { class: "nut-input-box" }, de = {
258
206
  key: 0,
259
207
  class: "nut-input-word-limit"
260
- };
261
- const _hoisted_5 = { class: "nut-input-word-num" };
262
- const _hoisted_6 = {
263
- key: 0,
264
- class: "nut-input-clear-box"
265
- };
266
- function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
267
- const _component_MaskClose = resolveComponent("MaskClose");
268
- return openBlock(), createElementBlock("view", {
269
- class: normalizeClass(_ctx.classes)
208
+ }, ce = { class: "nut-input-word-num" }, fe = { class: "nut-input-right-box" };
209
+ function me(e, n, o, l, i, u) {
210
+ const m = J("MaskClose");
211
+ return f(), g("view", {
212
+ class: K(e.classes),
213
+ onClick: n[1] || (n[1] = (...r) => e.onClick && e.onClick(...r))
270
214
  }, [
271
- createElementVNode("view", _hoisted_1, [
272
- createElementVNode("view", _hoisted_2, [
273
- createElementVNode("view", _hoisted_3, [
274
- (openBlock(), createBlock(resolveDynamicComponent(_ctx.renderInput(_ctx.type)), {
215
+ s("view", ie, [
216
+ s("view", re, [
217
+ s("view", se, [
218
+ p(e.$slots, "left")
219
+ ]),
220
+ s("view", ue, [
221
+ (f(), Q(R(e.renderInput(e.type)), {
275
222
  class: "input-text",
276
223
  ref: "inputRef",
277
- style: normalizeStyle(_ctx.styles),
278
- maxlength: _ctx.maxLength,
279
- placeholder: _ctx.placeholder,
280
- disabled: _ctx.disabled,
281
- readonly: _ctx.readonly,
282
- value: _ctx.modelValue,
283
- formatTrigger: _ctx.formatTrigger,
284
- autofocus: _ctx.autofocus,
285
- enterkeyhint: _ctx.confirmType,
286
- onInput: _ctx.onInput,
287
- onFocus: _ctx.onFocus,
288
- onBlur: _ctx.onBlur,
289
- onClick: _ctx.onClickInput,
290
- onChange: _ctx.endComposing,
291
- onCompositionend: _ctx.endComposing,
292
- onCompositionstart: _ctx.startComposing
224
+ style: U(e.styles),
225
+ maxlength: e.maxLength,
226
+ placeholder: e.placeholder,
227
+ disabled: e.disabled,
228
+ readonly: e.readonly,
229
+ value: e.modelValue,
230
+ formatTrigger: e.formatTrigger,
231
+ autofocus: e.autofocus,
232
+ enterkeyhint: e.confirmType,
233
+ onInput: e.onInput,
234
+ onFocus: e.onFocus,
235
+ onBlur: e.onBlur,
236
+ onClick: e.onClickInput,
237
+ onChange: e.endComposing,
238
+ onCompositionend: e.endComposing,
239
+ onCompositionstart: e.startComposing
293
240
  }, null, 40, ["style", "maxlength", "placeholder", "disabled", "readonly", "value", "formatTrigger", "autofocus", "enterkeyhint", "onInput", "onFocus", "onBlur", "onClick", "onChange", "onCompositionend", "onCompositionstart"])),
294
- _ctx.showWordLimit && _ctx.maxLength ? (openBlock(), createElementBlock("view", _hoisted_4, [
295
- createElementVNode("span", _hoisted_5, toDisplayString(_ctx.modelValue ? _ctx.modelValue.length : 0), 1),
296
- createTextVNode("/" + toDisplayString(_ctx.maxLength), 1)
297
- ])) : createCommentVNode("", true)
241
+ e.showWordLimit && e.maxLength ? (f(), g("view", de, [
242
+ s("span", ce, V(e.modelValue ? e.modelValue.length : 0), 1),
243
+ X("/" + V(e.maxLength), 1)
244
+ ])) : B("", !0)
298
245
  ]),
299
- _ctx.clearable && !_ctx.readonly ? withDirectives((openBlock(), createElementBlock("view", _hoisted_6, [
300
- renderSlot(_ctx.$slots, "clear", {}, () => [
301
- createVNode(_component_MaskClose, mergeProps({ class: "nut-input-clear" }, _ctx.$attrs, {
302
- size: _ctx.clearSize,
303
- width: _ctx.clearSize,
304
- height: _ctx.clearSize,
305
- onClick: _ctx.clear
306
- }), null, 16, ["size", "width", "height", "onClick"])
246
+ e.clearable && !e.readonly ? Y((f(), g("view", {
247
+ key: 0,
248
+ class: "nut-input-clear-box",
249
+ onClick: n[0] || (n[0] = (...r) => e.clear && e.clear(...r))
250
+ }, [
251
+ p(e.$slots, "clear", {}, () => [
252
+ Z(m, x({ class: "nut-input-clear" }, e.$attrs, {
253
+ size: e.clearSize,
254
+ width: e.clearSize,
255
+ height: e.clearSize
256
+ }), null, 16, ["size", "width", "height"])
307
257
  ])
308
258
  ], 512)), [
309
- [vShow, _ctx.active && _ctx.modelValue.length > 0]
310
- ]) : createCommentVNode("", true)
259
+ [_, (e.active || e.showClearIcon) && e.modelValue.length > 0]
260
+ ]) : B("", !0),
261
+ s("view", fe, [
262
+ p(e.$slots, "right")
263
+ ])
311
264
  ])
312
265
  ])
313
266
  ], 2);
314
267
  }
315
- const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
268
+ const Ve = /* @__PURE__ */ ne(ae, [["render", me]]);
316
269
  export {
317
- index as default
270
+ Ve as default
318
271
  };