@opentiny/vue-renderless 3.21.2 → 3.23.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 (331) hide show
  1. package/amount/index.js +4 -4
  2. package/anchor/index.js +1 -1
  3. package/async-flowchart/index.js +1 -1
  4. package/autocomplete/index.js +4 -1
  5. package/autocomplete/vue.js +3 -3
  6. package/base-select/index.js +20 -21
  7. package/base-select/vue.js +2 -2
  8. package/calendar/index.js +2 -2
  9. package/calendar-bar/index.js +2 -2
  10. package/calendar-bar/vue.js +1 -1
  11. package/calendar-view/index.js +91 -25
  12. package/calendar-view/vue.js +6 -4
  13. package/card/index.js +1 -1
  14. package/card-template/index.js +1 -1
  15. package/carousel/index.js +4 -4
  16. package/carousel/vue.js +1 -1
  17. package/cascader/index.js +21 -11
  18. package/cascader/vue.js +6 -5
  19. package/cascader-menu/vue.js +2 -2
  20. package/cascader-mobile/index.js +1 -1
  21. package/cascader-node/vue.js +11 -1
  22. package/cascader-panel/index.js +4 -4
  23. package/cascader-panel/node.js +3 -4
  24. package/cascader-panel/vue.js +1 -1
  25. package/cascader-select/column-index.js +2 -2
  26. package/cascader-view/index.js +1 -1
  27. package/chart-bar/index.js +1 -1
  28. package/chart-candle/index.js +1 -1
  29. package/chart-core/deps/utils.js +6 -6
  30. package/chart-core/index.js +1 -1
  31. package/chart-funnel/index.js +1 -1
  32. package/chart-gauge/index.js +1 -1
  33. package/chart-line/index.js +1 -1
  34. package/chart-map/index.js +1 -1
  35. package/chart-pie/index.js +1 -1
  36. package/chart-radar/index.js +1 -1
  37. package/chart-sankey/index.js +1 -1
  38. package/chart-scatter/index.js +1 -1
  39. package/chart-waterfall/index.js +1 -1
  40. package/chart-wordcloud/index.js +1 -1
  41. package/checkbox/index.js +1 -1
  42. package/collapse-item/vue.js +1 -1
  43. package/column-list-item/index.js +1 -1
  44. package/common/deps/dom.js +20 -196
  45. package/common/deps/infinite-scroll.js +4 -43
  46. package/common/deps/popup-manager.js +1 -200
  47. package/container/index.js +2 -2
  48. package/crop/index.js +3 -3
  49. package/currency/index.js +2 -2
  50. package/date-panel/index.js +82 -26
  51. package/date-panel/vue.js +53 -21
  52. package/date-picker/vue.js +1 -1
  53. package/date-picker-mobile/index.js +1 -1
  54. package/date-range/index.js +74 -37
  55. package/date-range/vue.js +27 -23
  56. package/date-table/index.js +8 -5
  57. package/date-table/vue.js +1 -1
  58. package/dialog-box/index.js +3 -3
  59. package/dialog-box/vue.js +1 -1
  60. package/dialog-select/index.js +15 -4
  61. package/dialog-select/vue.js +7 -4
  62. package/drawer/index.js +2 -2
  63. package/drop-times/index.js +1 -1
  64. package/dropdown/index.js +11 -3
  65. package/dropdown/vue.js +2 -2
  66. package/dropdown-item/index.js +1 -1
  67. package/dropdown-item/mf.js +1 -1
  68. package/dropdown-menu/index.js +1 -1
  69. package/espace/vue.js +2 -2
  70. package/fall-menu/index.js +3 -3
  71. package/file-upload/index.js +16 -13
  72. package/file-upload/vue.js +2 -2
  73. package/filter/vue.js +1 -1
  74. package/filter-panel/vue.js +1 -2
  75. package/floating-button/index.js +1 -1
  76. package/flowchart/index.js +3 -3
  77. package/flowchart/vue.js +1 -1
  78. package/fluent-editor/index.js +5 -7
  79. package/fluent-editor/options.js +2 -2
  80. package/form/index.js +20 -2
  81. package/form-item/index.js +6 -6
  82. package/fullscreen/index.js +1 -1
  83. package/fullscreen/vue.js +1 -1
  84. package/grid/plugins/export.js +8 -2
  85. package/grid/plugins/exportExcel.js +3 -3
  86. package/grid/plugins/resize.js +2 -2
  87. package/grid/static/base/helperEqualCompare.js +1 -1
  88. package/grid/static/base/isPlainObject.js +1 -1
  89. package/grid/utils/common.js +2 -2
  90. package/grid/utils/dom.js +12 -7
  91. package/grid/utils/event.js +4 -4
  92. package/hrapprover/index.js +1 -1
  93. package/image/index.js +3 -3
  94. package/image-viewer/index.js +4 -6
  95. package/image-viewer/vue.js +1 -1
  96. package/input/index.js +2 -2
  97. package/input/vue.js +1 -1
  98. package/ip-address/index.js +17 -21
  99. package/ip-address/vue.js +1 -1
  100. package/link-menu/index.js +1 -1
  101. package/link-menu/vue.js +1 -1
  102. package/load-list/index.js +1 -1
  103. package/load-list/vue.js +4 -4
  104. package/loading/index.js +2 -2
  105. package/menu/vue.js +1 -1
  106. package/milestone/index.js +6 -45
  107. package/modal/index.js +5 -5
  108. package/month-range/index.js +48 -5
  109. package/month-range/vue.js +19 -15
  110. package/month-table/index.js +5 -5
  111. package/month-table/vue.js +1 -1
  112. package/nav-menu/index.js +7 -7
  113. package/notify/index.js +3 -3
  114. package/number-animation/index.js +53 -0
  115. package/number-animation/vue.js +27 -0
  116. package/numeric/index.js +5 -5
  117. package/option/index.js +1 -1
  118. package/option/vue.js +2 -1
  119. package/package.json +3 -2
  120. package/pager/index.js +28 -16
  121. package/pager/vue.js +27 -16
  122. package/panel/index.js +1 -1
  123. package/picker/index.js +28 -23
  124. package/picker/vue.js +6 -6
  125. package/picker-column/index.js +1 -1
  126. package/pop-upload/vue.js +1 -1
  127. package/popconfirm/vue.js +1 -1
  128. package/popeditor/index.js +6 -6
  129. package/popeditor/vue.js +2 -2
  130. package/popover/index.js +3 -3
  131. package/popover/vue.js +1 -1
  132. package/popup/index.js +3 -3
  133. package/pull-refresh/index.js +1 -1
  134. package/pull-refresh-mobile-first/index.js +1 -1
  135. package/pull-refresh-mobile-first/vue.js +4 -4
  136. package/quarter-panel/index.js +2 -2
  137. package/quarter-panel/vue.js +1 -1
  138. package/radio-group/index.js +1 -1
  139. package/rate/index.js +1 -1
  140. package/rate/vue.js +1 -1
  141. package/recycle-scroller/index.js +2 -2
  142. package/recycle-scroller/vue.js +1 -1
  143. package/rich-text/index.js +1 -1
  144. package/rich-text/table-module.js +2 -2
  145. package/river/river.js +1 -1
  146. package/river/vue.js +1 -1
  147. package/scrollbar/vue-bar.js +1 -1
  148. package/scrollbar/vue.js +1 -1
  149. package/search/index.js +3 -3
  150. package/select/index.js +26 -22
  151. package/select/vue.js +8 -7
  152. package/select-dropdown/vue.js +5 -5
  153. package/selected-box/index.js +1 -1
  154. package/signature/index.js +1 -1
  155. package/signature/vue.js +2 -2
  156. package/skeleton/index.js +1 -1
  157. package/slider/index.js +4 -4
  158. package/slider-button-group/slide-button.js +2 -2
  159. package/split/index.js +2 -2
  160. package/split/vue.js +1 -1
  161. package/statistic/index.js +1 -1
  162. package/steps/index.js +2 -3
  163. package/steps/slide-bar.js +2 -2
  164. package/sticky/vue.js +4 -4
  165. package/tab-bar/index.js +2 -2
  166. package/tab-item-mf/vue.js +1 -1
  167. package/tab-nav/index.js +4 -4
  168. package/tabbar/index.js +1 -1
  169. package/tabbar/vue.js +1 -1
  170. package/tabbar-item/index.js +1 -1
  171. package/tabs-mf/index.js +9 -5
  172. package/tabs-mf/vue-bar.js +5 -4
  173. package/tabs-mf/vue-swipe.js +1 -1
  174. package/tabs-mf/vue.js +2 -2
  175. package/tabs-mf/wheel.js +3 -3
  176. package/tag-group/vue.js +2 -2
  177. package/tall-storage/index.js +1 -1
  178. package/tall-storage/vue.js +1 -1
  179. package/time/index.js +1 -1
  180. package/time/vue.js +1 -1
  181. package/time-line/index.js +1 -1
  182. package/time-line-new/index.js +1 -1
  183. package/time-panel/index.js +2 -2
  184. package/time-panel/vue.js +1 -1
  185. package/time-range/index.js +1 -1
  186. package/time-range/vue.js +1 -1
  187. package/time-spinner/index.js +4 -4
  188. package/time-spinner/vue.js +1 -1
  189. package/timeline-item/index.js +1 -1
  190. package/toggle-menu/index.js +1 -1
  191. package/tooltip/index.js +2 -2
  192. package/tooltip/vue.js +2 -2
  193. package/top-box/index.js +3 -3
  194. package/transfer/index.js +42 -1
  195. package/transfer/vue.js +64 -24
  196. package/transfer-panel/index.js +6 -1
  197. package/tree/index.js +9 -9
  198. package/tree/vue.js +2 -2
  199. package/tree-node/index.js +1 -1
  200. package/tree-node/vue.js +1 -1
  201. package/tree-select/index.js +68 -22
  202. package/tree-select/vue.js +27 -3
  203. package/types/async-flowchart.type.d.ts +2 -14
  204. package/types/breadcrumb-item.type.d.ts +5 -1
  205. package/types/breadcrumb.type.d.ts +5 -1
  206. package/types/button-group.type.d.ts +5 -1
  207. package/types/button.type.d.ts +2 -2
  208. package/types/cascader.type.d.ts +6 -1
  209. package/types/date-table.type.d.ts +1 -120
  210. package/types/dropdown.type.d.ts +1 -1
  211. package/types/label.type.d.ts +1 -53
  212. package/types/loading.type.d.ts +12 -0
  213. package/types/numeric.type.d.ts +3 -22
  214. package/types/pager.type.d.ts +12 -7
  215. package/types/popconfirm.type.d.ts +2 -0
  216. package/types/steps.type.d.ts +1 -0
  217. package/types/tag-group.type.d.ts +2 -14
  218. package/types/tag.type.d.ts +4 -4
  219. package/types/tooltip.type.d.ts +3 -13
  220. package/types/transfer.type.d.ts +3 -0
  221. package/types/user-head.type.d.ts +0 -4
  222. package/upload/index.js +1 -1
  223. package/upload-list/index.js +1 -1
  224. package/upload-list/vue.js +4 -4
  225. package/user/index.js +7 -7
  226. package/user/vue.js +15 -2
  227. package/user-contact/vue.js +2 -2
  228. package/virtual-scroll-box/index.js +2 -2
  229. package/wizard/index.js +3 -3
  230. package/year-range/index.js +61 -11
  231. package/year-range/vue.js +33 -20
  232. package/year-table/index.js +10 -5
  233. package/avatar/index.js +0 -30
  234. package/avatar/vue.js +0 -22
  235. package/common/array.js +0 -115
  236. package/common/bigInt.js +0 -315
  237. package/common/browser.js +0 -81
  238. package/common/calendar/calendar.js +0 -97
  239. package/common/dataset/index.js +0 -99
  240. package/common/date.js +0 -354
  241. package/common/decimal.js +0 -155
  242. package/common/deps/ResizeObserver.js +0 -456
  243. package/common/deps/after-leave.js +0 -27
  244. package/common/deps/clickoutside.js +0 -75
  245. package/common/deps/date-util.js +0 -255
  246. package/common/deps/date.js +0 -286
  247. package/common/deps/debounce.js +0 -8
  248. package/common/deps/eSpaceCtrl.js +0 -304
  249. package/common/deps/fastdom/async.js +0 -41
  250. package/common/deps/fastdom/index.js +0 -9
  251. package/common/deps/fastdom/sandbox.js +0 -53
  252. package/common/deps/fastdom/singleton.js +0 -88
  253. package/common/deps/fullscreen/apis.js +0 -143
  254. package/common/deps/fullscreen/screenfull.js +0 -165
  255. package/common/deps/memorize.js +0 -124
  256. package/common/deps/observe-visibility.js +0 -106
  257. package/common/deps/popper.js +0 -616
  258. package/common/deps/repeat-click.js +0 -29
  259. package/common/deps/resize-event.js +0 -39
  260. package/common/deps/scroll-into-view.js +0 -29
  261. package/common/deps/scrollbar-width.js +0 -33
  262. package/common/deps/throttle.js +0 -45
  263. package/common/deps/touch-emulator.js +0 -103
  264. package/common/deps/touch.js +0 -37
  265. package/common/deps/tree-model/node.js +0 -475
  266. package/common/deps/tree-model/tree-store.js +0 -312
  267. package/common/deps/tree-model/util.js +0 -24
  268. package/common/deps/upload-ajax.js +0 -81
  269. package/common/deps/useEventListener.js +0 -54
  270. package/common/deps/useInstanceSlots.js +0 -22
  271. package/common/deps/useRect.js +0 -25
  272. package/common/deps/useRelation.js +0 -89
  273. package/common/deps/useTouch.js +0 -68
  274. package/common/deps/useUserAgent.js +0 -16
  275. package/common/deps/useWindowSize.js +0 -23
  276. package/common/deps/vue-emitter.js +0 -34
  277. package/common/deps/vue-popper.js +0 -180
  278. package/common/deps/vue-popup.js +0 -138
  279. package/common/event.js +0 -46
  280. package/common/form/const.js +0 -10
  281. package/common/function.js +0 -28
  282. package/common/global.js +0 -11
  283. package/common/index.js +0 -259
  284. package/common/object.js +0 -227
  285. package/common/prop-util.js +0 -43
  286. package/common/runtime.js +0 -79
  287. package/common/string.js +0 -417
  288. package/common/type.js +0 -66
  289. package/common/validate/index.js +0 -10
  290. package/common/validate/messages.js +0 -65
  291. package/common/validate/rules/enum.js +0 -12
  292. package/common/validate/rules/index.js +0 -18
  293. package/common/validate/rules/pattern.js +0 -20
  294. package/common/validate/rules/range.js +0 -52
  295. package/common/validate/rules/required.js +0 -11
  296. package/common/validate/rules/type.js +0 -100
  297. package/common/validate/rules/whitespace.js +0 -10
  298. package/common/validate/schema.js +0 -290
  299. package/common/validate/util.js +0 -211
  300. package/common/validate/validations/array.js +0 -22
  301. package/common/validate/validations/date.js +0 -31
  302. package/common/validate/validations/enum.js +0 -22
  303. package/common/validate/validations/float.js +0 -22
  304. package/common/validate/validations/index.js +0 -46
  305. package/common/validate/validations/integer.js +0 -22
  306. package/common/validate/validations/method.js +0 -21
  307. package/common/validate/validations/number.js +0 -25
  308. package/common/validate/validations/pattern.js +0 -21
  309. package/common/validate/validations/required.js +0 -11
  310. package/common/validate/validations/string.js +0 -33
  311. package/common/validate/validations/type.js +0 -29
  312. package/index-bar/index.js +0 -66
  313. package/index-bar/vue.js +0 -73
  314. package/index-bar-anchor/vue.js +0 -16
  315. package/label/index.js +0 -56
  316. package/label/vue.js +0 -26
  317. package/list/index.js +0 -13
  318. package/list/vue.js +0 -17
  319. package/mask/index.js +0 -13
  320. package/mask/vue.js +0 -18
  321. package/mini-picker/index.js +0 -165
  322. package/mini-picker/vue.js +0 -122
  323. package/multi-select/index.js +0 -394
  324. package/multi-select/vue.js +0 -113
  325. package/multi-select-item/index.js +0 -23
  326. package/multi-select-item/vue.js +0 -31
  327. package/toast/index.js +0 -7
  328. package/toast/vue.js +0 -19
  329. package/types/toast.type.d.ts +0 -63
  330. package/wheel/index.js +0 -165
  331. package/wheel/vue.js +0 -79
