@neatui/nuxt 0.1.0 → 1.0.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 (84) hide show
  1. package/BUILD.md +128 -0
  2. package/README.md +98 -1
  3. package/SSR_COMPATIBILITY.md +201 -0
  4. package/USAGE.md +260 -0
  5. package/nuxt.config.example.ts +37 -0
  6. package/package.json +29 -11
  7. package/src/components/basic/IDraggable.vue +87 -65
  8. package/src/components/basic/IFollowView.vue +32 -23
  9. package/src/components/basic/IRouterView.vue +38 -23
  10. package/src/components/basic/IScrollView.vue +11 -7
  11. package/src/components/basic/Icon.vue +17 -17
  12. package/src/components/basic/LayerView/Layer.vue +33 -106
  13. package/src/components/basic/follow.ts +133 -0
  14. package/src/components/display/Calendar.vue +14 -14
  15. package/src/components/display/CalendarReg.vue +14 -14
  16. package/src/components/display/Image.vue +8 -8
  17. package/src/components/display/PhotoEditor.vue +36 -36
  18. package/src/components/display/PhotoViewer.vue +8 -8
  19. package/src/components/display/Tree.vue +6 -6
  20. package/src/components/display/TreeView.vue +4 -4
  21. package/src/components/display/index.ts +2 -2
  22. package/src/components/form/Cascader.vue +19 -19
  23. package/src/components/form/Checkbox.vue +64 -0
  24. package/src/components/form/DatePicker.vue +6 -7
  25. package/src/components/form/DateRangePicker@v3.vue +4 -4
  26. package/src/components/form/DateRangeView@v3.vue +18 -19
  27. package/src/components/form/DateView.vue +14 -14
  28. package/src/components/form/DateView@v2.vue +14 -14
  29. package/src/components/form/DateView@v3.vue +331 -318
  30. package/src/components/form/ImgUpload.vue +7 -7
  31. package/src/components/form/Input@v3.vue +11 -11
  32. package/src/components/form/MoreSelect@v3.vue +87 -17
  33. package/src/components/form/MoreSelectList.vue +8 -8
  34. package/src/components/form/MoreSelectPanel@v3.vue +3 -3
  35. package/src/components/form/MoreSelectPicker.vue +7 -7
  36. package/src/components/form/MoreSelectTags.vue +8 -8
  37. package/src/components/form/PageMoreSelect.vue +14 -14
  38. package/src/components/form/PageSelect.vue +16 -16
  39. package/src/components/form/SearchMoreSelect.vue +12 -12
  40. package/src/components/form/SearchSelect@v3.vue +3 -3
  41. package/src/components/form/Select@v3.vue +229 -23
  42. package/src/components/form/SelectList.vue +8 -8
  43. package/src/components/form/SelectPicker.vue +6 -6
  44. package/src/components/form/SelectTags.vue +7 -7
  45. package/src/components/form/SelectTree/SelectTree@v1.vue +5 -5
  46. package/src/components/form/Switch.vue +38 -103
  47. package/src/components/form/TextArea.vue +18 -18
  48. package/src/components/form/Textarea@v2.vue +275 -0
  49. package/src/components/form/TimeView.vue +14 -14
  50. package/src/components/form/Upload.vue +806 -297
  51. package/src/components/form/date.ts +321 -0
  52. package/src/components/form/index.ts +7 -5
  53. package/src/components/form/number.ts +3 -0
  54. package/src/components/form/type.ts +224 -0
  55. package/src/components/icon/OrderIcon.vue +113 -0
  56. package/src/components/loader/FormLoader/FormLoader@v2.vue +193 -195
  57. package/src/components/loader/FormLoader/FormLoader@v3.vue.backup +372 -291
  58. package/src/components/loader/FormLoader/FormRender@v3.vue.backup +4 -0
  59. package/src/components/loader/FormLoader/NodeLoader.vue +85 -0
  60. package/src/components/loader/FormLoader@v1/FormLoader.vue +1 -1
  61. package/src/components/loader/FormLoader@v1/FormRender.vue +49 -24
  62. package/src/components/loader/LayerLoader/LayerLoader.vue +318 -0
  63. package/src/components/loader/LayerLoader/index.ts +2 -0
  64. package/src/components/loader/LayerLoader/style.scss +77 -0
  65. package/src/components/loader/LimitLoader/LimitLoader@v3.vue +39 -28
  66. package/src/components/loader/MoveLoader/MoveLoader.vue +628 -0
  67. package/src/components/loader/MoveLoader/index.ts +2 -0
  68. package/src/components/loader/MoveLoader/style.scss +77 -0
  69. package/src/components/loader/TableLoader/TableLoader.vue +227 -195
  70. package/src/components/loader/TableLoader/TableRender.vue +141 -0
  71. package/src/components/loader/TableLoader/index.ts +47 -0
  72. package/src/components/loader/index.ts +3 -2
  73. package/src/components/tools/Pagination@a.vue +17 -18
  74. package/src/components/tools/Pagination@b.vue +16 -16
  75. package/src/index.ts +2 -1
  76. package/src/module.ts +169 -0
  77. package/src/runtime/types.d.ts +36 -0
  78. package/src/store/{myui.ts → frame.ts} +4 -4
  79. package/src/utils/theme.ts +14 -0
  80. package/tsconfig.json +1 -1
  81. package/src/components/loader/FormLoader/index.ts +0 -2
  82. package/src/components/loader/LimitLoader/LimitLoader.vue.backup +0 -131
  83. package/src/components/loader/LimitLoader/LimitLoader@v2.vue.backup +0 -174
  84. package/src/components/loader/TableLoader/TableColView.vue +0 -115
