@univerjs/ui 0.2.12 → 0.2.14

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.
Files changed (37) hide show
  1. package/lib/cjs/index.js +13 -13
  2. package/lib/es/index.js +5947 -5832
  3. package/lib/index.css +1 -1
  4. package/lib/types/common/menu-hidden-observable.d.ts +1 -1
  5. package/lib/types/components/editor/TextEditor.d.ts +2 -1
  6. package/lib/types/components/hooks/event.d.ts +1 -1
  7. package/lib/types/components/range-selector/RangeSelector.d.ts +3 -1
  8. package/lib/types/controllers/ui/ui.controller.d.ts +1 -1
  9. package/lib/types/index.d.ts +50 -49
  10. package/lib/types/services/before-close/before-close.service.d.ts +1 -1
  11. package/lib/types/services/clipboard/clipboard-interface.service.d.ts +1 -1
  12. package/lib/types/services/confirm/confirm.service.d.ts +1 -1
  13. package/lib/types/services/contextmenu/contextmenu.service.d.ts +1 -1
  14. package/lib/types/services/dialog/dialog.service.d.ts +1 -1
  15. package/lib/types/services/editor/editor.service.d.ts +4 -4
  16. package/lib/types/services/global-zone/global-zone.service.d.ts +1 -1
  17. package/lib/types/services/layout/layout.service.d.ts +1 -1
  18. package/lib/types/services/local-file/desktop-file-opener.service.d.ts +15 -0
  19. package/lib/types/services/local-file/file-opener.service.d.ts +27 -0
  20. package/lib/types/services/menu/menu-manager.service.d.ts +1 -1
  21. package/lib/types/services/menu/menu.service.d.ts +1 -1
  22. package/lib/types/services/message/message.service.d.ts +1 -1
  23. package/lib/types/services/notification/notification.service.d.ts +1 -1
  24. package/lib/types/services/parts/parts.service.d.ts +1 -1
  25. package/lib/types/services/platform/platform.service.d.ts +1 -1
  26. package/lib/types/services/popup/canvas-popup.service.d.ts +12 -2
  27. package/lib/types/services/progress/progress.service.d.ts +1 -1
  28. package/lib/types/services/range-selector/range-selector.service.d.ts +8 -1
  29. package/lib/types/services/shortcut/shortcut.service.d.ts +1 -1
  30. package/lib/types/services/sidebar/sidebar.service.d.ts +2 -2
  31. package/lib/types/services/zen-zone/desktop-zen-zone.service.d.ts +6 -1
  32. package/lib/types/services/zen-zone/zen-zone.service.d.ts +12 -2
  33. package/lib/types/ui-plugin.d.ts +1 -1
  34. package/lib/types/views/components/ribbon/Ribbon.d.ts +1 -1
  35. package/lib/types/views/components/ribbon/ToolbarItem.d.ts +1 -1
  36. package/lib/umd/index.js +10 -10
  37. package/package.json +17 -17
