@nutui/nutui 4.0.10-beta.1 → 4.0.10

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 (160) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/nutui.es.js +1 -1
  3. package/dist/nutui.js +6550 -8291
  4. package/dist/nutui.umd.js +1 -1
  5. package/dist/packages/_es/ActionSheet.js +78 -111
  6. package/dist/packages/_es/Address.js +250 -375
  7. package/dist/packages/_es/AddressList.js +269 -354
  8. package/dist/packages/_es/Animate.js +41 -58
  9. package/dist/packages/_es/Audio.js +128 -197
  10. package/dist/packages/_es/AudioOperate.js +60 -71
  11. package/dist/packages/_es/Avatar.js +66 -89
  12. package/dist/packages/_es/AvatarGroup.js +23 -31
  13. package/dist/packages/_es/Backtop.js +59 -99
  14. package/dist/packages/_es/Badge.js +36 -47
  15. package/dist/packages/_es/Barrage.js +68 -147
  16. package/dist/packages/_es/Button.js +47 -66
  17. package/dist/packages/_es/Calendar.js +135 -157
  18. package/dist/packages/_es/CalendarItem.js +6 -6
  19. package/dist/packages/_es/Card.js +42 -56
  20. package/dist/packages/_es/Cascader.js +315 -474
  21. package/dist/packages/_es/Category.js +29 -39
  22. package/dist/packages/_es/CategoryPane.js +57 -83
  23. package/dist/packages/_es/Cell.js +56 -71
  24. package/dist/packages/_es/CellGroup.js +19 -27
  25. package/dist/packages/_es/Checkbox.js +109 -156
  26. package/dist/packages/_es/CheckboxGroup.js +38 -59
  27. package/dist/packages/_es/CircleProgress.js +67 -96
  28. package/dist/packages/_es/Col.js +23 -31
  29. package/dist/packages/_es/Collapse.js +33 -58
  30. package/dist/packages/_es/CollapseItem.js +78 -108
  31. package/dist/packages/_es/Comment.js +207 -279
  32. package/dist/packages/_es/ConfigProvider.js +37 -55
  33. package/dist/packages/_es/Countdown.js +100 -212
  34. package/dist/packages/_es/Countup.js +232 -445
  35. package/dist/packages/_es/DatePicker.js +162 -265
  36. package/dist/packages/_es/Dialog.js +161 -213
  37. package/dist/packages/_es/Divider.js +42 -57
  38. package/dist/packages/_es/Drag.js +70 -153
  39. package/dist/packages/_es/Ecard.js +64 -104
  40. package/dist/packages/_es/Elevator.js +143 -219
  41. package/dist/packages/_es/Ellipsis.js +95 -178
  42. package/dist/packages/_es/Empty.js +23 -39
  43. package/dist/packages/_es/FixedNav.js +93 -116
  44. package/dist/packages/_es/Form.js +107 -178
  45. package/dist/packages/_es/FormItem.js +48 -61
  46. package/dist/packages/_es/Grid.js +5 -6
  47. package/dist/packages/_es/GridItem.js +58 -84
  48. package/dist/packages/_es/Image.js +90 -129
  49. package/dist/packages/_es/ImagePreview.js +256 -412
  50. package/dist/packages/_es/Indicator.js +30 -34
  51. package/dist/packages/_es/InfiniteLoading.js +83 -136
  52. package/dist/packages/_es/Input.js +160 -264
  53. package/dist/packages/_es/InputNumber.js +81 -117
  54. package/dist/packages/_es/Interceptor-6e26b757.js +18 -0
  55. package/dist/packages/_es/Invoice.js +104 -130
  56. package/dist/packages/_es/Layout.js +3 -4
  57. package/dist/packages/_es/List.js +117 -215
  58. package/dist/packages/_es/Menu.js +95 -150
  59. package/dist/packages/_es/MenuItem.js +109 -154
  60. package/dist/packages/_es/Navbar.js +103 -119
  61. package/dist/packages/_es/Noticebar.js +197 -312
  62. package/dist/packages/_es/Notify.js +110 -166
  63. package/dist/packages/_es/NumberKeyboard.js +127 -202
  64. package/dist/packages/_es/Overlay.js +52 -80
  65. package/dist/packages/_es/Pagination.js +70 -100
  66. package/dist/packages/_es/Picker.js +275 -437
  67. package/dist/packages/_es/Popover.js +122 -225
  68. package/dist/packages/_es/Popup.js +4 -4
  69. package/dist/packages/_es/Price.js +44 -82
  70. package/dist/packages/_es/Progress.js +63 -79
  71. package/dist/packages/_es/PullRefresh.js +95 -173
  72. package/dist/packages/_es/Radio.js +4 -4
  73. package/dist/packages/_es/RadioGroup.js +3 -3
  74. package/dist/packages/_es/Range.js +204 -347
  75. package/dist/packages/_es/Rate.js +92 -141
  76. package/dist/packages/_es/Row.js +21 -27
  77. package/dist/packages/_es/Searchbar.js +123 -174
  78. package/dist/packages/_es/ShortPassword.js +69 -93
  79. package/dist/packages/_es/SideNavbar.js +49 -80
  80. package/dist/packages/_es/SideNavbarItem.js +22 -32
  81. package/dist/packages/_es/Signature.js +83 -146
  82. package/dist/packages/_es/Skeleton.js +110 -130
  83. package/dist/packages/_es/Sku.js +250 -343
  84. package/dist/packages/_es/Step.js +59 -86
  85. package/dist/packages/_es/Steps.js +26 -31
  86. package/dist/packages/_es/Sticky.js +4 -4
  87. package/dist/packages/_es/SubSideNavbar.js +52 -74
  88. package/dist/packages/_es/Swipe.js +83 -155
  89. package/dist/packages/_es/Swiper.js +174 -311
  90. package/dist/packages/_es/SwiperItem.js +28 -44
  91. package/dist/packages/_es/Switch.js +55 -68
  92. package/dist/packages/_es/TabPane.js +30 -41
  93. package/dist/packages/_es/Tabbar.js +41 -52
  94. package/dist/packages/_es/TabbarItem.js +61 -82
  95. package/dist/packages/_es/Table.js +109 -165
  96. package/dist/packages/_es/Tabs.js +240 -388
  97. package/dist/packages/_es/Tag.js +44 -61
  98. package/dist/packages/_es/Textarea.js +80 -124
  99. package/dist/packages/_es/TimeDetail.js +49 -76
  100. package/dist/packages/_es/TimePannel.js +34 -48
  101. package/dist/packages/_es/TimeSelect.js +47 -68
  102. package/dist/packages/_es/Toast.js +144 -218
  103. package/dist/packages/_es/Tour.js +138 -192
  104. package/dist/packages/_es/TrendArrow.js +57 -77
  105. package/dist/packages/_es/Uploader.js +234 -359
  106. package/dist/packages/_es/Video.js +191 -316
  107. package/dist/packages/_es/Watermark.js +84 -117
  108. package/dist/packages/_es/_plugin-vue_export-helper-dad06003.js +9 -0
  109. package/dist/packages/_es/common-d218746f.js +116 -0
  110. package/dist/packages/_es/component-234624bc.js +89 -0
  111. package/dist/packages/_es/index-14dfadc4.js +561 -0
  112. package/dist/packages/_es/index-192a3ef6.js +29 -0
  113. package/dist/packages/_es/index-360c5092.js +210 -0
  114. package/dist/packages/_es/index-496e6e05.js +24 -0
  115. package/dist/packages/_es/index-50eed3d9.js +7 -0
  116. package/dist/packages/_es/index-53ec2d4d.js +34 -0
  117. package/dist/packages/_es/index-fadb0974.js +8 -0
  118. package/dist/packages/_es/index.vue_vue_type_script_lang-1139b29a.js +43 -0
  119. package/dist/packages/_es/index.vue_vue_type_script_lang-43b774dd.js +77 -0
  120. package/dist/packages/_es/index.vue_vue_type_script_lang-f44c159d.js +110 -0
  121. package/dist/packages/_es/mountComponent-6d4ff200.js +23 -0
  122. package/dist/packages/_es/pxCheck-38173291.js +4 -0
  123. package/dist/packages/_es/raf-a74f1a06.js +16 -0
  124. package/dist/packages/_es/renderIcon-47498b32.js +5 -0
  125. package/dist/smartips/web-types.json +1 -1
  126. package/dist/style.css +1 -1
  127. package/dist/styles/themes/default.scss +154 -51
  128. package/dist/styles/themes/jdb.scss +154 -51
  129. package/dist/styles/themes/jddkh.scss +154 -51
  130. package/dist/styles/themes/jdt.scss +154 -51
  131. package/dist/types/__VUE/address/index.vue.d.ts +1 -1
  132. package/dist/types/__VUE/collapseitem/index.vue.d.ts +110 -3
  133. package/dist/types/__VUE/image/index.vue.d.ts +2 -2
  134. package/dist/types/__VUE/rate/index.vue.d.ts +110 -3
  135. package/dist/types/__VUE/searchbar/index.vue.d.ts +110 -3
  136. package/dist/types/__VUE/skeleton/index.vue.d.ts +2 -2
  137. package/dist/types/__VUE/swiper/index.vue.d.ts +1 -1
  138. package/dist/types/__VUE/table/common.d.ts +55 -2
  139. package/dist/types/__VUE/timeselect/index.vue.d.ts +1 -1
  140. package/dist/types/__VUE/watermark/index.vue.d.ts +1 -1
  141. package/dist/types/index.d.ts +1 -1
  142. package/package.json +2 -2
  143. package/dist/packages/_es/Interceptor-956b24fc.js +0 -29
  144. package/dist/packages/_es/_plugin-vue_export-helper-cc2b3d55.js +0 -10
  145. package/dist/packages/_es/common-b9a5e726.js +0 -145
  146. package/dist/packages/_es/component-81a4c1d0.js +0 -145
  147. package/dist/packages/_es/index-29892cda.js +0 -33
  148. package/dist/packages/_es/index-43c34ac6.js +0 -30
  149. package/dist/packages/_es/index-54d03fc1.js +0 -8
  150. package/dist/packages/_es/index-79c5dc33.js +0 -10
  151. package/dist/packages/_es/index-7a7385e4.js +0 -67
  152. package/dist/packages/_es/index-87422be8.js +0 -942
  153. package/dist/packages/_es/index-da0a7662.js +0 -259
  154. package/dist/packages/_es/index.vue_vue_type_script_lang-22dfc112.js +0 -46
  155. package/dist/packages/_es/index.vue_vue_type_script_lang-442e4704.js +0 -98
  156. package/dist/packages/_es/index.vue_vue_type_script_lang-cc5c4086.js +0 -151
  157. package/dist/packages/_es/mountComponent-8b24c346.js +0 -39
  158. package/dist/packages/_es/pxCheck-c6b9f6b7.js +0 -6
  159. package/dist/packages/_es/raf-729dad54.js +0 -25
  160. package/dist/packages/_es/renderIcon-3d0fd47c.js +0 -9
