@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
package/crop/index.js ADDED
@@ -0,0 +1,297 @@
1
+ import _typeof from "@babel/runtime/helpers/typeof";
2
+ import { on, off } from '@opentiny/vue-renderless/common/deps/dom';
3
+ import { toFileSize } from '@opentiny/vue-renderless/common/string';
4
+ export var computedCropImages = function computedCropImages(_ref) {
5
+ var constants = _ref.constants,
6
+ t = _ref.t;
7
+ return function () {
8
+ return t(constants.CROP_IMAGE);
9
+ };
10
+ };
11
+ export var watchImageSrc = function watchImageSrc(state) {
12
+ return function (value) {
13
+ return state.src = value;
14
+ };
15
+ };
16
+ export var watchAlt = function watchAlt(state) {
17
+ return function (value) {
18
+ return state.alt = value || 'image';
19
+ };
20
+ };
21
+ export var watchVisible = function watchVisible(_ref2) {
22
+ var api = _ref2.api,
23
+ state = _ref2.state;
24
+ return function (value) {
25
+ if (value) {
26
+ on(document.body, 'keydown', api.shortcutKeys);
27
+ } else {
28
+ off(document.body, 'keydown', api.shortcutKeys);
29
+ }
30
+ state.cropvisible = value;
31
+ };
32
+ };
33
+ export var shortcutKeys = function shortcutKeys(api) {
34
+ return function (e) {
35
+ if (e.keyCode == 187 && e.ctrlKey) {
36
+ e.preventDefault();
37
+ api.zoom(0.1);
38
+ }
39
+ if (e.keyCode == 189 && e.ctrlKey) {
40
+ e.preventDefault();
41
+ api.zoom(-0.1);
42
+ }
43
+ if (e.keyCode == 38 && e.ctrlKey) {
44
+ e.preventDefault();
45
+ api.move(0, 1);
46
+ }
47
+ if (e.keyCode == 40 && e.ctrlKey) {
48
+ e.preventDefault();
49
+ api.move(0, -1);
50
+ }
51
+ if (e.keyCode == 37 && e.ctrlKey) {
52
+ e.preventDefault();
53
+ api.move(1, 0);
54
+ }
55
+ if (e.keyCode == 39 && e.ctrlKey) {
56
+ e.preventDefault();
57
+ api.move(-1, 0);
58
+ }
59
+ };
60
+ };
61
+ export var closeCrop = function closeCrop(_ref3) {
62
+ var emit = _ref3.emit,
63
+ state = _ref3.state;
64
+ return function () {
65
+ emit('update:cropvisible', false);
66
+ emit('update:visible', false);
67
+ state.cropImg = '';
68
+ };
69
+ };
70
+ export var createCrop = function createCrop(_ref4) {
71
+ var emit = _ref4.emit,
72
+ props = _ref4.props,
73
+ refs = _ref4.refs,
74
+ state = _ref4.state;
75
+ return function () {
76
+ var Cropper = props.plugin;
77
+ var cropImage = refs.cropImage;
78
+ state.cropper = new Cropper(cropImage, {
79
+ modal: props.modal,
80
+ guides: props.guides,
81
+ center: props.center,
82
+ movable: props.movable,
83
+ restore: props.restore,
84
+ viewMode: props.viewMode,
85
+ zoomable: props.zoomable,
86
+ autoCrop: props.autoCrop,
87
+ dragMode: props.dragMode,
88
+ rotatable: props.rotatable,
89
+ responsive: props.responsive,
90
+ background: props.background,
91
+ aspectRatio: props.aspectRatio,
92
+ zoomOnWheel: props.zoomOnWheel,
93
+ autoCropArea: props.autoCropArea,
94
+ wheelZoomRatio: props.wheelZoomRatio,
95
+ minCropBoxWidth: props.minCropBoxWidth,
96
+ minCropBoxHeight: props.minCropBoxHeight,
97
+ minContainerWidth: props.minContainerWidth,
98
+ minContainerHeight: props.minContainerHeight,
99
+ preview: document.querySelectorAll('.croppreview'),
100
+ ready: function ready() {
101
+ emit('ready');
102
+ },
103
+ cropstart: function cropstart(e) {
104
+ emit('cropstart', e);
105
+ },
106
+ cropmove: function cropmove(e) {
107
+ emit('cropmove', e);
108
+ },
109
+ cropend: function cropend(e) {
110
+ emit('cropend', e);
111
+ },
112
+ crop: function crop(e) {
113
+ emit('crop', e);
114
+ }
115
+ });
116
+ };
117
+ };
118
+ export var closeCropArea = function closeCropArea(api) {
119
+ return function () {
120
+ return api.clear();
121
+ };
122
+ };
123
+ export var clear = function clear(state) {
124
+ return function () {
125
+ return state.cropper.clear();
126
+ };
127
+ };
128
+ export var cropImage = function cropImage(_ref5) {
129
+ var api = _ref5.api,
130
+ emit = _ref5.emit,
131
+ props = _ref5.props,
132
+ state = _ref5.state;
133
+ return function () {
134
+ state.cropImg = api.getCroppedCanvas().toDataURL('image/jpeg', props.quality);
135
+ if (props.cropType.toLowerCase() === 'base64') {
136
+ emit('cropdata', api.getCroppedCanvas().toDataURL('image/jpeg', props.quality));
137
+ } else if (props.cropType.toLowerCase() === 'blob') {
138
+ var canvas = api.getCroppedCanvas();
139
+ canvas.toBlob(function (blobObj) {
140
+ emit('cropdata', blobObj);
141
+ }, 'image/jpeg', props.quality);
142
+ }
143
+ };
144
+ };
145
+ export var getCroppedCanvas = function getCroppedCanvas(state) {
146
+ return function () {
147
+ return state.cropper.getCroppedCanvas();
148
+ };
149
+ };
150
+ export var getCropBoxData = function getCropBoxData(state) {
151
+ return function () {
152
+ return state.cropper.getCropBoxData();
153
+ };
154
+ };
155
+ export var getData = function getData(state) {
156
+ return function (rounded) {
157
+ return state.cropper.getData(!!rounded);
158
+ };
159
+ };
160
+ export var move = function move(state) {
161
+ return function (offsetX, offsetY) {
162
+ return state.cropper.move(offsetX, offsetY);
163
+ };
164
+ };
165
+ export var reset = function reset(state) {
166
+ return function () {
167
+ return state.cropper.reset();
168
+ };
169
+ };
170
+ export var setCropBoxData = function setCropBoxData(state) {
171
+ return function (_ref6) {
172
+ var left = _ref6.left,
173
+ top = _ref6.top,
174
+ width = _ref6.width,
175
+ height = _ref6.height;
176
+ return state.cropper.setCropBoxData({
177
+ left: left,
178
+ top: top,
179
+ width: width,
180
+ height: height
181
+ });
182
+ };
183
+ };
184
+ export var setData = function setData(state) {
185
+ return function (data) {
186
+ return data !== null && _typeof(data) === 'object' && state.cropper.setData(data);
187
+ };
188
+ };
189
+ export var disable = function disable(state) {
190
+ return function () {
191
+ return state.cropper.disable();
192
+ };
193
+ };
194
+ export var enable = function enable(state) {
195
+ return function () {
196
+ return state.cropper.enable();
197
+ };
198
+ };
199
+ export var destroy = function destroy(state) {
200
+ return function () {
201
+ return state.cropper.destroy();
202
+ };
203
+ };
204
+ export var scale = function scale(state) {
205
+ return function (scaleX, scaleY) {
206
+ return state.cropper.scale(scaleX, scaleY);
207
+ };
208
+ };
209
+ export var scaleX = function scaleX(state) {
210
+ return function (x) {
211
+ return state.cropper.scaleX(x);
212
+ };
213
+ };
214
+ export var scaleY = function scaleY(state) {
215
+ return function (x) {
216
+ return state.cropper.scaleY(x);
217
+ };
218
+ };
219
+ export var getContainerData = function getContainerData(state) {
220
+ return function () {
221
+ return state.cropper.getContainerData();
222
+ };
223
+ };
224
+ export var getImageData = function getImageData(state) {
225
+ return function () {
226
+ return state.cropper.getImageData();
227
+ };
228
+ };
229
+ export var getCanvasData = function getCanvasData(state) {
230
+ return function () {
231
+ return state.cropper.getCanvasData();
232
+ };
233
+ };
234
+ export var setAspectRatio = function setAspectRatio(state) {
235
+ return function (s) {
236
+ return state.cropper.setAspectRatio(s);
237
+ };
238
+ };
239
+ export var setDragMode = function setDragMode(state) {
240
+ return function (s) {
241
+ return state.cropper.setDragMode(s);
242
+ };
243
+ };
244
+ export var setCanvasData = function setCanvasData(state) {
245
+ return function (_ref7) {
246
+ var width = _ref7.width,
247
+ height = _ref7.height,
248
+ left = _ref7.left,
249
+ top = _ref7.top;
250
+ return state.cropper.setCanvasData({
251
+ width: width,
252
+ height: height,
253
+ left: left,
254
+ top: top
255
+ });
256
+ };
257
+ };
258
+ export var rotate = function rotate(state) {
259
+ return function (deg) {
260
+ return state.cropper.rotate(deg);
261
+ };
262
+ };
263
+ export var setImage = function setImage(_ref8) {
264
+ var api = _ref8.api,
265
+ state = _ref8.state,
266
+ props = _ref8.props;
267
+ return function (e) {
268
+ var file = e.target.files[0];
269
+ var unit = props.maxSize.match(/[a-zA-Z]+/gi);
270
+ unit = unit && (unit[0].length > 1 ? unit[0] : unit[0] + 'B');
271
+ var size = toFileSize(Number(props.maxSize.match(/[0-9]+/gi)[0]), 'B', unit || 'B');
272
+ if (file === undefined || file.type.indexOf('image/') === -1 || Number(file.size) > Number(size.split('B')[0])) {
273
+ return;
274
+ }
275
+ var reader = new FileReader();
276
+ reader.onload = function (event) {
277
+ state.src = event.target.result;
278
+ api.replace(event.target.result);
279
+ };
280
+ reader.readAsDataURL(file);
281
+ };
282
+ };
283
+ export var replace = function replace(state) {
284
+ return function (url) {
285
+ return state.cropper.replace(url);
286
+ };
287
+ };
288
+ export var showFileChooser = function showFileChooser(refs) {
289
+ return function () {
290
+ return refs.cropInput.click();
291
+ };
292
+ };
293
+ export var zoom = function zoom(state) {
294
+ return function (percent) {
295
+ return state.cropper.zoom(percent);
296
+ };
297
+ };
package/crop/vue.js ADDED
@@ -0,0 +1,191 @@
1
+ import { watchImageSrc, shortcutKeys, watchVisible, clear, replace, computedCropImages, watchAlt, getCroppedCanvas, setCanvasData, setDragMode, setAspectRatio, getImageData, getCanvasData, scale, scaleY, getContainerData, scaleX, destroy, disable, enable, closeCropArea, closeCrop, createCrop, setImage, cropImage, getCropBoxData, getData, move, reset, rotate, setCropBoxData, setData, showFileChooser, zoom } from './index';
2
+ export var api = ['state', 'clear', 'replace', 'getCroppedCanvas', 'setCanvasData', 'setDragMode', 'setAspectRatio', 'getCanvasData', 'getImageData', 'getContainerData', 'scaleY', 'scale', 'scaleX', 'destroy', 'enable', 'closeCropArea', 'disable', 'closeCrop', 'getCropBoxData', 'getData', 'move', 'reset', 'rotate', 'setCropBoxData', 'setData', 'showFileChooser', 'setImage', 'cropImage', 'zoom'];
3
+ var initRenderIcon = function initRenderIcon(api) {
4
+ var renderIcon = [{
5
+ method: function method() {
6
+ return api.showFileChooser();
7
+ },
8
+ icon: 'IconNew'
9
+ }, {
10
+ method: function method() {
11
+ return api.zoom(0.1);
12
+ },
13
+ icon: 'IconZoomIn'
14
+ }, {
15
+ method: function method() {
16
+ return api.zoom(-0.1);
17
+ },
18
+ icon: 'IconZoomOut'
19
+ }, {
20
+ method: function method() {
21
+ return api.rotate(-45);
22
+ },
23
+ icon: 'IconRepeat'
24
+ }, {
25
+ method: function method() {
26
+ return api.rotate(45);
27
+ },
28
+ icon: 'IconRefres'
29
+ }, {
30
+ method: function method() {
31
+ return api.closeCropArea();
32
+ },
33
+ icon: 'IconCrop'
34
+ }, {
35
+ method: function method() {
36
+ return api.reset();
37
+ },
38
+ icon: 'IconConmentRefresh'
39
+ }, {
40
+ method: function method() {
41
+ return api.cropImage();
42
+ },
43
+ icon: 'IconYes'
44
+ }, {
45
+ method: function method() {
46
+ return api.closeCrop();
47
+ },
48
+ icon: 'IconClose'
49
+ }];
50
+ return renderIcon;
51
+ };
52
+ var initState = function initState(_ref) {
53
+ var reactive = _ref.reactive,
54
+ props = _ref.props,
55
+ computed = _ref.computed,
56
+ api = _ref.api;
57
+ var state = reactive({
58
+ src: props.src,
59
+ cropImg: '',
60
+ cropper: '',
61
+ alt: props.alt,
62
+ data: null,
63
+ cropvisible: props.cropvisible,
64
+ renderIcon: initRenderIcon(api),
65
+ previewShow: props.previewShow,
66
+ cropImages: computed(function () {
67
+ return api.computedCropImages();
68
+ })
69
+ });
70
+ return state;
71
+ };
72
+ var initApi = function initApi(_ref2) {
73
+ var api = _ref2.api,
74
+ state = _ref2.state,
75
+ emit = _ref2.emit,
76
+ refs = _ref2.refs,
77
+ props = _ref2.props,
78
+ constants = _ref2.constants,
79
+ t = _ref2.t;
80
+ Object.assign(api, {
81
+ state: state,
82
+ zoom: zoom(state),
83
+ move: move(state),
84
+ clear: clear(state),
85
+ reset: reset(state),
86
+ scale: scale(state),
87
+ rotate: rotate(state),
88
+ enable: enable(state),
89
+ scaleX: scaleX(state),
90
+ scaleY: scaleY(state),
91
+ replace: replace(state),
92
+ setData: setData(state),
93
+ getData: getData(state),
94
+ disable: disable(state),
95
+ destroy: destroy(state),
96
+ watchAlt: watchAlt(state),
97
+ setDragMode: setDragMode(state),
98
+ getImageData: getImageData(state),
99
+ watchImageSrc: watchImageSrc(state),
100
+ setCanvasData: setCanvasData(state),
101
+ getCanvasData: getCanvasData(state),
102
+ closeCrop: closeCrop({
103
+ emit: emit,
104
+ state: state
105
+ }),
106
+ setCropBoxData: setCropBoxData(state),
107
+ setAspectRatio: setAspectRatio(state),
108
+ getCropBoxData: getCropBoxData(state),
109
+ showFileChooser: showFileChooser(refs),
110
+ getCroppedCanvas: getCroppedCanvas(state),
111
+ getContainerData: getContainerData(state),
112
+ createCrop: createCrop({
113
+ emit: emit,
114
+ props: props,
115
+ refs: refs,
116
+ state: state
117
+ }),
118
+ computedCropImages: computedCropImages({
119
+ constants: constants,
120
+ t: t
121
+ }),
122
+ shortcutKeys: shortcutKeys(api),
123
+ closeCropArea: closeCropArea(api),
124
+ setImage: setImage({
125
+ api: api,
126
+ state: state,
127
+ props: props
128
+ }),
129
+ cropImage: cropImage({
130
+ api: api,
131
+ emit: emit,
132
+ props: props,
133
+ state: state
134
+ }),
135
+ watchVisible: watchVisible({
136
+ api: api,
137
+ state: state
138
+ })
139
+ });
140
+ };
141
+ var initWatch = function initWatch(_ref3) {
142
+ var watch = _ref3.watch,
143
+ props = _ref3.props,
144
+ api = _ref3.api;
145
+ watch(function () {
146
+ return props.cropvisible;
147
+ }, api.watchVisible);
148
+ watch(function () {
149
+ return props.src;
150
+ }, api.watchImageSrc, {
151
+ immediate: true
152
+ });
153
+ watch(function () {
154
+ return props.alt;
155
+ }, api.watchAlt, {
156
+ immediate: true
157
+ });
158
+ };
159
+ export var renderless = function renderless(props, _ref4, _ref5) {
160
+ var computed = _ref4.computed,
161
+ onMounted = _ref4.onMounted,
162
+ reactive = _ref4.reactive,
163
+ watch = _ref4.watch;
164
+ var t = _ref5.t,
165
+ emit = _ref5.emit,
166
+ refs = _ref5.refs,
167
+ constants = _ref5.constants;
168
+ var api = {};
169
+ var state = initState({
170
+ reactive: reactive,
171
+ props: props,
172
+ computed: computed,
173
+ api: api
174
+ });
175
+ initApi({
176
+ api: api,
177
+ state: state,
178
+ emit: emit,
179
+ refs: refs,
180
+ props: props,
181
+ constants: constants,
182
+ t: t
183
+ });
184
+ onMounted(api.createCrop);
185
+ initWatch({
186
+ watch: watch,
187
+ props: props,
188
+ api: api
189
+ });
190
+ return api;
191
+ };