@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
@@ -1,204 +1,5 @@
1
1
  import "../../chunk-G2ADBYYC.js";
2
- import { KEY_CODE } from "../index";
3
- import { addClass, removeClass, on } from "./dom";
4
- const isServer = typeof window === "undefined";
5
- const instances = {};
6
- const classes = {
7
- leave: "v-modal-leave",
8
- enter: "v-modal-enter",
9
- modal: "v-modal"
10
- };
11
- const removeStack = (modalStack, id) => {
12
- for (let i = modalStack.length - 1; i >= 0; i--) {
13
- if (modalStack[i].id === id) {
14
- modalStack.splice(i, 1);
15
- break;
16
- }
17
- }
18
- };
19
- let getModal;
20
- const PopupManager = {
21
- step: 2,
22
- zIndex: 2e3,
23
- globalScroll: false,
24
- // 是否打开全局滚动监听
25
- modalFade: true,
26
- modalStack: [],
27
- modalDom: null,
28
- // 当前model挂载的div.
29
- hasModal: false,
30
- // 当前是否有Modal
31
- popLockClass: "popup-parent--hidden",
32
- oldBodyBorder: "",
33
- viewportWindow: null,
34
- fixBodyBorder() {
35
- const barWidth = window.innerWidth - document.documentElement.clientWidth;
36
- if (barWidth) {
37
- this.oldBodyBorder = document.documentElement.style.borderRight;
38
- document.body.style.borderRight = `${barWidth}px solid transparent`;
39
- }
40
- },
41
- resetBodyBorder() {
42
- document.body.style.borderRight = this.oldBodyBorder;
43
- this.oldBodyBorder = "";
44
- },
45
- /** 全局反注册 */
46
- deregister: (id) => {
47
- if (id) {
48
- instances[id] = null;
49
- delete instances[id];
50
- }
51
- },
52
- /** 返回全局实例 */
53
- getInstance: (id) => instances[id],
54
- /** 全局注册 仅vue-popup.ts中使用,instance就是vm, 把vm注册到 vm._popupId 这个键值上 */
55
- register: (id, instance) => {
56
- if (id && instance) {
57
- instances[id] = instance;
58
- }
59
- },
60
- nextZIndex: () => {
61
- const zIndex = PopupManager.zIndex;
62
- PopupManager.zIndex += PopupManager.step;
63
- return zIndex;
64
- },
65
- /** 打开遮罩层, 仅vue-popup.ts中使用。 dom = vm.$el 或者 undefined (appendtoBody时) */
66
- openModal(id, zIndex, dom, modalClass, modalFade) {
67
- if (isServer) {
68
- return;
69
- }
70
- if (!id || zIndex === void 0) {
71
- return;
72
- }
73
- this.modalFade = modalFade;
74
- for (let i = 0, len = this.modalStack.length; i < len; i++) {
75
- const modal = this.modalStack[i];
76
- if (modal.id === id) {
77
- return;
78
- }
79
- }
80
- const modalDom = getModal();
81
- addClass(modalDom, classes.modal);
82
- if (this.modalFade && !PopupManager.hasModal) {
83
- addClass(modalDom, classes.enter);
84
- }
85
- if (modalClass) {
86
- const classArr = modalClass.trim().split(/\s+/);
87
- classArr.forEach((cls) => addClass(modalDom, cls));
88
- }
89
- setTimeout(() => {
90
- removeClass(modalDom, classes.enter);
91
- }, 200);
92
- if (zIndex) {
93
- modalDom.style.zIndex = zIndex.toString();
94
- }
95
- modalDom.style.display = "";
96
- modalDom.tabIndex = 0;
97
- let parentNode;
98
- if (dom && dom.parentNode && dom.parentNode.nodeType !== 11) {
99
- parentNode = dom.parentNode;
100
- } else {
101
- parentNode = document.body;
102
- }
103
- parentNode.appendChild(modalDom);
104
- this.modalStack.push({ id, zIndex, modalClass });
105
- },
106
- /** 点击背景遮罩层时,调用栈顶的popup,调用它的close() */
107
- doOnModalClick: () => {
108
- const modalStack = PopupManager.modalStack;
109
- const topPopup = modalStack[modalStack.length - 1];
110
- if (!topPopup) {
111
- return;
112
- }
113
- const instance = PopupManager.getInstance(topPopup.id);
114
- if (instance && instance.closeOnClickModal) {
115
- typeof instance.close === "function" && instance.close();
116
- }
117
- },
118
- closeModal(id) {
119
- const modalStack = this.modalStack;
120
- const modalDom = getModal();
121
- if (modalStack.length > 0) {
122
- const topPopup = modalStack[modalStack.length - 1];
123
- if (topPopup.id === id) {
124
- if (topPopup.modalClass) {
125
- const classArr = topPopup.modalClass.trim().split(/\s+/);
126
- classArr.forEach((cls) => removeClass(modalDom, cls));
127
- }
128
- modalStack.pop();
129
- const stackSize = modalStack.length;
130
- if (stackSize > 0) {
131
- modalDom.style.zIndex = modalStack[stackSize - 1].zIndex.toString();
132
- }
133
- } else {
134
- removeStack(modalStack, id);
135
- }
136
- }
137
- if (modalStack.length === 0) {
138
- this.modalFade && addClass(modalDom, classes.leave);
139
- removeClass(document.body, this.popLockClass);
140
- this.resetBodyBorder();
141
- setTimeout(() => {
142
- if (modalStack.length === 0) {
143
- if (modalDom.parentNode) {
144
- modalDom.parentNode.removeChild(modalDom);
145
- }
146
- modalDom.style.display = "none";
147
- PopupManager.modalDom = null;
148
- }
149
- removeClass(modalDom, classes.leave);
150
- }, 200);
151
- }
152
- }
153
- };
154
- getModal = () => {
155
- if (isServer) {
156
- return null;
157
- }
158
- let modalDom = PopupManager.modalDom;
159
- if (modalDom) {
160
- PopupManager.hasModal = true;
161
- } else {
162
- PopupManager.hasModal = false;
163
- modalDom = document.createElement("div");
164
- PopupManager.modalDom = modalDom;
165
- modalDom.addEventListener(
166
- "touchmove",
167
- (event) => {
168
- event.preventDefault();
169
- event.stopPropagation();
170
- },
171
- { passive: true }
172
- );
173
- on(modalDom, "click", () => {
174
- PopupManager.doOnModalClick();
175
- });
176
- }
177
- return modalDom;
178
- };
179
- if (!isServer) {
180
- on(window, "keydown", (event) => {
181
- if (event.keyCode === KEY_CODE.Escape) {
182
- const modalStack = PopupManager.modalStack;
183
- if (modalStack.length > 0) {
184
- const topPopup = modalStack[modalStack.length - 1];
185
- if (!topPopup) {
186
- return;
187
- }
188
- const topPopupVm = PopupManager.getInstance(topPopup.id);
189
- if (topPopupVm && topPopupVm.closeOnPressEscape) {
190
- if (topPopupVm.handleClose) {
191
- topPopupVm.handleClose("esc");
192
- } else if (topPopupVm.handleAction) {
193
- topPopupVm.handleAction("cancel");
194
- } else {
195
- topPopupVm.close();
196
- }
197
- }
198
- }
199
- }
200
- });
201
- }
2
+ import { PopupManager } from "@opentiny/utils";
202
3
  var popup_manager_default = PopupManager;