@@ -1,75 +1,57 @@
1
- import { c as createComponent } from "./component-81a4c1d0.js";
2
- import { h } from "vue";
1
+ import { c as g } from "./component-234624bc.js";
2
+ import { h as m } from "vue";
3
3
  import "../locale/lang";
4
- const { componentName, create } = createComponent("config-provider");
5
- const _sfc_main = create({
4
+ const { componentName: v, create: s } = g("config-provider"), $ = s({
6
5
  props: {
7
6
  theme: { type: String, default: "" },
8
7
  themeVars: { type: Object, default: {} },
9
8
  tag: { type: String, default: "div" }
10
9
  },
11
- setup(props, { slots }) {
12
- const kebabCase = (str) => {
13
- str = str.replace(str.charAt(0), str.charAt(0).toLocaleLowerCase());
14
- return str.replace(/([a-z])([A-Z])/g, (_, p1, p2) => p1 + "-" + p2.toLowerCase());
15
- };
16
- const colorRgb = (str) => {
17
- if (!str)
18
- return;
19
- var sColor = str.toLowerCase();
20
- var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;
21
- if (sColor && reg.test(sColor)) {
22
- if (sColor.length === 4) {
23
- var sColorNew = "#";
24
- for (var i = 1; i < 4; i += 1) {
25
- sColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1));
10
+ setup(o, { slots: c }) {
11
+ const f = (t) => (t = t.replace(t.charAt(0), t.charAt(0).toLocaleLowerCase()), t.replace(/([a-z])([A-Z])/g, (e, r, n) => r + "-" + n.toLowerCase())), i = (t) => {
12
+ if (t) {
13
+ var e = t.toLowerCase(), r = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;
14
+ if (e && r.test(e)) {
15
+ if (e.length === 4) {
16
+ for (var n = "#", a = 1; a < 4; a += 1)
17
+ n += e.slice(a, a + 1).concat(e.slice(a, a + 1));
18
+ e = n;
26
19
  }
27
- sColor = sColorNew;
28
- }
29
- var sColorChange = [];
30
- for (var i = 1; i < 7; i += 2) {
31
- sColorChange.push(parseInt("0x" + sColor.slice(i, i + 2)));
20
+ for (var l = [], a = 1; a < 7; a += 2)
21
+ l.push(parseInt("0x" + e.slice(a, a + 2)));
22
+ return l.join(",");
32
23
  }
33
- return sColorChange.join(",");
24
+ return null;
34
25
  }
35
- return null;
36
- };
37
- const mapThemeVarsToCSSVars = (themeVars) => {
38
- var _a;
39
- if (!themeVars)
26
+ }, u = (t) => {
27
+ var n;
28
+ if (!t)
40
29
  return;
41
- const cssVars = {};
42
- const primaryColor = (_a = props == null ? void 0 : props.themeVars) == null ? void 0 : _a.primaryColor;
43
- if (primaryColor) {
44
- cssVars[`--nut-address-region-tab-line`] = `linear-gradient(90deg, ${primaryColor} 0%, rgba(${colorRgb(
45
- primaryColor
46
- )},0.15) 100%) `;
47
- cssVars[`--nut-tabs-horizontal-tab-line-color`] = `linear-gradient(90deg, ${primaryColor} 0%, rgba(${colorRgb(
48
- primaryColor
49
- )},0.15)100%)`;
50
- cssVars[`--nut-tabs-vertical-tab-line-color`] = `linear-gradient(180deg, ${primaryColor} 0%, rgba(${colorRgb(
51
- primaryColor
52
- )},0.15) 100%) `;
53
- }
54
- Object.keys(themeVars).forEach((key) => {
55
- cssVars[`--nut-${kebabCase(key)}`] = themeVars[key];
56
- });
57
- return cssVars;
30
+ const e = {}, r = (n = o == null ? void 0 : o.themeVars) == null ? void 0 : n.primaryColor;
31
+ return r && (e["--nut-address-region-tab-line"] = `linear-gradient(90deg, ${r} 0%, rgba(${i(
32
+ r
33
+ )},0.15) 100%) `, e["--nut-tabs-horizontal-tab-line-color"] = `linear-gradient(90deg, ${r} 0%, rgba(${i(
34
+ r
35
+ )},0.15)100%)`, e["--nut-tabs-vertical-tab-line-color"] = `linear-gradient(180deg, ${r} 0%, rgba(${i(
36
+ r
37
+ )},0.15) 100%) `), Object.keys(t).forEach((a) => {
38
+ e[`--nut-${f(a)}`] = t[a];
39
+ }), e;
58
40
  };
59
41
  return () => {
60
- var _a;
61
- const defaultSlots = (_a = slots.default) == null ? void 0 : _a.call(slots);
62
- return h(
63
- props.tag,
42
+ var e;
43
+ const t = (e = c.default) == null ? void 0 : e.call(c);
44
+ return m(
45
+ o.tag,
64
46
  {
65
- class: `nut-theme-${props.theme}`,
66
- style: mapThemeVarsToCSSVars(props.themeVars)
47
+ class: `nut-theme-${o.theme}`,
48
+ style: u(o.themeVars)
67
49
  },
68
- defaultSlots
50
+ t
69
51
  );
70
52
  };
71
53
  }
72
54
  });
73
55
  export {
74
- _sfc_main as default
56
+ $ as default
75
57
  };
@@ -1,64 +1,50 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- import { reactive, computed, onBeforeMount, watch, toRefs, openBlock, createElementBlock, normalizeClass, renderSlot } from "vue";
21
- import { p as padZero, c as createComponent } from "./component-81a4c1d0.js";
22
- import { _ as _export_sfc } from "./_plugin-vue_export-helper-cc2b3d55.js";
1
+ var B = Object.defineProperty, k = Object.defineProperties;
2
+ var $ = Object.getOwnPropertyDescriptors;
3
+ var N = Object.getOwnPropertySymbols;
4
+ var L = Object.prototype.hasOwnProperty, x = Object.prototype.propertyIsEnumerable;
5
+ var v = (e, n, r) => n in e ? B(e, n, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[n] = r, g = (e, n) => {
6
+ for (var r in n || (n = {}))
7
+ L.call(n, r) && v(e, r, n[r]);
8
+ if (N)
9
+ for (var r of N(n))
10
+ x.call(n, r) && v(e, r, n[r]);
11
+ return e;
12
+ }, b = (e, n) => k(e, $(n));
13
+ import { reactive as A, computed as y, onBeforeMount as F, watch as S, toRefs as O, openBlock as M, createElementBlock as H, normalizeClass as R, renderSlot as V } from "vue";
14
+ import { p as d, c as U } from "./component-234624bc.js";
15
+ import { _ as j } from "./_plugin-vue_export-helper-dad06003.js";
23
16
  import "../locale/lang";
24
- const getTimeStamp = (timeStr) => {
25
- if (!timeStr)
17
+ const q = (e) => {
18
+ if (!e)
26
19
  return Date.now();
27
- let t = timeStr;
28
- t = t > 0 ? +t : t.toString().replace(/\-/g, "/");
29
- return new Date(t).getTime();
30
- };
31
- const { componentName, create, translate } = createComponent("countdown");
32
- const _sfc_main = create({
20
+ let n = e;
21
+ return n = n > 0 ? +n : n.toString().replace(/\-/g, "/"), new Date(n).getTime();
22
+ }, { componentName: z, create: I, translate: Y } = U("countdown"), Z = I({
33
23
  props: {
34
24
  modelValue: {
35
25
  type: Object,
36
- default: () => {
37
- return {};
38
- }
26
+ default: () => ({})
39
27
  },
40
28
  paused: {
41
- default: false,
29
+ default: !1,
42
30
  type: Boolean
43
31
  },
44
32
  startTime: {
45
33
  // 可以是服务器当前时间
46
34
  type: [Number, String],
47
- validator(v) {
48
- const dateStr = new Date(v).toString().toLowerCase();
49
- return dateStr !== "invalid date";
35
+ validator(e) {
36
+ return new Date(e).toString().toLowerCase() !== "invalid date";
50
37
  }
51
38
  },
52
39
  endTime: {
53
40
  type: [Number, String],
54
- validator(v) {
55
- const dateStr = new Date(v).toString().toLowerCase();
56
- return dateStr !== "invalid date";
41
+ validator(e) {
42
+ return new Date(e).toString().toLowerCase() !== "invalid date";
57
43
  }
58
44
  },
59
45
  // 是否开启毫秒
60
46
  millisecond: {
61
- default: false,
47
+ default: !1,
62
48
  type: Boolean
63
49
  },
64
50
  // 时间格式化
@@ -68,7 +54,7 @@ const _sfc_main = create({
68
54
  },
69
55
  autoStart: {
70
56
  type: Boolean,
71
- default: true
57
+ default: !0
72
58
  },
73
59
  // 倒计时时长,单位毫秒
74
60
  time: {
@@ -77,197 +63,99 @@ const _sfc_main = create({
77
63
  }
78
64
  },
79
65
  emits: ["input", "on-end", "on-restart", "on-paused", "update:modelValue"],
80
- setup(props, { emit, slots }) {
81
- const state = reactive({
66
+ setup(e, { emit: n, slots: r }) {
67
+ const t = A({
82
68
  restTime: 0,
83
69
  // 倒计时剩余时间时间
84
70
  timer: null,
85
- counting: !props.paused && props.autoStart,
71
+ counting: !e.paused && e.autoStart,
86
72
  // 是否处于倒计时中
87
73
  handleEndTime: Date.now(),
88
74
  // 最终截止时间
89
75
  diffTime: 0
90
76
  // 设置了 startTime 时,与 date.now() 的差异
91
- });
92
- const classes = computed(() => {
93
- const prefixCls = componentName;
94
- return {
95
- [prefixCls]: true
96
- };
97
- });
98
- const renderTime = computed(() => {
99
- return formatRemainTime(state.restTime);
100
- });
101
- const initTime = () => {
102
- state.handleEndTime = props.endTime;
103
- state.diffTime = Date.now() - getTimeStamp(props.startTime);
104
- if (!state.counting)
105
- state.counting = true;
106
- tick();
107
- };
108
- const tick = () => {
109
- if (window !== void 0) {
110
- state.timer = requestAnimationFrame(() => {
111
- if (state.counting) {
112
- const currentTime = Date.now() - state.diffTime;
113
- const remainTime = Math.max(state.handleEndTime - currentTime, 0);
114
- state.restTime = remainTime;
115
- if (!remainTime) {
116
- state.counting = false;
117
- pause();
118
- emit("on-end");
119
- }
120
- if (remainTime > 0) {
121
- tick();
122
- }
123
- }
124
- });
125
- }
126
- };
127
- const formatRemainTime = (t, type) => {
128
- const ts = t;
129
- let rest = {
77
+ }), w = y(() => ({
78
+ [z]: !0
79
+ })), h = y(() => D(t.restTime)), p = () => {
80
+ t.handleEndTime = e.endTime, t.diffTime = Date.now() - q(e.startTime), t.counting || (t.counting = !0), f();
81
+ }, f = () => {
82
+ window !== void 0 && (t.timer = requestAnimationFrame(() => {
83
+ if (t.counting) {
84
+ const o = Date.now() - t.diffTime, i = Math.max(t.handleEndTime - o, 0);
85
+ t.restTime = i, i || (t.counting = !1, T(), n("on-end")), i > 0 && f();
86
+ }
87
+ }));
88
+ }, D = (o, i) => {
89
+ const s = o;
90
+ let l = {
130
91
  d: 0,
131
92
  h: 0,
132
93
  m: 0,
133
94
  s: 0,
134
95
  ms: 0
135
96
  };
136
- const SECOND = 1e3;
137
- const MINUTE = 60 * SECOND;
138
- const HOUR = 60 * MINUTE;
139
- const DAY = 24 * HOUR;
140
- if (ts > 0) {
141
- rest.d = ts >= SECOND ? Math.floor(ts / DAY) : 0;
142
- rest.h = Math.floor(ts % DAY / HOUR);
143
- rest.m = Math.floor(ts % HOUR / MINUTE);
144
- rest.s = Math.floor(ts % MINUTE / SECOND);
145
- rest.ms = Math.floor(ts % SECOND);
146
- }
147
- return type == "custom" ? rest : parseFormat(__spreadValues({}, rest));
148
- };
149
- const parseFormat = (time) => {
150
- let { d, h, m, s, ms } = time;
151
- let format = props.format;
152
- if (format.includes("DD")) {
153
- format = format.replace("DD", padZero(d));
154
- } else {
155
- h += Number(d) * 24;
156
- }
157
- if (format.includes("HH")) {
158
- format = format.replace("HH", padZero(h));
159
- } else {
160
- m += Number(h) * 60;
161
- }
162
- if (format.includes("mm")) {
163
- format = format.replace("mm", padZero(m));
164
- } else {
165
- s += Number(m) * 60;
166
- }
167
- if (format.includes("ss")) {
168
- format = format.replace("ss", padZero(s));
169
- } else {
170
- ms += Number(s) * 1e3;
171
- }
172
- if (format.includes("S")) {
173
- const msC = padZero(ms, 3).toString();
174
- if (format.includes("SSS")) {
175
- format = format.replace("SSS", msC);
176
- } else if (format.includes("SS")) {
177
- format = format.replace("SS", msC.slice(0, 2));
178
- } else if (format.includes("S")) {
179
- format = format.replace("SS", msC.slice(0, 1));
180
- }
181
- }
182
- return format;
183
- };
184
- const start = () => {
185
- if (!state.counting && !props.autoStart) {
186
- state.counting = true;
187
- state.handleEndTime = Date.now() + Number(state.restTime);
188
- tick();
189
- emit("on-restart", state.restTime);
190
- }
191
- };
192
- const pause = () => {
193
- cancelAnimationFrame(state.timer);
194
- state.counting = false;
195
- emit("on-paused", state.restTime);
196
- };
197
- const reset = () => {
198
- if (!props.autoStart) {
199
- pause();
200
- state.restTime = props.time;
201
- }
97
+ const m = 1e3, u = 60 * m, a = 60 * u, c = 24 * a;
98
+ return s > 0 && (l.d = s >= m ? Math.floor(s / c) : 0, l.h = Math.floor(s % c / a), l.m = Math.floor(s % a / u), l.s = Math.floor(s % u / m), l.ms = Math.floor(s % m)), i == "custom" ? l : _(g({}, l));
99
+ }, _ = (o) => {
100
+ let { d: i, h: s, m: l, s: m, ms: u } = o, a = e.format;
101
+ if (a.includes("DD") ? a = a.replace("DD", d(i)) : s += Number(i) * 24, a.includes("HH") ? a = a.replace("HH", d(s)) : l += Number(s) * 60, a.includes("mm") ? a = a.replace("mm", d(l)) : m += Number(l) * 60, a.includes("ss") ? a = a.replace("ss", d(m)) : u += Number(m) * 1e3, a.includes("S")) {
102
+ const c = d(u, 3).toString();
103
+ a.includes("SSS") ? a = a.replace("SSS", c) : a.includes("SS") ? a = a.replace("SS", c.slice(0, 2)) : a.includes("S") && (a = a.replace("SS", c.slice(0, 1)));
104
+ }
105
+ return a;
106
+ }, C = () => {
107
+ !t.counting && !e.autoStart && (t.counting = !0, t.handleEndTime = Date.now() + Number(t.restTime), f(), n("on-restart", t.restTime));
108
+ }, T = () => {
109
+ cancelAnimationFrame(t.timer), t.counting = !1, n("on-paused", t.restTime);
110
+ }, E = () => {
111
+ e.autoStart || (T(), t.restTime = e.time);
202
112
  };
203
- onBeforeMount(() => {
204
- if (props.autoStart) {
205
- initTime();
206
- } else {
207
- state.restTime = props.time;
208
- }
209
- });
210
- watch(
211
- () => state.restTime,
212
- (value) => {
213
- let tranTime = formatRemainTime(value, "custom");
214
- emit("update:modelValue", tranTime);
215
- emit("input", tranTime);
216
- }
217
- );
218
- watch(
219
- () => props.paused,
220
- (v, ov) => {
221
- if (!ov) {
222
- if (state.counting) {
223
- pause();
224
- }
225
- } else {
226
- if (!state.counting) {
227
- state.counting = true;
228
- state.handleEndTime = Date.now() + Number(state.restTime);
229
- tick();
230
- }
231
- emit("on-restart", state.restTime);
232
- }
233
- }
234
- );
235
- watch(
236
- () => props.endTime,
237
- (value) => {
238
- initTime();
239
- }
240
- );
241
- watch(
242
- () => props.startTime,
243
- (value) => {
244
- initTime();
245
- }
246
- );
247
- return __spreadProps(__spreadValues({}, toRefs(props)), {
248
- slots,
249
- classes,
250
- start,
251
- pause,
252
- renderTime,
253
- translate,
254
- reset
113
+ return F(() => {
114
+ e.autoStart ? p() : t.restTime = e.time;
115
+ }), S(
116
+ () => t.restTime,
117
+ (o) => {
118
+ let i = D(o, "custom");
119
+ n("update:modelValue", i), n("input", i);
120
+ }
121
+ ), S(
122
+ () => e.paused,
123
+ (o, i) => {
124
+ i ? (t.counting || (t.counting = !0, t.handleEndTime = Date.now() + Number(t.restTime), f()), n("on-restart", t.restTime)) : t.counting && T();
125
+ }
126
+ ), S(
127
+ () => e.endTime,
128
+ (o) => {
129
+ p();
130
+ }
131
+ ), S(
132
+ () => e.startTime,
133
+ (o) => {
134
+ p();
135
+ }
136
+ ), b(g({}, O(e)), {
137
+ slots: r,
138
+ classes: w,
139
+ start: C,
140
+ pause: T,
141
+ renderTime: h,
142
+ translate: Y,
143
+ reset: E
255
144
  });
256
145
  }
257
- });
258
- const _hoisted_1 = ["innerHTML"];
259
- function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
260
- return openBlock(), createElementBlock("view", {
261
- class: normalizeClass(_ctx.classes)
146
+ }), G = ["innerHTML"];
147
+ function J(e, n, r, t, w, h) {
148
+ return M(), H("view", {
149
+ class: R(e.classes)
262
150
  }, [
263
- _ctx.slots.default ? renderSlot(_ctx.$slots, "default", { key: 0 }) : (openBlock(), createElementBlock("view", {
151
+ e.slots.default ? V(e.$slots, "default", { key: 0 }) : (M(), H("view", {
264
152
  key: 1,
265
153
  class: "nut-countdown__content",
266
- innerHTML: _ctx.renderTime
267
- }, null, 8, _hoisted_1))
154
+ innerHTML: e.renderTime
155
+ }, null, 8, G))
268
156
  ], 2);
269
157
  }
270
- const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
158
+ const ee = /* @__PURE__ */ j(Z, [["render", J]]);
271
159
  export {
272
- index as default
160
+ ee as default
273
161
  };