kdutify 0.16.9-rc.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 (425) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +70 -0
  3. package/dist/kdutify.css +12850 -0
  4. package/dist/kdutify.css.map +1 -0
  5. package/dist/kdutify.js +16285 -0
  6. package/dist/kdutify.js.map +1 -0
  7. package/dist/kdutify.min.css +7 -0
  8. package/dist/kdutify.min.css.map +1 -0
  9. package/dist/kdutify.min.js +6 -0
  10. package/es5/components/KAlert/KAlert.js +80 -0
  11. package/es5/components/KAlert/index.js +7 -0
  12. package/es5/components/KApp/KApp.js +67 -0
  13. package/es5/components/KApp/index.js +7 -0
  14. package/es5/components/KAvatar/KAvatar.js +31 -0
  15. package/es5/components/KAvatar/index.js +7 -0
  16. package/es5/components/KBadge/KBadge.js +59 -0
  17. package/es5/components/KBadge/index.js +7 -0
  18. package/es5/components/KBottomNav/KBottomNav.js +50 -0
  19. package/es5/components/KBottomNav/index.js +7 -0
  20. package/es5/components/KBottomSheet/KBottomSheet.js +36 -0
  21. package/es5/components/KBottomSheet/index.js +7 -0
  22. package/es5/components/KBreadcrumbs/KBreadcrumbs.js +36 -0
  23. package/es5/components/KBreadcrumbs/KBreadcrumbsItem.js +38 -0
  24. package/es5/components/KBreadcrumbs/index.js +11 -0
  25. package/es5/components/KBtn/KBtn.js +153 -0
  26. package/es5/components/KBtn/index.js +7 -0
  27. package/es5/components/KBtnToggle/KBtnToggle.js +92 -0
  28. package/es5/components/KBtnToggle/index.js +7 -0
  29. package/es5/components/KCard/KCard.js +63 -0
  30. package/es5/components/KCard/KCardMedia.js +41 -0
  31. package/es5/components/KCard/KCardTitle.js +21 -0
  32. package/es5/components/KCard/index.js +19 -0
  33. package/es5/components/KCarousel/KCarousel.js +178 -0
  34. package/es5/components/KCarousel/KCarouselItem.js +63 -0
  35. package/es5/components/KCarousel/index.js +11 -0
  36. package/es5/components/KCheckbox/KCheckbox.js +89 -0
  37. package/es5/components/KCheckbox/index.js +7 -0
  38. package/es5/components/KChip/KChip.js +81 -0
  39. package/es5/components/KChip/index.js +7 -0
  40. package/es5/components/KDataTable/KDataTable.js +347 -0
  41. package/es5/components/KDataTable/KEditDialog.js +108 -0
  42. package/es5/components/KDataTable/index.js +14 -0
  43. package/es5/components/KDataTable/mixins/body.js +103 -0
  44. package/es5/components/KDataTable/mixins/foot.js +118 -0
  45. package/es5/components/KDataTable/mixins/head.js +123 -0
  46. package/es5/components/KDataTable/mixins/progress.js +16 -0
  47. package/es5/components/KDatePicker/KDatePicker.js +416 -0
  48. package/es5/components/KDatePicker/index.js +7 -0
  49. package/es5/components/KDatePicker/mixins/date-header.js +68 -0
  50. package/es5/components/KDatePicker/mixins/date-table.js +101 -0
  51. package/es5/components/KDatePicker/mixins/date-title.js +64 -0
  52. package/es5/components/KDatePicker/mixins/date-years.js +53 -0
  53. package/es5/components/KDatePicker/mixins/month-table.js +91 -0
  54. package/es5/components/KDialog/KDialog.js +181 -0
  55. package/es5/components/KDialog/index.js +7 -0
  56. package/es5/components/KDivider/KDivider.js +29 -0
  57. package/es5/components/KDivider/index.js +7 -0
  58. package/es5/components/KExpansionPanel/KExpansionPanel.js +60 -0
  59. package/es5/components/KExpansionPanel/KExpansionPanelContent.js +114 -0
  60. package/es5/components/KExpansionPanel/index.js +9 -0
  61. package/es5/components/KFooter/KFooter.js +61 -0
  62. package/es5/components/KFooter/index.js +7 -0
  63. package/es5/components/KForm/KForm.js +203 -0
  64. package/es5/components/KForm/index.js +7 -0
  65. package/es5/components/KGrid/KContainer.js +5 -0
  66. package/es5/components/KGrid/KContent.js +33 -0
  67. package/es5/components/KGrid/KFlex.js +5 -0
  68. package/es5/components/KGrid/KLayout.js +5 -0
  69. package/es5/components/KGrid/grid.js +43 -0
  70. package/es5/components/KGrid/index.js +20 -0
  71. package/es5/components/KIcon/KIcon.js +93 -0
  72. package/es5/components/KIcon/index.js +7 -0
  73. package/es5/components/KList/KList.js +82 -0
  74. package/es5/components/KList/KListGroup.js +100 -0
  75. package/es5/components/KList/KListTile.js +65 -0
  76. package/es5/components/KList/KListTileAction.js +15 -0
  77. package/es5/components/KList/index.js +27 -0
  78. package/es5/components/KMenu/KMenu.js +178 -0
  79. package/es5/components/KMenu/index.js +7 -0
  80. package/es5/components/KMenu/mixins/menu-activator.js +59 -0
  81. package/es5/components/KMenu/mixins/menu-generators.js +88 -0
  82. package/es5/components/KMenu/mixins/menu-keyable.js +64 -0
  83. package/es5/components/KMenu/mixins/menu-position.js +64 -0
  84. package/es5/components/KNavigationDrawer/KNavigationDrawer.js +238 -0
  85. package/es5/components/KNavigationDrawer/index.js +7 -0
  86. package/es5/components/KPagination/KPagination.js +167 -0
  87. package/es5/components/KPagination/index.js +7 -0
  88. package/es5/components/KParallax/KParallax.js +98 -0
  89. package/es5/components/KParallax/index.js +7 -0
  90. package/es5/components/KProgressCircular/KProgressCircular.js +145 -0
  91. package/es5/components/KProgressCircular/index.js +7 -0
  92. package/es5/components/KProgressLinear/KProgressLinear.js +146 -0
  93. package/es5/components/KProgressLinear/index.js +7 -0
  94. package/es5/components/KRadioGroup/KRadio.js +148 -0
  95. package/es5/components/KRadioGroup/KRadioGroup.js +139 -0
  96. package/es5/components/KRadioGroup/index.js +11 -0
  97. package/es5/components/KSelect/KSelect.js +635 -0
  98. package/es5/components/KSelect/index.js +7 -0
  99. package/es5/components/KSelect/mixins/select-autocomplete.js +125 -0
  100. package/es5/components/KSelect/mixins/select-generators.js +298 -0
  101. package/es5/components/KSlider/KSlider.js +306 -0
  102. package/es5/components/KSlider/index.js +7 -0
  103. package/es5/components/KSnackbar/KSnackbar.js +106 -0
  104. package/es5/components/KSnackbar/index.js +7 -0
  105. package/es5/components/KSpeedDial/KSpeedDial.js +89 -0
  106. package/es5/components/KSpeedDial/index.js +7 -0
  107. package/es5/components/KStepper/KStepper.js +112 -0
  108. package/es5/components/KStepper/KStepperContent.js +134 -0
  109. package/es5/components/KStepper/KStepperStep.js +105 -0
  110. package/es5/components/KStepper/index.js +17 -0
  111. package/es5/components/KSubheader/KSubheader.js +29 -0
  112. package/es5/components/KSubheader/index.js +7 -0
  113. package/es5/components/KSwitch/KSwitch.js +55 -0
  114. package/es5/components/KSwitch/index.js +7 -0
  115. package/es5/components/KSystemBar/KSystemBar.js +54 -0
  116. package/es5/components/KSystemBar/index.js +7 -0
  117. package/es5/components/KTabs/KTabs.js +272 -0
  118. package/es5/components/KTabs/KTabsBar.js +205 -0
  119. package/es5/components/KTabs/KTabsContent.js +86 -0
  120. package/es5/components/KTabs/KTabsItem.js +103 -0
  121. package/es5/components/KTabs/KTabsItems.js +40 -0
  122. package/es5/components/KTabs/KTabsSlider.js +14 -0
  123. package/es5/components/KTabs/index.js +17 -0
  124. package/es5/components/KTextField/KTextField.js +275 -0
  125. package/es5/components/KTextField/index.js +7 -0
  126. package/es5/components/KTimePicker/KTimePicker.js +302 -0
  127. package/es5/components/KTimePicker/index.js +7 -0
  128. package/es5/components/KTimePicker/mixins/time-body.js +207 -0
  129. package/es5/components/KTimePicker/mixins/time-title.js +55 -0
  130. package/es5/components/KToolbar/KToolbar.js +193 -0
  131. package/es5/components/KToolbar/KToolbarSideIcon.js +29 -0
  132. package/es5/components/KToolbar/index.js +17 -0
  133. package/es5/components/KTooltip/KTooltip.js +156 -0
  134. package/es5/components/KTooltip/index.js +7 -0
  135. package/es5/components/Kdutify/index.js +50 -0
  136. package/es5/components/index.js +45 -0
  137. package/es5/components/transitions/expand-transition.js +36 -0
  138. package/es5/components/transitions/index.js +47 -0
  139. package/es5/components/transitions/row-expand-transition.js +38 -0
  140. package/es5/directives/click-outside.js +100 -0
  141. package/es5/directives/index.js +15 -0
  142. package/es5/directives/resize.js +30 -0
  143. package/es5/directives/ripple.js +144 -0
  144. package/es5/directives/scroll.js +32 -0
  145. package/es5/directives/touch.js +102 -0
  146. package/es5/index.js +30 -0
  147. package/es5/mixins/applicationable.js +9 -0
  148. package/es5/mixins/bootable.js +31 -0
  149. package/es5/mixins/button-group.js +82 -0
  150. package/es5/mixins/colorable.js +24 -0
  151. package/es5/mixins/contextualable.js +10 -0
  152. package/es5/mixins/delayable.js +57 -0
  153. package/es5/mixins/dependent.js +121 -0
  154. package/es5/mixins/detachable.js +41 -0
  155. package/es5/mixins/filterable.js +8 -0
  156. package/es5/mixins/input.js +219 -0
  157. package/es5/mixins/loadable.js +31 -0
  158. package/es5/mixins/maskable.js +181 -0
  159. package/es5/mixins/menuable.js +293 -0
  160. package/es5/mixins/overlayable.js +202 -0
  161. package/es5/mixins/picker.js +36 -0
  162. package/es5/mixins/positionable.js +10 -0
  163. package/es5/mixins/rippleable.js +21 -0
  164. package/es5/mixins/routable.js +66 -0
  165. package/es5/mixins/selectable.js +79 -0
  166. package/es5/mixins/stackable.js +70 -0
  167. package/es5/mixins/tab-focusable.js +7 -0
  168. package/es5/mixins/themeable.js +15 -0
  169. package/es5/mixins/toggleable.js +31 -0
  170. package/es5/mixins/transitionable.js +7 -0
  171. package/es5/mixins/translatable.js +62 -0
  172. package/es5/mixins/validatable.js +138 -0
  173. package/es5/util/breakpoint.js +128 -0
  174. package/es5/util/helpers.js +139 -0
  175. package/es5/util/load.js +15 -0
  176. package/es5/util/mask.js +159 -0
  177. package/es5/util/testing.js +160 -0
  178. package/es5/util/to-have-been-warned.js +117 -0
  179. package/es5/util/touchSupport.js +14 -0
  180. package/index.d.ts +8 -0
  181. package/package.json +134 -0
  182. package/src/components/KAlert/KAlert.js +77 -0
  183. package/src/components/KAlert/index.js +7 -0
  184. package/src/components/KApp/KApp.js +64 -0
  185. package/src/components/KApp/index.js +7 -0
  186. package/src/components/KAvatar/KAvatar.js +27 -0
  187. package/src/components/KAvatar/index.js +7 -0
  188. package/src/components/KBadge/KBadge.js +62 -0
  189. package/src/components/KBadge/index.js +7 -0
  190. package/src/components/KBottomNav/KBottomNav.js +50 -0
  191. package/src/components/KBottomNav/index.js +7 -0
  192. package/src/components/KBottomSheet/KBottomSheet.js +41 -0
  193. package/src/components/KBottomSheet/index.js +7 -0
  194. package/src/components/KBreadcrumbs/KBreadcrumbs.js +35 -0
  195. package/src/components/KBreadcrumbs/KBreadcrumbsItem.js +38 -0
  196. package/src/components/KBreadcrumbs/index.js +11 -0
  197. package/src/components/KBtn/KBtn.js +163 -0
  198. package/src/components/KBtn/index.js +7 -0
  199. package/src/components/KBtnToggle/KBtnToggle.js +92 -0
  200. package/src/components/KBtnToggle/index.js +7 -0
  201. package/src/components/KCard/KCard.js +61 -0
  202. package/src/components/KCard/KCardMedia.js +41 -0
  203. package/src/components/KCard/KCardTitle.js +17 -0
  204. package/src/components/KCard/index.js +19 -0
  205. package/src/components/KCarousel/KCarousel.js +174 -0
  206. package/src/components/KCarousel/KCarouselItem.js +65 -0
  207. package/src/components/KCarousel/index.js +11 -0
  208. package/src/components/KCheckbox/KCheckbox.js +92 -0
  209. package/src/components/KCheckbox/index.js +7 -0
  210. package/src/components/KChip/KChip.js +83 -0
  211. package/src/components/KChip/index.js +7 -0
  212. package/src/components/KDataTable/KDataTable.js +346 -0
  213. package/src/components/KDataTable/KEditDialog.js +110 -0
  214. package/src/components/KDataTable/index.js +16 -0
  215. package/src/components/KDataTable/mixins/body.js +98 -0
  216. package/src/components/KDataTable/mixins/foot.js +128 -0
  217. package/src/components/KDataTable/mixins/head.js +119 -0
  218. package/src/components/KDataTable/mixins/progress.js +16 -0
  219. package/src/components/KDatePicker/KDatePicker.js +382 -0
  220. package/src/components/KDatePicker/index.js +7 -0
  221. package/src/components/KDatePicker/mixins/date-header.js +74 -0
  222. package/src/components/KDatePicker/mixins/date-table.js +95 -0
  223. package/src/components/KDatePicker/mixins/date-title.js +76 -0
  224. package/src/components/KDatePicker/mixins/date-years.js +42 -0
  225. package/src/components/KDatePicker/mixins/month-table.js +82 -0
  226. package/src/components/KDialog/KDialog.js +184 -0
  227. package/src/components/KDialog/index.js +7 -0
  228. package/src/components/KDivider/KDivider.js +25 -0
  229. package/src/components/KDivider/index.js +7 -0
  230. package/src/components/KExpansionPanel/KExpansionPanel.js +55 -0
  231. package/src/components/KExpansionPanel/KExpansionPanelContent.js +112 -0
  232. package/src/components/KExpansionPanel/index.js +9 -0
  233. package/src/components/KFooter/KFooter.js +67 -0
  234. package/src/components/KFooter/index.js +7 -0
  235. package/src/components/KForm/KForm.js +117 -0
  236. package/src/components/KForm/index.js +7 -0
  237. package/src/components/KGrid/KContainer.js +5 -0
  238. package/src/components/KGrid/KContent.js +29 -0
  239. package/src/components/KGrid/KFlex.js +5 -0
  240. package/src/components/KGrid/KLayout.js +5 -0
  241. package/src/components/KGrid/grid.js +40 -0
  242. package/src/components/KGrid/index.js +27 -0
  243. package/src/components/KIcon/KIcon.js +87 -0
  244. package/src/components/KIcon/index.js +7 -0
  245. package/src/components/KList/KList.js +75 -0
  246. package/src/components/KList/KListGroup.js +95 -0
  247. package/src/components/KList/KListTile.js +62 -0
  248. package/src/components/KList/KListTileAction.js +12 -0
  249. package/src/components/KList/index.js +27 -0
  250. package/src/components/KMenu/KMenu.js +207 -0
  251. package/src/components/KMenu/index.js +7 -0
  252. package/src/components/KMenu/mixins/menu-activator.js +51 -0
  253. package/src/components/KMenu/mixins/menu-generators.js +84 -0
  254. package/src/components/KMenu/mixins/menu-keyable.js +68 -0
  255. package/src/components/KMenu/mixins/menu-position.js +72 -0
  256. package/src/components/KNavigationDrawer/KNavigationDrawer.js +267 -0
  257. package/src/components/KNavigationDrawer/index.js +7 -0
  258. package/src/components/KPagination/KPagination.js +168 -0
  259. package/src/components/KPagination/index.js +7 -0
  260. package/src/components/KParallax/KParallax.js +99 -0
  261. package/src/components/KParallax/index.js +7 -0
  262. package/src/components/KProgressCircular/KProgressCircular.js +160 -0
  263. package/src/components/KProgressCircular/index.js +7 -0
  264. package/src/components/KProgressLinear/KProgressLinear.js +157 -0
  265. package/src/components/KProgressLinear/index.js +7 -0
  266. package/src/components/KRadioGroup/KRadio.js +153 -0
  267. package/src/components/KRadioGroup/KRadioGroup.js +118 -0
  268. package/src/components/KRadioGroup/index.js +11 -0
  269. package/src/components/KSelect/KSelect.js +641 -0
  270. package/src/components/KSelect/index.js +7 -0
  271. package/src/components/KSelect/mixins/select-autocomplete.js +125 -0
  272. package/src/components/KSelect/mixins/select-generators.js +300 -0
  273. package/src/components/KSlider/KSlider.js +311 -0
  274. package/src/components/KSlider/index.js +7 -0
  275. package/src/components/KSnackbar/KSnackbar.js +97 -0
  276. package/src/components/KSnackbar/index.js +7 -0
  277. package/src/components/KSpeedDial/KSpeedDial.js +80 -0
  278. package/src/components/KSpeedDial/index.js +7 -0
  279. package/src/components/KStepper/KStepper.js +95 -0
  280. package/src/components/KStepper/KStepperContent.js +138 -0
  281. package/src/components/KStepper/KStepperStep.js +100 -0
  282. package/src/components/KStepper/index.js +17 -0
  283. package/src/components/KSubheader/KSubheader.js +25 -0
  284. package/src/components/KSubheader/index.js +7 -0
  285. package/src/components/KSwitch/KSwitch.js +58 -0
  286. package/src/components/KSwitch/index.js +7 -0
  287. package/src/components/KSystemBar/KSystemBar.js +54 -0
  288. package/src/components/KSystemBar/index.js +7 -0
  289. package/src/components/KTabs/KTabs.js +240 -0
  290. package/src/components/KTabs/KTabsBar.js +202 -0
  291. package/src/components/KTabs/KTabsContent.js +90 -0
  292. package/src/components/KTabs/KTabsItem.js +99 -0
  293. package/src/components/KTabs/KTabsItems.js +40 -0
  294. package/src/components/KTabs/KTabsSlider.js +14 -0
  295. package/src/components/KTabs/index.js +17 -0
  296. package/src/components/KTextField/KTextField.js +246 -0
  297. package/src/components/KTextField/index.js +7 -0
  298. package/src/components/KTimePicker/KTimePicker.js +282 -0
  299. package/src/components/KTimePicker/index.js +7 -0
  300. package/src/components/KTimePicker/mixins/time-body.js +208 -0
  301. package/src/components/KTimePicker/mixins/time-title.js +51 -0
  302. package/src/components/KToolbar/KToolbar.js +206 -0
  303. package/src/components/KToolbar/KToolbarSideIcon.js +26 -0
  304. package/src/components/KToolbar/index.js +19 -0
  305. package/src/components/KTooltip/KTooltip.js +161 -0
  306. package/src/components/KTooltip/index.js +7 -0
  307. package/src/components/Kdutify/index.js +48 -0
  308. package/src/components/index.js +45 -0
  309. package/src/components/transitions/expand-transition.js +34 -0
  310. package/src/components/transitions/index.js +50 -0
  311. package/src/components/transitions/row-expand-transition.js +38 -0
  312. package/src/directives/click-outside.js +72 -0
  313. package/src/directives/index.js +21 -0
  314. package/src/directives/resize.js +30 -0
  315. package/src/directives/ripple.js +120 -0
  316. package/src/directives/scroll.js +31 -0
  317. package/src/directives/touch.js +90 -0
  318. package/src/index.js +30 -0
  319. package/src/mixins/applicationable.js +9 -0
  320. package/src/mixins/bootable.js +31 -0
  321. package/src/mixins/button-group.js +77 -0
  322. package/src/mixins/colorable.js +20 -0
  323. package/src/mixins/contextualable.js +10 -0
  324. package/src/mixins/delayable.js +54 -0
  325. package/src/mixins/dependent.js +55 -0
  326. package/src/mixins/detachable.js +44 -0
  327. package/src/mixins/filterable.js +8 -0
  328. package/src/mixins/input.js +220 -0
  329. package/src/mixins/loadable.js +33 -0
  330. package/src/mixins/maskable.js +117 -0
  331. package/src/mixins/menuable.js +299 -0
  332. package/src/mixins/overlayable.js +180 -0
  333. package/src/mixins/picker.js +35 -0
  334. package/src/mixins/positionable.js +10 -0
  335. package/src/mixins/rippleable.js +21 -0
  336. package/src/mixins/routable.js +66 -0
  337. package/src/mixins/selectable.js +84 -0
  338. package/src/mixins/stackable.js +44 -0
  339. package/src/mixins/tab-focusable.js +7 -0
  340. package/src/mixins/themeable.js +15 -0
  341. package/src/mixins/toggleable.js +28 -0
  342. package/src/mixins/transitionable.js +7 -0
  343. package/src/mixins/translatable.js +67 -0
  344. package/src/mixins/validatable.js +124 -0
  345. package/src/stylus/app.styl +6 -0
  346. package/src/stylus/bootstrap.styl +1 -0
  347. package/src/stylus/components/_alerts.styl +44 -0
  348. package/src/stylus/components/_app.styl +21 -0
  349. package/src/stylus/components/_avatars.styl +22 -0
  350. package/src/stylus/components/_badges.styl +49 -0
  351. package/src/stylus/components/_bottom-navs.styl +86 -0
  352. package/src/stylus/components/_bottom-sheets.styl +18 -0
  353. package/src/stylus/components/_breadcrumbs.styl +46 -0
  354. package/src/stylus/components/_button-toggle.styl +55 -0
  355. package/src/stylus/components/_buttons.styl +339 -0
  356. package/src/stylus/components/_cards.styl +85 -0
  357. package/src/stylus/components/_carousel.styl +76 -0
  358. package/src/stylus/components/_chips.styl +102 -0
  359. package/src/stylus/components/_content.styl +6 -0
  360. package/src/stylus/components/_data-table.styl +113 -0
  361. package/src/stylus/components/_date-picker.styl +214 -0
  362. package/src/stylus/components/_dialogs.styl +63 -0
  363. package/src/stylus/components/_dividers.styl +19 -0
  364. package/src/stylus/components/_expansion-panel.styl +85 -0
  365. package/src/stylus/components/_footer.styl +40 -0
  366. package/src/stylus/components/_grid.styl +171 -0
  367. package/src/stylus/components/_icons.styl +32 -0
  368. package/src/stylus/components/_input-groups.styl +310 -0
  369. package/src/stylus/components/_lists.styl +263 -0
  370. package/src/stylus/components/_menus.styl +87 -0
  371. package/src/stylus/components/_navigation-drawer.styl +150 -0
  372. package/src/stylus/components/_overlay.styl +42 -0
  373. package/src/stylus/components/_pagination.styl +95 -0
  374. package/src/stylus/components/_parallax.styl +35 -0
  375. package/src/stylus/components/_pickers.styl +66 -0
  376. package/src/stylus/components/_progress-circular.styl +58 -0
  377. package/src/stylus/components/_progress-linear.styl +104 -0
  378. package/src/stylus/components/_radio-group.styl +23 -0
  379. package/src/stylus/components/_ripples.styl +31 -0
  380. package/src/stylus/components/_select.styl +153 -0
  381. package/src/stylus/components/_selection-controls.styl +122 -0
  382. package/src/stylus/components/_sliders.styl +234 -0
  383. package/src/stylus/components/_small-dialog.styl +37 -0
  384. package/src/stylus/components/_snackbars.styl +110 -0
  385. package/src/stylus/components/_speed-dial.styl +78 -0
  386. package/src/stylus/components/_steppers.styl +216 -0
  387. package/src/stylus/components/_subheaders.styl +18 -0
  388. package/src/stylus/components/_switch.styl +89 -0
  389. package/src/stylus/components/_system-bars.styl +49 -0
  390. package/src/stylus/components/_tables.styl +103 -0
  391. package/src/stylus/components/_tabs.styl +159 -0
  392. package/src/stylus/components/_text-fields.styl +243 -0
  393. package/src/stylus/components/_time-picker.styl +199 -0
  394. package/src/stylus/components/_toolbar.styl +148 -0
  395. package/src/stylus/components/_tooltips.styl +25 -0
  396. package/src/stylus/elements/_blockquote.styl +5 -0
  397. package/src/stylus/elements/_code.styl +20 -0
  398. package/src/stylus/elements/_global.styl +31 -0
  399. package/src/stylus/elements/_headings.styl +17 -0
  400. package/src/stylus/elements/_lists.styl +2 -0
  401. package/src/stylus/elements/_typography.styl +54 -0
  402. package/src/stylus/generic/_bootstrap.styl +49 -0
  403. package/src/stylus/generic/_reset.styl +332 -0
  404. package/src/stylus/generic/_transitions.styl +116 -0
  405. package/src/stylus/main.styl +2 -0
  406. package/src/stylus/settings/_colors.styl +339 -0
  407. package/src/stylus/settings/_elevations.styl +111 -0
  408. package/src/stylus/settings/_theme.styl +201 -0
  409. package/src/stylus/settings/_variables.styl +396 -0
  410. package/src/stylus/theme.styl +24 -0
  411. package/src/stylus/tools/_animations.styl +9 -0
  412. package/src/stylus/tools/_colors.styl +17 -0
  413. package/src/stylus/tools/_elevations.styl +7 -0
  414. package/src/stylus/trumps/_display.styl +14 -0
  415. package/src/stylus/trumps/_helpers.styl +5 -0
  416. package/src/stylus/trumps/_spacing.styl +37 -0
  417. package/src/stylus/trumps/_text.styl +13 -0
  418. package/src/util/breakpoint.js +134 -0
  419. package/src/util/helpers.d.ts +21 -0
  420. package/src/util/helpers.js +125 -0
  421. package/src/util/load.js +13 -0
  422. package/src/util/mask.js +138 -0
  423. package/src/util/testing.js +154 -0
  424. package/src/util/to-have-been-warned.js +68 -0
  425. package/src/util/touchSupport.js +12 -0