package/pager/vue.js CHANGED
@@ -7,6 +7,7 @@ import {
7
7
  computedSimplestPagerOption,
8
8
  computedSimplestPagerWidth,
9
9
  computedPageSizeText,
10
+ getInternalPageSize,
10
11
  handleJumperFocus,
11
12
  handleSizeChange,
12
13
  handleJumperInput,
@@ -30,12 +31,11 @@ import {
30
31
  setTotal,
31
32
  clickSizes,
32
33
  watchInternalCurrentPage,
33
- watchPageSizes,
34
34
  watchCurrentPage,
35
35
  watchInternalPageCount,
36
- watchPageSize,
37
36
  watchTotal,
38
- watchShowSizes
37
+ watchShowSizes,
38
+ watchInternalPageSize
39
39
  } from "./index";
40
40
  const api = [
41
41
  "state",
@@ -63,12 +63,12 @@ const api = [
63
63
  "clickSizes"
64
64
  ];
65
65
  const renderless = (props, { reactive, computed, watch }, { emit, vm, nextTick, t, designConfig }) => {
66
- var _a, _b, _c, _d;
66
+ var _a, _b, _c;
67
67
  const api2 = {};
68
68
  const state = reactive({
69
69
  showSizes: false,
70
70
  internalCurrentPage: 1,
71
- internalPageSize: props.pageSize,
71
+ internalPageSize: 10,
72
72
  lastEmittedPage: -1,
73
73
  userChangePageSize: false,
74
74
  internalTotal: props.total,
@@ -81,12 +81,15 @@ const renderless = (props, { reactive, computed, watch }, { emit, vm, nextTick,
81
81
  totalText: computed(() => api2.computedTotalText()),
82
82
  internalPageCount: computed(() => api2.computedInternalPageCount()),
83
83
  showJumperSuffix: (_b = (_a = designConfig == null ? void 0 : designConfig.state) == null ? void 0 : _a.showJumperSuffix) != null ? _b : true,
84
- align: props.align || ((_c = designConfig == null ? void 0 : designConfig.state) == null ? void 0 : _c.align) || "right",
85
- totalI18n: ((_d = designConfig == null ? void 0 : designConfig.state) == null ? void 0 : _d.totalI18n) || "totals",
84
+ align: computed(() => {
85
+ var _a2;
86
+ return props.align || ((_a2 = designConfig == null ? void 0 : designConfig.state) == null ? void 0 : _a2.align) || "right";
87
+ }),
88
+ totalI18n: ((_c = designConfig == null ? void 0 : designConfig.state) == null ? void 0 : _c.totalI18n) || "totals",
86
89
  totalFixedLeft: computed(
87
90
  () => {
88
- var _a2, _b2, _c2, _d2;
89
- return (_d2 = (_c2 = (_b2 = props.totalFixedLeft) != null ? _b2 : (_a2 = designConfig == null ? void 0 : designConfig.state) == null ? void 0 : _a2.totalFixedLeft) != null ? _c2 : props.mode !== "simplest") != null ? _d2 : true;
91
+ var _a2, _b2, _c2, _d;
92
+ return (_d = (_c2 = (_b2 = props.totalFixedLeft) != null ? _b2 : (_a2 = designConfig == null ? void 0 : designConfig.state) == null ? void 0 : _a2.totalFixedLeft) != null ? _c2 : props.mode !== "simplest") != null ? _d : true;
90
93
  }
91
94
  ),
92
95
  pageSizeText: computed(() => api2.computedPageSizeText())
@@ -119,26 +122,34 @@ const renderless = (props, { reactive, computed, watch }, { emit, vm, nextTick,
119
122
  prev: prev({ state, props, api: api2, emit }),
120
123
  next: next({ props, state, api: api2, emit }),
121
124
  buildBeforePageChangeParam: buildBeforePageChangeParam({ state }),
122
- emitChange: emitChange({ state, nextTick, emit }),
125
+ emitChange: emitChange({ state, nextTick, emit, props }),
123
126
  setTotal: setTotal({ state }),
124
127
  clickSizes: clickSizes(),
125
128
  // watch
126
- watchInternalCurrentPage: watchInternalCurrentPage({ state, emit }),
127
- watchPageSizes: watchPageSizes({ state, props }),
129
+ watchInternalCurrentPage: watchInternalCurrentPage({ state, emit, props }),
130
+ getInternalPageSize: getInternalPageSize({ state, props }),
128
131
  watchCurrentPage: watchCurrentPage({ state, api: api2 }),
129
132
  watchInternalPageCount: watchInternalPageCount({ state, api: api2 }),
130
- watchPageSize: watchPageSize({ state }),
131
133
  watchTotal: watchTotal({ state }),
132
- watchShowSizes: watchShowSizes({ nextTick, vm })
134
+ watchShowSizes: watchShowSizes({ nextTick, vm }),
135
+ watchInternalPageSize: watchInternalPageSize({ emit, props })
133
136
  });
134
137
  state.internalCurrentPage = api2.getValidCurrentPage(props.currentPage);
138
+ state.internalPageSize = api2.getInternalPageSize();
135
139
  watch(() => state.internalCurrentPage, api2.watchInternalCurrentPage);
136
- watch(() => props.pageSizes, api2.watchPageSizes, { immediate: true });
140
+ watch(() => state.internalPageSize, api2.watchInternalPageSize);
137
141
  watch(() => props.currentPage, api2.watchCurrentPage);
138
142
  watch(() => state.internalPageCount, api2.watchInternalPageCount);
139
- watch(() => props.pageSize, api2.watchPageSize, { immediate: true });
140
143
  watch(() => props.total, api2.watchTotal);
141
144
  watch(() => state.showSizes, api2.watchShowSizes);
145
+ watch(
146
+ () => props.pageSize,
147
+ () => state.internalPageSize = api2.getInternalPageSize()
148
+ );
149
+ watch(
150
+ () => props.pageSizes,
151
+ () => state.internalPageSize = api2.getInternalPageSize()
152
+ );
142
153
  return api2;
143
154
  };
144
155
  export {
package/panel/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import "../chunk-G2ADBYYC.js";
2
- import { emitEvent } from "../common/event";
2
+ import { emitEvent } from "@opentiny/utils";
3
3
  const toggle = ({ api, state }) => () => {
4
4
  state.isShow ? api.collapse() : api.expand();
5
5
  };
package/picker/index.js CHANGED
@@ -2,12 +2,12 @@ import {
2
2
  __spreadProps,
3
3
  __spreadValues
4
4
  } from "../chunk-G2ADBYYC.js";
5
- import { toDate, getDateWithNewTimezone, getStrTimezone, getLocalTimezone } from "../common/date";
6
- import { isNumber, isDate } from "../common/type";
7
- import userPopper from "../common/deps/vue-popper";
8
- import { DATEPICKER } from "../common";
9
- import { formatDate, parseDate, isDateObject, getWeekNumber, prevDate, nextDate } from "../common/deps/date-util";
10
- import { extend } from "../common/object";
5
+ import { toDate1, getDateWithNewTimezone, getStrTimezone, getLocalTimezone } from "@opentiny/utils";
6
+ import { isNumber, isDate } from "@opentiny/utils";
7
+ import { userPopper } from "@opentiny/vue-hooks";
8
+ import { DATEPICKER } from "@opentiny/utils";
9
+ import { formatDate, parseDate1 as parseDate, isDateObject, getWeekNumber, prevDate, nextDate } from "@opentiny/utils";
10
+ import { extend } from "@opentiny/utils";
11
11
  import globalTimezone from "./timezone";
12
12
  const iso8601Reg = /^\d{4}-\d{2}-\d{2}(.)\d{2}:\d{2}:\d{2}(.+)$/;
13
13
  const getPanel = ({
@@ -46,8 +46,8 @@ const watchMobileVisible = ({ api, props, state, nextTick }) => ([dateMobileVisi
46
46
  });
47
47
  }
48
48
  };
49
- const watchPickerVisible = ({ api, vm, dispatch, emit, props, state, nextTick }) => (value) => {
50
- if (props.readonly || state.pickerDisabled || state.isMobileScreen)
49
+ const watchPickerVisible = ({ api, vm, dispatch, emit, props, state, nextTick, isPCMode }) => (value) => {
50
+ if (props.readonly || state.pickerDisabled || state.isMobileScreen && !isPCMode)
51
51
  return;
52
52
  if (value) {
53
53
  api.showPicker();
@@ -158,7 +158,7 @@ const parsedValue = ({ api, props, state, t }) => () => {
158
158
  }
159
159
  return getDateWithNewTimezone(result || props.modelValue, from, to, timezoneOffset);
160
160
  }
161
- const trans = (value) => typeof value === "string" || isNumber(value) ? toDate(value) : value;
161
+ const trans = (value) => typeof value === "string" || isNumber(value) ? toDate1(value) : value;
162
162
  const values = [].concat(props.modelValue).map((val) => getDateWithNewTimezone(trans(val), from, to, timezoneOffset));
163
163
  return values.length > 1 ? values : values[0];
164
164
  };
@@ -704,15 +704,18 @@ const handleClose = ({ api, props, state }) => () => {
704
704
  api.emitInput(oldValue, true);
705
705
  }
706
706
  };
707
- const handleFocus = ({ emit, vm, state, api }) => () => {
707
+ const handleFocus = ({ emit, vm, state, api, props, isPCMode }) => () => {
708
708
  const type = state.type;
709
+ if (props.readonly || state.pickerDisabled) {
710
+ return;
711
+ }
709
712
  if (DATEPICKER.TriggerTypes.includes(type)) {
710
- if (state.isMobileScreen && state.isDateMobileComponent) {
713
+ if (!state.isMobileScreen || isPCMode) {
714
+ state.pickerVisible = true;
715
+ } else if (state.isDateMobileComponent) {
711
716
  api.dateMobileToggle(true);
712
- } else if (state.isMobileScreen && state.isTimeMobileComponent) {
717
+ } else if (state.isTimeMobileComponent) {
713
718
  api.timeMobileToggle(true);
714
- } else {
715
- state.pickerVisible = true;
716
719
  }
717
720
  }
718
721
  emit("focus", vm.$refs.reference);
@@ -772,9 +775,6 @@ const hidePicker = ({ destroyPopper, state }) => () => {
772
775
  }
773
776
  };
774
777
  const showPicker = ({ api, nextTick, updatePopper, state }) => () => {
775
- if (state.$isServer) {
776
- return;
777
- }
778
778
  if (!state.picker) {
779
779
  api.mountPicker();
780
780
  }
@@ -786,14 +786,19 @@ const showPicker = ({ api, nextTick, updatePopper, state }) => () => {
786
786
  state.picker.adjustSpinners && state.picker.adjustSpinners();
787
787
  });
788
788
  };
789
- const handlePick = ({ state, api }) => (date = "", visible = false) => {
789
+ const handlePick = ({ state, api }) => (date = "", visible = false, chooseOne = false) => {
790
790
  if (!state.picker)
791
791
  return;
792
- state.userInput = null;
793
- state.pickerVisible = state.picker.state.visible = visible;
794
- api.emitInput(date, visible);
795
- state.date = date;
796
- state.picker.resetView && state.picker.resetView();
792
+ if (chooseOne) {
793
+ const minDate = date && date[0] || "";
794
+ state.userInput = [api.formatToString(minDate), null];
795
+ } else {
796
+ state.userInput = null;
797
+ state.pickerVisible = state.picker.state.visible = visible;
798
+ api.emitInput(date, visible);
799
+ state.date = date;
800
+ state.picker.resetView && state.picker.resetView();
801
+ }
797
802
  };
798
803
  const handleSelectRange = (state) => (start, end, pos) => {
799
804
  if (state.refInput.length === 0) {
package/picker/vue.js CHANGED
@@ -59,7 +59,7 @@ import {
59
59
  formatInputValue
60
60
  } from "./index";
61
61
  import { dateMobileToggle, timeMobileToggle, dateToTimeArray, timeArrayToDate, timeMobileConfirm } from "./mb";
62
- import { DATEPICKER } from "../common";
62
+ import { DATEPICKER } from "@opentiny/utils";
63
63
  const api = [
64
64
  "state",
65
65
  "btnClick",
@@ -154,7 +154,7 @@ const initState = ({ api: api2, reactive, vm, computed, props, utils, parent, br
154
154
  });
155
155
  return state;
156
156
  };
157
- const initApi = ({ api: api2, props, hooks, state, vnode, others, utils, parent }) => {
157
+ const initApi = ({ api: api2, props, hooks, state, vnode, others, utils, parent, isPCMode }) => {
158
158
  const { t, emit, dispatch, nextTick, vm } = vnode;
159
159
  const { TimePanel, TimeRangePanel } = others;
160
160
  const { destroyPopper, popperElm, updatePopper } = initPopper({ props, hooks, vnode });
@@ -166,7 +166,7 @@ const initApi = ({ api: api2, props, hooks, state, vnode, others, utils, parent
166
166
  hidePicker: hidePicker({ destroyPopper, state }),
167
167
  handleSelectChange: ({ tz, date }) => !state.ranged && emit("select-change", { tz, date }),
168
168
  getPanel: getPanel(others),
169
- handleFocus: handleFocus({ emit, vm, state, api: api2 }),
169
+ handleFocus: handleFocus({ emit, vm, state, api: api2, props, isPCMode }),
170
170
  getTimezone: getTimezone({ props, utils }),
171
171
  emitChange: emitChange({ api: api2, dispatch, emit, props, state }),
172
172
  parsedValue: parsedValue({ api: api2, props, state, t }),
@@ -189,7 +189,7 @@ const initApi = ({ api: api2, props, hooks, state, vnode, others, utils, parent
189
189
  handleClose: handleClose({ api: api2, props, state }),
190
190
  displayValue: displayValue({ api: api2, props, state }),
191
191
  handlePick: handlePick({ api: api2, state }),
192
- watchPickerVisible: watchPickerVisible({ api: api2, vm, dispatch, emit, props, state, nextTick }),
192
+ watchPickerVisible: watchPickerVisible({ api: api2, vm, dispatch, emit, props, state, nextTick, isPCMode }),
193
193
  watchMobileVisible: watchMobileVisible({ api: api2, props, state, nextTick }),
194
194
  formatToString: formatToString({ api: api2, state }),
195
195
  watchIsRange: watchIsRange({ api: api2, state, TimePanel, TimeRangePanel }),
@@ -263,12 +263,12 @@ const initWatch = ({ api: api2, state, props, watch, markRaw }) => {
263
263
  const renderless = (props, hooks, vnode, others) => {
264
264
  const api2 = {};
265
265
  const { reactive, computed, watch, onBeforeUnmount, inject, markRaw, onMounted } = hooks;
266
- const { vm, service, parent, useBreakpoint } = vnode;
266
+ const { vm, service, parent, useBreakpoint, isPCMode } = vnode;
267
267
  const { utils = {} } = service || {};
268
268
  const breakpoint = useBreakpoint();
269
269
  const state = initState({ api: api2, reactive, vm, computed, props, utils, parent, inject, breakpoint });
270
270
  parent.tinyForm = parent.tinyForm || inject("form", null);
271
- initApi({ api: api2, props, hooks, state, vnode, others, utils, parent });
271
+ initApi({ api: api2, props, hooks, state, vnode, others, utils, parent, isPCMode });
272
272
  initWatch({ api: api2, state, props, watch, markRaw });
273
273
  api2.initGlobalTimezone();
274
274
  onMounted(() => {
@@ -1,5 +1,5 @@
1
1
  import "../chunk-G2ADBYYC.js";
2
- import { on, off } from "../common/deps/dom";
2
+ import { on, off } from "@opentiny/utils";
3
3
  const computedWrapperStyle = (state) => () => {
4
4
  const wrapperStyle = {
5
5
  transform: `translate3d(0, ${state.offset + state.baseOffset}px, 0)`,
package/pop-upload/vue.js CHANGED
@@ -41,7 +41,7 @@ import {
41
41
  fileUploadChange,
42
42
  deleteFile
43
43
  } from "./index";
44
- import { formatFileSize } from "../common/string";
44
+ import { formatFileSize } from "@opentiny/utils";
45
45
  const api = [
46
46
  "state",
47
47
  "closeSuccessTips",
package/popconfirm/vue.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import "../chunk-G2ADBYYC.js";
2
- import { on, off } from "../common/deps/dom";
2
+ import { on, off } from "@opentiny/utils";
3
3
  import { show, hide, confirm, handleEmit, handleDocumentClick } from "./index";
4
4
  const api = ["state", "show", "hide", "confirm", "handleEmit"];
5
5
  const renderless = (props, { computed, reactive, onMounted, onBeforeUnmount }, { emit, constants, designConfig, vm }) => {
@@ -1,11 +1,11 @@
1
1
  import "../chunk-G2ADBYYC.js";
2
- import { find } from "../common/array";
3
- import { typeOf, isNull } from "../common/type";
4
- import { getDataset } from "../common/dataset";
5
- import { isNullOrEmpty } from "../common/string";
6
- import { isEqual } from "../common/object";
2
+ import { find } from "@opentiny/utils";
3
+ import { typeOf, isNull } from "@opentiny/utils";
4
+ import { getDataset } from "@opentiny/utils";
5
+ import { isNullOrEmpty } from "@opentiny/utils";
6
+ import { isEqual } from "@opentiny/utils";
7
7
  import { eachTree } from "../grid/static";
8
- import { on, off } from "../common/deps/dom";
8
+ import { on, off } from "@opentiny/utils";
9
9
  const computedGetTitle = ({ constants, props, t }) => props.title || t(constants.TITLE);
10
10
  const computedModalWidth = ({ constants, props }) => {
11
11
  let modalWidth = 0;
package/popeditor/vue.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  __spreadValues
3
3
  } from "../chunk-G2ADBYYC.js";
4
- import debounce from "../common/deps/debounce";
5
- import userPopper from "../common/deps/vue-popper";
4
+ import { debounce } from "@opentiny/utils";
5
+ import { userPopper } from "@opentiny/vue-hooks";
6
6
  import {
7
7
  computedGetTitle,
8
8
  computedTreeOp,
package/popover/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import "../chunk-G2ADBYYC.js";
2
- import { on, off, addClass, removeClass } from "../common/deps/dom";
3
- import { guid } from "../common/string";
4
- import { KEY_CODE } from "../common";
2
+ import { on, off, addClass, removeClass } from "@opentiny/utils";
3
+ import { guid } from "@opentiny/utils";
4
+ import { KEY_CODE } from "@opentiny/utils";
5
5
  const processTrigger = ({
6
6
  api,
7
7
  state,
package/popover/vue.js CHANGED
@@ -20,7 +20,7 @@ import {
20
20
  handleItemClick,
21
21
  observeCallback
22
22
  } from "./index";
23
- import userPopper from "../common/deps/vue-popper";
23
+ import { userPopper } from "@opentiny/vue-hooks";
24
24
  const api = [
25
25
  "state",
26
26
  "handleAfterEnter",
package/popup/index.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  __spreadValues
3
3
  } from "../chunk-G2ADBYYC.js";
4
- import { on, off } from "../common/deps/dom";
5
- import { touchStart, touchMove } from "../common/deps/touch";
4
+ import { on, off } from "@opentiny/utils";
5
+ import { touchStart, touchMove } from "@opentiny/utils";
6
6
  import { getScroller } from "../dropdown-menu";
7
- import { isNull } from "../common/type";
7
+ import { isNull } from "@opentiny/utils";
8
8
  const getStyle = (props) => () => {
9
9
  const style = __spreadValues({}, props.popupStyle);
10
10
  if (!isNull(props.duration)) {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  __spreadValues
3
3
  } from "../chunk-G2ADBYYC.js";
4
- import { on, off } from "../common/deps/dom";
4
+ import { on, off } from "@opentiny/utils";
5
5
  const PULL_UP_TIME_OUT = 300;
6
6
  const initPullRefresh = ({ t, props, state }) => () => {
7
7
  var _a, _b, _c;
@@ -2,7 +2,7 @@ import {
2
2
  __spreadProps,
3
3
  __spreadValues
4
4
  } from "../chunk-G2ADBYYC.js";
5
- import { on, off, getScrollTop, preventDefault } from "../common/deps/dom";
5
+ import { on, off, getScrollTop, preventDefault } from "@opentiny/utils";
6
6
  const onTouchstart = ({ state }) => (event) => {
7
7
  state.draggposition = event.touches[0].clientY;
8
8
  };
@@ -19,10 +19,10 @@ import {
19
19
  parseHeaderHeight,
20
20
  checkSelfSimulate
21
21
  } from "./index";
22
- import { getScrollParent } from "../common/deps/dom";
23
- import { useTouch } from "../common/deps/useTouch";
24
- import { useEventListener } from "../common/deps/useEventListener";
25
- import emulate from "../common/deps/touch-emulator";
22
+ import { getScrollParent } from "@opentiny/utils";
23
+ import { useTouch } from "@opentiny/vue-hooks";
24
+ import { useEventListener } from "@opentiny/vue-hooks";
25
+ import { emulate } from "@opentiny/utils";
26
26
  emulate();
27
27
  const api = ["state", "constants", "onTouchStart", "onTouchEnd", "getStatusText"];
28
28
  const renderless = (props, { ref, unref, toRef, isRef, reactive, computed, watch, onMounted, onUnmounted, onActivated, onDeactivated }, { vm, emit, constants, t, nextTick, slots }, { Loading }) => {
@@ -1,6 +1,6 @@
1
1
  import "../chunk-G2ADBYYC.js";
2
- import { modifyDate, nextYear, prevYear } from "../common/deps/date-util";
3
- import { DATEPICKER } from "../common";
2
+ import { modifyDate, nextYear, prevYear } from "@opentiny/utils";
3
+ import { DATEPICKER } from "@opentiny/utils";
4
4
  const getTarget = (event) => {
5
5
  let target = event.target;
6
6
  const tagName = target.tagName;
@@ -1,5 +1,5 @@
1
1
  import "../chunk-G2ADBYYC.js";
2
- import { DATEPICKER } from "../common";
2
+ import { DATEPICKER } from "@opentiny/utils";
3
3
  import {
4
4
  handleQuarterTableClick,
5
5
  showYearPicker,
@@ -1,5 +1,5 @@
1
1
  import "../chunk-G2ADBYYC.js";
2
- import { KEY_CODE } from "../common";
2
+ import { KEY_CODE } from "@opentiny/utils";
3
3
  const handleKeydown = (parent) => (event) => {
4
4
  const target = event.target;
5
5
  const className = (target == null ? void 0 : target.nodeName) === "INPUT" ? "[type=radio]" : "[role=radio]";
package/rate/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import "../chunk-G2ADBYYC.js";
2
- import { KEY_CODE } from "../common";
2
+ import { KEY_CODE } from "@opentiny/utils";
3
3
  const computedActiveColor = (props) => (state) => {
4
4
  let result = "";
5
5
  if (state.currentValue <= props.lowThreshold) {
package/rate/vue.js CHANGED
@@ -18,7 +18,7 @@ import {
18
18
  computedActiveColor,
19
19
  computedActiveClass
20
20
  } from "./index";
21
- import { on, off } from "../common/deps/dom";
21
+ import { on, off } from "@opentiny/utils";
22
22
  const api = [
23
23
  "state",
24
24
  "showDecimalIcon",
@@ -1,6 +1,6 @@
1
1
  import "../chunk-G2ADBYYC.js";
2
- import { getScrollContainer } from "../common/deps/infinite-scroll";
3
- import { isNull } from "../common/type";
2
+ import { getScrollContainer } from "@opentiny/utils";
3
+ import { isNull } from "@opentiny/utils";
4
4
  let supportsPassive = false;
5
5
  if (typeof window !== "undefined") {
6
6
  supportsPassive = false;
@@ -21,7 +21,7 @@ import {
21
21
  resetTemporary,
22
22
  init
23
23
  } from "./index";
24
- import { addResizeListener, removeResizeListener } from "../common/deps/resize-event";
24
+ import { addResizeListener, removeResizeListener } from "@opentiny/utils";
25
25
  const api = [
26
26
  "state",
27
27
  "handleVisibilityChange",
@@ -1,5 +1,5 @@
1
1
  import "../chunk-G2ADBYYC.js";
2
- import { extend } from "../common/object";
2
+ import { extend } from "@opentiny/utils";
3
3
  import { xss } from "@opentiny/utils";
4
4
  import { getToolbarTips, defaultOptions } from "./options";
5
5
  import registerTableModule from "./table-module";
@@ -1,6 +1,6 @@
1
1
  import "../chunk-G2ADBYYC.js";
2
- import { random } from "../common/string";
3
- import { isNull } from "../common/type";
2
+ import { random } from "@opentiny/utils";
3
+ import { isNull } from "@opentiny/utils";
4
4
  function cellName() {
5
5
  return random().toString(36).slice(2);
6
6
  }
package/river/river.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import "../chunk-G2ADBYYC.js";
2
- import { omitText } from "../common/string";
2
+ import { omitText } from "@opentiny/utils";
3
3
  const isArr = Array.isArray;
4
4
  const some = (arr, predicate) => arr.some(predicate);
5
5
  const filter = (arr, predicate) => arr.filter(predicate);
package/river/vue.js CHANGED
@@ -17,7 +17,7 @@ import {
17
17
  getContainerWidth,
18
18
  resizeListener
19
19
  } from "./index";
20
- import { addResizeListener, removeResizeListener } from "../common/deps/resize-event";
20
+ import { addResizeListener, removeResizeListener } from "@opentiny/utils";
21
21
  const api = ["state", "lightUp", "style"];
22
22
  const renderless = (props, { computed, onMounted, onBeforeUnmount, reactive }, { vm, emit, parent }, { echarts }) => {
23
23
  const state = reactive({
@@ -8,7 +8,7 @@ import {
8
8
  mouseMoveDocumentHandler,
9
9
  mouseUpDocumentHandler
10
10
  } from "./index";
11
- import { on, off } from "../common/deps/dom";
11
+ import { on, off } from "@opentiny/utils";
12
12
  const api = [
13
13
  "state",
14
14
  "startDrag",
package/scrollbar/vue.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import "../chunk-G2ADBYYC.js";
2
2
  import { handleScroll, update } from "./index";
3
- import { addResizeListener, removeResizeListener } from "../common/deps/resize-event";
3
+ import { addResizeListener, removeResizeListener } from "@opentiny/utils";
4
4
  const api = ["state", "update", "handleScroll"];
5
5
  const renderless = (props, { onBeforeUnmount, onMounted, reactive }, { vm, nextTick, emit }) => {
6
6
  const state = reactive({
package/search/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import "../chunk-G2ADBYYC.js";
2
- import { on, off } from "../common/deps/dom";
3
- import PopupManager from "../common/deps/popup-manager";
4
- import { isObject, typeOf } from "../common/type";
2
+ import { on, off } from "@opentiny/utils";
3
+ import { PopupManager } from "@opentiny/utils";
4
+ import { isObject, typeOf } from "@opentiny/utils";
5
5
  const emitInput = ({ emit }) => (...args) => {
6
6
  emit("update:modelValue", ...args);
7
7
  emit("input", ...args);
package/select/index.js CHANGED
@@ -2,25 +2,25 @@ import {
2
2
  __spreadProps,
3
3
  __spreadValues
4
4
  } from "../chunk-G2ADBYYC.js";
5
- import { find } from "../common/array";
6
- import { getObj, isEqual } from "../common/object";
7
- import { isKorean } from "../common/string";
8
- import scrollIntoView from "../common/deps/scroll-into-view";
9
- import PopupManager from "../common/deps/popup-manager";
10
- import debounce from "../common/deps/debounce";
11
- import { getDataset } from "../common/dataset";
12
- import Memorize from "../common/deps/memorize";
13
- import { isEmptyObject } from "../common/type";
14
- import { addResizeListener, removeResizeListener } from "../common/deps/resize-event";
15
- import { extend } from "../common/object";
16
- import { BROWSER_NAME } from "../common";
17
- import browserInfo from "../common/browser";
18
- import { isNull } from "../common/type";
19
- import { fastdom } from "../common/deps/fastdom";
5
+ import { find } from "@opentiny/utils";
6
+ import { getObj, isEqual } from "@opentiny/utils";
7
+ import { isKorean } from "@opentiny/utils";
8
+ import { scrollIntoView } from "@opentiny/utils";
9
+ import { PopupManager } from "@opentiny/utils";
10
+ import { debounce } from "@opentiny/utils";
11
+ import { getDataset } from "@opentiny/utils";
12
+ import { Memorize } from "@opentiny/utils";
13
+ import { isEmptyObject } from "@opentiny/utils";
14
+ import { addResizeListener, removeResizeListener } from "@opentiny/utils";
15
+ import { extend } from "@opentiny/utils";
16
+ import { BROWSER_NAME } from "@opentiny/utils";
17
+ import { browserInfo } from "@opentiny/utils";
18
+ import { isNull } from "@opentiny/utils";
19
+ import { fastdom } from "@opentiny/utils";
20
20
  import { deepClone } from "../picker-column";
21
21
  import { escapeRegexpString } from "../option";
22
- import { correctTarget } from "../common/event";
23
- import { isBrowser } from "../common/browser";
22
+ import { correctTarget } from "@opentiny/utils";
23
+ import { isServer } from "@opentiny/utils";
24
24
  const handleComposition = ({ api, nextTick, state }) => (event) => {
25
25
  const text = event.target.value;
26
26
  if (event.type === "compositionend") {
@@ -633,13 +633,17 @@ const initValue = ({ state }) => (vm) => {
633
633
  const isExist = state.initValue.find((val) => val === vm.value);
634
634
  !isExist && state.initValue.push(vm.value);
635
635
  };
636
- const setSoftFocus = ({ vm, state }) => () => {
636
+ const setSoftFocus = ({ vm, state, props }) => () => {
637
+ if (vm.$slots.reference) {
638
+ return;
639
+ }
637
640
  state.softFocus = true;
638
641
  const input = vm.$refs.input || vm.$refs.reference;
639
- if (input) {
640
- input.focus();
642
+ if (!props.automaticDropdown) {
643
+ if (input) {
644
+ input.focus();
645
+ }
641
646
  }
642
- state.softFocus = false;
643
647
  };
644
648
  const getValueIndex = (props) => (arr = [], value = null) => {
645
649
  const isObject = Object.prototype.toString.call(value).toLowerCase() === "[object object]";
@@ -1683,7 +1687,7 @@ const watchInitValue = ({ props, emit }) => (value) => {
1683
1687
  }
1684
1688
  };
1685
1689
  const watchShowClose = ({ nextTick, state, parent }) => () => {
1686
- if (!isBrowser)
1690
+ if (isServer)
1687
1691
  return;
1688
1692
  nextTick(() => {
1689
1693
  const parentEl = parent.$el;