package/lib/index.css CHANGED
@@ -1 +1 @@
1
- .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-float-dom-wrapper{z-index:10}.univer-float-dom{overflow:hidden}.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-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));transition:all .15s}.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;display:none}.univer-zen-zone-open{z-index:100;top:0;left:0;display:block;width:100%;height:100%;background:rgb(var(--bg-color))}.univer-zen-zone-close{display:none}.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-canvas{position:relative;overflow:hidden}.univer-workbench-container-left-sidebar,.univer-workbench-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}}.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-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-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-text-editor-container{position:relative;width:100%;height:30px;user-select:none;border:1px solid rgb(var(--border-color));transition:all .15s;border-radius:var(--border-radius-base)}.univer-text-editor-container:hover,.univer-text-editor-container:active,.univer-text-editor-container-active,.univer-text-editor-container-active:hover{border:1px solid rgb(var(--hyacinth-500))}.univer-text-editor-container-error,.univer-text-editor-container-error:hover{border:1px solid rgb(var(--red-400))}.univer-text-editor-container-disabled,.univer-text-editor-container-disabled:hover{border-color:rgb(var(--grey-100))}.univer-text-editor-container-placeholder{position:absolute;top:49%;left:5px;transform:translateY(-50%);color:rgb(var(--grey-400));font-size:var(--font-size-xs);pointer-events:none}.univer-text-editor-validation-error{position:absolute;top:-16px;font-size:10px;color:rgb(var(--red-400))}.univer-range-selector{overflow:hidden;display:flex;align-items:center;justify-content:space-between;color:rgb(var(--grey-600));border:1px solid rgb(var(--border-color));border-radius:var(--border-radius-base);width:220px;height:28px}.univer-range-selector-editor{position:relative;user-select:none;width:100%;height:100%;border:0;outline:0}.univer-range-selector-icon{cursor:pointer;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;margin-right:4px;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-range-selector-icon:not([disabled]):hover{background-color:rgb(var(--grey-100))}.univer-range-selector-icon[disabled]{cursor:not-allowed;color:rgb(var(--grey-200))}.univer-range-selector:hover,.univer-range-selector-active{border-color:rgb(var(--hyacinth-500))}.univer-range-selector-active .univer-range-selector-icon{color:rgb(var(--hyacinth-500))}.univer-range-selector-error{border-color:rgb(var(--red-400))}.univer-range-selector-error .univer-range-selector-icon{color:rgb(var(--red-400))}.univer-range-selector-error:hover{border-color:rgb(var(--red-400))}.univer-range-selector-disabled{border-color:rgb(var(--grey-100))}.univer-range-selector-disabled .univer-range-selector-icon{color:rgb(var(--grey-100))}.univer-range-selector-disabled:hover{border-color:rgb(var(--grey-100))}.univer-range-selector-modal{position:relative;max-height:500px;overflow:hidden;overflow-y:auto}.univer-range-selector-modal-container{display:flex;flex-direction:row;align-items:center;margin-bottom:10px}.univer-range-selector-modal-container-input{display:inline-block;width:280px}.univer-range-selector-modal-container-input-active{border-color:rgb(var(--hyacinth-500))}.univer-range-selector-modal-container-button{display:inline-block;text-align:center;width:28px}.univer-range-selector-modal-container-button:hover{cursor:pointer;color:rgb(var(--hyacinth-500))}.univer-range-selector-modal-container-delete-button{margin:auto}.univer-range-selector-modal-add{position:relative;width:300px;margin-top:5px;text-align:left;color:rgb(var(--hyacinth-500));font-size:var(--font-size-xs)}.univer-range-selector-modal-add .univer-range-selector-modal-add-button{display:flex;align-items:center;justify-content:center}.univer-range-selector-modal-add .univer-range-selector-modal-add-button:hover{cursor:pointer;background-color:rgb(var(--hyacinth-500),.05)}.univer-progress-bar{width:160px;height:4px;background-color:rgb(var(--border-color));border-radius:var(--border-radius-lg);margin-right:8px}.univer-progress-bar-container{display:flex;align-items:center;margin:0 8px}.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:12px;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))}
1
+ .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-text-editor-container{position:relative;width:100%;height:30px;user-select:none;border:1px solid rgb(var(--border-color));transition:all .15s;border-radius:var(--border-radius-base)}.univer-text-editor-container:hover,.univer-text-editor-container:active,.univer-text-editor-container-active,.univer-text-editor-container-active:hover{border:1px solid rgb(var(--hyacinth-500))}.univer-text-editor-container-error,.univer-text-editor-container-error:hover{border:1px solid rgb(var(--red-400))}.univer-text-editor-container-disabled,.univer-text-editor-container-disabled:hover{border-color:rgb(var(--grey-100))}.univer-text-editor-container-placeholder{position:absolute;top:49%;left:5px;transform:translateY(-50%);color:rgb(var(--grey-400));font-size:var(--font-size-xs);pointer-events:none}.univer-text-editor-validation-error{position:absolute;top:-16px;font-size:10px;color:rgb(var(--red-400))}.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:8px}.univer-progress-bar-container{display:flex;align-items:center;margin:0 8px}.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:12px;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-range-selector{overflow:hidden;display:flex;align-items:center;justify-content:space-between;color:rgb(var(--grey-600));border:1px solid rgb(var(--border-color));border-radius:var(--border-radius-base);width:220px;height:28px}.univer-range-selector-editor{position:relative;user-select:none;width:100%;height:100%;border:0;outline:0}.univer-range-selector-icon{cursor:pointer;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;margin-right:4px;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-range-selector-icon:not([disabled]):hover{background-color:rgb(var(--grey-100))}.univer-range-selector-icon[disabled]{cursor:not-allowed;color:rgb(var(--grey-200))}.univer-range-selector:hover,.univer-range-selector-active{border-color:rgb(var(--hyacinth-500))}.univer-range-selector-active .univer-range-selector-icon{color:rgb(var(--hyacinth-500))}.univer-range-selector-error{border-color:rgb(var(--red-400))}.univer-range-selector-error .univer-range-selector-icon{color:rgb(var(--red-400))}.univer-range-selector-error:hover{border-color:rgb(var(--red-400))}.univer-range-selector-disabled{border-color:rgb(var(--grey-100))}.univer-range-selector-disabled .univer-range-selector-icon{color:rgb(var(--grey-100))}.univer-range-selector-disabled:hover{border-color:rgb(var(--grey-100))}.univer-range-selector-modal{position:relative;max-height:500px;overflow:hidden;overflow-y:auto}.univer-range-selector-modal-container{display:flex;flex-direction:row;align-items:center;margin-bottom:10px}.univer-range-selector-modal-container-input{display:inline-block;width:280px}.univer-range-selector-modal-container-input-active{border-color:rgb(var(--hyacinth-500))}.univer-range-selector-modal-container-button{display:inline-block;text-align:center;width:28px}.univer-range-selector-modal-container-button:hover{cursor:pointer;color:rgb(var(--hyacinth-500))}.univer-range-selector-modal-container-delete-button{margin:auto}.univer-range-selector-modal-add{position:relative;width:300px;margin-top:5px;text-align:left;color:rgb(var(--hyacinth-500));font-size:var(--font-size-xs)}.univer-range-selector-modal-add .univer-range-selector-modal-add-button{display:flex;align-items:center;justify-content:center}.univer-range-selector-modal-add .univer-range-selector-modal-add-button:hover{cursor:pointer;background-color:rgb(var(--hyacinth-500),.05)}.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));transition:all .15s}.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;display:none}.univer-zen-zone-open{z-index:100;top:0;left:0;display:block;width:100%;height:100%;background:rgb(var(--bg-color))}.univer-zen-zone-close{display:none}.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-canvas{position:relative;overflow:hidden}.univer-workbench-container-left-sidebar,.univer-workbench-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}}.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-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}
@@ -1,4 +1,4 @@
1
1
  import { IAccessor, UniverInstanceType } from '@univerjs/core';
2
2
  import { Observable } from 'rxjs';
