@nutui/nutui 3.1.11 → 3.1.13-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +148 -37
  3. package/dist/nutui.d.ts +8 -2
  4. package/dist/nutui.es.js +5088 -3730
  5. package/dist/nutui.umd.js +5100 -3736
  6. package/dist/packages/_es/ActionSheet.js +1 -1
  7. package/dist/packages/_es/Address.js +3 -1
  8. package/dist/packages/_es/Avatar.js +1 -1
  9. package/dist/packages/_es/BackTop.js +1 -1
  10. package/dist/packages/_es/Badge.js +1 -1
  11. package/dist/packages/_es/Barrage.js +1 -1
  12. package/dist/packages/_es/Button.js +1 -1
  13. package/dist/packages/_es/Calendar.js +1 -1
  14. package/dist/packages/_es/Card.js +105 -0
  15. package/dist/packages/_es/Cascader.js +547 -0
  16. package/dist/packages/_es/Cell.js +1 -1
  17. package/dist/packages/_es/CellGroup.js +10 -4
  18. package/dist/packages/_es/Checkbox.js +1 -1
  19. package/dist/packages/_es/CheckboxGroup.js +2 -2
  20. package/dist/packages/_es/CircleProgress.js +1 -1
  21. package/dist/packages/_es/Col.js +1 -1
  22. package/dist/packages/_es/Collapse.js +1 -1
  23. package/dist/packages/_es/CollapseItem.js +1 -1
  24. package/dist/packages/_es/CountDown.js +2 -2
  25. package/dist/packages/_es/CountUp.js +3 -1
  26. package/dist/packages/_es/DatePicker.js +2 -2
  27. package/dist/packages/_es/Dialog.js +10 -23
  28. package/dist/packages/_es/Divider.js +1 -1
  29. package/dist/packages/_es/Drag.js +1 -1
  30. package/dist/packages/_es/Elevator.js +3 -2
  31. package/dist/packages/_es/FixedNav.js +1 -1
  32. package/dist/packages/_es/Form.js +138 -0
  33. package/dist/packages/_es/FormItem.js +110 -0
  34. package/dist/packages/_es/Grid.js +12 -0
  35. package/dist/packages/_es/GridItem.js +149 -0
  36. package/dist/packages/_es/Icon.js +1 -1
  37. package/dist/packages/_es/ImagePreview.js +148 -32
  38. package/dist/packages/_es/InfiniteLoading.js +1 -1
  39. package/dist/packages/_es/Input.js +1 -1
  40. package/dist/packages/_es/InputNumber.js +1 -1
  41. package/dist/packages/_es/Layout.js +1 -1
  42. package/dist/packages/_es/Menu.js +83 -167
  43. package/dist/packages/_es/MenuItem.js +154 -15
  44. package/dist/packages/_es/Navbar.js +1 -1
  45. package/dist/packages/_es/NoticeBar.js +6 -8
  46. package/dist/packages/_es/Notify.js +1 -1
  47. package/dist/packages/_es/NumberKeyboard.js +9 -7
  48. package/dist/packages/_es/OverLay.js +1 -1
  49. package/dist/packages/_es/Pagination.js +1 -1
  50. package/dist/packages/_es/Picker.js +2 -2
  51. package/dist/packages/_es/Popover.js +11 -17
  52. package/dist/packages/_es/Popup.js +52 -13
  53. package/dist/packages/_es/Price.js +1 -1
  54. package/dist/packages/_es/Progress.js +1 -1
  55. package/dist/packages/_es/Radio.js +1 -1
  56. package/dist/packages/_es/RadioGroup.js +1 -1
  57. package/dist/packages/_es/Range.js +4 -32
  58. package/dist/packages/_es/Rate.js +19 -5
  59. package/dist/packages/_es/Row.js +1 -1
  60. package/dist/packages/_es/SearchBar.js +1 -1
  61. package/dist/packages/_es/ShortPassword.js +1 -1
  62. package/dist/packages/_es/Signature.js +1 -1
  63. package/dist/packages/_es/Sku.js +2 -37
  64. package/dist/packages/_es/Step.js +1 -1
  65. package/dist/packages/_es/Steps.js +1 -1
  66. package/dist/packages/_es/Swipe.js +2 -2
  67. package/dist/packages/_es/Swiper.js +11 -11
  68. package/dist/packages/_es/SwiperItem.js +3 -3
  69. package/dist/packages/_es/Switch.js +28 -8
  70. package/dist/packages/_es/TabPane.js +1 -1
  71. package/dist/packages/_es/Tabbar.js +1 -1
  72. package/dist/packages/_es/TabbarItem.js +1 -1
  73. package/dist/packages/_es/Tabs.js +6 -2
  74. package/dist/packages/_es/Tag.js +1 -1
  75. package/dist/packages/_es/TextArea.js +1 -1
  76. package/dist/packages/_es/TimeDetail.js +1 -1
  77. package/dist/packages/_es/TimePannel.js +1 -1
  78. package/dist/packages/_es/TimeSelect.js +1 -1
  79. package/dist/packages/_es/Toast.js +18 -8
  80. package/dist/packages/_es/Uploader.js +30 -22
  81. package/dist/packages/_es/Video.js +3 -3
  82. package/dist/packages/_es/common.js +136 -0
  83. package/dist/packages/_es/component.js +1 -1
  84. package/dist/packages/_es/index.js +7 -58
  85. package/dist/packages/_es/index2.js +58 -7
  86. package/dist/packages/_es/index3.js +36 -0
  87. package/dist/packages/_es/plugin-vue_export-helper.js +4 -3
  88. package/dist/packages/_es/pxCheck.js +1 -1
  89. package/dist/packages/_es/raf.js +1 -1
  90. package/dist/packages/_es/util.js +47 -0
  91. package/dist/packages/button/index.scss +6 -0
  92. package/dist/packages/card/index.scss +97 -0
  93. package/dist/packages/cascader/index.scss +81 -0
  94. package/dist/packages/cellgroup/index.scss +9 -0
  95. package/dist/packages/checkbox/index.scss +1 -1
  96. package/dist/packages/dialog/index.scss +17 -0
  97. package/dist/packages/drag/index.scss +4 -0
  98. package/dist/packages/fixednav/index.scss +6 -1
  99. package/dist/packages/form/index.scss +2 -0
  100. package/dist/packages/formitem/index.scss +63 -0
  101. package/dist/packages/grid/index.scss +10 -0
  102. package/dist/packages/griditem/index.scss +92 -0
  103. package/dist/packages/icon/index.scss +2 -1
  104. package/dist/packages/menu/index.scss +32 -60
  105. package/dist/packages/menuitem/index.scss +36 -99
  106. package/dist/packages/numberkeyboard/index.scss +1 -1
  107. package/dist/packages/popover/index.scss +2 -2
  108. package/dist/packages/rate/index.scss +1 -0
  109. package/dist/packages/switch/index.scss +1 -1
  110. package/dist/packages/tabs/index.scss +16 -0
  111. package/dist/packages/textarea/index.scss +1 -0
  112. package/dist/packages/timedetail/index.scss +1 -2
  113. package/dist/packages/timeselect/index.scss +3 -0
  114. package/dist/packages/toast/index.scss +6 -0
  115. package/dist/style.css +1 -1
  116. package/dist/styles/font/config.json +2 -1
  117. package/dist/styles/font/demo_index.html +26 -3
  118. package/dist/styles/font/iconfont.css +7 -3
  119. package/dist/styles/font/iconfont.js +31 -32
  120. package/dist/styles/font/iconfont.json +7 -0
  121. package/dist/styles/font/iconfont.ttf +0 -0
  122. package/dist/styles/font/iconfont.woff +0 -0
  123. package/dist/styles/font/iconfont.woff2 +0 -0
  124. package/dist/styles/themes/default.scss +39 -33
  125. package/dist/styles/variables.scss +54 -1
  126. package/package.json +3 -4
  127. package/dist/packages/_es/style.css +0 -160
