sh-view 1.5.2
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/.eslintrc.js +21 -0
- package/README.en.md +36 -0
- package/README.md +39 -0
- package/package.json +64 -0
- package/packages/assets/css/animated.scss +33 -0
- package/packages/assets/css/loader.scss +193 -0
- package/packages/assets/css/main.scss +235 -0
- package/packages/assets/css/theme.scss +52 -0
- package/packages/assets/icons/demo.css +539 -0
- package/packages/assets/icons/iconfont.css +415 -0
- package/packages/assets/icons/iconfont.js +1 -0
- package/packages/assets/icons/iconfont.json +709 -0
- package/packages/assets/icons/iconfont.ttf +0 -0
- package/packages/assets/icons/iconfont.woff +0 -0
- package/packages/assets/icons/iconfont.woff2 +0 -0
- package/packages/assets/img/image-error.png +0 -0
- package/packages/assets/img/square-image.png +0 -0
- package/packages/components/global-components/sh-card/index.vue +122 -0
- package/packages/components/global-components/sh-code-editor/index.vue +237 -0
- package/packages/components/global-components/sh-corner/index.vue +236 -0
- package/packages/components/global-components/sh-count-to/index.vue +46 -0
- package/packages/components/global-components/sh-empty/index.vue +43 -0
- package/packages/components/global-components/sh-header/index.vue +269 -0
- package/packages/components/global-components/sh-icon/icons.vue +32 -0
- package/packages/components/global-components/sh-icon/index.vue +27 -0
- package/packages/components/global-components/sh-iv-form/components/iv-group-item.vue +57 -0
- package/packages/components/global-components/sh-iv-form/components/iv-single-item.vue +76 -0
- package/packages/components/global-components/sh-iv-form/index.vue +255 -0
- package/packages/components/global-components/sh-layout/index.vue +142 -0
- package/packages/components/global-components/sh-loading/index.vue +42 -0
- package/packages/components/global-components/sh-noticebar/index.vue +201 -0
- package/packages/components/global-components/sh-preview/index.vue +62 -0
- package/packages/components/global-components/sh-pull-refresh/index.vue +290 -0
- package/packages/components/global-components/sh-result/index.vue +88 -0
- package/packages/components/global-components/sh-sheet/index.vue +173 -0
- package/packages/components/global-components/sh-upload/components/u-img.vue +63 -0
- package/packages/components/global-components/sh-upload/components/u-list.vue +100 -0
- package/packages/components/global-components/sh-upload/index.vue +418 -0
- package/packages/components/global-components/sh-vxe-form/components/form-item.vue +25 -0
- package/packages/components/global-components/sh-vxe-form/css/index.scss +55 -0
- package/packages/components/global-components/sh-vxe-form/index.vue +115 -0
- package/packages/components/global-components/sh-vxe-form/js/methods.js +170 -0
- package/packages/components/global-components/sh-vxe-form/js/props.js +63 -0
- package/packages/components/global-components/sh-vxe-form/mixin/defaultData.js +33 -0
- package/packages/components/global-components/sh-vxe-list/index.vue +129 -0
- package/packages/components/global-components/sh-vxe-modal/index.vue +209 -0
- package/packages/components/global-components/sh-vxe-query/index.vue +286 -0
- package/packages/components/global-components/sh-vxe-table/components/importModal.vue +377 -0
- package/packages/components/global-components/sh-vxe-table/css/index.scss +94 -0
- package/packages/components/global-components/sh-vxe-table/index.vue +350 -0
- package/packages/components/global-components/sh-vxe-table/js/excel_to_json.js +313 -0
- package/packages/components/global-components/sh-vxe-table/js/methods.js +614 -0
- package/packages/components/global-components/sh-vxe-table/js/props.js +311 -0
- package/packages/components/global-components/sh-vxe-table/mixin/defaultData.js +116 -0
- package/packages/components/global-components/sh-vxe-toolbar/index.vue +172 -0
- package/packages/components/global-components/sh-vxe-tree/components/table-tree.vue +251 -0
- package/packages/components/global-components/sh-vxe-tree/css/index.scss +20 -0
- package/packages/components/global-components/sh-vxe-tree/index.vue +85 -0
- package/packages/components/global-components/sh-vxe-tree/js/props.js +120 -0
- package/packages/components/global-components/sh-vxe-tree/js/treeMethods.js +171 -0
- package/packages/components/global-components/sh-vxe-tree/mixin/defaultData.js +48 -0
- package/packages/components/global-components/sh-vxe-tree/vxe-direct-tree.vue +202 -0
- package/packages/components/global-components/sh-vxe-tree/vxe-select-tree.vue +291 -0
- package/packages/components/global-components/sh-water-fall/index.vue +87 -0
- package/packages/components/global-components/sh-word/index.vue +110 -0
- package/packages/components/index.js +64 -0
- package/packages/components/other-components/sh-cron-modal/components/cron-content.vue +287 -0
- package/packages/components/other-components/sh-cron-modal/css/index.scss +45 -0
- package/packages/components/other-components/sh-cron-modal/index.vue +67 -0
- package/packages/components/other-components/sh-cron-modal/mixin/cron-box.js +169 -0
- package/packages/components/other-components/sh-cron-modal/tabs/cron-day-box.vue +92 -0
- package/packages/components/other-components/sh-cron-modal/tabs/cron-hour-box.vue +56 -0
- package/packages/components/other-components/sh-cron-modal/tabs/cron-minute-box.vue +56 -0
- package/packages/components/other-components/sh-cron-modal/tabs/cron-month-box.vue +56 -0
- package/packages/components/other-components/sh-cron-modal/tabs/cron-second-box.vue +56 -0
- package/packages/components/other-components/sh-cron-modal/tabs/cron-week-box.vue +115 -0
- package/packages/components/other-components/sh-cron-modal/tabs/cron-year-box.vue +46 -0
- package/packages/components/other-components/sh-cron-modal/utils/index.js +52 -0
- package/packages/components/other-components/sh-markdown/index.vue +170 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/ar.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/az.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/bg_BG.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/bn_BD.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/ca.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/cs.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/cy.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/da.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/de.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/dv.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/el.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/eo.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/es.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/es_MX.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/et.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/eu.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/fa.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/fi.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/fr_FR.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/ga.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/gl.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/he_IL.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/hi.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/hr.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/hu_HU.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/hy.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/id.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/is_IS.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/it.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/ja.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/kab.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/kk.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/ko_KR.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/ku.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/lt.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/lv.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/nb_NO.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/ne.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/nl.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/nl_BE.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/oc.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/pl.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/pt_BR.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/ro.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/ru.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/sk.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/sl_SI.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/sq.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/sr.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/sv_SE.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/ta.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/tg.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/th_TH.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/tr.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/ug.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/uk.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/vi.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/langs/zh-Hans.js +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/content/dark/content.css +72 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/content/dark/content.min.css +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/content/default/content.css +67 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/content/default/content.min.css +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/content/document/content.css +72 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/content/document/content.min.css +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/content/writer/content.css +68 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/content/writer/content.min.css +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/content.css +732 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/content.inline.css +726 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/content.inline.min.css +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/content.min.css +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/content.mobile.css +29 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/content.mobile.min.css +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff +0 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/skin.css +3047 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/skin.min.css +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/skin.mobile.css +673 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/skin.mobile.min.css +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/skin.shadowdom.css +37 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide/skin.shadowdom.min.css +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.css +714 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.inline.css +726 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.inline.min.css +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.min.css +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.mobile.css +29 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.mobile.min.css +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff +0 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.css +3047 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.min.css +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.mobile.css +673 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.mobile.min.css +7 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.shadowdom.css +37 -0
- package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css +7 -0
- package/packages/components/other-components/sh-menu-card/index.vue +224 -0
- package/packages/components/other-components/sh-menu-card/menu-box.vue +68 -0
- package/packages/components/other-components/sh-system-tip/index.vue +113 -0
- package/packages/css/index.js +6 -0
- package/packages/directive/directives.js +27 -0
- package/packages/directive/index.js +19 -0
- package/packages/directive/module/draggable.js +42 -0
- package/packages/index.js +40 -0
- package/packages/iview/css/index.scss +32 -0
- package/packages/iview/index.js +24 -0
- package/packages/mixin/index.js +87 -0
- package/packages/vxeTable/css/index.scss +454 -0
- package/packages/vxeTable/css/variable.scss +256 -0
- package/packages/vxeTable/index.js +178 -0
- package/packages/vxeTable/render/cell/vxe-render-checkbox.vue +19 -0
- package/packages/vxeTable/render/cell/vxe-render-checkgroup.vue +36 -0
- package/packages/vxeTable/render/cell/vxe-render-code.vue +19 -0
- package/packages/vxeTable/render/cell/vxe-render-goption.vue +93 -0
- package/packages/vxeTable/render/cell/vxe-render-href.vue +11 -0
- package/packages/vxeTable/render/cell/vxe-render-img.vue +28 -0
- package/packages/vxeTable/render/cell/vxe-render-input.vue +51 -0
- package/packages/vxeTable/render/cell/vxe-render-money.vue +25 -0
- package/packages/vxeTable/render/cell/vxe-render-progress.vue +19 -0
- package/packages/vxeTable/render/cell/vxe-render-radio.vue +19 -0
- package/packages/vxeTable/render/cell/vxe-render-radiogroup.vue +36 -0
- package/packages/vxeTable/render/cell/vxe-render-select.vue +36 -0
- package/packages/vxeTable/render/cell/vxe-render-switch.vue +19 -0
- package/packages/vxeTable/render/cell/vxe-render-table.vue +78 -0
- package/packages/vxeTable/render/cell/vxe-render-textarea.vue +19 -0
- package/packages/vxeTable/render/cell/vxe-render-time.vue +34 -0
- package/packages/vxeTable/render/cell/vxe-render-tree.vue +59 -0
- package/packages/vxeTable/render/cell/vxe-render-upload.vue +24 -0
- package/packages/vxeTable/render/filters/vxe-filter-input.vue +43 -0
- package/packages/vxeTable/render/footer/vxe-footer-input.vue +13 -0
- package/packages/vxeTable/render/footer/vxe-footer-money.vue +20 -0
- package/packages/vxeTable/render/globalRenders.js +491 -0
- package/packages/vxeTable/render/header/vxe-header-money.vue +21 -0
- package/packages/vxeTable/render/mixin/cell-mixin.js +195 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
|
|
3
|
+
* Licensed under the LGPL or a commercial license.
|
|
4
|
+
* For LGPL see License.txt in the project root for license information.
|
|
5
|
+
* For commercial licenses see https://www.tiny.cloud/
|
|
6
|
+
*/
|
|
7
|
+
.tinymce-mobile-outer-container{all:initial;display:block}.tinymce-mobile-outer-container *{border:0;box-sizing:initial;cursor:inherit;float:none;line-height:1;margin:0;outline:0;padding:0;-webkit-tap-highlight-color:transparent;text-shadow:none;white-space:nowrap}.tinymce-mobile-icon-arrow-back::before{content:"\e5cd"}.tinymce-mobile-icon-image::before{content:"\e412"}.tinymce-mobile-icon-cancel-circle::before{content:"\e5c9"}.tinymce-mobile-icon-full-dot::before{content:"\e061"}.tinymce-mobile-icon-align-center::before{content:"\e234"}.tinymce-mobile-icon-align-left::before{content:"\e236"}.tinymce-mobile-icon-align-right::before{content:"\e237"}.tinymce-mobile-icon-bold::before{content:"\e238"}.tinymce-mobile-icon-italic::before{content:"\e23f"}.tinymce-mobile-icon-unordered-list::before{content:"\e241"}.tinymce-mobile-icon-ordered-list::before{content:"\e242"}.tinymce-mobile-icon-font-size::before{content:"\e245"}.tinymce-mobile-icon-underline::before{content:"\e249"}.tinymce-mobile-icon-link::before{content:"\e157"}.tinymce-mobile-icon-unlink::before{content:"\eca2"}.tinymce-mobile-icon-color::before{content:"\e891"}.tinymce-mobile-icon-previous::before{content:"\e314"}.tinymce-mobile-icon-next::before{content:"\e315"}.tinymce-mobile-icon-large-font::before,.tinymce-mobile-icon-style-formats::before{content:"\e264"}.tinymce-mobile-icon-undo::before{content:"\e166"}.tinymce-mobile-icon-redo::before{content:"\e15a"}.tinymce-mobile-icon-removeformat::before{content:"\e239"}.tinymce-mobile-icon-small-font::before{content:"\e906"}.tinymce-mobile-format-matches::after,.tinymce-mobile-icon-readonly-back::before{content:"\e5ca"}.tinymce-mobile-icon-small-heading::before{content:"small"}.tinymce-mobile-icon-large-heading::before{content:"large"}.tinymce-mobile-icon-large-heading::before,.tinymce-mobile-icon-small-heading::before{font-family:sans-serif;font-size:80%}.tinymce-mobile-mask-edit-icon::before{content:"\e254"}.tinymce-mobile-icon-back::before{content:"\e5c4"}.tinymce-mobile-icon-heading::before{content:"Headings";font-family:sans-serif;font-size:80%;font-weight:700}.tinymce-mobile-icon-h1::before{content:"H1";font-weight:700}.tinymce-mobile-icon-h2::before{content:"H2";font-weight:700}.tinymce-mobile-icon-h3::before{content:"H3";font-weight:700}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask{align-items:center;display:flex;justify-content:center;background:rgba(51,51,51,.5);height:100%;position:absolute;top:0;width:100%}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container{align-items:center;border-radius:50%;display:flex;flex-direction:column;font-family:sans-serif;font-size:1em;justify-content:space-between}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .mixin-menu-item{align-items:center;display:flex;justify-content:center;border-radius:50%;height:2.1em;width:2.1em}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section{align-items:center;display:flex;justify-content:center;flex-direction:column;font-size:1em}@media only screen and (min-device-width:700px){.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section{font-size:1.2em}}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon{align-items:center;display:flex;justify-content:center;border-radius:50%;height:2.1em;width:2.1em;background-color:#fff;color:#207ab7}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon::before{content:"\e900";font-family:tinymce-mobile,sans-serif}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section:not(.tinymce-mobile-mask-tap-icon-selected) .tinymce-mobile-mask-tap-icon{z-index:2}.tinymce-mobile-android-container.tinymce-mobile-android-maximized{background:#fff;border:none;bottom:0;display:flex;flex-direction:column;left:0;position:fixed;right:0;top:0}.tinymce-mobile-android-container:not(.tinymce-mobile-android-maximized){position:relative}.tinymce-mobile-android-container .tinymce-mobile-editor-socket{display:flex;flex-grow:1}.tinymce-mobile-android-container .tinymce-mobile-editor-socket iframe{display:flex!important;flex-grow:1;height:auto!important}.tinymce-mobile-android-scroll-reload{overflow:hidden}:not(.tinymce-mobile-readonly-mode)>.tinymce-mobile-android-selection-context-toolbar{margin-top:23px}.tinymce-mobile-toolstrip{background:#fff;display:flex;flex:0 0 auto;z-index:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar{align-items:center;background-color:#fff;border-bottom:1px solid #ccc;display:flex;flex:1;height:2.5em;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group{align-items:center;display:flex;height:100%;flex-shrink:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group>div{align-items:center;display:flex;height:100%;flex:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-exit-container{background:#f44336}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-toolbar-scrollable-group{flex-grow:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item{padding-left:.5em;padding-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button{align-items:center;display:flex;height:80%;margin-left:2px;margin-right:2px}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button.tinymce-mobile-toolbar-button-selected{background:#c8cbcf;color:#ccc}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:first-of-type,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:last-of-type{background:#207ab7;color:#eceff1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group{align-items:center;display:flex;height:100%;flex:1;padding-bottom:.4em;padding-top:.4em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog{display:flex;min-height:1.5em;overflow:hidden;padding-left:0;padding-right:0;position:relative;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain{display:flex;height:100%;transition:left cubic-bezier(.4,0,1,1) .15s;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen{display:flex;flex:0 0 auto;justify-content:space-between;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen input{font-family:Sans-serif}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container{display:flex;flex-grow:1;position:relative}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container .tinymce-mobile-input-container-x{-ms-grid-row-align:center;align-self:center;background:inherit;border:none;border-radius:50%;color:#888;font-size:.6em;font-weight:700;height:100%;padding-right:2px;position:absolute;right:0}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container.tinymce-mobile-input-container-empty .tinymce-mobile-input-container-x{display:none}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous{align-items:center;display:flex}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous::before{align-items:center;display:flex;font-weight:700;height:100%;padding-left:.5em;padding-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next.tinymce-mobile-toolbar-navigation-disabled::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous.tinymce-mobile-toolbar-navigation-disabled::before{visibility:hidden}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item{color:#ccc;font-size:10px;line-height:10px;margin:0 2px;padding-top:3px}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item.tinymce-mobile-dot-active{color:#c8cbcf}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-font::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-heading::before{margin-left:.5em;margin-right:.9em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-font::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-heading::before{margin-left:.9em;margin-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider{display:flex;flex:1;margin-left:0;margin-right:0;padding:.28em 0;position:relative}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container{align-items:center;display:flex;flex-grow:1;height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container .tinymce-mobile-slider-size-line{background:#ccc;display:flex;flex:1;height:.2em;margin-bottom:.3em;margin-top:.3em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container{padding-left:2em;padding-right:2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container{align-items:center;display:flex;flex-grow:1;height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container .tinymce-mobile-slider-gradient{background:linear-gradient(to right,red 0,#feff00 17%,#0f0 33%,#00feff 50%,#00f 67%,#ff00fe 83%,red 100%);display:flex;flex:1;height:.2em;margin-bottom:.3em;margin-top:.3em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-black{background:#000;height:.2em;margin-bottom:.3em;margin-top:.3em;width:1.2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-white{background:#fff;height:.2em;margin-bottom:.3em;margin-top:.3em;width:1.2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb{align-items:center;background-clip:padding-box;background-color:#455a64;border:.5em solid rgba(136,136,136,0);border-radius:3em;bottom:0;color:#fff;display:flex;height:.5em;justify-content:center;left:-10px;margin:auto;position:absolute;top:0;transition:border 120ms cubic-bezier(.39,.58,.57,1);width:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb.tinymce-mobile-thumb-active{border:.5em solid rgba(136,136,136,.39)}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group>div{align-items:center;display:flex;height:100%;flex:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper{flex-direction:column;justify-content:center}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item{align-items:center;display:flex}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item:not(.tinymce-mobile-serialised-dialog){height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-container{display:flex}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input{background:#fff;border:none;border-radius:0;color:#455a64;flex-grow:1;font-size:.85em;padding-bottom:.1em;padding-left:5px;padding-top:.1em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::-webkit-input-placeholder{color:#888}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::placeholder{color:#888}.tinymce-mobile-dropup{background:#fff;display:flex;overflow:hidden;width:100%}.tinymce-mobile-dropup.tinymce-mobile-dropup-shrinking{transition:height .3s ease-out}.tinymce-mobile-dropup.tinymce-mobile-dropup-growing{transition:height .3s ease-in}.tinymce-mobile-dropup.tinymce-mobile-dropup-closed{flex-grow:0}.tinymce-mobile-dropup.tinymce-mobile-dropup-open:not(.tinymce-mobile-dropup-growing){flex-grow:1}.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:200px}@media only screen and (orientation:landscape){.tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:200px}}@media only screen and (min-device-width :320px) and (max-device-width :568px) and (orientation :landscape){.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:150px}}.tinymce-mobile-styles-menu{font-family:sans-serif;outline:4px solid #000;overflow:hidden;position:relative;width:100%}.tinymce-mobile-styles-menu [role=menu]{display:flex;flex-direction:column;height:100%;position:absolute;width:100%}.tinymce-mobile-styles-menu [role=menu].transitioning{transition:transform .5s ease-in-out}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item{border-bottom:1px solid #ddd;color:#455a64;cursor:pointer;display:flex;padding:1em 1em;position:relative}.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser .tinymce-mobile-styles-collapse-icon::before{color:#455a64;content:"\e314";font-family:tinymce-mobile,sans-serif}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-styles-item-is-menu::after{color:#455a64;content:"\e315";font-family:tinymce-mobile,sans-serif;padding-left:1em;padding-right:1em;position:absolute;right:0}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-format-matches::after{font-family:tinymce-mobile,sans-serif;padding-left:1em;padding-right:1em;position:absolute;right:0}.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser,.tinymce-mobile-styles-menu .tinymce-mobile-styles-separator{align-items:center;background:#fff;border-top:#455a64;color:#455a64;display:flex;min-height:2.5em;padding-left:1em;padding-right:1em}.tinymce-mobile-styles-menu [data-transitioning-destination=before][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state=before]{transform:translate(-100%)}.tinymce-mobile-styles-menu [data-transitioning-destination=current][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state=current]{transform:translate(0)}.tinymce-mobile-styles-menu [data-transitioning-destination=after][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state=after]{transform:translate(100%)}@font-face{font-family:tinymce-mobile;font-style:normal;font-weight:400;src:url(fonts/tinymce-mobile.woff?8x92w3) format('woff')}@media (min-device-width:700px){.tinymce-mobile-outer-container,.tinymce-mobile-outer-container input{font-size:25px}}@media (max-device-width:700px){.tinymce-mobile-outer-container,.tinymce-mobile-outer-container input{font-size:18px}}.tinymce-mobile-icon{font-family:tinymce-mobile,sans-serif}.mixin-flex-and-centre{align-items:center;display:flex;justify-content:center}.mixin-flex-bar{align-items:center;display:flex;height:100%}.tinymce-mobile-outer-container .tinymce-mobile-editor-socket iframe{background-color:#fff;width:100%}.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{background-color:#207ab7;border-radius:50%;bottom:1em;color:#fff;font-size:1em;height:2.1em;position:fixed;right:2em;width:2.1em;align-items:center;display:flex;justify-content:center}@media only screen and (min-device-width:700px){.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{font-size:1.2em}}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket{height:300px;overflow:hidden}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket iframe{height:100%}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-toolstrip{display:none}input[type=file]::-webkit-file-upload-button{display:none}@media only screen and (min-device-width :320px) and (max-device-width :568px) and (orientation :landscape){.tinymce-mobile-ios-container .tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{bottom:50%}}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
|
|
3
|
+
* Licensed under the LGPL or a commercial license.
|
|
4
|
+
* For LGPL see License.txt in the project root for license information.
|
|
5
|
+
* For commercial licenses see https://www.tiny.cloud/
|
|
6
|
+
*/
|
|
7
|
+
body.tox-dialog__disable-scroll {
|
|
8
|
+
overflow: hidden;
|
|
9
|
+
}
|
|
10
|
+
.tox-fullscreen {
|
|
11
|
+
border: 0;
|
|
12
|
+
height: 100%;
|
|
13
|
+
margin: 0;
|
|
14
|
+
overflow: hidden;
|
|
15
|
+
-ms-scroll-chaining: none;
|
|
16
|
+
overscroll-behavior: none;
|
|
17
|
+
padding: 0;
|
|
18
|
+
touch-action: pinch-zoom;
|
|
19
|
+
width: 100%;
|
|
20
|
+
}
|
|
21
|
+
.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle {
|
|
22
|
+
display: none;
|
|
23
|
+
}
|
|
24
|
+
.tox.tox-tinymce.tox-fullscreen,
|
|
25
|
+
.tox-shadowhost.tox-fullscreen {
|
|
26
|
+
left: 0;
|
|
27
|
+
position: fixed;
|
|
28
|
+
top: 0;
|
|
29
|
+
z-index: 1200;
|
|
30
|
+
}
|
|
31
|
+
.tox.tox-tinymce.tox-fullscreen {
|
|
32
|
+
background-color: transparent;
|
|
33
|
+
}
|
|
34
|
+
.tox-fullscreen .tox.tox-tinymce-aux,
|
|
35
|
+
.tox-fullscreen ~ .tox.tox-tinymce-aux {
|
|
36
|
+
z-index: 1201;
|
|
37
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
|
|
3
|
+
* Licensed under the LGPL or a commercial license.
|
|
4
|
+
* For LGPL see License.txt in the project root for license information.
|
|
5
|
+
* For commercial licenses see https://www.tiny.cloud/
|
|
6
|
+
*/
|
|
7
|
+
body.tox-dialog__disable-scroll{overflow:hidden}.tox-fullscreen{border:0;height:100%;margin:0;overflow:hidden;-ms-scroll-chaining:none;overscroll-behavior:none;padding:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox-shadowhost.tox-fullscreen,.tox.tox-tinymce.tox-fullscreen{left:0;position:fixed;top:0;z-index:1200}.tox.tox-tinymce.tox-fullscreen{background-color:transparent}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201}
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<Row :gutter="10">
|
|
3
|
+
<template v-for="(menuitem, menuindex) in resetRenderList(list)" :key="menuindex">
|
|
4
|
+
<Col v-bind="colsConfig">
|
|
5
|
+
<sh-card :icon="menuitem.icon" size="small" :title="menuitem.meta.title" :icon-size="18" :color="getMenuColor(menuindex)" :padding="8" class="menuCard">
|
|
6
|
+
<div :ref="`cardBtnsWrap${menuindex}`" class="cardBtnsWrap">
|
|
7
|
+
<template v-for="cardBtn in menuitem.buttons" :key="cardBtn.value">
|
|
8
|
+
<template v-if="menuitem.children && menuitem.children.length > 0">
|
|
9
|
+
<Poptip
|
|
10
|
+
v-model="cardBtn.visible"
|
|
11
|
+
transfer
|
|
12
|
+
:title="cardBtn.name"
|
|
13
|
+
:width="poptipWidth"
|
|
14
|
+
:placement="cardBtn.placement"
|
|
15
|
+
@on-popper-show="handleFocusBtn(cardBtn, menuindex)"
|
|
16
|
+
@on-popper-hide="handleBlurBtn(cardBtn, menuindex)">
|
|
17
|
+
<div class="cardBtn" :style="getCardStyle(menuindex, cardActive === cardBtn.value + menuindex)" @click="handleCardBtn($event, cardBtn, menuitem, menuindex)">
|
|
18
|
+
<sh-icon :type="cardBtn.icon" :size="16" class="mr-2" :color="getMenuColor(menuindex, cardActive === cardBtn.value + menuindex)" />
|
|
19
|
+
<span>{{ cardBtn.name }}</span>
|
|
20
|
+
<sh-corner v-if="getBudgeNum(menuitem, cardBtn)" v-bind="btnCornerConfig(cardBtn, menuitem, menuindex)"></sh-corner>
|
|
21
|
+
</div>
|
|
22
|
+
<template #content>
|
|
23
|
+
<div class="cardPoptipContent">
|
|
24
|
+
<menuBox v-if="cardActive.startsWith('menus')" :menu="menuitem" first></menuBox>
|
|
25
|
+
<sh-empty v-else></sh-empty>
|
|
26
|
+
</div>
|
|
27
|
+
</template>
|
|
28
|
+
</Poptip>
|
|
29
|
+
</template>
|
|
30
|
+
<template v-else>
|
|
31
|
+
<div class="cardBtn" :style="getCardStyle(menuindex, cardActive === cardBtn.value + menuindex)" @click="handleCardBtn($event, cardBtn, menuitem, menuindex)">
|
|
32
|
+
<sh-icon :type="cardBtn.icon" :size="16" class="mr-2" :color="getMenuColor(menuindex, cardActive === cardBtn.value + menuindex)" />
|
|
33
|
+
<span>{{ cardBtn.name }}</span>
|
|
34
|
+
<sh-corner v-if="getBudgeNum(menuitem, cardBtn)" v-bind="btnCornerConfig(cardBtn, menuitem, menuindex)"></sh-corner>
|
|
35
|
+
</div>
|
|
36
|
+
</template>
|
|
37
|
+
</template>
|
|
38
|
+
</div>
|
|
39
|
+
</sh-card>
|
|
40
|
+
</Col>
|
|
41
|
+
</template>
|
|
42
|
+
</Row>
|
|
43
|
+
</template>
|
|
44
|
+
|
|
45
|
+
<script>
|
|
46
|
+
import menuBox from './menu-box'
|
|
47
|
+
export default {
|
|
48
|
+
name: 'MenuCard',
|
|
49
|
+
components: {
|
|
50
|
+
menuBox
|
|
51
|
+
},
|
|
52
|
+
props: {
|
|
53
|
+
list: {
|
|
54
|
+
type: Array,
|
|
55
|
+
default() {
|
|
56
|
+
return []
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
menuColors: {
|
|
60
|
+
type: Array,
|
|
61
|
+
default() {
|
|
62
|
+
return [
|
|
63
|
+
{ default: '#e7f1ff', active: '#1890ff' },
|
|
64
|
+
{ default: '#FFEFEB', active: '#FF652E' },
|
|
65
|
+
{ default: '#F4F1FF', active: '#997BFF' },
|
|
66
|
+
{ default: '#E6F6F2', active: '#01A883' },
|
|
67
|
+
{ default: '#FFF6E8', active: '#FFA522' },
|
|
68
|
+
{ default: '#ffe5e5', active: '#e62340' },
|
|
69
|
+
{ default: '#dbffff', active: '#13C2C2' },
|
|
70
|
+
{ default: '#e2f1ff', active: '#003366' },
|
|
71
|
+
{ default: '#e6cdff', active: '#722ED1' },
|
|
72
|
+
{ default: '#ffccd6', active: '#ff5d7a' }
|
|
73
|
+
]
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
cardBtns: {
|
|
77
|
+
type: Array,
|
|
78
|
+
default() {
|
|
79
|
+
return [
|
|
80
|
+
{ name: '功能菜单', value: 'menus', icon: 'ios-apps' },
|
|
81
|
+
{ name: '操作指南', value: 'guides', icon: 'ios-navigate', placement: 'bottom-end' },
|
|
82
|
+
{ name: '待办事项', value: 'todo', icon: 'md-calendar' },
|
|
83
|
+
{ name: '已办事项', value: 'untodo', icon: 'ios-calendar', placement: 'bottom-end' }
|
|
84
|
+
]
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
data() {
|
|
89
|
+
return {
|
|
90
|
+
poptipWidth: 320,
|
|
91
|
+
cardActive: ''
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
computed: {
|
|
95
|
+
colsConfig() {
|
|
96
|
+
return {
|
|
97
|
+
xs: { span: 24 },
|
|
98
|
+
sm: { span: 24 },
|
|
99
|
+
md: { span: 12 },
|
|
100
|
+
lg: { span: 8 },
|
|
101
|
+
xl: { span: 8 },
|
|
102
|
+
xxl: { span: 6 }
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
methods: {
|
|
107
|
+
// 重新生成卡片列表
|
|
108
|
+
resetRenderList(list) {
|
|
109
|
+
return this.$vUtils.mapTree(list, item => {
|
|
110
|
+
return {
|
|
111
|
+
buttons: this.cardBtns.map(btn => {
|
|
112
|
+
return {
|
|
113
|
+
visible: false,
|
|
114
|
+
placement: 'bottom-start',
|
|
115
|
+
...btn
|
|
116
|
+
}
|
|
117
|
+
}),
|
|
118
|
+
...item
|
|
119
|
+
}
|
|
120
|
+
})
|
|
121
|
+
},
|
|
122
|
+
// 动态角标配置
|
|
123
|
+
btnCornerConfig(cardBtn, menuitem, menuindex) {
|
|
124
|
+
return {
|
|
125
|
+
title: this.getBudgeNum(menuitem, cardBtn),
|
|
126
|
+
dark: true,
|
|
127
|
+
width: '30',
|
|
128
|
+
height: '30',
|
|
129
|
+
color: this.getMenuColor(menuindex)
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
getMenuColor(menuindex, active) {
|
|
133
|
+
return this.getCardStyle(menuindex, true)[active ? 'color' : 'backgroundColor']
|
|
134
|
+
},
|
|
135
|
+
getCardStyle(index, active) {
|
|
136
|
+
let themeLength = this.menuColors.length
|
|
137
|
+
let backgroundColor = this.menuColors[index % themeLength][active ? 'active' : 'default']
|
|
138
|
+
let color = active ? '#fff' : ''
|
|
139
|
+
return { backgroundColor, color }
|
|
140
|
+
},
|
|
141
|
+
getBudgeNum(menu, card) {
|
|
142
|
+
switch (card.value) {
|
|
143
|
+
case 'menus':
|
|
144
|
+
return this.$vUtils.toTreeArray(menu.children || []).length
|
|
145
|
+
default:
|
|
146
|
+
return ''
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
handleCardBtn($event, cardBtn, menu, menuIndex) {
|
|
150
|
+
if (!menu.children || menu.children.length < 1) {
|
|
151
|
+
cardBtn.visible = false
|
|
152
|
+
return this.routerTo(menu)
|
|
153
|
+
}
|
|
154
|
+
let windowWidth = window.document.body.clientWidth
|
|
155
|
+
let selfOffsetRight = windowWidth - $event.pageX
|
|
156
|
+
cardBtn.placement = selfOffsetRight < this.poptipWidth ? 'bottom-end' : 'bottom-start'
|
|
157
|
+
cardBtn.visible = true
|
|
158
|
+
},
|
|
159
|
+
handleFocusBtn(card, index) {
|
|
160
|
+
this.cardActive = card.value + index
|
|
161
|
+
},
|
|
162
|
+
handleBlurBtn(card, index) {
|
|
163
|
+
if (this.cardActive === card.value + index) this.cardActive = ''
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
</script>
|
|
168
|
+
|
|
169
|
+
<style lang="scss">
|
|
170
|
+
.menuCard {
|
|
171
|
+
margin-bottom: 10px;
|
|
172
|
+
}
|
|
173
|
+
.cardPoptipContent {
|
|
174
|
+
max-height: 400px;
|
|
175
|
+
overflow: auto;
|
|
176
|
+
}
|
|
177
|
+
.cardBtnsWrap {
|
|
178
|
+
position: relative;
|
|
179
|
+
display: flex;
|
|
180
|
+
justify-content: space-between;
|
|
181
|
+
align-items: center;
|
|
182
|
+
flex-wrap: wrap;
|
|
183
|
+
> div {
|
|
184
|
+
width: 47%;
|
|
185
|
+
display: inline-flex;
|
|
186
|
+
align-items: center;
|
|
187
|
+
margin: 1.5%;
|
|
188
|
+
> .ivu-poptip-rel,
|
|
189
|
+
> .ivu-tooltip-rel,
|
|
190
|
+
> .ivu-dropdown-rel {
|
|
191
|
+
width: 100%;
|
|
192
|
+
display: block;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
.cardBtn {
|
|
196
|
+
display: flex;
|
|
197
|
+
align-items: center;
|
|
198
|
+
background-color: #eee;
|
|
199
|
+
font-size: 1.1em;
|
|
200
|
+
padding: 10px;
|
|
201
|
+
box-sizing: border-box;
|
|
202
|
+
cursor: pointer;
|
|
203
|
+
position: relative;
|
|
204
|
+
&:hover {
|
|
205
|
+
opacity: 0.8;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
.menuBoxWrap {
|
|
210
|
+
padding-left: 2em;
|
|
211
|
+
position: relative;
|
|
212
|
+
&.first {
|
|
213
|
+
padding-left: 0;
|
|
214
|
+
}
|
|
215
|
+
.menuBoxFilter {
|
|
216
|
+
margin-bottom: 5px;
|
|
217
|
+
}
|
|
218
|
+
.menuBoxTitle {
|
|
219
|
+
display: block;
|
|
220
|
+
padding: 5px 0;
|
|
221
|
+
cursor: pointer;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
</style>
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="menuBoxWrap" :class="{ first }">
|
|
3
|
+
<template v-if="menus.length > 0">
|
|
4
|
+
<div v-if="first" class="menuBoxFilter">
|
|
5
|
+
<vxe-input v-model="filterText" size="mini" class="w-100" clearable placeholder="请输入关键词" prefix-icon="vxe-icon-search"></vxe-input>
|
|
6
|
+
</div>
|
|
7
|
+
<template v-for="(item, itemindex) in menuBoxList" :key="itemindex">
|
|
8
|
+
<a class="menuBoxTitle" @click="routerTo(item)">{{ formatTitle(item) }}</a>
|
|
9
|
+
<menuBox v-if="hasChildren(item)" :menu="item"></menuBox>
|
|
10
|
+
</template>
|
|
11
|
+
</template>
|
|
12
|
+
<sh-empty v-else></sh-empty>
|
|
13
|
+
</div>
|
|
14
|
+
</template>
|
|
15
|
+
|
|
16
|
+
<script>
|
|
17
|
+
export default {
|
|
18
|
+
name: 'MenuBox',
|
|
19
|
+
props: {
|
|
20
|
+
menu: {
|
|
21
|
+
type: [Object, Array],
|
|
22
|
+
default() {
|
|
23
|
+
return {}
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
first: {
|
|
27
|
+
type: Boolean
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
data() {
|
|
31
|
+
return {
|
|
32
|
+
filterText: '',
|
|
33
|
+
filterData: null,
|
|
34
|
+
filterChangeDebounce: this.$vUtils.debounce(this.handleMenuFilter, 500)
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
computed: {
|
|
38
|
+
menus() {
|
|
39
|
+
return Array.isArray(this.menu) ? this.menu : this.menu?.children || []
|
|
40
|
+
},
|
|
41
|
+
menuBoxList() {
|
|
42
|
+
return this.filterData || this.menus
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
watch: {
|
|
46
|
+
filterText: {
|
|
47
|
+
handler(newvalue, oldValue) {
|
|
48
|
+
this.filterChangeDebounce(newvalue)
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
methods: {
|
|
53
|
+
// 全局搜索过滤事件
|
|
54
|
+
handleMenuFilter(text) {
|
|
55
|
+
const that = this
|
|
56
|
+
let filterText = that.$vUtils.toValueString(text).trim().toLowerCase()
|
|
57
|
+
let filterData = null
|
|
58
|
+
if (filterText) {
|
|
59
|
+
filterData = that.$vUtils.searchTree(that.menus, menu => this.formatTitle(menu).indexOf(filterText) > -1)
|
|
60
|
+
}
|
|
61
|
+
if (that.filterData === null && !filterText) {
|
|
62
|
+
return
|
|
63
|
+
}
|
|
64
|
+
that.filterData = filterData
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
</script>
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<sh-header size="large">
|
|
3
|
+
<template #title>
|
|
4
|
+
<div v-html="headerTitle.title"></div>
|
|
5
|
+
</template>
|
|
6
|
+
<div>{{ headerTitle.desc }}</div>
|
|
7
|
+
</sh-header>
|
|
8
|
+
</template>
|
|
9
|
+
|
|
10
|
+
<script>
|
|
11
|
+
export default {
|
|
12
|
+
name: 'SystemTip',
|
|
13
|
+
props: {
|
|
14
|
+
name: {
|
|
15
|
+
type: String,
|
|
16
|
+
default: ''
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
data() {
|
|
20
|
+
return {
|
|
21
|
+
nowdate: new Date()
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
computed: {
|
|
25
|
+
headerDate() {
|
|
26
|
+
let hours = this.nowdate.getHours()
|
|
27
|
+
let month = this.nowdate.getMonth() + 1
|
|
28
|
+
let day = this.nowdate.getDate()
|
|
29
|
+
let week = this.nowdate.getDay()
|
|
30
|
+
return { date: this.nowdate, hours, month, day, week }
|
|
31
|
+
},
|
|
32
|
+
headerWeek() {
|
|
33
|
+
let { week } = this.headerDate
|
|
34
|
+
let tw = ''
|
|
35
|
+
switch (week) {
|
|
36
|
+
case 0:
|
|
37
|
+
tw = '星期天'
|
|
38
|
+
break
|
|
39
|
+
case 1:
|
|
40
|
+
tw = '星期一'
|
|
41
|
+
break
|
|
42
|
+
case 2:
|
|
43
|
+
tw = '星期二'
|
|
44
|
+
break
|
|
45
|
+
case 3:
|
|
46
|
+
tw = '星期三'
|
|
47
|
+
break
|
|
48
|
+
case 4:
|
|
49
|
+
tw = '星期四'
|
|
50
|
+
break
|
|
51
|
+
case 5:
|
|
52
|
+
tw = '星期五'
|
|
53
|
+
break
|
|
54
|
+
case 6:
|
|
55
|
+
tw = '星期六'
|
|
56
|
+
break
|
|
57
|
+
}
|
|
58
|
+
return tw
|
|
59
|
+
},
|
|
60
|
+
headerTitle() {
|
|
61
|
+
let { hours } = this.headerDate
|
|
62
|
+
let title = ''
|
|
63
|
+
let desc = ''
|
|
64
|
+
switch (true) {
|
|
65
|
+
case hours === 0 || (hours >= 23 && hours <= 24):
|
|
66
|
+
title = '午夜啦,早点休息喔'
|
|
67
|
+
desc = '思念不因劳累而改变,问候不因疲惫而变懒,祝福不因休息而变缓,关怀随星星眨眼,牵挂在深夜依然,轻轻道声:祝你晚安!'
|
|
68
|
+
break
|
|
69
|
+
case hours >= 1 && hours <= 4:
|
|
70
|
+
title = '凌晨啦,注意身体喔'
|
|
71
|
+
desc = '时间不早啦,记得早点休息,保证睡眠质量!'
|
|
72
|
+
break
|
|
73
|
+
case hours >= 5 && hours <= 6:
|
|
74
|
+
title = '清晨啦,准备迎接新的一天吧'
|
|
75
|
+
desc = '睁开眼,缓一缓,快起床,伸懒腰;笑一笑,美好的一天又开始了.早安,祝你今天好心情,工作顺利,生活甜美!'
|
|
76
|
+
break
|
|
77
|
+
case hours >= 7 && hours <= 8:
|
|
78
|
+
title = '早上好,记得吃早餐喔'
|
|
79
|
+
desc = '一日之计在于晨,愿我这阳光初露时的小小问候能将快乐带给你,愿你用快乐开启,用微笑结束这美好的一天.'
|
|
80
|
+
break
|
|
81
|
+
case hours >= 9 && hours <= 10:
|
|
82
|
+
title = '上午好,时刻保持好心情呀'
|
|
83
|
+
desc = '上午好,一束阳光照在身,祝你天天都开心,财神家中去,梦想变成真,今天中大奖,明天去上任.'
|
|
84
|
+
break
|
|
85
|
+
case hours >= 11 && hours <= 12:
|
|
86
|
+
title = '中午好,午餐时间到啦'
|
|
87
|
+
desc = '中午好,到了吃午餐的时间了,吃完午餐记得午睡一小会,保证下午可以有良好的精神状态.'
|
|
88
|
+
break
|
|
89
|
+
case hours >= 13 && hours <= 16:
|
|
90
|
+
title = '下午好,别太辛苦了'
|
|
91
|
+
desc = '送各位一杯下午茶:已祝福为叶,叮咛做花,热情为水,包容当杯,喝出你一天好心情和一生的幸福,下午愉快!'
|
|
92
|
+
break
|
|
93
|
+
case hours >= 17 && hours <= 18:
|
|
94
|
+
title = '傍晚啦,看看窗外的风景吧'
|
|
95
|
+
desc = '工作是做不完的,身体可是累的垮的!看看外面的天空吧!'
|
|
96
|
+
break
|
|
97
|
+
case hours >= 19 && hours <= 22:
|
|
98
|
+
title = '晚上好,准备好进入梦乡啦'
|
|
99
|
+
desc = '睡前请把窗户打开,让"幸福"进来,睡前请把"心情"打开,让"快乐"入驻,睡前请把"思想"放飞,让甜蜜入梦!今晚祝你好梦成真,幸福一生!晚安!'
|
|
100
|
+
break
|
|
101
|
+
}
|
|
102
|
+
return { title: `Hi! <span class="primary">${this.name}</span> ${title}`, desc }
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
watch: {},
|
|
106
|
+
created() {},
|
|
107
|
+
mounted() {},
|
|
108
|
+
beforeUnmount() {},
|
|
109
|
+
methods: {}
|
|
110
|
+
}
|
|
111
|
+
</script>
|
|
112
|
+
|
|
113
|
+
<style lang="scss" scoped></style>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import draggable from './module/draggable'
|
|
2
|
+
import { utils } from 'sh-tools'
|
|
3
|
+
import ripple from 'vue-ripple-directive'
|
|
4
|
+
ripple.color = 'rgba(0, 0, 0, 0.15)'
|
|
5
|
+
|
|
6
|
+
const preventClick = {
|
|
7
|
+
inserted(el, binding) {
|
|
8
|
+
el.addEventListener('click', () => {
|
|
9
|
+
if (!el.disabled) {
|
|
10
|
+
el.disabled = true
|
|
11
|
+
if (!domUtil.hasClass(el, 'prevent--disabled')) utils.addClass(el, 'prevent--disabled')
|
|
12
|
+
setTimeout(() => {
|
|
13
|
+
el.disabled = false
|
|
14
|
+
if (domUtil.hasClass(el, 'prevent--disabled')) utils.removeClass(el, 'prevent--disabled')
|
|
15
|
+
}, binding.value || 1500)
|
|
16
|
+
}
|
|
17
|
+
})
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const directives = {
|
|
22
|
+
draggable,
|
|
23
|
+
preventClick,
|
|
24
|
+
ripple
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export default directives
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import directive from './directives'
|
|
2
|
+
|
|
3
|
+
const index = {
|
|
4
|
+
install: function (Vue) {
|
|
5
|
+
/**
|
|
6
|
+
* 拖拽指令 v-draggable="options"
|
|
7
|
+
* options = {
|
|
8
|
+
* trigger: /这里传入作为拖拽触发器的CSS选择器/,
|
|
9
|
+
* body: /这里传入需要移动容器的CSS选择器/,
|
|
10
|
+
* recover: /拖动结束之后是否恢复到原来的位置/
|
|
11
|
+
* }
|
|
12
|
+
*/
|
|
13
|
+
Vue.directive('draggable', directive.draggable)
|
|
14
|
+
Vue.directive('debounce', directive.preventClick)
|
|
15
|
+
Vue.directive('ripple', directive.ripple)
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export default index
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { utils } from 'sh-tools'
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
inserted: (el, binding, vnode) => {
|
|
5
|
+
let triggerDom = document.querySelector(binding.value.trigger)
|
|
6
|
+
triggerDom.style.cursor = 'move'
|
|
7
|
+
let bodyDom = document.querySelector(binding.value.body)
|
|
8
|
+
let pageX = 0
|
|
9
|
+
let pageY = 0
|
|
10
|
+
let transformX = 0
|
|
11
|
+
let transformY = 0
|
|
12
|
+
let canMove = false
|
|
13
|
+
const handleMousedown = e => {
|
|
14
|
+
let transform = /\(.*\)/.exec(bodyDom.style.transform)
|
|
15
|
+
if (transform) {
|
|
16
|
+
transform = transform[0].slice(1, transform[0].length - 1)
|
|
17
|
+
let splitxy = transform.split('px, ')
|
|
18
|
+
transformX = parseFloat(splitxy[0])
|
|
19
|
+
transformY = parseFloat(splitxy[1].split('px')[0])
|
|
20
|
+
}
|
|
21
|
+
pageX = e.pageX
|
|
22
|
+
pageY = e.pageY
|
|
23
|
+
canMove = true
|
|
24
|
+
}
|
|
25
|
+
const handleMousemove = e => {
|
|
26
|
+
let xOffset = e.pageX - pageX + transformX
|
|
27
|
+
let yOffset = e.pageY - pageY + transformY
|
|
28
|
+
if (canMove) bodyDom.style.transform = `translate(${xOffset}px, ${yOffset}px)`
|
|
29
|
+
}
|
|
30
|
+
const handleMouseup = e => {
|
|
31
|
+
canMove = false
|
|
32
|
+
}
|
|
33
|
+
utils.on(triggerDom, 'mousedown', handleMousedown)
|
|
34
|
+
utils.on(document, 'mousemove', handleMousemove)
|
|
35
|
+
utils.on(document, 'mouseup', handleMouseup)
|
|
36
|
+
},
|
|
37
|
+
update: (el, binding, vnode) => {
|
|
38
|
+
if (!binding.value.recover) return
|
|
39
|
+
let bodyDom = document.querySelector(binding.value.body)
|
|
40
|
+
bodyDom.style.transform = ''
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import packageConfig from '../package.json'
|
|
2
|
+
import { utils } from 'sh-tools'
|
|
3
|
+
import { VueMasonryPlugin } from 'vue-masonry'
|
|
4
|
+
import directive from './directive/index'
|
|
5
|
+
import iview from './iview/index'
|
|
6
|
+
import vxeTable from './vxeTable/index'
|
|
7
|
+
import globalComponents from './components/index'
|
|
8
|
+
import mixin from './mixin/index'
|
|
9
|
+
import './css/index'
|
|
10
|
+
|
|
11
|
+
// 全局公共封装组件
|
|
12
|
+
const install = function (root) {
|
|
13
|
+
if (install.installed) return
|
|
14
|
+
root.config.globalProperties.$vUtils = utils
|
|
15
|
+
root.mixin(mixin)
|
|
16
|
+
root.use(VueMasonryPlugin)
|
|
17
|
+
root.use(directive)
|
|
18
|
+
root.use(iview)
|
|
19
|
+
root.use(vxeTable)
|
|
20
|
+
root.use(globalComponents)
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const ShUI = {
|
|
24
|
+
name: packageConfig.name,
|
|
25
|
+
version: packageConfig.version,
|
|
26
|
+
install
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
let consInfo = ''
|
|
30
|
+
let defaultBg = 'padding: 5px; color: #111; background: #f5f7f9; font-weight: bold;'
|
|
31
|
+
let tagBg1 = 'padding: 5px; color: #fff; background: #8e2eff; font-weight: bold;'
|
|
32
|
+
let tagBg2 = 'padding: 5px; color: #333; background: #ffee2e; font-weight: bold;'
|
|
33
|
+
if ((window.navigator.language || window.navigator.browserLanguage).toLowerCase() === 'zh-cn') {
|
|
34
|
+
consInfo = `%c由%c${ShUI.name}%c提供技术支持,版本%c${ShUI.version}%c`
|
|
35
|
+
} else {
|
|
36
|
+
consInfo = `%cPowered by%c${ShUI.name}%c,version%c${ShUI.version}%c`
|
|
37
|
+
}
|
|
38
|
+
console.info(consInfo, defaultBg, tagBg1, defaultBg, tagBg2, defaultBg)
|
|
39
|
+
|
|
40
|
+
export default ShUI
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
$primary-color : #1890ff; // 全局主色
|
|
2
|
+
$danger-color : #ff3552; // 危险色
|
|
3
|
+
$link-color : #1890ff; // 链接色
|
|
4
|
+
$success-color : #25ad4a; // 成功色
|
|
5
|
+
$warning-color : #faad14; // 警告色
|
|
6
|
+
$error-color : #f5222d; // 错误色
|
|
7
|
+
$info-color : #2db7f5; // 信息色
|
|
8
|
+
|
|
9
|
+
.ivu{
|
|
10
|
+
&-tabs-tab,
|
|
11
|
+
&-btn
|
|
12
|
+
{
|
|
13
|
+
border-radius: var(--border-radius) !important;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
// 加载动画
|
|
19
|
+
.sh-circular-spin {
|
|
20
|
+
width: 30px;
|
|
21
|
+
height: 30px;
|
|
22
|
+
animation: circularRotate 2s linear infinite;
|
|
23
|
+
transform-origin: center center;
|
|
24
|
+
display: inline-flex;
|
|
25
|
+
align-items: center;
|
|
26
|
+
justify-content: center;
|
|
27
|
+
}
|
|
28
|
+
@keyframes circularRotate {
|
|
29
|
+
from { transform: rotate(0deg); }
|
|
30
|
+
50% { transform: rotate(180deg); }
|
|
31
|
+
to { transform: rotate(360deg); }
|
|
32
|
+
}
|