3
- export declare function getMenuHiddenObservable(accessor: IAccessor, targetUniverType: UniverInstanceType): Observable<boolean>;
3
+ export declare function getMenuHiddenObservable(accessor: IAccessor, targetUniverType: UniverInstanceType, matchUnitId?: string): Observable<boolean>;
4
4
  export declare function getHeaderFooterMenuHiddenObservable(accessor: IAccessor): Observable<boolean>;
@@ -1,5 +1,5 @@
1
- import { IDocumentData, Nullable } from '@univerjs/core';
2
1
  import { default as React } from 'react';
2
+ import { IDocumentData, Nullable } from '@univerjs/core';
3
3
  import { IEditorCanvasStyle } from '../../services/editor/editor.service';
4
4
  type MyComponentProps = React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>;
5
5
  export interface ITextEditorProps {
@@ -25,6 +25,7 @@ export interface ITextEditorProps {
25
25
  onValid?: (state: boolean) => void;
26
26
  placeholder?: string;
27
27
  isValueValid?: boolean;
28
+ disbaled?: boolean;
28
29
  }
29
30
  /**
30
31
  * The component to render toolbar item label and menu item label.
@@ -13,4 +13,4 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- export declare function useEvent<T extends (...params: any[]) => any>(func: T): T;
16
+ export declare function useEvent<T extends (...params: any[]) => any>(func: T | undefined): T;
@@ -1,5 +1,5 @@
1
- import { IUnitRangeWithName, Nullable } from '@univerjs/core';
2
1
  import { default as React } from 'react';
2
+ import { IUnitRangeWithName, Nullable } from '@univerjs/core';
3
3
  export interface IRangeSelectorProps {
4
4
  id: string;
5
5
  value?: string;
@@ -15,5 +15,7 @@ export interface IRangeSelectorProps {
15
15
  placeholder?: string;
16
16
  className?: string;
17
17
  textEditorClassName?: string;
18
+ onSelectorVisibleChange?: (visible: boolean) => void;
19
+ disableInput?: boolean;
18
20
  }
19
21
  export declare function RangeSelector(props: IRangeSelectorProps): React.JSX.Element;
@@ -22,4 +22,4 @@ export interface IWorkbenchOptions {
22
22
  }
23
23
  export interface IUIController {
24
24
  }
25
- export declare const IUIController: import('@univerjs/core').IdentifierDecorator<IUIController>;
25
+ export declare const IUIController: import('@wendellhu/redi').IdentifierDecorator<IUIController>;
@@ -13,18 +13,30 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
+ export { SetEditorResizeOperation } from './commands/operations/editor/set-editor-resize.operation';
17
+ export { ToggleShortcutPanelOperation } from './commands/operations/toggle-shortcut-panel.operation';
16
18
  export * from './common';
17
- export { getMenuHiddenObservable, getHeaderFooterMenuHiddenObservable } from './common/menu-hidden-observable';
19
+ export { getHeaderFooterMenuHiddenObservable, getMenuHiddenObservable } from './common/menu-hidden-observable';
20
+ export { mergeMenuConfigs } from './common/menu-merge-configs';
18
21
  export * from './components';
22
+ export { TextEditor } from './components/editor/TextEditor';
23
+ export { useEvent } from './components/hooks/event';
19
24
  export { t } from './components/hooks/locale';
20
25
  export { useObservable } from './components/hooks/observable';
21
- export { useEvent } from './components/hooks/event';
22
26
  export { useVirtualList } from './components/hooks/virtual-list';
27
+ export { Menu } from './components/menu/desktop/Menu';
28
+ export { type INotificationOptions, type NotificationType } from './components/notification/Notification';
29
+ export { ProgressBar } from './components/progress-bar/ProgressBar';
30
+ export { RangeSelector } from './components/range-selector/RangeSelector';
31
+ export { UNI_DISABLE_CHANGING_FOCUS_KEY } from './const';
32
+ export { type IUniverUIConfig } from './controllers/config.schema';
33
+ export { ErrorController } from './controllers/error/error.controller';
34
+ export { menuSchema } from './controllers/menus/menu.schema';
23
35
  export { CopyShortcutItem, CutShortcutItem, RedoShortcutItem, SharedController, UndoShortcutItem, } from './controllers/shared-shortcut.controller';
36
+ export { ShortcutPanelController } from './controllers/shortcut-display/shortcut-panel.controller';
24
37
  export { IUIController, type IWorkbenchOptions } from './controllers/ui/ui.controller';
25
- export { type IUniverUIConfig } from './controllers/config.schema';
26
38
  export { DesktopUIController } from './controllers/ui/ui-desktop.controller';
27
- export { IUIPartsService, BuiltInUIPart, UIPartsService } from './services/parts/parts.service';
39
+ export { UniverMobileUIPlugin } from './mobile-ui-plugin';
28
40
  export { DesktopBeforeCloseService, IBeforeCloseService } from './services/before-close/before-close.service';
29
41
  export { CopyCommand, CutCommand, PasteCommand } from './services/clipboard/clipboard.command';
30
42
  export { BrowserClipboardService, HTML_CLIPBOARD_MIME_TYPE, IClipboardInterfaceService, PLAIN_TEXT_CLIPBOARD_MIME_TYPE, } from './services/clipboard/clipboard-interface.service';
@@ -32,62 +44,51 @@ export { IConfirmService } from './services/confirm/confirm.service';
32
44
  export { DesktopConfirmService } from './services/confirm/desktop-confirm.service';
33
45
  export { ContextMenuService, type IContextMenuHandler, IContextMenuService, } from './services/contextmenu/contextmenu.service';
34
46
  export { DesktopDialogService } from './services/dialog/desktop-dialog.service';
35
- export { type IDialogPartMethodOptions } from './views/components/dialog-part/interface';
36
47
  export { IDialogService } from './services/dialog/dialog.service';
37
- export { ILayoutService, DesktopLayoutService } from './services/layout/layout.service';
38
- export { type ICustomComponentProps, type IDisplayMenuItem, type IMenuButtonItem, type IMenuItem, type IMenuItemFactory, type IMenuSelectorItem, type IValueOption, type MenuConfig, MenuGroup, MenuItemType, MenuPosition, type MenuItemDefaultValueType, } from './services/menu/menu';
39
- export { MenuService, IMenuService } from './services/menu/menu.service';
48
+ export { CanvasFloatDomService, type IFloatDomLayout } from './services/dom/canvas-dom-layer.service';
49
+ export { Editor, EditorService, IEditorService } from './services/editor/editor.service';
50
+ export { DesktopGlobalZoneService } from './services/global-zone/desktop-global-zone.service';
51
+ export { IGlobalZoneService } from './services/global-zone/global-zone.service';
52
+ export { DesktopLayoutService, ILayoutService } from './services/layout/layout.service';
53
+ export { ILocalFileService, type IOpenFileOptions } from './services/local-file/file-opener.service';
54
+ export { DesktopLocalStorageService } from './services/local-storage/local-storage.service';
55
+ export { type ICustomComponentProps, type IDisplayMenuItem, type IMenuButtonItem, type IMenuItem, type IMenuItemFactory, type IMenuSelectorItem, type IValueOption, type MenuConfig, MenuGroup, type MenuItemDefaultValueType, MenuItemType, MenuPosition, } from './services/menu/menu';
56
+ export { IMenuService, MenuService } from './services/menu/menu.service';
57
+ export { IMenuManagerService, MenuManagerService, type MenuSchemaType } from './services/menu/menu-manager.service';
58
+ export { type IMenuSchema } from './services/menu/menu-manager.service';
59
+ export { ContextMenuGroup, ContextMenuPosition, MenuManagerPosition, RibbonDataGroup, RibbonFormulasGroup, RibbonInsertGroup, RibbonOthersGroup, RibbonPosition, RibbonStartGroup, RibbonViewGroup, } from './services/menu/types';
40
60
  export { DesktopMessageService } from './services/message/desktop-message.service';
41
61
  export { IMessageService } from './services/message/message.service';
42
62
  export { DesktopNotificationService } from './services/notification/desktop-notification.service';
43
- export { type NotificationType, type INotificationOptions } from './components/notification/Notification';
44
63
  export { INotificationService } from './services/notification/notification.service';
45
- export { PlatformService, IPlatformService } from './services/platform/platform.service';
46
- export { DesktopGlobalZoneService } from './services/global-zone/desktop-global-zone.service';
47
- export { IGlobalZoneService } from './services/global-zone/global-zone.service';
64
+ export { BuiltInUIPart, IUIPartsService, UIPartsService } from './services/parts/parts.service';
65
+ export { IPlatformService, PlatformService } from './services/platform/platform.service';
66
+ export { CanvasPopupService, ICanvasPopupService, type IPopup } from './services/popup/canvas-popup.service';
67
+ export { type IProgressCount, IProgressService, type IProgressStep, ProgressService } from './services/progress/progress.service';
68
+ export { type IRangeSelectorRange, IRangeSelectorService, RangeSelectorService } from './services/range-selector/range-selector.service';
48
69
  export { KeyCode, MetaKeys } from './services/shortcut/keycode';
49
- export { ShortcutService, type IShortcutItem, IShortcutService } from './services/shortcut/shortcut.service';
70
+ export { type IShortcutItem, IShortcutService, ShortcutService } from './services/shortcut/shortcut.service';
71
+ export { ShortcutPanelService } from './services/shortcut/shortcut-panel.service';
50
72
  export { DesktopSidebarService } from './services/sidebar/desktop-sidebar.service';
51
- export { ISidebarService, ILeftSidebarService } from './services/sidebar/sidebar.service';
73
+ export { ILeftSidebarService, ISidebarService } from './services/sidebar/sidebar.service';
74
+ export { DesktopZenZoneService } from './services/zen-zone/desktop-zen-zone.service';
52
75
  export { IZenZoneService } from './services/zen-zone/zen-zone.service';
53
- export { UniverUIPlugin, DISABLE_AUTO_FOCUS_KEY } from './ui-plugin';
54
- export { UniverMobileUIPlugin } from './mobile-ui-plugin';
76
+ export { DISABLE_AUTO_FOCUS_KEY, UniverUIPlugin } from './ui-plugin';
77
+ export { UNIVER_UI_PLUGIN_NAME } from './ui-plugin';
55
78
  export * from './utils';
56
- export { Menu } from './components/menu/desktop/Menu';
79
+ export { ComponentContainer, type IComponentContainerProps, useComponentsOfPart } from './views/components/ComponentContainer';
57
80
  export { type IConfirmPartMethodOptions } from './views/components/confirm-part/interface';
58
- export { ComponentContainer, useComponentsOfPart, type IComponentContainerProps } from './views/components/ComponentContainer';
59
- export { IEditorService, EditorService, Editor } from './services/editor/editor.service';
60
- export { TextEditor } from './components/editor/TextEditor';
61
- export { RangeSelector } from './components/range-selector/RangeSelector';
62
- export { ProgressBar } from './components/progress-bar/ProgressBar';
63
- export { type IMenuGroup, useSimpleToolbarGroups, useToolbarGroups, useToolbarItemStatus } from './views/components/ribbon/hook';
64
- export { mergeMenuConfigs } from './common/menu-merge-configs';
65
- export { ShortcutPanelController } from './controllers/shortcut-display/shortcut-panel.controller';
66
- export { ShortcutPanelService } from './services/shortcut/shortcut-panel.service';
67
- export { IProgressService, type IProgressCount, type IProgressStep, ProgressService } from './services/progress/progress.service';
68
- export { type IRangeSelectorRange, IRangeSelectorService, RangeSelectorService } from './services/range-selector/range-selector.service';
69
- export { CanvasPopupService, ICanvasPopupService, type IPopup } from './services/popup/canvas-popup.service';
70
- export { UNIVER_UI_PLUGIN_NAME } from './ui-plugin';
71
- export { ErrorController } from './controllers/error/error.controller';
72
- export { DesktopZenZoneService } from './services/zen-zone/desktop-zen-zone.service';
73
- export { DesktopLocalStorageService } from './services/local-storage/local-storage.service';
74
- export { UNI_DISABLE_CHANGING_FOCUS_KEY } from './const';
75
- export { menuSchema } from './controllers/menus/menu.schema';
76
- export { IMenuManagerService, type MenuSchemaType, MenuManagerService } from './services/menu/menu-manager.service';
77
- export { MenuManagerPosition, RibbonPosition, RibbonStartGroup, RibbonInsertGroup, RibbonFormulasGroup, RibbonDataGroup, RibbonViewGroup, RibbonOthersGroup, ContextMenuGroup, ContextMenuPosition, } from './services/menu/types';
78
- export { type IMenuSchema } from './services/menu/menu-manager.service';
79
- export { GlobalZone } from './views/components/global-zone/GlobalZone';
80
- export { builtInGlobalComponents } from './views/parts';
81
81
  export { DesktopContextMenu as ContextMenu } from './views/components/context-menu/ContextMenu';
82
- export { Sidebar } from './views/components/sidebar/Sidebar';
83
- export { type ISidebarMethodOptions } from './views/components/sidebar/interface';
84
- export { ZenZone } from './views/components/zen-zone/ZenZone';
85
- export { CanvasPopup } from './views/components/popup/CanvasPopup';
86
- export { CanvasFloatDomService, type IFloatDomLayout } from './services/dom/canvas-dom-layer.service';
87
- export { FloatDom } from './views/components/dom/FloatDom';
88
82
  export { MobileContextMenu } from './views/components/context-menu/MobileContextMenu';
83
+ export { type IDialogPartMethodOptions } from './views/components/dialog-part/interface';
84
+ export { FloatDom } from './views/components/dom/FloatDom';
85
+ export { GlobalZone } from './views/components/global-zone/GlobalZone';
86
+ export { CanvasPopup } from './views/components/popup/CanvasPopup';
87
+ export { ToolbarButton } from './views/components/ribbon/Button/ToolbarButton';
88
+ export { type IMenuGroup, useSimpleToolbarGroups, useToolbarGroups, useToolbarItemStatus } from './views/components/ribbon/hook';
89
89
  export { Ribbon } from './views/components/ribbon/Ribbon';
90
90
  export { ToolbarItem } from './views/components/ribbon/ToolbarItem';
91
- export { ToolbarButton } from './views/components/ribbon/Button/ToolbarButton';
92
- export { ToggleShortcutPanelOperation } from './commands/operations/toggle-shortcut-panel.operation';
93
- export { SetEditorResizeOperation } from './commands/operations/editor/set-editor-resize.operation';
91
+ export { type ISidebarMethodOptions } from './views/components/sidebar/interface';
92
+ export { Sidebar } from './views/components/sidebar/Sidebar';
93
+ export { ZenZone } from './views/components/zen-zone/ZenZone';
94
+ export { builtInGlobalComponents } from './views/parts';
@@ -16,7 +16,7 @@ export interface IBeforeCloseService {
16
16
  */
17
17
  registerOnClose(callback: () => void): IDisposable;
18
18
  }
