@nutui/nutui 3.1.22-beta.3 → 3.1.23-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 (207) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/README.md +3 -4
  3. package/dist/nutui.es.js +20426 -4050
  4. package/dist/nutui.umd.js +20529 -4049
  5. package/dist/packages/_es/ActionSheet.js +149 -36
  6. package/dist/packages/_es/Address.js +535 -129
  7. package/dist/packages/_es/AddressList.js +615 -113
  8. package/dist/packages/_es/Animate.js +64 -0
  9. package/dist/packages/_es/Audio.js +257 -72
  10. package/dist/packages/_es/AudioOperate.js +100 -32
  11. package/dist/packages/_es/Avatar.js +162 -54
  12. package/dist/packages/_es/AvatarGroup.js +73 -14
  13. package/dist/packages/_es/BackTop.js +156 -43
  14. package/dist/packages/_es/Badge.js +86 -14
  15. package/dist/packages/_es/Barrage.js +120 -41
  16. package/dist/packages/_es/Button.js +128 -23
  17. package/dist/packages/_es/Calendar.js +246 -24
  18. package/dist/packages/_es/CalendarItem.js +2 -1
  19. package/dist/packages/_es/Card.js +107 -10
  20. package/dist/packages/_es/Cascader.js +496 -179
  21. package/dist/packages/_es/Category.js +58 -15
  22. package/dist/packages/_es/CategoryPane.js +111 -11
  23. package/dist/packages/_es/Cell.js +108 -21
  24. package/dist/packages/_es/CellGroup.js +44 -9
  25. package/dist/packages/_es/Checkbox.js +134 -29
  26. package/dist/packages/_es/CheckboxGroup.js +79 -29
  27. package/dist/packages/_es/CircleProgress.js +150 -28
  28. package/dist/packages/_es/Col.js +56 -14
  29. package/dist/packages/_es/Collapse.js +110 -24
  30. package/dist/packages/_es/CollapseItem.js +252 -80
  31. package/dist/packages/_es/Comment.js +434 -64
  32. package/dist/packages/_es/ConfigProvider.js +25 -0
  33. package/dist/packages/_es/CountDown.js +238 -75
  34. package/dist/packages/_es/CountUp.js +539 -159
  35. package/dist/packages/_es/DatePicker.js +315 -117
  36. package/dist/packages/_es/Dialog.js +289 -79
  37. package/dist/packages/_es/Divider.js +65 -32
  38. package/dist/packages/_es/Drag.js +197 -56
  39. package/dist/packages/_es/Ecard.js +159 -24
  40. package/dist/packages/_es/Elevator.js +255 -77
  41. package/dist/packages/_es/Ellipsis.js +206 -0
  42. package/dist/packages/_es/Empty.js +71 -12
  43. package/dist/packages/_es/FixedNav.js +122 -15
  44. package/dist/packages/_es/Form.js +151 -64
  45. package/dist/packages/_es/FormItem.js +114 -15
  46. package/dist/packages/_es/Grid.js +6 -5
  47. package/dist/packages/_es/GridItem.js +144 -33
  48. package/dist/packages/_es/Icon.js +40 -15
  49. package/dist/packages/_es/Image.js +142 -0
  50. package/dist/packages/_es/ImagePreview.js +547 -84
  51. package/dist/packages/_es/Indicator.js +62 -15
  52. package/dist/packages/_es/InfiniteLoading.js +249 -76
  53. package/dist/packages/_es/Input.js +433 -51
  54. package/dist/packages/_es/InputNumber.js +160 -41
  55. package/dist/packages/_es/Layout.js +5 -4
  56. package/dist/packages/_es/List.js +106 -37
  57. package/dist/packages/_es/Menu.js +168 -29
  58. package/dist/packages/_es/MenuItem.js +173 -34
  59. package/dist/packages/_es/Navbar.js +192 -30
  60. package/dist/packages/_es/NoticeBar.js +380 -93
  61. package/dist/packages/_es/Notify.js +227 -91
  62. package/dist/packages/_es/NumberKeyboard.js +272 -41
  63. package/dist/packages/_es/OldPicker.js +457 -149
  64. package/dist/packages/_es/OverLay.js +98 -40
  65. package/dist/packages/_es/Pagination.js +157 -39
  66. package/dist/packages/_es/Picker.js +460 -148
  67. package/dist/packages/_es/Popover.js +957 -337
  68. package/dist/packages/_es/Popup.js +299 -74
  69. package/dist/packages/_es/Price.js +118 -16
  70. package/dist/packages/_es/Progress.js +146 -14
  71. package/dist/packages/_es/PullRefresh.js +339 -100
  72. package/dist/packages/_es/Radio.js +90 -22
  73. package/dist/packages/_es/RadioGroup.js +37 -8
  74. package/dist/packages/_es/Range.js +408 -102
  75. package/dist/packages/_es/Rate.js +193 -16
  76. package/dist/packages/_es/Row.js +64 -22
  77. package/dist/packages/_es/SearchBar.js +238 -56
  78. package/dist/packages/_es/ShortPassword.js +225 -35
  79. package/dist/packages/_es/SideNavBar.js +81 -43
  80. package/dist/packages/_es/SideNavBarItem.js +46 -11
  81. package/dist/packages/_es/Signature.js +160 -60
  82. package/dist/packages/_es/Skeleton.js +136 -20
  83. package/dist/packages/_es/Sku.js +491 -103
  84. package/dist/packages/_es/Step.js +115 -39
  85. package/dist/packages/_es/Steps.js +53 -18
  86. package/dist/packages/_es/Sticky.js +138 -53
  87. package/dist/packages/_es/SubSideNavBar.js +82 -36
  88. package/dist/packages/_es/Swipe.js +178 -60
  89. package/dist/packages/_es/Swiper.js +433 -121
  90. package/dist/packages/_es/SwiperItem.js +53 -22
  91. package/dist/packages/_es/Switch.js +116 -21
  92. package/dist/packages/_es/TabPane.js +39 -12
  93. package/dist/packages/_es/Tabbar.js +72 -17
  94. package/dist/packages/_es/TabbarItem.js +151 -29
  95. package/dist/packages/_es/Table.js +178 -37
  96. package/dist/packages/_es/Tabs.js +202 -59
  97. package/dist/packages/_es/Tag.js +97 -20
  98. package/dist/packages/_es/TextArea.js +160 -42
  99. package/dist/packages/_es/TimeDetail.js +79 -37
  100. package/dist/packages/_es/TimePannel.js +48 -33
  101. package/dist/packages/_es/TimeSelect.js +112 -15
  102. package/dist/packages/_es/Toast.js +310 -90
  103. package/dist/packages/_es/Uploader.js +455 -120
  104. package/dist/packages/_es/Video.js +332 -93
  105. package/dist/packages/_es/common.js +128 -38
  106. package/dist/packages/_es/component.js +76 -35
  107. package/dist/packages/_es/index.js +6 -5
  108. package/dist/packages/_es/index2.js +30 -9
  109. package/dist/packages/_es/index3.js +8 -6
  110. package/dist/packages/_es/index4.js +64 -13
  111. package/dist/packages/_es/index5.js +783 -130
  112. package/dist/packages/_es/plugin-vue_export-helper.js +8 -7
  113. package/dist/packages/_es/pxCheck.js +5 -3
  114. package/dist/packages/_es/raf.js +15 -8
  115. package/dist/packages/animate/index.scss +299 -0
  116. package/dist/packages/cell/index.scss +7 -1
  117. package/dist/packages/checkbox/index.scss +10 -0
  118. package/dist/packages/configprovider/index.scss +2 -0
  119. package/dist/packages/ellipsis/index.scss +12 -0
  120. package/dist/packages/formitem/index.scss +12 -0
  121. package/dist/packages/griditem/index.scss +11 -0
  122. package/dist/packages/image/index.scss +39 -0
  123. package/dist/packages/imagepreview/index.scss +26 -2
  124. package/dist/packages/input/index.scss +13 -0
  125. package/dist/packages/inputnumber/index.scss +21 -0
  126. package/dist/packages/locale/lang/baseLang.js +3 -3
  127. package/dist/packages/locale/lang/en-US.js +105 -5
  128. package/dist/packages/locale/lang/id-ID.js +105 -5
  129. package/dist/packages/locale/lang/index.js +38 -16
  130. package/dist/packages/locale/lang/zh-CN.js +105 -5
  131. package/dist/packages/locale/lang/zh-TW.js +105 -5
  132. package/dist/packages/menu/index.scss +45 -36
  133. package/dist/packages/menuitem/index.scss +4 -0
  134. package/dist/packages/navbar/index.scss +9 -0
  135. package/dist/packages/pagination/index.scss +19 -0
  136. package/dist/packages/radio/index.scss +18 -0
  137. package/dist/packages/range/index.scss +19 -0
  138. package/dist/packages/rate/index.scss +1 -1
  139. package/dist/packages/searchbar/index.scss +21 -0
  140. package/dist/packages/switch/index.scss +1 -0
  141. package/dist/packages/tabbar/index.scss +5 -0
  142. package/dist/packages/tabbaritem/index.scss +7 -0
  143. package/dist/packages/tabpane/index.scss +5 -0
  144. package/dist/packages/tabs/index.scss +22 -0
  145. package/dist/packages/textarea/index.scss +8 -0
  146. package/dist/smartips/attributes.json +140 -4
  147. package/dist/smartips/tags.json +55 -6
  148. package/dist/smartips/web-types.json +6963 -0
  149. package/dist/style.css +1 -1
  150. package/dist/style.es.js +1 -1
  151. package/dist/styles/font/config.json +3 -1
  152. package/dist/styles/font/demo_index.html +49 -3
  153. package/dist/styles/font/iconfont.css +11 -3
  154. package/dist/styles/font/iconfont.js +15 -15
  155. package/dist/styles/font/iconfont.json +14 -0
  156. package/dist/styles/font/iconfont.ttf +0 -0
  157. package/dist/styles/font/iconfont.woff +0 -0
  158. package/dist/styles/font/iconfont.woff2 +0 -0
  159. package/dist/styles/themes/default.scss +54 -50
  160. package/dist/styles/themes/jdb.scss +54 -50
  161. package/dist/styles/themes/jdt.scss +54 -50
  162. package/dist/styles/variables-jdb.scss +12 -0
  163. package/dist/styles/variables-jdt.scss +12 -0
  164. package/dist/styles/variables.scss +12 -0
  165. package/dist/types/__VUE/actionsheet/index.vue.d.ts +3 -3
  166. package/dist/types/__VUE/address/index.vue.d.ts +7 -7
  167. package/dist/types/__VUE/animate/index.vue.d.ts +48 -0
  168. package/dist/types/__VUE/animate/type.d.ts +6 -0
  169. package/dist/types/__VUE/avatar/index.vue.d.ts +3 -3
  170. package/dist/types/__VUE/calendar/index.vue.d.ts +1 -1
  171. package/dist/types/__VUE/calendaritem/index.vue.d.ts +10 -2
  172. package/dist/types/__VUE/cascader/index.vue.d.ts +2 -2
  173. package/dist/types/__VUE/circleprogress/index.vue.d.ts +2 -2
  174. package/dist/types/__VUE/collapse/index.vue.d.ts +3 -1
  175. package/dist/types/__VUE/configprovider/common.d.ts +20 -0
  176. package/dist/types/__VUE/configprovider/index.vue.d.ts +33 -0
  177. package/dist/types/__VUE/datepicker/index.vue.d.ts +2 -2
  178. package/dist/types/__VUE/dialog/index.vue.d.ts +2 -2
  179. package/dist/types/__VUE/ellipsis/index.vue.d.ts +72 -0
  180. package/dist/types/__VUE/fixednav/index.vue.d.ts +2 -2
  181. package/dist/types/__VUE/grid/index.vue.d.ts +2 -2
  182. package/dist/types/__VUE/image/index.vue.d.ts +105 -0
  183. package/dist/types/__VUE/image/type.d.ts +6 -0
  184. package/dist/types/__VUE/imagepreview/imagePreviewItem.vue.d.ts +95 -0
  185. package/dist/types/__VUE/imagepreview/index.vue.d.ts +56 -24
  186. package/dist/types/__VUE/menu/index.vue.d.ts +31 -4
  187. package/dist/types/__VUE/menuitem/index.vue.d.ts +12 -3
  188. package/dist/types/__VUE/noticebar/index.vue.d.ts +1 -1
  189. package/dist/types/__VUE/numberkeyboard/index.vue.d.ts +2 -2
  190. package/dist/types/__VUE/oldpicker/index.vue.d.ts +4 -4
  191. package/dist/types/__VUE/picker/index.vue.d.ts +4 -4
  192. package/dist/types/__VUE/popover/index.vue.d.ts +8 -8
  193. package/dist/types/__VUE/popup/index.vue.d.ts +4 -4
  194. package/dist/types/__VUE/range/index.vue.d.ts +1 -1
  195. package/dist/types/__VUE/rate/common.d.ts +149 -0
  196. package/dist/types/__VUE/rate/index.vue.d.ts +17 -7
  197. package/dist/types/__VUE/row/index.vue.d.ts +2 -2
  198. package/dist/types/__VUE/shortpassword/index.vue.d.ts +2 -2
  199. package/dist/types/__VUE/sku/index.vue.d.ts +3 -3
  200. package/dist/types/__VUE/swipe/index.vue.d.ts +2 -2
  201. package/dist/types/__VUE/swiper/index.vue.d.ts +2 -2
  202. package/dist/types/__VUE/switch/index.vue.d.ts +2 -2
  203. package/dist/types/__VUE/timeselect/index.vue.d.ts +3 -2
  204. package/dist/types/__VUE/uploader/uploader.d.ts +1 -0
  205. package/dist/types/index.d.ts +1 -1
  206. package/dist/types/nutui.d.ts +5 -1
  207. package/package.json +5 -4
