@opentiny/vue-renderless 3.1.0-alpha.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 (397) hide show
  1. package/action-sheet/index.js +28 -0
  2. package/action-sheet/vue.js +29 -0
  3. package/alert/index.js +23 -0
  4. package/alert/vue.js +37 -0
  5. package/autocomplete/index.js +175 -0
  6. package/autocomplete/vue.js +171 -0
  7. package/avatar/index.js +29 -0
  8. package/avatar/vue.js +24 -0
  9. package/badge/index.js +16 -0
  10. package/badge/vue.js +30 -0
  11. package/breadcrumb/vue.js +4 -0
  12. package/breadcrumb-item/vue.js +24 -0
  13. package/bulletin-board/index.js +21 -0
  14. package/bulletin-board/vue.js +36 -0
  15. package/button/index.js +19 -0
  16. package/button/vue.js +43 -0
  17. package/button-group/index.js +25 -0
  18. package/button-group/vue.js +51 -0
  19. package/calendar/index.js +279 -0
  20. package/calendar/vue.js +124 -0
  21. package/card-template/index.js +39 -0
  22. package/card-template/vue.js +34 -0
  23. package/carousel/index.js +206 -0
  24. package/carousel/vue.js +222 -0
  25. package/carousel-item/index.js +93 -0
  26. package/carousel-item/vue.js +57 -0
  27. package/cascader/index.js +511 -0
  28. package/cascader/vue.js +342 -0
  29. package/cascader-menu/index.js +41 -0
  30. package/cascader-menu/vue.js +36 -0
  31. package/cascader-node/index.js +63 -0
  32. package/cascader-node/vue.js +62 -0
  33. package/cascader-panel/index.js +359 -0
  34. package/cascader-panel/node.js +199 -0
  35. package/cascader-panel/store.js +80 -0
  36. package/cascader-panel/vue.js +217 -0
  37. package/checkbox/index.js +145 -0
  38. package/checkbox/vue.js +139 -0
  39. package/checkbox-button/index.js +102 -0
  40. package/checkbox-button/vue.js +150 -0
  41. package/checkbox-group/index.js +12 -0
  42. package/checkbox-group/vue.js +33 -0
  43. package/col/index.js +132 -0
  44. package/col/vue.js +34 -0
  45. package/collapse/index.js +45 -0
  46. package/collapse/vue.js +35 -0
  47. package/collapse-item/index.js +38 -0
  48. package/collapse-item/vue.js +48 -0
  49. package/common/array.js +120 -0
  50. package/common/bigInt.js +352 -0
  51. package/common/browser.js +69 -0
  52. package/common/dataset/index.js +135 -0
  53. package/common/date.js +352 -0
  54. package/common/decimal.js +203 -0
  55. package/common/deps/ResizeObserver.js +474 -0
  56. package/common/deps/after-leave.js +25 -0
  57. package/common/deps/clickoutside.js +61 -0
  58. package/common/deps/date-util.js +262 -0
  59. package/common/deps/date.js +308 -0
  60. package/common/deps/debounce.js +4 -0
  61. package/common/deps/dom.js +190 -0
  62. package/common/deps/fullscreen/apis.js +157 -0
  63. package/common/deps/fullscreen/screenfull.js +106 -0
  64. package/common/deps/letter-only.js +15 -0
  65. package/common/deps/memorize.js +149 -0
  66. package/common/deps/number-only.js +16 -0
  67. package/common/deps/popper.js +713 -0
  68. package/common/deps/popup-manager.js +179 -0
  69. package/common/deps/repeat-click.js +24 -0
  70. package/common/deps/requestAnimationFrame.js +25 -0
  71. package/common/deps/resize-event.js +29 -0
  72. package/common/deps/scroll-into-view.js +29 -0
  73. package/common/deps/scrollbar-width.js +25 -0
  74. package/common/deps/throttle.js +34 -0
  75. package/common/deps/touch.js +33 -0
  76. package/common/deps/tree-model/node.js +586 -0
  77. package/common/deps/tree-model/tree-store.js +377 -0
  78. package/common/deps/tree-model/util.js +14 -0
  79. package/common/deps/upload-ajax.js +71 -0
  80. package/common/deps/vue-emitter.js +30 -0
  81. package/common/deps/vue-popper.js +291 -0
  82. package/common/deps/vue-popup.js +211 -0
  83. package/common/event.js +17 -0
  84. package/common/index.js +288 -0
  85. package/common/object.js +228 -0
  86. package/common/runtime.js +52 -0
  87. package/common/string.js +446 -0
  88. package/common/type.js +65 -0
  89. package/common/validate/index.js +6 -0
  90. package/common/validate/messages.js +68 -0
  91. package/common/validate/rules/enum.js +8 -0
  92. package/common/validate/rules/index.js +14 -0
  93. package/common/validate/rules/pattern.js +16 -0
  94. package/common/validate/rules/range.js +62 -0
  95. package/common/validate/rules/required.js +13 -0
  96. package/common/validate/rules/type.js +110 -0
  97. package/common/validate/rules/whitespace.js +6 -0
  98. package/common/validate/schema.js +323 -0
  99. package/common/validate/util.js +198 -0
  100. package/common/validate/validations/array.js +25 -0
  101. package/common/validate/validations/date.js +35 -0
  102. package/common/validate/validations/enum.js +24 -0
  103. package/common/validate/validations/float.js +24 -0
  104. package/common/validate/validations/index.js +42 -0
  105. package/common/validate/validations/integer.js +24 -0
  106. package/common/validate/validations/method.js +23 -0
  107. package/common/validate/validations/number.js +27 -0
  108. package/common/validate/validations/pattern.js +23 -0
  109. package/common/validate/validations/required.js +15 -0
  110. package/common/validate/validations/string.js +29 -0
  111. package/common/validate/validations/type.js +25 -0
  112. package/common/xss.js +325 -0
  113. package/container/index.js +110 -0
  114. package/container/vue.js +63 -0
  115. package/credit-card/index.js +107 -0
  116. package/credit-card/vue.js +117 -0
  117. package/credit-card-form/index.js +143 -0
  118. package/credit-card-form/vue.js +150 -0
  119. package/crop/index.js +297 -0
  120. package/crop/vue.js +191 -0
  121. package/date-panel/index.js +584 -0
  122. package/date-panel/vue.js +319 -0
  123. package/date-picker/index.js +301 -0
  124. package/date-picker/vue.js +169 -0
  125. package/date-range/index.js +463 -0
  126. package/date-range/vue.js +297 -0
  127. package/date-table/index.js +457 -0
  128. package/date-table/vue.js +151 -0
  129. package/detail-page/index.js +135 -0
  130. package/detail-page/vue.js +145 -0
  131. package/dialog-box/index.js +268 -0
  132. package/dialog-box/vue.js +226 -0
  133. package/drop-times/index.js +23 -0
  134. package/drop-times/vue.js +28 -0
  135. package/dropdown/index.js +259 -0
  136. package/dropdown/vue.js +107 -0
  137. package/dropdown-item/index.js +155 -0
  138. package/dropdown-item/vue.js +124 -0
  139. package/dropdown-menu/index.js +148 -0
  140. package/dropdown-menu/vue.js +44 -0
  141. package/exception/index.js +13 -0
  142. package/exception/vue.js +25 -0
  143. package/fall-menu/index.js +121 -0
  144. package/fall-menu/vue.js +90 -0
  145. package/file-upload/index.js +1940 -0
  146. package/file-upload/vue.js +458 -0
  147. package/floatbar/index.js +10 -0
  148. package/floatbar/vue.js +17 -0
  149. package/form/index.js +186 -0
  150. package/form/vue.js +69 -0
  151. package/form-item/index.js +364 -0
  152. package/form-item/vue.js +210 -0
  153. package/fullscreen/index.js +138 -0
  154. package/fullscreen/vue.js +77 -0
  155. package/grid/core/index.js +3 -0
  156. package/grid/core/interceptor.js +38 -0
  157. package/grid/core/storeMap.js +19 -0
  158. package/grid/plugins/export.js +169 -0
  159. package/grid/plugins/exportExcel.js +749 -0
  160. package/grid/plugins/header.js +58 -0
  161. package/grid/plugins/resize.js +82 -0
  162. package/grid/static/array/arrayEach.js +12 -0
  163. package/grid/static/array/arrayIndexOf.js +11 -0
  164. package/grid/static/array/eachTree.js +32 -0
  165. package/grid/static/array/every.js +2 -0
  166. package/grid/static/array/filterTree.js +16 -0
  167. package/grid/static/array/find.js +3 -0
  168. package/grid/static/array/findTree.js +46 -0
  169. package/grid/static/array/helperCreateIterateHandle.js +59 -0
  170. package/grid/static/array/helperCreateTreeFunc.js +18 -0
  171. package/grid/static/array/includes.js +5 -0
  172. package/grid/static/array/lastArrayEach.js +6 -0
  173. package/grid/static/array/map.js +23 -0
  174. package/grid/static/array/mapTree.js +33 -0
  175. package/grid/static/array/slice.js +10 -0
  176. package/grid/static/array/sortBy.js +69 -0
  177. package/grid/static/array/sum.js +28 -0
  178. package/grid/static/array/toArray.js +7 -0
  179. package/grid/static/array/toTreeArray.js +24 -0
  180. package/grid/static/base/clear.js +44 -0
  181. package/grid/static/base/clone.js +18 -0
  182. package/grid/static/base/destructuring.js +18 -0
  183. package/grid/static/base/each.js +9 -0
  184. package/grid/static/base/eqNull.js +6 -0
  185. package/grid/static/base/findIndexOf.js +10 -0
  186. package/grid/static/base/get.js +42 -0
  187. package/grid/static/base/has.js +60 -0
  188. package/grid/static/base/hasOwnProp.js +4 -0
  189. package/grid/static/base/helperCreateGetObjects.js +26 -0
  190. package/grid/static/base/helperCreateInInObjectString.js +7 -0
  191. package/grid/static/base/helperCreateInTypeof.js +6 -0
  192. package/grid/static/base/helperCreateIndexOf.js +21 -0
  193. package/grid/static/base/helperCreateiterateIndexOf.js +21 -0
  194. package/grid/static/base/helperDefaultCompare.js +4 -0
  195. package/grid/static/base/helperDeleteProperty.js +8 -0
  196. package/grid/static/base/helperEqualCompare.js +60 -0
  197. package/grid/static/base/helperGetHGSKeys.js +4 -0
  198. package/grid/static/base/indexOf.js +3 -0
  199. package/grid/static/base/isArray.js +3 -0
  200. package/grid/static/base/isBoolean.js +4 -0
  201. package/grid/static/base/isDate.js +3 -0
  202. package/grid/static/base/isEmpty.js +8 -0
  203. package/grid/static/base/isEqual.js +11 -0
  204. package/grid/static/base/isFunction.js +4 -0
  205. package/grid/static/base/isNaN.js +5 -0
  206. package/grid/static/base/isNull.js +4 -0
  207. package/grid/static/base/isNumber.js +4 -0
  208. package/grid/static/base/isObject.js +5 -0
  209. package/grid/static/base/isPlainObject.js +2 -0
  210. package/grid/static/base/isRegExp.js +3 -0
  211. package/grid/static/base/isSet.js +5 -0
  212. package/grid/static/base/isString.js +4 -0
  213. package/grid/static/base/isUndefined.js +4 -0
  214. package/grid/static/base/keys.js +3 -0
  215. package/grid/static/base/lastEach.js +9 -0
  216. package/grid/static/base/remove.js +44 -0
  217. package/grid/static/base/set.js +43 -0
  218. package/grid/static/base/toJSONString.js +4 -0
  219. package/grid/static/base/toStringJSON.js +13 -0
  220. package/grid/static/base/uniqueId.js +5 -0
  221. package/grid/static/browse/browse.js +54 -0
  222. package/grid/static/function/property.js +7 -0
  223. package/grid/static/function/throttle.js +43 -0
  224. package/grid/static/index.js +55 -0
  225. package/grid/static/number/helperCreateToNumber.js +12 -0
  226. package/grid/static/number/toNumber.js +3 -0
  227. package/grid/static/object/assign.js +41 -0
  228. package/grid/static/object/extend.js +3 -0
  229. package/grid/static/object/lastObjectEach.js +8 -0
  230. package/grid/static/object/objectEach.js +11 -0
  231. package/grid/static/object/objectMap.js +20 -0
  232. package/grid/static/object/values.js +9 -0
  233. package/grid/static/static/staticDocument.js +4 -0
  234. package/grid/static/static/staticHGKeyRE.js +2 -0
  235. package/grid/static/static/staticParseInt.js +2 -0
  236. package/grid/static/static/staticStrUndefined.js +2 -0
  237. package/grid/static/static/staticWindow.js +4 -0
  238. package/grid/static/string/template.js +12 -0
  239. package/grid/static/string/toString.js +12 -0
  240. package/grid/utils/column.js +72 -0
  241. package/grid/utils/common.js +155 -0
  242. package/grid/utils/dom.js +213 -0
  243. package/grid/utils/event.js +40 -0
  244. package/grid/utils/index.js +5 -0
  245. package/image/index.js +187 -0
  246. package/image/vue.js +142 -0
  247. package/image-viewer/index.js +469 -0
  248. package/image-viewer/vue.js +243 -0
  249. package/input/index.js +319 -0
  250. package/input/vue.js +319 -0
  251. package/ip-address/index.js +370 -0
  252. package/ip-address/vue.js +185 -0
  253. package/layout/vue.js +4 -0
  254. package/link/index.js +10 -0
  255. package/link/vue.js +26 -0
  256. package/link-menu/index.js +146 -0
  257. package/link-menu/vue.js +138 -0
  258. package/list/index.js +13 -0
  259. package/list/vue.js +17 -0
  260. package/loading/index.js +29 -0
  261. package/loading/vue.js +28 -0
  262. package/milestone/index.js +92 -0
  263. package/milestone/vue.js +31 -0
  264. package/mini-picker/index.js +227 -0
  265. package/mini-picker/vue.js +142 -0
  266. package/modal/index.js +866 -0
  267. package/modal/vue.js +130 -0
  268. package/month-range/index.js +169 -0
  269. package/month-range/vue.js +104 -0
  270. package/month-table/index.js +232 -0
  271. package/month-table/vue.js +72 -0
  272. package/nav-menu/index.js +457 -0
  273. package/nav-menu/vue.js +187 -0
  274. package/notify/index.js +91 -0
  275. package/notify/vue.js +67 -0
  276. package/numeric/index.js +419 -0
  277. package/numeric/vue.js +218 -0
  278. package/option/index.js +79 -0
  279. package/option/vue.js +219 -0
  280. package/option-group/index.js +18 -0
  281. package/option-group/vue.js +37 -0
  282. package/package.json +179 -0
  283. package/pager-item/index.js +122 -0
  284. package/pager-item/vue.js +52 -0
  285. package/panel/index.js +30 -0
  286. package/panel/vue.js +26 -0
  287. package/picker/index.js +1039 -0
  288. package/picker/timezone.js +974 -0
  289. package/picker/vue.js +415 -0
  290. package/picker-column/index.js +261 -0
  291. package/picker-column/vue.js +163 -0
  292. package/pop-upload/index.js +324 -0
  293. package/pop-upload/vue.js +292 -0
  294. package/popeditor/index.js +884 -0
  295. package/popeditor/vue.js +368 -0
  296. package/popover/index.js +203 -0
  297. package/popover/vue.js +174 -0
  298. package/popup/index.js +139 -0
  299. package/popup/vue.js +129 -0
  300. package/progress/index.js +174 -0
  301. package/progress/vue.js +118 -0
  302. package/pull-refresh/index.js +104 -0
  303. package/pull-refresh/vue.js +64 -0
  304. package/radio/index.js +83 -0
  305. package/radio/vue.js +99 -0
  306. package/radio-button/index.js +58 -0
  307. package/radio-button/vue.js +70 -0
  308. package/radio-group/index.js +51 -0
  309. package/radio-group/vue.js +34 -0
  310. package/rate/index.js +254 -0
  311. package/rate/vue.js +158 -0
  312. package/row/index.js +19 -0
  313. package/row/vue.js +24 -0
  314. package/scroll-text/index.js +24 -0
  315. package/scroll-text/vue.js +31 -0
  316. package/scrollbar/index.js +127 -0
  317. package/scrollbar/vue-bar.js +49 -0
  318. package/scrollbar/vue.js +43 -0
  319. package/search/index.js +110 -0
  320. package/search/vue.js +110 -0
  321. package/select/index.js +1766 -0
  322. package/select/vue.js +693 -0
  323. package/select-dropdown/index.js +23 -0
  324. package/select-dropdown/vue.js +122 -0
  325. package/slide-bar/index.js +94 -0
  326. package/slide-bar/vue.js +58 -0
  327. package/slider/index.js +434 -0
  328. package/slider/vue.js +172 -0
  329. package/split/index.js +122 -0
  330. package/split/vue.js +131 -0
  331. package/steps/vue.js +4 -0
  332. package/switch/index.js +45 -0
  333. package/switch/vue.js +62 -0
  334. package/tab-bar/index.js +51 -0
  335. package/tab-bar/vue.js +16 -0
  336. package/tab-dropdown/index.js +11 -0
  337. package/tab-dropdown/vue.js +17 -0
  338. package/tab-item/index.js +37 -0
  339. package/tab-item/vue.js +49 -0
  340. package/tab-nav/index.js +247 -0
  341. package/tab-nav/vue.js +106 -0
  342. package/tabbar/index.js +32 -0
  343. package/tabbar/vue.js +54 -0
  344. package/tabbar-item/index.js +55 -0
  345. package/tabbar-item/vue.js +53 -0
  346. package/table/index.js +111 -0
  347. package/table/vue.js +66 -0
  348. package/tabs/index.js +174 -0
  349. package/tabs/vue.js +141 -0
  350. package/tag/index.js +14 -0
  351. package/tag/vue.js +13 -0
  352. package/tall-storage/index.js +161 -0
  353. package/tall-storage/vue-storage-box.js +25 -0
  354. package/tall-storage/vue.js +38 -0
  355. package/text-popup/index.js +75 -0
  356. package/text-popup/vue.js +64 -0
  357. package/time/index.js +121 -0
  358. package/time/vue.js +124 -0
  359. package/time-line/index.js +60 -0
  360. package/time-line/vue.js +49 -0
  361. package/time-panel/index.js +189 -0
  362. package/time-panel/scrollIntoView.js +23 -0
  363. package/time-panel/vue.js +110 -0
  364. package/time-range/index.js +199 -0
  365. package/time-range/vue.js +129 -0
  366. package/time-spinner/index.js +175 -0
  367. package/time-spinner/vue.js +122 -0
  368. package/toggle-menu/index.js +104 -0
  369. package/toggle-menu/vue.js +74 -0
  370. package/tooltip/index.js +171 -0
  371. package/tooltip/vue.js +133 -0
  372. package/top-box/index.js +81 -0
  373. package/top-box/vue.js +77 -0
  374. package/transfer/index.js +296 -0
  375. package/transfer/vue.js +138 -0
  376. package/transfer-panel/index.js +364 -0
  377. package/transfer-panel/vue.js +258 -0
  378. package/tree/index.js +642 -0
  379. package/tree/vue.js +268 -0
  380. package/tree-menu/index.js +124 -0
  381. package/tree-menu/vue.js +60 -0
  382. package/tree-node/index.js +271 -0
  383. package/tree-node/vue.js +211 -0
  384. package/upload/index.js +324 -0
  385. package/upload/vue.js +93 -0
  386. package/upload-dragger/index.js +50 -0
  387. package/upload-dragger/vue.js +27 -0
  388. package/upload-list/index.js +55 -0
  389. package/upload-list/vue.js +48 -0
  390. package/user-contact/index.js +13 -0
  391. package/user-contact/vue.js +20 -0
  392. package/user-head/index.js +71 -0
  393. package/user-head/vue.js +47 -0
  394. package/wizard/index.js +123 -0
  395. package/wizard/vue.js +45 -0
  396. package/year-table/index.js +40 -0
  397. package/year-table/vue.js +23 -0
