@opentiny/vue-renderless 3.21.1 → 3.22.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 (323) 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 +1 -1
  5. package/autocomplete/vue.js +3 -3
  6. package/base-select/index.js +19 -19
  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 +66 -22
  12. package/calendar-view/vue.js +2 -3
  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-panel/index.js +4 -4
  22. package/cascader-panel/node.js +3 -4
  23. package/cascader-panel/vue.js +1 -1
  24. package/cascader-select/column-index.js +2 -2
  25. package/cascader-view/index.js +1 -1
  26. package/chart-bar/index.js +1 -1
  27. package/chart-candle/index.js +1 -1
  28. package/chart-core/deps/utils.js +6 -6
  29. package/chart-core/index.js +1 -1
  30. package/chart-funnel/index.js +1 -1
  31. package/chart-gauge/index.js +1 -1
  32. package/chart-line/index.js +1 -1
  33. package/chart-map/index.js +1 -1
  34. package/chart-pie/index.js +1 -1
  35. package/chart-radar/index.js +1 -1
  36. package/chart-sankey/index.js +1 -1
  37. package/chart-scatter/index.js +1 -1
  38. package/chart-waterfall/index.js +1 -1
  39. package/chart-wordcloud/index.js +1 -1
  40. package/checkbox/index.js +1 -1
  41. package/collapse-item/vue.js +1 -1
  42. package/column-list-item/index.js +1 -1
  43. package/common/deps/dom.js +20 -196
  44. package/common/deps/infinite-scroll.js +4 -43
  45. package/common/deps/popup-manager.js +1 -200
  46. package/container/index.js +2 -2
  47. package/crop/index.js +3 -3
  48. package/currency/index.js +2 -2
  49. package/date-panel/index.js +75 -25
  50. package/date-panel/vue.js +53 -21
  51. package/date-picker/vue.js +1 -1
  52. package/date-picker-mobile/index.js +1 -1
  53. package/date-range/index.js +71 -37
  54. package/date-range/vue.js +27 -23
  55. package/date-table/index.js +8 -5
  56. package/date-table/vue.js +1 -1
  57. package/dialog-box/index.js +3 -3
  58. package/dialog-box/vue.js +1 -1
  59. package/dialog-select/vue.js +7 -4
  60. package/drawer/index.js +2 -2
  61. package/drop-times/index.js +1 -1
  62. package/dropdown/index.js +11 -3
  63. package/dropdown/vue.js +2 -2
  64. package/dropdown-item/index.js +1 -1
  65. package/dropdown-item/mf.js +1 -1
  66. package/dropdown-menu/index.js +1 -1
  67. package/espace/vue.js +2 -2
  68. package/fall-menu/index.js +3 -3
  69. package/file-upload/index.js +16 -13
  70. package/file-upload/vue.js +2 -2
  71. package/filter/vue.js +1 -1
  72. package/filter-panel/vue.js +1 -2
  73. package/floating-button/index.js +1 -1
  74. package/flowchart/index.js +3 -3
  75. package/flowchart/vue.js +1 -1
  76. package/fluent-editor/index.js +5 -7
  77. package/fluent-editor/options.js +2 -2
  78. package/form/index.js +20 -2
  79. package/form-item/index.js +6 -6
  80. package/fullscreen/index.js +1 -1
  81. package/fullscreen/vue.js +1 -1
  82. package/grid/plugins/export.js +2 -2
  83. package/grid/plugins/exportExcel.js +3 -3
  84. package/grid/plugins/resize.js +2 -2
  85. package/grid/static/base/helperEqualCompare.js +1 -1
  86. package/grid/static/base/isPlainObject.js +1 -1
  87. package/grid/utils/common.js +2 -2
  88. package/grid/utils/dom.js +16 -8
  89. package/grid/utils/event.js +4 -4
  90. package/hrapprover/index.js +1 -1
  91. package/image/index.js +3 -3
  92. package/image-viewer/index.js +4 -6
  93. package/input/index.js +2 -2
  94. package/input/vue.js +1 -1
  95. package/ip-address/index.js +17 -21
  96. package/ip-address/vue.js +1 -1
  97. package/link-menu/index.js +1 -1
  98. package/link-menu/vue.js +1 -1
  99. package/load-list/index.js +1 -1
  100. package/load-list/vue.js +4 -4
  101. package/loading/index.js +2 -2
  102. package/menu/vue.js +1 -1
  103. package/milestone/index.js +6 -45
  104. package/modal/index.js +5 -5
  105. package/month-range/index.js +45 -5
  106. package/month-range/vue.js +19 -15
  107. package/month-table/index.js +5 -5
  108. package/month-table/vue.js +1 -1
  109. package/nav-menu/index.js +7 -7
  110. package/notify/index.js +3 -3
  111. package/numeric/index.js +5 -5
  112. package/option/index.js +1 -1
  113. package/option/vue.js +2 -1
  114. package/package.json +4 -3
  115. package/pager/index.js +28 -16
  116. package/pager/vue.js +27 -16
  117. package/panel/index.js +1 -1
  118. package/picker/index.js +11 -11
  119. package/picker/vue.js +2 -2
  120. package/picker-column/index.js +1 -1
  121. package/pop-upload/vue.js +1 -1
  122. package/popconfirm/vue.js +1 -1
  123. package/popeditor/index.js +6 -6
  124. package/popeditor/vue.js +2 -2
  125. package/popover/index.js +3 -3
  126. package/popover/vue.js +1 -1
  127. package/popup/index.js +3 -3
  128. package/pull-refresh/index.js +1 -1
  129. package/pull-refresh-mobile-first/index.js +1 -1
  130. package/pull-refresh-mobile-first/vue.js +4 -4
  131. package/quarter-panel/index.js +2 -2
  132. package/quarter-panel/vue.js +1 -1
  133. package/radio-group/index.js +1 -1
  134. package/rate/index.js +1 -1
  135. package/rate/vue.js +1 -1
  136. package/recycle-scroller/index.js +2 -2
  137. package/recycle-scroller/vue.js +1 -1
  138. package/rich-text/index.js +1 -1
  139. package/rich-text/table-module.js +2 -2
  140. package/river/river.js +1 -1
  141. package/river/vue.js +1 -1
  142. package/scrollbar/vue-bar.js +1 -1
  143. package/scrollbar/vue.js +1 -1
  144. package/search/index.js +3 -3
  145. package/select/index.js +26 -22
  146. package/select/vue.js +8 -7
  147. package/select-dropdown/vue.js +5 -5
  148. package/selected-box/index.js +1 -1
  149. package/signature/index.js +1 -1
  150. package/signature/vue.js +2 -2
  151. package/skeleton/index.js +1 -1
  152. package/slider/index.js +4 -4
  153. package/slider-button-group/slide-button.js +2 -2
  154. package/split/index.js +2 -2
  155. package/split/vue.js +1 -1
  156. package/statistic/index.js +1 -1
  157. package/steps/index.js +2 -3
  158. package/steps/slide-bar.js +2 -2
  159. package/sticky/vue.js +4 -4
  160. package/tab-bar/index.js +2 -2
  161. package/tab-item-mf/vue.js +1 -1
  162. package/tab-nav/index.js +4 -4
  163. package/tabbar/index.js +1 -1
  164. package/tabbar/vue.js +1 -1
  165. package/tabbar-item/index.js +1 -1
  166. package/tabs-mf/index.js +5 -5
  167. package/tabs-mf/vue-bar.js +1 -1
  168. package/tabs-mf/vue-swipe.js +1 -1
  169. package/tabs-mf/vue.js +2 -2
  170. package/tabs-mf/wheel.js +3 -3
  171. package/tag-group/vue.js +2 -2
  172. package/tall-storage/index.js +1 -1
  173. package/tall-storage/vue.js +1 -1
  174. package/time/index.js +1 -1
  175. package/time/vue.js +1 -1
  176. package/time-line/index.js +1 -1
  177. package/time-line-new/index.js +1 -1
  178. package/time-panel/index.js +2 -2
  179. package/time-panel/vue.js +1 -1
  180. package/time-range/index.js +1 -1
  181. package/time-range/vue.js +1 -1
  182. package/time-spinner/index.js +4 -4
  183. package/time-spinner/vue.js +1 -1
  184. package/timeline-item/index.js +1 -1
  185. package/toggle-menu/index.js +1 -1
  186. package/tooltip/index.js +2 -2
  187. package/tooltip/vue.js +2 -2
  188. package/top-box/index.js +3 -3
  189. package/transfer/index.js +1 -1
  190. package/transfer-panel/index.js +1 -1
  191. package/tree/index.js +9 -9
  192. package/tree/vue.js +2 -2
  193. package/tree-node/index.js +1 -1
  194. package/tree-node/vue.js +1 -1
  195. package/tree-select/index.js +1 -1
  196. package/types/async-flowchart.type.d.ts +2 -14
  197. package/types/breadcrumb-item.type.d.ts +5 -1
  198. package/types/breadcrumb.type.d.ts +5 -1
  199. package/types/button-group.type.d.ts +5 -1
  200. package/types/button.type.d.ts +1 -1
  201. package/types/cascader.type.d.ts +6 -1
  202. package/types/date-table.type.d.ts +1 -120
  203. package/types/dropdown.type.d.ts +1 -1
  204. package/types/label.type.d.ts +1 -53
  205. package/types/loading.type.d.ts +12 -0
  206. package/types/numeric.type.d.ts +3 -22
  207. package/types/pager.type.d.ts +12 -7
  208. package/types/popconfirm.type.d.ts +2 -0
  209. package/types/steps.type.d.ts +1 -0
  210. package/types/tag-group.type.d.ts +2 -14
  211. package/types/tag.type.d.ts +4 -4
  212. package/types/tooltip.type.d.ts +3 -13
  213. package/types/user-head.type.d.ts +0 -4
  214. package/upload/index.js +1 -1
  215. package/upload-list/index.js +1 -1
  216. package/upload-list/vue.js +4 -4
  217. package/user/index.js +7 -7
  218. package/user/vue.js +15 -2
  219. package/user-contact/vue.js +2 -2
  220. package/virtual-scroll-box/index.js +2 -2
  221. package/wizard/index.js +3 -3
  222. package/year-range/index.js +61 -11
  223. package/year-range/vue.js +33 -20
  224. package/year-table/index.js +7 -5
  225. package/avatar/index.js +0 -30
  226. package/avatar/vue.js +0 -22
  227. package/common/array.js +0 -115
  228. package/common/bigInt.js +0 -315
  229. package/common/browser.js +0 -81
  230. package/common/calendar/calendar.js +0 -97
  231. package/common/dataset/index.js +0 -99
  232. package/common/date.js +0 -354
  233. package/common/decimal.js +0 -155
  234. package/common/deps/ResizeObserver.js +0 -456
  235. package/common/deps/after-leave.js +0 -27
  236. package/common/deps/clickoutside.js +0 -75
  237. package/common/deps/date-util.js +0 -255
  238. package/common/deps/date.js +0 -286
  239. package/common/deps/debounce.js +0 -8
  240. package/common/deps/eSpaceCtrl.js +0 -304
  241. package/common/deps/fastdom/async.js +0 -41
  242. package/common/deps/fastdom/index.js +0 -9
  243. package/common/deps/fastdom/sandbox.js +0 -53
  244. package/common/deps/fastdom/singleton.js +0 -88
  245. package/common/deps/fullscreen/apis.js +0 -143
  246. package/common/deps/fullscreen/screenfull.js +0 -165
  247. package/common/deps/memorize.js +0 -124
  248. package/common/deps/observe-visibility.js +0 -106
  249. package/common/deps/popper.js +0 -613
  250. package/common/deps/repeat-click.js +0 -29
  251. package/common/deps/resize-event.js +0 -39
  252. package/common/deps/scroll-into-view.js +0 -29
  253. package/common/deps/scrollbar-width.js +0 -33
  254. package/common/deps/throttle.js +0 -45
  255. package/common/deps/touch-emulator.js +0 -103
  256. package/common/deps/touch.js +0 -37
  257. package/common/deps/tree-model/node.js +0 -475
  258. package/common/deps/tree-model/tree-store.js +0 -312
  259. package/common/deps/tree-model/util.js +0 -24
  260. package/common/deps/upload-ajax.js +0 -81
  261. package/common/deps/useEventListener.js +0 -54
  262. package/common/deps/useInstanceSlots.js +0 -22
  263. package/common/deps/useRect.js +0 -25
  264. package/common/deps/useRelation.js +0 -89
  265. package/common/deps/useTouch.js +0 -68
  266. package/common/deps/useUserAgent.js +0 -16
  267. package/common/deps/useWindowSize.js +0 -23
  268. package/common/deps/vue-emitter.js +0 -34
  269. package/common/deps/vue-popper.js +0 -177
  270. package/common/deps/vue-popup.js +0 -138
  271. package/common/event.js +0 -46
  272. package/common/form/const.js +0 -10
  273. package/common/function.js +0 -28
  274. package/common/global.js +0 -11
  275. package/common/index.js +0 -259
  276. package/common/object.js +0 -227
  277. package/common/prop-util.js +0 -43
  278. package/common/runtime.js +0 -79
  279. package/common/string.js +0 -417
  280. package/common/type.js +0 -66
  281. package/common/validate/index.js +0 -10
  282. package/common/validate/messages.js +0 -65
  283. package/common/validate/rules/enum.js +0 -12
  284. package/common/validate/rules/index.js +0 -18
  285. package/common/validate/rules/pattern.js +0 -20
  286. package/common/validate/rules/range.js +0 -52
  287. package/common/validate/rules/required.js +0 -11
  288. package/common/validate/rules/type.js +0 -100
  289. package/common/validate/rules/whitespace.js +0 -10
  290. package/common/validate/schema.js +0 -290
  291. package/common/validate/util.js +0 -211
  292. package/common/validate/validations/array.js +0 -22
  293. package/common/validate/validations/date.js +0 -31
  294. package/common/validate/validations/enum.js +0 -22
  295. package/common/validate/validations/float.js +0 -22
  296. package/common/validate/validations/index.js +0 -46
  297. package/common/validate/validations/integer.js +0 -22
  298. package/common/validate/validations/method.js +0 -21
  299. package/common/validate/validations/number.js +0 -25
  300. package/common/validate/validations/pattern.js +0 -21
  301. package/common/validate/validations/required.js +0 -11
  302. package/common/validate/validations/string.js +0 -33
  303. package/common/validate/validations/type.js +0 -29
  304. package/index-bar/index.js +0 -66
  305. package/index-bar/vue.js +0 -73
  306. package/index-bar-anchor/vue.js +0 -16
  307. package/label/index.js +0 -56
  308. package/label/vue.js +0 -26
  309. package/list/index.js +0 -13
  310. package/list/vue.js +0 -17
  311. package/mask/index.js +0 -13
  312. package/mask/vue.js +0 -18
  313. package/mini-picker/index.js +0 -165
  314. package/mini-picker/vue.js +0 -122
  315. package/multi-select/index.js +0 -394
  316. package/multi-select/vue.js +0 -113
  317. package/multi-select-item/index.js +0 -23
  318. package/multi-select-item/vue.js +0 -31
  319. package/toast/index.js +0 -7
  320. package/toast/vue.js +0 -19
  321. package/types/toast.type.d.ts +0 -63
  322. package/wheel/index.js +0 -165
  323. package/wheel/vue.js +0 -79