19
- export declare const IBeforeCloseService: import('@univerjs/core').IdentifierDecorator<IBeforeCloseService>;
19
+ export declare const IBeforeCloseService: import('@wendellhu/redi').IdentifierDecorator<IBeforeCloseService>;
20
20
  export declare class DesktopBeforeCloseService implements IBeforeCloseService {
21
21
  private readonly _notificationService;
22
22
  private _beforeUnloadCallbacks;
@@ -31,7 +31,7 @@ export interface IClipboardInterfaceService {
31
31
  */
32
32
  readonly supportClipboard: boolean;
33
33
  }
34
- export declare const IClipboardInterfaceService: import('@univerjs/core').IdentifierDecorator<IClipboardInterfaceService>;
34
+ export declare const IClipboardInterfaceService: import('@wendellhu/redi').IdentifierDecorator<IClipboardInterfaceService>;
35
35
  export declare class BrowserClipboardService extends Disposable implements IClipboardInterfaceService {
36
36
  private readonly _localeService;
37
37
  private readonly _logService;
@@ -1,7 +1,7 @@
1
1
  import { IDisposable } from '@univerjs/core';
2
2
  import { Subject } from 'rxjs';
3
3
  import { IConfirmPartMethodOptions } from '../../views/components/confirm-part/interface';
4
- export declare const IConfirmService: import('@univerjs/core').IdentifierDecorator<IConfirmService>;
4
+ export declare const IConfirmService: import('@wendellhu/redi').IdentifierDecorator<IConfirmService>;
5
5
  export interface IConfirmService {
6
6
  readonly confirmOptions$: Subject<IConfirmPartMethodOptions[]>;
7
7
  open(params: IConfirmPartMethodOptions): IDisposable;
@@ -15,7 +15,7 @@ export interface IContextMenuService {
15
15
  hideContextMenu(): void;
16
16
  registerContextMenuHandler(handler: IContextMenuHandler): IDisposable;
17
17
  }
18
- export declare const IContextMenuService: import('@univerjs/core').IdentifierDecorator<IContextMenuService>;
18
+ export declare const IContextMenuService: import('@wendellhu/redi').IdentifierDecorator<IContextMenuService>;
19
19
  export declare class ContextMenuService extends Disposable implements IContextMenuService {
20
20
  private _currentHandler;
21
21
  disabled: boolean;
@@ -1,7 +1,7 @@
1
1
  import { IDisposable } from '@univerjs/core';
2
2
  import { Observable } from 'rxjs';
3
3
  import { IDialogPartMethodOptions } from '../../views/components/dialog-part/interface';
4
- export declare const IDialogService: import('@univerjs/core').IdentifierDecorator<IDialogService>;
4
+ export declare const IDialogService: import('@wendellhu/redi').IdentifierDecorator<IDialogService>;
5
5
  export interface IDialogService {
6
6
  open(params: IDialogPartMethodOptions): IDisposable;
7
7
  close(id: string): void;
@@ -1,7 +1,7 @@
1
- import { DocumentDataModel, IDisposable, IDocumentBody, IDocumentData, IPosition, Nullable, Disposable, IContextService, IUniverInstanceService } from '@univerjs/core';
2
- import { Observable } from 'rxjs';
3
- import { IRender, ISuccinctDocRangeParam, IRenderManagerService } from '@univerjs/engine-render';
1
+ import { Disposable, IContextService, IUniverInstanceService, DocumentDataModel, IDisposable, IDocumentBody, IDocumentData, IPosition, Nullable } from '@univerjs/core';
4
2
  import { LexerTreeBuilder } from '@univerjs/engine-formula';
3
+ import { IRenderManagerService, IRender, ISuccinctDocRangeParam } from '@univerjs/engine-render';
4
+ import { Observable } from 'rxjs';
5
5
  export interface IEditorStateParam extends Partial<IPosition> {
6
6
  visible?: boolean;
7
7
  }
@@ -195,4 +195,4 @@ export declare class EditorService extends Disposable implements IEditorService,
195
195
  private _getCurrentEditorUnitId;
196
196
  private _getBlank;
197
197
  }
198
- export declare const IEditorService: import('@univerjs/core').IdentifierDecorator<IEditorService>;
198
+ export declare const IEditorService: import('@wendellhu/redi').IdentifierDecorator<IEditorService>;
@@ -1,6 +1,6 @@
1
1
  import { IDisposable } from '@univerjs/core';
2
2
  import { Subject } from 'rxjs';
3
- export declare const IGlobalZoneService: import('@univerjs/core').IdentifierDecorator<IGlobalZoneService>;
3
+ export declare const IGlobalZoneService: import('@wendellhu/redi').IdentifierDecorator<IGlobalZoneService>;
4
4
  export interface IGlobalZoneService {
5
5
  readonly visible$: Subject<boolean>;
6
6
  readonly componentKey$: Subject<string>;
@@ -19,7 +19,7 @@ export interface ILayoutService {
19
19
  checkElementInCurrentContainers(element: HTMLElement): boolean;
20
20
  checkContentIsFocused(): boolean;
21
21
  }
22
- export declare const ILayoutService: import('@univerjs/core').IdentifierDecorator<ILayoutService>;
22
+ export declare const ILayoutService: import('@wendellhu/redi').IdentifierDecorator<ILayoutService>;
23
23
  /**
24
24
  * This service is responsible for storing layout information of the current
25
25
  * Univer application instance.
@@ -0,0 +1,15 @@
1
+ import { Disposable, Injector } from '@univerjs/core';
2
+ import { IUIPartsService } from '../parts/parts.service';
3
+ import { ILocalFileService, IOpenFileOptions } from './file-opener.service';
4
+ interface IOpenFileRequest extends IOpenFileOptions {
5
+ onFileSelected: (files: File[]) => void;
6
+ }
7
+ export declare class DesktopLocalFileService extends Disposable implements ILocalFileService {
8
+ private readonly _uiPartsService;
9
+ private readonly _fileOpenRequest$;
10
+ readonly fileOpenRequest$: import('rxjs').Observable<IOpenFileRequest | null>;
11
+ constructor(injector: Injector, _uiPartsService: IUIPartsService);
12
+ openFile(options?: IOpenFileOptions): Promise<File[]>;
13
+ downloadFile(data: Blob, fileName: string): void;
14
+ }
15
+ export {};
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Copyright 2023-present DreamNum Inc.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ export interface IOpenFileOptions {
17
+ accept?: string;
18
+ multiple?: boolean;
19
+ }
20
+ export interface ILocalFileService {
21
+ openFile(options?: IOpenFileOptions): Promise<File[]>;
22
+ downloadFile(data: Blob, fileName: string): void;
23
+ }
24
+ /**
25
+ * This service is used to upload files.
26
+ */
27
+ export declare const ILocalFileService: import('@wendellhu/redi').IdentifierDecorator<ILocalFileService>;
@@ -1,7 +1,7 @@
1
1
  import { IAccessor, Disposable, IConfigService, Injector } from '@univerjs/core';
2
2
  import { Observable, Subject } from 'rxjs';
3
3
  import { IMenuItem } from '../menu/menu';
4
- export declare const IMenuManagerService: import('@univerjs/core').IdentifierDecorator<IMenuManagerService>;
4
+ export declare const IMenuManagerService: import('@wendellhu/redi').IdentifierDecorator<IMenuManagerService>;
5
5
  export interface IMenuSchema {
6
6
  key: string;
7
7
  order: number;
@@ -4,7 +4,7 @@ import { IShortcutService } from '../shortcut/shortcut.service';
4
4
  import { IDisplayMenuItem, IMenuItem, MenuConfig, MenuPosition } from './menu';
5
5
  import { IMenuManagerService } from './menu-manager.service';
6
6
  /** @deprecated */
7
- export declare const IMenuService: import('@univerjs/core').IdentifierDecorator<IMenuService>;
7
+ export declare const IMenuService: import('@wendellhu/redi').IdentifierDecorator<IMenuService>;
8
8
  /**
9
9
  * Breaking changes to IMenuService are expected in the next version. Use with caution. by @jikkai
10
10
  * @deprecated
@@ -1,6 +1,6 @@
1
1
  import { IMessageOptions } from '@univerjs/design';
2
2
  import { IDisposable } from '@univerjs/core';
3
- export declare const IMessageService: import('@univerjs/core').IdentifierDecorator<IMessageService>;
3
+ export declare const IMessageService: import('@wendellhu/redi').IdentifierDecorator<IMessageService>;
4
4
  export interface IMessageService {
5
5
  show(options: IMessageOptions): IDisposable;
6
6
  setContainer(container: HTMLElement): void;
@@ -1,6 +1,6 @@
1
1
  import { IDisposable } from '@univerjs/core';
2
2
  import { INotificationOptions } from '../../components/notification/Notification';
3
- export declare const INotificationService: import('@univerjs/core').IdentifierDecorator<INotificationService>;
3
+ export declare const INotificationService: import('@wendellhu/redi').IdentifierDecorator<INotificationService>;
4
4
  export interface INotificationService {
5
5
  show(params: INotificationOptions): IDisposable;
6
6
  }
@@ -18,7 +18,7 @@ export interface IUIPartsService {
18
18
  registerComponent(part: ComponentPartKey, componentFactory: () => ComponentType): IDisposable;
19
19
  getComponents(part: ComponentPartKey): Set<ComponentRenderer>;
20
20
  }
21
- export declare const IUIPartsService: import('@univerjs/core').IdentifierDecorator<IUIPartsService>;
21
+ export declare const IUIPartsService: import('@wendellhu/redi').IdentifierDecorator<IUIPartsService>;
22
22
  export declare class UIPartsService extends Disposable implements IUIPartsService {
23
23
  private _componentsByPart;
24
24
  private readonly _componentRegistered$;
@@ -21,7 +21,7 @@ export interface IPlatformService {
21
21
  readonly isWindows: boolean;
22
22
  readonly isLinux: boolean;
23
23
  }
24
- export declare const IPlatformService: import('@univerjs/core').IdentifierDecorator<IPlatformService>;
24
+ export declare const IPlatformService: import('@wendellhu/redi').IdentifierDecorator<IPlatformService>;
25
25
  export declare class PlatformService implements IPlatformService {
26
26
  get isMac(): boolean;
27
27
  get isWindows(): boolean;
@@ -2,7 +2,7 @@ import { Nullable, Disposable } from '@univerjs/core';
2
2
  import { IRectPopupProps } from '@univerjs/design';
3
3
  import { IBoundRectNoAngle } from '@univerjs/engine-render';
4
4
  import { Observable } from 'rxjs';
5
- export interface IPopup extends Pick<IRectPopupProps, 'closeOnSelfTarget' | 'direction' | 'excludeOutside' | 'onClickOutside'> {
5
+ export interface IPopup extends Pick<IRectPopupProps, 'direction' | 'excludeOutside' | 'onClickOutside'> {
6
6
  anchorRect: Nullable<IBoundRectNoAngle>;
7
7
  anchorRect$: Observable<IBoundRectNoAngle>;
8
8
  excludeRects?: IBoundRectNoAngle[];
@@ -13,6 +13,10 @@ export interface IPopup extends Pick<IRectPopupProps, 'closeOnSelfTarget' | 'dir
13
13
  offset?: [number, number];
14
14
  canvasElement: HTMLCanvasElement;
15
15
  hideOnInvisible?: boolean;
16
+ hiddenType?: 'hide' | 'destroy';
17
+ onPointerEnter?: () => void;
18
+ onPointerLeave?: () => void;
19
+ onClick?: () => void;
16
20
  }
17
21
  export interface ICanvasPopupService {
18
22
  addPopup(item: IPopup): string;
@@ -20,13 +24,19 @@ export interface ICanvasPopupService {
20
24
  removeAll(): void;
21
25
  popups$: Observable<[string, IPopup][]>;
22
26
  get popups(): [string, IPopup][];
27
+ /**
28
+ * which popup is under hovering now
29
+ */
30
+ get activePopupId(): Nullable<string>;
23
31
  }
24
- export declare const ICanvasPopupService: import('@univerjs/core').IdentifierDecorator<ICanvasPopupService>;
32
+ export declare const ICanvasPopupService: import('@wendellhu/redi').IdentifierDecorator<ICanvasPopupService>;
25
33
  export declare class CanvasPopupService extends Disposable implements ICanvasPopupService {
26
34
  private readonly _popupMap;
27
35
  private readonly _popups$;
28
36
  readonly popups$: Observable<[string, IPopup][]>;
29
37
  get popups(): [string, IPopup][];
38
+ private _activePopupId;
39
+ get activePopupId(): Nullable<string>;
30
40
  private _update;
31
41
  dispose(): void;
32
42
  addPopup(item: IPopup): string;
@@ -49,4 +49,4 @@ export declare class ProgressService extends Disposable implements IProgressServ
49
49
  getTaskCount(): number;
50
50
  private _clear;
51
51
  }
52
- export declare const IProgressService: import('@univerjs/core').IdentifierDecorator<IProgressService>;
52
+ export declare const IProgressService: import('@wendellhu/redi').IdentifierDecorator<IProgressService>;
@@ -10,6 +10,9 @@ export interface IRangeSelectorService {
10
10
  getCurrentSelectorId(): Nullable<string>;
11
11
  openSelector$: Observable<unknown>;
12
12
  openSelector(): void;
13
+ selectorModalVisible$: Observable<boolean>;
14
+ get selectorModalVisible(): boolean;
15
+ triggerModalVisibleChange(visible: boolean): void;
13
16
  }
14
17
  export declare class RangeSelectorService extends Disposable implements IRangeSelectorService, IDisposable {
15
18
  private _currentSelectorId;
@@ -17,9 +20,13 @@ export declare class RangeSelectorService extends Disposable implements IRangeSe
17
20
  readonly selectionChange$: Observable<IRangeSelectorRange[]>;
18
21
  private readonly _openSelector$;
19
22
  readonly openSelector$: Observable<unknown>;
23
+ private readonly _selectorModalVisible$;
24
+ readonly selectorModalVisible$: Observable<boolean>;
25
+ get selectorModalVisible(): boolean;
20
26
  setCurrentSelectorId(id: Nullable<string>): void;
21
27
  getCurrentSelectorId(): Nullable<string>;
22
28
  selectionChange(range: IRangeSelectorRange[]): void;
23
29
  openSelector(): void;
30
+ triggerModalVisibleChange(visible: boolean): void;
24
31
  }
25
- export declare const IRangeSelectorService: import('@univerjs/core').IdentifierDecorator<IRangeSelectorService>;
32
+ export declare const IRangeSelectorService: import('@wendellhu/redi').IdentifierDecorator<IRangeSelectorService>;
@@ -56,7 +56,7 @@ export interface IShortcutItem<P extends object = object> {
56
56
  /**
57
57
  * The dependency injection identifier of the {@link IShortcutService}.
58
58
  */
59
- export declare const IShortcutService: import('@univerjs/core').IdentifierDecorator<IShortcutService>;
59
+ export declare const IShortcutService: import('@wendellhu/redi').IdentifierDecorator<IShortcutService>;
60
60
  /**
61
61
  * The interface of the shortcut service.
62
62
  */
@@ -9,5 +9,5 @@ export interface ISidebarService {
9
9
  get visible(): boolean;
10
10
  get options(): ISidebarMethodOptions;
11
11
  }
12
- export declare const ILeftSidebarService: import('@univerjs/core').IdentifierDecorator<ISidebarService>;
13
- export declare const ISidebarService: import('@univerjs/core').IdentifierDecorator<ISidebarService>;
12
+ export declare const ILeftSidebarService: import('@wendellhu/redi').IdentifierDecorator<ISidebarService>;
13
+ export declare const ISidebarService: import('@wendellhu/redi').IdentifierDecorator<ISidebarService>;
@@ -1,15 +1,20 @@
1
1
  import { IDisposable } from '@univerjs/core';
2
- import { ForwardRefExoticComponent } from 'react';
3
2
  import { Subject } from 'rxjs';
3
+ import { ForwardRefExoticComponent } from 'react';
4
4
  import { ComponentManager } from '../../common/component-manager';
5
5
  import { IZenZoneService } from './zen-zone.service';
6
6
  export declare class DesktopZenZoneService implements IZenZoneService {
7
7
  private readonly _componentManager;
8
8
  readonly visible$: Subject<boolean>;
9
9
  readonly componentKey$: Subject<string>;
10
+ private readonly _temporaryHidden$;
11
+ readonly temporaryHidden$: import('rxjs').Observable<boolean>;
10
12
  private _visible;
11
13
  get visible(): boolean;
14
+ get temporaryHidden(): boolean;
12
15
  constructor(_componentManager: ComponentManager);
16
+ hide(): void;
17
+ show(): void;
13
18
  set(key: string, component: ForwardRefExoticComponent<any>): IDisposable;
14
19
  open(): void;
15
20
  close(): void;
@@ -1,11 +1,21 @@
1
1
  import { IDisposable } from '@univerjs/core';
2
- import { Subject } from 'rxjs';
3
- export declare const IZenZoneService: import('@univerjs/core').IdentifierDecorator<IZenZoneService>;
2
+ import { Observable, Subject } from 'rxjs';
3
+ export declare const IZenZoneService: import('@wendellhu/redi').IdentifierDecorator<IZenZoneService>;
4
4
  export interface IZenZoneService {
5
5
  readonly visible$: Subject<boolean>;
6
6
  readonly componentKey$: Subject<string>;
7
+ readonly temporaryHidden$: Observable<boolean>;
7
8
  readonly visible: boolean;
9
+ readonly temporaryHidden: boolean;
8
10
  set(key: string, component: any): IDisposable;
9
11
  open(): void;
10
12
  close(): void;
13
+ /**
14
+ * temporarily hide the zen zone, often
15
+ */
16
+ hide(): void;
17
+ /**
18
+ * show the zen zone
19
+ */
20
+ show(): void;
11
21
  }