@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,584 @@
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 { getWeekData } from '@opentiny/vue-renderless/picker';
5
+ import debounce from '@opentiny/vue-renderless/common/deps/debounce';
6
+ import { isDate, parseDate, modifyDate, modifyTime, clearTime, prevYear, nextYear, prevMonth, nextMonth, timeWithinRange, clearMilliseconds, modifyWithTimeString, changeYearMonthAndClampDate, formatDate, extractTimeFormat } from '@opentiny/vue-renderless/common/deps/date-util';
7
+ import { DATEPICKER } from '@opentiny/vue-renderless/common';
8
+ import { on, off } from '@opentiny/vue-renderless/common/deps/dom';
9
+ import { getDateWithNewTimezone, getLocalTimezone } from '@opentiny/vue-renderless/common/date';
10
+ import { fillChar } from '@opentiny/vue-renderless/common/string';
11
+ export var getYearLabel = function getYearLabel(_ref) {
12
+ var state = _ref.state,
13
+ t = _ref.t;
14
+ return function () {
15
+ var yearTranslation = t(DATEPICKER.YearI18n);
16
+ if (state.currentView === DATEPICKER.Year) {
17
+ var startYear = Math.floor(state.year / 10) * 10;
18
+ if (yearTranslation) {
19
+ return startYear + ' ' + yearTranslation + ' - ' + (startYear + 9) + ' ' + yearTranslation;
20
+ }
21
+ return startYear + ' - ' + (startYear + 9);
22
+ }
23
+ return state.year + ' ' + yearTranslation;
24
+ };
25
+ };
26
+ export var watchValue = function watchValue(_ref2) {
27
+ var api = _ref2.api,
28
+ state = _ref2.state;
29
+ return function (value) {
30
+ if (state.selectionMode === DATEPICKER.Dates && state.value) return;
31
+ if (isDate(value)) {
32
+ state.date = state.selectionMode === 'week' ? getWeekData(value) : new Date(value);
33
+ } else {
34
+ state.date = api.getDefaultValue();
35
+ }
36
+ };
37
+ };
38
+ export var watchDefaultValue = function watchDefaultValue(_ref3) {
39
+ var state = _ref3.state;
40
+ return function (value) {
41
+ if (!isDate(state.value)) {
42
+ state.date = value ? new Date(value) : new Date();
43
+ }
44
+ };
45
+ };
46
+ export var watchTimePickerVisible = function watchTimePickerVisible(_ref4) {
47
+ var nextTick = _ref4.nextTick,
48
+ vm = _ref4.vm;
49
+ return function (value) {
50
+ if (value) {
51
+ nextTick(function () {
52
+ vm.$refs.timepicker.adjustSpinners();
53
+ });
54
+ }
55
+ };
56
+ };
57
+ export var watchSelectionMode = function watchSelectionMode(_ref5) {
58
+ var state = _ref5.state;
59
+ return function (value) {
60
+ if (value === DATEPICKER.Month) {
61
+ if (state.currentView !== DATEPICKER.Year || state.currentView !== DATEPICKER.Month) {
62
+ state.currentView = DATEPICKER.Month;
63
+ }
64
+ } else if (value === DATEPICKER.Dates) {
65
+ state.currentView = DATEPICKER.Date;
66
+ } else if (value === DATEPICKER.Year) {
67
+ state.currentView = DATEPICKER.Year;
68
+ }
69
+ };
70
+ };
71
+ export var proxyTimePickerDataProperties = function proxyTimePickerDataProperties(_ref6) {
72
+ var refs = _ref6.refs,
73
+ state = _ref6.state,
74
+ watch = _ref6.watch;
75
+ return function () {
76
+ var format = function format(timeFormat) {
77
+ if (refs.timepicker) refs.timepicker.state.format = timeFormat;
78
+ };
79
+ var value = function value(_value) {
80
+ if (refs.timepicker) {
81
+ refs.timepicker.state.value = null;
82
+ if (_value) {
83
+ refs.timepicker.state.value = _value;
84
+ }
85
+ }
86
+ };
87
+ var date = function date(_date) {
88
+ if (refs.timepicker) {
89
+ refs.timepicker.state.date = _date;
90
+ }
91
+ };
92
+ var selectableRange = function selectableRange(_selectableRange) {
93
+ if (refs.timepicker) {
94
+ refs.timepicker.state.selectableRange = _selectableRange;
95
+ }
96
+ };
97
+ watch(function () {
98
+ return state.value;
99
+ }, value);
100
+ watch(function () {
101
+ return state.date;
102
+ }, date, {
103
+ deep: true
104
+ });
105
+ watch(function () {
106
+ return state.selectableRange;
107
+ }, selectableRange, {
108
+ deep: true
109
+ });
110
+ format(state.timeFormat);
111
+ value(state.value);
112
+ date(state.date);
113
+ selectableRange(state.selectableRange);
114
+ };
115
+ };
116
+ export var handleClear = function handleClear(_ref7) {
117
+ var api = _ref7.api,
118
+ state = _ref7.state,
119
+ emit = _ref7.emit;
120
+ return function () {
121
+ state.date = api.getDefaultValue();
122
+ emit('pick', null);
123
+ };
124
+ };
125
+ export var cusEmit = function cusEmit(_ref8) {
126
+ var state = _ref8.state,
127
+ emit = _ref8.emit;
128
+ return function (value) {
129
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
130
+ args[_key - 1] = arguments[_key];
131
+ }
132
+ if (!value) {
133
+ emit.apply(void 0, ['pick', value].concat(args));
134
+ } else if (Array.isArray(value)) {
135
+ var dates = value.map(function (date) {
136
+ return state.showTime ? clearMilliseconds(date) : clearTime(date);
137
+ });
138
+ emit.apply(void 0, ['pick', dates].concat(args));
139
+ } else {
140
+ emit.apply(void 0, ['pick', state.showTime ? clearMilliseconds(value) : clearTime(value)].concat(args));
141
+ }
142
+ state.userInputDate = null;
143
+ state.userInputTime = null;
144
+ };
145
+ };
146
+ export var showMonthPicker = function showMonthPicker(_ref9) {
147
+ var state = _ref9.state;
148
+ return function () {
149
+ return state.currentView = DATEPICKER.Month;
150
+ };
151
+ };
152
+ export var showYearPicker = function showYearPicker(_ref10) {
153
+ var state = _ref10.state;
154
+ return function () {
155
+ return state.currentView = DATEPICKER.Year;
156
+ };
157
+ };
158
+ export var cusPrevMonth = function cusPrevMonth(_ref11) {
159
+ var state = _ref11.state;
160
+ return function () {
161
+ return state.date = prevMonth(state.date);
162
+ };
163
+ };
164
+ export var cusNextMonth = function cusNextMonth(_ref12) {
165
+ var state = _ref12.state;
166
+ return function () {
167
+ return state.date = nextMonth(state.date);
168
+ };
169
+ };
170
+ export var cusPrevYear = function cusPrevYear(_ref13) {
171
+ var state = _ref13.state;
172
+ return function () {
173
+ if (state.currentView === DATEPICKER.Year) {
174
+ state.date = prevYear(state.date, 10);
175
+ } else {
176
+ state.date = prevYear(state.date);
177
+ }
178
+ };
179
+ };
180
+ export var cusNextYear = function cusNextYear(_ref14) {
181
+ var state = _ref14.state;
182
+ return function () {
183
+ if (state.currentView === DATEPICKER.Year) {
184
+ state.date = nextYear(state.date, 10);
185
+ } else {
186
+ state.date = nextYear(state.date);
187
+ }
188
+ };
189
+ };
190
+ export var handleShortcutClick = function handleShortcutClick(api) {
191
+ return function (shortcut) {
192
+ if (shortcut.onClick) {
193
+ var picker = {
194
+ $emit: function $emit(type, start, end) {
195
+ api.doPick(start, end);
196
+ }
197
+ };
198
+ shortcut.onClick(picker);
199
+ }
200
+ };
201
+ };
202
+ export var doPick = function doPick(emit) {
203
+ return function (date) {
204
+ emit('pick', date, false);
205
+ };
206
+ };
207
+ export var handleTimePick = function handleTimePick(_ref15) {
208
+ var api = _ref15.api,
209
+ state = _ref15.state,
210
+ t = _ref15.t;
211
+ return function (value, visible, first) {
212
+ if (isDate(value)) {
213
+ var newDate = state.value ? modifyTime(state.value, value.getHours(), value.getMinutes(), value.getSeconds()) : modifyWithTimeString(api.getDefaultValue(), state.defaultTime, t);
214
+ state.date = newDate;
215
+ api.cusEmit(state.date, true);
216
+ } else {
217
+ api.cusEmit(value, true);
218
+ }
219
+ if (!first) {
220
+ state.timePickerVisible = visible;
221
+ }
222
+ };
223
+ };
224
+ export var handleTimePickClose = function handleTimePickClose(state) {
225
+ return function () {
226
+ state.timePickerVisible = false;
227
+ };
228
+ };
229
+ export var handleMonthPick = function handleMonthPick(_ref16) {
230
+ var api = _ref16.api,
231
+ state = _ref16.state;
232
+ return function (month) {
233
+ if (state.selectionMode === DATEPICKER.Month) {
234
+ state.date = modifyDate(state.date, state.year, month, 1);
235
+ api.cusEmit(state.date);
236
+ } else {
237
+ state.date = changeYearMonthAndClampDate(state.date, state.year, month);
238
+ state.currentView = DATEPICKER.Date;
239
+ }
240
+ };
241
+ };
242
+ export var handleDatePick = function handleDatePick(_ref17) {
243
+ var api = _ref17.api,
244
+ state = _ref17.state,
245
+ t = _ref17.t;
246
+ return function (value) {
247
+ if (state.selectionMode === DATEPICKER.Day) {
248
+ var newDate = state.value ? modifyDate(state.value, value.getFullYear(), value.getMonth(), value.getDate()) : modifyWithTimeString(value, state.defaultTime, t);
249
+ if (!api.checkDateWithinRange(newDate)) {
250
+ newDate = modifyDate(state.selectableRange[0][0], value.getFullYear(), value.getMonth(), value.getDate());
251
+ }
252
+ state.date = newDate;
253
+ api.cusEmit(state.date, state.showTime);
254
+ } else if (state.selectionMode === DATEPICKER.Week) {
255
+ api.cusEmit(value.date);
256
+ } else if (state.selectionMode === DATEPICKER.Dates) {
257
+ api.cusEmit(value, true);
258
+ }
259
+ };
260
+ };
261
+ export var handleYearPick = function handleYearPick(_ref18) {
262
+ var api = _ref18.api,
263
+ state = _ref18.state;
264
+ return function (year) {
265
+ if (state.selectionMode === DATEPICKER.Year) {
266
+ state.date = modifyDate(state.date, year, 0, 1);
267
+ api.cusEmit(state.date);
268
+ } else {
269
+ state.date = changeYearMonthAndClampDate(state.date, year, state.month);
270
+ state.currentView = DATEPICKER.Month;
271
+ }
272
+ };
273
+ };
274
+ var dateToLocaleStringForIE = function dateToLocaleStringForIE(timezone, value) {
275
+ var localTimezone = getLocalTimezone();
276
+ var offsetTimezone = timezone - localTimezone;
277
+ var offsetTime = new Date(value).getTime() + offsetTimezone * 3600000;
278
+ return new Date(offsetTime);
279
+ };
280
+ export var changeToNow = function changeToNow(_ref19) {
281
+ var api = _ref19.api,
282
+ state = _ref19.state;
283
+ return function () {
284
+ var now = new Date();
285
+ var timezone = state.timezone;
286
+ var isServiceTimezone = timezone.isServiceTimezone;
287
+ var disabledDate = !state.disabledDate;
288
+ if (isServiceTimezone) {
289
+ var date = getDateWithNewTimezone(now, getLocalTimezone(), timezone.to);
290
+ state.date = date;
291
+ disabledDate = disabledDate || !state.disabledDate(date);
292
+ } else {
293
+ disabledDate = disabledDate || !state.disabledDate(now);
294
+ }
295
+ if (disabledDate && api.checkDateWithinRange(now)) {
296
+ if (!isServiceTimezone) {
297
+ if (state.showTimezone && state.selectedTz) {
298
+ state.date = dateToLocaleStringForIE(state.selectedTz.offset, state.date);
299
+ } else {
300
+ state.date = now;
301
+ }
302
+ }
303
+ api.cusEmit(state.date);
304
+ state.emitDbTime(now);
305
+ }
306
+ };
307
+ };
308
+ export var confirm = function confirm(_ref20) {
309
+ var api = _ref20.api,
310
+ state = _ref20.state,
311
+ t = _ref20.t;
312
+ return function () {
313
+ if (state.selectionMode === DATEPICKER.Dates) {
314
+ api.cusEmit(state.value);
315
+ } else {
316
+ var value = state.value ? state.value : modifyWithTimeString(api.getDefaultValue(), state.defaultTime, t);
317
+ var timezone = state.timezone;
318
+ if (!state.value && timezone.isServiceTimezone) {
319
+ value = state.date = getDateWithNewTimezone(value, getLocalTimezone(), timezone.to);
320
+ } else {
321
+ state.date = new Date(value);
322
+ }
323
+ api.cusEmit(value);
324
+ }
325
+ };
326
+ };
327
+ export var resetView = function resetView(_ref21) {
328
+ var state = _ref21.state;
329
+ return function () {
330
+ if (state.selectionMode === DATEPICKER.Month) {
331
+ state.currentView = DATEPICKER.Month;
332
+ } else if (state.selectionMode === DATEPICKER.Year) {
333
+ state.currentView = DATEPICKER.Year;
334
+ } else {
335
+ state.currentView = DATEPICKER.Date;
336
+ }
337
+ };
338
+ };
339
+ export var handleEnter = function handleEnter(api) {
340
+ return function () {
341
+ on(document.body, 'keydown', api.handleKeydown);
342
+ };
343
+ };
344
+ export var handleLeave = function handleLeave(_ref22) {
345
+ var api = _ref22.api,
346
+ emit = _ref22.emit;
347
+ return function () {
348
+ emit('dodestroy');
349
+ off(document.body, 'keydown', api.handleKeydown);
350
+ };
351
+ };
352
+ export var handleKeydown = function handleKeydown(_ref23) {
353
+ var api = _ref23.api,
354
+ state = _ref23.state;
355
+ return function (event) {
356
+ var keyCode = event.keyCode;
357
+ if (state.visible && !state.timePickerVisible) {
358
+ if (DATEPICKER.List.indexOf(keyCode) !== -1) {
359
+ api.handleKeyControl(keyCode);
360
+ event.stopPropagation();
361
+ event.preventDefault();
362
+ }
363
+ if (keyCode === 13 && state.userInputDate === null && state.userInputTime === null) {
364
+ api.cusEmit(state.date, false);
365
+ }
366
+ }
367
+ };
368
+ };
369
+ export var handleKeyControl = function handleKeyControl(_ref24) {
370
+ var state = _ref24.state,
371
+ emit = _ref24.emit;
372
+ return function (keyCode) {
373
+ var mapping = {
374
+ year: _objectSpread(_objectSpread({}, DATEPICKER.YearObj), {}, {
375
+ offset: function offset(date, step) {
376
+ return date.setFullYear(date.getFullYear() + step);
377
+ }
378
+ }),
379
+ month: _objectSpread(_objectSpread({}, DATEPICKER.YearObj), {}, {
380
+ offset: function offset(date, step) {
381
+ return date.setMonth(date.getMonth() + step);
382
+ }
383
+ }),
384
+ week: _objectSpread(_objectSpread({}, DATEPICKER.WeekObj), {}, {
385
+ offset: function offset(date, step) {
386
+ return date.setDate(date.getDate() + step * 7);
387
+ }
388
+ }),
389
+ day: _objectSpread(_objectSpread({}, DATEPICKER.DayObj), {}, {
390
+ offset: function offset(date, step) {
391
+ return date.setDate(date.getDate() + step);
392
+ }
393
+ })
394
+ };
395
+ var mode = state.selectionMode;
396
+ var year = 3.1536e10;
397
+ var now = state.date.getTime();
398
+ var newDate = new Date(state.date.getTime());
399
+ while (Math.abs(now - newDate.getTime()) <= year) {
400
+ var map = mapping[mode];
401
+ map.offset(newDate, map[keyCode]);
402
+ if (!(typeof state.disabledDate === 'function' && state.disabledDate(newDate))) {
403
+ state.date = newDate;
404
+ emit('pick', newDate, true);
405
+ break;
406
+ }
407
+ }
408
+ };
409
+ };
410
+ export var handleVisibleTimeChange = function handleVisibleTimeChange(_ref25) {
411
+ var api = _ref25.api,
412
+ refs = _ref25.refs,
413
+ state = _ref25.state,
414
+ t = _ref25.t;
415
+ return function (value) {
416
+ var time = parseDate(value, state.timeFormat, t);
417
+ if (time && api.checkDateWithinRange(time)) {
418
+ state.date = modifyDate(time, state.year, state.month, state.monthDate);
419
+ state.userInputTime = null;
420
+ if (refs.timepicker) refs.timepicker.state.value = state.date;
421
+ state.timePickerVisible = false;
422
+ api.cusEmit(state.date, true);
423
+ }
424
+ };
425
+ };
426
+ export var handleVisibleDateChange = function handleVisibleDateChange(_ref26) {
427
+ var api = _ref26.api,
428
+ state = _ref26.state,
429
+ t = _ref26.t;
430
+ return function (value) {
431
+ var date = parseDate(value, state.dateFormat, t);
432
+ if (date) {
433
+ if (typeof state.disabledDate === 'function' && state.disabledDate(date)) {
434
+ return;
435
+ }
436
+ state.date = modifyTime(date, state.date.getHours(), state.date.getMinutes(), state.date.getSeconds());
437
+ state.userInputDate = null;
438
+ api.resetView();
439
+ api.cusEmit(state.date, true);
440
+ }
441
+ };
442
+ };
443
+ export var isValidValue = function isValidValue(_ref27) {
444
+ var api = _ref27.api,
445
+ state = _ref27.state;
446
+ return function (value) {
447
+ return value && !isNaN(value) && (typeof state.disabledDate === 'function' ? !state.disabledDate(value) : true) && api.checkDateWithinRange(value);
448
+ };
449
+ };
450
+ export var getDefaultValue = function getDefaultValue(state) {
451
+ return function () {
452
+ return state.defaultValue ? new Date(state.defaultValue) : new Date();
453
+ };
454
+ };
455
+ export var checkDateWithinRange = function checkDateWithinRange(_ref28) {
456
+ var state = _ref28.state;
457
+ return function (date) {
458
+ return state.selectableRange.length > 0 ? timeWithinRange(date, state.selectableRange, state.format || 'HH:mm:ss') : true;
459
+ };
460
+ };
461
+ export var selectTz = function selectTz(_ref29) {
462
+ var emit = _ref29.emit,
463
+ state = _ref29.state;
464
+ return function (tz) {
465
+ if (state.timezone.isServiceTimezone) return;
466
+ state.tz = tz.name;
467
+ state.selectedTz = tz;
468
+ state.showpopup = false;
469
+ state.value = dateToLocaleStringForIE(tz.offset, state.date);
470
+ emit('select-change', {
471
+ tz: tz,
472
+ date: state.value
473
+ });
474
+ };
475
+ };
476
+ export var searchTz = function searchTz(_ref30) {
477
+ var api = _ref30.api,
478
+ state = _ref30.state;
479
+ return function (input) {
480
+ return api.debounceChange(state, input);
481
+ };
482
+ };
483
+ export var debounceChange = debounce(500, function (state, input) {
484
+ if (!input) {
485
+ state.showpopup = false;
486
+ return;
487
+ }
488
+ var tzList = state.renderTzdata.slice();
489
+ var count = 0;
490
+ var filterAry = [];
491
+ state.renderTzdata = tzList.map(function (tz) {
492
+ if (tz.name.toLowerCase().indexOf(input) > -1) {
493
+ tz.visible = false;
494
+ filterAry.push(tz);
495
+ count++;
496
+ } else {
497
+ tz.visible = true;
498
+ }
499
+ return tz;
500
+ });
501
+ if (count === 1) {
502
+ state.tz = filterAry[0].name;
503
+ state.showpopup = false;
504
+ } else {
505
+ state.showpopup = true;
506
+ }
507
+ });
508
+ export var toggleTz = function toggleTz(state) {
509
+ return function () {
510
+ if (state.timezone.isServiceTimezone) return;
511
+ state.renderTzdata = state.renderTzdata && state.renderTzdata.map(function (item) {
512
+ item.visible = false;
513
+ return item;
514
+ });
515
+ state.showpopup = true;
516
+ };
517
+ };
518
+ export var handleTzPickClose = function handleTzPickClose(state) {
519
+ return function () {
520
+ return state.showpopup = false;
521
+ };
522
+ };
523
+ export var getRenderTz = function getRenderTz(_ref31) {
524
+ var state = _ref31.state;
525
+ return function (value) {
526
+ if (!state.showTimezone || !value) {
527
+ return;
528
+ }
529
+ state.renderTzdata = value[state.lang];
530
+ if (state.renderTzdata) {
531
+ var _state$timezone = state.timezone,
532
+ isServiceTimezone = _state$timezone.isServiceTimezone,
533
+ to = _state$timezone.to;
534
+ var selectedTz = state.selectedTz || {};
535
+ var defaultTimezone = selectedTz.tz ? selectedTz.tz : state.defaultTimezone;
536
+ var findTimezoneKey;
537
+ if (to === 0) {
538
+ findTimezoneKey = '';
539
+ } else {
540
+ findTimezoneKey = to > 0 ? '+' : '-';
541
+ findTimezoneKey = findTimezoneKey + fillChar(Math.abs(to) + '', 2) + ':00';
542
+ }
543
+ findTimezoneKey = "(UTC".concat(findTimezoneKey, ")");
544
+ state.renderTzdata.some(function (item) {
545
+ if (~[selectedTz.tz, defaultTimezone].indexOf(item.tz) || isServiceTimezone && ~item.name.indexOf(findTimezoneKey)) {
546
+ state.selectedTz = item;
547
+ state.tz = state.selectedTz.name;
548
+ return true;
549
+ }
550
+ return false;
551
+ }) || (state.selectedTz = undefined);
552
+ }
553
+ };
554
+ };
555
+ export var computerVisibleTime = function computerVisibleTime(_ref32) {
556
+ var state = _ref32.state,
557
+ t = _ref32.t;
558
+ return function () {
559
+ return state.userInputTime !== null ? state.userInputTime : formatDate(state.value || state.defaultValue, state.timeFormat, t);
560
+ };
561
+ };
562
+ export var computerVisibleDate = function computerVisibleDate(_ref33) {
563
+ var state = _ref33.state,
564
+ t = _ref33.t;
565
+ return function () {
566
+ return state.userInputDate !== null ? state.userInputDate : formatDate(state.value || state.defaultValue, state.dateFormat, t);
567
+ };
568
+ };
569
+ export var computerTimeFormat = function computerTimeFormat(_ref34) {
570
+ var state = _ref34.state;
571
+ return function () {
572
+ return state.format ? extractTimeFormat(state.timefmt || state.format) : DATEPICKER.DateFormats.timerange;
573
+ };
574
+ };
575
+ export var watchVisible = function watchVisible(_ref35) {
576
+ var api = _ref35.api,
577
+ state = _ref35.state;
578
+ return function () {
579
+ if (state.needChangeTimezoneData) {
580
+ api.getRenderTz(state.timezoneData);
581
+ state.needChangeTimezoneData = false;
582
+ }
583
+ };
584
+ };