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.
- package/LICENSE +21 -0
- package/README.md +70 -0
- package/dist/kdutify.css +12850 -0
- package/dist/kdutify.css.map +1 -0
- package/dist/kdutify.js +16285 -0
- package/dist/kdutify.js.map +1 -0
- package/dist/kdutify.min.css +7 -0
- package/dist/kdutify.min.css.map +1 -0
- package/dist/kdutify.min.js +6 -0
- package/es5/components/KAlert/KAlert.js +80 -0
- package/es5/components/KAlert/index.js +7 -0
- package/es5/components/KApp/KApp.js +67 -0
- package/es5/components/KApp/index.js +7 -0
- package/es5/components/KAvatar/KAvatar.js +31 -0
- package/es5/components/KAvatar/index.js +7 -0
- package/es5/components/KBadge/KBadge.js +59 -0
- package/es5/components/KBadge/index.js +7 -0
- package/es5/components/KBottomNav/KBottomNav.js +50 -0
- package/es5/components/KBottomNav/index.js +7 -0
- package/es5/components/KBottomSheet/KBottomSheet.js +36 -0
- package/es5/components/KBottomSheet/index.js +7 -0
- package/es5/components/KBreadcrumbs/KBreadcrumbs.js +36 -0
- package/es5/components/KBreadcrumbs/KBreadcrumbsItem.js +38 -0
- package/es5/components/KBreadcrumbs/index.js +11 -0
- package/es5/components/KBtn/KBtn.js +153 -0
- package/es5/components/KBtn/index.js +7 -0
- package/es5/components/KBtnToggle/KBtnToggle.js +92 -0
- package/es5/components/KBtnToggle/index.js +7 -0
- package/es5/components/KCard/KCard.js +63 -0
- package/es5/components/KCard/KCardMedia.js +41 -0
- package/es5/components/KCard/KCardTitle.js +21 -0
- package/es5/components/KCard/index.js +19 -0
- package/es5/components/KCarousel/KCarousel.js +178 -0
- package/es5/components/KCarousel/KCarouselItem.js +63 -0
- package/es5/components/KCarousel/index.js +11 -0
- package/es5/components/KCheckbox/KCheckbox.js +89 -0
- package/es5/components/KCheckbox/index.js +7 -0
- package/es5/components/KChip/KChip.js +81 -0
- package/es5/components/KChip/index.js +7 -0
- package/es5/components/KDataTable/KDataTable.js +347 -0
- package/es5/components/KDataTable/KEditDialog.js +108 -0
- package/es5/components/KDataTable/index.js +14 -0
- package/es5/components/KDataTable/mixins/body.js +103 -0
- package/es5/components/KDataTable/mixins/foot.js +118 -0
- package/es5/components/KDataTable/mixins/head.js +123 -0
- package/es5/components/KDataTable/mixins/progress.js +16 -0
- package/es5/components/KDatePicker/KDatePicker.js +416 -0
- package/es5/components/KDatePicker/index.js +7 -0
- package/es5/components/KDatePicker/mixins/date-header.js +68 -0
- package/es5/components/KDatePicker/mixins/date-table.js +101 -0
- package/es5/components/KDatePicker/mixins/date-title.js +64 -0
- package/es5/components/KDatePicker/mixins/date-years.js +53 -0
- package/es5/components/KDatePicker/mixins/month-table.js +91 -0
- package/es5/components/KDialog/KDialog.js +181 -0
- package/es5/components/KDialog/index.js +7 -0
- package/es5/components/KDivider/KDivider.js +29 -0
- package/es5/components/KDivider/index.js +7 -0
- package/es5/components/KExpansionPanel/KExpansionPanel.js +60 -0
- package/es5/components/KExpansionPanel/KExpansionPanelContent.js +114 -0
- package/es5/components/KExpansionPanel/index.js +9 -0
- package/es5/components/KFooter/KFooter.js +61 -0
- package/es5/components/KFooter/index.js +7 -0
- package/es5/components/KForm/KForm.js +203 -0
- package/es5/components/KForm/index.js +7 -0
- package/es5/components/KGrid/KContainer.js +5 -0
- package/es5/components/KGrid/KContent.js +33 -0
- package/es5/components/KGrid/KFlex.js +5 -0
- package/es5/components/KGrid/KLayout.js +5 -0
- package/es5/components/KGrid/grid.js +43 -0
- package/es5/components/KGrid/index.js +20 -0
- package/es5/components/KIcon/KIcon.js +93 -0
- package/es5/components/KIcon/index.js +7 -0
- package/es5/components/KList/KList.js +82 -0
- package/es5/components/KList/KListGroup.js +100 -0
- package/es5/components/KList/KListTile.js +65 -0
- package/es5/components/KList/KListTileAction.js +15 -0
- package/es5/components/KList/index.js +27 -0
- package/es5/components/KMenu/KMenu.js +178 -0
- package/es5/components/KMenu/index.js +7 -0
- package/es5/components/KMenu/mixins/menu-activator.js +59 -0
- package/es5/components/KMenu/mixins/menu-generators.js +88 -0
- package/es5/components/KMenu/mixins/menu-keyable.js +64 -0
- package/es5/components/KMenu/mixins/menu-position.js +64 -0
- package/es5/components/KNavigationDrawer/KNavigationDrawer.js +238 -0
- package/es5/components/KNavigationDrawer/index.js +7 -0
- package/es5/components/KPagination/KPagination.js +167 -0
- package/es5/components/KPagination/index.js +7 -0
- package/es5/components/KParallax/KParallax.js +98 -0
- package/es5/components/KParallax/index.js +7 -0
- package/es5/components/KProgressCircular/KProgressCircular.js +145 -0
- package/es5/components/KProgressCircular/index.js +7 -0
- package/es5/components/KProgressLinear/KProgressLinear.js +146 -0
- package/es5/components/KProgressLinear/index.js +7 -0
- package/es5/components/KRadioGroup/KRadio.js +148 -0
- package/es5/components/KRadioGroup/KRadioGroup.js +139 -0
- package/es5/components/KRadioGroup/index.js +11 -0
- package/es5/components/KSelect/KSelect.js +635 -0
- package/es5/components/KSelect/index.js +7 -0
- package/es5/components/KSelect/mixins/select-autocomplete.js +125 -0
- package/es5/components/KSelect/mixins/select-generators.js +298 -0
- package/es5/components/KSlider/KSlider.js +306 -0
- package/es5/components/KSlider/index.js +7 -0
- package/es5/components/KSnackbar/KSnackbar.js +106 -0
- package/es5/components/KSnackbar/index.js +7 -0
- package/es5/components/KSpeedDial/KSpeedDial.js +89 -0
- package/es5/components/KSpeedDial/index.js +7 -0
- package/es5/components/KStepper/KStepper.js +112 -0
- package/es5/components/KStepper/KStepperContent.js +134 -0
- package/es5/components/KStepper/KStepperStep.js +105 -0
- package/es5/components/KStepper/index.js +17 -0
- package/es5/components/KSubheader/KSubheader.js +29 -0
- package/es5/components/KSubheader/index.js +7 -0
- package/es5/components/KSwitch/KSwitch.js +55 -0
- package/es5/components/KSwitch/index.js +7 -0
- package/es5/components/KSystemBar/KSystemBar.js +54 -0
- package/es5/components/KSystemBar/index.js +7 -0
- package/es5/components/KTabs/KTabs.js +272 -0
- package/es5/components/KTabs/KTabsBar.js +205 -0
- package/es5/components/KTabs/KTabsContent.js +86 -0
- package/es5/components/KTabs/KTabsItem.js +103 -0
- package/es5/components/KTabs/KTabsItems.js +40 -0
- package/es5/components/KTabs/KTabsSlider.js +14 -0
- package/es5/components/KTabs/index.js +17 -0
- package/es5/components/KTextField/KTextField.js +275 -0
- package/es5/components/KTextField/index.js +7 -0
- package/es5/components/KTimePicker/KTimePicker.js +302 -0
- package/es5/components/KTimePicker/index.js +7 -0
- package/es5/components/KTimePicker/mixins/time-body.js +207 -0
- package/es5/components/KTimePicker/mixins/time-title.js +55 -0
- package/es5/components/KToolbar/KToolbar.js +193 -0
- package/es5/components/KToolbar/KToolbarSideIcon.js +29 -0
- package/es5/components/KToolbar/index.js +17 -0
- package/es5/components/KTooltip/KTooltip.js +156 -0
- package/es5/components/KTooltip/index.js +7 -0
- package/es5/components/Kdutify/index.js +50 -0
- package/es5/components/index.js +45 -0
- package/es5/components/transitions/expand-transition.js +36 -0
- package/es5/components/transitions/index.js +47 -0
- package/es5/components/transitions/row-expand-transition.js +38 -0
- package/es5/directives/click-outside.js +100 -0
- package/es5/directives/index.js +15 -0
- package/es5/directives/resize.js +30 -0
- package/es5/directives/ripple.js +144 -0
- package/es5/directives/scroll.js +32 -0
- package/es5/directives/touch.js +102 -0
- package/es5/index.js +30 -0
- package/es5/mixins/applicationable.js +9 -0
- package/es5/mixins/bootable.js +31 -0
- package/es5/mixins/button-group.js +82 -0
- package/es5/mixins/colorable.js +24 -0
- package/es5/mixins/contextualable.js +10 -0
- package/es5/mixins/delayable.js +57 -0
- package/es5/mixins/dependent.js +121 -0
- package/es5/mixins/detachable.js +41 -0
- package/es5/mixins/filterable.js +8 -0
- package/es5/mixins/input.js +219 -0
- package/es5/mixins/loadable.js +31 -0
- package/es5/mixins/maskable.js +181 -0
- package/es5/mixins/menuable.js +293 -0
- package/es5/mixins/overlayable.js +202 -0
- package/es5/mixins/picker.js +36 -0
- package/es5/mixins/positionable.js +10 -0
- package/es5/mixins/rippleable.js +21 -0
- package/es5/mixins/routable.js +66 -0
- package/es5/mixins/selectable.js +79 -0
- package/es5/mixins/stackable.js +70 -0
- package/es5/mixins/tab-focusable.js +7 -0
- package/es5/mixins/themeable.js +15 -0
- package/es5/mixins/toggleable.js +31 -0
- package/es5/mixins/transitionable.js +7 -0
- package/es5/mixins/translatable.js +62 -0
- package/es5/mixins/validatable.js +138 -0
- package/es5/util/breakpoint.js +128 -0
- package/es5/util/helpers.js +139 -0
- package/es5/util/load.js +15 -0
- package/es5/util/mask.js +159 -0
- package/es5/util/testing.js +160 -0
- package/es5/util/to-have-been-warned.js +117 -0
- package/es5/util/touchSupport.js +14 -0
- package/index.d.ts +8 -0
- package/package.json +134 -0
- package/src/components/KAlert/KAlert.js +77 -0
- package/src/components/KAlert/index.js +7 -0
- package/src/components/KApp/KApp.js +64 -0
- package/src/components/KApp/index.js +7 -0
- package/src/components/KAvatar/KAvatar.js +27 -0
- package/src/components/KAvatar/index.js +7 -0
- package/src/components/KBadge/KBadge.js +62 -0
- package/src/components/KBadge/index.js +7 -0
- package/src/components/KBottomNav/KBottomNav.js +50 -0
- package/src/components/KBottomNav/index.js +7 -0
- package/src/components/KBottomSheet/KBottomSheet.js +41 -0
- package/src/components/KBottomSheet/index.js +7 -0
- package/src/components/KBreadcrumbs/KBreadcrumbs.js +35 -0
- package/src/components/KBreadcrumbs/KBreadcrumbsItem.js +38 -0
- package/src/components/KBreadcrumbs/index.js +11 -0
- package/src/components/KBtn/KBtn.js +163 -0
- package/src/components/KBtn/index.js +7 -0
- package/src/components/KBtnToggle/KBtnToggle.js +92 -0
- package/src/components/KBtnToggle/index.js +7 -0
- package/src/components/KCard/KCard.js +61 -0
- package/src/components/KCard/KCardMedia.js +41 -0
- package/src/components/KCard/KCardTitle.js +17 -0
- package/src/components/KCard/index.js +19 -0
- package/src/components/KCarousel/KCarousel.js +174 -0
- package/src/components/KCarousel/KCarouselItem.js +65 -0
- package/src/components/KCarousel/index.js +11 -0
- package/src/components/KCheckbox/KCheckbox.js +92 -0
- package/src/components/KCheckbox/index.js +7 -0
- package/src/components/KChip/KChip.js +83 -0
- package/src/components/KChip/index.js +7 -0
- package/src/components/KDataTable/KDataTable.js +346 -0
- package/src/components/KDataTable/KEditDialog.js +110 -0
- package/src/components/KDataTable/index.js +16 -0
- package/src/components/KDataTable/mixins/body.js +98 -0
- package/src/components/KDataTable/mixins/foot.js +128 -0
- package/src/components/KDataTable/mixins/head.js +119 -0
- package/src/components/KDataTable/mixins/progress.js +16 -0
- package/src/components/KDatePicker/KDatePicker.js +382 -0
- package/src/components/KDatePicker/index.js +7 -0
- package/src/components/KDatePicker/mixins/date-header.js +74 -0
- package/src/components/KDatePicker/mixins/date-table.js +95 -0
- package/src/components/KDatePicker/mixins/date-title.js +76 -0
- package/src/components/KDatePicker/mixins/date-years.js +42 -0
- package/src/components/KDatePicker/mixins/month-table.js +82 -0
- package/src/components/KDialog/KDialog.js +184 -0
- package/src/components/KDialog/index.js +7 -0
- package/src/components/KDivider/KDivider.js +25 -0
- package/src/components/KDivider/index.js +7 -0
- package/src/components/KExpansionPanel/KExpansionPanel.js +55 -0
- package/src/components/KExpansionPanel/KExpansionPanelContent.js +112 -0
- package/src/components/KExpansionPanel/index.js +9 -0
- package/src/components/KFooter/KFooter.js +67 -0
- package/src/components/KFooter/index.js +7 -0
- package/src/components/KForm/KForm.js +117 -0
- package/src/components/KForm/index.js +7 -0
- package/src/components/KGrid/KContainer.js +5 -0
- package/src/components/KGrid/KContent.js +29 -0
- package/src/components/KGrid/KFlex.js +5 -0
- package/src/components/KGrid/KLayout.js +5 -0
- package/src/components/KGrid/grid.js +40 -0
- package/src/components/KGrid/index.js +27 -0
- package/src/components/KIcon/KIcon.js +87 -0
- package/src/components/KIcon/index.js +7 -0
- package/src/components/KList/KList.js +75 -0
- package/src/components/KList/KListGroup.js +95 -0
- package/src/components/KList/KListTile.js +62 -0
- package/src/components/KList/KListTileAction.js +12 -0
- package/src/components/KList/index.js +27 -0
- package/src/components/KMenu/KMenu.js +207 -0
- package/src/components/KMenu/index.js +7 -0
- package/src/components/KMenu/mixins/menu-activator.js +51 -0
- package/src/components/KMenu/mixins/menu-generators.js +84 -0
- package/src/components/KMenu/mixins/menu-keyable.js +68 -0
- package/src/components/KMenu/mixins/menu-position.js +72 -0
- package/src/components/KNavigationDrawer/KNavigationDrawer.js +267 -0
- package/src/components/KNavigationDrawer/index.js +7 -0
- package/src/components/KPagination/KPagination.js +168 -0
- package/src/components/KPagination/index.js +7 -0
- package/src/components/KParallax/KParallax.js +99 -0
- package/src/components/KParallax/index.js +7 -0
- package/src/components/KProgressCircular/KProgressCircular.js +160 -0
- package/src/components/KProgressCircular/index.js +7 -0
- package/src/components/KProgressLinear/KProgressLinear.js +157 -0
- package/src/components/KProgressLinear/index.js +7 -0
- package/src/components/KRadioGroup/KRadio.js +153 -0
- package/src/components/KRadioGroup/KRadioGroup.js +118 -0
- package/src/components/KRadioGroup/index.js +11 -0
- package/src/components/KSelect/KSelect.js +641 -0
- package/src/components/KSelect/index.js +7 -0
- package/src/components/KSelect/mixins/select-autocomplete.js +125 -0
- package/src/components/KSelect/mixins/select-generators.js +300 -0
- package/src/components/KSlider/KSlider.js +311 -0
- package/src/components/KSlider/index.js +7 -0
- package/src/components/KSnackbar/KSnackbar.js +97 -0
- package/src/components/KSnackbar/index.js +7 -0
- package/src/components/KSpeedDial/KSpeedDial.js +80 -0
- package/src/components/KSpeedDial/index.js +7 -0
- package/src/components/KStepper/KStepper.js +95 -0
- package/src/components/KStepper/KStepperContent.js +138 -0
- package/src/components/KStepper/KStepperStep.js +100 -0
- package/src/components/KStepper/index.js +17 -0
- package/src/components/KSubheader/KSubheader.js +25 -0
- package/src/components/KSubheader/index.js +7 -0
- package/src/components/KSwitch/KSwitch.js +58 -0
- package/src/components/KSwitch/index.js +7 -0
- package/src/components/KSystemBar/KSystemBar.js +54 -0
- package/src/components/KSystemBar/index.js +7 -0
- package/src/components/KTabs/KTabs.js +240 -0
- package/src/components/KTabs/KTabsBar.js +202 -0
- package/src/components/KTabs/KTabsContent.js +90 -0
- package/src/components/KTabs/KTabsItem.js +99 -0
- package/src/components/KTabs/KTabsItems.js +40 -0
- package/src/components/KTabs/KTabsSlider.js +14 -0
- package/src/components/KTabs/index.js +17 -0
- package/src/components/KTextField/KTextField.js +246 -0
- package/src/components/KTextField/index.js +7 -0
- package/src/components/KTimePicker/KTimePicker.js +282 -0
- package/src/components/KTimePicker/index.js +7 -0
- package/src/components/KTimePicker/mixins/time-body.js +208 -0
- package/src/components/KTimePicker/mixins/time-title.js +51 -0
- package/src/components/KToolbar/KToolbar.js +206 -0
- package/src/components/KToolbar/KToolbarSideIcon.js +26 -0
- package/src/components/KToolbar/index.js +19 -0
- package/src/components/KTooltip/KTooltip.js +161 -0
- package/src/components/KTooltip/index.js +7 -0
- package/src/components/Kdutify/index.js +48 -0
- package/src/components/index.js +45 -0
- package/src/components/transitions/expand-transition.js +34 -0
- package/src/components/transitions/index.js +50 -0
- package/src/components/transitions/row-expand-transition.js +38 -0
- package/src/directives/click-outside.js +72 -0
- package/src/directives/index.js +21 -0
- package/src/directives/resize.js +30 -0
- package/src/directives/ripple.js +120 -0
- package/src/directives/scroll.js +31 -0
- package/src/directives/touch.js +90 -0
- package/src/index.js +30 -0
- package/src/mixins/applicationable.js +9 -0
- package/src/mixins/bootable.js +31 -0
- package/src/mixins/button-group.js +77 -0
- package/src/mixins/colorable.js +20 -0
- package/src/mixins/contextualable.js +10 -0
- package/src/mixins/delayable.js +54 -0
- package/src/mixins/dependent.js +55 -0
- package/src/mixins/detachable.js +44 -0
- package/src/mixins/filterable.js +8 -0
- package/src/mixins/input.js +220 -0
- package/src/mixins/loadable.js +33 -0
- package/src/mixins/maskable.js +117 -0
- package/src/mixins/menuable.js +299 -0
- package/src/mixins/overlayable.js +180 -0
- package/src/mixins/picker.js +35 -0
- package/src/mixins/positionable.js +10 -0
- package/src/mixins/rippleable.js +21 -0
- package/src/mixins/routable.js +66 -0
- package/src/mixins/selectable.js +84 -0
- package/src/mixins/stackable.js +44 -0
- package/src/mixins/tab-focusable.js +7 -0
- package/src/mixins/themeable.js +15 -0
- package/src/mixins/toggleable.js +28 -0
- package/src/mixins/transitionable.js +7 -0
- package/src/mixins/translatable.js +67 -0
- package/src/mixins/validatable.js +124 -0
- package/src/stylus/app.styl +6 -0
- package/src/stylus/bootstrap.styl +1 -0
- package/src/stylus/components/_alerts.styl +44 -0
- package/src/stylus/components/_app.styl +21 -0
- package/src/stylus/components/_avatars.styl +22 -0
- package/src/stylus/components/_badges.styl +49 -0
- package/src/stylus/components/_bottom-navs.styl +86 -0
- package/src/stylus/components/_bottom-sheets.styl +18 -0
- package/src/stylus/components/_breadcrumbs.styl +46 -0
- package/src/stylus/components/_button-toggle.styl +55 -0
- package/src/stylus/components/_buttons.styl +339 -0
- package/src/stylus/components/_cards.styl +85 -0
- package/src/stylus/components/_carousel.styl +76 -0
- package/src/stylus/components/_chips.styl +102 -0
- package/src/stylus/components/_content.styl +6 -0
- package/src/stylus/components/_data-table.styl +113 -0
- package/src/stylus/components/_date-picker.styl +214 -0
- package/src/stylus/components/_dialogs.styl +63 -0
- package/src/stylus/components/_dividers.styl +19 -0
- package/src/stylus/components/_expansion-panel.styl +85 -0
- package/src/stylus/components/_footer.styl +40 -0
- package/src/stylus/components/_grid.styl +171 -0
- package/src/stylus/components/_icons.styl +32 -0
- package/src/stylus/components/_input-groups.styl +310 -0
- package/src/stylus/components/_lists.styl +263 -0
- package/src/stylus/components/_menus.styl +87 -0
- package/src/stylus/components/_navigation-drawer.styl +150 -0
- package/src/stylus/components/_overlay.styl +42 -0
- package/src/stylus/components/_pagination.styl +95 -0
- package/src/stylus/components/_parallax.styl +35 -0
- package/src/stylus/components/_pickers.styl +66 -0
- package/src/stylus/components/_progress-circular.styl +58 -0
- package/src/stylus/components/_progress-linear.styl +104 -0
- package/src/stylus/components/_radio-group.styl +23 -0
- package/src/stylus/components/_ripples.styl +31 -0
- package/src/stylus/components/_select.styl +153 -0
- package/src/stylus/components/_selection-controls.styl +122 -0
- package/src/stylus/components/_sliders.styl +234 -0
- package/src/stylus/components/_small-dialog.styl +37 -0
- package/src/stylus/components/_snackbars.styl +110 -0
- package/src/stylus/components/_speed-dial.styl +78 -0
- package/src/stylus/components/_steppers.styl +216 -0
- package/src/stylus/components/_subheaders.styl +18 -0
- package/src/stylus/components/_switch.styl +89 -0
- package/src/stylus/components/_system-bars.styl +49 -0
- package/src/stylus/components/_tables.styl +103 -0
- package/src/stylus/components/_tabs.styl +159 -0
- package/src/stylus/components/_text-fields.styl +243 -0
- package/src/stylus/components/_time-picker.styl +199 -0
- package/src/stylus/components/_toolbar.styl +148 -0
- package/src/stylus/components/_tooltips.styl +25 -0
- package/src/stylus/elements/_blockquote.styl +5 -0
- package/src/stylus/elements/_code.styl +20 -0
- package/src/stylus/elements/_global.styl +31 -0
- package/src/stylus/elements/_headings.styl +17 -0
- package/src/stylus/elements/_lists.styl +2 -0
- package/src/stylus/elements/_typography.styl +54 -0
- package/src/stylus/generic/_bootstrap.styl +49 -0
- package/src/stylus/generic/_reset.styl +332 -0
- package/src/stylus/generic/_transitions.styl +116 -0
- package/src/stylus/main.styl +2 -0
- package/src/stylus/settings/_colors.styl +339 -0
- package/src/stylus/settings/_elevations.styl +111 -0
- package/src/stylus/settings/_theme.styl +201 -0
- package/src/stylus/settings/_variables.styl +396 -0
- package/src/stylus/theme.styl +24 -0
- package/src/stylus/tools/_animations.styl +9 -0
- package/src/stylus/tools/_colors.styl +17 -0
- package/src/stylus/tools/_elevations.styl +7 -0
- package/src/stylus/trumps/_display.styl +14 -0
- package/src/stylus/trumps/_helpers.styl +5 -0
- package/src/stylus/trumps/_spacing.styl +37 -0
- package/src/stylus/trumps/_text.styl +13 -0
- package/src/util/breakpoint.js +134 -0
- package/src/util/helpers.d.ts +21 -0
- package/src/util/helpers.js +125 -0
- package/src/util/load.js +13 -0
- package/src/util/mask.js +138 -0
- package/src/util/testing.js +154 -0
- package/src/util/to-have-been-warned.js +68 -0
- 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;
|