@nutui/nutui 4.0.7 → 4.0.8-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 (79) hide show
  1. package/dist/nutui.es.js +1 -1
  2. package/dist/nutui.umd.js +2 -2
  3. package/dist/packages/_es/Collapse.js +28 -38
  4. package/dist/packages/_es/CollapseItem.js +52 -115
  5. package/dist/packages/_es/Image.js +37 -7
  6. package/dist/packages/actionsheet/index.scss +2 -0
  7. package/dist/packages/actionsheet/style.mjs +0 -2
  8. package/dist/packages/address/index.scss +3 -0
  9. package/dist/packages/address/style.mjs +0 -3
  10. package/dist/packages/addresslist/index.scss +3 -0
  11. package/dist/packages/addresslist/style.mjs +0 -2
  12. package/dist/packages/audio/index.scss +2 -0
  13. package/dist/packages/audio/style.mjs +0 -1
  14. package/dist/packages/audiooperate/index.scss +2 -0
  15. package/dist/packages/audiooperate/style.mjs +0 -1
  16. package/dist/packages/calendar/index.scss +3 -0
  17. package/dist/packages/calendar/style.mjs +0 -3
  18. package/dist/packages/card/index.scss +3 -0
  19. package/dist/packages/card/style.mjs +0 -2
  20. package/dist/packages/cascader/index.scss +4 -0
  21. package/dist/packages/cascader/style.mjs +0 -5
  22. package/dist/packages/comment/index.scss +2 -0
  23. package/dist/packages/comment/style.mjs +0 -1
  24. package/dist/packages/datepicker/index.scss +1 -2
  25. package/dist/packages/datepicker/style.mjs +0 -3
  26. package/dist/packages/dialog/index.scss +3 -0
  27. package/dist/packages/dialog/style.mjs +0 -3
  28. package/dist/packages/ecard/index.scss +2 -0
  29. package/dist/packages/ecard/style.mjs +0 -1
  30. package/dist/packages/fixednav/index.scss +2 -0
  31. package/dist/packages/fixednav/style.mjs +0 -1
  32. package/dist/packages/form/index.scss +1 -2
  33. package/dist/packages/form/style.mjs +0 -1
  34. package/dist/packages/formitem/index.scss +2 -0
  35. package/dist/packages/formitem/style.mjs +0 -1
  36. package/dist/packages/imagepreview/index.scss +5 -0
  37. package/dist/packages/imagepreview/style.mjs +0 -5
  38. package/dist/packages/invoice/index.scss +6 -0
  39. package/dist/packages/invoice/style.mjs +0 -7
  40. package/dist/packages/menuitem/index.scss +2 -0
  41. package/dist/packages/menuitem/style.mjs +0 -2
  42. package/dist/packages/notify/index.scss +2 -0
  43. package/dist/packages/notify/style.mjs +0 -2
  44. package/dist/packages/numberkeyboard/index.scss +2 -0
  45. package/dist/packages/numberkeyboard/style.mjs +0 -2
  46. package/dist/packages/picker/style.mjs +0 -2
  47. package/dist/packages/popover/index.scss +2 -0
  48. package/dist/packages/popover/style.mjs +0 -2
  49. package/dist/packages/popup/index.scss +2 -0
  50. package/dist/packages/popup/style.mjs +0 -1
  51. package/dist/packages/shortpassword/index.scss +2 -0
  52. package/dist/packages/shortpassword/style.mjs +0 -2
  53. package/dist/packages/signature/index.scss +2 -0
  54. package/dist/packages/signature/style.mjs +0 -1
  55. package/dist/packages/skeleton/index.scss +2 -0
  56. package/dist/packages/skeleton/style.mjs +0 -1
  57. package/dist/packages/sku/index.scss +4 -0
  58. package/dist/packages/sku/style.mjs +0 -4
  59. package/dist/packages/tabbaritem/index.scss +2 -0
  60. package/dist/packages/tabbaritem/style.mjs +0 -1
  61. package/dist/packages/tabs/index.scss +2 -0
  62. package/dist/packages/tabs/style.mjs +0 -1
  63. package/dist/packages/timeselect/index.scss +2 -0
  64. package/dist/packages/timeselect/style.mjs +0 -2
  65. package/dist/packages/tour/index.scss +2 -0
  66. package/dist/packages/tour/style.mjs +0 -3
  67. package/dist/packages/uploader/index.scss +3 -0
  68. package/dist/packages/uploader/style.mjs +0 -2
  69. package/dist/smartips/web-types.json +10 -1
  70. package/dist/style.css +1 -1
  71. package/dist/styles/themes/default.scss +52 -52
  72. package/dist/styles/themes/jdb.scss +52 -52
  73. package/dist/styles/themes/jddkh.scss +52 -52
  74. package/dist/styles/themes/jdt.scss +52 -52
  75. package/dist/types/__VUE/collapse/index.vue.d.ts +29 -3
  76. package/dist/types/__VUE/collapseitem/index.vue.d.ts +7 -8
  77. package/dist/types/__VUE/image/index.vue.d.ts +11 -0
  78. package/dist/types/index.d.ts +1 -1
  79. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { ref, computed, watch, onMounted, getCurrentInstance, provide, openBlock, createElementBlock, normalizeClass, renderSlot } from "vue";
