@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,28 @@
1
+ export var visibleHandle = function visibleHandle(emit) {
2
+ return function () {
3
+ emit('update:visible', false);
4
+ emit('close', false);
5
+ };
6
+ };
7
+ export var watchVisible = function watchVisible(_ref) {
8
+ var emit = _ref.emit,
9
+ props = _ref.props,
10
+ state = _ref.state;
11
+ return function (value) {
12
+ state.active = props.modelValue;
13
+ setTimeout(function () {
14
+ value ? state.toggle = true : state.toggle = false;
15
+ }, 0);
16
+ emit('update:visible', value);
17
+ };
18
+ };
19
+ export var menuHandle = function menuHandle(_ref2) {
20
+ var emit = _ref2.emit,
21
+ state = _ref2.state;
22
+ return function (item) {
23
+ state.active = item.id;
24
+ emit('update:visible', false);
25
+ emit('update:modelValue', item.id);
26
+ emit('click', item);
27
+ };
28
+ };
@@ -0,0 +1,29 @@
1
+ import { visibleHandle, watchVisible, menuHandle } from './index';
2
+ export var api = ['state', 'visibleHandle', 'menuHandle'];
3
+ export var renderless = function renderless(props, _ref, _ref2) {
4
+ var reactive = _ref.reactive,
5
+ watch = _ref.watch;
6
+ var emit = _ref2.emit;
7
+ var api = {};
8
+ var state = reactive({
9
+ toggle: false,
10
+ active: null
11
+ });
12
+ watch(function () {
13
+ return props.visible;
14
+ }, api.watchVisible);
15
+ Object.assign(api, {
16
+ state: state,
17
+ menuHandle: menuHandle({
18
+ state: state,
19
+ emit: emit
20
+ }),
21
+ visibleHandle: visibleHandle(emit),
22
+ watchVisible: watchVisible({
23
+ emit: emit,
24
+ props: props,
25
+ state: state
26
+ })
27
+ });
28
+ return api;
29
+ };
package/alert/index.js ADDED
@@ -0,0 +1,23 @@
1
+ export var close = function close(_ref) {
2
+ var emit = _ref.emit,
3
+ state = _ref.state;
4
+ return function () {
5
+ state.show = false;
6
+ emit('close');
7
+ };
8
+ };
9
+ export var computedGetIcon = function computedGetIcon(_ref2) {
10
+ var constants = _ref2.constants,
11
+ props = _ref2.props;
12
+ return function () {
13
+ return props.icon || constants.ICON_MAP[props.type];
14
+ };
15
+ };
16
+ export var computedGetTitle = function computedGetTitle(_ref3) {
17
+ var constants = _ref3.constants,
18
+ t = _ref3.t,
19
+ props = _ref3.props;
20
+ return function () {
21
+ return props.title || t(constants.TITLE_MAP[props.type]);
22
+ };
23
+ };
package/alert/vue.js ADDED
@@ -0,0 +1,37 @@
1
+ import { close, computedGetIcon, computedGetTitle } from './index';
2
+ export var api = ['close', 'state'];
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
+ constants = _ref2.constants;
9
+ var api = {
10
+ computedGetIcon: computedGetIcon({
11
+ constants: constants,
12
+ props: props
13
+ }),
14
+ computedGetTitle: computedGetTitle({
15
+ constants: constants,
16
+ props: props,
17
+ t: t
18
+ })
19
+ };
20
+ var state = reactive({
21
+ show: true,
22
+ getIcon: computed(function () {
23
+ return api.computedGetIcon();
24
+ }),
25
+ getTitle: computed(function () {
26
+ return api.computedGetTitle();
27
+ })
28
+ });
29
+ Object.assign(api, {
30
+ state: state,
31
+ close: close({
32
+ state: state,
33
+ emit: emit
34
+ })
35
+ });
36
+ return api;
37
+ };
@@ -0,0 +1,175 @@
1
+ export var getData = function getData(_ref) {
2
+ var props = _ref.props,
3
+ state = _ref.state,
4
+ updatePopper = _ref.updatePopper,
5
+ nextTick = _ref.nextTick;
6
+ return function (queryString) {
7
+ if (state.suggestionDisabled) {
8
+ return;
9
+ }
10
+ state.loading = true;
11
+ props.fetchSuggestions(queryString, function (suggestions) {
12
+ state.loading = false;
13
+ if (state.suggestionDisabled) {
14
+ return;
15
+ }
16
+ if (Array.isArray(suggestions)) {
17
+ state.suggestions = suggestions;
18
+ state.highlightedIndex = props.highlightFirstItem ? 0 : -1;
19
+ } else {
20
+ throw new Error('[TINY Error][Autocomplete]autocomplete suggestions must be an array');
21
+ }
22
+ nextTick(updatePopper);
23
+ });
24
+ };
25
+ };
26
+ export var handleChange = function handleChange(_ref2) {
27
+ var api = _ref2.api,
28
+ emit = _ref2.emit,
29
+ state = _ref2.state,
30
+ props = _ref2.props;
31
+ return function (value) {
32
+ state.activated = true;
33
+ emit('update:modelValue', value);
34
+ state.suggestionDisabled = false;
35
+ if (!props.triggerOnFocus && !value) {
36
+ state.suggestionDisabled = true;
37
+ state.suggestions = [];
38
+ return;
39
+ }
40
+ api.debouncedGetData(value);
41
+ };
42
+ };
43
+ export var handleFocus = function handleFocus(_ref3) {
44
+ var api = _ref3.api,
45
+ emit = _ref3.emit,
46
+ props = _ref3.props,
47
+ state = _ref3.state;
48
+ return function (event) {
49
+ state.activated = true;
50
+ emit('focus', event);
51
+ if (props.triggerOnFocus) {
52
+ state.suggestionDisabled = false;
53
+ api.debouncedGetData(props.modelValue);
54
+ }
55
+ };
56
+ };
57
+ export var handleBlur = function handleBlur(_ref4) {
58
+ var emit = _ref4.emit,
59
+ state = _ref4.state;
60
+ return function (event) {
61
+ state.suggestionDisabled = true;
62
+ emit('blur', event);
63
+ };
64
+ };
65
+ export var handleClear = function handleClear(_ref5) {
66
+ var emit = _ref5.emit,
67
+ state = _ref5.state;
68
+ return function () {
69
+ state.activated = false;
70
+ emit('clear');
71
+ };
72
+ };
73
+ export var close = function close(state) {
74
+ return function () {
75
+ state.activated = false;
76
+ };
77
+ };
78
+ export var handleKeyEnter = function handleKeyEnter(_ref6) {
79
+ var api = _ref6.api,
80
+ emit = _ref6.emit,
81
+ nextTick = _ref6.nextTick,
82
+ props = _ref6.props,
83
+ state = _ref6.state;
84
+ return function (event) {
85
+ if (state.suggestionVisible && state.highlightedIndex >= 0 && state.highlightedIndex < state.suggestions.length) {
86
+ event.preventDefault();
87
+ api.select(state.suggestions[state.highlightedIndex]);
88
+ } else if (props.selectWhenUnmatched) {
89
+ emit('select', {
90
+ value: props.modelValue
91
+ });
92
+ nextTick(function () {
93
+ state.suggestions = [];
94
+ state.highlightedIndex = -1;
95
+ });
96
+ }
97
+ };
98
+ };
99
+ export var select = function select(_ref7) {
100
+ var emit = _ref7.emit,
101
+ nextTick = _ref7.nextTick,
102
+ props = _ref7.props,
103
+ state = _ref7.state;
104
+ return function (item) {
105
+ emit('update:modelValue', item[props.valueKey]);
106
+ emit('select', item);
107
+ nextTick(function () {
108
+ state.activated = false;
109
+ state.suggestions = [];
110
+ state.highlightedIndex = -1;
111
+ });
112
+ };
113
+ };
114
+ export var highlight = function highlight(_ref8) {
115
+ var constants = _ref8.constants,
116
+ refs = _ref8.refs,
117
+ state = _ref8.state;
118
+ return function (index) {
119
+ if (!state.suggestionVisible || state.loading) {
120
+ return;
121
+ }
122
+ if (index < 0) {
123
+ state.highlightedIndex = -1;
124
+ return;
125
+ }
126
+ if (index >= state.suggestions.length) {
127
+ index = state.suggestions.length - 1;
128
+ }
129
+ var suggestion = refs.popper.querySelector(constants.WARP_CLS);
130
+ var suggestionList = suggestion.querySelectorAll(constants.ITEM_CLS);
131
+ var highlightItem = suggestionList[index];
132
+ var scrollTop = suggestion.scrollTop;
133
+ var offsetTop = highlightItem.offsetTop;
134
+ if (offsetTop + highlightItem.scrollHeight > scrollTop + suggestion.clientHeight) {
135
+ suggestion.scrollTop += highlightItem.scrollHeight;
136
+ }
137
+ if (offsetTop < scrollTop) {
138
+ suggestion.scrollTop -= highlightItem.scrollHeight;
139
+ }
140
+ state.highlightedIndex = index;
141
+ var $input = refs.input.getInput();
142
+ $input.setAttribute('aria-activedescendant', "".concat(state.id, "-item-").concat(state.highlightedIndex));
143
+ };
144
+ };
145
+ export var computedVisible = function computedVisible(state) {
146
+ var suggestions = state.suggestions;
147
+ var isValidData = Array.isArray(suggestions) && suggestions.length > 0;
148
+ return (isValidData || state.loading) && state.activated;
149
+ };
150
+ export var watchVisible = function watchVisible(_ref9) {
151
+ var suggestionState = _ref9.suggestionState,
152
+ refs = _ref9.refs;
153
+ return function (val) {
154
+ var $input = refs.input.getInput();
155
+ if ($input) {
156
+ suggestionState.dropdownWidth = $input.offsetWidth + 'px';
157
+ suggestionState.showPopper = val;
158
+ }
159
+ };
160
+ };
161
+ export var mounted = function mounted(_ref10) {
162
+ var refs = _ref10.refs,
163
+ state = _ref10.state,
164
+ suggestionState = _ref10.suggestionState;
165
+ return function () {
166
+ var input = refs.input;
167
+ var $input = input.getInput();
168
+ suggestionState.popperElm = refs.popper;
169
+ suggestionState.referenceElm = $input;
170
+ $input.setAttribute('role', 'textbox');
171
+ $input.setAttribute('aria-autocomplete', 'list');
172
+ $input.setAttribute('aria-controls', 'id');
173
+ $input.setAttribute('aria-activedescendant', "".concat(state.id, "-item-").concat(state.highlightedIndex));
174
+ };
175
+ };
@@ -0,0 +1,171 @@
1
+ import debounce from '@opentiny/vue-renderless/common/deps/debounce';
2
+ import userPopper from '@opentiny/vue-renderless/common/deps/vue-popper';
3
+ import { guid } from '@opentiny/vue-renderless/common/string';
4
+ import { computedVisible, watchVisible, mounted, getData, handleChange, handleFocus, handleBlur, handleClear, close, handleKeyEnter, select, highlight } from './index';
5
+ export var api = ['state', 'select', 'suggestionState', 'getInput', 'handleChange', 'close', 'handleFocus', 'handleBlur', 'handleClear', 'handleKeyEnter', 'highlight', 'select', 'doDestroy'];
6
+ var initState = function initState(_ref) {
7
+ var reactive = _ref.reactive,
8
+ $prefix = _ref.$prefix,
9
+ computed = _ref.computed;
10
+ var state = reactive({
11
+ activated: false,
12
+ suggestions: [],
13
+ loading: false,
14
+ highlightedIndex: -1,
15
+ suggestionDisabled: false,
16
+ id: $prefix + '-' + guid(),
17
+ suggestionVisible: computed(function () {
18
+ return computedVisible(state);
19
+ })
20
+ });
21
+ return state;
22
+ };
23
+ var initSuggestionState = function initSuggestionState(_ref2) {
24
+ var reactive = _ref2.reactive,
25
+ parent = _ref2.parent,
26
+ showPopper = _ref2.showPopper,
27
+ popperElm = _ref2.popperElm,
28
+ referenceElm = _ref2.referenceElm;
29
+ return reactive({
30
+ parent: parent,
31
+ dropdownWidth: '',
32
+ showPopper: showPopper,
33
+ popperElm: popperElm,
34
+ referenceElm: referenceElm
35
+ });
36
+ };
37
+ var initApi = function initApi(_ref3) {
38
+ var api = _ref3.api,
39
+ state = _ref3.state,
40
+ doDestroy = _ref3.doDestroy,
41
+ suggestionState = _ref3.suggestionState,
42
+ emit = _ref3.emit,
43
+ refs = _ref3.refs,
44
+ props = _ref3.props,
45
+ updatePopper = _ref3.updatePopper,
46
+ nextTick = _ref3.nextTick,
47
+ constants = _ref3.constants;
48
+ api.getData = getData({
49
+ props: props,
50
+ state: state,
51
+ updatePopper: updatePopper,
52
+ nextTick: nextTick
53
+ });
54
+ Object.assign(api, {
55
+ state: state,
56
+ doDestroy: doDestroy,
57
+ suggestionState: suggestionState,
58
+ close: close(state),
59
+ handleBlur: handleBlur({
60
+ emit: emit,
61
+ state: state
62
+ }),
63
+ mounted: mounted({
64
+ refs: refs,
65
+ state: state,
66
+ suggestionState: suggestionState
67
+ }),
68
+ highlight: highlight({
69
+ constants: constants,
70
+ refs: refs,
71
+ state: state
72
+ }),
73
+ handleClear: handleClear({
74
+ emit: emit,
75
+ state: state
76
+ }),
77
+ select: select({
78
+ emit: emit,
79
+ nextTick: nextTick,
80
+ props: props,
81
+ state: state
82
+ }),
83
+ watchVisible: watchVisible({
84
+ suggestionState: suggestionState,
85
+ refs: refs
86
+ }),
87
+ handleChange: handleChange({
88
+ api: api,
89
+ emit: emit,
90
+ state: state,
91
+ props: props
92
+ }),
93
+ handleFocus: handleFocus({
94
+ api: api,
95
+ emit: emit,
96
+ props: props,
97
+ state: state
98
+ }),
99
+ handleKeyEnter: handleKeyEnter({
100
+ api: api,
101
+ emit: emit,
102
+ nextTick: nextTick,
103
+ props: props,
104
+ state: state
105
+ }),
106
+ debouncedGetData: debounce(props.debounce, api.getData)
107
+ });
108
+ };
109
+ export var renderless = function renderless(props, _ref4, _ref5) {
110
+ var computed = _ref4.computed,
111
+ onBeforeUnmount = _ref4.onBeforeUnmount,
112
+ onMounted = _ref4.onMounted,
113
+ reactive = _ref4.reactive,
114
+ watch = _ref4.watch,
115
+ toRefs = _ref4.toRefs,
116
+ onDeactivated = _ref4.onDeactivated;
117
+ var $prefix = _ref5.$prefix,
118
+ refs = _ref5.refs,
119
+ parent = _ref5.parent,
120
+ emit = _ref5.emit,
121
+ constants = _ref5.constants,
122
+ nextTick = _ref5.nextTick,
123
+ slots = _ref5.slots;
124
+ var api = {};
125
+ var state = initState({
126
+ reactive: reactive,
127
+ $prefix: $prefix,
128
+ computed: computed
129
+ });
130
+ var _userPopper = userPopper({
131
+ reactive: reactive,
132
+ watch: watch,
133
+ refs: refs,
134
+ emit: emit,
135
+ slots: slots,
136
+ nextTick: nextTick,
137
+ props: props,
138
+ onBeforeUnmount: onBeforeUnmount,
139
+ toRefs: toRefs,
140
+ onDeactivated: onDeactivated
141
+ }),
142
+ showPopper = _userPopper.showPopper,
143
+ popperElm = _userPopper.popperElm,
144
+ referenceElm = _userPopper.referenceElm,
145
+ doDestroy = _userPopper.doDestroy,
146
+ updatePopper = _userPopper.updatePopper;
147
+ var suggestionState = initSuggestionState({
148
+ reactive: reactive,
149
+ parent: parent,
150
+ showPopper: showPopper,
151
+ popperElm: popperElm,
152
+ referenceElm: referenceElm
153
+ });
154
+ initApi({
155
+ api: api,
156
+ state: state,
157
+ doDestroy: doDestroy,
158
+ suggestionState: suggestionState,
159
+ emit: emit,
160
+ refs: refs,
161
+ props: props,
162
+ updatePopper: updatePopper,
163
+ nextTick: nextTick,
164
+ constants: constants
165
+ });
166
+ watch(function () {
167
+ return state.suggestionVisible;
168
+ }, api.watchVisible);
169
+ onMounted(api.mounted);
170
+ return api;
171
+ };
@@ -0,0 +1,29 @@
1
+ export var handleError = function handleError(_ref) {
2
+ var props = _ref.props,
3
+ state = _ref.state;
4
+ return function () {
5
+ var error = props.error;
6
+ var errorFlag = error ? error() : undefined;
7
+ if (errorFlag !== false) {
8
+ state.isImageExist = false;
9
+ }
10
+ };
11
+ };
12
+ export var computedAvatarClass = function computedAvatarClass(contants) {
13
+ return function (props) {
14
+ var size = props.size,
15
+ icon = props.icon,
16
+ shape = props.shape;
17
+ var classList = [contants.COMPONENT_PREFIX];
18
+ if (size && typeof size === 'string') {
19
+ classList.push("".concat(contants.COMPONENT_PREFIX, "--").concat(size));
20
+ }
21
+ if (icon) {
22
+ classList.push("".concat(contants.COMPONENT_PREFIX, "--").concat(contants.icon));
23
+ }
24
+ if (shape) {
25
+ classList.push("".concat(contants.COMPONENT_PREFIX, "--").concat(shape));
26
+ }
27
+ return classList.join(' ');
28
+ };
29
+ };
package/avatar/vue.js ADDED
@@ -0,0 +1,24 @@
1
+ import { computedAvatarClass, handleError } from './index';
2
+ export var api = ['state', 'handleError'];
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
+ computedAvatarClass: computedAvatarClass(constants)
9
+ };
10
+ var state = reactive({
11
+ isImageExist: true,
12
+ avatarClass: computed(function () {
13
+ return api.computedAvatarClass(props);
14
+ })
15
+ });
16
+ Object.assign(api, {
17
+ state: state,
18
+ handleError: handleError({
19
+ props: props,
20
+ state: state
21
+ })
22
+ });
23
+ return api;
24
+ };
package/badge/index.js ADDED
@@ -0,0 +1,16 @@
1
+ export var computedContent = function computedContent(_ref) {
2
+ var props = _ref.props,
3
+ state = _ref.state;
4
+ return function () {
5
+ return typeof state.valueRef === 'number' && typeof props.max === 'number' ? props.max < state.valueRef ? "".concat(props.max, "+") : state.valueRef : state.valueRef;
6
+ };
7
+ };
8
+ export var computedValueRef = function computedValueRef(_ref2) {
9
+ var props = _ref2.props;
10
+ return function () {
11
+ if (typeof props.value === 'number') {
12
+ return props.value;
13
+ }
14
+ return typeof props.modelValue === 'number' ? props.modelValue : undefined;
15
+ };
16
+ };
package/badge/vue.js ADDED
@@ -0,0 +1,30 @@
1
+ import { computedContent, computedValueRef } from './index';
2
+ import { xss } from '@opentiny/vue-renderless/common/xss';
3
+ export var api = ['state'];
4
+ export var renderless = function renderless(props, _ref) {
5
+ var computed = _ref.computed,
6
+ reactive = _ref.reactive;
7
+ var api = {
8
+ computedValueRef: computedValueRef({
9
+ props: props
10
+ })
11
+ };
12
+ var state = reactive({
13
+ isOverstep: false,
14
+ valueRef: computed(function () {
15
+ return api.computedValueRef();
16
+ }),
17
+ content: computed(function () {
18
+ return api.computedContent();
19
+ }),
20
+ href: computed(function () {
21
+ return xss.filterUrl(props.href);
22
+ })
23
+ });
24
+ api.state = state;
25
+ api.computedContent = computedContent({
26
+ props: props,
27
+ state: state
28
+ });
29
+ return api;
30
+ };
@@ -0,0 +1,4 @@
1
+ export var api = [];
2
+ export var renderless = function renderless() {
3
+ return {};
4
+ };
@@ -0,0 +1,24 @@
1
+ import { on, off } from '@opentiny/vue-renderless/common/deps/dom';
2
+ export var api = [];
3
+ export var renderless = function renderless(props, _ref, _ref2) {
4
+ var onMounted = _ref.onMounted,
5
+ onBeforeUnmount = _ref.onBeforeUnmount;
6
+ var refs = _ref2.refs,
7
+ router = _ref2.router;
8
+ var api = {
9
+ linkClick: function linkClick() {
10
+ var replace = props.replace,
11
+ to = props.to;
12
+ if (!to || !router) {
13
+ return;
14
+ }
15
+ replace ? router.replace(to) : router.push(to);
16
+ }
17
+ };
18
+ onMounted(function () {
19
+ on(refs.link, 'click', api.linkClick);
20
+ });
21
+ onBeforeUnmount(function () {
22
+ off(refs.link, 'click', api.linkClick);
23
+ });
24
+ };
@@ -0,0 +1,21 @@
1
+ import { xss } from '@opentiny/vue-renderless/common/xss.js';
2
+ export var getRoute = function getRoute(route) {
3
+ return "/".concat(route || '').replace(/^\/+/, '/');
4
+ };
5
+ export var computedDataList = function computedDataList(_ref) {
6
+ var props = _ref.props,
7
+ state = _ref.state;
8
+ return function () {
9
+ var list = props.data[Number(state.actName) - 1] || [];
10
+ list.forEach(function (subItem) {
11
+ subItem.url = xss.filterUrl(subItem.url);
12
+ });
13
+ return list;
14
+ };
15
+ };
16
+ export var computedMoreLink = function computedMoreLink(_ref2) {
17
+ var props = _ref2.props;
18
+ return function () {
19
+ return props.moreLink && xss.filterUrl(props.moreLink.url);
20
+ };
21
+ };
@@ -0,0 +1,36 @@
1
+ import { getRoute, computedDataList, computedMoreLink } from './index';
2
+ export var api = ['state', 'getRoute'];
3
+ export var renderless = function renderless(props, _ref) {
4
+ var reactive = _ref.reactive,
5
+ computed = _ref.computed,
6
+ watch = _ref.watch;
7
+ var api = {};
8
+ var state = reactive({
9
+ actName: props.activeName,
10
+ dataList: computed(function () {
11
+ return api.computedDataList();
12
+ }),
13
+ moreLink: computed(function () {
14
+ return api.computedMoreLink();
15
+ })
16
+ });
17
+ watch(function () {
18
+ return props.activeName;
19
+ }, function (value) {
20
+ state.actName = value;
21
+ }, {
22
+ immediate: true
23
+ });
24
+ Object.assign(api, {
25
+ state: state,
26
+ getRoute: getRoute,
27
+ computedDataList: computedDataList({
28
+ props: props,
29
+ state: state
30
+ }),
31
+ computedMoreLink: computedMoreLink({
32
+ props: props
33
+ })
34
+ });
35
+ return api;
36
+ };
@@ -0,0 +1,19 @@
1
+ export var handleClick = function handleClick(_ref) {
2
+ var emit = _ref.emit,
3
+ props = _ref.props,
4
+ state = _ref.state;
5
+ return function (event) {
6
+ if (props.nativeType === 'button' && props.resetTime > 0) {
7
+ state.disabled = true;
8
+ state.timer = setTimeout(function () {
9
+ state.disabled = false;
10
+ }, props.resetTime);
11
+ }
12
+ emit('click', event);
13
+ };
14
+ };
15
+ export var clearTimer = function clearTimer(state) {
16
+ return function () {
17
+ return clearTimeout(state.timer);
18
+ };
19
+ };