@@ -1,6 +1,6 @@
1
1
  import "../chunk-G2ADBYYC.js";
2
2
  import { xss } from "@opentiny/utils";
3
- import { addResizeListener, removeResizeListener } from "../common/deps/resize-event";
3
+ import { addResizeListener, removeResizeListener } from "@opentiny/utils";
4
4
  const parsePercentage = () => (val) => parseInt(val, 10);
5
5
  const handleClick = ({ props, api, parent }) => (e, file) => {
6
6
  e.preventDefault();
@@ -23,9 +23,9 @@ import {
23
23
  getNotSuccessFiles
24
24
  } from "./index";
25
25
  import { getToken, initService } from "../file-upload";
26
- import { formatFileSize } from "../common/string";
26
+ import { formatFileSize } from "@opentiny/utils";
27
27
  import { getApi } from "../file-upload/vue";
28
- import { isBrowser } from "../common/browser";
28
+ import { isServer } from "@opentiny/utils";
29
29
  const api = [
30
30
  "t",
31
31
  "state",
@@ -52,7 +52,7 @@ const renderless = (props, { reactive, onMounted, onUnmounted, watch, inject, co
52
52
  var _a, _b, _c, _d, _e;
53
53
  const api2 = { getApi };
54
54
  parent = inject("uploader").$children[0];
55
- const constants = isBrowser ? parent.$constants : null;
55
+ const constants = !isServer ? parent.$constants : null;
56
56
  const $service = initService({ props, service });
57
57
  const { current } = useBreakpoint();
58
58
  const state = reactive({
@@ -60,7 +60,7 @@ const renderless = (props, { reactive, onMounted, onUnmounted, watch, inject, co
60
60
  shows: false,
61
61
  currentBreakpoint: current,
62
62
  progressType: ((_a = designConfig == null ? void 0 : designConfig.state) == null ? void 0 : _a.progressType) || "line",
63
- progressWidth: (designConfig == null ? void 0 : designConfig.state) && Object.hasOwnProperty.call(designConfig.state, "progressWidth") ? designConfig.state.progressWidth : "68",
63
+ progressWidth: (designConfig == null ? void 0 : designConfig.state) && Object.hasOwnProperty.call(designConfig.state, "progressWidth") ? designConfig.state.progressWidth : 68,
64
64
  progressStrokeWidth: ((_b = designConfig == null ? void 0 : designConfig.state) == null ? void 0 : _b.progressStrokeWidth) || 4,
65
65
  tooltipDisabled: (_d = (_c = designConfig == null ? void 0 : designConfig.state) == null ? void 0 : _c.tooltipDisabled) != null ? _d : false,
66
66
  closeComponent: ((_e = designConfig == null ? void 0 : designConfig.icons) == null ? void 0 : _e.closeComponent) || "icon-del",
package/user/index.js CHANGED
@@ -2,11 +2,11 @@ import {
2
2
  __spreadProps,
3
3
  __spreadValues
4
4
  } from "../chunk-G2ADBYYC.js";
5
- import debounce from "../common/deps/debounce";
6
- import { toDateStr } from "../common/date";
7
- import { toJsonStr } from "../common/object";
8
- import { toJson } from "../common/string";
9
- import { log } from "@opentiny/utils";
5
+ import { debounce } from "@opentiny/utils";
6
+ import { toDateStr } from "@opentiny/utils";
7
+ import { toJsonStr } from "@opentiny/utils";
8
+ import { toJson } from "@opentiny/utils";
9
+ import { logger } from "@opentiny/utils";
10
10
  const toLowerCase = (val) => {
11
11
  return typeof val === "string" ? val.toLowerCase() : val;
12
12
  };
@@ -111,7 +111,7 @@ const request = {
111
111
  }
112
112
  });
113
113
  });
114
- errors.length && log.logger.warn(`user [${errors.join(",")}] not found`);
114
+ errors.length && logger.warn(`user [${errors.join(",")}] not found`);
115
115
  this.clearRequest();
116
116
  }
117
117
  }
@@ -207,7 +207,7 @@ const updateOptions = ({ props, state, nextTick }) => (usersList) => {
207
207
  return nextTick();
208
208
  };
209
209
  const autoSelect = ({ props, state, nextTick }) => (usersList) => {
210
- if (!usersList.length || props.multiple && props.multipleLimit && state.user.length >= props.multipleLimit) {
210
+ if (!props.autoSelect || !usersList.length || props.multiple && props.multipleLimit && state.user.length >= props.multipleLimit) {
211
211
  return nextTick();
212
212
  }
213
213
  const values = props.multiple ? [].concat(state.user) : [];
package/user/vue.js CHANGED
@@ -21,7 +21,7 @@ import {
21
21
  syncCacheIds
22
22
  } from "./index";
23
23
  const api = ["state", "handleBlur", "searchMethod", "userChange", "visibleChange", "useSortable", "filter"];
24
- const renderless = (props, { reactive, watch, computed, provide }, { emit, nextTick, vm, service, constants, dispatch }) => {
24
+ const renderless = (props, { reactive, watch, computed, provide }, { emit, nextTick, vm, service, constants, dispatch, useBreakpoint, isMobileFirstMode }) => {
25
25
  const api2 = {};
26
26
  const $service = initService({ props, service });
27
27
  const state = reactive({
@@ -36,9 +36,11 @@ const renderless = (props, { reactive, watch, computed, provide }, { emit, nextT
36
36
  sortable: null,
37
37
  overflow: false,
38
38
  addevnet: false,
39
+ device: "",
39
40
  batch: props.batch === false ? false : props.batch || $service.batch,
40
41
  textField: computed(() => api2.computedTextField()),
41
- valueField: computed(() => api2.computedValueField())
42
+ valueField: computed(() => api2.computedValueField()),
43
+ breakpoint: useBreakpoint ? useBreakpoint().current : ""
42
44
  });
43
45
  Object.assign(api2, {
44
46
  state,
@@ -66,6 +68,17 @@ const renderless = (props, { reactive, watch, computed, provide }, { emit, nextT
66
68
  });
67
69
  props.cache && api2.updateCache();
68
70
  watch(() => props.modelValue, api2.initUser, { immediate: true });
71
+ watch(
72
+ () => state.breakpoint,
73
+ (val) => {
74
+ if (val === "default" && isMobileFirstMode) {
75
+ state.device = "mb";
76
+ } else {
77
+ state.device = "pc";
78
+ }
79
+ },
80
+ { immediate: true, deep: true }
81
+ );
69
82
  provide("showContent", props.showTips);
70
83
  provide("tips-max-width", props.maxWidth);
71
84
  return api2;
@@ -1,5 +1,5 @@
1
1
  import "../chunk-G2ADBYYC.js";
2
- import { init } from "../common/deps/eSpaceCtrl";
2
+ import { initEspace } from "@opentiny/utils";
3
3
  import { getUserHref, doUserAction, initEspaceLink, openEspace } from "./index";
4
4
  import { testUID } from "../espace";
5
5
  const api = ["show", "getUserHref", "doUserAction", "initEspaceLink", "openEspace", "testUID"];
@@ -8,7 +8,7 @@ const renderless = (props, { reactive, ref }, { service }) => {
8
8
  const { setting = {} } = service || {};
9
9
  const { widgets = {} } = setting;
10
10
  const eSpaceCtrlDisabled = widgets.ESpaceCtrl && !widgets.ESpaceCtrl.autoLink;
11
- const eSpaceCtrl = eSpaceCtrlDisabled ? {} : init();
11
+ const eSpaceCtrl = eSpaceCtrlDisabled ? {} : initEspace();
12
12
  const state = reactive({
13
13
  initialized: false
14
14
  });
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  __spreadValues
3
3
  } from "../chunk-G2ADBYYC.js";
4
- import getScrollbarSize from "../common/deps/scrollbar-width";
4
+ import { calcScrollWidth } from "@opentiny/utils";
5
5
  const computedBarSize = (props) => () => {
6
6
  let barSize = +props.scrollbarSize;
7
7
  if (isNaN(barSize) || barSize < 0) {
8
- barSize = getScrollbarSize();
8
+ barSize = calcScrollWidth();
9
9
  }
10
10
  return barSize;
11
11
  };
package/wizard/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import "../chunk-G2ADBYYC.js";
2
- import { format } from "../common/date";
3
- import { copyArray, extend } from "../common/object";
4
- import { isObject } from "../common/type";
2
+ import { formatDateByPattern as format } from "@opentiny/utils";
3
+ import { copyArray, extend } from "@opentiny/utils";
4
+ import { isObject } from "@opentiny/utils";
5
5
  const lastStepHandle = ({ state, emit }) => () => {
6
6
  if (state.datas[0].status === state.doing) {
7
7
  return;
@@ -1,6 +1,5 @@
1
1
  import "../chunk-G2ADBYYC.js";
2
- import { isDate, nextYear, nextMonth } from "../common/deps/date-util";
3
- import { DATEPICKER } from "../common";
2
+ import { DATEPICKER, formatDate, isDate1 as isDate, nextYear, nextMonth1 as nextMonth } from "@opentiny/utils";
4
3
  const calcDefaultValue = (value) => {
5
4
  if (Array.isArray(value)) {
6
5
  return [new Date(value[0]), new Date(value[1])];
@@ -58,7 +57,10 @@ const watchDefaultValue = ({ state }) => (data) => {
58
57
  state.rightDate = data && data[1] && left.getFullYear() !== right.getFullYear() && state.unlinkPanels ? right : nextYear(state.leftDate);
59
58
  }
60
59
  };
61
- const handleRangePick = ({ api, state }) => (val, close = true) => {
60
+ const handleRangePick = ({ api, state, props }) => (val, close = true) => {
61
+ if (props.readonly) {
62
+ return;
63
+ }
62
64
  const maxDate = val.maxDate;
63
65
  const minDate = val.minDate;
64
66
  if (state.minDate === minDate && state.maxDate === maxDate) {
@@ -78,11 +80,24 @@ const handleRangePick = ({ api, state }) => (val, close = true) => {
78
80
  }
79
81
  api.handleConfirm();
80
82
  };
81
- const handleShortcutClick = (api) => (shortcutEvent) => {
83
+ const handleShortcutClick = (state, api, props) => (shortcutEvent) => {
82
84
  if (shortcutEvent.onClick) {
83
85
  const choose = {
84
86
  $emit: (type, [start, end]) => {
85
- api.doPick(start, end);
87
+ var _a;
88
+ if ((_a = props.shortcuts) == null ? void 0 : _a.length) {
89
+ state.value = [start, end];
90
+ state.leftStartYear = Math.floor(start.getFullYear() / 10) * 10;
91
+ state.rightStartYear = state.leftStartYear + DATEPICKER.PanelYearNum;
92
+ state.leftDate = start;
93
+ state.rightDate = end;
94
+ api.handleRangePick({
95
+ minDate: isDate(start) ? start.getFullYear() : start,
96
+ maxDate: isDate(end) ? end.getFullYear() : end
97
+ });
98
+ } else {
99
+ api.doPick(start, end);
100
+ }
86
101
  }
87
102
  };
88
103
  shortcutEvent.onClick(choose);
@@ -91,15 +106,36 @@ const handleShortcutClick = (api) => (shortcutEvent) => {
91
106
  const doPick = (emit) => (begin, end) => {
92
107
  emit("pick", [begin, end], false);
93
108
  };
94
- const leftPrevYear = (state) => () => {
95
- state.leftStartYear = state.leftStartYear - DATEPICKER.PanelYearNum * 2;
109
+ const leftPrevYear = (state, api) => () => {
110
+ state.leftStartYear = state.leftStartYear - DATEPICKER.PanelYearNum;
111
+ if (!state.unlinkPanels) {
112
+ api.rightPrevYear();
113
+ }
96
114
  };
97
- const rightNextYear = (state) => () => {
98
- state.leftStartYear = state.leftStartYear + DATEPICKER.PanelYearNum * 2;
115
+ const leftNextYear = (state) => () => {
116
+ state.leftStartYear = state.leftStartYear + DATEPICKER.PanelYearNum;
99
117
  };
100
- const handleConfirm = ({ api, emit, state }) => (show = false) => {
118
+ const rightPrevYear = (state) => () => {
119
+ state.rightStartYear = state.rightStartYear - DATEPICKER.PanelYearNum;
120
+ };
121
+ const rightNextYear = (state, api) => () => {
122
+ state.rightStartYear = state.rightStartYear + DATEPICKER.PanelYearNum;
123
+ if (!state.unlinkPanels) {
124
+ api.leftNextYear();
125
+ }
126
+ };
127
+ const handleConfirm = ({ api, emit, state, t }) => (show = false) => {
101
128
  const { minDate, maxDate } = state;
102
- api.isValidValue([minDate, maxDate]) && emit("pick", [new Date(minDate, 0, 2), new Date(maxDate, 0, 2)], show);
129
+ const newMin = minDate ? new Date(minDate, 0, 2) : null;
130
+ const newMax = maxDate ? new Date(maxDate, 0, 2) : null;
131
+ if (api.isValidValue([newMin, newMax])) {
132
+ emit("pick", [newMin, newMax], show);
133
+ const defaultFormat = DATEPICKER.DateFormats.year;
134
+ const start = formatDate(newMin, defaultFormat, t);
135
+ const end = formatDate(newMax, defaultFormat, t);
136
+ emit("update:modelValue", [start, end]);
137
+ emit("select-change", [start, end]);
138
+ }
103
139
  };
104
140
  const isValidValue = (state) => (data) => {
105
141
  return data && Array.isArray(data) && data[1] && data[0] && isDate(data[1]) && isDate(data[0]) && data[0] <= data[1] && (typeof state.disabledDate === "function" ? !state.disabledDate(data[1]) && !state.disabledDate(data[0]) : true);
@@ -108,6 +144,17 @@ const resetView = (state) => () => {
108
144
  state.maxDate = state.value && isDate(state.value[0]) ? new Date(state.value[1]) : null;
109
145
  state.minDate = state.value && isDate(state.value[0]) ? new Date(state.value[0]) : null;
110
146
  };
147
+ const watchModelValue = ({ state }) => (val) => {
148
+ if ((val == null ? void 0 : val.length) === 2) {
149
+ const start = new Date(val[0], 0, 2);
150
+ const end = new Date(val[1], 0, 2);
151
+ state.value = [start, end];
152
+ state.minDate = start;
153
+ state.maxDate = end;
154
+ state.leftDate = start;
155
+ state.rightDate = end;
156
+ }
157
+ };
111
158
  export {
112
159
  calcDefaultValue,
113
160
  doPick,
@@ -117,9 +164,12 @@ export {
117
164
  handleRangePick,
118
165
  handleShortcutClick,
119
166
  isValidValue,
167
+ leftNextYear,
120
168
  leftPrevYear,
121
169
  resetView,
122
170
  rightNextYear,
171
+ rightPrevYear,
123
172
  watchDefaultValue,
173
+ watchModelValue,
124
174
  watchValue
125
175
  };
package/year-range/vue.js CHANGED
@@ -2,32 +2,38 @@ import "../chunk-G2ADBYYC.js";
2
2
  import {
3
3
  handleChangeRange,
4
4
  resetView,
5
+ rightPrevYear,
5
6
  rightNextYear,
6
7
  isValidValue,
7
8
  handleConfirm,
8
9
  leftPrevYear,
10
+ leftNextYear,
9
11
  watchValue,
10
12
  handleShortcutClick,
11
13
  watchDefaultValue,
12
14
  handleRangePick,
13
15
  handleClear,
14
- doPick
16
+ doPick,
17
+ watchModelValue
15
18
  } from "./index";
16
- import { DATEPICKER } from "../common";
17
- import { nextYear } from "../common/deps/date-util";
19
+ import { DATEPICKER, nextYear } from "@opentiny/utils";
18
20
  const api = [
19
21
  "state",
22
+ "rightPrevYear",
20
23
  "rightNextYear",
21
24
  "handleRangePick",
22
25
  "handleShortcutClick",
23
26
  "handleChangeRange",
24
- "leftPrevYear"
27
+ "leftPrevYear",
28
+ "leftNextYear",
29
+ "watchModelValue"
25
30
  ];
26
- const initState = ({ reactive, computed, api: api2, t }) => {
31
+ const initState = ({ reactive, computed, api: api2, props, t }) => {
32
+ const initStartYear = Math.floor((/* @__PURE__ */ new Date()).getFullYear() / 10) * 10;
27
33
  const state = reactive({
28
34
  selectionMode: DATEPICKER.YearRange,
29
- popperClass: "",
30
- value: [],
35
+ popperClass: props.popperClass || "",
36
+ value: props.modelValue || [],
31
37
  defaultValue: null,
32
38
  defaultTime: null,
33
39
  minDate: "",
@@ -35,14 +41,17 @@ const initState = ({ reactive, computed, api: api2, t }) => {
35
41
  leftDate: /* @__PURE__ */ new Date(),
36
42
  rightDate: nextYear(/* @__PURE__ */ new Date()),
37
43
  rangeState: { startDate: null, endDate: null, selecting: false, row: null, column: null },
38
- shortcuts: "",
44
+ shortcuts: props.shortcuts || [],
39
45
  visible: "",
40
- disabledDate: "",
41
- format: "",
46
+ disabledDate: props.disabledDate || null,
47
+ format: props.format || "",
42
48
  arrowControl: false,
43
- unlinkPanels: false,
44
- leftStartYear: Math.floor((/* @__PURE__ */ new Date()).getFullYear() / 10) * 10,
45
- rightStartYear: computed(() => state.leftStartYear + DATEPICKER.PanelYearNum),
49
+ unlinkPanels: props.unlinkPanels || false,
50
+ leftStartYear: initStartYear,
51
+ rightStartYear: initStartYear + DATEPICKER.PanelYearNum,
52
+ enableYearArrow: computed(
53
+ () => props.unlinkPanels && state.rightStartYear > state.leftStartYear + DATEPICKER.PanelYearNum
54
+ ),
46
55
  btnDisabled: computed(
47
56
  () => !(state.minDate && state.maxDate && !state.selecting && api2.isValidValue([state.minDate, state.maxDate]))
48
57
  ),
@@ -62,22 +71,26 @@ const initState = ({ reactive, computed, api: api2, t }) => {
62
71
  const renderless = (props, { computed, reactive, watch }, { t, emit: $emit }) => {
63
72
  const emit = props.emitter ? props.emitter.emit : $emit;
64
73
  const api2 = {};
65
- const state = initState({ reactive, computed, api: api2, t });
74
+ const state = initState({ reactive, computed, api: api2, props, t });
66
75
  Object.assign(api2, {
67
76
  state,
68
77
  doPick: doPick(emit),
69
78
  resetView: resetView(state),
70
79
  watchValue: watchValue({ state }),
71
80
  isValidValue: isValidValue(state),
72
- leftPrevYear: leftPrevYear(state),
73
- rightNextYear: rightNextYear(state),
81
+ leftPrevYear: leftPrevYear(state, api2),
82
+ leftNextYear: leftNextYear(state),
83
+ rightPrevYear: rightPrevYear(state),
84
+ rightNextYear: rightNextYear(state, api2),
74
85
  handleClear: handleClear({ emit, state }),
75
- handleChangeRange: handleChangeRange(state),
76
- handleShortcutClick: handleShortcutClick(api2),
86
+ handleChangeRange: handleChangeRange(state, props),
87
+ handleShortcutClick: handleShortcutClick(state, api2, props),
77
88
  watchDefaultValue: watchDefaultValue({ state }),
78
- handleConfirm: handleConfirm({ api: api2, emit, state }),
79
- handleRangePick: handleRangePick({ api: api2, state, t })
89
+ handleConfirm: handleConfirm({ api: api2, emit, state, props, t }),
90
+ handleRangePick: handleRangePick({ api: api2, state, props, t }),
91
+ watchModelValue: watchModelValue({ state })
80
92
  });
93
+ watch(() => props.modelValue, api2.watchModelValue, { immediate: true });
81
94
  watch(() => state.value, api2.watchValue);
82
95
  watch(() => state.defaultValue, api2.watchDefaultValue);
83
96
  return api2;
@@ -1,16 +1,15 @@
1
1
  import "../chunk-G2ADBYYC.js";
2
- import { toDate } from "../common/date";
2
+ import { DATEPICKER, toDate1 } from "@opentiny/utils";
3
3
  import { arrayFindIndex, coerceTruthyValueToArray, arrayFind } from "../date-table";
4
- import { DATEPICKER } from "../common";
5
4
  const getIsDefault = ({ props }) => (year) => {
6
5
  const { defaultValue } = props;
7
6
  return Array.isArray(defaultValue) ? defaultValue.some((v) => v && v.getFullYear() === year) : defaultValue && defaultValue.getFullYear() === year;
8
7
  };
9
8
  const getIsDisabled = ({ props }) => (year) => {
10
- return props.selectionMode.startsWith("year") && typeof props.disabledDate === "function" ? props.disabledDate(new Date(year, 0, 1, 0)) : false;
9
+ return typeof props.disabledDate === "function" ? props.disabledDate(new Date(year, 0, 1, 0)) : false;
11
10
  };
12
11
  const getIsCurrent = ({ props }) => (year) => {
13
- const execDate = typeof props.value === "object" ? props.value : toDate(props.value);
12
+ const execDate = typeof props.value === "object" ? props.value : toDate1(props.value);
14
13
  return arrayFindIndex(coerceTruthyValueToArray(execDate), (date) => date.getFullYear() === year) >= 0;
15
14
  };
16
15
  const clearDate = (date) => {
@@ -93,7 +92,10 @@ const watchDate = ({ api, props }) => (value, oldvalue) => {
93
92
  };
94
93
  const handleYearTableClick = ({ emit, props }) => (event) => {
95
94
  const target = event.target;
96
- const { selectionMode } = props;
95
+ const { selectionMode, readonly } = props;
96
+ if (readonly) {
97
+ return;
98
+ }
97
99
  if (target.tagName === "A") {
98
100
  if (target.hasAttribute("aria-disabled")) {
99
101
  return;
package/avatar/index.js DELETED
@@ -1,30 +0,0 @@
1
- import "../chunk-G2ADBYYC.js";
2
- const handleError = ({ props, state }) => () => {
3
- const { error } = props;
4
- const errorFlag = error ? error() : void 0;
5
- if (errorFlag !== false) {
6
- if (state.isSrcImageExist) {
7
- state.isSrcImageExist = false;
8
- } else {
9
- state.isDefaultImageExist = false;
10
- }
11
- }
12
- };
13
- const computedAvatarClass = (contants) => (props) => {
14
- const { size, icon, shape } = props;
15
- let classList = [contants.COMPONENT_PREFIX];
16
- if (size && typeof size === "string") {
17
- classList.push(`${contants.COMPONENT_PREFIX}--${size}`);
18
- }
19
- if (icon) {
20
- classList.push(`${contants.COMPONENT_PREFIX}--${contants.icon}`);
21
- }
22
- if (shape) {
23
- classList.push(`${contants.COMPONENT_PREFIX}--${shape}`);
24
- }
25
- return classList.join(" ");
26
- };
27
- export {
28
- computedAvatarClass,
29
- handleError
30
- };
package/avatar/vue.js DELETED
@@ -1,22 +0,0 @@
1
- import "../chunk-G2ADBYYC.js";
2
- import { computedAvatarClass, handleError } from "./index";
3
- const api = ["state", "handleError"];
4
- const renderless = (props, { computed, reactive }, { constants }) => {
5
- const api2 = {
6
- computedAvatarClass: computedAvatarClass(constants)
7
- };
8
- const state = reactive({
9
- isSrcImageExist: true,
10
- isDefaultImageExist: true,
11
- avatarClass: computed(() => api2.computedAvatarClass(props))
12
- });
13
- Object.assign(api2, {
14
- state,
15
- handleError: handleError({ props, state })
16
- });
17
- return api2;
18
- };
19
- export {
20
- api,
21
- renderless
22
- };
package/common/array.js DELETED
@@ -1,115 +0,0 @@
1
- import {
2
- __spreadValues
3
- } from "../chunk-G2ADBYYC.js";
4
- import { SORT } from "./index";
5
- import { isSame } from "./type";
6
- import { getObj } from "./object";
7
- const indexOf = (arr, data, predicate = isSame) => {
8
- if (Array.isArray(arr) && typeof predicate === "function") {
9
- for (let i = 0, len = arr.length; i < len; i++) {
10
- if (predicate(arr[i], data)) {
11
- return i;
12
- }
13
- }
14
- }
15
- return -1;
16
- };
17
- const find = (arr, predicate) => {
18
- const index = indexOf(arr, void 0, predicate);
19
- return index !== -1 ? arr[index] : void 0;
20
- };
21
- const remove = (arr, data, count = 1) => {
22
- if (Array.isArray(arr) && arr.length) {
23
- const index = indexOf(arr, data);
24
- if (index > -1) {
25
- arr.splice(index, count);
26
- }
27
- }
28
- return arr;
29
- };
30
- const sort = (arr, field, sort2 = SORT.Asc) => {
31
- if (Array.isArray(arr) && arr.length > 1) {
32
- arr.sort((x, y) => {
33
- const compare = sort2 === SORT.Asc ? [1, -1] : [-1, 1];
34
- const xField = getObj(x, field);
35
- const yField = getObj(y, field);
36
- if (isNaN(xField)) {
37
- return sort2 === SORT.Asc ? 1 : -1;
38
- } else if (isNaN(yField)) {
39
- return -1;
40
- }
41
- return xField > yField ? compare[0] : compare[1];
42
- });
43
- }
44
- return arr;
45
- };
46
- const push = (arr, data) => {
47
- if (Array.isArray(arr) && !arr.some((value) => isSame(value, data))) {
48
- arr.push(data);
49
- }
50
- return arr;
51
- };
52
- const unique = (arr) => {
53
- if (Array.isArray(arr)) {
54
- const array = [];
55
- for (let i = 0, len = arr.length; i < len; i++) {
56
- const value = arr[i];
57
- if (indexOf(array, value) === -1) {
58
- array.push(value);
59
- }
60
- }
61
- return array;
62
- }
63
- return arr;
64
- };
65
- const extend = (to, _from) => {
66
- Object.keys(_from).forEach((key) => to[key] = _from[key]);
67
- return to;
68
- };
69
- const toObject = (arr) => {
70
- const res = {};
71
- for (let i = 0; i < arr.length; i++) {
72
- if (arr[i]) {
73
- extend(res, arr[i]);
74
- }
75
- }
76
- return res;
77
- };
78
- const transformPidToChildren = (data, pidName = "pId", childrenName = "children", idName = "id") => {
79
- const result = [];
80
- Array.isArray(data) && data.forEach((item) => {
81
- if (item[pidName] == "0") {
82
- result.push(item);
83
- } else {
84
- const parent = find(data, (i) => i[idName] == item[pidName]);
85
- if (!parent) {
86
- return;
87
- }
88
- if (!parent[childrenName]) {
89
- parent[childrenName] = [];
90
- }
91
- parent[childrenName].push(item);
92
- }
93
- delete item[pidName];
94
- });
95
- return result;
96
- };
97
- const transformTreeData = (data, key = "id", parentKey = "pId") => {
98
- if (!Array.isArray(data)) {
99
- data = [data];
100
- }
101
- data = data.map((item) => __spreadValues({}, item));
102
- const treeData = transformPidToChildren(data, parentKey, "children", key);
103
- return treeData;
104
- };
105
- export {
106
- find,
107
- indexOf,
108
- push,
109
- remove,
110
- sort,
111
- toObject,
112
- transformPidToChildren,
113
- transformTreeData,
114
- unique
115
- };