@@ -44,7 +44,7 @@
44
44
  v-if="item.day"
45
45
  :ui-date-day="item.day"
46
46
  class="flex-block"
47
- :class="`${item.range ? 'bg-main-xs' : ''} ${item.sta ? 'r-lt-sl r-lb-sl' : ''} ${item.end ? 'r-rt-sl r-rb-sl' : ''}`"
47
+ :class="`${item.range ? 'bg-main-o-xs' : ''} ${item.sta ? 'r-lt-sl r-lb-sl' : ''} ${item.end ? 'r-rt-sl r-rb-sl' : ''}`"
48
48
  ui-flex="col cm"
49
49
  @click="change(item)"
50
50
  @mouseenter="setRangeValue(item)"
@@ -53,18 +53,18 @@
53
53
  ui-flex="col cm"
54
54
  class="r-sm b-solid bk-none b-xs my-ss ux-scale"
55
55
  style="width: 1.8em; height: 1.8em"
56
- :class="`${item.isLastMonth || item.isNextMonth ? 'co-idle' : item.isHoliday ? 'co-risk' : ''} ${item.selected ? 'active bg-main-lm co-fore' : 'hover-bg-weak'}`"
56
+ :class="`${item.isLastMonth || item.isNextMonth ? 'co-idle' : item.isHoliday ? 'co-risk' : ''} ${item.selected ? 'active bg-main-o-lm co-fore' : 'hover-bg-weak'}`"
57
57
  >
58
58
  <span>{{ item.day }}</span>
59
59
  </div>
60
60
  </div>
61
- <div class="pa full-x lh-xs ny-ss ob-no ol-no nowrap s-ml bold" style="transform-origin: 50% 110%" ui-flex="row ct" v-html="extras(item)"></div>
61
+ <div class="pa w-full lh-xs ny-ss ob-no ol-no nowrap s-ml bold" style="transform-origin: 50% 110%" ui-flex="row ct" v-html="extras(item)"></div>
62
62
  </div>
63
63
  </li>
64
64
  </ul>
65
65
  </div>
66
66
  </div>
67
- <div v-if="tools" ui-date-foot="" ui-flex="row xm" class="nx-sl ny-sl b-solid bk-line-mm bt-xs">
67
+ <div v-if="tools" ui-date-foot="" ui-flex="row xm" class="nx-sl ny-sl b-solid bk-line-o-mm bt-xs">
68
68
  <div ui-flex="row lm" class="nl-ss">
69
69
  <p v-if="state.date">
70
70
  <span class="nowrap">已选:</span>
@@ -73,8 +73,8 @@
73
73
  <div v-else-if="state.shortcuts?.length" ui-flex="row lm">
74
74
  <span class="nowrap">推荐:</span>
75
75
  <div class="mr-sm-sub nx-sl-sub ny-ss-sub lh-ss nowrap fs-ss dib-sub" ui-scroll=":x y:hidden">