@@ -0,0 +1,91 @@
1
+ var _this = this;
2
+ import { KEY_CODE } from '@opentiny/vue-renderless/common';
3
+ import { on, off } from '@opentiny/vue-renderless/common/deps/dom';
4
+ import PopupManager from '@opentiny/vue-renderless/common/deps/popup-manager';
5
+ export var startTimer = function startTimer(_ref) {
6
+ var api = _ref.api,
7
+ state = _ref.state;
8
+ return function () {
9
+ if (state.duration > 0) {
10
+ state.timer = setTimeout(function () {
11
+ !state.closed && api.close();
12
+ }, state.duration);
13
+ }
14
+ };
15
+ };
16
+ export var clearTimer = function clearTimer(state) {
17
+ return function () {
18
+ clearTimeout(state.timer);
19
+ state.timer = null;
20
+ };
21
+ };
22
+ export var click = function click(_ref2) {
23
+ var emit = _ref2.emit,
24
+ state = _ref2.state;
25
+ return function () {
26
+ typeof state.onClick === 'function' && _this.onClick();
27
+ emit('click', '');
28
+ };
29
+ };
30
+ export var close = function close(_ref3) {
31
+ var state = _ref3.state,
32
+ props = _ref3.props;
33
+ return function () {
34
+ if (!props.beforeClose || typeof props.beforeClose === 'function' && props.beforeClose()) {
35
+ typeof props.onClose === 'function' && props.onClose();
36
+ state.closed = true;
37
+ }
38
+ };
39
+ };
40
+ export var watchClosed = function watchClosed(state) {
41
+ return function (value) {
42
+ if (value) {
43
+ state.visible = false;
44
+ }
45
+ };
46
+ };
47
+ export var getTypeClass = function getTypeClass(constants) {
48
+ return function (state) {
49
+ return state.type && constants[state.type.toUpperCase()] ? "icon-".concat(constants[state.type]) : '';
50
+ };
51
+ };
52
+ export var getOffsetStyle = function getOffsetStyle(state) {
53
+ var side = {};
54
+ side[state.verticalProperty] = "".concat(state.verticalOffset, "px");
55
+ return side;
56
+ };
57
+ export var getZindex = function getZindex() {
58
+ return PopupManager.nextZIndex();
59
+ };
60
+ export var getPositionSide = function getPositionSide(state) {
61
+ return /^top-/.test(state.position) ? 'top' : 'bottom';
62
+ };
63
+ export var bindKeyDown = function bindKeyDown(_ref4) {
64
+ var api = _ref4.api,
65
+ state = _ref4.state;
66
+ return function (event) {
67
+ if (event.keyCode === KEY_CODE.Delete || event.keyCode === KEY_CODE.Backspace) {
68
+ api.clearTimer();
69
+ } else if (event.keyCode === KEY_CODE.Escape) {
70
+ !state.closed && api.close();
71
+ } else {
72
+ api.startTimer();
73
+ }
74
+ };
75
+ };
76
+ export var bindEvent = function bindEvent(_ref5) {
77
+ var api = _ref5.api,
78
+ state = _ref5.state;
79
+ return function () {
80
+ if (state.timer) {
81
+ api.clearTimer();
82
+ }
83
+ api.startTimer();
84
+ on(document, 'keydown', api.bindKeyDown);
85
+ };
86
+ };
87
+ export var unBindEvent = function unBindEvent(api) {
88
+ return function () {
89
+ return off(document, 'keydown', api.bindKeyDown);
90
+ };
91
+ };
package/notify/vue.js ADDED
@@ -0,0 +1,67 @@
1
+ import { clearTimer, startTimer, close, bindEvent, unBindEvent, click, watchClosed, getOffsetStyle, getPositionSide, getZindex } from './index';
2
+ export var api = ['state', 'clearTimer', 'startTimer', 'close', 'bindEvent', 'unBindEvent', 'click', 'watchClosed', 'getOffsetStyle', 'getPositionSide', 'getZindex'];
3
+ export var renderless = function renderless(props, _ref, _ref2) {
4
+ var computed = _ref.computed,
5
+ onBeforeUnmount = _ref.onBeforeUnmount,
6
+ onMounted = _ref.onMounted,
7
+ reactive = _ref.reactive,
8
+ watch = _ref.watch;
9
+ var emit = _ref2.emit;
10
+ var api = {};
11
+ var state = reactive({
12
+ timer: null,
13
+ closed: false,
14
+ visible: true,
15
+ duration: computed(function () {
16
+ return props.duration;
17
+ }),
18
+ showClose: true,
19
+ verticalOffset: 0,
20
+ position: computed(function () {
21
+ return props.position;
22
+ }),
23
+ dangerouslyUseHTMLString: false,
24
+ positionStyle: computed(function () {
25
+ return api.getOffsetStyle(state);
26
+ }),
27
+ verticalProperty: computed(function () {
28
+ return api.getPositionSide(state);
29
+ }),
30
+ customClass: computed(function () {
31
+ return props.customClass;
32
+ })
33
+ });
34
+ Object.assign(api, {
35
+ state: state,
36
+ getZindex: getZindex,
37
+ getOffsetStyle: getOffsetStyle,
38
+ getPositionSide: getPositionSide,
39
+ close: close({
40
+ state: state,
41
+ props: props
42
+ }),
43
+ click: click({
44
+ emit: emit,
45
+ state: state
46
+ }),
47
+ clearTimer: clearTimer(state),
48
+ bindEvent: bindEvent({
49
+ api: api,
50
+ state: state
51
+ }),
52
+ unBindEvent: unBindEvent(api),
53
+ startTimer: startTimer({
54
+ api: api,
55
+ state: state
56
+ }),
57
+ watchClosed: watchClosed(state)
58
+ });
59
+ watch(function () {
60
+ return state.closed;
61
+ }, api.watchClosed, {
62
+ immediate: true
63
+ });
64
+ onMounted(api.bindEvent);
65
+ onBeforeUnmount(api.unBindEvent);
66
+ return api;
67
+ };
@@ -0,0 +1,419 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
+ import { formatNumber, roundFixed } from '@opentiny/vue-renderless/common/decimal';
5
+ import { getMiniDecimal, lessEquals, equalsDecimal } from '@opentiny/vue-renderless/common/bigInt';
6
+ import { isNumber, isNull } from '@opentiny/vue-renderless/common/type';
7
+ import { MOUSEDELTA } from '@opentiny/vue-renderless/common';
8
+ import { on, off } from '@opentiny/vue-renderless/common/deps/dom';
9
+ export var initService = function initService(service) {
10
+ var _ref = service || {},
11
+ _ref$utils = _ref.utils,
12
+ utils = _ref$utils === void 0 ? {} : _ref$utils;
13
+ var noopFn = function noopFn() {
14
+ return null;
15
+ };
16
+ return {
17
+ getUnitPrecision: utils.getUnitPrecision || noopFn,
18
+ getNumberFormat: utils.getNumberFormat || noopFn
19
+ };
20
+ };
21
+ export var getDecimal = function getDecimal(props) {
22
+ return function (value) {
23
+ return getMiniDecimal(value, props.plugin);
24
+ };
25
+ };
26
+ export var watchValue = function watchValue(_ref2) {
27
+ var api = _ref2.api,
28
+ state = _ref2.state;
29
+ return function (value) {
30
+ if (value === state.currentValue) return;
31
+ api.setCurrentValue(value);
32
+ };
33
+ };
34
+ export var toPrecision = function toPrecision(state) {
35
+ return function (_ref3) {
36
+ var num = _ref3.num,
37
+ precision = _ref3.precision;
38
+ if (precision === undefined) {
39
+ precision = state.numPrecision;
40
+ }
41
+ return parseFloat(Math.round(num * Math.pow(10, precision)) / Math.pow(10, precision));
42
+ };
43
+ };
44
+ export var getPrecision = function getPrecision() {
45
+ return function (value) {
46
+ if (value === undefined) {
47
+ return 0;
48
+ }
49
+ var valueString = value.toString();
50
+ var dotPosition = valueString.indexOf('.');
51
+ var precision = 0;
52
+ if (dotPosition !== -1) {
53
+ precision = valueString.length - dotPosition - 1;
54
+ }
55
+ return precision;
56
+ };
57
+ };
58
+ export var internalIncrease = function internalIncrease(_ref4) {
59
+ var api = _ref4.api,
60
+ state = _ref4.state;
61
+ return function (_ref5) {
62
+ var val = _ref5.val,
63
+ step = _ref5.step;
64
+ var decimal = api.getDecimal(val);
65
+ if (decimal.isNaN() && val !== undefined) {
66
+ return state.currentValue;
67
+ }
68
+ return decimal.add(step).toString();
69
+ };
70
+ };
71
+ export var internalDecrease = function internalDecrease(_ref6) {
72
+ var api = _ref6.api,
73
+ state = _ref6.state;
74
+ return function (_ref7) {
75
+ var val = _ref7.val,
76
+ step = _ref7.step;
77
+ var decimal = api.getDecimal(val);
78
+ if (decimal.isNaN() && val !== undefined) {
79
+ return state.currentValue;
80
+ }
81
+ return decimal.add("-".concat(step)).toString();
82
+ };
83
+ };
84
+ export var increase = function increase(_ref8) {
85
+ var api = _ref8.api,
86
+ props = _ref8.props,
87
+ state = _ref8.state;
88
+ return function () {
89
+ if (state.inputDisabled || state.maxDisabled) {
90
+ return;
91
+ }
92
+ var value = props.modelValue || 0;
93
+ var newVal = api.internalIncrease({
94
+ val: value,
95
+ step: props.step
96
+ });
97
+ if (!props.circulate || !isFinite(props.max) || !isFinite(props.min)) {
98
+ api.setCurrentValue(newVal);
99
+ return;
100
+ }
101
+ if (!lessEquals(newVal, props.max) || lessEquals(newVal, props.min)) {
102
+ newVal = props.min;
103
+ }
104
+ api.setCurrentValue(newVal);
105
+ };
106
+ };
107
+ export var decrease = function decrease(_ref9) {
108
+ var api = _ref9.api,
109
+ props = _ref9.props,
110
+ state = _ref9.state;
111
+ return function () {
112
+ if (state.inputDisabled || state.minDisabled) {
113
+ return;
114
+ }
115
+ var value = props.modelValue || 0;
116
+ var newVal = api.internalDecrease({
117
+ val: value,
118
+ step: props.step
119
+ });
120
+ if (!props.circulate || !isFinite(props.max) || !isFinite(props.min)) {
121
+ api.setCurrentValue(newVal);
122
+ return;
123
+ }
124
+ if (!lessEquals(props.min, newVal) || lessEquals(props.max, newVal)) {
125
+ newVal = props.max;
126
+ }
127
+ api.setCurrentValue(newVal);
128
+ };
129
+ };
130
+ export var handleBlur = function handleBlur(_ref10) {
131
+ var constants = _ref10.constants,
132
+ dispatch = _ref10.dispatch,
133
+ emit = _ref10.emit,
134
+ props = _ref10.props,
135
+ state = _ref10.state,
136
+ api = _ref10.api;
137
+ return function (event) {
138
+ state.inputStatus = false;
139
+ api.setCurrentValue(event.target.value);
140
+ emit('blur', event);
141
+ if (props.validateEvent) {
142
+ dispatch(constants.COMPONENT_NAME, constants.EVENT_NAME.blur, [state.displayValue]);
143
+ }
144
+ };
145
+ };
146
+ export var handleFocus = function handleFocus(_ref11) {
147
+ var emit = _ref11.emit,
148
+ state = _ref11.state,
149
+ props = _ref11.props,
150
+ api = _ref11.api;
151
+ return function (event) {
152
+ state.inputStatus = true;
153
+ var currentValue = api.getDecimal(state.currentValue);
154
+ if (!currentValue.isNaN() && !isNull(state.currentValue)) {
155
+ var fractionLen = (currentValue.toString().split('.')[1] || '').length;
156
+ if (fractionLen < state.format.fraction && props.holdZero) {
157
+ state.currentValue = formatNumber(state.currentValue, {
158
+ fraction: state.format.fraction
159
+ });
160
+ state.userInput = state.currentValue;
161
+ state.lastInput = state.currentValue;
162
+ }
163
+ }
164
+ emit('focus', event);
165
+ };
166
+ };
167
+ export var focus = function focus(refs) {
168
+ return function () {
169
+ refs.input.focus();
170
+ };
171
+ };
172
+ var getEmitValue = function getEmitValue(args) {
173
+ var newVal = args.newVal,
174
+ emitValue = args.emitValue,
175
+ allowEmpty = args.allowEmpty,
176
+ defaultVal = args.defaultVal,
177
+ bigNew = args.bigNew,
178
+ oldVal = args.oldVal;
179
+ var max = args.max,
180
+ min = args.min,
181
+ api = args.api,
182
+ props = args.props,
183
+ format = args.format,
184
+ plugin = args.plugin,
185
+ stringMode = args.stringMode;
186
+ if (!newVal && newVal !== 0) {
187
+ emitValue = allowEmpty ? undefined : defaultVal;
188
+ } else if (bigNew.isNaN()) {
189
+ emitValue = oldVal;
190
+ } else {
191
+ if (isFinite(max) && lessEquals(max, newVal)) {
192
+ newVal = max;
193
+ }
194
+ if (isFinite(min) && lessEquals(newVal, min)) {
195
+ newVal = min;
196
+ }
197
+ emitValue = api.getDecimal(newVal).toString();
198
+ if (props.modelTruncation) {
199
+ emitValue = roundFixed(emitValue, format.fraction, format.rounding, plugin);
200
+ }
201
+ if (!props.holdZero) {
202
+ emitValue = api.getDecimal(emitValue).toString();
203
+ }
204
+ if (!stringMode) {
205
+ emitValue = emitValue * 1;
206
+ }
207
+ }
208
+ return {
209
+ newVal: newVal,
210
+ emitValue: emitValue
211
+ };
212
+ };
213
+ export var setCurrentValue = function setCurrentValue(_ref12) {
214
+ var api = _ref12.api,
215
+ constants = _ref12.constants,
216
+ dispatch = _ref12.dispatch,
217
+ emit = _ref12.emit,
218
+ props = _ref12.props,
219
+ state = _ref12.state;
220
+ return function (newVal) {
221
+ var max = props.max,
222
+ min = props.min,
223
+ allowEmpty = props.allowEmpty,
224
+ validateEvent = props.validateEvent,
225
+ stringMode = props.stringMode,
226
+ plugin = props.plugin;
227
+ var format = state.format;
228
+ var oldVal = state.currentValue;
229
+ var bigNew = api.getDecimal(newVal);
230
+ var defaultVal = isFinite(min) ? min : 0;
231
+ var emitValue = bigNew.toString();
232
+ if (equalsDecimal(state.currentValue, newVal)) {
233
+ state.userInput = state.currentValue;
234
+ return;
235
+ }
236
+ var args = {
237
+ newVal: newVal,
238
+ emitValue: emitValue,
239
+ allowEmpty: allowEmpty,
240
+ defaultVal: defaultVal,
241
+ bigNew: bigNew,
242
+ oldVal: oldVal
243
+ };
244
+ Object.assign(args, {
245
+ max: max,
246
+ min: min,
247
+ api: api,
248
+ props: props,
249
+ format: format,
250
+ plugin: plugin,
251
+ stringMode: stringMode
252
+ });
253
+ var ret = getEmitValue(args);
254
+ newVal = ret.newVal;
255
+ emitValue = ret.emitValue;
256
+ state.userInput = emitValue;
257
+ state.lastInput = emitValue;
258
+ if (emitValue !== oldVal) {
259
+ emit('update:modelValue', emitValue);
260
+ emit('change', emitValue, oldVal);
261
+ state.currentValue = emitValue;
262
+ state.userInput = emitValue;
263
+ if (validateEvent && oldVal === '') {
264
+ dispatch(constants.COMPONENT_NAME, constants.EVENT_NAME.blur, [state.currentValue]);
265
+ }
266
+ if (validateEvent) {
267
+ dispatch(constants.COMPONENT_NAME, constants.EVENT_NAME.change, [state.currentValue]);
268
+ }
269
+ }
270
+ };
271
+ };
272
+ export var handleInput = function handleInput(_ref13) {
273
+ var state = _ref13.state,
274
+ api = _ref13.api,
275
+ emit = _ref13.emit,
276
+ props = _ref13.props;
277
+ return function (event) {
278
+ var fraction = state.format.fraction;
279
+ var emitError = function emitError() {
280
+ if (state.pasting) {
281
+ emit('paste-error', event.target.value);
282
+ }
283
+ };
284
+ var value = event.target.value.replace(/^-+/, '-');
285
+ if (value !== '-' && api.getDecimal(value).isNaN()) {
286
+ emitError();
287
+ if (!(value === '' && props.allowEmpty)) {
288
+ value = state.lastInput;
289
+ }
290
+ } else {
291
+ value = value.split('.').map(function (a, i) {
292
+ if (i && a.length > fraction) {
293
+ emitError();
294
+ }
295
+ return i && state.strictInput && typeof fraction === 'number' ? a.substr(0, fraction) : a;
296
+ }).join('.');
297
+ }
298
+ event.target.value = isNull(value) ? '' : value;
299
+ state.lastInput = value;
300
+ state.userInput = value;
301
+ };
302
+ };
303
+ export var handleInputChange = function handleInputChange(_ref14) {
304
+ var api = _ref14.api;
305
+ return function (event) {
306
+ var value = event.target.value;
307
+ api.setCurrentValue(value === '-' ? 0 : value);
308
+ };
309
+ };
310
+ export var select = function select(refs) {
311
+ return function () {
312
+ return refs.input.select();
313
+ };
314
+ };
315
+ export var mounted = function mounted(_ref15) {
316
+ var constants = _ref15.constants,
317
+ parent = _ref15.parent,
318
+ props = _ref15.props,
319
+ state = _ref15.state;
320
+ return function () {
321
+ var innerInput = parent.$el.querySelector('input');
322
+ innerInput.setAttribute(constants.KEY, constants.VALUE);
323
+ innerInput.setAttribute(constants.MAX, props.max);
324
+ innerInput.setAttribute(constants.MIN, props.min);
325
+ innerInput.setAttribute(constants.VALUENOW, state.currentValue);
326
+ innerInput.setAttribute(constants.DISABLED, state.inputDisabled);
327
+ state.onPase = function () {
328
+ state.pasting = true;
329
+ setTimeout(function () {
330
+ return state.pasting = false;
331
+ });
332
+ };
333
+ on(innerInput, 'paste', state.onPase);
334
+ };
335
+ };
336
+ export var unmounted = function unmounted(_ref16) {
337
+ var parent = _ref16.parent,
338
+ state = _ref16.state;
339
+ return function () {
340
+ var innerInput = parent.$el.querySelector('input');
341
+ off(innerInput, 'paste', state.onPase);
342
+ };
343
+ };
344
+ export var updated = function updated(_ref17) {
345
+ var constants = _ref17.constants,
346
+ parent = _ref17.parent,
347
+ state = _ref17.state;
348
+ return function () {
349
+ var innerInput = parent.$el.querySelector('input');
350
+ innerInput && innerInput.setAttribute(constants.VALUENOW, state.currentValue);
351
+ };
352
+ };
353
+ export var displayValue = function displayValue(_ref18) {
354
+ var props = _ref18.props,
355
+ state = _ref18.state;
356
+ return function () {
357
+ var currentValue = state.currentValue,
358
+ inputStatus = state.inputStatus,
359
+ userInput = state.userInput;
360
+ if (inputStatus) {
361
+ return userInput;
362
+ }
363
+ if (props.allowEmpty && currentValue === '') {
364
+ return '';
365
+ }
366
+ return formatNumber(currentValue, state.format);
367
+ };
368
+ };
369
+ export var getNumPecision = function getNumPecision(_ref19) {
370
+ var api = _ref19.api,
371
+ props = _ref19.props;
372
+ return function () {
373
+ var stepPrecision = api.getPrecision(props.step);
374
+ if (props.precision !== undefined) {
375
+ return props.precision;
376
+ } else {
377
+ return Math.max(api.getPrecision(props.modelValue), stepPrecision);
378
+ }
379
+ };
380
+ };
381
+ export var mouseEvent = function mouseEvent(_ref20) {
382
+ var api = _ref20.api,
383
+ props = _ref20.props,
384
+ state = _ref20.state;
385
+ return function (event) {
386
+ if (props.mouseWheel && state.inputStatus) {
387
+ var delta = 0;
388
+ if (event.wheelDelta) {
389
+ delta = event.wheelDelta / MOUSEDELTA;
390
+ }
391
+ delta > 0 ? api.increase() : api.decrease();
392
+ return false;
393
+ }
394
+ };
395
+ };
396
+ export var getUnitPrecision = function getUnitPrecision(_ref21) {
397
+ var service = _ref21.service,
398
+ props = _ref21.props;
399
+ var fraction, rounding;
400
+ var _props$format = props.format,
401
+ format = _props$format === void 0 ? {} : _props$format,
402
+ precision = props.precision,
403
+ unit = props.unit;
404
+ var defaultFmt = {
405
+ groupSeparator: '',
406
+ decimalSeparator: '.',
407
+ zeroize: props.holdZero
408
+ };
409
+ var getUnitPrecision = service.getUnitPrecision,
410
+ getNumberFormat = service.getNumberFormat;
411
+ var serFra = getUnitPrecision(unit) || {};
412
+ var serFmt = getNumberFormat() || {};
413
+ fraction = isNumber(precision) ? precision : isNumber(format.fraction) ? format.fraction : serFra.fraction;
414
+ rounding = isNumber(format.rounding) ? format.rounding : serFra.rounding;
415
+ return _objectSpread(_objectSpread(_objectSpread({}, defaultFmt), {}, {
416
+ fraction: fraction,
417
+ rounding: rounding
418
+ }, serFmt), format);
419
+ };