@@ -0,0 +1,50 @@
1
+ import load from '../../util/load';
2
+
3
+ var Kdutify = {
4
+ install: function install(Kdu) {
5
+ var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
6
+
7
+ var $kdutify = {
8
+ load: load,
9
+ application: {
10
+ bar: 0,
11
+ top: 0,
12
+ bottom: 0,
13
+ left: 0,
14
+ right: 0
15
+ },
16
+ breakpoint: {},
17
+ touchSupport: false
18
+ };
19
+
20
+ Kdu.util.defineReactive({}, 'breakpoint', $kdutify);
21
+ Kdu.util.defineReactive({}, 'application', $kdutify);
22
+
23
+ Kdu.prototype.$kdutify = $kdutify;
24
+
25
+ if (opts.transitions) {
26
+ Object.keys(opts.transitions).forEach(function (key) {
27
+ var t = opts.transitions[key];
28
+ if (t.name !== undefined && t.name.startsWith('k-')) {
29
+ Kdu.component(t.name, t);
30
+ }
31
+ });
32
+ }
33
+
34
+ if (opts.directives) {
35
+ Object.keys(opts.directives).forEach(function (key) {
36
+ var d = opts.directives[key];
37
+ Kdu.directive(d.name, d);
38
+ });
39
+ }
40
+
41
+ if (opts.components) {
42
+ Object.keys(opts.components).forEach(function (key) {
43
+ var c = opts.components[key];
44
+ Kdu.use(c);
45
+ });
46
+ }
47
+ }
48
+ };
49
+
50
+ export default Kdutify;
@@ -0,0 +1,45 @@
1
+ export { default as Kdutify } from './Kdutify';
2
+ export { default as KApp } from './KApp';
3
+ export { default as KAlert } from './KAlert';
4
+ export { default as KAvatar } from './KAvatar';
5
+ export { default as KBadge } from './KBadge';
6
+ export { default as KBottomNav } from './KBottomNav';
7
+ export { default as KBottomSheet } from './KBottomSheet';
8
+ export { default as KBreadcrumbs } from './KBreadcrumbs';
9
+ export { default as KBtn } from './KBtn';
10
+ export { default as KBtnToggle } from './KBtnToggle';
11
+ export { default as KCard } from './KCard';
12
+ export { default as KCarousel } from './KCarousel';
13
+ export { default as KCheckbox } from './KCheckbox';
14
+ export { default as KChip } from './KChip';
15
+ export { default as KDataTable } from './KDataTable';
16
+ export { default as KDatePicker } from './KDatePicker';
17
+ export { default as KDialog } from './KDialog';
18
+ export { default as KDivider } from './KDivider';
19
+ export { default as KExpansionPanel } from './KExpansionPanel';
20
+ export { default as KFooter } from './KFooter';
21
+ export { default as KForm } from './KForm';
22
+ export { default as KGrid } from './KGrid';
23
+ export { default as KIcon } from './KIcon';
24
+ export { default as KList } from './KList';
25
+ export { default as KMenu } from './KMenu';
26
+ export { default as KNavigationDrawer } from './KNavigationDrawer';
27
+ export { default as KPagination } from './KPagination';
28
+ export { default as KParallax } from './KParallax';
29
+ export { default as KProgressCircular } from './KProgressCircular';
30
+ export { default as KProgressLinear } from './KProgressLinear';
31
+ export { default as KRadioGroup } from './KRadioGroup';
32
+ export { default as KSelect } from './KSelect';
33
+ export { default as KSlider } from './KSlider';
34
+ export { default as KSnackbar } from './KSnackbar';
35
+ export { default as KSpeedDial } from './KSpeedDial';
36
+ export { default as KStepper } from './KStepper';
37
+ export { default as KSubheader } from './KSubheader';
38
+ export { default as KSwitch } from './KSwitch';
39
+ export { default as KSystemBar } from './KSystemBar';
40
+ export { default as KTabs } from './KTabs';
41
+ export { default as KTextField } from './KTextField';
42
+ export { default as KTimePicker } from './KTimePicker';
43
+ export { default as KToolbar } from './KToolbar';
44
+ export { default as KTooltip } from './KTooltip';
45
+ export { default as Transitions } from './transitions';
@@ -0,0 +1,36 @@
1
+ import { addOnceEventListener } from '../../util/helpers';
2
+
3
+ export default {
4
+ enter: function enter(el, done) {
5
+ // Remove initial transition
6
+ el.style.transition = 'none';
7
+ addOnceEventListener(el, 'transitionend', done);
8
+
9
+ // Get height that is to be scrolled
10
+ el.style.overflow = 'hidden';
11
+ el.style.height = null;
12
+ el.style.display = 'block';
13
+ var height = el.clientHeight + 'px';
14
+ el.style.height = 0;
15
+ el.style.transition = null;
16
+
17
+ setTimeout(function () {
18
+ return el.style.height = height;
19
+ }, 100);
20
+ },
21
+ afterEnter: function afterEnter(el) {
22
+ el.style.height = 'auto';
23
+ el.style.overflow = null;
24
+ },
25
+ leave: function leave(el, done) {
26
+ addOnceEventListener(el, 'transitionend', done);
27
+
28
+ // Set height before we transition to 0
29
+ el.style.overflow = 'hidden';
30
+ el.style.height = el.clientHeight + 'px';
31
+
32
+ setTimeout(function () {
33
+ return el.style.height = 0;
34
+ }, 100);
35
+ }
36
+ };
@@ -0,0 +1,47 @@
1
+ import { createSimpleTransition, createJavaScriptTransition } from '../../util/helpers';
2
+
3
+ import ExpandTransitionFunctions from './expand-transition';
4
+ import RowExpandTransitionFunctions from './row-expand-transition';
5
+
6
+ // Component specific transitions
7
+ export var KBottomSheetTranstion = createSimpleTransition('bottom-sheet-transition');
8
+ export var KCarouselTransition = createSimpleTransition('carousel-transition');
9
+ export var KCarouselReverseTransition = createSimpleTransition('carousel-reverse-transition');
10
+ export var KTabTransition = createSimpleTransition('tab-transition');
11
+ export var KTabReverseTransition = createSimpleTransition('tab-reverse-transition');
12
+ export var KMenuTransition = createSimpleTransition('menu-transition');
13
+ export var KFabTransition = createSimpleTransition('fab-transition', 'center center', 'out-in');
14
+
15
+ // Generic transitions
16
+ export var KDialogTransition = createSimpleTransition('dialog-transition');
17
+ export var KDialogBottomTransition = createSimpleTransition('dialog-bottom-transition');
18
+ export var KFadeTransition = createSimpleTransition('fade-transition');
19
+ export var KScaleTransition = createSimpleTransition('scale-transition');
20
+ export var KSlideXTransition = createSimpleTransition('slide-x-transition');
21
+ export var KSlideXReverseTransition = createSimpleTransition('slide-x-reverse-transition');
22
+ export var KSlideYTransition = createSimpleTransition('slide-y-transition');
23
+ export var KSlideYReverseTransition = createSimpleTransition('slide-y-reverse-transition');
24
+
25
+ // JavaScript transitions
26
+ export var KExpandTransition = createJavaScriptTransition('expand-transition', ExpandTransitionFunctions);
27
+ export var KRowExpandTransition = createJavaScriptTransition('row-expand-transition', RowExpandTransitionFunctions);
28
+
29
+ export default function install(Kdu) {
30
+ Kdu.component('k-bottom-sheet-transition', KBottomSheetTranstion);
31
+ Kdu.component('k-carousel-transition', KCarouselTransition);
32
+ Kdu.component('k-carousel-reverse-transition', KCarouselReverseTransition);
33
+ Kdu.component('k-dialog-transition', KDialogTransition);
34
+ Kdu.component('k-dialog-bottom-transition', KDialogBottomTransition);
35
+ Kdu.component('k-fab-transition', KFabTransition);
36
+ Kdu.component('k-fade-transition', KFadeTransition);
37
+ Kdu.component('k-menu-transition', KMenuTransition);
38
+ Kdu.component('k-scale-transition', KScaleTransition);
39
+ Kdu.component('k-slide-x-transition', KSlideXTransition);
40
+ Kdu.component('k-slide-x-reverse-transition', KSlideXReverseTransition);
41
+ Kdu.component('k-slide-y-transition', KSlideYTransition);
42
+ Kdu.component('k-slide-y-reverse-transition', KSlideYReverseTransition);
43
+ Kdu.component('k-tab-reverse-transition', KTabReverseTransition);
44
+ Kdu.component('k-tab-transition', KTabTransition);
45
+ Kdu.component('k-expand-transition', KExpandTransition);
46
+ Kdu.component('k-row-expand-transition', KRowExpandTransition);
47
+ }
@@ -0,0 +1,38 @@
1
+ import { addOnceEventListener } from '../../util/helpers';
2
+
3
+ export default {
4
+ enter: function enter(el, done) {
5
+ el.td = el.parentNode;
6
+
7
+ addOnceEventListener(el, 'transitionend', done);
8
+
9
+ // Get height that is to be scrolled
10
+ var height = el.dataset.height || el.clientHeight;
11
+ el.dataset.height = height;
12
+ el.style.overflow = 'hidden';
13
+ el.style.height = 0;
14
+ el.td.style['border-bottom'] = '1px solid rgba(0,0,0,0.12)';
15
+
16
+ setTimeout(function () {
17
+ el.dataset.height = el.style.height = el.scrollHeight + 'px';
18
+ }, 50);
19
+ },
20
+ afterEnter: function afterEnter(el) {
21
+ el.style.overflow = null;
22
+ },
23
+ leave: function leave(el, done) {
24
+ // Remove initial transition
25
+ addOnceEventListener(el, 'transitionend', done);
26
+
27
+ // Set height before we transition to 0
28
+ el.style.overflow = 'hidden';
29
+ el.style.height = el.dataset.height + 'px';
30
+
31
+ setTimeout(function () {
32
+ el.style.height = 0;
33
+ }, 50);
34
+ },
35
+ afterLeave: function afterLeave(el) {
36
+ el.td.style['border-bottom'] = null;
37
+ }
38
+ };
@@ -0,0 +1,100 @@
1
+ function directive(e, el, binding, v) {
2
+ // The include element callbacks below can be expensive
3
+ // so we should avoid calling them when we're not active.
4
+ // Explicitly check for false to allow fallback compatibility
5
+ // with non-toggleable components
6
+ if (!e || v.context.isActive === false) return;
7
+
8
+ // Get value passed to directive
9
+ var val = binding.value || function () {
10
+ return true;
11
+ };
12
+ // Check if callback was passed in object or as the value
13
+ var cb = val.callback || val;
14
+ // Check if additional elements were passed to be included in check
15
+ // (click must be outside all included elements, if any)
16
+ var elements = (val.include || function () {
17
+ return [];
18
+ })();
19
+ // Add the root element for the component this directive was defined on
20
+ elements.push(el);
21
+
22
+ // Check if it's a click outside our elements, and then if our callback returns true.
23
+ // Non-toggleable components should take action in their callback and return falsy.
24
+ // Toggleable can return true if it wants to deactivate.
25
+ // Note that, because we're in the capture phase, this callback will occure before
26
+ // the bubbling click event on any outside elements.
27
+ if (!clickedInEls(e, elements) && cb(e)) {
28
+ // Delay setting toggleable inactive to avoid conflicting
29
+ // with an outside click on any activator toggling our state.
30
+ setTimeout(function () {
31
+ return v.context.isActive = false;
32
+ }, 0);
33
+ }
34
+ }
35
+
36
+ function clickedInEls(e, elements) {
37
+ // Get position of click
38
+ var x = e.clientX,
39
+ y = e.clientY;
40
+ // Loop over all included elements to see if click was in any of them
41
+
42
+ var _iteratorNormalCompletion = true;
43
+ var _didIteratorError = false;
44
+ var _iteratorError = undefined;
45
+
46
+ try {
47
+ for (var _iterator = elements[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
48
+ var el = _step.value;
49
+
50
+ if (clickedInEl(el, x, y)) return true;
51
+ }
52
+ } catch (err) {
53
+ _didIteratorError = true;
54
+ _iteratorError = err;
55
+ } finally {
56
+ try {
57
+ if (!_iteratorNormalCompletion && _iterator.return) {
58
+ _iterator.return();
59
+ }
60
+ } finally {
61
+ if (_didIteratorError) {
62
+ throw _iteratorError;
63
+ }
64
+ }
65
+ }
66
+
67
+ return false;
68
+ }
69
+
70
+ function clickedInEl(el, x, y) {
71
+ // Get bounding rect for element
72
+ // (we're in capturing event and we want to check for multiple elements,
73
+ // so can't use target.)
74
+ var b = el.getBoundingClientRect();
75
+ // Check if the click was in the element's bounding rect
76
+
77
+ return x >= b.left && x <= b.right && y >= b.top && y <= b.bottom;
78
+ }
79
+
80
+ export default {
81
+ name: 'click-outside',
82
+
83
+ bind: function bind(el, binding, v) {
84
+ v.context.$kdutify.load(function () {
85
+ var onClick = function onClick(e) {
86
+ return directive(e, el, binding, v);
87
+ };
88
+ // iOS does not recognize click events on document
89
+ // or body, this is the entire purpose of the k-app
90
+ // component and [data-app], stop removing this
91
+ var app = document.querySelector('[data-app]') || document.body; // This is only for unit tests
92
+ app.addEventListener('click', onClick, true);
93
+ el._clickOutside = onClick;
94
+ });
95
+ },
96
+ unbind: function unbind(el) {
97
+ var app = document.querySelector('[data-app]') || document.body; // This is only for unit tests
98
+ app && app.removeEventListener('click', el._clickOutside, true);
99
+ }
100
+ };
@@ -0,0 +1,15 @@
1
+ import ClickOutside from './click-outside';
2
+ import Resize from './resize';
3
+ import Ripple from './ripple';
4
+ import Scroll from './scroll';
5
+ import Touch from './touch';
6
+
7
+ export { ClickOutside, Ripple, Resize, Scroll, Touch };
8
+
9
+ export default function install(Kdu) {
10
+ Kdu.directive('click-outside', ClickOutside);
11
+ Kdu.directive('ripple', Ripple);
12
+ Kdu.directive('resize', Resize);
13
+ Kdu.directive('scroll', Scroll);
14
+ Kdu.directive('touch', Touch);
15
+ }
@@ -0,0 +1,30 @@
1
+ function inserted(el, binding) {
2
+ var cb = binding.value;
3
+ var debounce = 200;
4
+
5
+ if (typeof binding.value !== 'function') {
6
+ cb = binding.value.value;
7
+ debounce = binding.value.debounce;
8
+ }
9
+
10
+ var debounceTimeout = setTimeout(cb, debounce);
11
+ var onResize = function onResize() {
12
+ clearTimeout(debounceTimeout);
13
+ debounceTimeout = setTimeout(cb, debounce);
14
+ };
15
+
16
+ window.addEventListener('resize', onResize, { passive: true });
17
+ el._onResize = onResize;
18
+
19
+ onResize();
20
+ }
21
+
22
+ function unbind(el, binding) {
23
+ window.removeEventListener('resize', el._onResize);
24
+ }
25
+
26
+ export default {
27
+ name: 'resize',
28
+ inserted: inserted,
29
+ unbind: unbind
30
+ };
@@ -0,0 +1,144 @@
1
+ function style(el, value) {
2
+ ['transform', 'webkitTransform'].forEach(function (i) {
3
+ el.style[i] = value;
4
+ });
5
+ }
6
+
7
+ var RippleDataAttribute = 'data-ripple';
8
+
9
+ var ripple = {
10
+ show: function show(e, el, _ref) {
11
+ var _ref$value = _ref.value,
12
+ value = _ref$value === undefined ? {} : _ref$value;
13
+
14
+ if (el.getAttribute(RippleDataAttribute) !== 'true') {
15
+ return;
16
+ }
17
+
18
+ var container = document.createElement('span');
19
+ var animation = document.createElement('span');
20
+
21
+ container.appendChild(animation);
22
+ container.className = 'ripple__container';
23
+
24
+ if (value.class) {
25
+ container.className += ' ' + value.class;
26
+ }
27
+
28
+ var size = el.clientWidth > el.clientHeight ? el.clientWidth : el.clientHeight;
29
+ animation.className = 'ripple__animation';
30
+ animation.style.width = size * (value.center ? 1 : 2) + 'px';
31
+ animation.style.height = animation.style.width;
32
+
33
+ el.appendChild(container);
34
+ var computed = window.getComputedStyle(el);
35
+ if (computed.position !== 'absolute' && computed.position !== 'fixed') el.style.position = 'relative';
36
+
37
+ var offset = el.getBoundingClientRect();
38
+ var x = value.center ? '50%' : e.clientX - offset.left + 'px';
39
+ var y = value.center ? '50%' : e.clientY - offset.top + 'px';
40
+
41
+ animation.classList.add('ripple__animation--enter');
42
+ animation.classList.add('ripple__animation--visible');
43
+ style(animation, 'translate(-50%, -50%) translate(' + x + ', ' + y + ') scale3d(0.01,0.01,0.01)');
44
+ animation.dataset.activated = Date.now();
45
+
46
+ setTimeout(function () {
47
+ animation.classList.remove('ripple__animation--enter');
48
+ style(animation, 'translate(-50%, -50%) translate(' + x + ', ' + y + ') scale3d(0.99,0.99,0.99)');
49
+ }, 0);
50
+ },
51
+
52
+ hide: function hide(el) {
53
+ if (el.getAttribute(RippleDataAttribute) !== 'true') {
54
+ return;
55
+ }
56
+
57
+ var ripples = el.getElementsByClassName('ripple__animation');
58
+
59
+ if (ripples.length === 0) return;
60
+ var animation = ripples[ripples.length - 1];
61
+ var diff = Date.now() - Number(animation.dataset.activated);
62
+ var delay = 400 - diff;
63
+
64
+ delay = delay < 0 ? 0 : delay;
65
+
66
+ setTimeout(function () {
67
+ animation.classList.remove('ripple__animation--visible');
68
+
69
+ setTimeout(function () {
70
+ // Need to figure out a new way to do this
71
+ try {
72
+ if (ripples.length < 1) el.style.position = null;
73
+ animation.parentNode && el.removeChild(animation.parentNode);
74
+ } catch (e) {}
75
+ }, 300);
76
+ }, delay);
77
+ }
78
+ };
79
+
80
+ function directive(el, binding) {
81
+ el.setAttribute(RippleDataAttribute, !!binding.value);
82
+
83
+ if ('ontouchstart' in window) {
84
+ el.addEventListener('touchend', function () {
85
+ return ripple.hide(el);
86
+ }, false);
87
+ el.addEventListener('touchcancel', function () {
88
+ return ripple.hide(el);
89
+ }, false);
90
+ }
91
+
92
+ el.addEventListener('mousedown', function (e) {
93
+ return ripple.show(e, el, binding);
94
+ }, false);
95
+ el.addEventListener('mouseup', function () {
96
+ return ripple.hide(el);
97
+ }, false);
98
+ el.addEventListener('mouseleave', function () {
99
+ return ripple.hide(el);
100
+ }, false);
101
+ // Anchor tags can be dragged, causes other hides to fail - #1537
102
+ el.addEventListener('dragstart', function () {
103
+ return ripple.hide(el);
104
+ }, false);
105
+ }
106
+
107
+ function unbind(el, binding) {
108
+ el.removeEventListener('touchstart', function (e) {
109
+ return ripple.show(e, el, binding);
110
+ }, false);
111
+ el.removeEventListener('mousedown', function (e) {
112
+ return ripple.show(e, el, binding);
113
+ }, false);
114
+ el.removeEventListener('touchend', function () {
115
+ return ripple.hide(el);
116
+ }, false);
117
+ el.removeEventListener('touchcancel', function () {
118
+ return ripple.hide(el);
119
+ }, false);
120
+ el.removeEventListener('mouseup', function () {
121
+ return ripple.hide(el);
122
+ }, false);
123
+ el.removeEventListener('mouseleave', function () {
124
+ return ripple.hide(el);
125
+ }, false);
126
+ el.removeEventListener('dragstart', function () {
127
+ return ripple.hide(el);
128
+ }, false);
129
+ }
130
+
131
+ function update(el, binding) {
132
+ if (binding.value === binding.oldValue) {
133
+ return;
134
+ }
135
+
136
+ el.setAttribute(RippleDataAttribute, !!binding.value);
137
+ }
138
+
139
+ export default {
140
+ name: 'ripple',
141
+ bind: directive,
142
+ unbind: unbind,
143
+ update: update
144
+ };
@@ -0,0 +1,32 @@
1
+ function inserted(el, binding) {
2
+ var callback = typeof binding.value === 'function' ? binding.value : binding.value.callback;
3
+ var options = binding.value.options || { passive: true };
4
+ var target = binding.value.target || window;
5
+ if (target === 'undefined') return;
6
+
7
+ if (target !== window) {
8
+ target = document.querySelector(target);
9
+ }
10
+
11
+ target.addEventListener('scroll', callback, options);
12
+
13
+ el._onScroll = {
14
+ target: target,
15
+ options: options
16
+ };
17
+ }
18
+
19
+ function unbind(el, binding) {
20
+ var _el$_onScroll = el._onScroll,
21
+ target = _el$_onScroll.target,
22
+ options = _el$_onScroll.options;
23
+
24
+
25
+ target.removeEventListener('scroll', binding.callback, options);
26
+ }
27
+
28
+ export default {
29
+ name: 'scroll',
30
+ inserted: inserted,
31
+ unbind: unbind
32
+ };
@@ -0,0 +1,102 @@
1
+ var touchstart = function touchstart(event, wrapper) {
2
+ var touch = event.changedTouches[0];
3
+ wrapper.touchstartX = touch.clientX;
4
+ wrapper.touchstartY = touch.clientY;
5
+
6
+ wrapper.start && wrapper.start(Object.assign(event, wrapper));
7
+ };
8
+
9
+ var touchend = function touchend(event, wrapper) {
10
+ var touch = event.changedTouches[0];
11
+ wrapper.touchendX = touch.clientX;
12
+ wrapper.touchendY = touch.clientY;
13
+
14
+ wrapper.end && wrapper.end(Object.assign(event, wrapper));
15
+
16
+ handleGesture(wrapper);
17
+ };
18
+
19
+ var touchmove = function touchmove(event, wrapper) {
20
+ var touch = event.changedTouches[0];
21
+ wrapper.touchmoveX = touch.clientX;
22
+ wrapper.touchmoveY = touch.clientY;
23
+
24
+ wrapper.move && wrapper.move(Object.assign(event, wrapper));
25
+ };
26
+
27
+ var handleGesture = function handleGesture(wrapper) {
28
+ var touchstartX = wrapper.touchstartX,
29
+ touchendX = wrapper.touchendX,
30
+ touchstartY = wrapper.touchstartY,
31
+ touchendY = wrapper.touchendY;
32
+
33
+ var dirRatio = 0.5;
34
+ var minDistance = 16;
35
+ wrapper.offsetX = touchendX - touchstartX;
36
+ wrapper.offsetY = touchendY - touchstartY;
37
+
38
+ if (Math.abs(wrapper.offsetY) < dirRatio * Math.abs(wrapper.offsetX)) {
39
+ wrapper.left && touchendX < touchstartX - minDistance && wrapper.left(wrapper);
40
+ wrapper.right && touchendX > touchstartX + minDistance && wrapper.right(wrapper);
41
+ }
42
+
43
+ if (Math.abs(wrapper.offsetX) < dirRatio * Math.abs(wrapper.offsetY)) {
44
+ wrapper.up && touchendY < touchstartY - minDistance && wrapper.up(wrapper);
45
+ wrapper.down && touchendY > touchstartY + minDistance && wrapper.down(wrapper);
46
+ }
47
+ };
48
+
49
+ function inserted(el, _ref) {
50
+ var value = _ref.value;
51
+
52
+ var wrapper = {
53
+ touchstartX: 0,
54
+ touchstartY: 0,
55
+ touchendX: 0,
56
+ touchendY: 0,
57
+ touchmoveX: 0,
58
+ touchmoveY: 0,
59
+ offsetX: 0,
60
+ offsetY: 0,
61
+ left: value.left,
62
+ right: value.right,
63
+ up: value.up,
64
+ down: value.down,
65
+ start: value.start,
66
+ move: value.move,
67
+ end: value.end
68
+ };
69
+
70
+ var target = value.parent ? el.parentNode : el;
71
+ var options = value.options || { passive: true
72
+
73
+ // Needed to pass unit tests
74
+ };if (!target) return;
75
+ target.addEventListener('touchstart', function (e) {
76
+ return touchstart(e, wrapper);
77
+ }, options);
78
+ target.addEventListener('touchend', function (e) {
79
+ return touchend(e, wrapper);
80
+ }, options);
81
+ target.addEventListener('touchmove', function (e) {
82
+ return touchmove(e, wrapper);
83
+ }, options);
84
+ }
85
+
86
+ function unbind(el, _ref2) {
87
+ var value = _ref2.value;
88
+
89
+ var target = value.parent ? el.parentNode : el;
90
+
91
+ if (!target) return;
92
+
93
+ target.removeEventListener('touchstart', touchstart);
94
+ target.removeEventListener('touchend', touchend);
95
+ target.removeEventListener('touchmove', touchmove);
96
+ }
97
+
98
+ export default {
99
+ name: 'touch',
100
+ inserted: inserted,
101
+ unbind: unbind
102
+ };
package/es5/index.js ADDED
@@ -0,0 +1,30 @@
1
+ require('./stylus/app.styl');
2
+ import Semver from 'semver';
3
+ import { devDependencies, version } from '../package.json';
4
+ import * as components from './components';
5
+ import * as directives from './directives';
6
+
7
+ function Kdutify(Kdu) {
8
+ var Kdutify = components.Kdutify;
9
+
10
+ Kdu.use(Kdutify, {
11
+ components: components,
12
+ directives: directives
13
+ });
14
+ }
15
+
16
+ Kdutify.version = version;
17
+
18
+ function checkKduVersion() {
19
+ var kduDep = devDependencies.kdu;
20
+ if (!Semver.satisfies(window.Kdu.version, kduDep)) {
21
+ console.warn('Kdutify requires Kdu version ' + kduDep);
22
+ }
23
+ }
24
+
25
+ if (typeof window !== 'undefined' && window.Kdu) {
26
+ window.Kdu.version && checkKduVersion();
27
+ window.Kdu.use(Kdutify);
28
+ }
29
+
30
+ export default Kdutify;
@@ -0,0 +1,9 @@
1
+ export default {
2
+ props: {
3
+ app: Boolean
4
+ },
5
+
6
+ created: function created() {
7
+ this.updateApplication();
8
+ }
9
+ };