76
- <p v-for="(item, idx) in state.shortcuts" :key="idx" class="bg-main-xs co-main r-xl" ui-btn="@a xs none :round" @click="item?.func">{{ item?.text }}</p>
77
- <p class="bg-main-xs co-main r-xl" ui-btn="@a xs none :round"><Icon class="co-main" name="more" /></p>
76
+ <p v-for="(item, idx) in state.shortcuts" :key="idx" class="bg-main-o-xs co-main r-xl" ui-btn="@a xs none :round" @click="item?.func">{{ item?.text }}</p>
77
+ <p class="bg-main-o-xs co-main r-xl" ui-btn="@a xs none :round"><Icon class="co-main" name="more" /></p>
78
78
  </div>
79
79
  </div>
80
80
  <div v-else>&nbsp;</div>
@@ -101,20 +101,20 @@
101
101
  text: '昨天',
102
102
  func() {
103
103
  change({ date: idate(new Date().setDate(new Date().getDate() - 1)).format('YYYY-MM-DD') });
104
- }
104
+ },
105
105
  },
106
106
  today: {
107
107
  text: '今天',
108
108
  func() {
109
109
  change({ date: idate(new Date()).format('YYYY-MM-DD') });
110
- }
110
+ },
111
111
  },
112
112
  tomorrow: {
113
113
  text: '明天',
114
114
  func() {
115
115
  change({ date: idate(new Date().setDate(new Date().getDate() + 1)).format('YYYY-MM-DD') });
116
- }
117
- }
116
+ },
117
+ },
118
118
  };
119
119
 
120
120
  const emits: any = defineEmits(['update:modelValue', 'change']);
@@ -152,7 +152,7 @@
152
152
  // 节假日
153
153
  holiday: () => ({}),
154
154
  // 范围时间
155
- rangeValue: ''
155
+ rangeValue: '',
156
156
  });
157
157
 
158
158
  // 内部数据
@@ -174,7 +174,7 @@
174
174
  return props.shortcuts.map((item: any) => {
175
175
  return isString(item) ? shortcutsList[item] : item;
176
176
  });
177
- })
177
+ }),
178
178
  });
179
179
 
180
180
  watch(
@@ -183,7 +183,7 @@
183
183
  state.date = value || '';
184
184
  state.value = value || '';
185
185
  },
186
- { deep: true, immediate: true }
186
+ { deep: true, immediate: true },
187
187
  );
188
188
  // 范围时间值
189
189
  watch(
@@ -191,7 +191,7 @@
191
191
  (value: any) => {
192
192
  state.rangeValue = value;
193
193
  },
194
- { deep: true, immediate: true }
194
+ { deep: true, immediate: true },
195
195
  );
196
196
 
197
197
  // 更新时间
@@ -45,7 +45,7 @@
45
45
  v-if="item.day"
46
46
  :ui-date-day="item.day"
47
47
  class="flex-block"
48
- :class="`${item.range ? 'bg-main-xs' : ''} ${item.sta ? 'r-lt-sl r-lb-sl' : ''} ${item.end ? 'r-rt-sl r-rb-sl' : ''}`"
48
+ :class="`${item.range ? 'bg-main-o-xs' : ''} ${item.sta ? 'r-lt-sl r-lb-sl' : ''} ${item.end ? 'r-rt-sl r-rb-sl' : ''}`"
49
49
  ui-flex="col cm"
50
50
  @click="change(item)"
51
51
  @mouseenter="setRangeValue(item)"
@@ -54,12 +54,12 @@
54
54
  ui-flex="col cm"
55
55
  class="r-sm b-solid bk-none b-xs my-ss ux-scale"
56
56
  style="width: 1.8em; height: 1.8em"
57
- :class="`${item.isLastMonth || item.isNextMonth ? 'co-idle' : item.isHoliday ? 'co-risk' : ''} ${item.selected ? 'active bg-main-lm co-fore' : 'hover-bg-weak'}`"
57
+ :class="`${item.isLastMonth || item.isNextMonth ? 'co-idle' : item.isHoliday ? 'co-risk' : ''} ${item.selected ? 'active bg-main-o-lm co-fore' : 'hover-bg-weak'}`"
58
58
  >
59
59
  <span>{{ item.day }}</span>