203
4
  export {
204
5
  popup_manager_default as default
@@ -1,5 +1,5 @@
1
1
  import "../chunk-G2ADBYYC.js";
2
- import { isNumber } from "../common/type";
2
+ import { isNumber } from "@opentiny/utils";
3
3
  const computedShowHeader = ({ constants, props }) => () => props.pattern !== constants.SIMPLE;
4
4
  const computedShowFooter = ({ constants, props }) => () => props.pattern === constants.LEGEND || props.pattern === constants.CLASSIC;
5
5
  const computedShowAside = ({ constants, props }) => () => props.pattern !== constants.CLASSIC;
@@ -79,7 +79,7 @@ const computedLeftStyle = ({ constants, props }) => () => {
79
79
  };
80
80
  };
81
81
  const computedShowRight = ({ constants, props }) => () => {
82
- return props.pattern === constants.DEFAULT ? false : true;
82
+ return props.pattern !== constants.DEFAULT;
83
83
  };
84
84
  const computedRightStyle = ({ constants, props }) => () => {
85
85
  return {
package/crop/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import "../chunk-G2ADBYYC.js";
2
- import { on, off } from "../common/deps/dom";
3
- import { toFileSize } from "../common/string";
2
+ import { on, off } from "@opentiny/utils";
3
+ import { toFileSize } from "@opentiny/utils";
4
4
  const watchImageSrc = (state) => (value) => state.src = value;
5
5
  const watchVisible = ({ api, state }) => (value) => {
6
6
  if (value) {
@@ -46,7 +46,7 @@ const closeCrop = ({ emit, state }) => () => {
46
46
  };
47
47
  const createCrop = ({ emit, props, refs, state }) => () => {
48
48
  const Cropper = props.plugin;
49
- const cropImage2 = refs.cropImage;
49
+ const cropImage2 = refs.cropImageRef;
50
50
  state.cropper = new Cropper(cropImage2, {
51
51
  modal: props.modal,
52
52
  guides: props.guides,
package/currency/index.js CHANGED
@@ -2,7 +2,7 @@ import {
2
2
  __spreadValues
3
3
  } from "../chunk-G2ADBYYC.js";
4
4
  import { isUndefined, isNull } from "../grid/static";
5
- import { log } from "../common";
5
+ import { logger } from "@opentiny/utils";
6
6
  const init = ({ state, service, api }) => () => {
7
7
  const { textField, valueField } = service.fields;
8
8
  service.fetchCurrency().then((data) => {
@@ -50,7 +50,7 @@ const fixServiceData = ({ props, service }) => (data) => {
50
50
  if (text) {
51
51
  option[valueField] = text;
52
52
  } else {
53
- log("data error. set it to the default value.", "warn");
53
+ logger.warn("data error. set it to the default value.");
54
54
  option[textField] = option[valueField] = props.currency;
55
55
  }
56
56
  }
@@ -3,28 +3,30 @@ import {
3
3
  __spreadValues
4
4
  } from "../chunk-G2ADBYYC.js";
5
5
  import { getWeekData } from "../picker";
6
- import debounce from "../common/deps/debounce";
7
6
  import {
8
- isDate,
9
- parseDate,
7
+ debounce,
8
+ isDate1,
9
+ parseDate1,
10
10
  modifyDate,
11
11
  modifyTime,
12
12
  clearTime,
13
13
  prevYear,
14
14
  nextYear,
15
15
  prevMonth,
16
- nextMonth,
16
+ nextMonth1,
17
17
  timeWithinRange,
18
18
  clearMilliseconds,
19
19
  modifyWithTimeString,
20
20
  changeYearMonthAndClampDate,
21
21
  formatDate,
22
- extractTimeFormat
23
- } from "../common/deps/date-util";
24
- import { DATEPICKER } from "../common";
25
- import { on, off } from "../common/deps/dom";
26
- import { getDateWithNewTimezone, getLocalTimezone } from "../common/date";
27
- import { fillChar } from "../common/string";
22
+ extractTimeFormat,
23
+ DATEPICKER,
24
+ fillChar,
25
+ on,
26
+ off,
27
+ getDateWithNewTimezone,
28
+ getLocalTimezone
29
+ } from "@opentiny/utils";
28
30
  const getYearLabel = ({ state, t }) => () => {
29
31
  const { YearI18n, Year, PanelYearNum } = DATEPICKER;
30
32
  const yearTranslation = t(YearI18n);
@@ -41,14 +43,14 @@ const watchValue = ({ api, state }) => (value) => {
41
43
  if ([DATEPICKER.Dates, DATEPICKER.Years].includes(state.selectionMode) && state.value) {
42
44
  return;
43
45
  }
44
- if (isDate(value)) {
46
+ if (isDate1(value)) {
45
47
  state.date = state.selectionMode === "week" ? getWeekData(value) : new Date(value);
46
48
  } else {
47
49
  state.date = api.getDefaultValue();
48
50
  }
49
51
  };
50
52
  const watchDefaultValue = ({ state }) => (value) => {
51
- if (!isDate(state.value)) {
53
+ if (!isDate1(state.value)) {
52
54
  state.date = value ? new Date(value) : /* @__PURE__ */ new Date();
53
55
  }
54
56
  };
@@ -118,10 +120,29 @@ const cusEmit = ({ state, emit }) => (value, ...args) => {
118
120
  state.userInputDate = null;
119
121
  state.userInputTime = null;
120
122
  };
121
- const showMonthPicker = ({ state }) => () => state.currentView = DATEPICKER.Month;
122
- const showYearPicker = ({ state }) => () => state.currentView = DATEPICKER.Year;
123
+ const panelEmit = ({ state, emit, t, props }) => (value, ...args) => {
124
+ state.date = value;
125
+ state.value = value;
126
+ let format;
127
+ if (props.type === "month") {
128
+ format = props.format || DATEPICKER.DateFormats.month;
129
+ } else if (props.type === "year") {
130
+ format = props.format || DATEPICKER.DateFormats.year;
131
+ } else {
132
+ format = props.format;
133
+ }
134
+ const formatVal = formatDate(value, format, t);
135
+ emit("select-change", formatVal, ...args);
136
+ emit("update:modelValue", formatVal, ...args);
137
+ };
138
+ const showHeaderPicker = ({ state, props }) => (type) => {
139
+ if (props.readonly) {
140
+ return;
141
+ }
142
+ state.currentView = DATEPICKER[type];
143
+ };
123
144
  const cusPrevMonth = ({ state }) => () => state.date = prevMonth(state.date);
124
- const cusNextMonth = ({ state }) => () => state.date = nextMonth(state.date);
145
+ const cusNextMonth = ({ state }) => () => state.date = nextMonth1(state.date);
125
146
  const cusPrevYear = ({ state }) => () => {
126
147
  if (state.currentView === DATEPICKER.Year) {
127
148
  state.startYear = state.startYear - DATEPICKER.PanelYearNum;
@@ -136,11 +157,25 @@ const cusNextYear = ({ state }) => () => {
136
157
  state.date = nextYear(state.date);
137
158
  }
138
159
  };
139
- const handleShortcutClick = (api) => (shortcut) => {
160
+ const handleShortcutClick = (api, props, state) => (shortcut) => {
140
161
  if (shortcut.onClick) {
141
162
  const picker = {
142
163
  $emit: (type, start, end) => {
143
- api.doPick(start, end);
164
+ var _a;
165
+ if ((_a = props.shortcuts) == null ? void 0 : _a.length) {
166
+ if (props.type === "month") {
167
+ state.date = start;
168
+ api.handleMonthPick(start.getMonth());
169
+ } else if (props.type === "year") {
170
+ state.date = start;
171
+ state.startYear = Math.floor(start.getFullYear() / 10) * 10;
172
+ api.handleYearPick(start.getFullYear());
173
+ } else {
174
+ api.handleDatePick(start, end);
175
+ }
176
+ } else {
177
+ api.doPick(start, end);
178
+ }
144
179
  }
145
180
  };
146
181
  shortcut.onClick(picker);
@@ -150,7 +185,7 @@ const doPick = (emit) => (date) => {
150
185
  emit("pick", date, false);
151
186
  };
152
187
  const handleTimePick = ({ api, state, t }) => (value, visible, first) => {
153
- if (isDate(value)) {
188
+ if (isDate1(value)) {
154
189
  const newDate = state.value ? modifyTime(state.value, value.getHours(), value.getMinutes(), value.getSeconds()) : modifyWithTimeString(api.getDefaultValue(), state.defaultTime, t);
155
190
  state.date = newDate;
156
191
  api.cusEmit(state.date, true);
@@ -164,7 +199,17 @@ const handleTimePick = ({ api, state, t }) => (value, visible, first) => {
164
199
  const handleTimePickClose = (state) => () => {
165
200
  state.timePickerVisible = false;
166
201
  };
167
- const handleMonthPick = ({ api, state }) => (month) => {
202
+ const handleMonthPick = ({ api, state, props, t }) => (month) => {
203
+ if (props.readonly) {
204
+ return;
205
+ }
206
+ if (props.type === DATEPICKER.Month) {
207
+ state.date = modifyDate(state.date, state.date.getFullYear(), month, 2);
208
+ state.value = state.date;
209
+ api.cusEmit(state.date);
210
+ api.panelEmit(state.date, t, props);
211
+ return;
212
+ }
168
213
  if (state.selectionMode === DATEPICKER.Month) {
169
214
  state.date = modifyDate(state.date, state.year, month, 1);
170
215
  api.cusEmit(state.date);
@@ -173,7 +218,10 @@ const handleMonthPick = ({ api, state }) => (month) => {
173
218
  state.currentView = DATEPICKER.Date;
174
219
  }
175
220
  };
176
- const handleDatePick = ({ api, state, t }) => (value) => {
221
+ const handleDatePick = ({ api, state, t, props }) => (value) => {
222
+ if (props.readonly) {
223
+ return;
224
+ }
177
225
  if (state.selectionMode === DATEPICKER.Day) {
178
226
  let newDate = state.value ? modifyDate(state.value, value.getFullYear(), value.getMonth(), value.getDate()) : modifyWithTimeString(value, state.defaultTime, t);
179
227
  if (!api.checkDateWithinRange(newDate)) {
@@ -186,11 +234,13 @@ const handleDatePick = ({ api, state, t }) => (value) => {
186
234
  } else if (state.selectionMode === DATEPICKER.Dates) {
187
235
  api.cusEmit(value, true);
188
236
  }
237
+ api.panelEmit(state.date, t, props);
189
238
  };
190
- const handleYearPick = ({ api, state }) => (value) => {
239
+ const handleYearPick = ({ api, state, props, t }) => (value) => {
191
240
  if (state.selectionMode === DATEPICKER.Year) {
192
241
  state.date = modifyDate(state.date, value, 0, 2);
193
242
  api.cusEmit(state.date);
243
+ api.panelEmit(state.date, t, props);
194
244
  } else if ([DATEPICKER.Years].includes(state.selectionMode)) {
195
245
  state.date = value.map((year) => new Date(year, 0, 2));
196
246
  api.cusEmit(state.date, state.selectionMode === DATEPICKER.YearRange ? value.length < 2 : true);
@@ -326,7 +376,7 @@ const handleKeyControl = ({ state, emit }) => (keyCode) => {
326
376
  }
327
377
  };
328
378
  const handleVisibleTimeChange = ({ api, vm, state, t }) => (value) => {
329
- const time = parseDate(value, state.timeFormat, t);
379
+ const time = parseDate1(value, state.timeFormat, t);
330
380
  if (time && api.checkDateWithinRange(time)) {
331
381
  state.date = modifyDate(time, state.year, state.month, state.monthDate);
332
382
  state.userInputTime = null;
@@ -338,7 +388,7 @@ const handleVisibleTimeChange = ({ api, vm, state, t }) => (value) => {
338
388
  }
339
389
  };
340
390
  const handleVisibleDateChange = ({ api, state, t }) => (value) => {
341
- const date = parseDate(value, state.dateFormat, t);
391
+ const date = parseDate1(value, state.dateFormat, t);
342
392
  if (date) {
343
393
  if (typeof state.disabledDate === "function" && state.disabledDate(date)) {
344
394
  return;
@@ -403,7 +453,13 @@ const getRenderTz = ({ state }) => (value) => {
403
453
  if (!state.showTimezone || !value) {
404
454
  return;
405
455
  }
406
- state.renderTzdata = value[state.lang];
456
+ const lang = state.lang.replace(/[-_]/g, "").toLowerCase();
457
+ Object.keys(value).forEach((key) => {
458
+ if (key.replace(/[-_]/g, "").toLowerCase() === lang) {
459
+ value[lang] = value[key];
460
+ }
461
+ });
462
+ state.renderTzdata = value[lang];
407
463
  if (state.renderTzdata) {
408
464
  const { isServiceTimezone, to } = state.timezone;
409
465
  const selectedTz = state.selectedTz || {};
@@ -470,12 +526,12 @@ export {
470
526
  handleVisibleTimeChange,
471
527
  handleYearPick,
472
528
  isValidValue,
529
+ panelEmit,
473
530
  proxyTimePickerDataProperties,
474
531
  resetView,
475
532
  searchTz,
476
533
  selectTz,
477
- showMonthPicker,
478
- showYearPicker,
534
+ showHeaderPicker,
479
535
  toggleTz,
480
536
  watchDefaultValue,
481
537
  watchSelectionMode,
package/date-panel/vue.js CHANGED
@@ -22,11 +22,11 @@ import {
22
22
  handleLeave,
23
23
  handleEnter,
24
24
  getYearLabel,
25
- showYearPicker,
26
- showMonthPicker,
25
+ showHeaderPicker,
27
26
  handleTimePick,
28
27
  checkDateWithinRange,
29
28
  cusEmit,
29
+ panelEmit,
30
30
  getDefaultValue,
31
31
  isValidValue,
32
32
  handleVisibleDateChange,
@@ -47,8 +47,7 @@ import {
47
47
  getDisabledConfirm,
48
48
  getNowTime
49
49
  } from "./index";
50
- import { getWeekNumber, extractDateFormat } from "../common/deps/date-util";
51
- import { DATEPICKER, DATE } from "../common";
50
+ import { DATEPICKER, DATE, toDate1, getWeekNumber, modifyDate, extractDateFormat } from "@opentiny/utils";
52
51
  const api = [
53
52
  "state",
54
53
  "isValidValue",
@@ -65,8 +64,7 @@ const api = [
65
64
  "handleMonthPick",
66
65
  "handleYearPick",
67
66
  "handleDatePick",
68
- "showMonthPicker",
69
- "showYearPicker",
67
+ "showHeaderPicker",
70
68
  "handleTimePick",
71
69
  "handleEnter",
72
70
  "handleVisibleTimeChange",
@@ -76,23 +74,23 @@ const api = [
76
74
  "handleTimePickClose",
77
75
  "getNowTime"
78
76
  ];
79
- const initState = ({ reactive, computed, api: api2, i18n, designConfig }) => {
77
+ const initState = ({ reactive, computed, api: api2, i18n, designConfig, props }) => {
80
78
  var _a, _b;
81
79
  const state = reactive({
82
- popperClass: "",
80
+ popperClass: props.popperClass || "",
83
81
  date: /* @__PURE__ */ new Date(),
84
82
  value: "",
85
83
  defaultValue: null,
86
84
  defaultTime: null,
87
- showTime: false,
85
+ showTime: props.type === "datetimerange" || false,
88
86
  selectionMode: DATEPICKER.Day,
89
- shortcuts: "",
87
+ shortcuts: props.shortcuts || [],
90
88
  visible: false,
91
89
  currentView: DATEPICKER.Date,
92
- disabledDate: "",
90
+ disabledDate: props.disabledDate || null,
93
91
  cellClassName: "",
94
92
  selectableRange: [],
95
- firstDayOfWeek: 7,
93
+ firstDayOfWeek: props.firstDayOfWeek || 7,
96
94
  showWeekNumber: false,
97
95
  timePickerVisible: false,
98
96
  format: "",
@@ -128,7 +126,41 @@ const initState = ({ reactive, computed, api: api2, i18n, designConfig }) => {
128
126
  state.needChangeTimezoneData = true;
129
127
  return state;
130
128
  };
131
- const initWatch = ({ watch, state, api: api2, nextTick }) => {
129
+ const initWatch = ({ watch, state, api: api2, nextTick, props }) => {
130
+ watch(
131
+ () => props.modelValue,
132
+ (value) => {
133
+ let newVal;
134
+ const val = toDate1(value);
135
+ if (val) {
136
+ const localOffset = val.getTimezoneOffset() * 6e4;
137
+ newVal = toDate1(val - localOffset);
138
+ }
139
+ if (newVal) {
140
+ const newDate = modifyDate(newVal, newVal.getFullYear(), newVal.getMonth(), newVal.getUTCDate() + 1);
141
+ state.date = newDate;
142
+ state.value = newDate;
143
+ }
144
+ },
145
+ { immediate: true }
146
+ );
147
+ watch(
148
+ () => props.type,
149
+ (value) => {
150
+ if (["date", "month", "year"].includes(value)) {
151
+ state.selectionMode = value;
152
+ state.currentView = value;
153
+ }
154
+ },
155
+ { immediate: true }
156
+ );
157
+ watch(
158
+ () => props.format,
159
+ (value) => {
160
+ state.format = value;
161
+ },
162
+ { immediate: true }
163
+ );
132
164
  watch(
133
165
  () => state.isShowTz,
134
166
  () => {
@@ -166,17 +198,17 @@ const initApi = ({ api: api2, state, t, emit, nextTick, vm, watch, props }) => {
166
198
  selectTz: selectTz({ emit, state }),
167
199
  handleTzPickClose: handleTzPickClose(state),
168
200
  getDefaultValue: getDefaultValue(state),
169
- showYearPicker: showYearPicker({ state }),
201
+ showHeaderPicker: showHeaderPicker({ state, props }),
170
202
  handleTimePickClose: handleTimePickClose(state),
171
203
  cusNextMonth: cusNextMonth({ state }),
172
204
  cusPrevMonth: cusPrevMonth({ state }),
173
205
  resetView: resetView({ state }),
174
- showMonthPicker: showMonthPicker({ state }),
175
206
  cusNextYear: cusNextYear({ state }),
176
207
  cusPrevYear: cusPrevYear({ state }),
177
208
  watchDefaultValue: watchDefaultValue({ state }),
178
209
  getYearLabel: getYearLabel({ state, t }),
179
210
  cusEmit: cusEmit({ state, emit }),
211
+ panelEmit: panelEmit({ state, emit, t, props }),
180
212
  watchTimePickerVisible: watchTimePickerVisible({ nextTick, vm }),
181
213
  checkDateWithinRange: checkDateWithinRange({ state }),
182
214
  watchSelectionMode: watchSelectionMode({ state }),
@@ -192,13 +224,13 @@ const initApi = ({ api: api2, state, t, emit, nextTick, vm, watch, props }) => {
192
224
  watchValue: watchValue({ api: api2, state }),
193
225
  handleKeydown: handleKeydown({ api: api2, state }),
194
226
  confirm: confirm({ api: api2, state, t }),
195
- handleMonthPick: handleMonthPick({ api: api2, state }),
227
+ handleMonthPick: handleMonthPick({ api: api2, state, props, t, emit }),
196
228
  handleVisibleDateChange: handleVisibleDateChange({ api: api2, state, t }),
197
229
  handleTimePick: handleTimePick({ api: api2, state, t }),
198
- handleYearPick: handleYearPick({ api: api2, state }),
199
- handleDatePick: handleDatePick({ api: api2, state, t }),
230
+ handleYearPick: handleYearPick({ api: api2, state, props, t }),
231
+ handleDatePick: handleDatePick({ api: api2, state, t, props }),
200
232
  computerVisibleTime: computerVisibleTime({ state, t }),
201
- handleShortcutClick: handleShortcutClick(api2),
233
+ handleShortcutClick: handleShortcutClick(api2, props, state),
202
234
  computerVisibleDate: computerVisibleDate({ state, t }),
203
235
  handleVisibleTimeChange: handleVisibleTimeChange({ api: api2, vm, state, t }),
204
236
  computerTimeFormat: computerTimeFormat({ state }),
@@ -210,9 +242,9 @@ const initApi = ({ api: api2, state, t, emit, nextTick, vm, watch, props }) => {
210
242
  const renderless = (props, { computed, reactive, watch, nextTick }, { t, emit: $emit, vm, i18n, designConfig }) => {
211
243
  const api2 = {};
212
244
  const emit = props.emitter ? props.emitter.emit : $emit;
213
- const state = initState({ reactive, computed, api: api2, i18n, designConfig });
245
+ const state = initState({ reactive, computed, api: api2, i18n, designConfig, props });
214
246
  initApi({ api: api2, state, t, emit, nextTick, vm, watch, props });
215
- initWatch({ watch, state, api: api2, nextTick });
247
+ initWatch({ watch, state, api: api2, nextTick, props, t });
216
248
  return api2;
217
249
  };
218
250
  export {
@@ -16,7 +16,7 @@ import {
16
16
  onChange,
17
17
  updateColumnValue
18
18
  } from "./index";
19
- import { DATE } from "../common";
19
+ import { DATE } from "@opentiny/utils";
20
20
  const api = [
21
21
  "state",
22
22
  "clearDisplayValue",
@@ -1,5 +1,5 @@
1
1
  import "../chunk-G2ADBYYC.js";
2
- import { format } from "../common/date";
2
+ import { formatDateByPattern as format } from "@opentiny/utils";
3
3
  const getFormatTime = (time) => {
4
4
  return ("0" + time).slice(-2);
5
5
  };