@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,155 @@
1
+ import { on, off } from '@opentiny/vue-renderless/common/deps/dom';
2
+ export var getTitle = function getTitle(props) {
3
+ return function () {
4
+ if (props.title) {
5
+ return props.title;
6
+ }
7
+ var match = props.options.filter(function (option) {
8
+ return option.value === props.modelValue;
9
+ });
10
+ return match.length ? match[0].text : '';
11
+ };
12
+ };
13
+ export var bindScroll = function bindScroll(_ref) {
14
+ var api = _ref.api,
15
+ parent = _ref.parent;
16
+ return function (value) {
17
+ var action = value ? on : off;
18
+ action(parent.state.scroller, 'scroll', api.onScroll, true);
19
+ };
20
+ };
21
+ export var toggle = function toggle(_ref2) {
22
+ var parent = _ref2.parent,
23
+ props = _ref2.props,
24
+ state = _ref2.state;
25
+ return function (show) {
26
+ if (show === state.showPopup) {
27
+ return;
28
+ }
29
+ state.transition = !props.options.immediate;
30
+ state.showPopup = show;
31
+ if (show) {
32
+ parent.updateOffset();
33
+ state.showWrapper = true;
34
+ }
35
+ };
36
+ };
37
+ export var onScroll = function onScroll(parent) {
38
+ return function () {
39
+ return parent.updateOffset();
40
+ };
41
+ };
42
+ export var clickWrapper = function clickWrapper(parent) {
43
+ return function (event) {
44
+ return parent.$el && event.stopPropagation();
45
+ };
46
+ };
47
+ export var clickItem = function clickItem(_ref3) {
48
+ var emit = _ref3.emit,
49
+ props = _ref3.props,
50
+ state = _ref3.state;
51
+ return function (value) {
52
+ state.showPopup = false;
53
+ if (value !== props.modelValue) {
54
+ emit('update:modelValue', value);
55
+ emit('change', value);
56
+ }
57
+ };
58
+ };
59
+ export var getItemStyle = function getItemStyle(_ref4) {
60
+ var parent = _ref4.parent,
61
+ state = _ref4.state;
62
+ return function () {
63
+ return {
64
+ zIndex: parent.zIndex,
65
+ top: parent.direction === 'down' ? state.offset + 'px' : '',
66
+ bottom: parent.direction !== 'down' ? state.offset + 'px' : ''
67
+ };
68
+ };
69
+ };
70
+ export var getOptionStyle = function getOptionStyle(state) {
71
+ return function (tag, tags) {
72
+ if (tags.indexOf(tag.value) > -1) {
73
+ return {
74
+ color: state.activeColor ? state.activeColor : '#f36f64',
75
+ border: "1px solid ".concat(state.activeColor ? state.activeColor : '#f36f64')
76
+ };
77
+ } else {
78
+ return {
79
+ color: '#333'
80
+ };
81
+ }
82
+ };
83
+ };
84
+ export var closed = function closed(_ref5) {
85
+ var emit = _ref5.emit,
86
+ state = _ref5.state;
87
+ return function () {
88
+ state.showWrapper = false;
89
+ emit('closed');
90
+ };
91
+ };
92
+ export var open = function open(emit) {
93
+ return function () {
94
+ return emit('open');
95
+ };
96
+ };
97
+ export var opened = function opened(emit) {
98
+ return function () {
99
+ return emit('opened');
100
+ };
101
+ };
102
+ export var close = function close(emit) {
103
+ return function () {
104
+ return emit('close');
105
+ };
106
+ };
107
+ export var tagClick = function tagClick(_ref6) {
108
+ var emit = _ref6.emit,
109
+ props = _ref6.props;
110
+ return function (key, tag, event) {
111
+ event.preventDefault();
112
+ event.stopPropagation();
113
+ var filterValue = props.modelValue.slice();
114
+ var value = filterValue[key];
115
+ var index = value.indexOf(tag.value);
116
+ if (index === -1) {
117
+ value.push(tag.value);
118
+ } else {
119
+ value.splice(index, 1);
120
+ }
121
+ filterValue[key] = value;
122
+ emit('update:modelValue', filterValue);
123
+ };
124
+ };
125
+ export var confirm = function confirm(_ref7) {
126
+ var emit = _ref7.emit,
127
+ props = _ref7.props,
128
+ state = _ref7.state;
129
+ return function () {
130
+ state.showPopup = false;
131
+ emit('confirm', props.modelValue);
132
+ };
133
+ };
134
+ export var reset = function reset(_ref8) {
135
+ var emit = _ref8.emit,
136
+ props = _ref8.props;
137
+ return function () {
138
+ var len = props.modelValue.length;
139
+ var array = [];
140
+ for (var i = 0; i < len; i++) {
141
+ array.push([]);
142
+ }
143
+ emit('update:modelValue', array);
144
+ emit('reset', array);
145
+ };
146
+ };
147
+ export var clickOutside = function clickOutside(parent) {
148
+ return function () {
149
+ if (parent.closeOnClickOutside && parent.closeOnClickOverlay) {
150
+ parent.state.children.forEach(function (item) {
151
+ item.toggle(false);
152
+ });
153
+ }
154
+ };
155
+ };
@@ -0,0 +1,124 @@
1
+ import { tagClick, confirm, clickOutside, getOptionStyle, reset, getTitle, bindScroll, toggle, onScroll, open, opened, close, closed, clickItem, clickWrapper, getItemStyle } from './index';
2
+ export var api = ['state', 'confirm', 'clickOutside', 'getOptionStyle', 'reset', 'tagClick', 'clickItem', 'clickWrapper', 'toggle', 'open', 'opened', 'close', 'closed'];
3
+ var initState = function initState(_ref) {
4
+ var reactive = _ref.reactive,
5
+ computed = _ref.computed,
6
+ api = _ref.api,
7
+ props = _ref.props,
8
+ parent = _ref.parent;
9
+ var state = reactive({
10
+ sort: props.modelValue,
11
+ transition: true,
12
+ getTitle: false,
13
+ showWrapper: false,
14
+ showPopup: false,
15
+ duration: parent.duration,
16
+ overlay: computed(function () {
17
+ return parent.overlay;
18
+ }),
19
+ offset: computed(function () {
20
+ return parent.state.offset;
21
+ }),
22
+ direction: computed(function () {
23
+ return parent.direction;
24
+ }),
25
+ displayTitle: computed(function () {
26
+ return api.getTitle();
27
+ }),
28
+ itemStyle: computed(function () {
29
+ return api.getItemStyle();
30
+ }),
31
+ activeColor: computed(function () {
32
+ return parent.activeColor;
33
+ }),
34
+ closeOnClickOverlay: computed(function () {
35
+ return parent.closeOnClickOverlay;
36
+ })
37
+ });
38
+ return state;
39
+ };
40
+ var initApi = function initApi(_ref2) {
41
+ var api = _ref2.api,
42
+ state = _ref2.state,
43
+ emit = _ref2.emit,
44
+ props = _ref2.props,
45
+ parent = _ref2.parent;
46
+ Object.assign(api, {
47
+ state: state,
48
+ open: open(emit),
49
+ opened: opened(emit),
50
+ close: close(emit),
51
+ getTitle: getTitle(props),
52
+ onScroll: onScroll(parent),
53
+ reset: reset({
54
+ emit: emit,
55
+ props: props
56
+ }),
57
+ closed: closed({
58
+ emit: emit,
59
+ state: state
60
+ }),
61
+ clickWrapper: clickWrapper(parent),
62
+ clickOutside: clickOutside(parent),
63
+ tagClick: tagClick({
64
+ emit: emit,
65
+ props: props
66
+ }),
67
+ getOptionStyle: getOptionStyle(state),
68
+ toggle: toggle({
69
+ parent: parent,
70
+ props: props,
71
+ state: state
72
+ }),
73
+ clickItem: clickItem({
74
+ emit: emit,
75
+ props: props,
76
+ state: state
77
+ }),
78
+ getItemStyle: getItemStyle({
79
+ parent: parent,
80
+ state: state
81
+ }),
82
+ bindScroll: bindScroll({
83
+ api: api,
84
+ parent: parent
85
+ }),
86
+ confirm: confirm({
87
+ emit: emit,
88
+ props: props,
89
+ state: state
90
+ })
91
+ });
92
+ };
93
+ export var renderless = function renderless(props, _ref3, _ref4) {
94
+ var computed = _ref3.computed,
95
+ onMounted = _ref3.onMounted,
96
+ reactive = _ref3.reactive,
97
+ watch = _ref3.watch;
98
+ var parent = _ref4.parent,
99
+ emit = _ref4.emit,
100
+ vm = _ref4.vm;
101
+ var api = {};
102
+ parent = parent.$parent;
103
+ var state = initState({
104
+ reactive: reactive,
105
+ computed: computed,
106
+ api: api,
107
+ props: props,
108
+ parent: parent
109
+ });
110
+ initApi({
111
+ api: api,
112
+ state: state,
113
+ emit: emit,
114
+ props: props,
115
+ parent: parent
116
+ });
117
+ watch(function () {
118
+ return state.showPopup;
119
+ }, api.bindScroll);
120
+ onMounted(function () {
121
+ parent.state.children.push(vm);
122
+ });
123
+ return api;
124
+ };
@@ -0,0 +1,148 @@
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 userPopper from '@opentiny/vue-renderless/common/deps/vue-popper';
5
+ export var toggleItem = function toggleItem(state) {
6
+ return function (active, item) {
7
+ if (item.disabled) {
8
+ return;
9
+ }
10
+ if (item.type == 'sort') {
11
+ if (!item.modelValue || item.modelValue === 'desc') {
12
+ item.state.sort = 'asc';
13
+ item.$emit('update:modelValue', 'asc');
14
+ item.$emit('click', 'asc');
15
+ } else {
16
+ item.state.sort = 'desc';
17
+ item.$emit('update:modelValue', 'desc');
18
+ item.$emit('click', 'desc');
19
+ }
20
+ } else {
21
+ var singleton = state.children.length === 1 && item.state.showPopup;
22
+ state.children.forEach(function (item, index) {
23
+ if (index === active && !singleton) {
24
+ item.toggle(true);
25
+ } else if (item.state.showPopup) {
26
+ item.toggle(false, {
27
+ immediate: true
28
+ });
29
+ }
30
+ });
31
+ }
32
+ };
33
+ };
34
+ export var updateOffset = function updateOffset(_ref) {
35
+ var props = _ref.props,
36
+ state = _ref.state,
37
+ refs = _ref.refs;
38
+ return function () {
39
+ if (!refs.menu) {
40
+ return;
41
+ }
42
+ var rect = refs.menu.getBoundingClientRect();
43
+ if (props.direction === 'down') {
44
+ state.offset = rect.bottom;
45
+ } else {
46
+ state.offset = window.innerHeight - rect.top;
47
+ }
48
+ };
49
+ };
50
+ export var clickOutside = function clickOutside(_ref2) {
51
+ var props = _ref2.props,
52
+ state = _ref2.state;
53
+ return function () {
54
+ if (props.closeOnClickOutside && props.closeOnClickOverlay) {
55
+ state.children.forEach(function (item) {
56
+ item.type !== 'filter' && item.toggle(false);
57
+ });
58
+ }
59
+ };
60
+ };
61
+ export var getScroller = function getScroller(el, root) {
62
+ var overflowScrollReg = /scroll|auto/i;
63
+ var node = el;
64
+ var getComputedStyle = window.getComputedStyle;
65
+ while (node && node.tagName !== 'HTML' && node.nodeType === 1 && node !== root) {
66
+ var _getComputedStyle = getComputedStyle(node),
67
+ overflowY = _getComputedStyle.overflowY;
68
+ if (overflowScrollReg.test(overflowY)) {
69
+ if (node.tagName !== 'BODY') {
70
+ return node;
71
+ }
72
+ var _getComputedStyle2 = getComputedStyle(node.parentNode),
73
+ htmlOverflowY = _getComputedStyle2.overflowY;
74
+ if (overflowScrollReg.test(htmlOverflowY)) {
75
+ return node;
76
+ }
77
+ }
78
+ node = node.parentNode;
79
+ }
80
+ return root;
81
+ };
82
+ export var useVuePopper = function useVuePopper(_ref3) {
83
+ var api = _ref3.api,
84
+ props = _ref3.props,
85
+ hooks = _ref3.hooks,
86
+ instance = _ref3.instance,
87
+ state = _ref3.state;
88
+ var inject = hooks.inject,
89
+ nextTick = hooks.nextTick,
90
+ onBeforeUnmount = hooks.onBeforeUnmount,
91
+ onDeactivated = hooks.onDeactivated,
92
+ onMounted = hooks.onMounted,
93
+ reactive = hooks.reactive,
94
+ toRefs = hooks.toRefs,
95
+ watch = hooks.watch;
96
+ var emit = instance.emit,
97
+ refs = instance.refs,
98
+ slots = instance.slots,
99
+ vm = instance.vm,
100
+ parent = instance.parent;
101
+ var dropdown = inject('dropdown');
102
+ var popper = userPopper({
103
+ emit: emit,
104
+ nextTick: nextTick,
105
+ onBeforeUnmount: onBeforeUnmount,
106
+ onDeactivated: onDeactivated,
107
+ props: _objectSpread({
108
+ popperOptions: {
109
+ boundariesPadding: 0,
110
+ gpuAcceleration: false
111
+ },
112
+ offset: 0,
113
+ boundariesPadding: 5
114
+ }, props),
115
+ reactive: reactive,
116
+ refs: refs,
117
+ slots: slots,
118
+ toRefs: toRefs,
119
+ watch: watch
120
+ });
121
+ onMounted(function () {
122
+ dropdown.popperElm = popper.popperElm.value = vm.$el;
123
+ popper.referenceElm.value = dropdown.$el;
124
+ dropdown.initDomOperation();
125
+ });
126
+ onBeforeUnmount(function () {
127
+ popper.destroyPopper('remove');
128
+ popper.popperElm = null;
129
+ popper.referenceElm = null;
130
+ });
131
+ api.doDestroy = popper.doDestroy;
132
+ state.size = dropdown.size;
133
+ state.showPopper = popper.showPopper.value;
134
+ parent.$on('updatePopper', function () {
135
+ if (state.showPopper) {
136
+ popper.updatePopper();
137
+ }
138
+ });
139
+ parent.$on('visible', function (value) {
140
+ state.showPopper = value;
141
+ popper.showPopper.value = value;
142
+ });
143
+ watch(function () {
144
+ return props.placement;
145
+ }, function (value) {
146
+ popper.currentPlacement.value = value;
147
+ });
148
+ };
@@ -0,0 +1,44 @@
1
+ import { toggleItem, updateOffset, clickOutside, getScroller, useVuePopper } from './index';
2
+ export var api = ['state', 'toggleItem', 'updateOffset', 'clickOutside', 'doDestroy'];
3
+ export var renderless = function renderless(props, hooks, instance) {
4
+ var api = {};
5
+ var reactive = hooks.reactive;
6
+ var refs = instance.refs,
7
+ nextTick = instance.nextTick,
8
+ mode = instance.mode;
9
+ var state = reactive({
10
+ offset: 0,
11
+ scroller: null,
12
+ children: [],
13
+ size: '',
14
+ showPopper: false
15
+ });
16
+ if (mode === 'mobile') {
17
+ nextTick(function () {
18
+ state.scroller = getScroller(refs.menu);
19
+ });
20
+ } else {
21
+ useVuePopper({
22
+ api: api,
23
+ hooks: hooks,
24
+ props: props,
25
+ instance: instance,
26
+ state: state
27
+ });
28
+ }
29
+ Object.assign(api, {
30
+ state: state,
31
+ toggleItem: toggleItem(state),
32
+ clickOutside: clickOutside({
33
+ props: props,
34
+ refs: refs,
35
+ state: state
36
+ }),
37
+ updateOffset: updateOffset({
38
+ props: props,
39
+ state: state,
40
+ refs: refs
41
+ })
42
+ });
43
+ return api;
44
+ };
@@ -0,0 +1,13 @@
1
+ export var create = function create(emit) {
2
+ return function () {
3
+ return emit('click');
4
+ };
5
+ };
6
+ export var getMessage = function getMessage(_ref) {
7
+ var props = _ref.props,
8
+ t = _ref.t;
9
+ return function () {
10
+ var types = ['build', 'weaknet', 'pcview', 'busy', 'noperm'];
11
+ return props.message || t("ui.exception.".concat(~types.indexOf(props.type) ? props.type : 'nodata'));
12
+ };
13
+ };
@@ -0,0 +1,25 @@
1
+ import { create, getMessage } from './index';
2
+ export var api = ['state', 'create'];
3
+ export var renderless = function renderless(props, _ref, _ref2) {
4
+ var computed = _ref.computed,
5
+ reactive = _ref.reactive;
6
+ var t = _ref2.t,
7
+ emit = _ref2.emit;
8
+ var api = {
9
+ create: create(emit),
10
+ getMessage: getMessage({
11
+ props: props,
12
+ t: t
13
+ })
14
+ };
15
+ var state = reactive({
16
+ message: computed(function () {
17
+ return api.getMessage({
18
+ props: props,
19
+ t: t
20
+ });
21
+ })
22
+ });
23
+ api.state = state;
24
+ return api;
25
+ };
@@ -0,0 +1,121 @@
1
+ import { REFRESH_INTERVAL } from '@opentiny/vue-renderless/common';
2
+ import { on, off } from '@opentiny/vue-renderless/common/deps/dom';
3
+ import PopupManager from '@opentiny/vue-renderless/common/deps/popup-manager';
4
+ import { xss } from '@opentiny/vue-renderless/common/xss.js';
5
+ export var arrowClick = function arrowClick(state) {
6
+ return function (opt) {
7
+ state.pager += opt;
8
+ };
9
+ };
10
+ export var overContent = function overContent(state) {
11
+ return function (on) {
12
+ state.isActive = on;
13
+ };
14
+ };
15
+ export var mouseover = function mouseover(_ref) {
16
+ var fall = _ref.fall,
17
+ props = _ref.props,
18
+ state = _ref.state;
19
+ return function (index) {
20
+ var popupBox = fall.value;
21
+ state.activeNode = index;
22
+ var level2Array = props.data[index].children || [];
23
+ level2Array.forEach(function (level2) {
24
+ var level3Array = level2.children || [];
25
+ level3Array.forEach(function (level3) {
26
+ level3.url = xss.filterUrl(level3.url);
27
+ });
28
+ });
29
+ state.level2data = level2Array;
30
+ if (popupBox && state.level2data.length > 0) {
31
+ popupBox.style.zIndex = PopupManager.nextZIndex();
32
+ state.isActive = true;
33
+ }
34
+ };
35
+ };
36
+ export var mouseout = function mouseout(state) {
37
+ return function () {
38
+ state.isActive = false;
39
+ state.activeNode = null;
40
+ };
41
+ };
42
+ export var computePx = function computePx(_ref2) {
43
+ var props = _ref2.props,
44
+ refs = _ref2.refs,
45
+ state = _ref2.state;
46
+ return function () {
47
+ var list = refs.list;
48
+ var width = list.parentElement.clientWidth;
49
+ var arr = list.querySelectorAll('li');
50
+ var set = {
51
+ data: [],
52
+ offset: [],
53
+ index: []
54
+ };
55
+ var liWidth = [];
56
+ var innerwidth = 0;
57
+ var start = 0;
58
+ for (var i = 0, len = arr.length; i < len; i++) {
59
+ innerwidth += arr[i].clientWidth;
60
+ liWidth.push(arr[i].clientWidth);
61
+ if (innerwidth > width || i === len - 1) {
62
+ set.data.push(props.data.slice(start, i));
63
+ set.offset.push("-".concat(arr[start].offsetLeft, "px"));
64
+ set.index.push(i);
65
+ innerwidth = arr[i].clientWidth;
66
+ start = i;
67
+ }
68
+ }
69
+ var pagers = set.index.length;
70
+ var lastRange = set.data.length === 1 ? liWidth : liWidth.slice(set.index[pagers - 2], set.index[pagers]);
71
+ if (lastRange.reduce(function (a, b) {
72
+ return a + b;
73
+ }) > width) {
74
+ set.data.push(props.data[start]);
75
+ set.offset.push("-".concat(arr[start].offsetLeft, "px"));
76
+ }
77
+ set.size = set.data.length;
78
+ state.pagerData = set;
79
+ };
80
+ };
81
+ export var reRender = function reRender(_ref3) {
82
+ var api = _ref3.api,
83
+ state = _ref3.state,
84
+ timeout = _ref3.timeout;
85
+ return function () {
86
+ timeout && clearTimeout(timeout);
87
+ timeout = setTimeout(function () {
88
+ api.computePx();
89
+ }, REFRESH_INTERVAL);
90
+ state.pager = 1;
91
+ };
92
+ };
93
+ export var mounted = function mounted(_ref4) {
94
+ var api = _ref4.api;
95
+ return function () {
96
+ api.computePx();
97
+ on(window, 'resize', api.reRender);
98
+ };
99
+ };
100
+ export var beforeDestroy = function beforeDestroy(api) {
101
+ return function () {
102
+ return off(window, 'resize', api.reRender);
103
+ };
104
+ };
105
+ export var computeLeft = function computeLeft(_ref5) {
106
+ var state = _ref5.state;
107
+ return function () {
108
+ return state.pagerData.offset[state.pager - 1];
109
+ };
110
+ };
111
+ export var computeData = function computeData(_ref6) {
112
+ var props = _ref6.props;
113
+ return function () {
114
+ if (Array.isArray(props.data) && props.data.length) {
115
+ props.data.forEach(function (level1) {
116
+ level1.url = xss.filterUrl(level1.url);
117
+ });
118
+ }
119
+ return props.data;
120
+ };
121
+ };