60
60
  </div>
61
61
  </div>
62
- <div class="pa full-x lh-xs ny-ss ob-no ol-no nowrap s-ml bold" style="transform-origin: 50% 100%" ui-flex="row ct" v-html="extras(item)"></div>
62
+ <div class="pa w-full lh-xs ny-ss ob-no ol-no nowrap s-ml bold" style="transform-origin: 50% 100%" ui-flex="row ct" v-html="extras(item)"></div>
63
63
  </div>
64
64
  </li>
65
65
  </ul>
@@ -109,7 +109,7 @@
109
109
  </div>
110
110
  </div>
111
111
 
112
- <div v-if="tools" ui-date-foot="" ui-flex="row xm" class="flex-fixed nx-sl ny-sl b-solid bk-line-mm bt-xs">
112
+ <div v-if="tools" ui-date-foot="" ui-flex="row xm" class="flex-fixed nx-sl ny-sl b-solid bk-line-o-mm bt-xs">
113
113
  <div ui-flex="row lm" class="nl-ss">
114
114
  <div v-if="state.panel" ui-flex="row lm">
115
115
  <span :anim-editing="state.type === 'date'" ui-btn="@a xs none" class="nx-ss" @click="setPanelType('date')">{{ idate(state.panel).format('YYYY-MM-DD') }}</span>
@@ -119,8 +119,8 @@
119
119
  </div>
120
120
  <div v-else-if="state.shortcuts?.length" ui-flex="row lm">
121
121
  <div class="mr-sm-sub nx-sl-sub ny-ss-sub lh-ss nowrap fs-ss dib-sub" ui-scroll=":x y:hidden">
122
- <p v-for="(item, idx) in state.shortcuts" :key="idx" class="bg-main-ss co-main r-xl" ui-btn="@a xs none :round" @click="item?.func">{{ item?.text }}</p>
123
- <p class="bg-main-ss co-main r-xl" ui-btn="@a xs none :round"><Icon class="co-main" name="more" /></p>
122
+ <p v-for="(item, idx) in state.shortcuts" :key="idx" class="bg-main-o-ss co-main r-xl" ui-btn="@a xs none :round" @click="item?.func">{{ item?.text }}</p>
123
+ <p class="bg-main-o-ss co-main r-xl" ui-btn="@a xs none :round"><Icon class="co-main" name="more" /></p>
124
124
  </div>
125
125
  </div>
126
126
  <div>&nbsp;</div>
@@ -149,20 +149,20 @@
149
149
  text: '昨天',
150
150
  func() {
151
151
  change({ date: idate(new Date().setDate(new Date().getDate() - 1)).format('YYYY-MM-DD') });
152
- }
152
+ },
153
153
  },
154
154
  today: {
155
155
  text: '今天',
156
156
  func() {
157
157
  change({ date: idate(new Date()).format('YYYY-MM-DD') });
158
- }
158
+ },
159
159
  },
160
160
  tomorrow: {
161
161
  text: '明天',
162
162
  func() {
163
163
  change({ date: idate(new Date().setDate(new Date().getDate() + 1)).format('YYYY-MM-DD') });
164
- }
165
- }
164
+ },
165
+ },
166
166
  };
167
167
 
168
168
  const emits: any = defineEmits(['update:modelValue', 'change', 'update']);
@@ -204,7 +204,7 @@
204
204
  format: 'YYYY-MM-DD',
205
205
  // 节假日
206
206
  holiday: () => ({}),
207
- time: false
207
+ time: false,
208
208
  });
209
209
 
210
210
  // 小时
@@ -250,7 +250,7 @@
250
250
  } else {
251
251
  return !props.time;
252
252
  }
253
- })
253
+ }),
254
254
  });
255
255
 
256
256
  const ths: any = ref(null);
@@ -289,7 +289,7 @@
289
289
  // 值
290
290
  state.value = value || '';
291
291
  },
292
- { deep: true, immediate: true }
292
+ { deep: true, immediate: true },
293
293
  );
294
294
 
295
295
  onMounted(() => {
@@ -299,7 +299,7 @@
299
299
  () => state.panel,
300
300
  () => {
301
301
  setTimeValue();
302
- }
302
+ },
303
303
  );
304
304
 
305
305
  // 更新时间