@nutui/nutui 3.1.19-beta.7 → 3.1.20-beta.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 (267) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/README.md +1 -1
  3. package/dist/nutui.es.js +3329 -1681
  4. package/dist/nutui.umd.js +3336 -1682
  5. package/dist/packages/_es/ActionSheet.js +19 -23
  6. package/dist/packages/_es/Address.js +17 -13
  7. package/dist/packages/_es/AddressList.js +616 -0
  8. package/dist/packages/_es/Audio.js +2 -1
  9. package/dist/packages/_es/AudioOperate.js +2 -1
  10. package/dist/packages/_es/Avatar.js +120 -24
  11. package/dist/packages/_es/AvatarGroup.js +78 -0
  12. package/dist/packages/_es/BackTop.js +2 -1
  13. package/dist/packages/_es/Badge.js +2 -1
  14. package/dist/packages/_es/Barrage.js +2 -1
  15. package/dist/packages/_es/Button.js +2 -1
  16. package/dist/packages/_es/Calendar.js +2 -1
  17. package/dist/packages/_es/CalendarItem.js +2 -1
  18. package/dist/packages/_es/Card.js +13 -5
  19. package/dist/packages/_es/Cascader.js +30 -31
  20. package/dist/packages/_es/Category.js +63 -0
  21. package/dist/packages/_es/CategoryPane.js +116 -0
  22. package/dist/packages/_es/Cell.js +2 -1
  23. package/dist/packages/_es/CellGroup.js +2 -1
  24. package/dist/packages/_es/Checkbox.js +2 -1
  25. package/dist/packages/_es/CheckboxGroup.js +2 -1
  26. package/dist/packages/_es/CircleProgress.js +114 -67
  27. package/dist/packages/_es/Col.js +12 -4
  28. package/dist/packages/_es/Collapse.js +2 -1
  29. package/dist/packages/_es/CollapseItem.js +13 -2
  30. package/dist/packages/_es/Comment.js +440 -0
  31. package/dist/packages/_es/CountDown.js +175 -137
  32. package/dist/packages/_es/CountUp.js +2 -1
  33. package/dist/packages/_es/DatePicker.js +40 -12
  34. package/dist/packages/_es/Dialog.js +36 -44
  35. package/dist/packages/_es/Divider.js +2 -1
  36. package/dist/packages/_es/Drag.js +2 -1
  37. package/dist/packages/_es/Ecard.js +22 -11
  38. package/dist/packages/_es/Elevator.js +2 -1
  39. package/dist/packages/_es/Empty.js +2 -1
  40. package/dist/packages/_es/FixedNav.js +2 -1
  41. package/dist/packages/_es/Form.js +2 -1
  42. package/dist/packages/_es/FormItem.js +6 -4
  43. package/dist/packages/_es/Grid.js +2 -1
  44. package/dist/packages/_es/GridItem.js +2 -1
  45. package/dist/packages/_es/Icon.js +2 -1
  46. package/dist/packages/_es/ImagePreview.js +11 -14
  47. package/dist/packages/_es/Indicator.js +2 -1
  48. package/dist/packages/_es/InfiniteLoading.js +11 -8
  49. package/dist/packages/_es/Input.js +5 -3
  50. package/dist/packages/_es/InputNumber.js +2 -1
  51. package/dist/packages/_es/Layout.js +2 -1
  52. package/dist/packages/_es/List.js +7 -3
  53. package/dist/packages/_es/Menu.js +2 -1
  54. package/dist/packages/_es/MenuItem.js +2 -1
  55. package/dist/packages/_es/Navbar.js +2 -1
  56. package/dist/packages/_es/NoticeBar.js +2 -1
  57. package/dist/packages/_es/Notify.js +41 -23
  58. package/dist/packages/_es/NumberKeyboard.js +2 -1
  59. package/dist/packages/_es/OldPicker.js +2 -1
  60. package/dist/packages/_es/OverLay.js +2 -1
  61. package/dist/packages/_es/Pagination.js +2 -1
  62. package/dist/packages/_es/Picker.js +9 -6
  63. package/dist/packages/_es/Popover.js +2 -1
  64. package/dist/packages/_es/Popup.js +7 -1
  65. package/dist/packages/_es/Price.js +2 -1
  66. package/dist/packages/_es/Progress.js +19 -4
  67. package/dist/packages/_es/PullRefresh.js +2 -1
  68. package/dist/packages/_es/Radio.js +2 -1
  69. package/dist/packages/_es/RadioGroup.js +2 -1
  70. package/dist/packages/_es/Range.js +2 -1
  71. package/dist/packages/_es/Rate.js +2 -1
  72. package/dist/packages/_es/Row.js +12 -4
  73. package/dist/packages/_es/SearchBar.js +2 -1
  74. package/dist/packages/_es/ShortPassword.js +2 -1
  75. package/dist/packages/_es/SideNavBar.js +2 -1
  76. package/dist/packages/_es/SideNavBarItem.js +2 -1
  77. package/dist/packages/_es/Signature.js +9 -10
  78. package/dist/packages/_es/Skeleton.js +2 -1
  79. package/dist/packages/_es/Sku.js +17 -14
  80. package/dist/packages/_es/Step.js +2 -1
  81. package/dist/packages/_es/Steps.js +2 -1
  82. package/dist/packages/_es/Sticky.js +2 -1
  83. package/dist/packages/_es/SubSideNavBar.js +2 -1
  84. package/dist/packages/_es/Swipe.js +2 -1
  85. package/dist/packages/_es/Swiper.js +2 -1
  86. package/dist/packages/_es/SwiperItem.js +2 -1
  87. package/dist/packages/_es/Switch.js +2 -1
  88. package/dist/packages/_es/TabPane.js +2 -1
  89. package/dist/packages/_es/Tabbar.js +2 -1
  90. package/dist/packages/_es/TabbarItem.js +2 -1
  91. package/dist/packages/_es/Table.js +21 -18
  92. package/dist/packages/_es/Tabs.js +27 -24
  93. package/dist/packages/_es/Tag.js +2 -1
  94. package/dist/packages/_es/TextArea.js +4 -3
  95. package/dist/packages/_es/TimeDetail.js +2 -1
  96. package/dist/packages/_es/TimePannel.js +2 -1
  97. package/dist/packages/_es/TimeSelect.js +7 -5
  98. package/dist/packages/_es/Toast.js +2 -1
  99. package/dist/packages/_es/Uploader.js +43 -52
  100. package/dist/packages/_es/Video.js +2 -1
  101. package/dist/packages/_es/common.js +1 -1
  102. package/dist/packages/_es/component.js +27 -113
  103. package/dist/packages/_es/index.js +1 -1
  104. package/dist/packages/_es/index2.js +1 -1
  105. package/dist/packages/_es/index3.js +1 -1
  106. package/dist/packages/_es/index4.js +1 -1
  107. package/dist/packages/_es/index5.js +1 -1
  108. package/dist/packages/_es/plugin-vue_export-helper.js +1 -1
  109. package/dist/packages/_es/pxCheck.js +1 -1
  110. package/dist/packages/_es/raf.js +1 -1
  111. package/dist/packages/_es/style.css +111 -0
  112. package/dist/packages/actionsheet/index.scss +0 -4
  113. package/dist/packages/addresslist/index.scss +144 -0
  114. package/dist/packages/avatar/index.scss +10 -5
  115. package/dist/packages/avatargroup/index.scss +14 -0
  116. package/dist/packages/category/index.scss +38 -0
  117. package/dist/packages/categorypane/index.scss +124 -0
  118. package/dist/packages/circleprogress/index.scss +12 -53
  119. package/dist/packages/col/index.scss +2 -2
  120. package/dist/packages/collapseitem/index.scss +12 -2
  121. package/dist/packages/comment/index.scss +353 -0
  122. package/dist/packages/ecard/index.scss +2 -2
  123. package/dist/packages/input/index.scss +18 -2
  124. package/dist/packages/locale/index.d.ts +3 -0
  125. package/dist/packages/locale/index.scss +1 -0
  126. package/dist/packages/locale/lang/baseLang.js +8 -0
  127. package/dist/packages/locale/lang/en-US.js +91 -0
  128. package/dist/packages/locale/lang/index.js +48 -0
  129. package/dist/packages/locale/lang/index.scss +1 -0
  130. package/dist/packages/locale/lang/zh-CN.js +91 -0
  131. package/dist/packages/locale/lang/zh-TW.js +91 -0
  132. package/dist/packages/locale/locale/index.d.ts +8 -0
  133. package/dist/packages/locale/locale/lang/baseLang.d.ts +82 -0
  134. package/dist/packages/locale/locale/lang/en-US.d.ts +83 -0
  135. package/dist/packages/locale/locale/lang/zh-CN.d.ts +83 -0
  136. package/dist/packages/locale/locale/lang/zh-TW.d.ts +83 -0
  137. package/dist/packages/notify/index.scss +2 -0
  138. package/dist/packages/popup/index.scss +4 -0
  139. package/dist/smartips/attributes.json +2542 -0
  140. package/dist/smartips/tags.json +955 -0
  141. package/dist/style.css +1 -1
  142. package/dist/styles/font/config.json +5 -0
  143. package/dist/styles/themes/default.scss +51 -46
  144. package/dist/styles/themes/jdt.scss +51 -46
  145. package/dist/styles/variables-jdt.scss +22 -3
  146. package/dist/styles/variables.scss +21 -2
  147. package/dist/types/__VUE/actionsheet/index.d.ts +14 -14
  148. package/dist/types/__VUE/address/index.d.ts +15 -5
  149. package/dist/types/__VUE/addresslist/components/GeneralShell.d.ts +35 -0
  150. package/dist/types/__VUE/addresslist/components/ItemContents.d.ts +42 -0
  151. package/dist/types/__VUE/addresslist/components/LongPressShell.d.ts +47 -0
  152. package/dist/types/__VUE/addresslist/components/SwipeShell.d.ts +37 -0
  153. package/dist/types/__VUE/addresslist/index.d.ts +81 -0
  154. package/dist/types/__VUE/audio/index.d.ts +3 -3
  155. package/dist/types/__VUE/audiooperate/index.d.ts +3 -3
  156. package/dist/types/__VUE/avatar/index.d.ts +48 -4
  157. package/dist/types/__VUE/avatargroup/index.d.ts +93 -0
  158. package/dist/types/__VUE/backtop/index.d.ts +3 -3
  159. package/dist/types/__VUE/badge/index.d.ts +3 -3
  160. package/dist/types/__VUE/barrage/index.d.ts +3 -3
  161. package/dist/types/__VUE/button/index.d.ts +3 -3
  162. package/dist/types/__VUE/calendar/index.d.ts +4 -4
  163. package/dist/types/__VUE/calendaritem/index.d.ts +3 -3
  164. package/dist/types/__VUE/card/index.d.ts +12 -3
  165. package/dist/types/__VUE/cascader/cascader-item.d.ts +3 -3
  166. package/dist/types/__VUE/cascader/index.d.ts +167 -3
  167. package/dist/types/__VUE/cascader/tree.d.ts +0 -1
  168. package/dist/types/__VUE/category/index.d.ts +38 -0
  169. package/dist/types/__VUE/categorypane/index.d.ts +45 -0
  170. package/dist/types/__VUE/cell/index.d.ts +3 -3
  171. package/dist/types/__VUE/cellgroup/index.d.ts +3 -3
  172. package/dist/types/__VUE/checkbox/index.d.ts +3 -3
  173. package/dist/types/__VUE/checkboxgroup/index.d.ts +3 -3
  174. package/dist/types/__VUE/circleprogress/index.d.ts +58 -30
  175. package/dist/types/__VUE/col/index.d.ts +8 -5
  176. package/dist/types/__VUE/collapse/index.d.ts +4 -4
  177. package/dist/types/__VUE/collapseitem/index.d.ts +3 -3
  178. package/dist/types/__VUE/comment/components/CmtBottom.d.ts +52 -0
  179. package/dist/types/__VUE/comment/components/CmtHeader.d.ts +47 -0
  180. package/dist/types/__VUE/comment/components/CmtImages.d.ts +51 -0
  181. package/dist/types/__VUE/comment/index.d.ts +110 -0
  182. package/dist/types/__VUE/countdown/index.d.ts +81 -67
  183. package/dist/types/__VUE/countdown/util.d.ts +6 -0
  184. package/dist/types/__VUE/countup/index.d.ts +3 -3
  185. package/dist/types/__VUE/datepicker/index.d.ts +13 -4
  186. package/dist/types/__VUE/dialog/index.d.ts +15 -15
  187. package/dist/types/__VUE/divider/index.d.ts +3 -3
  188. package/dist/types/__VUE/drag/index.d.ts +3 -3
  189. package/dist/types/__VUE/ecard/index.d.ts +4 -3
  190. package/dist/types/__VUE/elevator/index.d.ts +4 -4
  191. package/dist/types/__VUE/empty/index.d.ts +3 -3
  192. package/dist/types/__VUE/fixednav/index.d.ts +4 -4
  193. package/dist/types/__VUE/form/index.d.ts +3 -3
  194. package/dist/types/__VUE/formitem/index.d.ts +3 -3
  195. package/dist/types/__VUE/grid/index.d.ts +3 -3
  196. package/dist/types/__VUE/griditem/index.d.ts +3 -3
  197. package/dist/types/__VUE/icon/index.d.ts +3 -3
  198. package/dist/types/__VUE/imagepreview/index.d.ts +3 -3
  199. package/dist/types/__VUE/indicator/index.d.ts +3 -3
  200. package/dist/types/__VUE/infiniteloading/index.d.ts +7 -7
  201. package/dist/types/__VUE/input/index.d.ts +3 -3
  202. package/dist/types/__VUE/inputnumber/index.d.ts +3 -3
  203. package/dist/types/__VUE/layout/index.d.ts +3 -3
  204. package/dist/types/__VUE/list/index.d.ts +12 -4
  205. package/dist/types/__VUE/menu/index.d.ts +4 -4
  206. package/dist/types/__VUE/menuitem/index.d.ts +3 -3
  207. package/dist/types/__VUE/navbar/index.d.ts +3 -3
  208. package/dist/types/__VUE/noticebar/index.d.ts +5 -5
  209. package/dist/types/__VUE/notify/index.d.ts +13 -3
  210. package/dist/types/__VUE/numberkeyboard/index.d.ts +5 -5
  211. package/dist/types/__VUE/oldpicker/Column.d.ts +3 -3
  212. package/dist/types/__VUE/oldpicker/index.d.ts +14 -5
  213. package/dist/types/__VUE/overlay/index.d.ts +3 -3
  214. package/dist/types/__VUE/pagination/index.d.ts +3 -3
  215. package/dist/types/__VUE/picker/Column.d.ts +3 -3
  216. package/dist/types/__VUE/picker/index.d.ts +14 -5
  217. package/dist/types/__VUE/popover/index.d.ts +14 -5
  218. package/dist/types/__VUE/popup/index.d.ts +15 -6
  219. package/dist/types/__VUE/price/index.d.ts +3 -3
  220. package/dist/types/__VUE/progress/index.d.ts +4 -3
  221. package/dist/types/__VUE/pullrefresh/index.d.ts +3 -3
  222. package/dist/types/__VUE/radio/index.d.ts +3 -3
  223. package/dist/types/__VUE/radiogroup/index.d.ts +3 -3
  224. package/dist/types/__VUE/range/index.d.ts +3 -3
  225. package/dist/types/__VUE/rate/index.d.ts +3 -3
  226. package/dist/types/__VUE/row/index.d.ts +8 -5
  227. package/dist/types/__VUE/searchbar/index.d.ts +3 -3
  228. package/dist/types/__VUE/shortpassword/index.d.ts +4 -4
  229. package/dist/types/__VUE/sidenavbar/index.d.ts +3 -3
  230. package/dist/types/__VUE/sidenavbaritem/index.d.ts +3 -3
  231. package/dist/types/__VUE/signature/index.d.ts +4 -3
  232. package/dist/types/__VUE/skeleton/index.d.ts +3 -3
  233. package/dist/types/__VUE/sku/components/SkuHeader.d.ts +4 -3
  234. package/dist/types/__VUE/sku/components/SkuOperate.d.ts +3 -3
  235. package/dist/types/__VUE/sku/components/SkuSelect.d.ts +3 -3
  236. package/dist/types/__VUE/sku/components/SkuStepper.d.ts +3 -3
  237. package/dist/types/__VUE/sku/index.d.ts +15 -5
  238. package/dist/types/__VUE/step/index.d.ts +3 -3
  239. package/dist/types/__VUE/steps/index.d.ts +3 -3
  240. package/dist/types/__VUE/sticky/index.d.ts +3 -3
  241. package/dist/types/__VUE/subsidenavbar/index.d.ts +3 -3
  242. package/dist/types/__VUE/swipe/index.d.ts +5 -5
  243. package/dist/types/__VUE/swiper/index.d.ts +4 -4
  244. package/dist/types/__VUE/swiperitem/index.d.ts +3 -3
  245. package/dist/types/__VUE/switch/index.d.ts +3 -3
  246. package/dist/types/__VUE/tabbar/index.d.ts +4 -4
  247. package/dist/types/__VUE/tabbaritem/index.d.ts +3 -3
  248. package/dist/types/__VUE/table/common.d.ts +2 -1
  249. package/dist/types/__VUE/table/index.d.ts +3 -3
  250. package/dist/types/__VUE/table/renderColumn.d.ts +5 -10
  251. package/dist/types/__VUE/table/types.d.ts +2 -2
  252. package/dist/types/__VUE/tabpane/index.d.ts +3 -3
  253. package/dist/types/__VUE/tabs/common.d.ts +78 -0
  254. package/dist/types/__VUE/tabs/index.d.ts +15 -17
  255. package/dist/types/__VUE/tag/index.d.ts +4 -4
  256. package/dist/types/__VUE/textarea/index.d.ts +6 -6
  257. package/dist/types/__VUE/timedetail/index.d.ts +3 -3
  258. package/dist/types/__VUE/timepannel/index.d.ts +3 -3
  259. package/dist/types/__VUE/timeselect/index.d.ts +4 -3
  260. package/dist/types/__VUE/toast/index.d.ts +3 -3
  261. package/dist/types/__VUE/uploader/index.d.ts +5 -5
  262. package/dist/types/__VUE/uploader/uploader.d.ts +1 -1
  263. package/dist/types/__VUE/video/index.d.ts +3 -3
  264. package/dist/types/nutui.d.ts +8 -2
  265. package/package.json +11 -12
  266. package/dist/index.d.ts +0 -3
  267. package/dist/nutui.d.ts +0 -103
