@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/rate/index.js ADDED
@@ -0,0 +1,254 @@
1
+ import { KEY_CODE } from '@opentiny/vue-renderless/common';
2
+ export var computedActiveColor = function computedActiveColor(props) {
3
+ return function (state) {
4
+ var result = '';
5
+ if (state.currentValue <= props.lowThreshold) {
6
+ result = state.colorMap.lowColor;
7
+ } else if (state.currentValue >= props.highThreshold) {
8
+ result = state.colorMap.highColor;
9
+ } else {
10
+ result = state.colorMap.mediumColor;
11
+ }
12
+ return result;
13
+ };
14
+ };
15
+ export var computedActiveClass = function computedActiveClass(props) {
16
+ return function (state) {
17
+ var result = '';
18
+ if (state.currentValue <= props.lowThreshold) {
19
+ result = state.classMap.lowClass;
20
+ } else if (state.currentValue >= props.highThreshold) {
21
+ result = state.classMap.highClass;
22
+ } else {
23
+ result = state.classMap.mediumClass;
24
+ }
25
+ return result;
26
+ };
27
+ };
28
+ export var getTextStyle = function getTextStyle(_ref) {
29
+ var props = _ref.props,
30
+ state = _ref.state;
31
+ return function () {
32
+ var color = props.radio && state.currentValue ? props.textColor : state.activeColor;
33
+ return {
34
+ color: color
35
+ };
36
+ };
37
+ };
38
+ export var handelKey = function handelKey(_ref2) {
39
+ var emit = _ref2.emit,
40
+ props = _ref2.props,
41
+ state = _ref2.state;
42
+ return function (event) {
43
+ var current = state.currentValue;
44
+ var keyCode = event.keyCode;
45
+ if (props.disabled) {
46
+ return;
47
+ }
48
+ if (keyCode === KEY_CODE.ArrowUp || keyCode === KEY_CODE.ArrowRight) {
49
+ current += props.allowHalf ? 0.5 : 1;
50
+ event.stopPropagation();
51
+ event.preventDefault();
52
+ } else if (keyCode === KEY_CODE.ArrowLeft || keyCode === KEY_CODE.ArrowDown) {
53
+ current -= props.allowHalf ? 0.5 : 1;
54
+ event.stopPropagation();
55
+ event.preventDefault();
56
+ }
57
+ current = current < 0 ? 0 : current;
58
+ current = current > props.max ? props.max : current;
59
+ emit('update:modelValue', current);
60
+ emit('change', current);
61
+ };
62
+ };
63
+ export var selectValue = function selectValue(_ref3) {
64
+ var emit = _ref3.emit,
65
+ props = _ref3.props,
66
+ state = _ref3.state;
67
+ return function (value) {
68
+ if (props.disabled) {
69
+ return;
70
+ }
71
+ if (props.allowHalf && state.pointerAtLeftHalf) {
72
+ value = state.currentValue;
73
+ }
74
+ emit('update:modelValue', value);
75
+ emit('change', value);
76
+ };
77
+ };
78
+ export var setCurrentValue = function setCurrentValue(_ref4) {
79
+ var _ref4$constants = _ref4.constants,
80
+ RATENODECLS = _ref4$constants.RATENODECLS,
81
+ DECIMALCLS = _ref4$constants.DECIMALCLS,
82
+ ICON_PREFIXCLS = _ref4$constants.ICON_PREFIXCLS,
83
+ props = _ref4.props,
84
+ state = _ref4.state,
85
+ parent = _ref4.parent,
86
+ api = _ref4.api;
87
+ return function (_ref5) {
88
+ var event = _ref5.event,
89
+ item = _ref5.item;
90
+ if (props.disabled) {
91
+ return;
92
+ }
93
+ if (!parent.$el.contains(state.mouseTarget)) {
94
+ api.resetCurrentValue();
95
+ }
96
+ if (props.allowHalf) {
97
+ var target = event.target;
98
+ var className = target.className;
99
+ var key = target.parentElement ? 'parentElement' : 'parentNode';
100
+ if (target.nodeName === 'svg') {
101
+ className = target[key].className;
102
+ target = target[key];
103
+ }
104
+ if (target.nodeName === 'path') {
105
+ className = target[key][key].className;
106
+ target = target[key][key];
107
+ }
108
+ if (className.indexOf(RATENODECLS) > -1) {
109
+ target = target.querySelector(ICON_PREFIXCLS);
110
+ }
111
+ if (className.indexOf(DECIMALCLS) > -1) {
112
+ target = target.parentNode;
113
+ }
114
+ state.pointerAtLeftHalf = event.offsetX * 2 <= target.clientWidth;
115
+ state.currentValue = state.pointerAtLeftHalf ? item - 0.5 : item;
116
+ } else {
117
+ state.currentValue = item;
118
+ }
119
+ state.hoverIndex = item;
120
+ };
121
+ };
122
+ export var resetCurrentValue = function resetCurrentValue(_ref6) {
123
+ var props = _ref6.props,
124
+ state = _ref6.state;
125
+ return function () {
126
+ if (props.disabled) {
127
+ return;
128
+ }
129
+ if (props.allowHalf) {
130
+ state.pointerAtLeftHalf = props.modelValue !== Math.floor(props.modelValue);
131
+ }
132
+ state.currentValue = props.modelValue;
133
+ state.hoverIndex = -1;
134
+ };
135
+ };
136
+ export var showDecimalIcon = function showDecimalIcon(_ref7) {
137
+ var props = _ref7.props,
138
+ state = _ref7.state;
139
+ return function (item) {
140
+ var decimal = props.modelValue * 100 - Math.floor(props.modelValue) * 100;
141
+ var showWhenDisabled = props.disabled && decimal > 0 && item - 1 < props.modelValue && item > props.modelValue;
142
+ var showWhenAllowHalf = props.allowHalf && state.pointerAtLeftHalf && item - 0.5 <= state.currentValue && item > state.currentValue;
143
+ return showWhenDisabled || showWhenAllowHalf;
144
+ };
145
+ };
146
+ export var getIconStyle = function getIconStyle(_ref8) {
147
+ var api = _ref8.api,
148
+ props = _ref8.props,
149
+ state = _ref8.state;
150
+ return function (item) {
151
+ var isHalf = api.showDecimalIcon(item);
152
+ var voidColor = props.disabled ? props.disabledVoidColor : props.voidColor;
153
+ if (props.radio) {
154
+ return {
155
+ fill: item === state.currentValue ? state.activeColor : voidColor,
156
+ 'font-size': props.size || '18px'
157
+ };
158
+ }
159
+ return {
160
+ fill: isHalf ? 'transparent' : item <= state.currentValue ? state.activeColor : voidColor,
161
+ 'font-size': props.size || '18px'
162
+ };
163
+ };
164
+ };
165
+ export var computedText = function computedText(_ref9) {
166
+ var props = _ref9.props,
167
+ state = _ref9.state;
168
+ var result = '';
169
+ var currentValue = 0;
170
+ if (!isNaN(+state.currentValue)) {
171
+ currentValue = +state.currentValue > 0 ? +state.currentValue : 0;
172
+ }
173
+ if (currentValue > props.texts.length) {
174
+ currentValue = props.texts.length;
175
+ }
176
+ if (props.showScore) {
177
+ result = props.scoreTemplate.replace(/\{\s*value\s*\}/, currentValue);
178
+ return result;
179
+ }
180
+ if (props.showText && currentValue > 0) {
181
+ currentValue = Math.ceil(currentValue) - 1;
182
+ result = props.texts[currentValue];
183
+ }
184
+ return result;
185
+ };
186
+ export var computedDecimalStyle = function computedDecimalStyle(_ref10) {
187
+ var props = _ref10.props,
188
+ state = _ref10.state;
189
+ var width = '';
190
+ var clip = '';
191
+ var clipPath = '';
192
+ var fontSize = '';
193
+ if (props.disabled) {
194
+ width = "".concat(props.modelValue * 100 - Math.floor(props.modelValue) * 100 < 50 ? 0 : 50, "%");
195
+ } else if (props.allowHalf) {
196
+ var reactSize = props.size ? Math.ceil(parseInt(props.size) / 2) + 'px' : '6px';
197
+ clip = "rect(0px, ".concat(reactSize, ", ").concat(props.size || '14px', ", 0px)");
198
+ clipPath = 'inset(0 50% 0 0)';
199
+ fontSize = props.size || '18px';
200
+ }
201
+ return {
202
+ fill: state.activeColor,
203
+ width: width,
204
+ clip: clip,
205
+ clipPath: clipPath,
206
+ fontSize: fontSize
207
+ };
208
+ };
209
+ export var computedClasses = function computedClasses(_ref11) {
210
+ var props = _ref11.props,
211
+ state = _ref11.state;
212
+ var i = 0;
213
+ var result = [];
214
+ var threshold = state.currentValue;
215
+ if (props.radio) {
216
+ result = props.iconClasses;
217
+ } else {
218
+ if (props.allowHalf && state.currentValue !== Math.floor(state.currentValue)) {
219
+ threshold--;
220
+ }
221
+ while (i < threshold) {
222
+ result.push(state.activeClass);
223
+ i++;
224
+ }
225
+ while (i < props.max) {
226
+ result.push(state.voidClass);
227
+ i++;
228
+ }
229
+ }
230
+ return result;
231
+ };
232
+ export var computedClassMap = function computedClassMap(props) {
233
+ return {
234
+ lowClass: props.iconClasses[0],
235
+ mediumClass: props.iconClasses[1],
236
+ highClass: props.iconClasses[2],
237
+ voidClass: props.voidIconClass,
238
+ disabledVoidClass: props.disabledVoidIconClass
239
+ };
240
+ };
241
+ export var computedColorMap = function computedColorMap(props) {
242
+ return {
243
+ lowColor: props.colors[0],
244
+ mediumColor: props.colors[1],
245
+ highColor: props.colors[2],
246
+ voidColor: props.voidColor,
247
+ disabledVoidColor: props.disabledVoidColor
248
+ };
249
+ };
250
+ export var computedVoidClass = function computedVoidClass(_ref12) {
251
+ var props = _ref12.props,
252
+ state = _ref12.state;
253
+ return props.disabled ? state.classMap.disabledVoidClass : state.classMap.voidClass;
254
+ };
package/rate/vue.js ADDED
@@ -0,0 +1,158 @@
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 { getTextStyle, handelKey, resetCurrentValue, setCurrentValue, selectValue, showDecimalIcon, getIconStyle, computedText, computedDecimalStyle, computedClasses, computedColorMap, computedClassMap, computedVoidClass, computedActiveColor, computedActiveClass } from './index';
5
+ import { on, off } from '@opentiny/vue-renderless/common/deps/dom';
6
+ export var api = ['state', 'showDecimalIcon', 'getIconStyle', 'getTextStyle', 'selectValue', 'handelKey', 'setCurrentValue', 'resetCurrentValue'];
7
+ export var useChangeValue = function useChangeValue(_ref) {
8
+ var constants = _ref.constants,
9
+ emit = _ref.emit,
10
+ props = _ref.props,
11
+ reactive = _ref.reactive,
12
+ toRefs = _ref.toRefs,
13
+ watch = _ref.watch,
14
+ onMounted = _ref.onMounted,
15
+ onUnmounted = _ref.onUnmounted,
16
+ parent = _ref.parent;
17
+ var state = reactive({
18
+ hoverIndex: -1,
19
+ currentValue: props.modelValue
20
+ });
21
+ var api = {
22
+ selectValue: selectValue({
23
+ emit: emit,
24
+ props: props,
25
+ state: state
26
+ }),
27
+ resetCurrentValue: resetCurrentValue({
28
+ props: props,
29
+ state: state
30
+ })
31
+ };
32
+ api.setCurrentValue = setCurrentValue({
33
+ constants: constants,
34
+ props: props,
35
+ state: state,
36
+ parent: parent,
37
+ api: api
38
+ });
39
+ watch(function () {
40
+ return props.modelValue;
41
+ }, function (value) {
42
+ state.currentValue = value;
43
+ }, {
44
+ immediate: true
45
+ });
46
+ var updateMousePostion = function updateMousePostion(event) {
47
+ state.mouseTarget = event.target;
48
+ };
49
+ onMounted(function () {
50
+ on(document, 'mousemove', updateMousePostion);
51
+ on(document, 'mouseleave', api.resetCurrentValue);
52
+ });
53
+ onUnmounted(function () {
54
+ off(document, 'mousemove', updateMousePostion);
55
+ off(document, 'mouseleave', api.resetCurrentValue);
56
+ state.mouseTarget = null;
57
+ });
58
+ return {
59
+ api: api,
60
+ state: toRefs(state)
61
+ };
62
+ };
63
+ export var renderless = function renderless(props, _ref2, _ref3) {
64
+ var computed = _ref2.computed,
65
+ reactive = _ref2.reactive,
66
+ toRefs = _ref2.toRefs,
67
+ watch = _ref2.watch,
68
+ onMounted = _ref2.onMounted,
69
+ onUnmounted = _ref2.onUnmounted;
70
+ var constants = _ref3.constants,
71
+ emit = _ref3.emit,
72
+ parent = _ref3.parent;
73
+ var api = {};
74
+ var changeValue = useChangeValue({
75
+ computed: computed,
76
+ constants: constants,
77
+ emit: emit,
78
+ props: props,
79
+ reactive: reactive,
80
+ toRefs: toRefs,
81
+ watch: watch,
82
+ onMounted: onMounted,
83
+ onUnmounted: onUnmounted,
84
+ parent: parent
85
+ });
86
+ var state = reactive(_objectSpread({
87
+ pointerAtLeftHalf: true,
88
+ colorMap: computed(function () {
89
+ return api.computedColorMap(props);
90
+ }),
91
+ classMap: computed(function () {
92
+ return api.computedClassMap(props);
93
+ }),
94
+ text: computed(function () {
95
+ return api.computedText({
96
+ props: props,
97
+ state: state
98
+ });
99
+ }),
100
+ activeClass: computed(function () {
101
+ return api.computedActiveClass(state);
102
+ }),
103
+ activeColor: computed(function () {
104
+ return api.computedActiveColor(state);
105
+ }),
106
+ classes: computed(function () {
107
+ return api.computedClasses({
108
+ props: props,
109
+ state: state
110
+ });
111
+ }),
112
+ decimalIconClass: computed(function () {
113
+ return api.computedActiveClass(state);
114
+ }),
115
+ voidClass: computed(function () {
116
+ return api.computedVoidClass({
117
+ props: props,
118
+ state: state
119
+ });
120
+ }),
121
+ decimalStyle: computed(function () {
122
+ return api.computedDecimalStyle({
123
+ props: props,
124
+ state: state
125
+ });
126
+ })
127
+ }, changeValue.state));
128
+ Object.assign(api, _objectSpread({
129
+ state: state,
130
+ computedText: computedText,
131
+ computedClasses: computedClasses,
132
+ computedClassMap: computedClassMap,
133
+ computedColorMap: computedColorMap,
134
+ computedVoidClass: computedVoidClass,
135
+ computedDecimalStyle: computedDecimalStyle,
136
+ getTextStyle: getTextStyle({
137
+ props: props,
138
+ state: state
139
+ }),
140
+ handelKey: handelKey({
141
+ emit: emit,
142
+ props: props,
143
+ state: state
144
+ }),
145
+ computedActiveColor: computedActiveColor(props),
146
+ computedActiveClass: computedActiveClass(props),
147
+ showDecimalIcon: showDecimalIcon({
148
+ props: props,
149
+ state: state
150
+ }),
151
+ getIconStyle: getIconStyle({
152
+ api: api,
153
+ props: props,
154
+ state: state
155
+ })
156
+ }, changeValue.api));
157
+ return api;
158
+ };
package/row/index.js ADDED
@@ -0,0 +1,19 @@
1
+ export var computedClassName = function computedClassName(_ref) {
2
+ var flex = _ref.flex,
3
+ justify = _ref.justify,
4
+ align = _ref.align;
5
+ var className = [];
6
+ if (flex) {
7
+ className.push('row-flex');
8
+ className.push("row-justify-".concat(justify));
9
+ className.push("row-align-".concat(align));
10
+ }
11
+ return className.join(' ');
12
+ };
13
+ export var computedStyle = function computedStyle(gutter) {
14
+ var value = gutter ? -(gutter / 2) : 0;
15
+ return value ? {
16
+ marginLeft: value + 'px',
17
+ marginRight: value + 'px'
18
+ } : {};
19
+ };
package/row/vue.js ADDED
@@ -0,0 +1,24 @@
1
+ import { computedClassName, computedStyle } from './index';
2
+ export var api = ['state'];
3
+ export var renderless = function renderless(props, _ref) {
4
+ var computed = _ref.computed,
5
+ reactive = _ref.reactive;
6
+ var api = {
7
+ computedStyle: computedStyle,
8
+ computedClassName: computedClassName
9
+ };
10
+ var state = reactive({
11
+ style: computed(function () {
12
+ return api.computedStyle(props.gutter);
13
+ }),
14
+ className: computed(function () {
15
+ return api.computedClassName({
16
+ flex: props.flex,
17
+ justify: props.justify,
18
+ align: props.align
19
+ });
20
+ })
21
+ });
22
+ api.state = state;
23
+ return api;
24
+ };
@@ -0,0 +1,24 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ export var computedBindStyle = function computedBindStyle(_ref) {
3
+ var constants = _ref.constants,
4
+ time = _ref.time;
5
+ return _defineProperty({}, constants.ANIMATION_DURATION, parseInt(time, 10) + 's');
6
+ };
7
+ export var stopAnimation = function stopAnimation(_ref3) {
8
+ var props = _ref3.props,
9
+ state = _ref3.state;
10
+ return function () {
11
+ if (props.hoverStop) {
12
+ state.isStop = true;
13
+ }
14
+ };
15
+ };
16
+ export var startAnimation = function startAnimation(_ref4) {
17
+ var props = _ref4.props,
18
+ state = _ref4.state;
19
+ return function () {
20
+ if (props.hoverStop) {
21
+ state.isStop = false;
22
+ }
23
+ };
24
+ };
@@ -0,0 +1,31 @@
1
+ import { computedBindStyle, stopAnimation, startAnimation } from './index';
2
+ export var api = ['state', 'startAnimation', 'stopAnimation'];
3
+ export var renderless = function renderless(props, _ref, _ref2) {
4
+ var computed = _ref.computed,
5
+ reactive = _ref.reactive;
6
+ var constants = _ref2.constants;
7
+ var api = {
8
+ computedBindStyle: computedBindStyle
9
+ };
10
+ var state = reactive({
11
+ isStop: false,
12
+ bindStyle: computed(function () {
13
+ return api.computedBindStyle({
14
+ constants: constants,
15
+ time: props.time
16
+ });
17
+ })
18
+ });
19
+ Object.assign(api, {
20
+ state: state,
21
+ startAnimation: startAnimation({
22
+ props: props,
23
+ state: state
24
+ }),
25
+ stopAnimation: stopAnimation({
26
+ props: props,
27
+ state: state
28
+ })
29
+ });
30
+ return api;
31
+ };
@@ -0,0 +1,127 @@
1
+ var horizontal = {
2
+ key: 'horizontal',
3
+ offset: 'offsetWidth',
4
+ scroll: 'scrollLeft',
5
+ scrollSize: 'scrollWidth',
6
+ size: 'width',
7
+ axis: 'X',
8
+ client: 'clientX',
9
+ direction: 'left'
10
+ };
11
+ var vertical = {
12
+ key: 'vertical',
13
+ offset: 'offsetHeight',
14
+ scroll: 'scrollTop',
15
+ scrollSize: 'scrollHeight',
16
+ size: 'height',
17
+ axis: 'Y',
18
+ client: 'clientY',
19
+ direction: 'top'
20
+ };
21
+ export var BAR_MAP = {
22
+ horizontal: horizontal,
23
+ vertical: vertical
24
+ };
25
+ export var renderThumbStyle = function renderThumbStyle(_ref) {
26
+ var bar = _ref.bar,
27
+ move = _ref.move,
28
+ size = _ref.size;
29
+ var style = {};
30
+ var translate = "translate".concat(bar.axis, "(").concat(move, "%)");
31
+ style[bar.size] = size;
32
+ Object.assign(style, {
33
+ transform: translate,
34
+ msTransform: translate,
35
+ webkitTransform: translate
36
+ });
37
+ return style;
38
+ };
39
+ export var clickThumbHandler = function clickThumbHandler(_ref2) {
40
+ var api = _ref2.api,
41
+ state = _ref2.state;
42
+ return function (event) {
43
+ if (event.ctrlKey || event.button === 2) {
44
+ return;
45
+ }
46
+ api.startDrag(event);
47
+ state[state.bar.axis] = event.currentTarget[state.bar.offset] - (event[state.bar.client] - event.currentTarget.getBoundingClientRect()[state.bar.direction]);
48
+ };
49
+ };
50
+ export var clickTrackHandler = function clickTrackHandler(_ref3) {
51
+ var refs = _ref3.refs,
52
+ state = _ref3.state;
53
+ return function (event) {
54
+ var offset = Math.abs(event.target.getBoundingClientRect()[state.bar.direction] - event[state.bar.client]);
55
+ var thumbHalf = refs.thumb[state.bar.offset] / 2;
56
+ var thumbPositionPercentage = (offset - thumbHalf) * 100 / refs.bar[state.bar.offset];
57
+ state.wrap[state.bar.scroll] = thumbPositionPercentage * state.wrap[state.bar.scrollSize] / 100;
58
+ };
59
+ };
60
+ export var startDrag = function startDrag(_ref4) {
61
+ var api = _ref4.api,
62
+ on = _ref4.on,
63
+ state = _ref4.state;
64
+ return function (event) {
65
+ event.stopImmediatePropagation();
66
+ state.cursorDown = true;
67
+ on(document, 'mousemove', api.mouseMoveDocumentHandler);
68
+ on(document, 'mouseup', api.mouseUpDocumentHandler);
69
+ document.onselectstart = function () {
70
+ return false;
71
+ };
72
+ };
73
+ };
74
+ export var mouseMoveDocumentHandler = function mouseMoveDocumentHandler(_ref5) {
75
+ var refs = _ref5.refs,
76
+ state = _ref5.state;
77
+ return function (event) {
78
+ if (state.cursorDown === false) {
79
+ return;
80
+ }
81
+ var prevPage = state[state.bar.axis];
82
+ if (!prevPage) {
83
+ return;
84
+ }
85
+ var offset = (refs.bar.getBoundingClientRect()[state.bar.direction] - event[state.bar.client]) * -1;
86
+ var thumbClickPosition = refs.thumb[state.bar.offset] - prevPage;
87
+ var thumbPositionPercentage = (offset - thumbClickPosition) * 100 / refs.bar[state.bar.offset];
88
+ state.wrap[state.bar.scroll] = thumbPositionPercentage * state.wrap[state.bar.scrollSize] / 100;
89
+ };
90
+ };
91
+ export var mouseUpDocumentHandler = function mouseUpDocumentHandler(_ref6) {
92
+ var api = _ref6.api,
93
+ off = _ref6.off,
94
+ state = _ref6.state;
95
+ return function () {
96
+ state.cursorDown = false;
97
+ state[state.bar.axis] = 0;
98
+ off(document, 'mousemove', api.mouseMoveDocumentHandler);
99
+ document.onselectstart = null;
100
+ };
101
+ };
102
+ export var handleScroll = function handleScroll(_ref7) {
103
+ var refs = _ref7.refs,
104
+ state = _ref7.state,
105
+ emit = _ref7.emit;
106
+ return function (event) {
107
+ var wrap = refs.wrap;
108
+ state.moveY = wrap.scrollTop * 100 / wrap.clientHeight;
109
+ state.moveX = wrap.scrollLeft * 100 / wrap.clientWidth;
110
+ emit('scroll', event);
111
+ };
112
+ };
113
+ export var update = function update(_ref8) {
114
+ var refs = _ref8.refs,
115
+ state = _ref8.state;
116
+ return function () {
117
+ var heightPercentage, widthPercentage;
118
+ var wrap = refs.wrap;
119
+ if (!wrap) {
120
+ return;
121
+ }
122
+ heightPercentage = wrap.clientHeight * 100 / wrap.scrollHeight;
123
+ widthPercentage = wrap.clientWidth * 100 / wrap.scrollWidth;
124
+ state.sizeHeight = heightPercentage < 100 ? heightPercentage + '%' : '';
125
+ state.sizeWidth = widthPercentage < 100 ? widthPercentage + '%' : '';
126
+ };
127
+ };
@@ -0,0 +1,49 @@
1
+ import { BAR_MAP, renderThumbStyle, clickThumbHandler, clickTrackHandler, startDrag, mouseMoveDocumentHandler, mouseUpDocumentHandler } from './index';
2
+ import { on, off } from '@opentiny/vue-renderless/common/deps/dom';
3
+ export var api = ['state', 'startDrag', 'renderThumbStyle', 'clickTrackHandler', 'clickThumbHandler', 'mouseUpDocumentHandler', 'mouseMoveDocumentHandler'];
4
+ export var renderless = function renderless(props, _ref, _ref2) {
5
+ var computed = _ref.computed,
6
+ onUnmounted = _ref.onUnmounted,
7
+ reactive = _ref.reactive;
8
+ var refs = _ref2.refs,
9
+ parent = _ref2.parent;
10
+ var state = reactive({
11
+ bar: computed(function () {
12
+ return BAR_MAP[props.vertical ? 'vertical' : 'horizontal'];
13
+ }),
14
+ wrap: computed(function () {
15
+ return parent.$refs.wrap;
16
+ })
17
+ });
18
+ var api = {
19
+ state: state,
20
+ renderThumbStyle: renderThumbStyle,
21
+ clickTrackHandler: clickTrackHandler({
22
+ refs: refs,
23
+ state: state
24
+ }),
25
+ mouseMoveDocumentHandler: mouseMoveDocumentHandler({
26
+ refs: refs,
27
+ state: state
28
+ })
29
+ };
30
+ onUnmounted(function () {
31
+ return off(document, 'mouseup', api.mouseUpDocumentHandler);
32
+ });
33
+ return Object.assign(api, {
34
+ startDrag: startDrag({
35
+ api: api,
36
+ on: on,
37
+ state: state
38
+ }),
39
+ clickThumbHandler: clickThumbHandler({
40
+ api: api,
41
+ state: state
42
+ }),
43
+ mouseUpDocumentHandler: mouseUpDocumentHandler({
44
+ api: api,
45
+ off: off,
46
+ state: state
47
+ })
48
+ });
49
+ };