vue-devui 0.1.3 → 1.0.0-alpha.10
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/README.md +161 -59
- package/alert/index.d.ts +7 -0
- package/alert/index.es.js +204 -0
- package/alert/index.umd.js +1 -0
- package/alert/package.json +7 -0
- package/alert/style.css +1 -0
- package/auto-complete/index.d.ts +7 -0
- package/auto-complete/index.es.js +9051 -0
- package/auto-complete/index.umd.js +40 -0
- package/auto-complete/package.json +7 -0
- package/auto-complete/style.css +1 -0
- package/avatar/index.d.ts +7 -0
- package/avatar/index.es.js +308 -0
- package/avatar/index.umd.js +1 -0
- package/avatar/package.json +7 -0
- package/avatar/style.css +1 -0
- package/badge/index.d.ts +7 -0
- package/badge/index.es.js +120 -0
- package/badge/index.umd.js +1 -0
- package/badge/package.json +7 -0
- package/badge/style.css +1 -0
- package/button/index.d.ts +7 -0
- package/button/index.es.js +5964 -0
- package/button/index.umd.js +27 -0
- package/button/package.json +7 -0
- package/button/style.css +1 -0
- package/card/index.d.ts +7 -0
- package/card/index.es.js +89 -0
- package/card/index.umd.js +1 -0
- package/card/package.json +7 -0
- package/card/style.css +1 -0
- package/checkbox/index.d.ts +7 -0
- package/checkbox/index.es.js +8207 -0
- package/checkbox/index.umd.js +38 -0
- package/checkbox/package.json +7 -0
- package/checkbox/style.css +1 -0
- package/collapse/index.d.ts +7 -0
- package/collapse/index.es.js +195 -0
- package/collapse/index.umd.js +1 -0
- package/collapse/package.json +7 -0
- package/collapse/style.css +1 -0
- package/countdown/index.d.ts +7 -0
- package/countdown/index.es.js +217 -0
- package/countdown/index.umd.js +1 -0
- package/countdown/package.json +7 -0
- package/countdown/style.css +1 -0
- package/date-picker-pro/index.d.ts +7 -0
- package/date-picker-pro/index.es.js +12031 -0
- package/date-picker-pro/index.umd.js +38 -0
- package/date-picker-pro/package.json +7 -0
- package/date-picker-pro/style.css +1 -0
- package/drawer/index.d.ts +7 -0
- package/drawer/index.es.js +248 -0
- package/drawer/index.umd.js +1 -0
- package/drawer/package.json +7 -0
- package/drawer/style.css +1 -0
- package/dropdown/index.d.ts +7 -0
- package/dropdown/index.es.js +743 -0
- package/dropdown/index.umd.js +1 -0
- package/dropdown/package.json +7 -0
- package/dropdown/style.css +1 -0
- package/editable-select/index.d.ts +7 -0
- package/editable-select/index.es.js +991 -0
- package/editable-select/index.umd.js +1 -0
- package/editable-select/package.json +7 -0
- package/editable-select/style.css +1 -0
- package/form/index.d.ts +7 -0
- package/form/index.es.js +7751 -0
- package/form/index.umd.js +38 -0
- package/form/package.json +7 -0
- package/form/style.css +1 -0
- package/fullscreen/index.d.ts +7 -0
- package/fullscreen/index.es.js +166 -0
- package/fullscreen/index.umd.js +1 -0
- package/fullscreen/package.json +7 -0
- package/fullscreen/style.css +1 -0
- package/grid/index.d.ts +7 -0
- package/grid/index.es.js +271 -0
- package/grid/index.umd.js +1 -0
- package/grid/package.json +7 -0
- package/grid/style.css +1 -0
- package/icon/index.d.ts +7 -0
- package/icon/index.es.js +218 -0
- package/icon/index.umd.js +1 -0
- package/icon/package.json +7 -0
- package/icon/style.css +1 -0
- package/image-preview/index.d.ts +7 -0
- package/image-preview/index.es.js +511 -0
- package/image-preview/index.umd.js +1 -0
- package/image-preview/package.json +7 -0
- package/image-preview/style.css +1 -0
- package/index.d.ts +7 -0
- package/input/index.d.ts +7 -0
- package/input/index.es.js +8311 -0
- package/input/index.umd.js +38 -0
- package/input/package.json +7 -0
- package/input/style.css +1 -0
- package/input-number/index.d.ts +7 -0
- package/input-number/index.es.js +308 -0
- package/input-number/index.umd.js +1 -0
- package/input-number/package.json +7 -0
- package/input-number/style.css +1 -0
- package/layout/index.d.ts +7 -0
- package/layout/index.es.js +115 -0
- package/layout/index.umd.js +1 -0
- package/layout/package.json +7 -0
- package/layout/style.css +1 -0
- package/loading/index.d.ts +7 -0
- package/loading/index.es.js +272 -0
- package/loading/index.umd.js +1 -0
- package/loading/package.json +7 -0
- package/loading/style.css +1 -0
- package/message/index.d.ts +7 -0
- package/message/index.es.js +534 -0
- package/message/index.umd.js +1 -0
- package/message/package.json +7 -0
- package/message/style.css +1 -0
- package/modal/index.d.ts +7 -0
- package/modal/index.es.js +741 -0
- package/modal/index.umd.js +1 -0
- package/modal/package.json +7 -0
- package/modal/style.css +1 -0
- package/notification/index.d.ts +7 -0
- package/notification/index.es.js +528 -0
- package/notification/index.umd.js +1 -0
- package/notification/package.json +7 -0
- package/notification/style.css +1 -0
- package/nuxt/components/Alert.js +3 -0
- package/nuxt/components/Aside.js +3 -0
- package/nuxt/components/AutoComplete.js +3 -0
- package/nuxt/components/Avatar.js +3 -0
- package/nuxt/components/Badge.js +3 -0
- package/nuxt/components/Button.js +3 -0
- package/nuxt/components/ButtonGroup.js +3 -0
- package/nuxt/components/Card.js +3 -0
- package/nuxt/components/Checkbox.js +3 -0
- package/nuxt/components/CheckboxButton.js +3 -0
- package/nuxt/components/CheckboxGroup.js +3 -0
- package/nuxt/components/Col.js +3 -0
- package/nuxt/components/Collapse.js +3 -0
- package/nuxt/components/CollapseItem.js +3 -0
- package/nuxt/components/Column.js +3 -0
- package/nuxt/components/Content.js +3 -0
- package/nuxt/components/Countdown.js +3 -0
- package/nuxt/components/DRangeDatePickerPro.js +3 -0
- package/nuxt/components/DatePickerPro.js +3 -0
- package/nuxt/components/Drawer.js +3 -0
- package/nuxt/components/DrawerService.js +3 -0
- package/nuxt/components/Dropdown.js +3 -0
- package/nuxt/components/DropdownMenu.js +3 -0
- package/nuxt/components/DropdownPropsKey.js +3 -0
- package/nuxt/components/EditableSelect.js +3 -0
- package/nuxt/components/FORM_ITEM_TOKEN.js +3 -0
- package/nuxt/components/FORM_TOKEN.js +3 -0
- package/nuxt/components/FixedOverlay.js +3 -0
- package/nuxt/components/FlexibleOverlay.js +3 -0
- package/nuxt/components/Footer.js +3 -0
- package/nuxt/components/Form.js +3 -0
- package/nuxt/components/FormItem.js +3 -0
- package/nuxt/components/FormOperation.js +3 -0
- package/nuxt/components/Fullscreen.js +3 -0
- package/nuxt/components/Header.js +3 -0
- package/nuxt/components/IFileOptions.js +3 -0
- package/nuxt/components/IUploadOptions.js +3 -0
- package/nuxt/components/Icon.js +3 -0
- package/nuxt/components/IconGroup.js +3 -0
- package/nuxt/components/ImagePreviewService.js +3 -0
- package/nuxt/components/Input.js +3 -0
- package/nuxt/components/InputNumber.js +3 -0
- package/nuxt/components/LABEL_DATA.js +3 -0
- package/nuxt/components/Layout.js +3 -0
- package/nuxt/components/Loading.js +3 -0
- package/nuxt/components/LoadingOptions.js +3 -0
- package/nuxt/components/LoadingService.js +3 -0
- package/nuxt/components/Message.js +3 -0
- package/nuxt/components/Modal.js +3 -0
- package/nuxt/components/Notification.js +3 -0
- package/nuxt/components/NotificationService.js +3 -0
- package/nuxt/components/Option.js +3 -0
- package/nuxt/components/OptionGroup.js +3 -0
- package/nuxt/components/Pagination.js +3 -0
- package/nuxt/components/Panel.js +3 -0
- package/nuxt/components/PanelBody.js +3 -0
- package/nuxt/components/PanelFooter.js +3 -0
- package/nuxt/components/PanelHeader.js +3 -0
- package/nuxt/components/Popover.js +3 -0
- package/nuxt/components/Progress.js +3 -0
- package/nuxt/components/Radio.js +3 -0
- package/nuxt/components/RadioButton.js +3 -0
- package/nuxt/components/RadioGroup.js +3 -0
- package/nuxt/components/Rate.js +3 -0
- package/nuxt/components/Result.js +3 -0
- package/nuxt/components/Row.js +3 -0
- package/nuxt/components/Search.js +3 -0
- package/nuxt/components/Select.js +3 -0
- package/nuxt/components/Skeleton.js +3 -0
- package/nuxt/components/SkeletonItem.js +3 -0
- package/nuxt/components/Slider.js +3 -0
- package/nuxt/components/Splitter.js +3 -0
- package/nuxt/components/Statistic.js +3 -0
- package/nuxt/components/Status.js +3 -0
- package/nuxt/components/Step.js +3 -0
- package/nuxt/components/Steps.js +3 -0
- package/nuxt/components/Switch.js +3 -0
- package/nuxt/components/TABLE_TOKEN.js +3 -0
- package/nuxt/components/Tab.js +3 -0
- package/nuxt/components/Table.js +3 -0
- package/nuxt/components/Tabs.js +3 -0
- package/nuxt/components/Tag.js +3 -0
- package/nuxt/components/Textarea.js +3 -0
- package/nuxt/components/TimePicker.js +3 -0
- package/nuxt/components/TimeSelect.js +3 -0
- package/nuxt/components/Timeline.js +3 -0
- package/nuxt/components/TimelineItem.js +3 -0
- package/nuxt/components/Tooltip.js +3 -0
- package/nuxt/components/Tree.js +3 -0
- package/nuxt/components/Upload.js +3 -0
- package/nuxt/components/UploadStatus.js +3 -0
- package/nuxt/components/alertProps.js +3 -0
- package/nuxt/components/animationInjectionKey.js +3 -0
- package/nuxt/components/autoCompleteProps.js +3 -0
- package/nuxt/components/avatarProps.js +3 -0
- package/nuxt/components/badgeProps.js +3 -0
- package/nuxt/components/buttonGroupInjectionKey.js +3 -0
- package/nuxt/components/buttonGroupProps.js +3 -0
- package/nuxt/components/buttonProps.js +3 -0
- package/nuxt/components/cardProps.js +3 -0
- package/nuxt/components/checkboxGroupInjectionKey.js +3 -0
- package/nuxt/components/checkboxGroupProps.js +3 -0
- package/nuxt/components/checkboxProps.js +3 -0
- package/nuxt/components/colProps.js +3 -0
- package/nuxt/components/colPropsBaseClass.js +3 -0
- package/nuxt/components/colPropsBaseStyle.js +3 -0
- package/nuxt/components/collapseItemProps.js +3 -0
- package/nuxt/components/collapseProps.js +3 -0
- package/nuxt/components/countdownProps.js +3 -0
- package/nuxt/components/datePickerProCommonProps.js +3 -0
- package/nuxt/components/datePickerProPanelProps.js +3 -0
- package/nuxt/components/datePickerProProps.js +3 -0
- package/nuxt/components/dropdownMenuProps.js +3 -0
- package/nuxt/components/editableSelectProps.js +3 -0
- package/nuxt/components/fixedOverlayProps.js +3 -0
- package/nuxt/components/flexibleOverlayProps.js +3 -0
- package/nuxt/components/formItemProps.js +3 -0
- package/nuxt/components/formProps.js +3 -0
- package/nuxt/components/fullscreenProps.js +3 -0
- package/nuxt/components/iconProps.js +3 -0
- package/nuxt/components/imagePreviewProps.js +3 -0
- package/nuxt/components/inputProps.js +3 -0
- package/nuxt/components/loadingProps.js +3 -0
- package/nuxt/components/messageProps.js +3 -0
- package/nuxt/components/modalProps.js +3 -0
- package/nuxt/components/notificationProps.js +3 -0
- package/nuxt/components/paginationProps.js +3 -0
- package/nuxt/components/panelProps.js +3 -0
- package/nuxt/components/popoverProps.js +3 -0
- package/nuxt/components/progressProps.js +3 -0
- package/nuxt/components/rateProps.js +3 -0
- package/nuxt/components/resultProps.js +3 -0
- package/nuxt/components/roundInjectionKey.js +3 -0
- package/nuxt/components/rowProps.js +3 -0
- package/nuxt/components/screenSizes.js +3 -0
- package/nuxt/components/searchProps.js +3 -0
- package/nuxt/components/skeletonItemProps.js +3 -0
- package/nuxt/components/skeletonProps.js +3 -0
- package/nuxt/components/sliderProps.js +3 -0
- package/nuxt/components/splitterProps.js +3 -0
- package/nuxt/components/statisticProps.js +3 -0
- package/nuxt/components/stepProps.js +3 -0
- package/nuxt/components/stepsProps.js +3 -0
- package/nuxt/components/svgIconProps.js +3 -0
- package/nuxt/components/switchProps.js +3 -0
- package/nuxt/components/tableProps.js +3 -0
- package/nuxt/components/tabsProps.js +3 -0
- package/nuxt/components/tagProps.js +3 -0
- package/nuxt/components/textareaProps.js +3 -0
- package/nuxt/components/timeAxisProps.js +3 -0
- package/nuxt/components/timerPickerPanelProps.js +3 -0
- package/nuxt/components/tooltipProps.js +3 -0
- package/nuxt/components/treeProps.js +3 -0
- package/nuxt/components/uploadProps.js +3 -0
- package/nuxt/index.js +13 -0
- package/overlay/index.d.ts +7 -0
- package/overlay/index.es.js +293 -0
- package/overlay/index.umd.js +1 -0
- package/overlay/package.json +7 -0
- package/overlay/style.css +1 -0
- package/package.json +17 -77
- package/pagination/index.d.ts +7 -0
- package/pagination/index.es.js +820 -0
- package/pagination/index.umd.js +1 -0
- package/pagination/package.json +7 -0
- package/pagination/style.css +1 -0
- package/panel/index.d.ts +7 -0
- package/panel/index.es.js +218 -0
- package/panel/index.umd.js +1 -0
- package/panel/package.json +7 -0
- package/panel/style.css +1 -0
- package/popover/index.d.ts +7 -0
- package/popover/index.es.js +6062 -0
- package/popover/index.umd.js +27 -0
- package/popover/package.json +7 -0
- package/popover/style.css +1 -0
- package/progress/index.d.ts +7 -0
- package/progress/index.es.js +207 -0
- package/progress/index.umd.js +3 -0
- package/progress/package.json +7 -0
- package/progress/style.css +1 -0
- package/radio/index.d.ts +7 -0
- package/radio/index.es.js +8056 -0
- package/radio/index.umd.js +38 -0
- package/radio/package.json +7 -0
- package/radio/style.css +1 -0
- package/rate/index.d.ts +7 -0
- package/rate/index.es.js +242 -0
- package/rate/index.umd.js +1 -0
- package/rate/package.json +7 -0
- package/rate/style.css +1 -0
- package/result/index.d.ts +7 -0
- package/result/index.es.js +248 -0
- package/result/index.umd.js +1 -0
- package/result/package.json +7 -0
- package/result/style.css +1 -0
- package/ripple/index.d.ts +7 -0
- package/ripple/index.es.js +173 -0
- package/ripple/index.umd.js +1 -0
- package/ripple/package.json +7 -0
- package/search/index.d.ts +7 -0
- package/search/index.es.js +8512 -0
- package/search/index.umd.js +38 -0
- package/search/package.json +7 -0
- package/search/style.css +1 -0
- package/select/index.d.ts +7 -0
- package/select/index.es.js +9423 -0
- package/select/index.umd.js +38 -0
- package/select/package.json +7 -0
- package/select/style.css +1 -0
- package/skeleton/index.d.ts +7 -0
- package/skeleton/index.es.js +145 -0
- package/skeleton/index.umd.js +1 -0
- package/skeleton/package.json +7 -0
- package/skeleton/style.css +1 -0
- package/slider/index.d.ts +7 -0
- package/slider/index.es.js +203 -0
- package/slider/index.umd.js +1 -0
- package/slider/package.json +7 -0
- package/slider/style.css +1 -0
- package/splitter/index.d.ts +7 -0
- package/splitter/index.es.js +6754 -0
- package/splitter/index.umd.js +27 -0
- package/splitter/package.json +7 -0
- package/splitter/style.css +1 -0
- package/statistic/index.d.ts +7 -0
- package/statistic/index.es.js +253 -0
- package/statistic/index.umd.js +1 -0
- package/statistic/package.json +7 -0
- package/statistic/style.css +1 -0
- package/status/index.d.ts +7 -0
- package/status/index.es.js +63 -0
- package/status/index.umd.js +1 -0
- package/status/package.json +7 -0
- package/status/style.css +1 -0
- package/steps/index.d.ts +7 -0
- package/steps/index.es.js +386 -0
- package/steps/index.umd.js +1 -0
- package/steps/package.json +7 -0
- package/steps/style.css +1 -0
- package/style.css +1 -1
- package/switch/index.d.ts +7 -0
- package/switch/index.es.js +7852 -0
- package/switch/index.umd.js +38 -0
- package/switch/package.json +7 -0
- package/switch/style.css +1 -0
- package/table/index.d.ts +7 -0
- package/table/index.es.js +11527 -0
- package/table/index.umd.js +38 -0
- package/table/package.json +7 -0
- package/table/style.css +1 -0
- package/tabs/index.d.ts +7 -0
- package/tabs/index.es.js +407 -0
- package/tabs/index.umd.js +1 -0
- package/tabs/package.json +7 -0
- package/tabs/style.css +1 -0
- package/tag/index.d.ts +7 -0
- package/tag/index.es.js +156 -0
- package/tag/index.umd.js +1 -0
- package/tag/package.json +7 -0
- package/tag/style.css +1 -0
- package/textarea/index.d.ts +7 -0
- package/textarea/index.es.js +7986 -0
- package/textarea/index.umd.js +46 -0
- package/textarea/package.json +7 -0
- package/textarea/style.css +1 -0
- package/theme/theme.scss +121 -0
- package/time-picker/index.d.ts +7 -0
- package/time-picker/index.es.js +9556 -0
- package/time-picker/index.umd.js +38 -0
- package/time-picker/package.json +7 -0
- package/time-picker/style.css +1 -0
- package/time-select/index.d.ts +7 -0
- package/time-select/index.es.js +9604 -0
- package/time-select/index.umd.js +38 -0
- package/time-select/package.json +7 -0
- package/time-select/style.css +1 -0
- package/timeline/index.d.ts +7 -0
- package/timeline/index.es.js +427 -0
- package/timeline/index.umd.js +1 -0
- package/timeline/package.json +7 -0
- package/timeline/style.css +1 -0
- package/tooltip/index.d.ts +7 -0
- package/tooltip/index.es.js +5900 -0
- package/tooltip/index.umd.js +27 -0
- package/tooltip/package.json +7 -0
- package/tooltip/style.css +1 -0
- package/tree/index.d.ts +7 -0
- package/tree/index.es.js +10336 -0
- package/tree/index.umd.js +38 -0
- package/tree/package.json +7 -0
- package/tree/style.css +1 -0
- package/upload/index.d.ts +7 -0
- package/upload/index.es.js +1398 -0
- package/upload/index.umd.js +1 -0
- package/upload/package.json +7 -0
- package/upload/style.css +1 -0
- package/vue-devui.es.js +27451 -1
- package/vue-devui.umd.js +50 -1
- package/favicon.ico +0 -0
- package/logo.svg +0 -30
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
const DEFAULT_PLUGIN_OPTIONS = {
|
|
2
|
+
directive: "ripple",
|
|
3
|
+
color: "currentColor",
|
|
4
|
+
initialOpacity: 0.2,
|
|
5
|
+
finalOpacity: 0.1,
|
|
6
|
+
duration: 400,
|
|
7
|
+
easing: "ease-out",
|
|
8
|
+
delay: 75,
|
|
9
|
+
disabled: false
|
|
10
|
+
};
|
|
11
|
+
const createContainer = ({
|
|
12
|
+
borderTopLeftRadius,
|
|
13
|
+
borderTopRightRadius,
|
|
14
|
+
borderBottomLeftRadius,
|
|
15
|
+
borderBottomRightRadius
|
|
16
|
+
}) => {
|
|
17
|
+
const rippleContainer = document.createElement("div");
|
|
18
|
+
rippleContainer.style.top = "0";
|
|
19
|
+
rippleContainer.style.left = "0";
|
|
20
|
+
rippleContainer.style.width = "100%";
|
|
21
|
+
rippleContainer.style.height = "100%";
|
|
22
|
+
rippleContainer.style.position = "absolute";
|
|
23
|
+
rippleContainer.style.borderRadius = `${borderTopLeftRadius} ${borderTopRightRadius} ${borderBottomRightRadius} ${borderBottomLeftRadius}`;
|
|
24
|
+
rippleContainer.style.overflow = "hidden";
|
|
25
|
+
rippleContainer.style.pointerEvents = "none";
|
|
26
|
+
rippleContainer.style.webkitMaskImage = "-webkit-radial-gradient(white, black)";
|
|
27
|
+
return rippleContainer;
|
|
28
|
+
};
|
|
29
|
+
const createrippleElement = (x, y, size, options) => {
|
|
30
|
+
const rippleElement = document.createElement("div");
|
|
31
|
+
rippleElement.style.position = "absolute";
|
|
32
|
+
rippleElement.style.width = `${size}px`;
|
|
33
|
+
rippleElement.style.height = `${size}px`;
|
|
34
|
+
rippleElement.style.top = `${y}px`;
|
|
35
|
+
rippleElement.style.left = `${x}px`;
|
|
36
|
+
rippleElement.style.background = options.color;
|
|
37
|
+
rippleElement.style.borderRadius = "50%";
|
|
38
|
+
rippleElement.style.opacity = `${options.initialOpacity}`;
|
|
39
|
+
rippleElement.style.transform = `translate(-50%,-50%) scale(0)`;
|
|
40
|
+
rippleElement.style.transition = `transform ${options.duration / 1e3}s ${options.easing}, opacity ${options.duration / 1e3}s ${options.easing}`;
|
|
41
|
+
return rippleElement;
|
|
42
|
+
};
|
|
43
|
+
function magnitude(x1, y1, x2, y2) {
|
|
44
|
+
const deltaX = x1 - x2;
|
|
45
|
+
const deltaY = y1 - y2;
|
|
46
|
+
return Math.sqrt(deltaX * deltaX + deltaY * deltaY);
|
|
47
|
+
}
|
|
48
|
+
function getDistanceToFurthestCorner(x, y, { width, height }) {
|
|
49
|
+
const topLeft = magnitude(x, y, 0, 0);
|
|
50
|
+
const topRight = magnitude(x, y, width, 0);
|
|
51
|
+
const bottomLeft = magnitude(x, y, 0, height);
|
|
52
|
+
const bottomRight = magnitude(x, y, width, height);
|
|
53
|
+
return Math.max(topLeft, topRight, bottomLeft, bottomRight);
|
|
54
|
+
}
|
|
55
|
+
const getRelativePointer = ({ x, y }, { top, left }) => ({
|
|
56
|
+
x: x - left,
|
|
57
|
+
y: y - top
|
|
58
|
+
});
|
|
59
|
+
const RIPPLE_COUNT = "vRippleCountInternal";
|
|
60
|
+
function setRippleCount(el, count) {
|
|
61
|
+
el.dataset[RIPPLE_COUNT] = count.toString();
|
|
62
|
+
}
|
|
63
|
+
function getRippleCount(el) {
|
|
64
|
+
var _a;
|
|
65
|
+
return parseInt((_a = el.dataset[RIPPLE_COUNT]) != null ? _a : "0", 10);
|
|
66
|
+
}
|
|
67
|
+
function incrementRippleCount(el) {
|
|
68
|
+
const count = getRippleCount(el);
|
|
69
|
+
setRippleCount(el, count + 1);
|
|
70
|
+
}
|
|
71
|
+
function decrementRippleCount(el) {
|
|
72
|
+
const count = getRippleCount(el);
|
|
73
|
+
setRippleCount(el, count - 1);
|
|
74
|
+
}
|
|
75
|
+
function deleteRippleCount(el) {
|
|
76
|
+
delete el.dataset[RIPPLE_COUNT];
|
|
77
|
+
}
|
|
78
|
+
const MULTIPLE_NUMBER = 2.05;
|
|
79
|
+
const ripple = (event, el, options) => {
|
|
80
|
+
const rect = el.getBoundingClientRect();
|
|
81
|
+
const computedStyles = window.getComputedStyle(el);
|
|
82
|
+
const { x, y } = getRelativePointer(event, rect);
|
|
83
|
+
const size = MULTIPLE_NUMBER * getDistanceToFurthestCorner(x, y, rect);
|
|
84
|
+
const rippleContainer = createContainer(computedStyles);
|
|
85
|
+
const rippleEl = createrippleElement(x, y, size, options);
|
|
86
|
+
let originalPositionValue = "";
|
|
87
|
+
let shouldDissolveripple = false;
|
|
88
|
+
let token = null;
|
|
89
|
+
function dissolveripple() {
|
|
90
|
+
rippleEl.style.transition = "opacity 150ms linear";
|
|
91
|
+
rippleEl.style.opacity = "0";
|
|
92
|
+
setTimeout(() => {
|
|
93
|
+
rippleContainer.remove();
|
|
94
|
+
decrementRippleCount(el);
|
|
95
|
+
if (getRippleCount(el) === 0) {
|
|
96
|
+
deleteRippleCount(el);
|
|
97
|
+
el.style.position = originalPositionValue;
|
|
98
|
+
}
|
|
99
|
+
}, 150);
|
|
100
|
+
}
|
|
101
|
+
function releaseripple(e) {
|
|
102
|
+
if (typeof e !== "undefined") {
|
|
103
|
+
document.removeEventListener("pointerup", releaseripple);
|
|
104
|
+
document.removeEventListener("pointercancel", releaseripple);
|
|
105
|
+
}
|
|
106
|
+
if (shouldDissolveripple) {
|
|
107
|
+
dissolveripple();
|
|
108
|
+
} else {
|
|
109
|
+
shouldDissolveripple = true;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
function cancelripple() {
|
|
113
|
+
clearTimeout(token);
|
|
114
|
+
rippleContainer.remove();
|
|
115
|
+
document.removeEventListener("pointerup", releaseripple);
|
|
116
|
+
document.removeEventListener("pointercancel", releaseripple);
|
|
117
|
+
document.removeEventListener("pointercancel", cancelripple);
|
|
118
|
+
}
|
|
119
|
+
incrementRippleCount(el);
|
|
120
|
+
if (computedStyles.position === "static") {
|
|
121
|
+
if (el.style.position) {
|
|
122
|
+
originalPositionValue = el.style.position;
|
|
123
|
+
}
|
|
124
|
+
el.style.position = "relative";
|
|
125
|
+
}
|
|
126
|
+
rippleContainer.appendChild(rippleEl);
|
|
127
|
+
el.appendChild(rippleContainer);
|
|
128
|
+
document.addEventListener("pointerup", releaseripple);
|
|
129
|
+
document.addEventListener("pointercancel", releaseripple);
|
|
130
|
+
token = setTimeout(() => {
|
|
131
|
+
document.removeEventListener("pointercancel", cancelripple);
|
|
132
|
+
requestAnimationFrame(() => {
|
|
133
|
+
rippleEl.style.transform = `translate(-50%,-50%) scale(1)`;
|
|
134
|
+
rippleEl.style.opacity = `${options.finalOpacity}`;
|
|
135
|
+
setTimeout(() => releaseripple(), options.duration);
|
|
136
|
+
});
|
|
137
|
+
}, options.delay);
|
|
138
|
+
document.addEventListener("pointercancel", cancelripple);
|
|
139
|
+
};
|
|
140
|
+
const optionMap = /* @__PURE__ */ new WeakMap();
|
|
141
|
+
const globalOptions = { ...DEFAULT_PLUGIN_OPTIONS };
|
|
142
|
+
var RippleDirective = {
|
|
143
|
+
mounted(el, binding) {
|
|
144
|
+
var _a;
|
|
145
|
+
optionMap.set(el, (_a = binding.value) != null ? _a : {});
|
|
146
|
+
el.addEventListener("pointerdown", (event) => {
|
|
147
|
+
const options = optionMap.get(el);
|
|
148
|
+
if (binding.value && binding.value.disabled) {
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
if (options === false) {
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
ripple(event, el, {
|
|
155
|
+
...globalOptions,
|
|
156
|
+
...options
|
|
157
|
+
});
|
|
158
|
+
});
|
|
159
|
+
},
|
|
160
|
+
updated(el, binding) {
|
|
161
|
+
var _a;
|
|
162
|
+
optionMap.set(el, (_a = binding.value) != null ? _a : {});
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
var index = {
|
|
166
|
+
title: "Ripple \u6C34\u6CE2\u7EB9",
|
|
167
|
+
category: "\u901A\u7528",
|
|
168
|
+
status: "100%",
|
|
169
|
+
install(app) {
|
|
170
|
+
app.directive("Ripple", RippleDirective);
|
|
171
|
+
}
|
|
172
|
+
};
|
|
173
|
+
export { RippleDirective, index as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(s,a){typeof exports=="object"&&typeof module!="undefined"?a(exports):typeof define=="function"&&define.amd?define(["exports"],a):(s=typeof globalThis!="undefined"?globalThis:s||self,a(s.index={}))})(this,function(s){"use strict";const a={directive:"ripple",color:"currentColor",initialOpacity:.2,finalOpacity:.1,duration:400,easing:"ease-out",delay:75,disabled:!1},b=({borderTopLeftRadius:t,borderTopRightRadius:e,borderBottomLeftRadius:i,borderBottomRightRadius:o})=>{const n=document.createElement("div");return n.style.top="0",n.style.left="0",n.style.width="100%",n.style.height="100%",n.style.position="absolute",n.style.borderRadius=`${t} ${e} ${o} ${i}`,n.style.overflow="hidden",n.style.pointerEvents="none",n.style.webkitMaskImage="-webkit-radial-gradient(white, black)",n},$=(t,e,i,o)=>{const n=document.createElement("div");return n.style.position="absolute",n.style.width=`${i}px`,n.style.height=`${i}px`,n.style.top=`${e}px`,n.style.left=`${t}px`,n.style.background=o.color,n.style.borderRadius="50%",n.style.opacity=`${o.initialOpacity}`,n.style.transform="translate(-50%,-50%) scale(0)",n.style.transition=`transform ${o.duration/1e3}s ${o.easing}, opacity ${o.duration/1e3}s ${o.easing}`,n};function p(t,e,i,o){const n=t-i,r=e-o;return Math.sqrt(n*n+r*r)}function T(t,e,{width:i,height:o}){const n=p(t,e,0,0),r=p(t,e,i,0),u=p(t,e,0,o),v=p(t,e,i,o);return Math.max(n,r,u,v)}const w=({x:t,y:e},{top:i,left:o})=>({x:t-o,y:e-i}),m="vRippleCountInternal";function g(t,e){t.dataset[m]=e.toString()}function f(t){var e;return parseInt((e=t.dataset[m])!=null?e:"0",10)}function M(t){const e=f(t);g(t,e+1)}function O(t){const e=f(t);g(t,e-1)}function P(t){delete t.dataset[m]}const k=2.05,x=(t,e,i)=>{const o=e.getBoundingClientRect(),n=window.getComputedStyle(e),{x:r,y:u}=w(t,o),v=k*T(r,u,o),d=b(n),c=$(r,u,v,i);let R="",L=!1,h=null;function _(){c.style.transition="opacity 150ms linear",c.style.opacity="0",setTimeout(()=>{d.remove(),O(e),f(e)===0&&(P(e),e.style.position=R)},150)}function l(D){typeof D!="undefined"&&(document.removeEventListener("pointerup",l),document.removeEventListener("pointercancel",l)),L?_():L=!0}function E(){clearTimeout(h),d.remove(),document.removeEventListener("pointerup",l),document.removeEventListener("pointercancel",l),document.removeEventListener("pointercancel",E)}M(e),n.position==="static"&&(e.style.position&&(R=e.style.position),e.style.position="relative"),d.appendChild(c),e.appendChild(d),document.addEventListener("pointerup",l),document.addEventListener("pointercancel",l),h=setTimeout(()=>{document.removeEventListener("pointercancel",E),requestAnimationFrame(()=>{c.style.transform="translate(-50%,-50%) scale(1)",c.style.opacity=`${i.finalOpacity}`,setTimeout(()=>l(),i.duration)})},i.delay),document.addEventListener("pointercancel",E)},y=new WeakMap,I={...a};var C={mounted(t,e){var i;y.set(t,(i=e.value)!=null?i:{}),t.addEventListener("pointerdown",o=>{const n=y.get(t);e.value&&e.value.disabled||n!==!1&&x(o,t,{...I,...n})})},updated(t,e){var i;y.set(t,(i=e.value)!=null?i:{})}},S={title:"Ripple \u6C34\u6CE2\u7EB9",category:"\u901A\u7528",status:"100%",install(t){t.directive("Ripple",C)}};s.RippleDirective=C,s.default=S,Object.defineProperties(s,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|