@@ -0,0 +1,547 @@
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
+ var __restKey = (key) => typeof key === "symbol" ? key : key + "";
21
+ var __objRest = (source, exclude) => {
22
+ var target = {};
23
+ for (var prop in source)
24
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
25
+ target[prop] = source[prop];
26
+ if (source != null && __getOwnPropSymbols)
27
+ for (var prop of __getOwnPropSymbols(source)) {
28
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
29
+ target[prop] = source[prop];
30
+ }
31
+ return target;
32
+ };
33
+ var __publicField = (obj, key, value) => {
34
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
35
+ return value;
36
+ };
37
+ /*!
38
+ * @nutui/nutui v3.1.13-beta.1 Mon Dec 13 2021 11:01:35 GMT+0800 (中国标准时间)
39
+ * (c) 2021 @jdf2e.
40
+ * Released under the MIT License.
41
+ */
42
+ import { computed, ref, watch, resolveComponent, openBlock, createBlock, withCtx, createElementBlock, Fragment, renderList, createElementVNode, normalizeClass, toDisplayString, createCommentVNode, createVNode } from "vue";
43
+ import { c as createComponent } from "./component.js";
44
+ import { _ as _export_sfc } from "./plugin-vue_export-helper.js";
45
+ const formatTree = (tree, parent, config) => tree.map((node) => {
46
+ const { value: valueKey = "value", text: textKey = "text", children: childrenKey = "children" } = config;
47
+ const _a = node, { [valueKey]: value, [textKey]: text, [childrenKey]: children } = _a, others = __objRest(_a, [__restKey(valueKey), __restKey(textKey), __restKey(childrenKey)]);
48
+ const newNode = __spreadProps(__spreadValues({
49
+ loading: false
50
+ }, others), {
51
+ level: parent ? (parent && parent.level || 0) + 1 : 0,
52
+ value,
53
+ text,
54
+ children,
55
+ _parent: parent
56
+ });
57
+ if (newNode.children && newNode.children.length) {
58
+ newNode.children = formatTree(newNode.children, newNode, config);
59
+ }
60
+ return newNode;
61
+ });
62
+ const eachTree = (tree, cb) => {
63
+ let i = 0;
64
+ let node;
65
+ while (node = tree[i++]) {
66
+ if (cb(node) === true) {
67
+ break;
68
+ }
69
+ if (node.children && node.children.length) {
70
+ eachTree(node.children, cb);
71
+ }
72
+ }
73
+ };
74
+ const defaultConvertConfig = {
75
+ topId: null,
76
+ idKey: "id",
77
+ pidKey: "pid",
78
+ sortKey: ""
79
+ };
80
+ const convertListToOptions = (list, options) => {
81
+ const mergedOptions = __spreadValues(__spreadValues({}, defaultConvertConfig), options || {});
82
+ const { topId, idKey, pidKey, sortKey } = mergedOptions;
83
+ let result = [];
84
+ let map = {};
85
+ list.forEach((node) => {
86
+ node = __spreadValues({}, node);
87
+ const { [idKey]: id, [pidKey]: pid } = node;
88
+ const children = map[pid] = map[pid] || [];
89
+ if (!result.length && pid === topId) {
90
+ result = children;
91
+ }
92
+ children.push(node);
93
+ node.children = map[id] || (map[id] = []);
94
+ });
95
+ if (sortKey) {
96
+ Object.keys(map).forEach((i) => {
97
+ if (map[i].length > 1) {
98
+ map[i].sort((a, b) => a[sortKey] - b[sortKey]);
99
+ }
100
+ });
101
+ }
102
+ map = null;
103
+ return result;
104
+ };
105
+ class Tree {
106
+ constructor(nodes, config) {
107
+ __publicField(this, "nodes");
108
+ __publicField(this, "config");
109
+ this.config = __spreadValues({
110
+ value: "value",
111
+ text: "text",
112
+ children: "children"
113
+ }, config || {});
114
+ this.nodes = formatTree(nodes, null, this.config);
115
+ }
116
+ updateChildren(nodes, parent) {
117
+ if (!parent) {
118
+ this.nodes = formatTree(nodes, null, this.config);
119
+ } else {
120
+ parent.children = formatTree(nodes, parent, this.config);
121
+ }
122
+ }
123
+ getNodeByValue(value) {
124
+ let foundNode;
125
+ eachTree(this.nodes, (node) => {
126
+ if (node.value === value) {
127
+ foundNode = node;
128
+ return true;
129
+ }
130
+ });
131
+ return foundNode;
132
+ }
133
+ getPathNodesByNode(node) {
134
+ const nodes = [];
135
+ while (node) {
136
+ nodes.unshift(node);
137
+ node = node._parent;
138
+ }
139
+ return nodes;
140
+ }
141
+ getPathNodesByValue(value) {
142
+ if (Array.isArray(value) && !value.length) {
143
+ return [];
144
+ }
145
+ const tail = Array.isArray(value) ? value[value.length - 1] : value;
146
+ const node = this.getNodeByValue(tail);
147
+ if (!node) {
148
+ return [];
149
+ }
150
+ return this.getPathNodesByNode(node);
151
+ }
152
+ isLeaf(node, lazy) {
153
+ const { leaf, children } = node;
154
+ const hasChildren = Array.isArray(children) && Boolean(children.length);
155
+ return leaf || !hasChildren && !lazy;
156
+ }
157
+ hasChildren(node, lazy) {
158
+ const isLeaf = this.isLeaf(node, lazy);
159
+ if (isLeaf) {
160
+ return false;
161
+ }
162
+ const { children } = node;
163
+ return Array.isArray(children) && Boolean(children.length);
164
+ }
165
+ }
166
+ const { create: create$1 } = createComponent("cascader-item");
167
+ const _sfc_main$1 = create$1({
168
+ props: {
169
+ visible: Boolean,
170
+ modelValue: Array,
171
+ options: {
172
+ type: Array,
173
+ default: () => []
174
+ },
175
+ lazy: Boolean,
176
+ lazyLoad: Function,
177
+ valueKey: {
178
+ type: String,
179
+ default: "value"
180
+ },
181
+ textKey: {
182
+ type: String,
183
+ default: "text"
184
+ },
185
+ childrenKey: {
186
+ type: String,
187
+ default: "children"
188
+ },
189
+ convertConfig: Object
190
+ },
191
+ components: {},
192
+ emits: ["update:modelValue", "change", "pathChange"],
193
+ setup(props, { emit }) {
194
+ const configs = computed(() => ({
195
+ lazy: props.lazy,
196
+ lazyLoad: props.lazyLoad,
197
+ valueKey: props.valueKey,
198
+ textKey: props.textKey,
199
+ childrenKey: props.childrenKey,
200
+ convertConfig: props.convertConfig
201
+ }));
202
+ const tabsCursor = ref(0);
203
+ const initLoading = ref(false);
204
+ const innerValue = ref(props.modelValue);
205
+ const tree = ref(new Tree([], {}));
206
+ const panes = ref([]);
207
+ const isLazy = computed(() => configs.value.lazy && Boolean(configs.value.lazyLoad));
208
+ const lazyLoadMap = new Map();
209
+ let currentProcessNode;
210
+ const init = async () => {
211
+ lazyLoadMap.clear();
212
+ panes.value = [];
213
+ tabsCursor.value = 0;
214
+ initLoading.value = false;
215
+ currentProcessNode = null;
216
+ let { options } = props;
217
+ if (configs.value.convertConfig) {
218
+ options = convertListToOptions(options, configs.value.convertConfig);
219
+ }
220
+ tree.value = new Tree(options, {
221
+ value: configs.value.valueKey,
222
+ text: configs.value.textKey,
223
+ children: configs.value.childrenKey
224
+ });
225
+ if (isLazy.value && !tree.value.nodes.length) {
226
+ await invokeLazyLoad({
227
+ root: true,
228
+ loading: true,
229
+ text: "",
230
+ value: ""
231
+ });
232
+ }
233
+ panes.value = [{ nodes: tree.value.nodes, selectedNode: null }];
234
+ syncValue();
235
+ };
236
+ const syncValue = async () => {
237
+ const currentValue = innerValue.value;
238
+ if (currentValue === void 0 || !tree.value.nodes.length) {
239
+ return;
240
+ }
241
+ if (currentValue.length === 0) {
242
+ tabsCursor.value = 0;
243
+ panes.value = [{ nodes: tree.value.nodes, selectedNode: null }];
244
+ return;
245
+ }
246
+ let needToSync = currentValue;
247
+ if (isLazy.value && Array.isArray(currentValue) && currentValue.length) {
248
+ needToSync = [];
249
+ let parent = tree.value.nodes.find((node) => node.value === currentValue[0]);
250
+ if (parent) {
251
+ needToSync = [parent.value];
252
+ initLoading.value = true;
253
+ const last = await currentValue.slice(1).reduce(async (p, value) => {
254
+ var _a;
255
+ const parent2 = await p;
256
+ await invokeLazyLoad(parent2);
257
+ const node = (_a = parent2 == null ? void 0 : parent2.children) == null ? void 0 : _a.find((item) => item.value === value);
258
+ if (node) {
259
+ needToSync.push(value);
260
+ }
261
+ return Promise.resolve(node);
262
+ }, Promise.resolve(parent));
263
+ await invokeLazyLoad(last);
264
+ initLoading.value = false;
265
+ }
266
+ }
267
+ if (needToSync.length && currentValue === props.modelValue) {
268
+ const pathNodes = tree.value.getPathNodesByValue(needToSync);
269
+ pathNodes.map((node, index2) => {
270
+ tabsCursor.value = index2;
271
+ methods.handleNode(node, true);
272
+ });
273
+ }
274
+ };
275
+ const invokeLazyLoad = async (node) => {
276
+ if (!node) {
277
+ return;
278
+ }
279
+ if (!configs.value.lazyLoad) {
280
+ node.leaf = true;
281
+ return;
282
+ }
283
+ if (tree.value.isLeaf(node, isLazy.value) || tree.value.hasChildren(node, isLazy.value)) {
284
+ return;
285
+ }
286
+ node.loading = true;
287
+ const parent = node.root ? null : node;
288
+ let lazyLoadPromise = lazyLoadMap.get(node);
289
+ if (!lazyLoadPromise) {
290
+ lazyLoadPromise = new Promise((resolve) => {
291
+ var _a, _b;
292
+ (_b = (_a = configs.value).lazyLoad) == null ? void 0 : _b.call(_a, node, resolve);
293
+ });
294
+ lazyLoadMap.set(node, lazyLoadPromise);
295
+ }
296
+ const nodes = await lazyLoadPromise;
297
+ if (Array.isArray(nodes) && nodes.length > 0) {
298
+ tree.value.updateChildren(nodes, parent);
299
+ } else {
300
+ node.leaf = true;
301
+ }
302
+ node.loading = false;
303
+ lazyLoadMap.delete(node);
304
+ };
305
+ const emitChange = (pathNodes) => {
306
+ const emitValue = pathNodes.map((node) => node.value);
307
+ innerValue.value = emitValue;
308
+ emit("change", emitValue, pathNodes);
309
+ emit("update:modelValue", emitValue, pathNodes);
310
+ };
311
+ const methods = {
312
+ async handleNode(node, silent) {
313
+ const { disabled, loading } = node;
314
+ if (!silent && disabled || !panes.value[tabsCursor.value]) {
315
+ return;
316
+ }
317
+ if (tree.value.isLeaf(node, isLazy.value)) {
318
+ node.leaf = true;
319
+ panes.value[tabsCursor.value].selectedNode = node;
320
+ panes.value = panes.value.slice(0, node.level + 1);
321
+ if (!silent) {
322
+ const pathNodes = panes.value.map((pane) => pane.selectedNode);
323
+ emitChange(pathNodes);
324
+ emit("pathChange", pathNodes);
325
+ }
326
+ return;
327
+ }
328
+ if (tree.value.hasChildren(node, isLazy.value)) {
329
+ const level = node.level + 1;
330
+ panes.value[tabsCursor.value].selectedNode = node;
331
+ panes.value = panes.value.slice(0, level);
332
+ panes.value.push({
333
+ nodes: node.children || [],
334
+ selectedNode: null
335
+ });
336
+ tabsCursor.value = level;
337
+ if (!silent) {
338
+ const pathNodes = panes.value.map((pane) => pane.selectedNode);
339
+ emit("pathChange", pathNodes);
340
+ }
341
+ return;
342
+ }
343
+ currentProcessNode = node;
344
+ if (loading) {
345
+ return;
346
+ }
347
+ await invokeLazyLoad(node);
348
+ if (currentProcessNode === node) {
349
+ panes.value[tabsCursor.value].selectedNode = node;
350
+ methods.handleNode(node, silent);
351
+ }
352
+ },
353
+ handleTabClick(tab) {
354
+ currentProcessNode = null;
355
+ tabsCursor.value = tab.paneKey;
356
+ },
357
+ formatTabTitle(pane) {
358
+ return pane.selectedNode ? pane.selectedNode.text : "\u8BF7\u9009\u62E9";
359
+ },
360
+ isSelected(pane, node) {
361
+ return pane.selectedNode && pane.selectedNode.value === node.value;
362
+ }
363
+ };
364
+ watch([configs, () => props.options], () => {
365
+ init();
366
+ }, {
367
+ deep: true,
368
+ immediate: true
369
+ });
370
+ watch(() => props.modelValue, (value) => {
371
+ if (value !== innerValue.value) {
372
+ innerValue.value = value;
373
+ syncValue();
374
+ }
375
+ });
376
+ watch(() => props.visible, (val) => {
377
+ if (val && Array.isArray(innerValue.value) && innerValue.value.length > 0) {
378
+ syncValue();
379
+ }
380
+ });
381
+ return __spreadValues({ panes, initLoading, tabsCursor }, methods);
382
+ }
383
+ });
384
+ const _hoisted_1$1 = {
385
+ role: "menu",
386
+ class: "nut-cascader-pane"
387
+ };
388
+ const _hoisted_2 = ["aria-checked", "aria-disabled", "onClick"];
389
+ const _hoisted_3 = { class: "nut-cascader-item__title" };
390
+ const _hoisted_4 = /* @__PURE__ */ createElementVNode("view", { class: "nut-cascader-pane" }, null, -1);
391
+ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
392
+ const _component_nut_icon = resolveComponent("nut-icon");
393
+ const _component_nut_tabpane = resolveComponent("nut-tabpane");
394
+ const _component_nut_tabs = resolveComponent("nut-tabs");
395
+ return openBlock(), createBlock(_component_nut_tabs, {
396
+ class: "nut-cascader",
397
+ modelValue: _ctx.tabsCursor,
398
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.tabsCursor = $event),
399
+ onClick: _ctx.handleTabClick,
400
+ "title-scroll": ""
401
+ }, {
402
+ default: withCtx(() => [
403
+ !_ctx.initLoading && _ctx.panes.length ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(_ctx.panes, (pane, index2) => {
404
+ return openBlock(), createBlock(_component_nut_tabpane, {
405
+ title: _ctx.formatTabTitle(pane),
406
+ key: index2
407
+ }, {
408
+ default: withCtx(() => [
409
+ createElementVNode("view", _hoisted_1$1, [
410
+ (openBlock(true), createElementBlock(Fragment, null, renderList(pane.nodes, (node) => {
411
+ return openBlock(), createElementBlock("view", {
412
+ key: node.value,
413
+ class: normalizeClass(["nut-cascader-item", { active: _ctx.isSelected(pane, node), disabled: node.disabled }]),
414
+ "aria-checked": _ctx.isSelected(pane, node),
415
+ "aria-disabled": node.disabled || void 0,
416
+ role: "menuitemradio",
417
+ onClick: ($event) => _ctx.handleNode(node, false)
418
+ }, [
419
+ createElementVNode("view", _hoisted_3, toDisplayString(node.text), 1),
420
+ node.loading ? (openBlock(), createBlock(_component_nut_icon, {
421
+ key: 0,
422
+ class: "nut-cascader-item__icon-loading",
423
+ name: "loading"
424
+ })) : (openBlock(), createBlock(_component_nut_icon, {
425
+ key: 1,
426
+ class: "nut-cascader-item__icon-check",
427
+ name: "checklist"
428
+ }))
429
+ ], 10, _hoisted_2);
430
+ }), 128))
431
+ ])
432
+ ]),
433
+ _: 2
434
+ }, 1032, ["title"]);
435
+ }), 128)) : (openBlock(), createBlock(_component_nut_tabpane, {
436
+ key: 1,
437
+ title: "Loading..."
438
+ }, {
439
+ default: withCtx(() => [
440
+ _hoisted_4
441
+ ]),
442
+ _: 1
443
+ }))
444
+ ]),
445
+ _: 1
446
+ }, 8, ["modelValue", "onClick"]);
447
+ }
448
+ var CascaderItem = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1]]);
449
+ const { create } = createComponent("cascader");
450
+ const _sfc_main = create({
451
+ components: {
452
+ [CascaderItem.name]: CascaderItem
453
+ },
454
+ props: {
455
+ modelValue: Array,
456
+ visible: Boolean,
457
+ title: String,
458
+ options: {
459
+ type: Array,
460
+ default: () => []
461
+ },
462
+ lazy: Boolean,
463
+ lazyLoad: Function,
464
+ valueKey: {
465
+ type: String,
466
+ default: "value"
467
+ },
468
+ textKey: {
469
+ type: String,
470
+ default: "text"
471
+ },
472
+ childrenKey: {
473
+ type: String,
474
+ default: "children"
475
+ },
476
+ convertConfig: Object
477
+ },
478
+ emits: ["update:modelValue", "change", "pathChange", "update:visible"],
479
+ setup(props, { emit }) {
480
+ const innerValue = ref(props.modelValue);
481
+ const innerVisible = computed({
482
+ get() {
483
+ return props.visible;
484
+ },
485
+ set(value) {
486
+ emit("update:visible", value);
487
+ }
488
+ });
489
+ const onChange = (value, pathNodes) => {
490
+ innerValue.value = value;
491
+ innerVisible.value = false;
492
+ emit("change", value, pathNodes);
493
+ emit("update:modelValue", value);
494
+ };
495
+ const onPathChange = (pathNodes) => {
496
+ emit("pathChange", pathNodes);
497
+ };
498
+ watch(() => props.modelValue, (value) => {
499
+ if (value !== innerValue.value) {
500
+ innerValue.value = value;
501
+ }
502
+ });
503
+ return {
504
+ onChange,
505
+ onPathChange,
506
+ innerValue,
507
+ innerVisible
508
+ };
509
+ }
510
+ });
511
+ const _hoisted_1 = {
512
+ key: 0,
513
+ class: "nut-cascader__bar"
514
+ };
515
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
516
+ const _component_nut_cascader_item = resolveComponent("nut-cascader-item");
517
+ const _component_nut_popup = resolveComponent("nut-popup");
518
+ return openBlock(), createBlock(_component_nut_popup, {
519
+ visible: _ctx.innerVisible,
520
+ "onUpdate:visible": _cache[0] || (_cache[0] = ($event) => _ctx.innerVisible = $event),
521
+ position: "bottom",
522
+ "pop-class": "nut-cascader__popup",
523
+ round: "",
524
+ closeable: true,
525
+ "destroy-on-close": false
526
+ }, {
527
+ default: withCtx(() => [
528
+ _ctx.title ? (openBlock(), createElementBlock("view", _hoisted_1, toDisplayString(_ctx.title), 1)) : createCommentVNode("", true),
529
+ createVNode(_component_nut_cascader_item, {
530
+ onChange: _ctx.onChange,
531
+ onPathChange: _ctx.onPathChange,
532
+ modelValue: _ctx.innerValue,
533
+ options: _ctx.options,
534
+ lazy: _ctx.lazy,
535
+ "lazy-load": _ctx.lazyLoad,
536
+ "value-key": _ctx.valueKey,
537
+ "text-key": _ctx.textKey,
538
+ "children-key": _ctx.childrenKey,
539
+ "convert-config": _ctx.convertConfig,
540
+ visible: _ctx.innerVisible
541
+ }, null, 8, ["onChange", "onPathChange", "modelValue", "options", "lazy", "lazy-load", "value-key", "text-key", "children-key", "convert-config", "visible"])
542
+ ]),
543
+ _: 1
544
+ }, 8, ["visible"]);
545
+ }
546
+ var index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
547
+ export { index as default };
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @nutui/nutui v3.1.11 Mon Nov 15 2021 22:27:41 GMT+0800 (中国标准时间)
2
+ * @nutui/nutui v3.1.13-beta.1 Mon Dec 13 2021 11:01:35 GMT+0800 (中国标准时间)
3
3
  * (c) 2021 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @nutui/nutui v3.1.11 Mon Nov 15 2021 22:27:41 GMT+0800 (中国标准时间)