@@ -18,13 +18,28 @@ var __spreadValues = (a, b) => {
18
18
  };
19
19
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
20
  /*!
21
- * @nutui/nutui v3.1.19-beta.7 Wed Apr 13 2022 10:29:11 GMT+0800 (中国标准时间)
21
+ * @nutui/nutui v3.1.20-beta.0 Mon Apr 25 2022 18:02:52 GMT+0800 (中国标准时间)
22
22
  * (c) 2022 @jdf2e.
23
23
  * Released under the MIT License.
24
24
  */
25
- import { reactive, computed, watch, toRefs, openBlock, createElementBlock, normalizeClass, renderSlot, toDisplayString, Fragment, createElementVNode, createCommentVNode } from "vue";
25
+ import { reactive, computed, onBeforeMount, watch, toRefs, openBlock, createElementBlock, normalizeClass, renderSlot } from "vue";
26
26
  import { c as createComponent } from "./component.js";
27
27
  import { _ as _export_sfc } from "./plugin-vue_export-helper.js";
28
+ import "../locale/lang";
29
+ const padZero = (num, length = 2) => {
30
+ num += "";
31
+ while (num.length < length) {
32
+ num = "0" + num;
33
+ }
34
+ return num.toString();
35
+ };
36
+ const getTimeStamp = (timeStr) => {
37
+ if (!timeStr)
38
+ return Date.now();
39
+ let t = timeStr;
40
+ t = t > 0 ? +t : t.toString().replace(/\-/g, "/");
41
+ return new Date(t).getTime();
42
+ };
28
43
  const { componentName, create, translate } = createComponent("countdown");
