@univerjs/ui 0.5.1 → 0.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/lib/cjs/facade.js +1 -1
- package/lib/cjs/index.js +19 -15
- package/lib/es/facade.js +176 -21
- package/lib/es/index.js +3011 -3002
- package/lib/index.css +1 -1
- package/lib/types/controllers/ui/ui.controller.d.ts +12 -0
- package/lib/types/facade/f-menu-builder.d.ts +106 -0
- package/lib/types/facade/f-shortcut.d.ts +11 -0
- package/lib/types/facade/f-univer.d.ts +79 -0
- package/lib/types/facade/index.d.ts +2 -0
- package/lib/types/index.d.ts +1 -1
- package/lib/types/services/clipboard/clipboard.command.d.ts +1 -0
- package/lib/types/services/dialog/desktop-dialog.service.d.ts +2 -2
- package/lib/types/services/message/__testing__/mock-message.service.d.ts +2 -2
- package/lib/types/services/message/desktop-message.service.d.ts +9 -8
- package/lib/types/services/message/message.service.d.ts +2 -5
- package/lib/types/services/parts/parts.service.d.ts +2 -1
- package/lib/types/services/shortcut/shortcut.service.d.ts +6 -1
- package/lib/types/views/components/ribbon/Button/ToolbarButton.d.ts +4 -0
- package/lib/types/views/components/ribbon/ToolbarItem.d.ts +3 -3
- package/lib/types/views/components/ribbon/TooltipButtonWrapper.d.ts +2 -2
- package/lib/umd/facade.js +1 -1
- package/lib/umd/index.js +19 -15
- package/package.json +8 -9
package/lib/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.univer-underline{text-decoration-line:underline}.univer-ui-plugin-sheets-font-family{overflow:hidden;width:120px;font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap}.univer-ui-plugin-sheets-font-family-item{font-size:var(--font-size-xs)}.univer-ui-plugin-sheets-font-size{width:28px;height:24px;font-size:var(--font-size-xs)}.univer-ui-plugin-sheets-font-size-input{height:24px;line-height:24px;background-color:transparent;border:none}.univer-ui-plugin-sheets-font-size-input input{font-size:var(--font-size-xs);background-color:transparent}.univer-popup-fixed{position:fixed;z-index:1000;top:-9999px;left:-9999px}.univer-menu-item-no-hover,.univer-menu-item-no-hover.univer-menu-item-active{background:none}.univer-menu-item-activated{background-color:rgb(var(--bg-color-hover))}.univer-menu-item-content{display:inline-flex;gap:var(--margin-xs);align-items:center}.univer-menu-item-selectable{position:relative;padding-left:var(--padding-xl)}.univer-menu-item-selectable-icon{position:absolute;left:0;display:inline-flex;align-items:center;font-size:var(--font-size-lg)}.univer-menu-item-more-icon{font-size:var(--font-size-sm);color:rgb(var(--text-color))}.univer-progress-bar{width:160px;height:4px;background-color:rgb(var(--border-color));border-radius:var(--border-radius-lg);margin-right:var(--margin-xs)}.univer-progress-bar-container{display:flex;align-items:center;margin:0 var(--margin-xs) 0 var(--margin-xs)}.univer-progress-bar-label{font-size:var(--font-size-xxs);color:rgb(var(--text-color-secondary));width:98px;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:var(--margin-xs);line-height:17px}.univer-progress-bar-inner{height:4px;border-radius:var(--border-radius-lg);transition:width .5s}.univer-progress-bar-close-button{background:none;border:none;font-size:var(--font-size-xxs);color:rgb(var(--text-color));cursor:pointer;padding:0;margin:0;line-height:1;display:flex;align-items:center}.univer-progress-bar-close-button:hover{color:rgb(var(--text-color-secondary))}.univer-shortcut-panel-group-title{height:40px;font-size:13px;font-weight:700;line-height:40px}.univer-shortcut-panel-item{display:flex;justify-content:space-between;height:40px;font-size:13px;line-height:40px}.univer-shortcut-panel-item-title{overflow:hidden;flex-grow:1;flex-shrink:1;max-width:200px;text-overflow:ellipsis;text-wrap:nowrap}.univer-shortcut-panel-item-shortcut{flex-grow:0;flex-shrink:0}.univer-shortcut-panel-item:not(:last-of-type){border-bottom:1px solid rgb(var(--grey-200))}.univer-float-dom-wrapper{z-index:10}.univer-float-dom{overflow:hidden}.univer-toolbar-btn{cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0;font-size:var(--font-size-lg);color:rgb(var(--text-color));background-color:transparent;border:none;border-radius:var(--border-radius-base);outline:none}.univer-toolbar-btn:not([disabled]):hover{background-color:rgb(var(--grey-100))}.univer-toolbar-btn[disabled]{cursor:not-allowed;color:rgb(var(--grey-200))}.univer-toolbar-btn-active{background-color:rgb(var(--grey-100))}.univer-toolbar-btn-active[disabled]{color:rgba(var(--text-color),.25)}.univer-headerbar{user-select:none;position:relative}.univer-headerbar>.univer-header-menu{position:absolute;top:0;right:0;display:flex;box-sizing:border-box;height:100%}.univer-headerbar>.univer-header-menu>div{user-select:none;display:inline-flex;align-items:center;height:28px;margin-left:4px;padding:2px 4px;text-align:center;border-radius:4px}.univer-headerbar>.univer-header-menu>div:hover{background-color:rgb(var(--grey-300))}.univer-menubar{display:flex;gap:var(--margin-xs);align-items:center;justify-content:center;height:32px}.univer-menubar-item{cursor:pointer;display:block;padding:var(--padding-xs) var(--padding-sm);font-size:var(--font-size-xs);font-weight:400;border-radius:var(--border-radius-base);transition:all .1s ease-in-out}.univer-menubar-item:hover:not(.univer-menubar-item-active){background:rgb(var(--grey-300))}.univer-menubar-item-active{color:rgb(var(--color-white));background:rgb(var(--primary-color))}.univer-toolbar{user-select:none;position:relative;display:flex;align-items:center;box-sizing:border-box;height:32px;font-size:var(--font-size-base);color:rgb(var(--text-color));background-color:rgb(var(--bg-color-secondary));border-bottom:1px solid rgb(var(--border-color))}.univer-toolbar-container{padding:0 var(--padding-lg);display:flex;gap:var(--margin-xs);align-items:center;justify-content:center;box-sizing:border-box;height:100%;margin:0 auto;max-width:100%;overflow:hidden}.univer-toolbar-more{max-width:80%}.univer-toolbar-more-container{display:grid;box-sizing:border-box;padding:var(--padding-sm);background-color:rgb(var(--bg-color-secondary));border-radius:var(--border-radius-base);box-shadow:var(--box-shadow-base)}.univer-toolbar-more-container .univer-toolbar-group{flex-wrap:wrap}.univer-toolbar-more-container .univer-toolbar-group:not(:last-child):after{content:initial}.univer-toolbar-more-container .univer-toolbar-group:not(:last-child)>*{margin-bottom:var(--margin-xs)}.univer-toolbar-group{display:flex;gap:var(--margin-xs);align-items:center;flex-shrink:0}.univer-toolbar-group>*{flex-shrink:0}.univer-toolbar-group:not(:last-child,:empty):after{content:"";display:block;width:1px;height:20px;background-color:rgb(var(--border-color));flex-shrink:0}.univer-toolbar-item-select-button{cursor:pointer;position:relative;overflow:hidden;display:flex;gap:var(--margin-xs);align-items:center;height:24px;padding-right:18px;font-size:var(--font-size-lg);border-radius:var(--border-radius-base)}.univer-toolbar-item-select-button-disabled{cursor:not-allowed;color:rgb(var(--grey-200))}.univer-toolbar-item-select-button-disabled.univer-toolbar-item-select-button-activated{color:rgba(var(--text-color),.25)}.univer-toolbar-item-select-button-disabled.univer-toolbar-item-select-button-activated .univer-toolbar-item-select-button-label:hover,.univer-toolbar-item-select-button-disabled.univer-toolbar-item-select-button-activated .univer-toolbar-item-select-button-arrow:hover{background-color:rgb(var(--grey-100))!important}.univer-toolbar-item-select-button-activated,.univer-toolbar-item-select-button:hover,.univer-toolbar-item-select-button:hover .univer-toolbar-item-select-button-label{background-color:rgb(var(--grey-100))}.univer-toolbar-item-select-button-label{position:relative;z-index:1;display:flex;align-items:center;height:100%;padding:0 var(--padding-xs)}.univer-toolbar-item-select-button-label:hover{background-color:rgb(var(--grey-300))!important}.univer-toolbar-item-select-button-arrow{position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:flex-end;box-sizing:border-box;width:100%;height:100%;padding-right:var(--padding-xs);color:rgb(var(--grey-400))}.univer-toolbar-item-select-button-arrow:hover{background-color:rgb(var(--grey-300))}.univer-toolbar-item-select{cursor:pointer;position:relative;display:flex;gap:var(--margin-xs);align-items:center;height:24px;padding:0 var(--padding-xs);font-size:var(--font-size-lg);border-radius:var(--border-radius-base)}.univer-toolbar-item-select-disabled{cursor:not-allowed;color:rgb(var(--grey-200))}.univer-toolbar-item-select-disabled.univer-toolbar-item-select-activated{color:rgba(var(--text-color),.25)}.univer-toolbar-item-select-disabled.univer-toolbar-item-select-activated:hover,.univer-toolbar-item-select-activated{background-color:rgb(var(--grey-100))}.univer-toolbar-item-select:hover{background-color:rgb(var(--grey-100));border-radius:var(--border-radius-base)}.univer-toolbar-item-select-arrow{display:flex;align-items:center;height:100%;color:rgb(var(--grey-400))}.univer-toolbar-item-select-arrow-disabled{cursor:not-allowed;color:rgb(var(--grey-200))}.univer-toolbar-item-select-arrow-disabled.univer-toolbar-item-select-arrow-activated{color:rgba(var(--text-color),.25)}.univer-toolbar-item-select-arrow-disabled.univer-toolbar-item-select-arrow-activated:hover,.univer-toolbar-item-select-arrow-activated{background-color:rgb(var(--grey-100))}.univer-sidebar{position:relative;transform:translate(100%);box-sizing:border-box;width:0;height:100%;color:rgb(var(--text-color))}.univer-sidebar.univer-sidebar-open{transform:translate(0);width:380px}.univer-sidebar-container{overflow-y:auto;display:grid;grid-template-rows:auto 1fr auto;box-sizing:border-box;width:100%;height:0;min-height:100%;margin:auto;background-color:rgb(var(--bg-color-secondary));border-bottom:1px solid rgb(var(--border-color));border-left:1px solid rgb(var(--border-color));scrollbar-color:rgba(var(--scrollbar-color),.7) transparent;scrollbar-gutter:auto;scrollbar-width:thin}.univer-sidebar-header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;height:44px;padding:var(--padding-xl) var(--padding-xl) 0;font-size:var(--font-size-lg);font-weight:500;background:rgb(var(--bg-color-secondary));box-sizing:border-box;z-index:10}.univer-sidebar-header-close{cursor:pointer;color:rgb(var(--text-color-secondary))}.univer-sidebar-body{padding:0 var(--padding-xl);box-sizing:border-box}.univer-sidebar-footer{position:sticky;bottom:0;padding:var(--padding-xl);background:rgb(var(--bg-color-secondary));box-sizing:border-box}.univer-zen-zone{position:absolute;z-index:-1;transition:all .2s ease-in-out;display:flex;flex-direction:row}.univer-zen-zone-open{z-index:100;top:0;left:0;width:100%;height:100%;background:rgb(var(--bg-color));opacity:1}.univer-zen-zone-close{opacity:0}.univer-zen-zone-editor-container{flex:1;position:relative}.univer-global-zone{position:absolute;display:none}.univer-global-zone-open{z-index:100;top:0;left:0;display:block;width:100%;height:100%;background:rgb(var(--bg-color))}.univer-global-zone-close{display:none}.univer-workbench-layout{display:flex;flex-direction:column;height:100%;background-color:rgb(var(--bg-color));min-height:0;position:relative}.univer-workbench-container{position:relative;display:flex;flex:1;flex-direction:column;min-height:0}.univer-workbench-container-header{position:relative;z-index:10;width:100%}.univer-workbench-container-wrapper{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:100%;height:100%;overflow:hidden}.univer-workbench-container-content{position:relative;overflow:hidden;display:grid;grid-template-rows:auto 1fr;flex:1;background-color:rgb(var(--bg-color-secondary));border-bottom:1px solid rgb(var(--border-color))}.univer-workbench-container-doc-content{background:rgb(var(--bg-color-secondary))}.univer-workbench-container-canvas{position:relative;overflow:hidden}.univer-workbench-container-left-sidebar,.univer-workbench-container-sidebar{height:100%}.univer-mobile-menu-container{min-width:32px;max-width:200px;display:grid;grid-gap:4px;background-color:#000;border-radius:4px;padding:4px 8px}.univer-mobile-menu-item{display:flex;flex-direction:column;justify-content:center;align-items:center;border:none;background:none;color:#fff;width:48px}.univer-mobile-menu-item>svg{font-size:18px;height:18px;width:18px}.univer-mobile-menu-item>span{width:100%;margin-top:2px;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.univer-app-layout{display:flex;flex-direction:column;height:100%;background-color:rgb(var(--bg-color));min-height:0;position:relative}.univer-app-header{width:100vw}.univer-app-container{position:relative;display:flex;flex:1;flex-direction:column;min-height:0}.univer-app-container-header{position:relative;z-index:10;width:100%}.univer-app-container-wrapper{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:100%;height:100%;overflow:hidden}.univer-app-container-content{position:relative;overflow:hidden;display:grid;grid-template-rows:auto 1fr;flex:1;background-color:rgb(var(--bg-color-secondary));border-bottom:1px solid rgb(var(--border-color))}.univer-app-container-canvas{position:relative;overflow:hidden}.univer-app-container-left-sidebar,.univer-app-container-sidebar{height:100%}.univer-notification{position:fixed;z-index:1000;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;box-sizing:border-box;margin:var(--margin-xs) 0}.univer-notification-notice{display:flex;gap:var(--margin-xs);justify-content:space-between;width:280px;padding:var(--padding-lg);font-size:var(--font-size-lg);background-color:rgb(var(--color-white));border-radius:var(--border-radius-base);box-shadow:var(--box-shadow-lg)}.univer-notification-notice-wrapper{margin:var(--margin-xs) var(--margin-base)}.univer-notification-notice-content{display:inline-flex;gap:var(--margin-xs);align-items:center;align-items:flex-start}.univer-notification-notice-close{cursor:pointer;display:flex;align-items:center;justify-content:center;width:fit-content;height:fit-content;padding:var(--padding-xs);color:rgb(var(--text-color-secondary));border-radius:var(--border-radius-base);outline:none;transition:background-color .2s}.univer-notification-notice-close:hover{background-color:rgb(var(--bg-color-hover))}.univer-notification-icon{padding:var(--padding-xs)}.univer-notification-icon-success{color:rgb(var(--success-color))}.univer-notification-icon-info{color:rgb(var(--info-color))}.univer-notification-icon-warning{color:rgb(var(--warning-color))}.univer-notification-icon-error{color:rgb(var(--error-color))}.univer-notification-content-container{display:inline-flex;flex-direction:column;gap:var(--margin-xs);align-items:flex-start;padding-top:var(--padding-xs)}.univer-notification-title{color:rgb(var(--text-color))}.univer-notification-content{color:rgb(var(--text-color-secondary))}.univer-notification-content-ellipsis{overflow:hidden;display:-webkit-box;text-overflow:ellipsis;-webkit-box-orient:vertical}.univer-notification-top,.univer-notification-topLeft,.univer-notification-topRight{top:0}.univer-notification-bottom,.univer-notification-bottomRight,.univer-notification-bottomLeft{bottom:0}.univer-notification-bottomRight,.univer-notification-topRight{right:0}.univer-notification-fade{overflow:hidden;transition:all .3s}.univer-notification-fade-appear-prepare{opacity:0}.univer-notification-fade-appear-start{transform:translate(100%);opacity:0}.univer-notification-fade-appear-active{transform:translate(0);opacity:1}.univer-notification-fade-appear,.univer-notification-fade-enter{opacity:0;animation-play-state:paused;animation-duration:.3s;animation-timing-function:cubic-bezier(.55,0,.55,.2);animation-fill-mode:both}.univer-notification-fade-leave{animation-duration:.3s;animation-timing-function:cubic-bezier(.55,0,.55,.2);animation-fill-mode:both;animation-play-state:paused}.univer-notification-fade-appear.univer-notification-fade-appear-active,.univer-notification-fade-enter.univer-notification-fade-enter-active{animation-name:univer-notification-fade-in;animation-play-state:running}.univer-notification-fade-leave.univer-notification-fade-leave-active{animation-name:univer-notification-fade-out;animation-play-state:running}@keyframes univer-notification-fade-in{0%{opacity:0}to{opacity:1}}@keyframes univer-notification-fade-out{0%{opacity:1}to{opacity:0}}
|
|
1
|
+
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(63 131 248 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(63 131 248 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*{scrollbar-color:initial;scrollbar-width:initial}.univer-underline{text-decoration-line:underline}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.univer-ui-plugin-sheets-font-family{overflow:hidden;width:120px;font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap}.univer-ui-plugin-sheets-font-family-item{font-size:var(--font-size-xs)}.univer-ui-plugin-sheets-font-size{width:28px;height:24px;font-size:var(--font-size-xs)}.univer-ui-plugin-sheets-font-size-input{height:24px;line-height:24px;background-color:transparent;border:none}.univer-ui-plugin-sheets-font-size-input input{font-size:var(--font-size-xs);background-color:transparent}.univer-popup-fixed{position:fixed;z-index:1000;top:-9999px;left:-9999px}.univer-menu-item-no-hover,.univer-menu-item-no-hover.univer-menu-item-active{background:none}.univer-menu-item-activated{background-color:rgb(var(--bg-color-hover))}.univer-menu-item-content{display:inline-flex;gap:var(--margin-xs);align-items:center}.univer-menu-item-selectable{position:relative;padding-left:var(--padding-xl)}.univer-menu-item-selectable-icon{position:absolute;left:0;display:inline-flex;align-items:center;font-size:var(--font-size-lg)}.univer-menu-item-more-icon{font-size:var(--font-size-sm);color:rgb(var(--text-color))}.univer-progress-bar{width:160px;height:4px;background-color:rgb(var(--border-color));border-radius:var(--border-radius-lg);margin-right:var(--margin-xs)}.univer-progress-bar-container{display:flex;align-items:center;margin:0 var(--margin-xs) 0 var(--margin-xs)}.univer-progress-bar-label{font-size:var(--font-size-xxs);color:rgb(var(--text-color-secondary));width:98px;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:var(--margin-xs);line-height:17px}.univer-progress-bar-inner{height:4px;border-radius:var(--border-radius-lg);transition:width .5s}.univer-progress-bar-close-button{background:none;border:none;font-size:var(--font-size-xxs);color:rgb(var(--text-color));cursor:pointer;padding:0;margin:0;line-height:1;display:flex;align-items:center}.univer-progress-bar-close-button:hover{color:rgb(var(--text-color-secondary))}.univer-shortcut-panel-group-title{height:40px;font-size:13px;font-weight:700;line-height:40px}.univer-shortcut-panel-item{display:flex;justify-content:space-between;height:40px;font-size:13px;line-height:40px}.univer-shortcut-panel-item-title{overflow:hidden;flex-grow:1;flex-shrink:1;max-width:200px;text-overflow:ellipsis;text-wrap:nowrap}.univer-shortcut-panel-item-shortcut{flex-grow:0;flex-shrink:0}.univer-shortcut-panel-item:not(:last-of-type){border-bottom:1px solid rgb(var(--grey-200))}.univer-float-dom-wrapper{z-index:10}.univer-float-dom{overflow:hidden}.univer-toolbar-btn{cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0;font-size:var(--font-size-lg);color:rgb(var(--text-color));background-color:transparent;border:none;border-radius:var(--border-radius-base);outline:none}.univer-toolbar-btn:not([disabled]):hover{background-color:rgb(var(--grey-100))}.univer-toolbar-btn[disabled]{cursor:not-allowed;color:rgb(var(--grey-200))}.univer-toolbar-btn-no-icon{padding:var(--padding-xs)}.univer-toolbar-btn-active{background-color:rgb(var(--grey-100))}.univer-toolbar-btn-active[disabled]{color:rgba(var(--text-color),.25)}.univer-headerbar{-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative}.univer-headerbar>.univer-header-menu{position:absolute;top:0;right:0;display:flex;box-sizing:border-box;height:100%}.univer-headerbar>.univer-header-menu>div{-webkit-user-select:none;-moz-user-select:none;user-select:none;display:inline-flex;align-items:center;height:28px;margin-left:4px;padding:2px 4px;text-align:center;border-radius:4px}.univer-headerbar>.univer-header-menu>div:hover{background-color:rgb(var(--grey-300))}.univer-menubar{display:flex;gap:var(--margin-xs);align-items:center;justify-content:center;height:32px}.univer-menubar-item{cursor:pointer;display:block;padding:var(--padding-xs) var(--padding-sm);font-size:var(--font-size-xs);font-weight:400;border-radius:var(--border-radius-base);transition:all .1s ease-in-out}.univer-menubar-item:hover:not(.univer-menubar-item-active){background:rgb(var(--grey-300))}.univer-menubar-item-active{color:rgb(var(--color-white));background:rgb(var(--primary-color))}.univer-toolbar{-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;display:flex;align-items:center;box-sizing:border-box;height:32px;font-size:var(--font-size-base);color:rgb(var(--text-color));background-color:rgb(var(--bg-color-secondary));border-bottom:1px solid rgb(var(--border-color))}.univer-toolbar-container{flex:1;padding:0 var(--padding-lg);display:flex;gap:var(--margin-xs);align-items:center;justify-content:center;box-sizing:border-box;height:100%;margin:0 auto;max-width:100%;overflow:hidden}.univer-toolbar-more{max-width:80%}.univer-toolbar-more-container{display:grid;box-sizing:border-box;padding:var(--padding-sm);background-color:rgb(var(--bg-color-secondary));border-radius:var(--border-radius-base);box-shadow:var(--box-shadow-base)}.univer-toolbar-more-container .univer-toolbar-group{flex-wrap:wrap}.univer-toolbar-more-container .univer-toolbar-group:not(:last-child):after{content:initial}.univer-toolbar-more-container .univer-toolbar-group:not(:last-child)>*{margin-bottom:var(--margin-xs)}.univer-toolbar-group{display:flex;gap:var(--margin-xs);align-items:center;flex-shrink:0}.univer-toolbar-group>*{flex-shrink:0}.univer-toolbar-group:not(:last-child,:empty):after{content:"";display:block;width:1px;height:20px;background-color:rgb(var(--border-color));flex-shrink:0}.univer-toolbar-item-select-button{cursor:pointer;position:relative;overflow:hidden;display:flex;gap:var(--margin-xs);align-items:center;height:24px;padding-right:18px;font-size:var(--font-size-lg);border-radius:var(--border-radius-base)}.univer-toolbar-item-select-button-disabled{cursor:not-allowed;color:rgb(var(--grey-200))}.univer-toolbar-item-select-button-disabled.univer-toolbar-item-select-button-activated{color:rgba(var(--text-color),.25)}.univer-toolbar-item-select-button-disabled.univer-toolbar-item-select-button-activated .univer-toolbar-item-select-button-label:hover,.univer-toolbar-item-select-button-disabled.univer-toolbar-item-select-button-activated .univer-toolbar-item-select-button-arrow:hover{background-color:rgb(var(--grey-100))!important}.univer-toolbar-item-select-button-activated,.univer-toolbar-item-select-button:hover,.univer-toolbar-item-select-button:hover .univer-toolbar-item-select-button-label{background-color:rgb(var(--grey-100))}.univer-toolbar-item-select-button-label{position:relative;z-index:1;display:flex;align-items:center;height:100%;padding:0 var(--padding-xs)}.univer-toolbar-item-select-button-label:hover{background-color:rgb(var(--grey-300))!important}.univer-toolbar-item-select-button-arrow{position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:flex-end;box-sizing:border-box;width:100%;height:100%;padding-right:var(--padding-xs);color:rgb(var(--grey-400))}.univer-toolbar-item-select-button-arrow:hover{background-color:rgb(var(--grey-300))}.univer-toolbar-item-select{cursor:pointer;position:relative;display:flex;gap:var(--margin-xs);align-items:center;height:24px;padding:0 var(--padding-xs);font-size:var(--font-size-lg);border-radius:var(--border-radius-base)}.univer-toolbar-item-select-disabled{cursor:not-allowed;color:rgb(var(--grey-200))}.univer-toolbar-item-select-disabled.univer-toolbar-item-select-activated{color:rgba(var(--text-color),.25)}.univer-toolbar-item-select-disabled.univer-toolbar-item-select-activated:hover,.univer-toolbar-item-select-activated{background-color:rgb(var(--grey-100))}.univer-toolbar-item-select:hover{background-color:rgb(var(--grey-100));border-radius:var(--border-radius-base)}.univer-toolbar-item-select-arrow{display:flex;align-items:center;height:100%;color:rgb(var(--grey-400))}.univer-toolbar-item-select-arrow-disabled{cursor:not-allowed;color:rgb(var(--grey-200))}.univer-toolbar-item-select-arrow-disabled.univer-toolbar-item-select-arrow-activated{color:rgba(var(--text-color),.25)}.univer-toolbar-item-select-arrow-disabled.univer-toolbar-item-select-arrow-activated:hover,.univer-toolbar-item-select-arrow-activated{background-color:rgb(var(--grey-100))}.univer-sidebar{position:relative;transform:translate(100%);box-sizing:border-box;width:0;height:100%;color:rgb(var(--text-color))}.univer-sidebar.univer-sidebar-open{transform:translate(0);width:380px}.univer-sidebar-container{overflow-y:auto;display:grid;grid-template-rows:auto 1fr auto;box-sizing:border-box;width:100%;height:0;min-height:100%;margin:auto;background-color:rgb(var(--bg-color-secondary));border-bottom:1px solid rgb(var(--border-color));border-left:1px solid rgb(var(--border-color));scrollbar-color:rgba(var(--scrollbar-color),.7) transparent;scrollbar-gutter:auto;scrollbar-width:thin}.univer-sidebar-header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;height:44px;padding:var(--padding-xl) var(--padding-xl) 0;font-size:var(--font-size-lg);font-weight:500;background:rgb(var(--bg-color-secondary));box-sizing:border-box;z-index:10}.univer-sidebar-header-close{cursor:pointer;color:rgb(var(--text-color-secondary))}.univer-sidebar-body{padding:0 var(--padding-xl);box-sizing:border-box}.univer-sidebar-footer{position:sticky;bottom:0;padding:var(--padding-xl);background:rgb(var(--bg-color-secondary));box-sizing:border-box}.univer-zen-zone{position:absolute;z-index:-1;transition:all .2s ease-in-out;display:flex;flex-direction:row}.univer-zen-zone-open{z-index:100;top:0;left:0;width:100%;height:100%;background:rgb(var(--bg-color));opacity:1}.univer-zen-zone-close{opacity:0}.univer-zen-zone-editor-container{flex:1;position:relative}.univer-global-zone{position:absolute;display:none}.univer-global-zone-open{z-index:100;top:0;left:0;display:block;width:100%;height:100%;background:rgb(var(--bg-color))}.univer-global-zone-close{display:none}.univer-workbench-layout{display:flex;flex-direction:column;height:100%;background-color:rgb(var(--bg-color));min-height:0;position:relative}.univer-workbench-custom-header{position:relative;display:flex;flex-direction:column;min-height:0;background-color:rgb(var(--color-white))}.univer-workbench-container{position:relative;display:flex;flex:1;flex-direction:column;min-height:0}.univer-workbench-container-header{position:relative;z-index:10;width:100%}.univer-workbench-container-wrapper{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:100%;height:100%;overflow:hidden}.univer-workbench-container-content{position:relative;overflow:hidden;display:grid;grid-template-rows:auto 1fr;flex:1;background-color:rgb(var(--bg-color-secondary));border-bottom:1px solid rgb(var(--border-color))}.univer-workbench-container-doc-content{background:rgb(var(--bg-color-secondary))}.univer-workbench-container-canvas{position:relative;overflow:hidden}.univer-workbench-container-left-sidebar,.univer-workbench-container-sidebar{height:100%}.univer-mobile-menu-container{min-width:32px;max-width:200px;display:grid;grid-gap:4px;background-color:#000;border-radius:4px;padding:4px 8px}.univer-mobile-menu-item{display:flex;flex-direction:column;justify-content:center;align-items:center;border:none;background:none;color:#fff;width:48px}.univer-mobile-menu-item>svg{font-size:18px;height:18px;width:18px}.univer-mobile-menu-item>span{width:100%;margin-top:2px;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.univer-app-layout{display:flex;flex-direction:column;height:100%;background-color:rgb(var(--bg-color));min-height:0;position:relative}.univer-app-custom-header{position:relative;display:flex;flex-direction:column;min-height:0;background-color:rgb(var(--color-white))}.univer-app-header{width:100vw}.univer-app-container{position:relative;display:flex;flex:1;flex-direction:column;min-height:0}.univer-app-container-header{position:relative;z-index:10;width:100%}.univer-app-container-wrapper{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:100%;height:100%;overflow:hidden}.univer-app-container-content{position:relative;overflow:hidden;display:grid;grid-template-rows:auto 1fr;flex:1;background-color:rgb(var(--bg-color-secondary));border-bottom:1px solid rgb(var(--border-color))}.univer-app-container-canvas{position:relative;overflow:hidden}.univer-app-container-left-sidebar,.univer-app-container-sidebar{height:100%}.univer-notification{position:fixed;z-index:1000;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;box-sizing:border-box;margin:var(--margin-xs) 0}.univer-notification-notice{display:flex;gap:var(--margin-xs);justify-content:space-between;width:280px;padding:var(--padding-lg);font-size:var(--font-size-lg);background-color:rgb(var(--color-white));border-radius:var(--border-radius-base);box-shadow:var(--box-shadow-lg)}.univer-notification-notice-wrapper{margin:var(--margin-xs) var(--margin-base)}.univer-notification-notice-content{display:inline-flex;gap:var(--margin-xs);align-items:center;align-items:flex-start}.univer-notification-notice-close{cursor:pointer;display:flex;align-items:center;justify-content:center;width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content;padding:var(--padding-xs);color:rgb(var(--text-color-secondary));border-radius:var(--border-radius-base);outline:none;transition:background-color .2s}.univer-notification-notice-close:hover{background-color:rgb(var(--bg-color-hover))}.univer-notification-icon{padding:var(--padding-xs)}.univer-notification-icon-success{color:rgb(var(--success-color))}.univer-notification-icon-info{color:rgb(var(--info-color))}.univer-notification-icon-warning{color:rgb(var(--warning-color))}.univer-notification-icon-error{color:rgb(var(--error-color))}.univer-notification-content-container{display:inline-flex;flex-direction:column;gap:var(--margin-xs);align-items:flex-start;padding-top:var(--padding-xs)}.univer-notification-title{color:rgb(var(--text-color))}.univer-notification-content{color:rgb(var(--text-color-secondary))}.univer-notification-content-ellipsis{overflow:hidden;display:-webkit-box;text-overflow:ellipsis;-webkit-box-orient:vertical}.univer-notification-top,.univer-notification-topLeft,.univer-notification-topRight{top:0}.univer-notification-bottom,.univer-notification-bottomRight,.univer-notification-bottomLeft{bottom:0}.univer-notification-bottomRight,.univer-notification-topRight{right:0}.univer-notification-fade{overflow:hidden;transition:all .3s}.univer-notification-fade-appear-prepare{opacity:0}.univer-notification-fade-appear-start{transform:translate(100%);opacity:0}.univer-notification-fade-appear-active{transform:translate(0);opacity:1}.univer-notification-fade-appear,.univer-notification-fade-enter{opacity:0;animation-play-state:paused;animation-duration:.3s;animation-timing-function:cubic-bezier(.55,0,.55,.2);animation-fill-mode:both}.univer-notification-fade-leave{animation-duration:.3s;animation-timing-function:cubic-bezier(.55,0,.55,.2);animation-fill-mode:both;animation-play-state:paused}.univer-notification-fade-appear.univer-notification-fade-appear-active,.univer-notification-fade-enter.univer-notification-fade-enter-active{animation-name:univer-notification-fade-in;animation-play-state:running}.univer-notification-fade-leave.univer-notification-fade-leave-active{animation-name:univer-notification-fade-out;animation-play-state:running}@keyframes univer-notification-fade-in{0%{opacity:0}to{opacity:1}}@keyframes univer-notification-fade-out{0%{opacity:1}to{opacity:0}}
|
|
@@ -15,9 +15,21 @@
|
|
|
15
15
|
*/
|
|
16
16
|
export interface IWorkbenchOptions {
|
|
17
17
|
container?: string | HTMLElement;
|
|
18
|
+
/**
|
|
19
|
+
* If Univer should make the header bar visible.
|
|
20
|
+
*/
|
|
18
21
|
header?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* If Univer should make the toolbar bar visible.
|
|
24
|
+
*/
|
|
19
25
|
toolbar?: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* If Univer should make the footer bar visible.
|
|
28
|
+
*/
|
|
20
29
|
footer?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* If Univer should make the context menu usable.
|
|
32
|
+
*/
|
|
21
33
|
contextMenu?: boolean;
|
|
22
34
|
}
|
|
23
35
|
export interface IUIController {
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { MenuSchemaType, IMenuManagerService, MenuManagerPosition, RibbonPosition, RibbonStartGroup } from '@univerjs/ui';
|
|
2
|
+
import { FBase, ICommandService, Injector } from '@univerjs/core';
|
|
3
|
+
export interface IFacadeMenuItem {
|
|
4
|
+
/**
|
|
5
|
+
* The unique identifier of the menu item.
|
|
6
|
+
*/
|
|
7
|
+
id: string;
|
|
8
|
+
/**
|
|
9
|
+
* Icon of the menu item.
|
|
10
|
+
*/
|
|
11
|
+
icon?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Title of the menu item.
|
|
14
|
+
*/
|
|
15
|
+
title: string;
|
|
16
|
+
/**
|
|
17
|
+
* The tooltip to show when the mouse hovers over the menu item.
|
|
18
|
+
*/
|
|
19
|
+
tooltip?: string;
|
|
20
|
+
/**
|
|
21
|
+
* The command to execute when the menu item is clicked. It can also be a callback function to
|
|
22
|
+
* execute any custom logic.
|
|
23
|
+
*/
|
|
24
|
+
action: string | (() => void);
|
|
25
|
+
/**
|
|
26
|
+
* The order of the menu item in the submenu.
|
|
27
|
+
*/
|
|
28
|
+
order?: number;
|
|
29
|
+
}
|
|
30
|
+
export interface IFacadeSubmenuItem {
|
|
31
|
+
/**
|
|
32
|
+
* The unique identifier of the menu item.
|
|
33
|
+
*/
|
|
34
|
+
id: string;
|
|
35
|
+
/**
|
|
36
|
+
* Icon of the menu item.
|
|
37
|
+
*/
|
|
38
|
+
icon?: string;
|
|
39
|
+
/**
|
|
40
|
+
* Title of the menu item.
|
|
41
|
+
*/
|
|
42
|
+
title: string;
|
|
43
|
+
/**
|
|
44
|
+
* The tooltip to show when the mouse hovers over the menu item.
|
|
45
|
+
*/
|
|
46
|
+
tooltip?: string;
|
|
47
|
+
/**
|
|
48
|
+
* The order of the menu item in the submenu.
|
|
49
|
+
*/
|
|
50
|
+
order?: number;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* This is a build for adding a menu to Univer. Please notice that until the `appendTo` method is called,
|
|
54
|
+
* the menu item is not added to the UI. Please note that this menu cannot have submenus. If you want to
|
|
55
|
+
* have submenus, please use `FSubmenu`.
|
|
56
|
+
*/
|
|
57
|
+
export declare class FMenu extends FBase {
|
|
58
|
+
private readonly _item;
|
|
59
|
+
protected readonly _injector: Injector;
|
|
60
|
+
protected readonly _commandService: ICommandService;
|
|
61
|
+
protected readonly _menuManagerService: IMenuManagerService;
|
|
62
|
+
static RibbonStartGroup: typeof RibbonStartGroup;
|
|
63
|
+
static RibbonPosition: typeof RibbonPosition;
|
|
64
|
+
static MenuManagerPosition: typeof MenuManagerPosition;
|
|
65
|
+
private _commandToRegister;
|
|
66
|
+
private _buildingSchema;
|
|
67
|
+
constructor(_item: IFacadeMenuItem, _injector: Injector, _commandService: ICommandService, _menuManagerService: IMenuManagerService);
|
|
68
|
+
/** @ignore */
|
|
69
|
+
__getSchema(): {
|
|
70
|
+
[key: string]: MenuSchemaType;
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* Append the menu to any menu position on Univer UI.
|
|
74
|
+
* @param path Some predefined path to append the menu.
|
|
75
|
+
*/
|
|
76
|
+
appendTo(path: string): void;
|
|
77
|
+
}
|
|
78
|
+
export declare class FSubmenu extends FBase {
|
|
79
|
+
private readonly _item;
|
|
80
|
+
protected readonly _injector: Injector;
|
|
81
|
+
protected readonly _menuManagerService: IMenuManagerService;
|
|
82
|
+
private _menuByGroups;
|
|
83
|
+
private _submenus;
|
|
84
|
+
private _buildingSchema;
|
|
85
|
+
constructor(_item: IFacadeSubmenuItem, _injector: Injector, _menuManagerService: IMenuManagerService);
|
|
86
|
+
/**
|
|
87
|
+
* Add a menu to the submenu. It can be a {@link FMenu} or a {@link FSubmenu}.
|
|
88
|
+
* @param submenu Menu to add to the submenu.
|
|
89
|
+
* @returns The FSubmenu itself for chaining calls.
|
|
90
|
+
*/
|
|
91
|
+
addSubmenu(submenu: FMenu | FSubmenu): this;
|
|
92
|
+
/**
|
|
93
|
+
* Add a separator to the submenu.
|
|
94
|
+
* @returns The FSubmenu itself for chaining calls.
|
|
95
|
+
*/
|
|
96
|
+
addSeparator(): this;
|
|
97
|
+
/**
|
|
98
|
+
* Append the menu to any menu position on Univer UI.
|
|
99
|
+
* @param path Some predefined path to append the menu.
|
|
100
|
+
*/
|
|
101
|
+
appendTo(path: string): void;
|
|
102
|
+
/** @ignore */
|
|
103
|
+
__getSchema(): {
|
|
104
|
+
[key: string]: MenuSchemaType;
|
|
105
|
+
};
|
|
106
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { IShortcutItem, IShortcutService } from '@univerjs/ui';
|
|
2
|
+
import { FBase, Injector } from '@univerjs/core';
|
|
3
|
+
export declare class FShortcut extends FBase {
|
|
4
|
+
protected readonly _injector: Injector;
|
|
5
|
+
protected readonly _shortcutService: IShortcutService;
|
|
6
|
+
private _forceEscapeDisposable;
|
|
7
|
+
constructor(_injector: Injector, _shortcutService: IShortcutService);
|
|
8
|
+
enableShortcut(): void;
|
|
9
|
+
disableShortcut(): void;
|
|
10
|
+
dispatchShortcutEvent(e: KeyboardEvent): IShortcutItem<object> | undefined;
|
|
11
|
+
}
|
|
@@ -1,14 +1,76 @@
|
|
|
1
1
|
import { IDisposable, FUniver } from '@univerjs/core';
|
|
2
|
+
import { IMessageProps } from '@univerjs/design';
|
|
2
3
|
import { IDialogPartMethodOptions, ISidebarMethodOptions, ComponentManager } from '@univerjs/ui';
|
|
4
|
+
import { IFacadeMenuItem, IFacadeSubmenuItem, FMenu, FSubmenu } from './f-menu-builder';
|
|
5
|
+
import { FShortcut } from './f-shortcut';
|
|
3
6
|
export interface IFUniverUIMixin {
|
|
7
|
+
/**
|
|
8
|
+
* Return the URL of the current page.
|
|
9
|
+
* @returns the [URL](https://developer.mozilla.org/en-US/docs/Web/API/URL) object
|
|
10
|
+
*/
|
|
11
|
+
getURL(): URL;
|
|
12
|
+
/**
|
|
13
|
+
* Get the Shortcut handler to interact with Univer's shortcut functionalities.
|
|
14
|
+
*/
|
|
15
|
+
getShortcut(): FShortcut;
|
|
16
|
+
/**
|
|
17
|
+
* Copy the current selected content of the currently focused unit into your system clipboard.
|
|
18
|
+
*/
|
|
4
19
|
copy(): Promise<boolean>;
|
|
20
|
+
/**
|
|
21
|
+
* Paste into the current selected position of the currently focused unit from your system clipboard.
|
|
22
|
+
*/
|
|
5
23
|
paste(): Promise<boolean>;
|
|
24
|
+
/**
|
|
25
|
+
* Create a menu build object. You can insert new menus into the UI.
|
|
26
|
+
* @param {IFacadeMenuItem} menuItem the menu item
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```ts
|
|
30
|
+
* univerAPI.createMenu({
|
|
31
|
+
* id: 'custom-menu',
|
|
32
|
+
* title: 'Custom Menu',
|
|
33
|
+
* action: () => {},
|
|
34
|
+
* }).appendTo('ribbon.start.others');
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* @returns the {@link FMenu} object
|
|
38
|
+
*/
|
|
39
|
+
createMenu(menuItem: IFacadeMenuItem): FMenu;
|
|
40
|
+
/**
|
|
41
|
+
* Create a menu that contains submenus, and later you can append this menu and its submenus to the UI.
|
|
42
|
+
* @param submenuItem the submenu item
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```ts
|
|
46
|
+
* univerAPI.createSubmenu({ id: 'custom-submenu', title: 'Custom Submenu' })
|
|
47
|
+
* .addSubmenu(univerAPI.createSubmenu({ id: 'submenu-nested', title: 'Nested Submenu' })
|
|
48
|
+
* .addSubmenu(univerAPI.createMenu({ id: 'submenu-nested-1', title: 'Item 1', action: () => {} }))
|
|
49
|
+
* .addSeparator()
|
|
50
|
+
* .addSubmenu(univerAPI.createMenu({ id: 'submenu-nested-2', title: 'Item 2', action: () => {} }))
|
|
51
|
+
* )
|
|
52
|
+
* .appendTo('contextMenu.others');
|
|
53
|
+
* ```
|
|
54
|
+
*
|
|
55
|
+
* @returns the {@link FSubmenu} object
|
|
56
|
+
*/
|
|
57
|
+
createSubmenu(submenuItem: IFacadeSubmenuItem): FSubmenu;
|
|
6
58
|
/**
|
|
7
59
|
* Open a sidebar.
|
|
60
|
+
*
|
|
61
|
+
* @deprecated Please use `openSidebar` instead.
|
|
8
62
|
* @param params the sidebar options
|
|
9
63
|
* @returns the disposable object
|
|
10
64
|
*/
|
|
11
65
|
openSiderbar(params: ISidebarMethodOptions): IDisposable;
|
|
66
|
+
/**
|
|
67
|
+
* Open a sidebar.
|
|
68
|
+
*
|
|
69
|
+
* @deprecated Please use `openSidebar` instead.
|
|
70
|
+
* @param params the sidebar options
|
|
71
|
+
* @returns the disposable object
|
|
72
|
+
*/
|
|
73
|
+
openSidebar(params: ISidebarMethodOptions): IDisposable;
|
|
12
74
|
/**
|
|
13
75
|
* Open a dialog.
|
|
14
76
|
* @param dialog the dialog options
|
|
@@ -20,13 +82,30 @@ export interface IFUniverUIMixin {
|
|
|
20
82
|
* @returns The component manager
|
|
21
83
|
*/
|
|
22
84
|
getComponentManager(): ComponentManager;
|
|
85
|
+
/**
|
|
86
|
+
* Show a message.
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* ```ts
|
|
90
|
+
* const message = univerAPI.showMessage({ key: 'my-message', content: 'Warning', duration: 0 });
|
|
91
|
+
*
|
|
92
|
+
* someAction().then(() => message.dispose());
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
showMessage(options: IMessageProps): void;
|
|
23
96
|
}
|
|
24
97
|
export declare class FUniverUIMixin extends FUniver implements IFUniverUIMixin {
|
|
98
|
+
getURL(): URL;
|
|
99
|
+
getShortcut(): FShortcut;
|
|
25
100
|
copy(): Promise<boolean>;
|
|
26
101
|
paste(): Promise<boolean>;
|
|
102
|
+
createMenu(menuItem: IFacadeMenuItem): FMenu;
|
|
103
|
+
createSubmenu(submenuItem: IFacadeSubmenuItem): FSubmenu;
|
|
27
104
|
openSiderbar(params: ISidebarMethodOptions): IDisposable;
|
|
105
|
+
openSidebar(params: ISidebarMethodOptions): IDisposable;
|
|
28
106
|
openDialog(dialog: IDialogPartMethodOptions): IDisposable;
|
|
29
107
|
getComponentManager(): ComponentManager;
|
|
108
|
+
showMessage(options: IMessageProps): void;
|
|
30
109
|
}
|
|
31
110
|
declare module '@univerjs/core' {
|
|
32
111
|
interface FUniver extends IFUniverUIMixin {
|
package/lib/types/index.d.ts
CHANGED
|
@@ -36,7 +36,7 @@ export { IUIController, type IWorkbenchOptions } from './controllers/ui/ui.contr
|
|
|
36
36
|
export { DesktopUIController } from './controllers/ui/ui-desktop.controller';
|
|
37
37
|
export { UniverMobileUIPlugin } from './mobile-ui-plugin';
|
|
38
38
|
export { DesktopBeforeCloseService, IBeforeCloseService } from './services/before-close/before-close.service';
|
|
39
|
-
export { CopyCommand, CutCommand, PasteCommand } from './services/clipboard/clipboard.command';
|
|
39
|
+
export { CopyCommand, CutCommand, PasteCommand, SheetPasteShortKeyCommandName } from './services/clipboard/clipboard.command';
|
|
40
40
|
export { BrowserClipboardService, FILE__BMP_CLIPBOARD_MIME_TYPE, FILE__JPEG_CLIPBOARD_MIME_TYPE, FILE__WEBP_CLIPBOARD_MIME_TYPE, FILE_PNG_CLIPBOARD_MIME_TYPE, FILE_SVG_XML_CLIPBOARD_MIME_TYPE, HTML_CLIPBOARD_MIME_TYPE, IClipboardInterfaceService, PLAIN_TEXT_CLIPBOARD_MIME_TYPE, } from './services/clipboard/clipboard-interface.service';
|
|
41
41
|
export { IConfirmService } from './services/confirm/confirm.service';
|
|
42
42
|
export { DesktopConfirmService } from './services/confirm/desktop-confirm.service';
|
|
@@ -2,3 +2,4 @@ import { IMultiCommand } from '@univerjs/core';
|
|
|
2
2
|
export declare const CopyCommand: IMultiCommand;
|
|
3
3
|
export declare const CutCommand: IMultiCommand;
|
|
4
4
|
export declare const PasteCommand: IMultiCommand;
|
|
5
|
+
export declare const SheetPasteShortKeyCommandName = "sheet.command.paste-bu-short-key";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { IDialogPartMethodOptions } from '../../views/components/dialog-part/interface';
|
|
2
|
+
import { IDialogService } from './dialog.service';
|
|
1
3
|
import { Disposable, IDisposable, Injector } from '@univerjs/core';
|
|
2
4
|
import { Subject } from 'rxjs';
|
|
3
|
-
import { IDialogPartMethodOptions } from '../../views/components/dialog-part/interface';
|
|
4
5
|
import { IUIPartsService } from '../parts/parts.service';
|
|
5
|
-
import { IDialogService } from './dialog.service';
|
|
6
6
|
export declare class DesktopDialogService extends Disposable implements IDialogService {
|
|
7
7
|
protected readonly _injector: Injector;
|
|
8
8
|
protected readonly _uiPartsService: IUIPartsService;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { IMessageOptions, IMessageProps } from '@univerjs/design';
|
|
2
1
|
import { IDisposable } from '@univerjs/core';
|
|
2
|
+
import { IMessageProps } from '@univerjs/design';
|
|
3
3
|
import { IMessageService } from '../message.service';
|
|
4
4
|
/**
|
|
5
5
|
* This is a mocked message service for testing purposes.
|
|
6
6
|
*/
|
|
7
7
|
export declare class MockMessageService implements IMessageService {
|
|
8
|
-
show(_options:
|
|
8
|
+
show(_options: IMessageProps): IDisposable;
|
|
9
9
|
setContainer(): void;
|
|
10
10
|
getContainer(): HTMLElement | undefined;
|
|
11
11
|
}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { IMessageOptions, IMessageProps, Message } from '@univerjs/design';
|
|
1
|
+
import { IMessageProps } from '@univerjs/design';
|
|
3
2
|
import { IMessageService } from './message.service';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
import { Disposable, Injector } from '@univerjs/core';
|
|
4
|
+
import { IUIPartsService } from '../parts/parts.service';
|
|
5
|
+
export declare class DesktopMessageService extends Disposable implements IMessageService {
|
|
6
|
+
protected readonly _injector: Injector;
|
|
7
|
+
protected readonly _uiPartsService: IUIPartsService;
|
|
8
|
+
constructor(_injector: Injector, _uiPartsService: IUIPartsService);
|
|
9
|
+
protected _initUIPart(): void;
|
|
7
10
|
dispose(): void;
|
|
8
|
-
|
|
9
|
-
getContainer(): HTMLElement | undefined;
|
|
10
|
-
show(options: IMessageOptions & Omit<IMessageProps, 'key'>): IDisposable;
|
|
11
|
+
show(options: IMessageProps): void;
|
|
11
12
|
}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { IMessageOptions } from '@univerjs/design';
|
|
1
|
+
import { IMessageProps } from '@univerjs/design';
|
|
3
2
|
export declare const IMessageService: import('@wendellhu/redi').IdentifierDecorator<IMessageService>;
|
|
4
3
|
export interface IMessageService {
|
|
5
|
-
show(options:
|
|
6
|
-
setContainer(container: HTMLElement): void;
|
|
7
|
-
getContainer(): HTMLElement | undefined;
|
|
4
|
+
show(options: IMessageProps): void;
|
|
8
5
|
}
|
|
@@ -11,7 +11,8 @@ export declare enum BuiltInUIPart {
|
|
|
11
11
|
FOOTER = "footer",
|
|
12
12
|
LEFT_SIDEBAR = "left-sidebar",
|
|
13
13
|
FLOATING = "floating",
|
|
14
|
-
UNIT = "unit"
|
|
14
|
+
UNIT = "unit",
|
|
15
|
+
CUSTOM_HEADER = "custom-header"
|
|
15
16
|
}
|
|
16
17
|
export interface IUIPartsService {
|
|
17
18
|
componentRegistered$: Observable<ComponentPartKey>;
|
|
@@ -70,6 +70,11 @@ export interface IShortcutService {
|
|
|
70
70
|
* @returns {IDisposable} a disposable that could be used to cancel the force escaping.
|
|
71
71
|
*/
|
|
72
72
|
forceEscape(): IDisposable;
|
|
73
|
+
/**
|
|
74
|
+
* Dispatch a keyboard event to the shortcut service and check if there is a shortcut that matches the event.
|
|
75
|
+
* @param e - the keyboard event to be dispatched.
|
|
76
|
+
*/
|
|
77
|
+
dispatch(e: KeyboardEvent): IShortcutItem<object> | undefined;
|
|
73
78
|
/**
|
|
74
79
|
* Register a shortcut item to the shortcut service.
|
|
75
80
|
* @param {IShortcutItem} shortcut - the shortcut item to be registered.
|
|
@@ -115,7 +120,7 @@ export declare class ShortcutService extends Disposable implements IShortcutServ
|
|
|
115
120
|
private _emitShortcutChanged;
|
|
116
121
|
forceEscape(): IDisposable;
|
|
117
122
|
private _resolveKeyboardEvent;
|
|
118
|
-
|
|
123
|
+
dispatch(e: KeyboardEvent): IShortcutItem<object> | undefined;
|
|
119
124
|
private _getBindingFromItem;
|
|
120
125
|
private _deriveBindingFromEvent;
|
|
121
126
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { IDropdownProps } from '@univerjs/design';
|
|
1
|
+
import { IDropdownLegacyProps } from '@univerjs/design';
|
|
3
2
|
import { IDisplayMenuItem, IMenuItem } from '../../../services/menu/menu';
|
|
3
|
+
import { default as React } from 'react';
|
|
4
4
|
export declare const ToolbarItem: React.ForwardRefExoticComponent<(IDisplayMenuItem<IMenuItem> & {
|
|
5
|
-
align?:
|
|
5
|
+
align?: IDropdownLegacyProps["align"];
|
|
6
6
|
}) & React.RefAttributes<any>>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IDropdownLegacyProps, ITooltipProps, NullableTooltipRef } from '@univerjs/design';
|
|
2
2
|
import { default as React } from 'react';
|
|
3
3
|
export declare const TooltipWrapper: React.ForwardRefExoticComponent<ITooltipProps & React.RefAttributes<NullableTooltipRef>>;
|
|
4
|
-
export declare function DropdownWrapper(props:
|
|
4
|
+
export declare function DropdownWrapper(props: IDropdownLegacyProps): React.JSX.Element;
|
package/lib/umd/facade.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(n,i){typeof exports=="object"&&typeof module<"u"?i(require("@univerjs/core"),require("@univerjs/ui")):typeof define=="function"&&define.amd?define(["@univerjs/core","@univerjs/ui"],i):(n=typeof globalThis<"u"?globalThis:n||self,i(n.UniverCore,n.UniverUi))})(this,function(n,i){"use strict";var M=Object.defineProperty;var y=(n,i,m)=>i in n?M(n,i,{enumerable:!0,configurable:!0,writable:!0,value:m}):n[i]=m;var c=(n,i,m)=>y(n,typeof i!="symbol"?i+"":i,m);var u;var m=Object.defineProperty,l=Object.getOwnPropertyDescriptor,v=(o,e,t,r)=>{for(var s=r>1?void 0:r?l(e,t):e,a=o.length-1,d;a>=0;a--)(d=o[a])&&(s=(r?d(e,t,s):d(s))||s);return r&&s&&m(e,t,s),s},h=(o,e)=>(t,r)=>e(t,r,o);let p=(u=class extends n.FBase{constructor(e,t,r,s){super();c(this,"_commandToRegister",new Map);c(this,"_buildingSchema");this._item=e,this._injector=t,this._commandService=r,this._menuManagerService=s;const a=typeof e.action=="string"?e.action:n.Tools.generateRandomId(12);a!==e.action&&this._commandToRegister.set(a,e.action),this._buildingSchema={menuItemFactory:()=>({id:e.id,type:i.MenuItemType.BUTTON,icon:e.icon,title:e.title,tooltip:e.tooltip,commandId:a})},typeof e.order<"u"&&(this._buildingSchema.order=e.order)}__getSchema(){return this._commandToRegister.forEach((e,t)=>{this._commandService.hasCommand(t)||this._commandService.registerCommand({id:t,type:n.CommandType.COMMAND,handler:e})}),{[this._item.id]:this._buildingSchema}}appendTo(e){const t=this.__getSchema();this._menuManagerService.mergeMenu({[e]:t})}},c(u,"RibbonStartGroup",i.RibbonStartGroup),c(u,"RibbonPosition",i.RibbonPosition),c(u,"MenuManagerPosition",i.MenuManagerPosition),u);p=v([h(1,n.Inject(n.Injector)),h(2,n.ICommandService),h(3,i.IMenuManagerService)],p);let S=class extends n.FBase{constructor(e,t,r){super();c(this,"_menuByGroups",[]);c(this,"_submenus",[]);c(this,"_buildingSchema");this._item=e,this._injector=t,this._menuManagerService=r,this._buildingSchema={menuItemFactory:()=>({id:e.id,type:i.MenuItemType.SUBITEMS,icon:e.icon,title:e.title,tooltip:e.tooltip})},typeof e.order<"u"&&(this._buildingSchema.order=e.order)}addSubmenu(e){return this._submenus.push(e),this}addSeparator(){return this._menuByGroups.push(this._submenus),this._submenus=[],this}appendTo(e){const t=this.__getSchema();this._menuManagerService.mergeMenu({[e]:t})}__getSchema(){const e={};return this.addSeparator(),this._menuByGroups.forEach((t,r)=>{const s={};t.forEach(a=>{Object.assign(s,a.__getSchema())}),e[`${this._item.id}-group-${r}`]=s}),{[this._item.id]:Object.assign(this._buildingSchema,e)}}};S=v([h(1,n.Inject(n.Injector)),h(2,i.IMenuManagerService)],S);var f=Object.defineProperty,b=Object.getOwnPropertyDescriptor,C=(o,e,t,r)=>{for(var s=r>1?void 0:r?b(e,t):e,a=o.length-1,d;a>=0;a--)(d=o[a])&&(s=(r?d(e,t,s):d(s))||s);return r&&s&&f(e,t,s),s},g=(o,e)=>(t,r)=>e(t,r,o);let _=class extends n.FBase{constructor(e,t){super();c(this,"_forceEscapeDisposable",null);this._injector=e,this._shortcutService=t}enableShortcut(){var e;(e=this._forceEscapeDisposable)==null||e.dispose(),this._forceEscapeDisposable=null}disableShortcut(){this._forceEscapeDisposable||(this._forceEscapeDisposable=this._shortcutService.forceEscape())}dispatchShortcutEvent(e){return this._shortcutService.dispatch(e)}};_=C([g(0,n.Inject(n.Injector)),g(1,i.IShortcutService)],_);class j extends n.FUniver{getURL(){return new URL(window.location.href)}getShortcut(){return this._injector.createInstance(_)}copy(){return this._commandService.executeCommand(i.CopyCommand.id)}paste(){return this._commandService.executeCommand(i.PasteCommand.id)}createMenu(e){return this._injector.createInstance(p,e)}createSubmenu(e){return this._injector.createInstance(S,e)}openSiderbar(e){return this._injector.get(i.ISidebarService).open(e)}openSidebar(e){return this.openSiderbar(e)}openDialog(e){const r=this._injector.get(i.IDialogService).open({...e,onClose:()=>{r.dispose()}});return r}getComponentManager(){return this._injector.get(i.ComponentManager)}showMessage(e){this._injector.get(i.IMessageService).show(e)}}n.FUniver.extend(j);class I extends n.FHooks{onBeforeCopy(e){return this._injector.get(n.ICommandService).beforeCommandExecuted(r=>{r.id===i.CopyCommand.id&&e()})}onCopy(e){return this._injector.get(n.ICommandService).onCommandExecuted(r=>{r.id===i.CopyCommand.id&&e()})}onBeforePaste(e){return this._injector.get(n.ICommandService).beforeCommandExecuted(r=>{r.id===i.PasteCommand.id&&e()})}onPaste(e){return this._injector.get(n.ICommandService).onCommandExecuted(r=>{(r.id===i.PasteCommand.id||r.id===i.SheetPasteShortKeyCommandName)&&e()})}}n.FHooks.extend(I)});
|