vue-devui 1.0.0-beta.2 → 1.0.0-beta.220808
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 +163 -172
- package/alert/index.d.ts +7 -0
- package/alert/index.es.js +79 -51
- package/alert/index.umd.js +1 -1
- package/alert/style.css +1 -1
- package/auto-complete/index.d.ts +7 -0
- package/auto-complete/index.es.js +9053 -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 +154 -147
- package/avatar/index.umd.js +1 -1
- package/avatar/style.css +1 -1
- package/badge/index.d.ts +7 -0
- package/badge/index.es.js +46 -21
- package/badge/index.umd.js +1 -1
- package/badge/style.css +1 -1
- package/button/index.d.ts +7 -0
- package/button/index.es.js +5921 -146
- package/button/index.umd.js +27 -1
- package/button/style.css +1 -1
- package/card/index.d.ts +7 -0
- package/card/index.es.js +64 -36
- package/card/index.umd.js +1 -1
- package/card/style.css +1 -1
- package/checkbox/index.d.ts +7 -0
- package/checkbox/index.es.js +8122 -255
- package/checkbox/index.umd.js +38 -1
- package/checkbox/style.css +1 -1
- package/collapse/index.d.ts +7 -0
- package/collapse/index.es.js +195 -0
- package/collapse/index.umd.js +1 -0
- package/{cascader → collapse}/package.json +1 -1
- 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/{accordion → countdown}/package.json +1 -1
- package/countdown/style.css +1 -0
- package/date-picker-pro/index.d.ts +7 -0
- package/date-picker-pro/index.es.js +12035 -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 +205 -154
- package/drawer/index.umd.js +1 -1
- package/drawer/style.css +1 -1
- package/dropdown/index.d.ts +7 -0
- package/dropdown/index.es.js +736 -0
- package/dropdown/index.umd.js +1 -0
- package/{carousel → dropdown}/package.json +1 -1
- package/dropdown/style.css +1 -0
- package/editable-select/index.d.ts +7 -0
- package/editable-select/index.es.js +908 -461
- package/editable-select/index.umd.js +1 -1
- package/editable-select/style.css +1 -1
- package/form/index.d.ts +7 -0
- package/form/index.es.js +2439 -1995
- package/form/index.umd.js +29 -18
- package/form/style.css +1 -1
- package/fullscreen/index.d.ts +7 -0
- package/fullscreen/index.es.js +138 -125
- package/fullscreen/index.umd.js +1 -1
- package/fullscreen/style.css +1 -1
- package/grid/index.d.ts +7 -0
- package/grid/index.es.js +271 -0
- package/grid/index.umd.js +1 -0
- package/{toast → grid}/package.json +1 -1
- package/grid/style.css +1 -0
- package/icon/index.d.ts +7 -0
- package/icon/index.es.js +200 -56
- package/icon/index.umd.js +1 -1
- package/icon/style.css +1 -0
- package/image-preview/index.d.ts +7 -0
- package/image-preview/index.es.js +154 -62
- package/image-preview/index.umd.js +1 -1
- package/image-preview/style.css +1 -1
- package/index.d.ts +7 -0
- package/input/index.d.ts +7 -0
- package/input/index.es.js +8269 -145
- package/input/index.umd.js +38 -1
- package/input/style.css +1 -1
- package/input-number/index.d.ts +7 -0
- package/input-number/index.es.js +260 -191
- package/input-number/index.umd.js +1 -1
- package/input-number/style.css +1 -1
- package/layout/index.d.ts +7 -0
- package/layout/index.es.js +41 -26
- package/layout/index.umd.js +1 -1
- package/layout/style.css +1 -1
- package/loading/index.d.ts +7 -0
- package/loading/index.es.js +89 -73
- package/loading/index.umd.js +1 -1
- package/loading/style.css +1 -1
- package/mention/index.d.ts +7 -0
- package/mention/index.es.js +8326 -0
- package/mention/index.umd.js +47 -0
- package/mention/package.json +7 -0
- package/mention/style.css +1 -0
- package/menu/index.d.ts +7 -0
- package/menu/index.es.js +891 -0
- package/menu/index.umd.js +1 -0
- package/{anchor → menu}/package.json +1 -1
- package/menu/style.css +1 -0
- package/message/index.d.ts +7 -0
- package/message/index.es.js +533 -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 +611 -877
- package/modal/index.umd.js +1 -1
- package/modal/style.css +1 -1
- 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/Mention.js +3 -0
- package/nuxt/components/Menu.js +3 -0
- package/nuxt/components/MenuItem.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/SubMenu.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/mentionProps.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/treeNodeProps.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 +245 -303
- package/overlay/index.umd.js +1 -1
- package/overlay/style.css +1 -1
- package/package.json +16 -84
- package/pagination/index.d.ts +7 -0
- package/pagination/index.es.js +333 -155
- package/pagination/index.umd.js +1 -1
- package/pagination/style.css +1 -1
- package/panel/index.d.ts +7 -0
- package/panel/index.es.js +48 -35
- package/panel/index.umd.js +1 -1
- package/panel/style.css +1 -1
- package/popover/index.d.ts +7 -0
- package/popover/index.es.js +6035 -204
- package/popover/index.umd.js +27 -1
- package/popover/style.css +1 -1
- package/progress/index.d.ts +7 -0
- package/progress/index.es.js +111 -57
- package/progress/index.umd.js +3 -3
- package/progress/style.css +1 -1
- package/radio/index.d.ts +7 -0
- package/radio/index.es.js +8015 -182
- package/radio/index.umd.js +38 -1
- package/radio/style.css +1 -1
- package/rate/index.d.ts +7 -0
- package/rate/index.es.js +78 -56
- package/rate/index.umd.js +1 -1
- package/rate/style.css +1 -1
- package/result/index.d.ts +7 -0
- package/result/index.es.js +248 -0
- package/result/index.umd.js +1 -0
- package/{sticky → result}/package.json +1 -1
- package/result/style.css +1 -0
- package/ripple/index.d.ts +7 -0
- package/ripple/index.es.js +56 -61
- package/ripple/index.umd.js +1 -1
- package/search/index.d.ts +7 -0
- package/search/index.es.js +8381 -406
- package/search/index.umd.js +38 -1
- package/search/style.css +1 -1
- package/select/index.d.ts +7 -0
- package/select/index.es.js +9331 -576
- package/select/index.umd.js +38 -1
- package/select/style.css +1 -1
- package/skeleton/index.d.ts +7 -0
- package/skeleton/index.es.js +115 -145
- package/skeleton/index.umd.js +1 -1
- package/skeleton/style.css +1 -1
- package/slider/index.d.ts +7 -0
- package/slider/index.es.js +148 -142
- package/slider/index.umd.js +1 -1
- package/slider/style.css +1 -1
- package/splitter/index.d.ts +7 -0
- package/splitter/index.es.js +6308 -181
- package/splitter/index.umd.js +27 -1
- package/splitter/style.css +1 -1
- 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 +29 -8
- package/status/index.umd.js +1 -1
- package/status/style.css +1 -1
- 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 +7819 -65
- package/switch/index.umd.js +38 -1
- package/switch/style.css +1 -1
- package/table/index.d.ts +7 -0
- package/table/index.es.js +11435 -204
- package/table/index.umd.js +38 -1
- package/table/style.css +1 -1
- package/tabs/index.d.ts +7 -0
- package/tabs/index.es.js +356 -143
- package/tabs/index.umd.js +1 -1
- package/tabs/style.css +1 -1
- 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 +7989 -0
- package/textarea/index.umd.js +46 -0
- package/textarea/package.json +7 -0
- package/textarea/style.css +1 -0
- package/{theme → theme/theme.scss} +0 -0
- package/time-picker/index.d.ts +7 -0
- package/time-picker/index.es.js +9126 -597
- package/time-picker/index.umd.js +38 -1
- package/time-picker/style.css +1 -1
- package/time-select/index.d.ts +7 -0
- package/time-select/index.es.js +9606 -0
- package/time-select/index.umd.js +38 -0
- package/{breadcrumb → time-select}/package.json +1 -1
- 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 +5870 -141
- package/tooltip/index.umd.js +27 -1
- package/tooltip/style.css +1 -1
- package/tree/index.d.ts +7 -0
- package/tree/index.es.js +11504 -692
- package/tree/index.umd.js +38 -1
- package/tree/style.css +1 -1
- package/upload/index.d.ts +7 -0
- package/upload/index.es.js +968 -2748
- package/upload/index.umd.js +1 -1
- package/upload/style.css +1 -1
- package/vue-devui.es.js +22816 -16568
- package/vue-devui.umd.js +42 -20
- package/accordion/index.es.js +0 -190
- package/accordion/index.umd.js +0 -1
- package/accordion/style.css +0 -1
- package/anchor/index.es.js +0 -263
- package/anchor/index.umd.js +0 -1
- package/anchor/style.css +0 -1
- package/breadcrumb/index.es.js +0 -127
- package/breadcrumb/index.umd.js +0 -1
- package/breadcrumb/style.css +0 -1
- package/carousel/index.es.js +0 -328
- package/carousel/index.umd.js +0 -1
- package/carousel/style.css +0 -1
- package/cascader/index.es.js +0 -187
- package/cascader/index.umd.js +0 -1
- package/cascader/style.css +0 -1
- package/date-picker/index.es.js +0 -1171
- package/date-picker/index.umd.js +0 -1
- package/date-picker/package.json +0 -7
- package/date-picker/style.css +0 -1
- package/nav-sprite/index.es.js +0 -742
- package/nav-sprite/index.umd.js +0 -1
- package/nav-sprite/package.json +0 -7
- package/quadrant-diagram/index.es.js +0 -489
- package/quadrant-diagram/index.umd.js +0 -1
- package/quadrant-diagram/package.json +0 -7
- package/quadrant-diagram/style.css +0 -1
- package/steps-guide/index.es.js +0 -211
- package/steps-guide/index.umd.js +0 -1
- package/steps-guide/package.json +0 -7
- package/steps-guide/style.css +0 -1
- package/sticky/index.es.js +0 -197
- package/sticky/index.umd.js +0 -1
- package/tag-input/index.es.js +0 -341
- package/tag-input/index.umd.js +0 -1
- package/tag-input/package.json +0 -7
- package/tag-input/style.css +0 -1
- package/time-axis/index.es.js +0 -79
- package/time-axis/index.umd.js +0 -1
- package/time-axis/package.json +0 -7
- package/time-axis/style.css +0 -1
- package/toast/index.es.js +0 -2059
- package/toast/index.umd.js +0 -1
- package/toast/style.css +0 -1
- package/transfer/index.es.js +0 -1446
- package/transfer/index.umd.js +0 -1
- package/transfer/package.json +0 -7
- package/transfer/style.css +0 -1
- package/tree-select/index.es.js +0 -203
- package/tree-select/index.umd.js +0 -1
- package/tree-select/package.json +0 -7
- package/tree-select/style.css +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(S,n){typeof exports=="object"&&typeof module!="undefined"?n(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],n):(S=typeof globalThis!="undefined"?globalThis:S||self,n(S.index={},S.Vue))})(this,function(S,n){"use strict";function _(e,l,t){let a=e;return l&&(a+=`__${l}`),t&&(a+=`--${t}`),a}function C(e,l=!1){const t=l?`.devui-${e}`:`devui-${e}`;return{b:()=>_(t),e:d=>d?_(t,d):"",m:d=>d?_(t,"",d):"",em:(d,m)=>d&&m?_(t,d,m):""}}const G=[];let K=[];const I=n.ref(24),T=C("menu"),ae=C("submenu"),j=T.b(),J=`${T.b()}-item-horizontal-wrapper`,Q=`${T.b()}-item-select`,X=`${T.b()}-active-parent`;function le(e){I.value=e}function oe(e){G.push(e)}function ie(){K=[],G.forEach(t=>{K.push(t.el.parentElement)});const e=[...K],l=t=>{var a;return(a=/layer_(\d*)/gim.exec(t))==null?void 0:a[1]};for(;e.length;){const t=e.shift();if(t!=null&&t.classList.contains(j)){const a=t.children;e.unshift(...Array.from(a));continue}else{if(t.tagName==="DIV")if(t.classList.contains(`${T.b()}-item-vertical-wrapper`)||t.classList.contains(`${ae.b()}-menu-item-vertical-wrapper`)){const a=t.parentElement;if(e.unshift(...Array.from(t.children)),a!=null&&a.classList.contains(j))t.classList.add("layer_1");else{let s=l((a==null?void 0:a.classList.value)||"");s=Number(s),t.classList.add(`layer_${s}`)}}else{const a=t.parentElement;let s=l((a==null?void 0:a.classList.value)||"");s=Number(s),t.classList.add(`layer_${s}`),t.style.paddingLeft=`${(s===2?1:s-1)*I.value}px`}if(t.tagName==="UL"){const a=t.parentElement,s=t.children;for(let d=0;d<s.length;d++)e.unshift(s[d]);const c=(a==null?void 0:a.classList.value)||"";let r=l(c);a!=null&&a.classList.contains(j)?(r=1,t.classList.add(`layer_${2}`)):(t.classList.add(`layer_${Number(r)+1}`),r=Number(r)+1)}if(t.tagName==="LI"){const a=t.parentElement,s=(a==null?void 0:a.classList.value)||"";let c=l(s);l(s),c=Number(c),t.style.padding=`0 ${c*I.value}px`}}}}function re(e){var a;const l=e;let t=null;for(let s=0;s<l.length;s++){const c=l[s];(a=c==null?void 0:c.classList)!=null&&a.contains(`${T.b()}-horizontal`)&&(t=c)}return t}function ce(e,l){let t=l.target,a=[];const{path:s}=l,c=re(s);for(a=[...Array.from(c.children)],t.tagName==="SPAN"&&(t=t.parentElement);a.length;){const r=a.shift();if((r==null?void 0:r.tagName)==="UL"||(r==null?void 0:r.classList.contains(J))){const d=r==null?void 0:r.children;a.unshift(...Array.from(d))}r!==t&&(r==null||r.classList.remove(Q),r==null||r.classList.remove(X))}}function de(e,l){const t=[],a=l.path||l.composedPath&&l.composedPath();for(let s=0;s<a.length;s++){const c=a[s];if(!c.classList.contains(j))t.push(...Array.from(c.children));else{t.push(...Array.from(c.children));break}}for(;t.length;){const s=t.shift();((s==null?void 0:s.tagName)==="UL"||(s==null?void 0:s.classList.contains(J)))&&t.push(...Array.from(s==null?void 0:s.children)),s!==e&&((s==null?void 0:s.tagName)==="DIV"&&t.unshift(...Array.from(s==null?void 0:s.children)),s==null||s.classList.remove(Q),s==null||s.classList.remove(X))}}function Y(e,l,t=!1){t?ce(e,l):de(e,l)}function ue(e){var a;const l=/layer_(\d{1,})/gim,t=e.className;return(a=l.exec(t))==null?void 0:a[1]}const fe={disabled:{type:Boolean,default:!1},href:{type:String,default:""},route:{type:[String,Object]}},Z=C("menu");function ee(e,l,t,a){const s=n.ref(!1);return t?e.includes(l)?s.value=!0:s.value=!1:e[0]===l&&!a.value?s.value=!0:s.value=!1,s.value}function me(e){var t,a;let l=e.parentElement;for(;!l.classList.contains(Z.b());)((t=l.firstElementChild)==null?void 0:t.tagName)==="DIV"&&((a=l==null?void 0:l.firstElementChild)==null||a.classList.add(`${Z.b()}-active-parent`)),l=l.parentElement;return l}function pe(e,l,t,a){if(t&&l){const s=e.route||a,c=l.push(s).then(r=>r);return{route:s,routerResult:c}}}const U=C("menu");function te(e){const l=e.path;for(let t=0;t<l.length;t++){const a=l[t];if(a.classList.contains(`${U.b()}-horizontal`))break;if(a.classList.contains(`${U.b()}-item-horizontal-wrapper`))continue;a.tagName!=="SPAN"&&a.classList.add(`${U.b()}-item-select`)}}const M=C("menu"),V=`${M.b()}-item-select`,ge=`${M.b()}-item-disabled`;var W=n.defineComponent({name:"DMenuItem",props:fe,setup(e,l){var w,u;const t=n.getCurrentInstance(),a=String(t==null?void 0:t.vnode.key),s=n.inject("mode"),c=n.inject("multiple"),r=n.inject("defaultIndent"),d=n.inject("isCollapsed"),m=n.inject("defaultSelectKey"),{disabled:p}=n.toRefs(e),P=n.ref(ee(m,a,c,p)),E=n.ref(!0),$=n.inject("rootMenuEmit"),N=n.inject("useRouter"),L=t==null?void 0:t.appContext.config.globalProperties.$router,g=n.computed(()=>({[`${M.b()}-item`]:!0,[`${M.b()}-item-isCollapsed`]:d.value,[V]:P.value,[ge]:p.value})),h=o=>{var b;o.stopPropagation();const i=o.currentTarget;let f;if(e.disabled&&o.preventDefault(),!e.disabled){if(!c)Y(i,o,s.value==="horizontal"),s.value==="horizontal"?te(o):i.classList.add(V),f=pe(e,L,N,a);else if(i.classList.contains(V)){i.classList.remove(V),$("deselect",{type:"deselect",key:a,el:i,e:o});return}else i.classList.add(V);f===void 0?$("select",{type:"select",key:a,el:i,e:o}):$("select",{type:"select",key:a,el:i,e:o,route:f})}if(s.value==="vertical"){const v=o.currentTarget;me(v)}if(s.value==="horizontal"){const v=(b=i.parentElement)==null?void 0:b.parentElement;v==null||v.classList.add(`${M.b()}-active-parent`)}},A=n.createVNode("span",{class:`${M.b()}-icon`},[(u=(w=l.slots).icon)==null?void 0:u.call(w)]),y=n.ref(null);return n.watch(p,()=>{c||(g.value[V]=!1)}),n.watch(()=>m,o=>{P.value=ee(o,a,c,p),g.value[V]=P.value}),n.onMounted(()=>{var f,b;let o="";const i=y.value;s.value==="vertical"&&((b=(f=i.parentElement)==null?void 0:f.parentElement)!=null&&b.classList.contains(M.b())?(E.value=!0,E.value&&(i.style.paddingRight="",i.style.paddingLeft=`${r}px`),n.watch(d,v=>{v?(i.style.padding!=="0"&&(o=i.style.padding),setTimeout(()=>{i.style.padding="0",i.style.width="",i.style.textAlign="center"},300),i.style.display="block"):(i.style.padding=`${o}`,i.style.textAlign="",i.style.display="flex")})):E.value=!1)}),()=>s.value==="vertical"?n.createVNode("div",{class:`${M.b()}-item-vertical-wrapper`},[n.createVNode("li",{class:g.value,onClick:h,ref:y},[l.slots.icon!==void 0&&A,e.href===""?n.createVNode(n.Transition,{name:"fade"},{default:()=>{var o,i;return[n.withDirectives(n.createVNode("span",null,[(i=(o=l.slots).default)==null?void 0:i.call(o)]),[[n.vShow,!d.value]])]}}):n.createVNode("a",{href:e.href},[n.createVNode(n.Transition,{name:"fade"},{default:()=>{var o,i;return[(i=(o=l.slots).default)==null?void 0:i.call(o)]}})])])]):n.createVNode("li",{class:g.value,onClick:h,ref:y},[l.slots.icon!==void 0&&A,e.href===""?n.createVNode(n.Transition,{name:"fade"},{default:()=>{var o,i;return[n.withDirectives(n.createVNode("span",null,[(i=(o=l.slots).default)==null?void 0:i.call(o)]),[[n.vShow,!d.value]])]}}):n.createVNode("a",{href:e.href},[n.createVNode(n.Transition,{name:"fade"},{default:()=>{var o,i;return[(i=(o=l.slots).default)==null?void 0:i.call(o)]}})])])}});function he(e=8){const l="abcdefghijklmnopqrstuvwxyz0123456789";let t="";for(let a=0;a<e;a++)t+=l[parseInt((Math.random()*l.length).toString())];return t}function ne(e){for(;e&&e.tagName!=="LI"&&e.tagName!=="UL";)e=e.parentElement;return e}const se="0.3s height ease-in-out, 0.3s padding-top ease-in-out, 0.3s padding-bottom ease-in-out",D={"before-enter"(e){e.style.transition=se,e.setAttribute("data-oldPadding",e.style.padding),e.setAttribute("data-oldMargin",e.style.margin),e.style.height="0",e.style.padding="0",e.style.margin="0"},enter(e){e.dataset.oldOverflow=e.style.overflow,e.scrollHeight!==0?e.style.height=e.scrollHeight+"px":e.style.height="",e.style.padding=e.getAttribute("data-oldPadding"),e.style.margin=e.getAttribute("data-oldMargin"),e.style.overflow="hidden"},"after-enter"(e){e.style.transition="",e.style.transition="",e.style.height="",e.style.overflow=e.getAttribute("data-overflow")},"before-leave"(e){e.dataset||(e.dataset={}),e.dataset.oldPaddingTop=e.style.paddingTop,e.dataset.oldPaddingBottom=e.style.paddingBottom,e.dataset.oldOverflow=e.style.overflow,e.style.height=e.scrollHeight+"px",e.style.overflow="hidden"},leave(e){e.scrollHeight!==0&&(e.style.transition=se,e.style.height="0",e.style.paddingTop="0",e.style.paddingBottom="0")},"after-leave"(e){e.style.transition="",e.style.height="",e.style.overflow=e.dataset.oldOverflow,e.style.paddingTop=e.dataset.oldPaddingTop,e.style.paddingBottom=e.dataset.oldPaddingBottom}};var ye=n.defineComponent({name:"DMenuTransition",setup(e,l){return()=>n.createVNode(n.Transition,{onBeforeEnter:t=>D["before-enter"](t),onBeforeLeave:t=>D["before-leave"](t),onEnter:t=>D.enter(t),onAfterEnter:t=>D["after-enter"](t),onLeave:t=>D.leave(t),onAfterLeave:t=>D["after-leave"](t)},{default:()=>{var t,a;return[(a=(t=l.slots).default)==null?void 0:a.call(t)]}})}});const be={title:{type:String,default:""},disabled:{type:Boolean,default:!1}},B=C("menu"),ve=C("submenu"),R=`${B.b()}-item-horizontal-wrapper-hidden`,O=`${B.b()}-item-horizontal-wrapper-show`;function x(e,l,t){const a=l.currentTarget,s=a.parentElement,c=t.children;if(t.style.padding="0 20px !important",e==="mouseenter"){if((s==null?void 0:s.tagName)==="DIV"){t.classList.add(`${B.b()}-item-horizontal-wrapper-level`);const{width:r}=a.getClientRects()[0];t.style.top="0px",t.style.left=`${r}px`}else t.style.top="26px",t.style.left="0px";t.classList.remove(R),t.classList.add(O);for(let r=0;r<c.length;r++){const d=c[r];if(d.tagName==="UL"&&d.classList.contains(ve.b())){const m=d.getElementsByClassName(`${B.b()}-item-horizontal-wrapper`)[0];d.addEventListener("mouseenter",p=>{p.stopPropagation(),x("mouseenter",p,m),m.classList.remove(R),m.classList.add(O)}),d.addEventListener("mouseleave",p=>{p.stopPropagation(),x("mouseleave",p,m),m.classList.remove(O),m.classList.add(R)})}}}e==="mouseleave"&&(t.classList.remove(O),t.classList.add(R))}const q=C("menu"),z=C("submenu").b();var H=n.defineComponent({name:"DSubMenu",props:be,setup(e,l){const t=n.ref(!0),{vnode:{key:a}}=n.getCurrentInstance();let s=String(a);const c=n.inject("openKeys"),r=n.ref(c.value.includes(s)),d=n.inject("defaultIndent"),m=n.inject("isCollapsed"),p=n.inject("mode"),P=n.ref(null),E=n.inject("rootMenuEmit"),$=p.value==="horizontal";s==="null"&&(console.warn("[devui][menu]: Key can not be null"),s=`randomKey-${he(16)}`);const N=u=>{u.stopPropagation();const o=ne(u.target);if(!(o.classList.contains(z)&&$)&&($&&(Y(o,u,!0),te(u)),!e.disabled&&p.value!=="horizontal")){const i=ne(u.target),f=c.value.indexOf(s);f>=0&&i.tagName==="UL"?c.value.splice(f,1):i.tagName==="UL"&&c.value.push(s),r.value=c.value.indexOf(s)>=0,E("submenu-change",{type:"submenu-change",state:r.value,key:s,el:o})}},L=n.ref(null);let g;const h=n.ref(null),A=n.ref(null);let y="";const w=n.ref("");return n.watchEffect(()=>{g=L.value,oe({el:h.value})},{flush:"post"}),n.watch(()=>c,u=>{u.value.includes(s)?r.value=!0:r.value=!1},{deep:!0}),n.onMounted(()=>{var i;const u=A.value,o=h.value;ie(),w.value=`layer_${(i=Array.from(o.classList).at(-1))==null?void 0:i.replace("layer_","")}`,$&&!e.disabled&&(h.value.addEventListener("mouseenter",f=>{f.stopPropagation(),x("mouseenter",f,g)}),h.value.addEventListener("mouseleave",f=>{f.stopPropagation(),x("mouseleave",f,g)})),n.watch(m,f=>{const b=Number(ue(o));Number.isNaN(b)||b>2&&(t.value=!m.value),f?(u.style.padding!=="0"&&(y=u.style.padding),setTimeout(()=>{u.style.padding="0",u.style.width="",u.style.textAlign="center"},300),u.style.display="block"):(u.style.padding=`${y}`,u.style.textAlign="",u.style.display="flex")})}),()=>{var u,o,i,f;return n.withDirectives(n.createVNode("ul",{onClick:N,class:[z,w.value,e.disabled&&`${z}-disabled`],ref:h},[n.createVNode("div",{class:[`${z}-title`],style:`padding: 0 ${d}px`,ref:A},[n.createVNode("span",{class:`${q.b()}-icon`},[(o=(u=l.slots)==null?void 0:u.icon)==null?void 0:o.call(u)]),n.withDirectives(n.createVNode("span",{class:`${z}-title-content`},[e.title]),[[n.vShow,!m.value]]),n.withDirectives(n.createVNode("i",{class:{"icon icon-chevron-up":w.value!==`layer_${z}`,"icon icon-chevron-right":w.value===`layer_${z}`,"is-opened":r.value}},null),[[n.vShow,!m.value&&a!=="overflowContainer"]])]),$?n.withDirectives(n.createVNode("div",{class:`${q.b()}-item-horizontal-wrapper ${q.b()}-item-horizontal-wrapper-hidden`,ref:L},[(f=(i=l.slots).default)==null?void 0:f.call(i)]),[[n.vShow,!e.disabled]]):n.createVNode(ye,null,{default:()=>{var b,v;return[n.withDirectives(n.createVNode("div",{class:[`${z}-menu-item-vertical-wrapper`],ref:P},[(v=(b=l.slots).default)==null?void 0:v.call(b)]),[[n.vShow,r.value]])]}})]),[[n.vShow,t.value]])}}});const Le={width:{type:String,default:""},collapsed:{type:Boolean,default:!1},collapsedIndent:{type:Number,default:24},indentSize:{type:Number,default:24},multiple:{type:Boolean,default:!1},openKeys:{type:Array,default:[]},defaultSelectKeys:{type:Array,default:[]},mode:{type:String,default:"vertical"},router:{type:Boolean,default:!1}};var Ne="",F=n.defineComponent({name:"DMenu",props:Le,emits:["select","deselect","submenu-change"],setup(e,l){const t=C("menu"),{openKeys:a,mode:s,collapsed:c}=n.toRefs(e);n.provide("isCollapsed",c),n.provide("defaultIndent",e.indentSize),n.provide("multiple",e.multiple),n.provide("openKeys",a),n.provide("defaultSelectKey",e.defaultSelectKeys),n.provide("mode",s),n.provide("collapsedIndent",e.collapsedIndent),n.provide("rootMenuEmit",l.emit),n.provide("useRouter",e.router),le(e.indentSize);const r=n.ref(null),d=n.ref(0),m=n.ref(null),p=`${t.b()}-item-select`,P=n.computed(()=>({[`${t.b()}`]:!0,[`${t.b()}-vertical`]:s.value==="vertical",[`${t.b()}-horizontal`]:s.value==="horizontal",[`${t.b()}-collapsed`]:c.value})),E=n.reactive({[p]:!1,[`${t.b()}-overflow-container`]:!0}),$=N=>{const L=Array.from(N.children);for(const g of L)if(g.classList.contains(p)){E[p]=!0;break}else E[p]=!1};return n.onMounted(()=>{var N;if(e.mode==="horizontal"){let L=!1;const g=(N=m.value)==null?void 0:N.$el,h=r.value,A=h.children,y=g.children[1],w=new IntersectionObserver(u=>{u.forEach(o=>{if(o.isIntersecting){if(!o.target.classList.contains(`${t.b()}-overflow-container`)&&o.target.style.visibility==="hidden"){w.unobserve(o.target),h.insertBefore(o.target,g),o.target.style.visibility="";const i=g.previousElementSibling;if(i&&o.boundingClientRect.width%o.target.getBoundingClientRect().width===0&&w.observe(i),i!=null&&i.classList.contains("devui-submenu")){const b=i,v=i.children[1];b.addEventListener("mouseenter",k=>{k.stopPropagation(),x("mouseenter",k,v)}),b.addEventListener("mouseleave",k=>{k.stopPropagation(),x("mouseleave",k,v)})}d.value-=1,w.observe(o.target),y.lastChild&&y.removeChild(y.lastChild),$(y)}}else{const i=o.target.cloneNode(!0);o.target.classList.contains(`${t.b()}-overflow-container`)?L&&o.target.previousElementSibling&&y.children.length?h.appendChild(o.target.previousElementSibling):L=!0:(d.value+=1,o.target.style.visibility="hidden",g.nextSibling?h.insertBefore(o.target,g.nextSibling):h.appendChild(o.target),y.appendChild(i),$(y))}})},{root:h,threshold:1,rootMargin:"8px"});for(let u=0;u<A.length;u++)w.observe(A[u])}}),()=>{var N,L;return n.createVNode("ul",{ref:r,class:P.value,style:[e.collapsed?`width:${e.collapsedIndent*2}px`:`width: ${e.width}`]},[(L=(N=l.slots).default)==null?void 0:L.call(N),n.withDirectives(n.createVNode(H,{ref:m,key:"overflowContainer",title:"...",class:E},null),[[n.vShow,d.value>0&&s.value==="horizontal"]])])}}}),we={title:"Menu \u83DC\u5355",category:"\u5E03\u5C40",status:"100%",install(e){e.component(F.name,F),e.component(W.name,W),e.component(H.name,H)}};S.Menu=F,S.MenuItem=W,S.SubMenu=H,S.default=we,Object.defineProperties(S,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
package/menu/style.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.devui-menu-vertical a,.devui-menu-vertical a:hover,.devui-menu-vertical a:active,.devui-menu-vertical a:visited,.devui-menu-horizontal a,.devui-menu-horizontal a:hover,.devui-menu-horizontal a:active,.devui-menu-horizontal a:visited{text-decoration:none}.devui-menu-vertical ul,.devui-menu-vertical li,.devui-menu-horizontal ul,.devui-menu-horizontal li{list-style:none;white-space:nowrap}.devui-menu-horizontal{display:flex;box-sizing:border-box;line-height:var(--devui-line-height-base, 1.5);background:var(--devui-global-bg-normal);padding:14px 20px}.devui-menu-horizontal .devui-menu-item{display:flex;position:relative;box-sizing:content-box;padding:0 20px!important;line-height:24px;cursor:pointer}.devui-menu-horizontal .devui-menu-item:after{content:"";display:block;position:absolute;left:20px;right:20px;bottom:0;width:auto;height:2px}.devui-menu-horizontal :after{transition:all var(--devui-animation-duration-fast, .1s) var(--devui-animation-ease-in-smooth, cubic-bezier(.645, .045, .355, 1));background:transparent}.devui-menu-horizontal .devui-menu-item-select .devui-submenu-title-content,.devui-menu-horizontal .devui-menu-active-parent .devui-submenu-title-content{color:var(--devui-menu-item-hover)}.devui-menu-horizontal .devui-menu-item-select:after,.devui-menu-horizontal .devui-menu-active-parent:after{display:block;position:absolute;left:20px;right:20px;bottom:0;width:auto;height:2px;content:"";opacity:1;background:var(--devui-brand, #5e7ce0)}.devui-menu-horizontal .devui-menu-item span,.devui-menu-horizontal .devui-menu-item a{color:var(--devui-text, #252b3a)}.devui-menu-horizontal .devui-menu-item:hover span,.devui-menu-horizontal .devui-menu-item:hover a{color:var(--devui-brand, #5e7ce0)}.devui-menu-horizontal .devui-menu-item:hover:after{background:var(--devui-brand, #5e7ce0)}.devui-menu-horizontal .devui-submenu{margin:0;padding:0;position:relative}.devui-menu-horizontal .devui-submenu div.devui-submenu-title{padding:0 20px}.devui-menu-horizontal .devui-submenu div.devui-submenu-title span{margin:0}.devui-menu-horizontal .devui-submenu div.devui-submenu-title .icon-chevron-up,.devui-menu-horizontal .devui-submenu div.devui-submenu-title .icon-chevron-right{transition:transform var(--devui-animation-duration-slow, .3s) var(--devui-animation-ease-in-out-smooth, cubic-bezier(.645, .045, .355, 1))}.devui-menu-horizontal .devui-submenu:after{content:"";display:block;position:absolute;left:20px;right:20px;bottom:0;width:auto;height:2px}.devui-menu-horizontal .devui-submenu:hover{cursor:pointer}.devui-menu-horizontal .devui-submenu:hover:after{background:var(--devui-brand, #5e7ce0)}.devui-menu-horizontal .devui-submenu:hover>div>i.icon-chevron-up{transform:rotate(180deg)}.devui-menu-horizontal .devui-submenu:hover>div>i.icon-chevron-right{transform:rotate(180deg)}.devui-menu-horizontal .devui-submenu div.devui-menu-item-horizontal-wrapper{transition:all var(--devui-animation-duration-fast, .1s) var(--devui-animation-ease-in-smooth, cubic-bezier(.645, .045, .355, 1)),left 0 linear;background:var(--devui-global-bg-normal);z-index:var(--devui-z-index-modal, 1050)}.devui-menu-horizontal .devui-submenu div.devui-menu-item-horizontal-wrapper-show{transition:all var(--devui-animation-duration-fast, .1s) var(--devui-animation-ease-in-smooth, cubic-bezier(.645, .045, .355, 1));opacity:1;visibility:visible;max-height:100vh;padding:10px 0!important;border-radius:8px;position:absolute}.devui-menu-horizontal .devui-submenu div.devui-menu-item-horizontal-wrapper-show .devui-menu-item{margin-top:5px}.devui-menu-horizontal .devui-submenu div.devui-menu-item-horizontal-wrapper-show .devui-submenu{margin:5px 0;padding:0 20px!important}.devui-menu-horizontal .devui-submenu div.devui-menu-item-horizontal-wrapper-show .devui-submenu div.devui-submenu-title{padding:0!important}.devui-menu-horizontal .devui-submenu div.devui-menu-item-horizontal-wrapper-show .devui-menu-item-horizontal-wrapper-level .devui-submenu{padding:0 20px!important}.devui-menu-horizontal .devui-submenu div.devui-menu-item-horizontal-wrapper-hidden{transition:all var(--devui-animation-duration-fast, .1s) var(--devui-animation-ease-in-smooth, cubic-bezier(.645, .045, .355, 1));visibility:hidden;position:absolute;padding:0!important;max-height:0;overflow:hidden;opacity:0}.devui-menu-horizontal .devui-submenu div.devui-menu-item-horizontal-wrapper-hidden .devui-menu-item{margin-top:5px}.devui-menu-horizontal .devui-submenu div.devui-menu-item-horizontal-wrapper-hidden .devui-submenu{margin:5px 0;padding:0 20px!important}.devui-menu-horizontal .devui-submenu div.devui-menu-item-horizontal-wrapper-hidden .devui-submenu div.devui-submenu-title{padding:0!important}.devui-menu-horizontal .devui-menu-item-disabled span,.devui-menu-horizontal .devui-menu-item-disabled a,.devui-menu-horizontal .devui-submenu-disabled span,.devui-menu-horizontal .devui-submenu-disabled a{color:var(--devui-menu-disabled)!important;cursor:not-allowed}.devui-menu-horizontal .devui-menu-item-disabled:after,.devui-menu-horizontal .devui-submenu-disabled:after{content:unset!important}.devui-menu-horizontal .devui-menu-item-disabled+.devui-menu-item-horizontal-wrapper,.devui-menu-horizontal .devui-submenu-disabled+.devui-menu-item-horizontal-wrapper{display:none}.devui-submenu-menu-item-vertical-wrapper{overflow:hidden}.devui-submenu-menu-item{color:var(--devui-menu-item)}.devui-menu-vertical{padding:0;transition:width var(--devui-animation-duration-slow, .3s) var(--devui-animation-ease-in-smooth, cubic-bezier(.645, .045, .355, 1)),padding var(--devui-animation-duration-slow, .3s) var(--devui-animation-ease-in-smooth, cubic-bezier(.645, .045, .355, 1));border-right:var(--devui-line, #d7d8da) 1px solid;background:var(--devui-area, #f8f8f8)!important}.devui-menu-vertical :after{transition:all var(--devui-animation-duration-fast, .1s) var(--devui-animation-ease-in-smooth, cubic-bezier(.645, .045, .355, 1));background:transparent}.devui-menu-vertical .layer_1{margin:0!important}.devui-menu-vertical .layer_2>div.devui-submenu-title{margin:0!important;background:var(--devui-block, #ffffff)}.devui-menu-vertical.devui-menu-collapsed .devui-menu-icon{margin:auto}.devui-menu-vertical.devui-menu-collapsed ul li{display:none!important}.devui-menu-vertical.devui-menu-collapsed .devui-submenu div.devui-submenu-title .devui-menu-icon{margin:auto}.devui-menu-vertical .devui-menu-item-vertical-wrapper{padding-left:0!important}.devui-menu-vertical .devui-menu-item{width:100%;height:40px;flex-grow:1;line-height:40px;cursor:pointer;color:var(--devui-menu-item);background:var(--devui-block, #ffffff);display:flex}.devui-menu-vertical .devui-menu-item span:nth-child(2){text-align:left}.devui-menu-vertical div:not(.devui-submenu-menu-item-vertical-wrapper){display:flex;flex:auto}.devui-menu-vertical .devui-menu-item:after{display:block;position:absolute;right:0;top:0;transform:scaleX(0);content:"";opacity:1;background:var(--devui-primary-hover, #5e7ce0)}.devui-menu-vertical ul.devui-submenu{margin:0;padding:0}.devui-menu-vertical ul.devui-submenu .devui-menu-item{display:flex;background:var(--devui-area, #f8f8f8)}.devui-menu-vertical ul.devui-submenu .devui-menu-item>span{flex:auto;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;transition:all var(--devui-animation-duration-fast, .1s) var(--devui-animation-ease-in-smooth, cubic-bezier(.645, .045, .355, 1));color:var(--devui-menu-item)}.devui-menu-vertical ul.devui-submenu div.devui-submenu-title{display:flex;cursor:pointer;width:100%;height:40px;margin:4px 0;line-height:40px;padding-left:18px;align-items:center;color:var(--devui-menu-item)}.devui-menu-vertical ul.devui-submenu div.devui-submenu-title:nth-child(1){font-size:var(--devui-font-size-lg, 14px)}.devui-menu-vertical ul.devui-submenu div.devui-submenu-title span.devui-submenu-title-content{font-size:var(--devui-font-size-lg, 14px);flex:auto;color:var(--devui-menu-item)}.devui-menu-vertical ul.devui-submenu div.devui-submenu-title span.devui-menu-icon{text-align:center}.devui-menu-vertical ul.devui-submenu div.devui-submenu-title .icon-chevron-up{transition:transform var(--devui-animation-duration-slow, .3s) var(--devui-animation-ease-in-out-smooth, cubic-bezier(.645, .045, .355, 1))}.devui-menu-vertical ul.devui-submenu div.devui-submenu-title i.icon-chevron-up.is-opened{transform:rotate(180deg)}.devui-menu-vertical ul.devui-submenu .devui-submenu-title:hover span{color:var(--devui-menu-item-hover)!important}.devui-menu-vertical ul.devui-submenu .devui-menu-item:hover span{color:var(--devui-menu-item-hover)}.devui-menu-vertical ul.devui-submenu .devui-menu-item-select *{color:var(--devui-menu-item-hover)!important}.devui-menu-vertical .devui-menu-item-select{background:var(--devui-primary-bg, #f2f5fc)!important;position:relative}.devui-menu-vertical .devui-menu-item-select span,.devui-menu-vertical .devui-menu-item-select a{color:var(--devui-menu-item-hover)}.devui-menu-vertical .devui-menu-item-select:after{display:block;position:absolute;right:0;top:0;height:100%;width:4px;content:"";opacity:1;background:var(--devui-brand, #5e7ce0);transform:scaleX(1)}.devui-menu-vertical .devui-menu-item:hover{color:var(--devui-menu-item-hover)}.devui-menu-vertical li.devui-menu-item,.devui-menu-vertical div.devui-submenu-title{white-space:nowrap;overflow:hidden}.devui-menu-vertical li.devui-menu-item span:nth-child(2),.devui-menu-vertical div.devui-submenu-title span:nth-child(2){overflow:hidden;text-overflow:ellipsis}.devui-menu-vertical li.devui-menu-item span:nth-child(2) span,.devui-menu-vertical div.devui-submenu-title span:nth-child(2) span{overflow:hidden;text-overflow:ellipsis}.devui-menu-vertical .devui-menu-item-isCollapsed{width:fit-content}.devui-menu-vertical .devui-menu-item-isCollapsed .devui-menu-icon{margin:auto}.devui-menu-vertical ul li~ul>div{margin-top:0!important}.devui-menu-vertical .devui-menu-item-disabled *,.devui-menu-vertical .devui-submenu-disabled *{color:var(--devui-menu-disabled)!important;cursor:not-allowed!important;background:var(--devui-block, #ffffff)!important}.devui-menu-vertical .devui-menu-item-disabled:after,.devui-menu-vertical .devui-submenu-disabled:after{content:unset}.devui-menu-icon+span{margin-left:10px}.devui-menu-item-disabled:hover,.devui-submenu-disabled:hover{color:var(--devui-menu-disabled)!important;cursor:not-allowed!important}.devui-submenu-disabled:hover span{color:var(--devui-menu-disabled)!important}.fade-enter-active,.fade-leave-active{transition:opacity var(--devui-animation-duration-slow, .3s) var(--devui-animation-ease-in-smooth, cubic-bezier(.645, .045, .355, 1))}.fade-leave-to{display:none}.fade-enter-from,.fade-leave-to{opacity:0}.devui-menu-item-disabled,.devui-menu-item-disabled.devui-menu-vertical .devui-menu-item-disabled.devui-menu-item-select .devui-submenu-disabled,.devui-submenu-disabled.devui-menu-vertical,.devui-submenu-disabled.devui-menu-item-select{color:var(--devui-menu-disabled)!important;cursor:not-allowed!important}
|
|
@@ -0,0 +1,533 @@
|
|
|
1
|
+
import { defineComponent, toRefs, computed, createVNode, resolveDynamicComponent, mergeProps, watch, Transition, shallowReactive, createApp, onUnmounted, isVNode, reactive } from "vue";
|
|
2
|
+
const isString = (val) => typeof val === "string";
|
|
3
|
+
const DEFAULT_PREFIX = "icon";
|
|
4
|
+
const iconProps = {
|
|
5
|
+
name: {
|
|
6
|
+
type: String,
|
|
7
|
+
default: "",
|
|
8
|
+
required: true
|
|
9
|
+
},
|
|
10
|
+
size: {
|
|
11
|
+
type: [Number, String],
|
|
12
|
+
default: "inherit"
|
|
13
|
+
},
|
|
14
|
+
color: {
|
|
15
|
+
type: String,
|
|
16
|
+
default: "inherit"
|
|
17
|
+
},
|
|
18
|
+
component: {
|
|
19
|
+
type: Object,
|
|
20
|
+
default: null
|
|
21
|
+
},
|
|
22
|
+
classPrefix: {
|
|
23
|
+
type: String,
|
|
24
|
+
default: DEFAULT_PREFIX
|
|
25
|
+
},
|
|
26
|
+
operable: {
|
|
27
|
+
type: Boolean,
|
|
28
|
+
default: false
|
|
29
|
+
},
|
|
30
|
+
disabled: {
|
|
31
|
+
type: Boolean,
|
|
32
|
+
default: false
|
|
33
|
+
},
|
|
34
|
+
rotate: {
|
|
35
|
+
type: [Number, String]
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
const svgIconProps = {
|
|
39
|
+
name: {
|
|
40
|
+
type: String,
|
|
41
|
+
default: "",
|
|
42
|
+
required: true
|
|
43
|
+
},
|
|
44
|
+
color: {
|
|
45
|
+
type: String,
|
|
46
|
+
default: "inherit"
|
|
47
|
+
},
|
|
48
|
+
size: {
|
|
49
|
+
type: [Number, String],
|
|
50
|
+
default: "inherit"
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
function createBem(namespace, element, modifier) {
|
|
54
|
+
let cls = namespace;
|
|
55
|
+
if (element) {
|
|
56
|
+
cls += `__${element}`;
|
|
57
|
+
}
|
|
58
|
+
if (modifier) {
|
|
59
|
+
cls += `--${modifier}`;
|
|
60
|
+
}
|
|
61
|
+
return cls;
|
|
62
|
+
}
|
|
63
|
+
function useNamespace(block, needDot = false) {
|
|
64
|
+
const namespace = needDot ? `.devui-${block}` : `devui-${block}`;
|
|
65
|
+
const b = () => createBem(namespace);
|
|
66
|
+
const e = (element) => element ? createBem(namespace, element) : "";
|
|
67
|
+
const m = (modifier) => modifier ? createBem(namespace, "", modifier) : "";
|
|
68
|
+
const em = (element, modifier) => element && modifier ? createBem(namespace, element, modifier) : "";
|
|
69
|
+
return {
|
|
70
|
+
b,
|
|
71
|
+
e,
|
|
72
|
+
m,
|
|
73
|
+
em
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
var icon = "";
|
|
77
|
+
var svgIcon = defineComponent({
|
|
78
|
+
name: "DSvgIcon",
|
|
79
|
+
props: svgIconProps,
|
|
80
|
+
setup(props) {
|
|
81
|
+
const {
|
|
82
|
+
name,
|
|
83
|
+
color,
|
|
84
|
+
size
|
|
85
|
+
} = toRefs(props);
|
|
86
|
+
const ns2 = useNamespace("svg-icon");
|
|
87
|
+
const iconName = computed(() => `#icon-${name.value}`);
|
|
88
|
+
const iconSize = computed(() => {
|
|
89
|
+
return typeof size.value === "number" ? `${size.value}px` : size.value;
|
|
90
|
+
});
|
|
91
|
+
const styles = {
|
|
92
|
+
width: iconSize.value,
|
|
93
|
+
height: iconSize.value
|
|
94
|
+
};
|
|
95
|
+
return () => {
|
|
96
|
+
return createVNode("svg", {
|
|
97
|
+
"class": ns2.b(),
|
|
98
|
+
"style": styles
|
|
99
|
+
}, [createVNode("use", {
|
|
100
|
+
"xlink:href": iconName.value,
|
|
101
|
+
"fill": color.value
|
|
102
|
+
}, null)]);
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
function isUrl(value) {
|
|
107
|
+
return /^((http|https):)?\/\//.test(value);
|
|
108
|
+
}
|
|
109
|
+
function useIconDom(props, ctx) {
|
|
110
|
+
const {
|
|
111
|
+
component,
|
|
112
|
+
name,
|
|
113
|
+
size,
|
|
114
|
+
color,
|
|
115
|
+
classPrefix,
|
|
116
|
+
rotate
|
|
117
|
+
} = toRefs(props);
|
|
118
|
+
const ns2 = useNamespace("icon");
|
|
119
|
+
const iconSize = computed(() => {
|
|
120
|
+
return typeof size.value === "number" ? `${size.value}px` : size.value;
|
|
121
|
+
});
|
|
122
|
+
const IconComponent = component.value ? resolveDynamicComponent(component.value) : resolveDynamicComponent(svgIcon);
|
|
123
|
+
const imgIconDom = () => {
|
|
124
|
+
return createVNode("img", mergeProps({
|
|
125
|
+
"src": name.value,
|
|
126
|
+
"alt": name.value.split("/")[name.value.split("/").length - 1],
|
|
127
|
+
"class": [(rotate == null ? void 0 : rotate.value) === "infinite" && ns2.m("spin")],
|
|
128
|
+
"style": {
|
|
129
|
+
width: iconSize.value || "",
|
|
130
|
+
transform: `rotate(${rotate == null ? void 0 : rotate.value}deg)`,
|
|
131
|
+
verticalAlign: "middle"
|
|
132
|
+
}
|
|
133
|
+
}, ctx.attrs), null);
|
|
134
|
+
};
|
|
135
|
+
const svgIconDom = () => {
|
|
136
|
+
return createVNode(IconComponent, mergeProps({
|
|
137
|
+
"name": name.value,
|
|
138
|
+
"color": color.value,
|
|
139
|
+
"size": iconSize.value,
|
|
140
|
+
"class": [(rotate == null ? void 0 : rotate.value) === "infinite" && ns2.m("spin")],
|
|
141
|
+
"style": {
|
|
142
|
+
transform: `rotate(${rotate == null ? void 0 : rotate.value}deg)`
|
|
143
|
+
}
|
|
144
|
+
}, ctx.attrs), null);
|
|
145
|
+
};
|
|
146
|
+
const fontIconDom = () => {
|
|
147
|
+
const fontIconClass = /^icon-/.test(name.value) ? name.value : `${classPrefix.value}-${name.value}`;
|
|
148
|
+
return createVNode("i", mergeProps({
|
|
149
|
+
"class": [classPrefix.value, fontIconClass, (rotate == null ? void 0 : rotate.value) === "infinite" && ns2.m("spin")],
|
|
150
|
+
"style": {
|
|
151
|
+
fontSize: iconSize.value,
|
|
152
|
+
color: color.value,
|
|
153
|
+
transform: `rotate(${rotate == null ? void 0 : rotate.value}deg)`
|
|
154
|
+
}
|
|
155
|
+
}, ctx.attrs), null);
|
|
156
|
+
};
|
|
157
|
+
const iconDom = () => {
|
|
158
|
+
return component.value ? svgIconDom() : isUrl(name.value) ? imgIconDom() : fontIconDom();
|
|
159
|
+
};
|
|
160
|
+
return {
|
|
161
|
+
iconDom
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
var Icon = defineComponent({
|
|
165
|
+
name: "DIcon",
|
|
166
|
+
props: iconProps,
|
|
167
|
+
emits: ["click"],
|
|
168
|
+
setup(props, ctx) {
|
|
169
|
+
const {
|
|
170
|
+
disabled,
|
|
171
|
+
operable
|
|
172
|
+
} = toRefs(props);
|
|
173
|
+
const {
|
|
174
|
+
iconDom
|
|
175
|
+
} = useIconDom(props, ctx);
|
|
176
|
+
const ns2 = useNamespace("icon");
|
|
177
|
+
const wrapClassed = computed(() => ({
|
|
178
|
+
[ns2.e("container")]: true,
|
|
179
|
+
[ns2.m("disabled")]: disabled.value,
|
|
180
|
+
[ns2.m("operable")]: operable.value
|
|
181
|
+
}));
|
|
182
|
+
const onClick = (e) => {
|
|
183
|
+
if (disabled.value) {
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
ctx.emit("click", e);
|
|
187
|
+
};
|
|
188
|
+
return () => {
|
|
189
|
+
var _a, _b, _c, _d;
|
|
190
|
+
return createVNode("div", {
|
|
191
|
+
"class": wrapClassed.value,
|
|
192
|
+
"onClick": onClick
|
|
193
|
+
}, [(_b = (_a = ctx.slots).prefix) == null ? void 0 : _b.call(_a), iconDom(), (_d = (_c = ctx.slots).suffix) == null ? void 0 : _d.call(_c)]);
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
});
|
|
197
|
+
var iconGroup = "";
|
|
198
|
+
defineComponent({
|
|
199
|
+
name: "DIconGroup",
|
|
200
|
+
setup(_, ctx) {
|
|
201
|
+
const ns2 = useNamespace("icon-group");
|
|
202
|
+
return () => {
|
|
203
|
+
var _a, _b;
|
|
204
|
+
return createVNode("div", {
|
|
205
|
+
"class": ns2.b()
|
|
206
|
+
}, [(_b = (_a = ctx.slots).default) == null ? void 0 : _b.call(_a)]);
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
});
|
|
210
|
+
var Close = defineComponent({
|
|
211
|
+
emits: ["click"],
|
|
212
|
+
setup(props, {
|
|
213
|
+
emit
|
|
214
|
+
}) {
|
|
215
|
+
const ns2 = useNamespace("message");
|
|
216
|
+
return () => createVNode("div", {
|
|
217
|
+
"class": ns2.e("icon-close"),
|
|
218
|
+
"onClick": (e) => emit("click", e)
|
|
219
|
+
}, [createVNode(Icon, {
|
|
220
|
+
"name": "close",
|
|
221
|
+
"size": "14px"
|
|
222
|
+
}, null)]);
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
const messageProps = {
|
|
226
|
+
id: {
|
|
227
|
+
type: String,
|
|
228
|
+
default: ""
|
|
229
|
+
},
|
|
230
|
+
visible: {
|
|
231
|
+
type: Boolean,
|
|
232
|
+
default: false
|
|
233
|
+
},
|
|
234
|
+
message: {
|
|
235
|
+
type: String,
|
|
236
|
+
default: ""
|
|
237
|
+
},
|
|
238
|
+
type: {
|
|
239
|
+
type: String,
|
|
240
|
+
default: "normal"
|
|
241
|
+
},
|
|
242
|
+
bordered: {
|
|
243
|
+
type: Boolean,
|
|
244
|
+
default: true
|
|
245
|
+
},
|
|
246
|
+
shadow: {
|
|
247
|
+
type: Boolean,
|
|
248
|
+
default: true
|
|
249
|
+
},
|
|
250
|
+
duration: {
|
|
251
|
+
type: Number,
|
|
252
|
+
default: 3e3
|
|
253
|
+
},
|
|
254
|
+
showClose: {
|
|
255
|
+
type: Boolean,
|
|
256
|
+
default: false
|
|
257
|
+
},
|
|
258
|
+
onClose: {
|
|
259
|
+
type: Function
|
|
260
|
+
}
|
|
261
|
+
};
|
|
262
|
+
const ns = useNamespace("message");
|
|
263
|
+
function SuccessIcon() {
|
|
264
|
+
return createVNode("svg", {
|
|
265
|
+
"viewBox": "0 0 1024 1024",
|
|
266
|
+
"xmlns": "http://www.w3.org/2000/svg",
|
|
267
|
+
"class": ns.e("icon")
|
|
268
|
+
}, [createVNode("path", {
|
|
269
|
+
"fill": "currentColor",
|
|
270
|
+
"d": "M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.272 38.272 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336L456.192 600.384z"
|
|
271
|
+
}, null)]);
|
|
272
|
+
}
|
|
273
|
+
function WarningIcon() {
|
|
274
|
+
return createVNode("svg", {
|
|
275
|
+
"viewBox": "0 0 1024 1024",
|
|
276
|
+
"xmlns": "http://www.w3.org/2000/svg",
|
|
277
|
+
"class": ns.e("icon")
|
|
278
|
+
}, [createVNode("path", {
|
|
279
|
+
"fill": "currentColor",
|
|
280
|
+
"d": "M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm0 192a58.432 58.432 0 0 0-58.24 63.744l23.36 256.384a35.072 35.072 0 0 0 69.76 0l23.296-256.384A58.432 58.432 0 0 0 512 256zm0 512a51.2 51.2 0 1 0 0-102.4 51.2 51.2 0 0 0 0 102.4z"
|
|
281
|
+
}, null)]);
|
|
282
|
+
}
|
|
283
|
+
function InfoIcon() {
|
|
284
|
+
return createVNode("svg", {
|
|
285
|
+
"viewBox": "0 0 1024 1024",
|
|
286
|
+
"xmlns": "http://www.w3.org/2000/svg",
|
|
287
|
+
"class": ns.e("icon")
|
|
288
|
+
}, [createVNode("path", {
|
|
289
|
+
"fill": "currentColor",
|
|
290
|
+
"d": "M512 64a448 448 0 1 1 0 896.064A448 448 0 0 1 512 64zm67.2 275.072c33.28 0 60.288-23.104 60.288-57.344s-27.072-57.344-60.288-57.344c-33.28 0-60.16 23.104-60.16 57.344s26.88 57.344 60.16 57.344zM590.912 699.2c0-6.848 2.368-24.64 1.024-34.752l-52.608 60.544c-10.88 11.456-24.512 19.392-30.912 17.28a12.992 12.992 0 0 1-8.256-14.72l87.68-276.992c7.168-35.136-12.544-67.2-54.336-71.296-44.096 0-108.992 44.736-148.48 101.504 0 6.784-1.28 23.68.064 33.792l52.544-60.608c10.88-11.328 23.552-19.328 29.952-17.152a12.8 12.8 0 0 1 7.808 16.128L388.48 728.576c-10.048 32.256 8.96 63.872 55.04 71.04 67.84 0 107.904-43.648 147.456-100.416z"
|
|
291
|
+
}, null)]);
|
|
292
|
+
}
|
|
293
|
+
function ErrorIcon() {
|
|
294
|
+
return createVNode("svg", {
|
|
295
|
+
"viewBox": "0 0 1024 1024",
|
|
296
|
+
"xmlns": "http://www.w3.org/2000/svg",
|
|
297
|
+
"class": ns.e("icon")
|
|
298
|
+
}, [createVNode("path", {
|
|
299
|
+
"fill": "currentColor",
|
|
300
|
+
"d": "M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336L512 457.664z"
|
|
301
|
+
}, null)]);
|
|
302
|
+
}
|
|
303
|
+
var message$1 = "";
|
|
304
|
+
var Message$1 = defineComponent({
|
|
305
|
+
name: "DMessage",
|
|
306
|
+
props: messageProps,
|
|
307
|
+
emits: ["destroy", "close"],
|
|
308
|
+
setup(props, {
|
|
309
|
+
emit,
|
|
310
|
+
slots
|
|
311
|
+
}) {
|
|
312
|
+
const {
|
|
313
|
+
visible,
|
|
314
|
+
message: message2,
|
|
315
|
+
type,
|
|
316
|
+
bordered,
|
|
317
|
+
shadow,
|
|
318
|
+
showClose
|
|
319
|
+
} = toRefs(props);
|
|
320
|
+
const ns2 = useNamespace("message");
|
|
321
|
+
let timer = null;
|
|
322
|
+
let timestamp;
|
|
323
|
+
const handleDestroy = () => {
|
|
324
|
+
emit("destroy");
|
|
325
|
+
};
|
|
326
|
+
const close = () => {
|
|
327
|
+
var _a;
|
|
328
|
+
timer && clearTimeout(timer);
|
|
329
|
+
timer = null;
|
|
330
|
+
(_a = props.onClose) == null ? void 0 : _a.call(props);
|
|
331
|
+
};
|
|
332
|
+
const interrupt = () => {
|
|
333
|
+
if (timer) {
|
|
334
|
+
clearTimeout(timer);
|
|
335
|
+
timer = null;
|
|
336
|
+
}
|
|
337
|
+
};
|
|
338
|
+
const removeReset = () => {
|
|
339
|
+
if (props.visible) {
|
|
340
|
+
const remainTime = props.duration - (Date.now() - timestamp);
|
|
341
|
+
timer = setTimeout(close, remainTime);
|
|
342
|
+
}
|
|
343
|
+
};
|
|
344
|
+
watch(() => props.visible, (val) => {
|
|
345
|
+
if (val) {
|
|
346
|
+
timestamp = Date.now();
|
|
347
|
+
if (props.duration) {
|
|
348
|
+
timer = setTimeout(close, props.duration);
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
});
|
|
352
|
+
const classes = computed(() => ({
|
|
353
|
+
[ns2.b()]: true,
|
|
354
|
+
[ns2.m(type.value)]: true
|
|
355
|
+
}));
|
|
356
|
+
const lastOffset = computed(() => getLastOffset(props.id));
|
|
357
|
+
const styles = computed(() => {
|
|
358
|
+
const messageStyles = {};
|
|
359
|
+
if (!bordered.value) {
|
|
360
|
+
messageStyles["border"] = "none";
|
|
361
|
+
}
|
|
362
|
+
if (!shadow.value) {
|
|
363
|
+
messageStyles["box-shadow"] = "none";
|
|
364
|
+
}
|
|
365
|
+
return {
|
|
366
|
+
...messageStyles,
|
|
367
|
+
top: `${lastOffset.value}px`
|
|
368
|
+
};
|
|
369
|
+
});
|
|
370
|
+
const renderIcon = computed(() => {
|
|
371
|
+
const iconClasses = computed(() => ({
|
|
372
|
+
[ns2.e("image")]: true,
|
|
373
|
+
[ns2.em("image", type.value)]: true
|
|
374
|
+
}));
|
|
375
|
+
return !(!type.value || type.value === "normal") && createVNode("span", {
|
|
376
|
+
"class": iconClasses.value
|
|
377
|
+
}, [type.value && (type.value === "success" && createVNode(SuccessIcon, null, null) || type.value === "info" && createVNode(InfoIcon, null, null) || type.value === "warning" && createVNode(WarningIcon, null, null) || type.value === "error" && createVNode(ErrorIcon, null, null))]);
|
|
378
|
+
});
|
|
379
|
+
const renderText = computed(() => {
|
|
380
|
+
var _a;
|
|
381
|
+
const textClasses = computed(() => ({
|
|
382
|
+
[ns2.e("content")]: true,
|
|
383
|
+
[ns2.em("content", type.value)]: true
|
|
384
|
+
}));
|
|
385
|
+
return createVNode("span", {
|
|
386
|
+
"class": textClasses.value
|
|
387
|
+
}, [message2.value ? message2.value : (_a = slots.default) == null ? void 0 : _a.call(slots)]);
|
|
388
|
+
});
|
|
389
|
+
const renderClose = computed(() => {
|
|
390
|
+
return showClose.value && createVNode("span", {
|
|
391
|
+
"class": [ns2.e("close")],
|
|
392
|
+
"onClick": close
|
|
393
|
+
}, [createVNode(Close, null, null)]);
|
|
394
|
+
});
|
|
395
|
+
return () => {
|
|
396
|
+
return createVNode(Transition, {
|
|
397
|
+
"name": "message-fade",
|
|
398
|
+
"onAfterLeave": handleDestroy
|
|
399
|
+
}, {
|
|
400
|
+
default: () => [visible.value && createVNode("div", {
|
|
401
|
+
"class": classes.value,
|
|
402
|
+
"style": {
|
|
403
|
+
...styles.value
|
|
404
|
+
},
|
|
405
|
+
"onMouseenter": interrupt,
|
|
406
|
+
"onMouseleave": removeReset
|
|
407
|
+
}, [renderIcon.value, renderText.value, renderClose.value])]
|
|
408
|
+
});
|
|
409
|
+
};
|
|
410
|
+
}
|
|
411
|
+
});
|
|
412
|
+
function _isSlot(s) {
|
|
413
|
+
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
|
|
414
|
+
}
|
|
415
|
+
const instances = shallowReactive([]);
|
|
416
|
+
const getLastOffset = (id) => {
|
|
417
|
+
const idx = instances.findIndex((instance) => instance.id === id);
|
|
418
|
+
return idx * 65 + 80;
|
|
419
|
+
};
|
|
420
|
+
const deleteInstance = (id) => {
|
|
421
|
+
const idx = instances.findIndex((instance) => instance.id === id);
|
|
422
|
+
if (idx !== -1) {
|
|
423
|
+
instances.splice(idx, 1);
|
|
424
|
+
}
|
|
425
|
+
return idx;
|
|
426
|
+
};
|
|
427
|
+
const initInstance = (id, props, message2) => {
|
|
428
|
+
const container = document.createElement("div");
|
|
429
|
+
container.id = id;
|
|
430
|
+
const app = createApp({
|
|
431
|
+
setup() {
|
|
432
|
+
onUnmounted(() => {
|
|
433
|
+
document.body.removeChild(container);
|
|
434
|
+
});
|
|
435
|
+
return () => createVNode(Message$1, mergeProps(props, {
|
|
436
|
+
"id": id,
|
|
437
|
+
"onDestroy": app.unmount
|
|
438
|
+
}), _isSlot(message2) ? message2 : {
|
|
439
|
+
default: () => [message2]
|
|
440
|
+
});
|
|
441
|
+
}
|
|
442
|
+
});
|
|
443
|
+
document.body.appendChild(container);
|
|
444
|
+
app.mount(container);
|
|
445
|
+
return {
|
|
446
|
+
id,
|
|
447
|
+
props
|
|
448
|
+
};
|
|
449
|
+
};
|
|
450
|
+
const defaultOptions = {
|
|
451
|
+
duration: 3e3,
|
|
452
|
+
type: "normal"
|
|
453
|
+
};
|
|
454
|
+
const normalizeOptions = (params) => {
|
|
455
|
+
const options = !params || isString(params) ? {
|
|
456
|
+
message: params
|
|
457
|
+
} : params;
|
|
458
|
+
const normalized = {
|
|
459
|
+
...defaultOptions,
|
|
460
|
+
...options
|
|
461
|
+
};
|
|
462
|
+
return normalized;
|
|
463
|
+
};
|
|
464
|
+
let seed = 0;
|
|
465
|
+
function open(options) {
|
|
466
|
+
const originOnClose = options.onClose || null;
|
|
467
|
+
const messageContent = options.message;
|
|
468
|
+
delete options.message;
|
|
469
|
+
const props = reactive({
|
|
470
|
+
...defaultOptions,
|
|
471
|
+
...options,
|
|
472
|
+
onClose: () => {
|
|
473
|
+
props.visible = false;
|
|
474
|
+
deleteInstance(props.id);
|
|
475
|
+
originOnClose == null ? void 0 : originOnClose();
|
|
476
|
+
}
|
|
477
|
+
});
|
|
478
|
+
seed++;
|
|
479
|
+
const id = `message_${seed}`;
|
|
480
|
+
props.id = id;
|
|
481
|
+
const messageContext = initInstance(id, props, messageContent);
|
|
482
|
+
instances.push(messageContext);
|
|
483
|
+
props.visible = true;
|
|
484
|
+
}
|
|
485
|
+
function message(params) {
|
|
486
|
+
const options = normalizeOptions(params);
|
|
487
|
+
open({
|
|
488
|
+
...options
|
|
489
|
+
});
|
|
490
|
+
}
|
|
491
|
+
function success(params) {
|
|
492
|
+
const options = normalizeOptions(params);
|
|
493
|
+
open({
|
|
494
|
+
...options,
|
|
495
|
+
type: "success"
|
|
496
|
+
});
|
|
497
|
+
}
|
|
498
|
+
function error(params) {
|
|
499
|
+
const options = normalizeOptions(params);
|
|
500
|
+
open({
|
|
501
|
+
...options,
|
|
502
|
+
type: "error"
|
|
503
|
+
});
|
|
504
|
+
}
|
|
505
|
+
function warning(params) {
|
|
506
|
+
const options = normalizeOptions(params);
|
|
507
|
+
open({
|
|
508
|
+
...options,
|
|
509
|
+
type: "warning"
|
|
510
|
+
});
|
|
511
|
+
}
|
|
512
|
+
function info(params) {
|
|
513
|
+
const options = normalizeOptions(params);
|
|
514
|
+
open({
|
|
515
|
+
...options,
|
|
516
|
+
type: "info"
|
|
517
|
+
});
|
|
518
|
+
}
|
|
519
|
+
const Message = Object.assign(message, {
|
|
520
|
+
success,
|
|
521
|
+
error,
|
|
522
|
+
warning,
|
|
523
|
+
info
|
|
524
|
+
});
|
|
525
|
+
var index = {
|
|
526
|
+
title: "Message \u5168\u5C40\u63D0\u793A",
|
|
527
|
+
category: "\u53CD\u9988",
|
|
528
|
+
status: "100%",
|
|
529
|
+
install(app) {
|
|
530
|
+
app.config.globalProperties.$message = Message;
|
|
531
|
+
}
|
|
532
|
+
};
|
|
533
|
+
export { Message, index as default, messageProps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(f,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(f=typeof globalThis!="undefined"?globalThis:f||self,e(f.index={},f.Vue))})(this,function(f,e){"use strict";const M=n=>typeof n=="string",P={name:{type:String,default:"",required:!0},size:{type:[Number,String],default:"inherit"},color:{type:String,default:"inherit"},component:{type:Object,default:null},classPrefix:{type:String,default:"icon"},operable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},rotate:{type:[Number,String]}},T={name:{type:String,default:"",required:!0},color:{type:String,default:"inherit"},size:{type:[Number,String],default:"inherit"}};function w(n,t,s){let o=n;return t&&(o+=`__${t}`),s&&(o+=`--${s}`),o}function p(n,t=!1){const s=t?`.devui-${n}`:`devui-${n}`;return{b:()=>w(s),e:l=>l?w(s,l):"",m:l=>l?w(s,"",l):"",em:(l,u)=>l&&u?w(s,l,u):""}}var ae="",B=e.defineComponent({name:"DSvgIcon",props:T,setup(n){const{name:t,color:s,size:o}=e.toRefs(n),c=p("svg-icon"),a=e.computed(()=>`#icon-${t.value}`),m=e.computed(()=>typeof o.value=="number"?`${o.value}px`:o.value),l={width:m.value,height:m.value};return()=>e.createVNode("svg",{class:c.b(),style:l},[e.createVNode("use",{"xlink:href":a.value,fill:s.value},null)])}});function L(n){return/^((http|https):)?\/\//.test(n)}function _(n,t){const{component:s,name:o,size:c,color:a,classPrefix:m,rotate:l}=e.toRefs(n),u=p("icon"),r=e.computed(()=>typeof c.value=="number"?`${c.value}px`:c.value),d=s.value?e.resolveDynamicComponent(s.value):e.resolveDynamicComponent(B),g=()=>e.createVNode("img",e.mergeProps({src:o.value,alt:o.value.split("/")[o.value.split("/").length-1],class:[(l==null?void 0:l.value)==="infinite"&&u.m("spin")],style:{width:r.value||"",transform:`rotate(${l==null?void 0:l.value}deg)`,verticalAlign:"middle"}},t.attrs),null),C=()=>e.createVNode(d,e.mergeProps({name:o.value,color:a.value,size:r.value,class:[(l==null?void 0:l.value)==="infinite"&&u.m("spin")],style:{transform:`rotate(${l==null?void 0:l.value}deg)`}},t.attrs),null),b=()=>{const V=/^icon-/.test(o.value)?o.value:`${m.value}-${o.value}`;return e.createVNode("i",e.mergeProps({class:[m.value,V,(l==null?void 0:l.value)==="infinite"&&u.m("spin")],style:{fontSize:r.value,color:a.value,transform:`rotate(${l==null?void 0:l.value}deg)`}},t.attrs),null)};return{iconDom:()=>s.value?C():L(o.value)?g():b()}}var k=e.defineComponent({name:"DIcon",props:P,emits:["click"],setup(n,t){const{disabled:s,operable:o}=e.toRefs(n),{iconDom:c}=_(n,t),a=p("icon"),m=e.computed(()=>({[a.e("container")]:!0,[a.m("disabled")]:s.value,[a.m("operable")]:o.value})),l=u=>{s.value||t.emit("click",u)};return()=>{var u,r,d,g;return e.createVNode("div",{class:m.value,onClick:l},[(r=(u=t.slots).prefix)==null?void 0:r.call(u),c(),(g=(d=t.slots).suffix)==null?void 0:g.call(d)])}}}),ce="";e.defineComponent({name:"DIconGroup",setup(n,t){const s=p("icon-group");return()=>{var o,c;return e.createVNode("div",{class:s.b()},[(c=(o=t.slots).default)==null?void 0:c.call(o)])}}});var A=e.defineComponent({emits:["click"],setup(n,{emit:t}){const s=p("message");return()=>e.createVNode("div",{class:s.e("icon-close"),onClick:o=>t("click",o)},[e.createVNode(k,{name:"close",size:"14px"},null)])}});const I={id:{type:String,default:""},visible:{type:Boolean,default:!1},message:{type:String,default:""},type:{type:String,default:"normal"},bordered:{type:Boolean,default:!0},shadow:{type:Boolean,default:!0},duration:{type:Number,default:3e3},showClose:{type:Boolean,default:!1},onClose:{type:Function}},N=p("message");function O(){return e.createVNode("svg",{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",class:N.e("icon")},[e.createVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.272 38.272 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336L456.192 600.384z"},null)])}function R(){return e.createVNode("svg",{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",class:N.e("icon")},[e.createVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm0 192a58.432 58.432 0 0 0-58.24 63.744l23.36 256.384a35.072 35.072 0 0 0 69.76 0l23.296-256.384A58.432 58.432 0 0 0 512 256zm0 512a51.2 51.2 0 1 0 0-102.4 51.2 51.2 0 0 0 0 102.4z"},null)])}function j(){return e.createVNode("svg",{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",class:N.e("icon")},[e.createVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896.064A448 448 0 0 1 512 64zm67.2 275.072c33.28 0 60.288-23.104 60.288-57.344s-27.072-57.344-60.288-57.344c-33.28 0-60.16 23.104-60.16 57.344s26.88 57.344 60.16 57.344zM590.912 699.2c0-6.848 2.368-24.64 1.024-34.752l-52.608 60.544c-10.88 11.456-24.512 19.392-30.912 17.28a12.992 12.992 0 0 1-8.256-14.72l87.68-276.992c7.168-35.136-12.544-67.2-54.336-71.296-44.096 0-108.992 44.736-148.48 101.504 0 6.784-1.28 23.68.064 33.792l52.544-60.608c10.88-11.328 23.552-19.328 29.952-17.152a12.8 12.8 0 0 1 7.808 16.128L388.48 728.576c-10.048 32.256 8.96 63.872 55.04 71.04 67.84 0 107.904-43.648 147.456-100.416z"},null)])}function E(){return e.createVNode("svg",{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",class:N.e("icon")},[e.createVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336L512 457.664z"},null)])}var re="",F=e.defineComponent({name:"DMessage",props:I,emits:["destroy","close"],setup(n,{emit:t,slots:s}){const{visible:o,message:c,type:a,bordered:m,shadow:l,showClose:u}=e.toRefs(n),r=p("message");let d=null,g;const C=()=>{t("destroy")},b=()=>{var i;d&&clearTimeout(d),d=null,(i=n.onClose)==null||i.call(n)},D=()=>{d&&(clearTimeout(d),d=null)},V=()=>{if(n.visible){const i=n.duration-(Date.now()-g);d=setTimeout(b,i)}};e.watch(()=>n.visible,i=>{i&&(g=Date.now(),n.duration&&(d=setTimeout(b,n.duration)))});const Z=e.computed(()=>({[r.b()]:!0,[r.m(a.value)]:!0})),ee=e.computed(()=>q(n.id)),ne=e.computed(()=>{const i={};return m.value||(i.border="none"),l.value||(i["box-shadow"]="none"),{...i,top:`${ee.value}px`}}),te=e.computed(()=>{const i=e.computed(()=>({[r.e("image")]:!0,[r.em("image",a.value)]:!0}));return!(!a.value||a.value==="normal")&&e.createVNode("span",{class:i.value},[a.value&&(a.value==="success"&&e.createVNode(O,null,null)||a.value==="info"&&e.createVNode(j,null,null)||a.value==="warning"&&e.createVNode(R,null,null)||a.value==="error"&&e.createVNode(E,null,null))])}),oe=e.computed(()=>{var $;const i=e.computed(()=>({[r.e("content")]:!0,[r.em("content",a.value)]:!0}));return e.createVNode("span",{class:i.value},[c.value?c.value:($=s.default)==null?void 0:$.call(s)])}),se=e.computed(()=>u.value&&e.createVNode("span",{class:[r.e("close")],onClick:b},[e.createVNode(A,null,null)]));return()=>e.createVNode(e.Transition,{name:"message-fade",onAfterLeave:C},{default:()=>[o.value&&e.createVNode("div",{class:Z.value,style:{...ne.value},onMouseenter:D,onMouseleave:V},[te.value,oe.value,se.value])]})}});function U(n){return typeof n=="function"||Object.prototype.toString.call(n)==="[object Object]"&&!e.isVNode(n)}const h=e.shallowReactive([]),q=n=>h.findIndex(s=>s.id===n)*65+80,G=n=>{const t=h.findIndex(s=>s.id===n);return t!==-1&&h.splice(t,1),t},X=(n,t,s)=>{const o=document.createElement("div");o.id=n;const c=e.createApp({setup(){return e.onUnmounted(()=>{document.body.removeChild(o)}),()=>e.createVNode(F,e.mergeProps(t,{id:n,onDestroy:c.unmount}),U(s)?s:{default:()=>[s]})}});return document.body.appendChild(o),c.mount(o),{id:n,props:t}},x={duration:3e3,type:"normal"},v=n=>{const t=!n||M(n)?{message:n}:n;return{...x,...t}};let z=0;function y(n){const t=n.onClose||null,s=n.message;delete n.message;const o=e.reactive({...x,...n,onClose:()=>{o.visible=!1,G(o.id),t==null||t()}});z++;const c=`message_${z}`;o.id=c;const a=X(c,o,s);h.push(a),o.visible=!0}function W(n){const t=v(n);y({...t})}function H(n){const t=v(n);y({...t,type:"success"})}function J(n){const t=v(n);y({...t,type:"error"})}function K(n){const t=v(n);y({...t,type:"warning"})}function Q(n){const t=v(n);y({...t,type:"info"})}const S=Object.assign(W,{success:H,error:J,warning:K,info:Q});var Y={title:"Message \u5168\u5C40\u63D0\u793A",category:"\u53CD\u9988",status:"100%",install(n){n.config.globalProperties.$message=S}};f.Message=S,f.default=Y,f.messageProps=I,Object.defineProperties(f,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.devui-icon__container{display:inline-block;color:var(--devui-icon-fill, #71757f)}.devui-icon__container>*:not(:last-child){vertical-align:middle;margin-right:8px}.devui-icon__container i{vertical-align:middle;transition:all var(--devui-animation-duration-slow, .3s) var(--devui-animation-ease-in-out-smooth, cubic-bezier(.645, .045, .355, 1))}.devui-icon--disabled{color:var(--devui-disabled-text, #adb0b8);cursor:not-allowed}.devui-icon--disabled i{color:var(--devui-disabled-text, #adb0b8)}.devui-icon--operable:not(.devui-icon--disabled){cursor:pointer;transition:color var(--devui-animation-duration-slow, .3s) var(--devui-animation-ease-in-out-smooth, cubic-bezier(.645, .045, .355, 1))}.devui-icon--operable:not(.devui-icon--disabled) i{cursor:pointer}.devui-icon--operable:hover:not(.devui-icon--disabled){color:var(--devui-icon-fill-hover, #252b3a)}.devui-icon--operable:hover:not(.devui-icon--disabled).devui-icon__container{background-color:var(--devui-icon-background-hover, var(--devui-list-item-hover-bg, #f2f2f3))}.devui-icon--operable:hover:not(.devui-icon--disabled) i{color:var(--devui-icon-fill-hover, #252b3a)}.devui-icon--operable:active:not(.devui-icon--disabled){color:var(--devui-icon-active-color, var(--devui-icon-fill-active, #252b3a))}.devui-icon--operable:active:not(.devui-icon--disabled).devui-icon__container{background-color:var(--devui-icon-background-active, var(--devui-list-item-active-bg, #f2f5fc))}.devui-icon--operable:active:not(.devui-icon--disabled) i{color:var(--devui-icon-active-color, var(--devui-icon-fill-active, #252b3a))}.devui-icon--operable.devui-icon__container{height:32px;line-height:32px;padding:0 8px;margin-left:-8px;border-radius:var(--devui-border-radius, 4px);transition:all var(--devui-animation-duration-slow, .3s) var(--devui-animation-ease-in-out-smooth, cubic-bezier(.645, .045, .355, 1))}.devui-icon--spin{animation:iconSpin 2.5s linear infinite}.devui-svg-icon{vertical-align:middle}@keyframes iconSpin{0%{transform:rotate(0)}50%{transform:rotate(180deg)}to{transform:rotate(360deg)}}.devui-icon-group{display:inline-flex;align-items:center}.devui-icon-group>.devui-icon__container:not(.devui-icon--operable){padding:8px;margin-left:0}.devui-icon-group>.devui-icon__container:not(.devui-icon--operable):first-child{margin-left:-8px}.devui-icon-group>*:not(:first-child){margin-left:0}.devui-message{position:fixed;z-index:var(--devui-z-index-modal, 1079);padding:10px 15px;border-radius:var(--devui-border-radius-feedback, 4px);left:50%;transform:translate(-50%);top:80px;display:flex;align-items:center;border-width:1px;border-style:solid;border-color:var(--devui-line, #d7d8da);box-shadow:0 3px 6px -4px #0000001f,0 6px 16px #00000014,0 9px 28px 8px #0000000d;background-color:var(--devui-base-bg, #ffffff);transition:top .5s ease}.devui-message--success{background-color:var(--devui-success-bg, #edfff9);border-color:var(--devui-success-line, #50d4ab)}.devui-message--info{background-color:var(--devui-info-bg, #f2f5fc);border-color:var(--devui-info-line, #5e7ce0)}.devui-message--warning{background-color:var(--devui-warning-bg, #fff3e8);border-color:var(--devui-warning-line, #fa9841)}.devui-message--error{background-color:var(--devui-danger-bg, #ffeeed);border-color:var(--devui-danger-line, #f66f6a)}.devui-message__close{margin-left:auto;padding-left:10px;margin-top:-2px}.devui-message__image{margin-top:1px;display:inline-block;width:var(--devui-font-size-icon, 16px);min-width:var(--devui-font-size-icon, 16px);min-height:var(--devui-font-size-icon, 16px);height:var(--devui-font-size-icon, 16px);padding:0;line-height:1;margin-right:10px}.devui-message__image--success{color:var(--devui-success, #50d4ab)}.devui-message__image--info{color:var(--devui-info, #5e7ce0)}.devui-message__image--warning{color:var(--devui-warning, #fac20a)}.devui-message__image--error{color:var(--devui-danger, #f66f6a)}.devui-message__content{font-size:var(--devui-font-size-page-title, 16px);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.devui-message__content--success{color:var(--devui-success, #50d4ab)}.devui-message__content--info{color:var(--devui-info, #5e7ce0)}.devui-message__content--warning{color:var(--devui-warning, #fac20a)}.devui-message__content--error{color:var(--devui-danger, #f66f6a)}.message-fade-enter-active,.message-fade-leave-active{transform:translate(-50%);transition:all .5s ease}.message-fade-enter-from,.message-fade-leave-to{opacity:0;transform:translate(-50%,-200%)}
|