29
44
  const _sfc_main = create({
30
45
  props: {
@@ -38,14 +53,6 @@ const _sfc_main = create({
38
53
  default: false,
39
54
  type: Boolean
40
55
  },
41
- showDays: {
42
- default: false,
43
- type: Boolean
44
- },
45
- showPlainText: {
46
- default: false,
47
- type: Boolean
48
- },
49
56
  startTime: {
50
57
  type: [Number, String],
51
58
  validator(v) {
@@ -59,167 +66,198 @@ const _sfc_main = create({
59
66
  const dateStr = new Date(v).toString().toLowerCase();
60
67
  return dateStr !== "invalid date";
61
68
  }
69
+ },
70
+ millisecond: {
71
+ default: false,
72
+ type: Boolean
73
+ },
74
+ format: {
75
+ type: String,
76
+ default: "HH:mm:ss"
77
+ },
78
+ autoStart: {
79
+ type: Boolean,
80
+ default: true
81
+ },
82
+ time: {
83
+ type: [Number, String],
84
+ default: 0
62
85
  }
63
86
  },
64
- components: {},
65
87
  emits: ["input", "on-end", "on-restart", "on-paused", "update:modelValue"],
66
88
  setup(props, { emit, slots }) {
67
89
  const state = reactive({
68
90
  restTime: 0,
69
- p: 0,
70
- _curr: 0,
71
- timer: null
91
+ timer: null,
92
+ counting: !props.paused && props.autoStart,
93
+ handleEndTime: Date.now(),
94
+ diffTime: 0
72
95
  });
73
- const resttime = computed(() => {
74
- const rest = restTime(state.restTime);
75
- const { d, h, m, s } = rest;
76
- if (!props.showDays && d > 0) {
77
- rest.h = fill2(Number(rest.h) + d * 24);
78
- rest.d = 0;
79
- }
80
- return rest;
96
+ const classes = computed(() => {
97
+ const prefixCls = componentName;
98
+ return {
99
+ [prefixCls]: true
100
+ };
81
101
  });
82
- const plainText = computed(() => {
83
- const { d, h, m, s } = resttime.value;
84
- return `${d > 0 && props.showDays ? d + translate("day") + h : h}${translate("hour")}${m}${translate("minute")}${s}${translate("second")}`;
102
+ const renderTime = computed(() => {
103
+ return formatRemainTime(state.restTime);
85
104
  });
86
- watch(() => props.value, (value) => {
105
+ const initTime = () => {
106
+ state.handleEndTime = props.endTime;
107
+ state.diffTime = Date.now() - getTimeStamp(props.startTime);
108
+ if (!state.counting)
109
+ state.counting = true;
110
+ tick();
111
+ };
112
+ const tick = () => {
113
+ if (window !== void 0) {
114
+ state.timer = requestAnimationFrame(() => {
115
+ if (state.counting) {
116
+ const currentTime = Date.now() - state.diffTime;
117
+ const remainTime = Math.max(state.handleEndTime - currentTime, 0);
118
+ state.restTime = remainTime;
119
+ if (!remainTime) {
120
+ state.counting = false;
121
+ pause();
122
+ emit("on-end");
123
+ }
124
+ if (remainTime > 0) {
125
+ tick();
126
+ }
127
+ }
128
+ });
129
+ }
130
+ };
131
+ const formatRemainTime = (t, type) => {
132
+ const ts = t;
133
+ let rest = {
134
+ d: 0,
135
+ h: 0,
136
+ m: 0,
137
+ s: 0,
138
+ ms: 0
139
+ };
140
+ const SECOND = 1e3;
141
+ const MINUTE = 60 * SECOND;
142
+ const HOUR = 60 * MINUTE;
143
+ const DAY = 24 * HOUR;
144
+ if (ts > 0) {
145
+ rest.d = ts >= SECOND ? Math.floor(ts / DAY) : 0;
146
+ rest.h = Math.floor(ts % DAY / HOUR);
147
+ rest.m = Math.floor(ts % HOUR / MINUTE);
148
+ rest.s = Math.floor(ts % MINUTE / SECOND);
149
+ rest.ms = Math.floor(ts % SECOND);
150
+ }
151
+ return type == "custom" ? rest : parseFormat(__spreadValues({}, rest));
152
+ };
153
+ const parseFormat = (time) => {
154
+ let { d, h, m, s, ms } = time;
155
+ let format = props.format;
156
+ if (format.includes("DD")) {
157
+ format = format.replace("DD", padZero(d));
158
+ } else {
159
+ h += Number(d) * 24;
160
+ }
161
+ if (format.includes("HH")) {
162
+ format = format.replace("HH", padZero(h));
163
+ } else {
164
+ m += Number(h) * 60;
165
+ }
166
+ if (format.includes("mm")) {
167
+ format = format.replace("mm", padZero(m));
168
+ } else {
169
+ s += Number(m) * 60;
170
+ }
171
+ if (format.includes("ss")) {
172
+ format = format.replace("ss", padZero(s));
173
+ } else {
174
+ ms += Number(s) * 1e3;
175
+ }
176
+ if (format.includes("S")) {
177
+ const msC = padZero(ms, 3).toString();
178
+ if (format.includes("SSS")) {
179
+ format = format.replace("SSS", msC);
180
+ } else if (format.includes("SS")) {
181
+ format = format.replace("SS", msC.slice(0, 2));
182
+ } else if (format.includes("S")) {
183
+ format = format.replace("SS", msC.slice(0, 1));
184
+ }
185
+ }
186
+ return format;
187
+ };
188
+ const start = () => {
189
+ if (!state.counting && !props.autoStart) {
190
+ state.counting = true;
191
+ state.handleEndTime = Date.now() + Number(state.restTime);
192
+ tick();
193
+ emit("on-restart", state.restTime);
194
+ }
195
+ };
196
+ const pause = () => {
197
+ cancelAnimationFrame(state.timer);
198
+ state.counting = false;
199
+ emit("on-paused", state.restTime);
200
+ };
201
+ const reset = () => {
202
+ if (!props.autoStart) {
203
+ pause();
204
+ state.restTime = props.time;
205
+ }
206
+ };
207
+ onBeforeMount(() => {
208
+ if (props.autoStart) {
209
+ initTime();
210
+ } else {
211
+ state.restTime = props.time;
212
+ }
87
213
  });
88
214
  watch(() => state.restTime, (value) => {
89
- let tranTime = restTime(value);
215
+ let tranTime = formatRemainTime(value, "custom");
90
216
  emit("update:modelValue", tranTime);
91
217
  emit("input", tranTime);
92
218
  });
93
219
  watch(() => props.paused, (v, ov) => {
94
220
  if (!ov) {
95
- state._curr = getTimeStamp();
96
- emit("on-paused", state.restTime);
221
+ if (state.counting) {
222
+ pause();
223
+ }
97
224
  } else {
98
- state.p += getTimeStamp() - state._curr;
225
+ if (!state.counting) {
226
+ state.counting = true;
227
+ state.handleEndTime = Date.now() + Number(state.restTime);
228
+ tick();
229
+ }
99
230
  emit("on-restart", state.restTime);
100
231
  }
101
232
  });
102
233
  watch(() => props.endTime, (value) => {
103
- initTimer();
234
+ initTime();
104
235
  });
105
236
  watch(() => props.startTime, (value) => {
106
- initTimer();
237
+ initTime();
107
238
  });
108
- const classes = computed(() => {
109
- const prefixCls = componentName;
110
- return {
111
- [prefixCls]: true
112
- };
113
- });
114
- const getTimeStamp = (timeStr) => {
115
- if (!timeStr)
116
- return Date.now();
117
- let t = timeStr;
118
- t = t > 0 ? +t : t.toString().replace(/\-/g, "/");
119
- return new Date(t).getTime();
120
- };
121
- const initTimer = () => {
122
- const delay = 1e3;
123
- const curr = Date.now();
124
- const start = getTimeStamp(props.startTime || curr);
125
- const end = getTimeStamp(props.endTime || curr);
126
- const diffTime = curr - start;
127
- state.restTime = end - (start + diffTime);
128
- clearInterval(state.timer);
129
- state.timer = null;
130
- state.timer = setInterval(() => {
131
- if (!props.paused) {
132
- let restTime2 = end - (Date.now() - state.p + diffTime);
133
- state.restTime = restTime2;
134
- if (restTime2 < 0) {
135
- state.restTime = 0;
136
- emit("on-end");
137
- clearInterval(state.timer);
138
- }
139
- }
140
- }, delay);
141
- };
142
- const fill2 = (v) => {
143
- v += "";
144
- while (v.length < 2) {
145
- v = "0" + v;
146
- }
147
- return v;
148
- };
149
- const restTime = (t) => {
150
- const ts = t;
151
- let rest = {
152
- d: "-",
153
- h: "--",
154
- m: "--",
155
- s: "--"
156
- };
157
- if (ts === 0) {
158
- rest = {
159
- d: "0",
160
- h: "00",
161
- m: "00",
162
- s: "00"
163
- };
164
- }
165
- if (ts) {
166
- const ds = 24 * 60 * 60 * 1e3;
167
- const hs = 60 * 60 * 1e3;
168
- const ms = 60 * 1e3;
169
- const d = ts >= ds ? parseInt(ts / ds) : 0;
170
- const h = ts - d * ds >= hs ? parseInt((ts - d * ds) / hs) : 0;
171
- const m = ts - d * ds - h * hs >= ms ? parseInt((ts - d * ds - h * hs) / ms) : 0;
172
- const s = Math.round((ts - d * ds - h * hs - m * ms) / 1e3);
173
- if (d >= 0)
174
- rest.d = d + "";
175
- if (h >= 0)
176
- rest.h = fill2(h);
177
- if (m >= 0)
178
- rest.m = fill2(m);
179
- if (s >= 0)
180
- rest.s = fill2(s);
181
- }
182
- return rest;
183
- };
184
- initTimer();
185
239
  return __spreadProps(__spreadValues({}, toRefs(props)), {
186
240
  slots,
187
241
  classes,
188
242
  getTimeStamp,
189
- initTimer,
190
- resttime,
191
- plainText,
192
- translate
243
+ start,
244
+ pause,
245
+ renderTime,
246
+ translate,
247
+ reset
193
248
  });
194
249
  }
195
250
  });
196
- const _hoisted_1 = {
197
- key: 1,
198
- class: "nut-cd-block"
199
- };
200
- const _hoisted_2 = { class: "nut-cd-block" };
201
- const _hoisted_3 = { class: "nut-cd-dot" };
202
- const _hoisted_4 = { class: "nut-cd-block" };
203
- const _hoisted_5 = /* @__PURE__ */ createElementVNode("view", { class: "nut-cd-dot" }, ":", -1);
204
- const _hoisted_6 = { class: "nut-cd-block" };
205
- const _hoisted_7 = /* @__PURE__ */ createElementVNode("view", { class: "nut-cd-dot" }, ":", -1);
206
- const _hoisted_8 = { class: "nut-cd-block" };
251
+ const _hoisted_1 = ["innerHTML"];
207
252
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
208
253
  return openBlock(), createElementBlock("view", {
209
- class: normalizeClass(_ctx.classes),
210
- onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleClick && _ctx.handleClick(...args))
254
+ class: normalizeClass(_ctx.classes)
211
255
  }, [
212
- _ctx.slots.default ? renderSlot(_ctx.$slots, "default", { key: 0 }) : _ctx.showPlainText ? (openBlock(), createElementBlock("view", _hoisted_1, toDisplayString(_ctx.plainText), 1)) : (openBlock(), createElementBlock(Fragment, { key: 2 }, [
213
- _ctx.resttime.d >= 0 && _ctx.showDays ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
214
- createElementVNode("view", _hoisted_2, toDisplayString(_ctx.resttime.d), 1),
215
- createElementVNode("view", _hoisted_3, toDisplayString(_ctx.translate("day")), 1)
216
- ], 64)) : createCommentVNode("", true),
217
- createElementVNode("view", _hoisted_4, toDisplayString(_ctx.resttime.h), 1),
218
- _hoisted_5,
219
- createElementVNode("view", _hoisted_6, toDisplayString(_ctx.resttime.m), 1),
220
- _hoisted_7,
221
- createElementVNode("view", _hoisted_8, toDisplayString(_ctx.resttime.s), 1)
222
- ], 64))
256
+ _ctx.slots.default ? renderSlot(_ctx.$slots, "default", { key: 0 }) : (openBlock(), createElementBlock("view", {
257
+ key: 1,
258
+ class: "nut-cd-block",
259
+ innerHTML: _ctx.renderTime
260
+ }, null, 8, _hoisted_1))
223
261
  ], 2);
224
262
  }
225
263
  var index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
@@ -18,13 +18,14 @@ var __spreadValues = (a, b) => {
18
18
  };
19
19
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
20
  /*!
21
- * @nutui/nutui v3.1.19-beta.7 Wed Apr 13 2022 10:29:11 GMT+0800 (中国标准时间)
21
+ * @nutui/nutui v3.1.20-beta.0 Mon Apr 25 2022 18:02:52 GMT+0800 (中国标准时间)
22
22
  * (c) 2022 @jdf2e.
23
23
  * Released under the MIT License.
24
24
  */
25
25
  import { getCurrentInstance, ref, reactive, watch, nextTick, onMounted, onUnmounted, toRefs, openBlock, createElementBlock, Fragment, normalizeStyle, renderList, createCommentVNode, toDisplayString, createTextVNode } from "vue";
26
26
  import { c as createComponent } from "./component.js";
27
27
  import { _ as _export_sfc } from "./plugin-vue_export-helper.js";
28
+ import "../locale/lang";
28
29
  function useExtend(apis) {
29
30
  const instance = getCurrentInstance();
30
31
  if (instance) {
@@ -18,16 +18,17 @@ var __spreadValues = (a, b) => {
18
18
  };
19
19
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
20
  /*!
21
- * @nutui/nutui v3.1.19-beta.7 Wed Apr 13 2022 10:29:11 GMT+0800 (中国标准时间)
21
+ * @nutui/nutui v3.1.20-beta.0 Mon Apr 25 2022 18:02:52 GMT+0800 (中国标准时间)
22
22
  * (c) 2022 @jdf2e.
23
23
  * Released under the MIT License.
24
24
  */
25
- import { reactive, computed, onBeforeMount, watch, toRefs, resolveComponent, openBlock, createBlock } from "vue";
26
- import picker from "./Picker.js";
25
+ import { reactive, computed, onBeforeMount, watch, toRefs, resolveComponent, openBlock, createBlock, withCtx, renderSlot } from "vue";
26
+ import Picker from "./Picker.js";
27
27
  import { popupProps } from "./Popup.js";
28
28
  import { c as createComponent } from "./component.js";
29
29
  import { _ as _export_sfc } from "./plugin-vue_export-helper.js";
30
30
  import "./OverLay.js";
31
+ import "../locale/lang";
31
32
  import "./Icon.js";
32
33
  import "./pxCheck.js";
33
34
  function padZero(num, targetLength = 2) {
@@ -52,7 +53,7 @@ const zhCNType = {
52
53
  };
53
54
  const _sfc_main = create({
54
55
  components: {
55
- [picker.name]: picker
56
+ [Picker.name]: Picker
56
57
  },
57
58
  props: __spreadProps(__spreadValues({}, popupProps), {
58
59
  modelValue: null,
@@ -99,7 +100,7 @@ const _sfc_main = create({
99
100
  emits: ["click", "update:visible", "change", "confirm", "update:moduleValue"],
100
101
  setup(props, { emit }) {
101
102
  const state = reactive({
102
- show: false,
103
+ show: props.visible,
103
104
  currentDate: new Date(),
104
105
  title: props.title,
105
106
  selectedValue: []
@@ -140,6 +141,15 @@ const _sfc_main = create({
140
141
  }
141
142
  }
142
143
  }
144
+ } else {
145
+ return {
146
+ [`${type}Year`]: year,
147
+ [`${type}Month`]: month,
148
+ [`${type}Day`]: day,
149
+ [`${type}Hour`]: hour,
150
+ [`${type}Minute`]: minute,
151
+ [`${type}Seconds`]: seconds
152
+ };
143
153
  }
144
154
  return {
145
155
  [`${type}Year`]: year,
@@ -212,19 +222,31 @@ const _sfc_main = create({
212
222
  selectedValue,
213
223
  selectedOptions
214
224
  }) => {
215
- if (["date", "datetime"].includes(props.type)) {
225
+ if (["date", "datetime", "datehour", "month-day"].includes(props.type)) {
216
226
  let formatDate = [];
217
- formatDate = selectedValue;
218
- if (props.type === "date") {
219
- state.currentDate = formatValue(new Date(formatDate[0], formatDate[1] - 1, Math.min(formatDate[2], getMonthEndDay(formatDate[0], formatDate[1]))));
227
+ selectedValue.forEach((item) => {
228
+ formatDate.push(item);
229
+ });
230
+ if (props.type == "month-day" && formatDate.length < 3) {
231
+ formatDate.unshift(new Date(props.modelValue || props.minDate || props.maxDate).getFullYear());
232
+ }
233
+ const year = Number(formatDate[0]);
234
+ const month = Number(formatDate[1]) - 1;
235
+ const day = Math.min(Number(formatDate[2]), getMonthEndDay(Number(formatDate[0]), Number(formatDate[1])));
236
+ let date = null;
237
+ if (props.type === "date" || props.type === "month-day") {
238
+ date = new Date(year, month, day);
220
239
  } else if (props.type === "datetime") {
221
- state.currentDate = formatValue(new Date(formatDate[0], formatDate[1] - 1, Math.min(formatDate[2], getMonthEndDay(formatDate[0], formatDate[1])), formatDate[3], formatDate[4]));
240
+ date = new Date(year, month, day, Number(formatDate[3]), Number(formatDate[4]));
241
+ } else if (props.type === "datehour") {
242
+ date = new Date(year, month, day, Number(formatDate[3]));
222
243
  }
244
+ state.currentDate = formatValue(date);
223
245
  }
224
246
  emit("change", { columnIndex, selectedValue, selectedOptions });
225
247
  };
226
248
  const formatterOption = (type, value) => {
227
- const { filter, formatter, isShowChinese } = props;
249
+ const { formatter, isShowChinese } = props;
228
250
  let fOption = null;
229
251
  if (formatter) {
230
252
  fOption = formatter(type, { text: padZero(value, 2), value: padZero(value, 2) });
@@ -301,6 +323,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
301
323
  modelValue: _ctx.selectedValue,
302
324
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.selectedValue = $event),
303
325
  visible: _ctx.show,
326
+ "onUpdate:visible": _cache[1] || (_cache[1] = ($event) => _ctx.show = $event),
304
327
  okText: _ctx.okText,
305
328
  cancelText: _ctx.cancelText,
306
329
  onClose: _ctx.closeHandler,
@@ -309,7 +332,12 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
309
332
  title: _ctx.title,
310
333
  onConfirm: _ctx.confirm,
311
334
  isWrapTeleport: _ctx.isWrapTeleport
312
- }, null, 8, ["modelValue", "visible", "okText", "cancelText", "onClose", "columns", "onChange", "title", "onConfirm", "isWrapTeleport"]);
335
+ }, {
336
+ default: withCtx(() => [
337
+ renderSlot(_ctx.$slots, "default")
338
+ ]),
339
+ _: 3
340
+ }, 8, ["modelValue", "visible", "okText", "cancelText", "onClose", "columns", "onChange", "title", "onConfirm", "isWrapTeleport"]);
313
341
  }
314
342
  var index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
315
343
  export { index as default };
@@ -17,12 +17,8 @@ var __spreadValues = (a, b) => {
17
17
  return a;
18
18
  };
19
19
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- var __publicField = (obj, key, value) => {
21
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
22
- return value;
23
- };
24
20
  /*!
25
- * @nutui/nutui v3.1.19-beta.7 Wed Apr 13 2022 10:29:11 GMT+0800 (中国标准时间)
21
+ * @nutui/nutui v3.1.20-beta.0 Mon Apr 25 2022 18:02:52 GMT+0800 (中国标准时间)
26
22
  * (c) 2022 @jdf2e.
27
23
  * Released under the MIT License.
28
24
  */
@@ -31,6 +27,7 @@ import { c as createComponent } from "./component.js";
31
27
  import Popup, { popupProps } from "./Popup.js";
32
28
  import Button from "./Button.js";
33
29
  import { _ as _export_sfc } from "./plugin-vue_export-helper.js";
30
+ import "../locale/lang";
34
31
  import "./OverLay.js";
35
32
  import "./Icon.js";
36
33
  import "./pxCheck.js";
@@ -74,10 +71,6 @@ const _sfc_main = create({
74
71
  type: String,
75
72
  default: ""
76
73
  },
77
- okBtnDisabled: {
78
- type: Boolean,
79
- default: false
80
- },
81
74
  cancelAutoClose: {
82
75
  type: Boolean,
83
76
  default: true
@@ -199,15 +192,14 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
199
192
  key: 1,
200
193
  size: "small",
201
194
  type: "primary",
202
- class: normalizeClass(["nut-dialog__footer-ok", { disabled: _ctx.okBtnDisabled }]),
203
- disabled: _ctx.okBtnDisabled,
195
+ class: "nut-dialog__footer-ok",
204
196
  onClick: _ctx.onOk
205
197
  }, {
206
198
  default: withCtx(() => [
207
199
  createTextVNode(toDisplayString(_ctx.okText || _ctx.translate("confirm")), 1)
208
200
  ]),
209
201
  _: 1
210
- }, 8, ["class", "disabled", "onClick"])) : createCommentVNode("", true)
202
+ }, 8, ["onClick"])) : createCommentVNode("", true)
211
203
  ], 64))
212
204
  ], 2)) : createCommentVNode("", true)
213
205
  ], 2)
@@ -218,42 +210,42 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
218
210
  var Dialog = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
219
211
  class DialogOptions {
220
212
  constructor() {
221
- __publicField(this, "title", "");
222
- __publicField(this, "content", "");
223
- __publicField(this, "cancelText", "");
224
- __publicField(this, "okText", "");
225
- __publicField(this, "textAlign", "center");
226
- __publicField(this, "teleport", "body");
227
- __publicField(this, "id", new Date().getTime());
228
- __publicField(this, "footerDirection", "horizontal");
229
- __publicField(this, "onUpdate", (value) => {
230
- });
231
- __publicField(this, "onOk", () => {
232
- });
233
- __publicField(this, "onCancel", () => {
234
- });
235
- __publicField(this, "onClose", () => {
236
- });
237
- __publicField(this, "onClosed", () => {
238
- });
239
- __publicField(this, "visible", true);
240
- __publicField(this, "noFooter", false);
241
- __publicField(this, "noOkBtn", false);
242
- __publicField(this, "noCancelBtn", false);
243
- __publicField(this, "okBtnDisabled", false);
244
- __publicField(this, "closeOnPopstate", false);
245
- __publicField(this, "lockScroll", false);
213
+ this.title = "";
214
+ this.content = "";
215
+ this.cancelText = "";
216
+ this.okText = "";
217
+ this.textAlign = "center";
218
+ this.teleport = "body";
219
+ this.id = new Date().getTime();
220
+ this.footerDirection = "horizontal";
221
+ this.onUpdate = (value) => {
222
+ };
223
+ this.onOk = () => {
224
+ };
225
+ this.onCancel = () => {
226
+ };
227
+ this.onClose = () => {
228
+ };
229
+ this.onClosed = () => {
230
+ };
231
+ this.visible = true;
232
+ this.noFooter = false;
233
+ this.noOkBtn = false;
234
+ this.noCancelBtn = false;
235
+ this.okBtnDisabled = false;
236
+ this.closeOnPopstate = false;
237
+ this.lockScroll = false;
246
238
  }
247
239
  }
248
240
  class DialogFunction {
249
241
  constructor(_options) {
250
- __publicField(this, "options", new DialogOptions());
251
- __publicField(this, "close", () => {
252
- });
253
- __publicField(this, "setDefaultOptions", (options) => {
254
- });
255
- __publicField(this, "resetDefaultOptions", () => {
256
- });
242
+ this.options = new DialogOptions();
243
+ this.close = () => {
244
+ };
245
+ this.setDefaultOptions = (options2) => {
246
+ };
247
+ this.resetDefaultOptions = () => {
248
+ };
257
249
  let options = Object.assign(this.options, _options);
258
250
  let elWarp = document.body;
259
251
  let teleport = options.teleport;
@@ -1,11 +1,12 @@
1
1
  /*!
2
- * @nutui/nutui v3.1.19-beta.7 Wed Apr 13 2022 10:29:11 GMT+0800 (中国标准时间)
2
+ * @nutui/nutui v3.1.20-beta.0 Mon Apr 25 2022 18:02:52 GMT+0800 (中国标准时间)
3
3
  * (c) 2022 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */
6
6
  import { computed, openBlock, createElementBlock, normalizeClass, renderSlot } from "vue";
7
7
  import { c as createComponent } from "./component.js";
8
8
  import { _ as _export_sfc } from "./plugin-vue_export-helper.js";
9
+ import "../locale/lang";
9
10
  const { componentName, create } = createComponent("divider");
10
11
  const _sfc_main = create({
11
12
  props: {
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @nutui/nutui v3.1.19-beta.7 Wed Apr 13 2022 10:29:11 GMT+0800 (中国标准时间)
2
+ * @nutui/nutui v3.1.20-beta.0 Mon Apr 25 2022 18:02:52 GMT+0800 (中国标准时间)
3
3
  * (c) 2022 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */
@@ -7,6 +7,7 @@ import { ref, reactive, computed, onMounted, onActivated, onDeactivated, openBlo
7
7
  import { c as createComponent } from "./component.js";
8
8
  import { r as requestAniFrame } from "./raf.js";
9
9
  import { _ as _export_sfc } from "./plugin-vue_export-helper.js";
10
+ import "../locale/lang";
10
11
  const { componentName, create } = createComponent("drag");
11
12
  const _sfc_main = create({
12
13
  props: {