2
+ * @nutui/nutui v3.1.13-beta.1 Mon Dec 13 2021 11:01:35 GMT+0800 (中国标准时间)
3
3
  * (c) 2021 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */
@@ -9,7 +9,8 @@ import { _ as _export_sfc } from "./plugin-vue_export-helper.js";
9
9
  const { componentName, create } = createComponent("cell-group");
10
10
  const _sfc_main = create({
11
11
  props: {
12
- title: { type: String, default: "" }
12
+ title: { type: String, default: "" },
13
+ desc: { type: String, default: "" }
13
14
  },
14
15
  setup() {
15
16
  const classes = computed(() => {
@@ -27,13 +28,18 @@ const _hoisted_1 = {
27
28
  key: 1,
28
29
  class: "nut-cell-group__title"
29
30
  };
30
- const _hoisted_2 = { class: "nut-cell-group__warp" };
31
+ const _hoisted_2 = {
32
+ key: 3,
33
+ class: "nut-cell-group__desc"
34
+ };
35
+ const _hoisted_3 = { class: "nut-cell-group__warp" };
31
36
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
32
37
  return openBlock(), createElementBlock("view", {
33
38
  class: normalizeClass(_ctx.classes)
34
39
  }, [
35
40
  _ctx.$slots.title ? renderSlot(_ctx.$slots, "title", { key: 0 }) : _ctx.title ? (openBlock(), createElementBlock("view", _hoisted_1, toDisplayString(_ctx.title), 1)) : createCommentVNode("", true),
36
- createElementVNode("view", _hoisted_2, [
41
+ _ctx.$slots.desc ? renderSlot(_ctx.$slots, "desc", { key: 2 }) : _ctx.desc ? (openBlock(), createElementBlock("view", _hoisted_2, toDisplayString(_ctx.desc), 1)) : createCommentVNode("", true),
42
+ createElementVNode("view", _hoisted_3, [
37
43
  renderSlot(_ctx.$slots, "default")
38
44
  ])
39
45
  ], 2);
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @nutui/nutui v3.1.11 Mon Nov 15 2021 22:27:41 GMT+0800 (中国标准时间)
2
+ * @nutui/nutui v3.1.13-beta.1 Mon Dec 13 2021 11:01:35 GMT+0800 (中国标准时间)
3
3
  * (c) 2021 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,11 +1,11 @@
1
1
  /*!
2
- * @nutui/nutui v3.1.11 Mon Nov 15 2021 22:27:41 GMT+0800 (中国标准时间)
2
+ * @nutui/nutui v3.1.13-beta.1 Mon Dec 13 2021 11:01:35 GMT+0800 (中国标准时间)
3
3
  * (c) 2021 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */
6
6
  import { reactive, provide, computed, watch, h } from "vue";
7
7
  import { c as createComponent } from "./component.js";
8
- import { u as useExpose } from "./index2.js";
8
+ import { u as useExpose } from "./index.js";
9
9
  const { create, componentName } = createComponent("checkboxgroup");
10
10
  const _sfc_main = create({
11
11
  props: {
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @nutui/nutui v3.1.11 Mon Nov 15 2021 22:27:41 GMT+0800 (中国标准时间)
2
+ * @nutui/nutui v3.1.13-beta.1 Mon Dec 13 2021 11:01:35 GMT+0800 (中国标准时间)
3
3
  * (c) 2021 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @nutui/nutui v3.1.11 Mon Nov 15 2021 22:27:41 GMT+0800 (中国标准时间)
2
+ * @nutui/nutui v3.1.13-beta.1 Mon Dec 13 2021 11:01:35 GMT+0800 (中国标准时间)
3
3
  * (c) 2021 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @nutui/nutui v3.1.11 Mon Nov 15 2021 22:27:41 GMT+0800 (中国标准时间)
2
+ * @nutui/nutui v3.1.13-beta.1 Mon Dec 13 2021 11:01:35 GMT+0800 (中国标准时间)
3
3
  * (c) 2021 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */
@@ -18,7 +18,7 @@ var __spreadValues = (a, b) => {
18
18
  };
19
19
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
20
  /*!
21
- * @nutui/nutui v3.1.11 Mon Nov 15 2021 22:27:41 GMT+0800 (中国标准时间)
21
+ * @nutui/nutui v3.1.13-beta.1 Mon Dec 13 2021 11:01:35 GMT+0800 (中国标准时间)
22
22
  * (c) 2021 @jdf2e.
23
23
  * Released under the MIT License.
24
24
  */
@@ -18,7 +18,7 @@ var __spreadValues = (a, b) => {
18
18
  };
19
19
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
20
  /*!
21
- * @nutui/nutui v3.1.11 Mon Nov 15 2021 22:27:41 GMT+0800 (中国标准时间)
21
+ * @nutui/nutui v3.1.13-beta.1 Mon Dec 13 2021 11:01:35 GMT+0800 (中国标准时间)
22
22
  * (c) 2021 @jdf2e.
23
23
  * Released under the MIT License.
24
24
  */
@@ -62,7 +62,7 @@ const _sfc_main = create({
62
62
  }
63
63
  },
64
64
  components: {},
65
- emits: ["input", "on-end", "on-restart", "on-paused"],
65
+ emits: ["input", "on-end", "on-restart", "on-paused", "update:modelValue"],
66
66
  setup(props, { emit, slots }) {
67
67
  console.log("componentName", componentName);
68
68
  const state = reactive({
@@ -18,7 +18,7 @@ var __spreadValues = (a, b) => {
18
18
  };
19
19
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
20
  /*!
21
- * @nutui/nutui v3.1.11 Mon Nov 15 2021 22:27:41 GMT+0800 (中国标准时间)
21
+ * @nutui/nutui v3.1.13-beta.1 Mon Dec 13 2021 11:01:35 GMT+0800 (中国标准时间)
22
22
  * (c) 2021 @jdf2e.
23
23
  * Released under the MIT License.
24
24
  */
@@ -461,6 +461,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
461
461
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.machineNum, (val, index2) => {
462
462
  return openBlock(), createElementBlock("view", {
463
463
  class: "run-number-machine-img-li",
464
+ ref_for: true,
464
465
  ref: "run-number-machine-img-li",
465
466
  key: "mImg" + index2,
466
467
  style: normalizeStyle({
@@ -513,6 +514,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
513
514
  }, [
514
515
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.num_total_len, (val, index2) => {
515
516
  return openBlock(), createElementBlock("view", {
517
+ ref_for: true,
516
518
  ref: "numberItem",
517
519
  class: "numberItem",
518
520
  key: val,