1
+ import { ref, computed, provide, openBlock, createElementBlock, normalizeClass, renderSlot } from "vue";
2
2
  import { c as createComponent } from "./component-81a4c1d0.js";
3
3
  import { _ as _export_sfc } from "./_plugin-vue_export-helper-cc2b3d55.js";
4
4
  import "../locale/lang";
@@ -17,57 +17,47 @@ const _sfc_main = create({
17
17
  emits: ["update:modelValue", "change"],
18
18
  setup(props, { emit }) {
19
19
  const collapseDom = ref(null);
20
- const collapseChldren = ref([]);
21
20
  const classes = computed(() => {
22
21
  const prefixCls = componentName;
23
22
  return {
24
23
  [prefixCls]: true
25
24
  };
26
25
  });
27
- watch(
28
- () => props.modelValue,
29
- (newval) => {
30
- let doms = collapseChldren.value;
31
- Array.from(doms).forEach((item) => {
32
- if (typeof newval == "number" || typeof newval == "string") {
33
- item.changeOpen(newval == item.name ? true : false);
34
- } else if (Object.values(newval) instanceof Array) {
35
- const isOpen = newval.indexOf(Number(item.name)) > -1 || newval.indexOf(String(item.name)) > -1;
36
- item.changeOpen(isOpen);
37
- }
38
- item.animation();
39
- });
40
- }
41
- );
42
- onMounted(() => {
43
- collapseChldren.value = getCurrentInstance().provides.collapseParent.children || [];
44
- });
45
- const changeVal = (val) => {
26
+ const changeVal = (val, name, status = true) => {
46
27
  emit("update:modelValue", val);
47
- emit("change", val);
28
+ emit("change", val, name, status);
48
29
  };
49
- const changeValAry = (name) => {
50
- const activeItem = props.modelValue instanceof Object ? Object.values(props.modelValue) : props.modelValue;
51
- let index2 = -1;
52
- activeItem.forEach((item, idx) => {
53
- if (String(item) == String(name)) {
54
- index2 = idx;
30
+ const updateVal = (name) => {
31
+ if (props.accordion) {
32
+ if (props.modelValue === name) {
33
+ changeVal("", name, false);
34
+ } else {
35
+ changeVal(name, name, true);
55
36
  }
56
- });
57
- index2 > -1 ? activeItem.splice(index2, 1) : activeItem.push(name);
58
- changeVal(activeItem);
37
+ } else {
38
+ if (Array.isArray(props.modelValue)) {
39
+ if (props.modelValue.includes(name)) {
40
+ const newValue = props.modelValue.filter((v) => v !== name);
41
+ changeVal(newValue, name, false);
42
+ } else {
43
+ const newValue = props.modelValue.concat([name]);
44
+ changeVal(newValue, name, true);
45
+ }
46
+ } else {
47
+ console.warn("[NutUI] <Collapse> 未开启手风琴模式时 v-model 应为数组");
48
+ }
49
+ }
59
50
  };
60
51
  const isExpanded = (name) => {
61
- const { accordion, modelValue } = props;
62
- if (accordion) {
63
- return typeof modelValue === "number" || typeof modelValue === "string" ? modelValue == name : false;
52
+ if (props.accordion) {
53
+ return props.modelValue === name;
54
+ } else if (Array.isArray(props.modelValue)) {
55
+ return props.modelValue.includes(name);
64
56
  }
57
+ return false;
65
58
  };
66
59
  provide("collapseParent", {
67
- children: [],
68
- props,
69
- changeValAry,
70
- changeVal,
60
+ updateVal,
71
61
  isExpanded
72
62
  });
73
63
  return { collapseDom, classes };
@@ -1,4 +1,4 @@
1
- import { inject, reactive, computed, getCurrentInstance, ref, watch, onMounted, toRefs, nextTick, openBlock, createElementBlock, normalizeClass, createElementVNode, renderSlot, toDisplayString, createCommentVNode, normalizeStyle, createBlock, resolveDynamicComponent } from "vue";
1
+ import { ref, inject, reactive, computed, watch, openBlock, createElementBlock, normalizeClass, createElementVNode, renderSlot, toDisplayString, createCommentVNode, normalizeStyle, createBlock, resolveDynamicComponent } from "vue";
2
2
  import { DownArrow } from "@nutui/icons-vue";
3
3
  import { c as createComponent } from "./component-81a4c1d0.js";
4
4
  import { r as renderIcon } from "./renderIcon-3d0fd47c.js";
@@ -44,8 +44,9 @@ const _sfc_main = create({
44
44
  default: 180
45
45
  }
46
46
  },
47
- // components: { DownArrow },
48
- setup(props, ctx) {
47
+ setup(props) {
48
+ const wrapperRef = ref(null);
49
+ const contentRef = ref(null);
49
50
  const collapse = inject("collapseParent");
50
51
  const parent = reactive(collapse);
51
52
  const classes = computed(() => {
@@ -55,123 +56,54 @@ const _sfc_main = create({
55
56
  [prefixCls + "__border"]: props.border
56
57
  };
57
58
  });
58
- const relation = (child) => {
59
- if (child.proxy) {
60
- parent.children.push(child.proxy);
59
+ const expanded = computed(() => {
60
+ if (parent) {
61
+ return parent.isExpanded(props.name);
61
62
  }
62
- };
63
- relation(getCurrentInstance());
64
- const proxyData = reactive({
65
- openExpanded: false
63
+ return false;
66
64
  });
67
- const wrapperRef = ref(null);
68
- const contentRef = ref(null);
69
- const onTransitionEnd = () => {
70
- const wrapperRefEle = document.getElementsByClassName("nut-collapse__item-wrapper")[0];
71
- if (wrapperRefEle) {
72
- wrapperRefEle.style.willChange = "auto";
73
- }
65
+ const wrapperHeight = ref(expanded.value ? "auto" : "0px");
66
+ const toggle = () => {
67
+ parent.updateVal(props.name);
74
68
  };
75
- const animation = () => {
76
- const wrapperRefEle = wrapperRef.value;
77
- const contentRefEle = contentRef.value;
78
- if (!wrapperRefEle || !contentRefEle) {
79
- return;
80
- }
81
- const offsetHeight = contentRefEle.offsetHeight || "auto";
82
- if (offsetHeight) {
83
- const contentHeight = `${offsetHeight}px`;
84
- wrapperRefEle.style.willChange = "height";
85
- wrapperRefEle.style.height = !proxyData.openExpanded ? 0 : contentHeight;
86
- }
87
- if (!proxyData.openExpanded) {
88
- onTransitionEnd();
69
+ const onTransitionEnd = () => {
70
+ if (expanded.value) {
71
+ wrapperHeight.value = "auto";
89
72
  }
90
73
  };
91
74
  const open = () => {
92
- proxyData.openExpanded = !proxyData.openExpanded;
93
- animation();
94
- };
95
- const defaultOpen = () => {
96
- open();
97
- };
98
- const currentName = computed(() => props.name);
99
- const toggleOpen = () => {
100
- if (parent.props.accordion) {
101
- nextTick(() => {
102
- if (currentName.value == parent.props.modelValue) {
103
- open();
104
- } else {
105
- parent.changeVal(currentName.value);
106
- }
75
+ wrapperHeight.value = "0px";
76
+ requestAnimationFrame(() => {
77
+ requestAnimationFrame(() => {
78
+ var _a;
79
+ const height = (_a = contentRef.value) == null ? void 0 : _a.offsetHeight;
80
+ wrapperHeight.value = height ? `${height}px` : "auto";
107
81
  });
108
- } else {
109
- parent.changeValAry(String(props.name));
110
- open();
111
- }
112
- };
113
- const changeOpen = (bol) => {
114
- proxyData.openExpanded = bol;
115
- };
116
- const expanded = computed(() => {
117
- if (parent) {
118
- return parent.isExpanded(props.name);
119
- }
120
- return null;
121
- });
122
- watch(expanded, (value, oldValue) => {
123
- if (value) {
124
- proxyData.openExpanded = true;
125
- }
126
- });
127
- const init = () => {
128
- const { name } = props;
129
- const active = parent && parent.props.modelValue;
130
- nextTick(() => {
131
- if (typeof active == "number" || typeof active == "string") {
132
- if (name == active) {
133
- defaultOpen();
134
- }
135
- } else if (Object.values(active) instanceof Array) {
136
- const f = Object.values(active).filter((item) => item == name);
137
- if (f.length > 0) {
138
- defaultOpen();
139
- }
140
- }
141
82
  });
142
83
  };
143
- onMounted(() => {
144
- var observer = new MutationObserver(() => {
145
- animation();
146
- });
147
- const ele = document.getElementsByClassName("nut-collapse__item-wrapper")[0];
148
- if (ele) {
149
- observer.observe(ele, {
150
- childList: true,
151
- subtree: true
84
+ const close = () => {
85
+ var _a;
86
+ const height = (_a = contentRef.value) == null ? void 0 : _a.offsetHeight;
87
+ wrapperHeight.value = height ? `${height}px` : "auto";
88
+ requestAnimationFrame(() => {
89
+ requestAnimationFrame(() => {
90
+ wrapperHeight.value = "0px";
152
91
  });
153
- }
154
- init();
155
- });
156
- const emptyContent = computed(() => {
157
- let ele = contentRef.value;
158
- let _class = "";
159
- if (!(ele == null ? void 0 : ele.innerText)) {
160
- _class = "nut-collapse__item-wrapper__content--empty";
161
- }
162
- return _class;
92
+ });
93
+ };
94
+ watch(expanded, (value) => {
95
+ value ? open() : close();
163
96
  });
164
97
  return {
165
98
  classes,
166
- emptyContent,
167
- ...toRefs(proxyData),
168
99
  renderIcon,
169
100
  wrapperRef,
170
101
  contentRef,
171
102
  open,
172
- toggleOpen,
173
- changeOpen,
174
- animation
103
+ toggle,
104
+ wrapperHeight,
105
+ expanded,
106
+ onTransitionEnd
175
107
  };
176
108
  }
177
109
  });
@@ -193,8 +125,8 @@ const _hoisted_7 = {
193
125
  };
194
126
  const _hoisted_8 = { class: "nut-collapse__item-extraWrapper__extraRender" };
195
127
  const _hoisted_9 = {
196
- class: "nut-collapse__item-wrapper",
197
- ref: "wrapperRef"
128
+ class: "nut-collapse__item-wrapper__content",
129
+ ref: "contentRef"
198
130
  };
199
131
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
200
132
  return openBlock(), createElementBlock("view", {
@@ -202,7 +134,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
202
134
  }, [
203
135
  createElementVNode("view", {
204
136
  class: normalizeClass(["nut-collapse-item__title", { "nut-collapse-item__title--disabled": _ctx.disabled }]),
205
- onClick: _cache[0] || (_cache[0] = (...args) => _ctx.toggleOpen && _ctx.toggleOpen(...args))
137
+ onClick: _cache[0] || (_cache[0] = (...args) => _ctx.toggle && _ctx.toggle(...args))
206
138
  }, [
207
139
  createElementVNode("view", _hoisted_1, [
208
140
  createElementVNode("view", _hoisted_2, [
@@ -222,8 +154,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
222
154
  class: "nut-collapse-item__title-sub"
223
155
  }, null, 8, _hoisted_6)),
224
156
  createElementVNode("view", {
225
- class: normalizeClass(["nut-collapse-item__title-icon", { "nut-collapse-item__title-icon--expanded": _ctx.openExpanded }]),
226
- style: normalizeStyle({ transform: "rotate(" + (_ctx.openExpanded ? _ctx.rotate : 0) + "deg)" })
157
+ class: normalizeClass(["nut-collapse-item__title-icon", { "nut-collapse-item__title-icon--expanded": _ctx.expanded }]),
158
+ style: normalizeStyle({ transform: "rotate(" + (_ctx.expanded ? _ctx.rotate : 0) + "deg)" })
227
159
  }, [
228
160
  (openBlock(), createBlock(resolveDynamicComponent(_ctx.renderIcon(_ctx.icon))))
229
161
  ], 6)
@@ -233,14 +165,19 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
233
165
  renderSlot(_ctx.$slots, "extra")
234
166
  ])
235
167
  ])) : createCommentVNode("", true),
236
- createElementVNode("view", _hoisted_9, [
237
- createElementVNode("view", {
238
- class: normalizeClass(["nut-collapse__item-wrapper__content", _ctx.emptyContent]),
239
- ref: "contentRef"
240
- }, [
168
+ createElementVNode("view", {
169
+ class: "nut-collapse__item-wrapper",
170
+ ref: "wrapperRef",
171
+ style: normalizeStyle({
172
+ willChange: "height",
173
+ height: _ctx.wrapperHeight
174
+ }),
175
+ onTransitionend: _cache[1] || (_cache[1] = (...args) => _ctx.onTransitionEnd && _ctx.onTransitionEnd(...args))
176
+ }, [
177
+ createElementVNode("view", _hoisted_9, [
241
178
  renderSlot(_ctx.$slots, "default")
242
- ], 2)
243
- ], 512)
179
+ ], 512)
180
+ ], 36)
244
181
  ], 2);
245
182
  }
246
183
  const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
@@ -1,4 +1,4 @@
1
- import { reactive, useSlots, computed, watch, toRefs, resolveComponent, openBlock, createElementBlock, normalizeClass, normalizeStyle, createElementVNode, createBlock, createCommentVNode, renderSlot } from "vue";
1
+ import { reactive, useSlots, computed, ref, onMounted, onBeforeUnmount, watch, toRefs, resolveComponent, openBlock, createElementBlock, normalizeClass, normalizeStyle, createElementVNode, createBlock, createCommentVNode, renderSlot } from "vue";
2
2
  import { c as createComponent } from "./component-81a4c1d0.js";
3
3
  import { p as pxCheck } from "./pxCheck-c6b9f6b7.js";
4
4
  import { Image, ImageError } from "@nutui/icons-vue";
@@ -40,6 +40,10 @@ const _sfc_main = create({
40
40
  showLoading: {
41
41
  type: Boolean,
42
42
  default: true
43
+ },
44
+ lazyLoad: {
45
+ type: Boolean,
46
+ default: false
43
47
  }
44
48
  },
45
49
  components: {
@@ -61,6 +65,30 @@ const _sfc_main = create({
61
65
  [`${prefixCls}-round`]: props.round
62
66
  };
63
67
  });
68
+ const observer = ref(null);
69
+ const show = ref(false);
70
+ const imgRef = ref(null);
71
+ const initObserver = () => {
72
+ const options = {
73
+ threshold: [0],
74
+ rootMargin: "0px"
75
+ };
76
+ observer.value = new IntersectionObserver((entires) => {
77
+ entires.forEach((item) => {
78
+ if (item.isIntersecting) {
79
+ show.value = true;
80
+ observer.value.disconnect();
81
+ }
82
+ });
83
+ }, options);
84
+ imgRef.value && observer.value.observe(imgRef.value);
85
+ };
86
+ onMounted(() => {
87
+ props.lazyLoad && initObserver();
88
+ });
89
+ onBeforeUnmount(() => {
90
+ observer.value && observer.value.disconnect();
91
+ });
64
92
  const stylebox = computed(() => {
65
93
  let style = {};
66
94
  if (props.width)
@@ -98,10 +126,10 @@ const _sfc_main = create({
98
126
  const imageClick = (event) => {
99
127
  emit("click", event);
100
128
  };
101
- return { ...toRefs(state), imageClick, classes, styles, stylebox, error, load };
129
+ return { ...toRefs(state), imageClick, classes, styles, stylebox, error, load, show, imgRef };
102
130
  }
103
131
  });
104
- const _hoisted_1 = ["src", "alt"];
132
+ const _hoisted_1 = ["src", "date-src", "alt"];
105
133
  const _hoisted_2 = {
106
134
  key: 0,
107
135
  class: "nut-img-loading"
@@ -113,20 +141,22 @@ const _hoisted_3 = {
113
141
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
114
142
  const _component_Image = resolveComponent("Image");
115
143
  const _component_ImageError = resolveComponent("ImageError");
116
- return openBlock(), createElementBlock("view", {
144
+ return openBlock(), createElementBlock("div", {
117
145
  class: normalizeClass(_ctx.classes),
118
146
  style: normalizeStyle(_ctx.stylebox),
119
147
  onClick: _cache[2] || (_cache[2] = (...args) => _ctx.imageClick && _ctx.imageClick(...args))
120
148
  }, [
121
149
  createElementVNode("img", {
150
+ ref: "imgRef",
122
151
  class: "nut-img",
123
- src: _ctx.src,
152
+ src: _ctx.lazyLoad ? _ctx.show ? _ctx.src : void 0 : _ctx.src,
153
+ "date-src": _ctx.lazyLoad ? _ctx.show ? void 0 : _ctx.src : void 0,
124
154
  alt: _ctx.alt,
125
155
  onLoad: _cache[0] || (_cache[0] = (...args) => _ctx.load && _ctx.load(...args)),
126
156
  onError: _cache[1] || (_cache[1] = (...args) => _ctx.error && _ctx.error(...args)),
127
157
  style: normalizeStyle(_ctx.styles)
128
158
  }, null, 44, _hoisted_1),
129
- _ctx.loading ? (openBlock(), createElementBlock("view", _hoisted_2, [
159
+ _ctx.loading ? (openBlock(), createElementBlock("div", _hoisted_2, [
130
160
  !_ctx.slotLoding ? (openBlock(), createBlock(_component_Image, {
131
161
  key: 0,
132
162
  width: "16px",
@@ -135,7 +165,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
135
165
  })) : createCommentVNode("", true),
136
166
  renderSlot(_ctx.$slots, "loading")
137
167
  ])) : createCommentVNode("", true),
138
- _ctx.isError && !_ctx.loading ? (openBlock(), createElementBlock("view", _hoisted_3, [
168
+ _ctx.isError && !_ctx.loading ? (openBlock(), createElementBlock("div", _hoisted_3, [
139
169
  !_ctx.slotError ? (openBlock(), createBlock(_component_ImageError, {
140
170
  key: 0,
141
171
  width: "16px",
@@ -1,3 +1,5 @@
1
+ @import '../popup/index.scss';
2
+
1
3
  .nut-theme-dark {
2
4
  .nut-action-sheet {
3
5
  .nut-action-sheet__cancel {
@@ -1,4 +1,2 @@
1
1
  import '../../styles/reset.css';
2
- import '../overlay/index.scss';
3
- import '../popup/index.scss';
4
2
  import './index.scss';
@@ -1,3 +1,6 @@
1
+ @import '../popup/index.scss';
2
+ @import '../elevator/index.scss';
3
+
1
4
  .nut-theme-dark {
2
5
  .nut-address {
3
6
  &__header {
@@ -1,5 +1,2 @@
1
1
  import '../../styles/reset.css';
2
- import '../elevator/index.scss';
3
- import '../overlay/index.scss';
4
- import '../popup/index.scss';
5
2
  import './index.scss';
@@ -1,3 +1,6 @@
1
+ @import '../button/index.scss';
2
+ @import '../swipe/index.scss';
3
+
1
4
  .nut-theme-dark {
2
5
  .nut-address-list {
3
6
  &-swipe,
@@ -1,4 +1,2 @@
1
1
  import '../../styles/reset.css';
2
- import '../swipe/index.scss';
3
- import '../button/index.scss';
4
2
  import './index.scss';
@@ -1,3 +1,5 @@
1
+ @import '../range/index.scss';
2
+
1
3
  .nut-theme-dark {
2
4
  .nut-audio__icon {
3
5
  .nut-audio__icon--box {
@@ -1,3 +1,2 @@
1
1
  import '../../styles/reset.css';
2
- import '../range/index.scss';
3
2
  import './index.scss';
@@ -1,3 +1,5 @@
1
+ @import '../button/index.scss';
2
+
1
3
  .nut-audio-operate-group {
2
4
  display: flex;
3
5
  display: flex;
@@ -1,3 +1,2 @@
1
1
  import '../../styles/reset.css';
2
- import '../button/index.scss';
3
2
  import './index.scss';
@@ -1,3 +1,6 @@
1
+ @import '../popup/index.scss';
2
+ @import '../calendaritem/index.scss';
3
+
1
4
  .nut-theme-dark {
2
5
  .nut-calendar {
3
6
  background: $dark-background;
@@ -1,5 +1,2 @@
1
1
  import '../../styles/reset.css';
2
- import '../calendaritem/index.scss';
3
- import '../overlay/index.scss';
4
- import '../popup/index.scss';
5
2
  import './index.scss';
@@ -1,3 +1,6 @@
1
+ @import '../price/index.scss';
2
+ @import '../tag/index.scss';
3
+
1
4
  .nut-theme-dark {
2
5
  .nut-card {
3
6
  .nut-card__right {
@@ -1,4 +1,2 @@
1
1
  import '../../styles/reset.css';
2
- import '../tag/index.scss';
3
- import '../price/index.scss';
4
2
  import './index.scss';
@@ -1,3 +1,7 @@
1
+ @import '../popup/index.scss';
2
+ @import '../tabs/index.scss';
3
+ @import '../tabpane/index.scss';
4
+
1
5
  .nut-theme-dark {
2
6
  .nut-cascader__bar {
3
7
  background: $dark-background2;
@@ -1,7 +1,2 @@
1
1
  import '../../styles/reset.css';
2
- import '../tabpane/index.scss';
3
- import '../sticky/index.scss';
4
- import '../tabs/index.scss';
5
- import '../overlay/index.scss';
6
- import '../popup/index.scss';
7
2
  import './index.scss';
@@ -1,3 +1,5 @@
1
+ @import '../rate/index.scss';
2
+
1
3
  .nut-theme-dark {
2
4
  .nut-comment {
3
5
  &-header {
@@ -1,3 +1,2 @@
1
1
  import '../../styles/reset.css';
2
- import '../rate/index.scss';
3
2
  import './index.scss';
@@ -1,2 +1 @@
1
- .nut-date-picker {
2
- }
1
+ @import '../picker/index.scss';
@@ -1,5 +1,2 @@
1
1
  import '../../styles/reset.css';
2
- import '../overlay/index.scss';
3
- import '../popup/index.scss';
4
- import '../picker/index.scss';
5
2
  import './index.scss';
@@ -1,3 +1,6 @@
1
+ @import '../button/index.scss';
2
+ @import '../popup/index.scss';
3
+
1
4
  .nut-theme-dark {
2
5
  .nut-dialog {
3
6
  &__header {
@@ -1,5 +1,2 @@
1
1
  import '../../styles/reset.css';
2
- import '../button/index.scss';
3
- import '../overlay/index.scss';
4
- import '../popup/index.scss';
5
2
  import './index.scss';
@@ -1,3 +1,5 @@
1
+ @import '../inputnumber/index.scss';
2
+
1
3
  .nut-theme-dark {
2
4
  .nut-ecard {
3
5
  color: $dark-color3;
@@ -1,3 +1,2 @@
1
1
  import '../../styles/reset.css';
2
- import '../inputnumber/index.scss';
3
2
  import './index.scss';
@@ -1,3 +1,5 @@
1
+ @import '../overlay/index.scss';
2
+
1
3
  .nut-fixed-nav {
2
4
  position: fixed;
3
5
  z-index: $fixednav-index;
@@ -1,3 +1,2 @@
1
1
  import '../../styles/reset.css';
2
- import '../overlay/index.scss';
3
2
  import './index.scss';
@@ -1,2 +1 @@
1
- .nut-form {
2
- }
1
+ @import '../cellgroup/index.scss';
@@ -1,3 +1,2 @@
1
1
  import '../../styles/reset.css';
2
- import '../cellgroup/index.scss';
3
2
  import './index.scss';
@@ -1,3 +1,5 @@
1
+ @import '../cell/index.scss';
2
+
1
3
  .nut-theme-dark {
2
4
  .nut-form-item {
3
5
  &__body {
@@ -1,3 +1,2 @@
1
1
  import '../../styles/reset.css';
2
- import '../cell/index.scss';
3
2
  import './index.scss';
@@ -1,3 +1,8 @@
1
+ @import '../popup/index.scss';
2
+ @import '../swiper/index.scss';
3
+ @import '../swiperitem/index.scss';
4
+ @import '../video/index.scss';
5
+
1
6
  .nut-image-preview {
2
7
  height: 100%;
3
8
  width: 100%;
@@ -1,7 +1,2 @@
1
1
  import '../../styles/reset.css';
2
- import '../video/index.scss';
3
- import '../swiperitem/index.scss';
4
- import '../swiper/index.scss';
5
- import '../overlay/index.scss';
6
- import '../popup/index.scss';
7
2
  import './index.scss';
@@ -1,3 +1,9 @@
1
+ @import '../button/index.scss';
2
+ @import '../radiogroup/index.scss';
3
+ @import '../radio/index.scss';
4
+ @import '../form/index.scss';
5
+ @import '../formitem/index.scss';
6
+
1
7
  .nut-theme-dark {
2
8
  .nut-invoice {
3
9
  .nut-invoice__submit {