@@ -1,26 +1,121 @@
1
1
  /*!
2
- * @nutui/nutui v3.1.22-beta.3 Wed Jun 15 2022 20:12:30 GMT+0800 (中国标准时间)
2
+ * @nutui/nutui v3.1.23-beta.0 Mon Jun 27 2022 17:55:50 GMT+0800 (中国标准时间)
3
3
  * (c) 2022 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */
6
- import { computed as e, resolveComponent as t, openBlock as a, createElementBlock as l, normalizeClass as o, normalizeStyle as i, createElementVNode as n, createBlock as c, createCommentVNode as u, Fragment as r, withDirectives as s, toDisplayString as d, vShow as p } from "vue";
7
- import { c as m } from "./component.js";
8
- import { _ as v } from "./plugin-vue_export-helper.js";
6
+ import { computed, resolveComponent, openBlock, createElementBlock, normalizeClass, normalizeStyle, createElementVNode, createBlock, createCommentVNode, Fragment, withDirectives, toDisplayString, vShow } from "vue";
7
+ import { c as createComponent } from "./component.js";
8
+ import { _ as _export_sfc } from "./plugin-vue_export-helper.js";
9
9
  import "../locale/lang";
10
- const { componentName: g, create: f } = m("switch"), y = f({ props: { modelValue: { type: [String, Number, Boolean], default: false }, disable: { type: Boolean, default: false }, activeColor: { type: String, default: "" }, inactiveColor: { type: String, default: "" }, activeText: { type: String, default: "" }, inactiveText: { type: String, default: "" }, activeValue: { type: [String, Number, Boolean], default: true }, inactiveValue: { type: [String, Number, Boolean], default: false }, loading: { type: Boolean, default: false }, name: { type: String, default: "loading1" }, size: { type: [String, Number], default: "12px" }, color: { type: String, default: "" } }, emits: ["change", "update:modelValue", "update:loading"], setup(t2, { emit: a2 }) {
11
- const l2 = e(() => t2.modelValue === t2.activeValue);
12
- return { classes: e(() => {
13
- const e2 = g;
14
- return { [e2]: true, [l2.value ? "switch-open" : "switch-close"]: true, [`${e2}-disable`]: t2.disable, [`${e2}-base`]: true };
15
- }), style: e(() => ({ backgroundColor: l2.value ? t2.activeColor : t2.inactiveColor })), onClick: (e2) => {
16
- if (t2.disable || t2.loading)
17
- return;
18
- const o2 = l2.value ? t2.inactiveValue : t2.activeValue;
19
- a2("update:modelValue", o2), a2("update:loading"), a2("change", o2, e2);
20
- } };
21
- } }), b = { class: "switch-button" };
22
- var V = v(y, [["render", function(e2, m2, v2, g2, f2, y2) {
23
- const V2 = t("nut-icon");
24
- return a(), l("view", { class: o(e2.classes), onClick: m2[0] || (m2[0] = (...t2) => e2.onClick && e2.onClick(...t2)), style: i(e2.style) }, [n("view", b, [e2.loading ? (a(), c(V2, { key: 0, name: e2.name, size: e2.size, color: e2.color }, null, 8, ["name", "size", "color"])) : u("", true), e2.activeText ? (a(), l(r, { key: 1 }, [s(n("view", { class: "nut-switch-label open" }, d(e2.activeText), 513), [[p, e2.modelValue]]), s(n("view", { class: "nut-switch-label close" }, d(e2.inactiveText), 513), [[p, !e2.modelValue]])], 64)) : u("", true)])], 6);
25
- }]]);
26
- export { V as default };
10
+ const { componentName, create } = createComponent("switch");
11
+ const _sfc_main = create({
12
+ props: {
13
+ modelValue: {
14
+ type: [String, Number, Boolean],
15
+ default: false
16
+ },
17
+ disable: {
18
+ type: Boolean,
19
+ default: false
20
+ },
21
+ activeColor: {
22
+ type: String,
23
+ default: ""
24
+ },
25
+ inactiveColor: {
26
+ type: String,
27
+ default: ""
28
+ },
29
+ activeText: {
30
+ type: String,
31
+ default: ""
32
+ },
33
+ inactiveText: {
34
+ type: String,
35
+ default: ""
36
+ },
37
+ activeValue: {
38
+ type: [String, Number, Boolean],
39
+ default: true
40
+ },
41
+ inactiveValue: {
42
+ type: [String, Number, Boolean],
43
+ default: false
44
+ },
45
+ loading: {
46
+ type: Boolean,
47
+ default: false
48
+ },
49
+ name: {
50
+ type: String,
51
+ default: "loading1"
52
+ },
53
+ size: {
54
+ type: [String, Number],
55
+ default: "12px"
56
+ },
57
+ color: {
58
+ type: String,
59
+ default: ""
60
+ }
61
+ },
62
+ emits: ["change", "update:modelValue", "update:loading"],
63
+ setup(props, { emit }) {
64
+ const isActive = computed(() => props.modelValue === props.activeValue);
65
+ const classes = computed(() => {
66
+ const prefixCls = componentName;
67
+ return {
68
+ [prefixCls]: true,
69
+ [isActive.value ? "switch-open" : "switch-close"]: true,
70
+ [`${prefixCls}-disable`]: props.disable,
71
+ [`${prefixCls}-base`]: true
72
+ };
73
+ });
74
+ const style = computed(() => {
75
+ return {
76
+ backgroundColor: isActive.value ? props.activeColor : props.inactiveColor
77
+ };
78
+ });
79
+ const onClick = (event) => {
80
+ if (props.disable || props.loading)
81
+ return;
82
+ const value = isActive.value ? props.inactiveValue : props.activeValue;
83
+ emit("update:modelValue", value);
84
+ emit("update:loading");
85
+ emit("change", value, event);
86
+ };
87
+ return {
88
+ classes,
89
+ style,
90
+ onClick
91
+ };
92
+ }
93
+ });
94
+ const _hoisted_1 = { class: "switch-button" };
95
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
96
+ const _component_nut_icon = resolveComponent("nut-icon");
97
+ return openBlock(), createElementBlock("view", {
98
+ class: normalizeClass(_ctx.classes),
99
+ onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args)),
100
+ style: normalizeStyle(_ctx.style)
101
+ }, [
102
+ createElementVNode("view", _hoisted_1, [
103
+ _ctx.loading ? (openBlock(), createBlock(_component_nut_icon, {
104
+ key: 0,
105
+ name: _ctx.name,
106
+ size: _ctx.size,
107
+ color: _ctx.color
108
+ }, null, 8, ["name", "size", "color"])) : createCommentVNode("", true),
109
+ _ctx.activeText ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
110
+ withDirectives(createElementVNode("view", { class: "nut-switch-label open" }, toDisplayString(_ctx.activeText), 513), [
111
+ [vShow, _ctx.modelValue]
112
+ ]),
113
+ withDirectives(createElementVNode("view", { class: "nut-switch-label close" }, toDisplayString(_ctx.inactiveText), 513), [
114
+ [vShow, !_ctx.modelValue]
115
+ ])
116
+ ], 64)) : createCommentVNode("", true)
117
+ ])
118
+ ], 6);
119
+ }
120
+ var index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
121
+ export { index as default };
@@ -1,17 +1,44 @@
1
1
  /*!
2
- * @nutui/nutui v3.1.22-beta.3 Wed Jun 15 2022 20:12:30 GMT+0800 (中国标准时间)
2
+ * @nutui/nutui v3.1.23-beta.0 Mon Jun 27 2022 17:55:50 GMT+0800 (中国标准时间)
3
3
  * (c) 2022 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */
6
- import { inject as e, openBlock as t, createElementBlock as a, normalizeClass as i, renderSlot as o } from "vue";
7
- import { c as r } from "./component.js";
8
- import { _ as n } from "./plugin-vue_export-helper.js";
6
+ import { inject, openBlock, createElementBlock, normalizeClass, renderSlot } from "vue";
7
+ import { c as createComponent } from "./component.js";
8
+ import { _ as _export_sfc } from "./plugin-vue_export-helper.js";
9
9
  import "../locale/lang";
10
- const { create: p } = r("tabpane");
11
- var u = n(p({ props: { title: { type: [String, Number], default: "" }, paneKey: { type: [String, Number], default: "" }, disabled: { type: Boolean, default: false } }, emits: ["click"], setup(t2, { emit: a2 }) {
12
- const i2 = e("activeKey"), o2 = e("autoHeight");
13
- return { activeKey: i2.activeKey, autoHeight: o2.autoHeight };
14
- } }), [["render", function(e2, r2, n2, p2, u2, l) {
15
- return t(), a("view", { class: i(["nut-tabpane", { inactive: e2.paneKey != e2.activeKey && e2.autoHeight }]) }, [o(e2.$slots, "default")], 2);
16
- }]]);
17
- export { u as default };
10
+ const { create } = createComponent("tabpane");
11
+ const _sfc_main = create({
12
+ props: {
13
+ title: {
14
+ type: [String, Number],
15
+ default: ""
16
+ },
17
+ paneKey: {
18
+ type: [String, Number],
19
+ default: ""
20
+ },
21
+ disabled: {
22
+ type: Boolean,
23
+ default: false
24
+ }
25
+ },
26
+ emits: ["click"],
27
+ setup(props, { emit }) {
28
+ const parent = inject("activeKey");
29
+ const parentOption = inject("autoHeight");
30
+ return {
31
+ activeKey: parent.activeKey,
32
+ autoHeight: parentOption.autoHeight
33
+ };
34
+ }
35
+ });
36
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
37
+ return openBlock(), createElementBlock("view", {
38
+ class: normalizeClass(["nut-tabpane", { inactive: _ctx.paneKey != _ctx.activeKey && _ctx.autoHeight }])
39
+ }, [
40
+ renderSlot(_ctx.$slots, "default")
41
+ ], 2);
42
+ }
43
+ var index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
44
+ export { index as default };
@@ -1,23 +1,78 @@
1
1
  /*!
2
- * @nutui/nutui v3.1.22-beta.3 Wed Jun 15 2022 20:12:30 GMT+0800 (中国标准时间)
2
+ * @nutui/nutui v3.1.23-beta.0 Mon Jun 27 2022 17:55:50 GMT+0800 (中国标准时间)
3
3
  * (c) 2022 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */
6
- import { reactive as e, provide as t, watch as a, openBlock as o, createElementBlock as l, normalizeClass as r, renderSlot as i } from "vue";
7
- import { c as n } from "./component.js";
8
- import { _ as s } from "./plugin-vue_export-helper.js";
6
+ import { reactive, provide, watch, openBlock, createElementBlock, normalizeClass, renderSlot } from "vue";
7
+ import { c as createComponent } from "./component.js";
8
+ import { _ as _export_sfc } from "./plugin-vue_export-helper.js";
9
9
  import "../locale/lang";
10
- const { create: u } = n("tabbar");
11
- var p = s(u({ props: { visible: { type: [Number, String], default: 0 }, bottom: { type: Boolean, default: false }, type: { type: String, default: "base" }, size: { type: String, default: "20px" }, unactiveColor: { type: String, default: "#000000" }, activeColor: { type: String, default: "" }, safeAreaInsetBottom: { type: Boolean, default: false } }, emits: ["tab-switch", "update:visible"], setup(o2, { emit: l2, slots: r2 }) {
12
- const i2 = e({ val: o2.visible, children: [] });
13
- function n2(e2) {
14
- l2("update:visible", e2), s2.modelValue = e2, l2("tab-switch", s2.children[e2], e2);
10
+ const { create } = createComponent("tabbar");
11
+ const _sfc_main = create({
12
+ props: {
13
+ visible: {
14
+ type: [Number, String],
15
+ default: 0
16
+ },
17
+ bottom: {
18
+ type: Boolean,
19
+ default: false
20
+ },
21
+ type: {
22
+ type: String,
23
+ default: "base"
24
+ },
25
+ size: {
26
+ type: String,
27
+ default: "20px"
28
+ },
29
+ unactiveColor: {
30
+ type: String,
31
+ default: ""
32
+ },
33
+ activeColor: {
34
+ type: String,
35
+ default: ""
36
+ },
37
+ safeAreaInsetBottom: {
38
+ type: Boolean,
39
+ default: false
40
+ }
41
+ },
42
+ emits: ["tab-switch", "update:visible"],
43
+ setup(props, { emit, slots }) {
44
+ const mdValue = reactive({
45
+ val: props.visible,
46
+ children: []
47
+ });
48
+ function changeIndex(active) {
49
+ emit("update:visible", active);
50
+ parentData.modelValue = active;
51
+ emit("tab-switch", parentData.children[active], active);
52
+ }
53
+ let parentData = reactive({
54
+ children: mdValue.children,
55
+ size: props.size,
56
+ modelValue: mdValue.val,
57
+ unactiveColor: props.unactiveColor,
58
+ activeColor: props.activeColor,
59
+ changeIndex
60
+ });
61
+ provide("parent", parentData);
62
+ watch(() => props.visible, (value) => {
63
+ parentData.modelValue = value;
64
+ });
65
+ return {
66
+ changeIndex
67
+ };
15
68
  }
16
- let s2 = e({ children: i2.children, size: o2.size, modelValue: i2.val, unactiveColor: o2.unactiveColor, activeColor: o2.activeColor, changeIndex: n2 });
17
- return t("parent", s2), a(() => o2.visible, (e2) => {
18
- s2.modelValue = e2;
19
- }), { changeIndex: n2 };
20
- } }), [["render", function(e2, t2, a2, n2, s2, u2) {
21
- return o(), l("view", { class: r(["nut-tabbar", { "nut-tabbar-bottom": e2.bottom, "nut-tabbar-safebottom": e2.safeAreaInsetBottom }]) }, [i(e2.$slots, "default")], 2);
22
- }]]);
23
- export { p as default };
69
+ });
70
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
71
+ return openBlock(), createElementBlock("view", {
72
+ class: normalizeClass(["nut-tabbar", { "nut-tabbar-bottom": _ctx.bottom, "nut-tabbar-safebottom": _ctx.safeAreaInsetBottom }])
73
+ }, [
74
+ renderSlot(_ctx.$slots, "default")
75
+ ], 2);
76
+ }
77
+ var index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
78
+ export { index as default };
@@ -1,37 +1,159 @@
1
1
  /*!
2
- * @nutui/nutui v3.1.22-beta.3 Wed Jun 15 2022 20:12:30 GMT+0800 (中国标准时间)
2
+ * @nutui/nutui v3.1.23-beta.0 Mon Jun 27 2022 17:55:50 GMT+0800 (中国标准时间)
3
3
  * (c) 2022 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */
6
- import { c as t } from "./component.js";
7
- import { u as e } from "./index.js";
8
- import { inject as i, reactive as a, getCurrentInstance as n, computed as o, watch as c, resolveComponent as s, openBlock as l, createElementBlock as r, normalizeClass as u, normalizeStyle as m, createElementVNode as b, Fragment as d, toDisplayString as f, createCommentVNode as p, createVNode as v, renderSlot as x } from "vue";
9
- import { _ as g } from "./plugin-vue_export-helper.js";
6
+ import { c as createComponent } from "./component.js";
7
+ import { u as useRouter } from "./index.js";
8
+ import { inject, reactive, getCurrentInstance, computed, watch, resolveComponent, openBlock, createElementBlock, normalizeClass, normalizeStyle, createElementVNode, Fragment, toDisplayString, createCommentVNode, createVNode, renderSlot } from "vue";
9
+ import { _ as _export_sfc } from "./plugin-vue_export-helper.js";
10
10
  import "../locale/lang";
11
- const { create: _ } = t("tabbar-item"), y = _({ props: { tabTitle: { type: String, default: "" }, icon: { type: String, default: "" }, href: { type: String, default: "" }, num: { type: String, default: "" }, activeImg: { type: String, default: "" }, img: { type: String, default: "" }, classPrefix: { type: String, default: "nut-icon" }, dot: { type: Boolean, default: false }, fontClassName: { type: String, default: "nutui-iconfont" }, to: [Object, String] }, setup(t2, s2) {
12
- const l2 = i("parent"), r2 = a({ size: l2.size, unactiveColor: l2.unactiveColor, activeColor: l2.activeColor, active: l2.modelValue, index: 0 }), u2 = e();
13
- ((t3) => {
14
- if (t3.proxy) {
15
- let e2 = l2.children.length;
16
- r2.index = e2, l2.children.push(t3.proxy);
11
+ const { create } = createComponent("tabbar-item");
12
+ const _sfc_main = create({
13
+ props: {
14
+ tabTitle: {
15
+ type: String,
16
+ default: ""
17
+ },
18
+ icon: {
19
+ type: String,
20
+ default: ""
21
+ },
22
+ href: {
23
+ type: String,
24
+ default: ""
25
+ },
26
+ num: {
27
+ type: String,
28
+ default: ""
29
+ },
30
+ activeImg: {
31
+ type: String,
32
+ default: ""
33
+ },
34
+ img: {
35
+ type: String,
36
+ default: ""
37
+ },
38
+ classPrefix: {
39
+ type: String,
40
+ default: "nut-icon"
41
+ },
42
+ dot: {
43
+ type: Boolean,
44
+ default: false
45
+ },
46
+ fontClassName: {
47
+ type: String,
48
+ default: "nutui-iconfont"
49
+ },
50
+ to: [Object, String]
51
+ },
52
+ setup(props, ctx) {
53
+ const parent = inject("parent");
54
+ const state = reactive({
55
+ size: parent.size,
56
+ unactiveColor: parent.unactiveColor,
57
+ activeColor: parent.activeColor,
58
+ active: parent.modelValue,
59
+ index: 0
60
+ });
61
+ const router = useRouter();
62
+ const relation = (child) => {
63
+ if (child.proxy) {
64
+ let index2 = parent.children.length;
65
+ state.index = index2;
66
+ parent.children.push(child.proxy);
67
+ }
68
+ };
69
+ relation(getCurrentInstance());
70
+ function change(index2) {
71
+ parent.changeIndex(index2);
17
72
  }
18
- })(n());
19
- const m2 = o(() => l2 ? l2.modelValue : null);
20
- return c(m2, (t3, e2) => {
21
- r2.active = t3, setTimeout(() => {
22
- if (l2.children[t3].href)
23
- window.location.href = l2.children[t3].href;
24
- else if (l2.children[t3].to) {
25
- let e3 = l2.children[t3].to;
26
- e3 && u2 ? u2.push(e3) : location.replace(e3);
73
+ const choosed = computed(() => {
74
+ if (parent) {
75
+ return parent.modelValue;
27
76
  }
77
+ return null;
78
+ });
79
+ watch(choosed, (value, oldValue) => {
80
+ state.active = value;
81
+ setTimeout(() => {
82
+ if (parent.children[value].href) {
83
+ window.location.href = parent.children[value].href;
84
+ return;
85
+ }
86
+ if (parent.children[value].to) {
87
+ let to = parent.children[value].to;
88
+ if (to && router) {
89
+ router.push(to);
90
+ } else {
91
+ location.replace(to);
92
+ }
93
+ }
94
+ });
28
95
  });
29
- }), { state: r2, change: function(t3) {
30
- l2.changeIndex(t3);
31
- } };
32
- } }), h = { class: "nut-tabbar-item_icon-box" }, w = { key: 0, class: "nut-tabbar-item_icon-box_tips nut-tabbar-item_icon-box_num" }, k = { key: 1, class: "nut-tabbar-item_icon-box_tips nut-tabbar-item_icon-box_nums" }, C = { key: 1, class: "nut-tabbar-item_icon-box_dot" }, S = { key: 2 }, z = { key: 0 };
33
- var I = g(y, [["render", function(t2, e2, i2, a2, n2, o2) {
34
- const c2 = s("nut-icon");
35
- return l(), r("div", { class: u(["nut-tabbar-item", { "nut-tabbar-item__icon--unactive": t2.state.active != t2.state.index }]), style: m({ color: t2.state.active == t2.state.index ? t2.state.activeColor : t2.state.unactiveColor }), onClick: e2[0] || (e2[0] = (e3) => t2.change(t2.state.index)) }, [b("view", h, [t2.dot ? p("", true) : (l(), r(d, { key: 0 }, [t2.num && t2.num <= 99 ? (l(), r("view", w, f(t2.num), 1)) : t2.num && t2.num > 100 ? (l(), r("view", k, f("99+"))) : p("", true)], 64)), t2.dot ? (l(), r("div", C)) : p("", true), t2.icon ? (l(), r("view", S, [v(c2, { class: "nut-tabbar-item_icon-box_icon", size: t2.state.size, name: t2.icon, "font-class-name": t2.fontClassName, "class-prefix": t2.classPrefix }, null, 8, ["size", "name", "font-class-name", "class-prefix"])])) : p("", true), !t2.icon && t2.activeImg ? (l(), r("div", { key: 3, class: "nut-tabbar-item_icon-box_icon", style: m({ backgroundImage: `url(${t2.state.active == t2.state.index ? t2.activeImg : t2.img})`, width: t2.state.size, height: t2.state.size }) }, null, 4)) : p("", true), b("view", { class: u(["nut-tabbar-item_icon-box_nav-word", { "nut-tabbar-item_icon-box_big-word": !t2.icon && !t2.activeImg }]) }, [t2.tabTitle ? (l(), r("view", z, f(t2.tabTitle), 1)) : p("", true), t2.tabTitle ? p("", true) : x(t2.$slots, "default", { key: 1 })], 2)])], 6);
36
- }]]);
37
- export { I as default };
96
+ return {
97
+ state,
98
+ change
99
+ };
100
+ }
101
+ });
102
+ const _hoisted_1 = { class: "nut-tabbar-item_icon-box" };
103
+ const _hoisted_2 = {
104
+ key: 0,
105
+ class: "nut-tabbar-item_icon-box_tips nut-tabbar-item_icon-box_num"
106
+ };
107
+ const _hoisted_3 = {
108
+ key: 1,
109
+ class: "nut-tabbar-item_icon-box_tips nut-tabbar-item_icon-box_nums"
110
+ };
111
+ const _hoisted_4 = {
112
+ key: 1,
113
+ class: "nut-tabbar-item_icon-box_dot"
114
+ };
115
+ const _hoisted_5 = { key: 2 };
116
+ const _hoisted_6 = { key: 0 };
117
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
118
+ const _component_nut_icon = resolveComponent("nut-icon");
119
+ return openBlock(), createElementBlock("div", {
120
+ class: normalizeClass(["nut-tabbar-item", { "nut-tabbar-item__icon--unactive": _ctx.state.active != _ctx.state.index }]),
121
+ style: normalizeStyle({
122
+ color: _ctx.state.active == _ctx.state.index ? _ctx.state.activeColor : _ctx.state.unactiveColor
123
+ }),
124
+ onClick: _cache[0] || (_cache[0] = ($event) => _ctx.change(_ctx.state.index))
125
+ }, [
126
+ createElementVNode("view", _hoisted_1, [
127
+ !_ctx.dot ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
128
+ _ctx.num && _ctx.num <= 99 ? (openBlock(), createElementBlock("view", _hoisted_2, toDisplayString(_ctx.num), 1)) : _ctx.num && _ctx.num > 100 ? (openBlock(), createElementBlock("view", _hoisted_3, toDisplayString("99+"))) : createCommentVNode("", true)
129
+ ], 64)) : createCommentVNode("", true),
130
+ _ctx.dot ? (openBlock(), createElementBlock("div", _hoisted_4)) : createCommentVNode("", true),
131
+ _ctx.icon ? (openBlock(), createElementBlock("view", _hoisted_5, [
132
+ createVNode(_component_nut_icon, {
133
+ class: "nut-tabbar-item_icon-box_icon",
134
+ size: _ctx.state.size,
135
+ name: _ctx.icon,
136
+ "font-class-name": _ctx.fontClassName,
137
+ "class-prefix": _ctx.classPrefix
138
+ }, null, 8, ["size", "name", "font-class-name", "class-prefix"])
139
+ ])) : createCommentVNode("", true),
140
+ !_ctx.icon && _ctx.activeImg ? (openBlock(), createElementBlock("div", {
141
+ key: 3,
142
+ class: "nut-tabbar-item_icon-box_icon",
143
+ style: normalizeStyle({
144
+ backgroundImage: `url(${_ctx.state.active == _ctx.state.index ? _ctx.activeImg : _ctx.img})`,
145
+ width: _ctx.state.size,
146
+ height: _ctx.state.size
147
+ })
148
+ }, null, 4)) : createCommentVNode("", true),
149
+ createElementVNode("view", {
150
+ class: normalizeClass(["nut-tabbar-item_icon-box_nav-word", { "nut-tabbar-item_icon-box_big-word": !_ctx.icon && !_ctx.activeImg }])
151
+ }, [
152
+ _ctx.tabTitle ? (openBlock(), createElementBlock("view", _hoisted_6, toDisplayString(_ctx.tabTitle), 1)) : createCommentVNode("", true),
153
+ !_ctx.tabTitle ? renderSlot(_ctx.$slots, "default", { key: 1 }) : createCommentVNode("", true)
154
+ ], 2)
155
+ ])
156
+ ], 6);
157
+ }
158
+ var index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
159
+ export { index as default };