@univerjs/sheets-ui 0.2.8 → 0.2.9

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/index.css CHANGED
@@ -1 +1 @@
1
- .univer-ui-plugin-sheets-border-panel{display:grid;gap:var(--margin-sm)}.univer-ui-plugin-sheets-border-panel-position{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--margin-xxs);box-sizing:border-box;padding-bottom:var(--padding-base);border-bottom:1px solid rgb(var(--border-color))}.univer-ui-plugin-sheets-border-panel-position-item{display:flex;align-items:center;justify-content:center;width:24px;height:24px;font-size:var(--font-size-lg);border-radius:var(--border-radius-base)}.univer-ui-plugin-sheets-border-panel-position-item:hover,.univer-ui-plugin-sheets-border-panel-position-item-active{background-color:rgb(var(--bg-color-hover))}.univer-ui-plugin-sheets-border-panel-styles{display:flex;gap:var(--margin-xs);align-items:center;justify-content:space-around}.univer-ui-plugin-sheets-border-panel-board{box-sizing:border-box;padding:var(--padding-base);background-color:rgb(var(--bg-color-secondary));border:1px solid rgb(var(--border-color));border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-base)}.univer-ui-plugin-sheets-border-panel-button{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);transition:all .15s}.univer-ui-plugin-sheets-border-panel-button:hover{background-color:rgb(var(--bg-color-hover))}.univer-ui-plugin-sheets-border-panel-more-icon{color:rgb(var(--grey-400))}.univer-sheets-ui-context-menu-input{display:flex;gap:var(--margin-sm);align-items:center}.univer-sheets-ui-context-menu-input-container{width:72px}.univer-sheets-ui-context-menu-input-number{height:24px}.univer-count-bar{display:flex;flex:0 0 260px;justify-content:flex-end}.univer-editor-container{position:absolute;z-index:10;top:200px;left:100px;display:flex;width:100px;height:50px;border:1px solid rgb(var(--primary-color));box-shadow:none;box-sizing:border-box}.univer-editor-container .univer-editor-input{position:relative;display:flex;width:100%;height:100%;background:#fff}.univer-editor-container .univer-editor-input canvas{position:absolute;top:-1px!important;left:-1px!important}.univer-defined-name{display:flex;position:relative;transition:height .15s;border-right:1px solid rgb(var(--border-color));height:100%;width:100px;box-sizing:border-box}.univer-defined-name-drop-down{display:flex;align-items:center;justify-content:center;padding:0 var(--padding-xs);cursor:pointer;position:absolute;right:0;height:100%}.univer-defined-name-drop-down:hover{background-color:rgb(var(--grey-50));color:rgb(var(--primary-color))}.univer-defined-name-drop-down-disable{color:rgb(var(--grey-200));cursor:not-allowed}.univer-defined-name-drop-down-disable:hover{color:rgb(var(--grey-200))}.univer-defined-name-overlay{position:relative;border:1px solid rgb(var(--border-color));width:300px;background-color:rgb(var(--color-white));transform:translate(-75px)}.univer-defined-name-overlay-container{position:relative;height:100%;max-height:400px;width:100%;overflow:hidden;overflow-y:auto;scrollbar-color:rgba(var(--scrollbar-color),.7) transparent;scrollbar-gutter:auto;scrollbar-width:thin}.univer-defined-name-overlay-item{display:flex;align-items:center;justify-content:space-between;padding:var(--padding-xs);border-bottom:1px solid rgb(var(--border-color));user-select:none;cursor:pointer}.univer-defined-name-overlay-item:hover{background-color:rgb(var(--grey-50))}.univer-defined-name-overlay-item-name{font-size:var(--font-size-md);color:rgb(var(--grey-900));margin:5px 0;overflow:hidden;text-overflow:ellipsis;flex:1}.univer-defined-name-overlay-item-name-for-sheet{font-size:var(--font-size-xxs);color:rgb(var(--grey-400));margin-left:5px;font-weight:400}.univer-defined-name-overlay-item-formula{font-size:var(--font-size-xs);color:rgb(var(--grey-800));margin:5px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.univer-defined-name-overlay-manager{position:absolute;display:flex;flex-direction:column;overflow-y:auto;height:70px;width:100%;cursor:pointer;overflow:hidden;bottom:-70px;background-color:rgb(var(--color-white))}.univer-defined-name-overlay-manager:hover{background-color:rgb(var(--grey-50))}.univer-defined-name-overlay-manager-title{font-size:var(--font-size-xs);font-weight:700;margin:var(--margin-xs);margin-bottom:0;color:rgb(var(--grey-800))}.univer-defined-name-overlay-manager-content{font-size:var(--font-size-xxs);margin:var(--margin-xs);color:rgb(var(--grey-500))}.univer-defined-name-container{width:100%;position:relative}.univer-defined-name-container-scroll{width:100%;overflow:hidden;overflow-y:auto;position:absolute}.univer-defined-name-container-addButton{display:flex;align-items:center;justify-content:center;width:100%;height:40px;border-top:1px solid rgb(var(--border-color));border-bottom:1px solid rgb(var(--border-color));font-size:var(--font-size-md);color:rgb(var(--primary-color))}.univer-defined-name-container-addButton:hover{background-color:rgb(var(--grey-50));cursor:pointer}.univer-defined-name-container-addButton-text{margin-left:5px}.univer-defined-name-container-item{position:relative;display:flex;align-items:center;justify-content:space-between;padding:var(--padding-xs);border-bottom:1px solid rgb(var(--border-color));user-select:none;cursor:default}.univer-defined-name-container-item-name{font-size:var(--font-size-sm);font-weight:500;color:rgb(var(--color-black));margin:5px 0;max-width:190px;max-height:100px;overflow:hidden}.univer-defined-name-container-item-name-for-sheet{font-size:var(--font-size-xxs);color:rgb(var(--grey-400));margin-left:5px;font-weight:400}.univer-defined-name-container-item-formula-or-refString{font-size:var(--font-size-xs);color:rgb(var(--grey-500));font-weight:400;margin:5px 0;max-height:100px;text-overflow:ellipsis;overflow:hidden}.univer-defined-name-container-item-update{position:absolute;font-size:var(--font-size-xs);color:rgb(var(--primary-color));cursor:pointer;padding:4px;transform:translateY(-50%);border-radius:var(--border-radius-base);right:60px;top:20px}.univer-defined-name-container-item-update:hover{background-color:rgb(var(--hyacinth-50))}.univer-defined-name-container-item-delete{position:absolute;font-size:var(--font-size-xs);color:rgb(var(--error-color));cursor:pointer;padding:4px;right:20px;top:20px;transform:translateY(-50%);border-radius:var(--border-radius-base)}.univer-defined-name-container-item-delete:hover{background-color:rgb(var(--hyacinth-50))}.univer-defined-name-container-item-show{display:none}.univer-defined-name-container-item:hover{background-color:rgb(var(--grey-50))}.univer-defined-name-container-item:hover .univer-defined-name-container-item-show{display:block}.univer-defined-name-input{display:flex;align-items:center;justify-content:left;border-bottom:1px solid rgb(var(--border-color));padding-bottom:5px}.univer-defined-name-input>div{width:100%;margin-top:5px}.univer-defined-name-input-validation{display:flex;align-items:center;justify-content:left;color:rgb(var(--error-color));font-size:var(--font-size-xs)}.univer-defined-name-input-validation>span{margin-right:2px}.univer-defined-name-input-disable{color:rgb(var(--grey-200));cursor:not-allowed}.univer-formula-box{display:flex;box-sizing:border-box;height:28px;background:rgb(var(--bg-color-secondary));border-bottom:1px solid rgb(var(--border-color));transition:height .15s}.univer-formula-box .univer-name-ranges{box-sizing:border-box;width:100px;height:100%;position:relative}.univer-formula-box .univer-formula-bar{display:flex;width:100%;height:100%}.univer-formula-box .univer-formula-bar .univer-formula-icon{padding:6px 0}.univer-formula-box .univer-formula-bar .univer-formula-icon-disable{color:rgb(var(--grey-200));cursor:not-allowed}.univer-formula-box .univer-formula-bar .univer-formula-icon-wrapper{position:relative;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:80px;height:100%;font-size:var(--font-size-xs);border-right:1px solid rgb(var(--border-color))}.univer-formula-box .univer-formula-bar .univer-formula-icon-wrapper .univer-icon-container{display:flex;align-items:center;justify-content:center;padding:var(--padding-xs);font-size:var(--font-size-lg);border-radius:var(--border-radius-base)}.univer-formula-box .univer-formula-bar .univer-formula-icon-wrapper .univer-icon-container-success.univer-formula-active{cursor:pointer;color:rgb(var(--success-color))}.univer-formula-box .univer-formula-bar .univer-formula-icon-wrapper .univer-icon-container-success.univer-formula-active:hover{background-color:rgb(var(--grey-50))}.univer-formula-box .univer-formula-bar .univer-formula-icon-wrapper .univer-icon-container-error.univer-formula-active{cursor:pointer;color:rgb(var(--error-color))}.univer-formula-box .univer-formula-bar .univer-formula-icon-wrapper .univer-icon-container-error.univer-formula-active:hover{background-color:rgb(var(--grey-50))}.univer-formula-box .univer-formula-bar .univer-formula-icon-wrapper .univer-icon-container-fx{cursor:pointer}.univer-formula-box .univer-formula-bar .univer-formula-icon-wrapper .univer-icon-container-fx:hover{background-color:rgb(var(--grey-50))}.univer-formula-box .univer-formula-bar .univer-formula-input{overflow:hidden;display:flex;flex:1;width:100%;padding:0 0 0 10px}.univer-formula-box .univer-formula-bar .univer-formula-input .univer-formula-content{position:relative;width:100%;height:100%;word-wrap:break-word;outline:none}.univer-formula-box .univer-formula-bar .univer-formula-input .univer-arrow-container{cursor:pointer;display:flex;align-items:center;justify-content:center;width:20px;height:100%;font-size:var(--font-size-xs);color:rgb(var(--text-color-secondary))}.univer-formula-box .univer-formula-bar .univer-formula-input .univer-arrow-container-disable{color:rgb(var(--grey-200));cursor:not-allowed}.univer-operate-container{position:absolute;z-index:10;right:0;left:0;width:0;height:0}.univer-auto-fill-popup-menu{display:grid;gap:var(--margin-xxs);align-items:center;box-sizing:border-box;min-width:128px;margin-top:0;margin-bottom:0;padding:var(--padding-sm);font-size:var(--font-size-base);background-color:rgb(var(--bg-color-secondary));border:1px solid rgb(var(--border-color));border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-lg)}.univer-auto-fill-popup-menu li{list-style:none}.univer-auto-fill-popup-menu-item{cursor:pointer;position:relative;display:flex;align-items:center;box-sizing:border-box;width:134px;height:28px;padding:var(--padding-xs) 0 var(--padding-xs) 36px;font-size:13px;font-weight:400;font-style:normal;line-height:20px;color:rgb(var(--black, #35322b));text-align:left;border-radius:4px;border-radius:var(--border-radius-base);transition:background .2s}.univer-auto-fill-popup-menu-item:hover{background-color:rgb(var(--bg-color-hover))}.univer-auto-fill-popup-menu-item-icon{position:absolute;top:50%;left:var(--padding-xs);transform:translateY(-50%);display:flex;align-items:center;justify-content:center}.univer-auto-fill-popup-menu-item-title{padding:var(--padding-xs) var(--padding-xs) var(--padding-xs) 0;vertical-align:middle}.univer-auto-fill-popup-menu-item-hide{color:rgb(var(--text-color-secondary))}.univer-auto-fill-popup-menu-item:hover{background:rgb(var(--grey-100))}.univer-btn-container{display:flex;align-items:center;justify-content:center;padding:3px;background:#fff;border:1px solid rgb(var(--grey-200, #e5e5e5));border-radius:4px}.univer-btn-container:hover,.univer-btn-container.univer-btn-container-expand{background:rgb(var(--grey-100, #f5f5f5))}.univer-sheet-bar{position:relative;display:flex;flex:1 1 0px;flex-direction:row;min-width:calc(100% - 592px);max-width:calc(100% - 260px);height:100%;background-color:rgb(var(--bg-color))}.univer-sheet-bar-options{display:flex;flex-direction:row;align-items:center;margin:var(--margin-xxs);transition:display .2s}.univer-sheet-bar-options-divider:after{content:"";display:block;width:1px;height:16px;margin:0 var(--margin-xs);background-color:rgb(var(--grey-400))}.univer-sheet-bar-btn{cursor:pointer;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;font-size:var(--font-size-lg);color:rgb(var(--text-color-secondary-darker));background-color:transparent;border:none;border-radius:var(--border-radius-base);outline:none}.univer-sheet-bar-btn:not([disabled]):hover{background-color:rgb(var(--bg-color-hover))}.univer-sheet-bar-btn[disabled]{cursor:not-allowed;color:rgb(var(--grey-200))}.univer-sheet-bar-menu{display:grid;gap:var(--margin-xxs);align-items:center;box-sizing:border-box;padding:var(--padding-sm);background-color:rgb(var(--bg-color-secondary));border:1px solid rgb(var(--border-color));border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-lg)}.univer-sheet-bar-menu li{list-style:none}.univer-sheet-bar-menu-item{cursor:pointer;position:relative;display:flex;box-sizing:border-box;padding:var(--padding-xs) 24px;color:rgb(var(--text-color));border-radius:var(--border-radius-base);transition:background .2s}.univer-sheet-bar-menu-item:hover{background-color:rgb(var(--bg-color-hover))}.univer-sheet-bar-menu-item-icon{position:absolute;top:50%;left:var(--margin-xxs);transform:translateY(-50%);color:transparent}.univer-sheet-bar-menu-item-hide .univer-sheet-bar-menu-item-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:rgb(var(--grey-400))}.univer-sheet-bar-menu-item-select{font-weight:500;color:rgb(var(--primary-color))}.univer-sheet-bar-menu-item-select .univer-sheet-bar-menu-item-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:rgb(var(--primary-color))}.univer-sheet-bar-menu-item-label{font-size:var(--font-size-xs);font-weight:400;line-height:20px;display:flex;align-items:center}.univer-slide-tab-bar-container{overflow:hidden;max-width:calc(100% - 112px)}.univer-slide-tab-bar-container .univer-slide-tab-bar{user-select:none;overflow:hidden;display:flex;flex-direction:row;align-items:center;padding:var(--padding-xs) 6px;transition:box-shadow .2s}.univer-slide-tab-item{cursor:pointer;user-select:none;display:flex;flex-direction:row;flex-grow:1;align-items:center;box-sizing:border-box;margin:0 var(--margin-xxs);font-size:var(--font-size-xs);line-height:16px;color:rgb(var(--grey-1000));border-radius:var(--border-radius-base)}.univer-slide-tab-item:not(.univer-slide-tab-active):hover{background-color:rgb(var(--bg-color-hover))}.univer-slide-tab-item .univer-slide-tab-div{box-sizing:border-box;padding:var(--padding-xs) var(--padding-sm);white-space:nowrap;border:2px solid transparent;border-radius:var(--border-radius-base);display:flex;align-items:center}.univer-slide-tab-item .univer-slide-tab-div-edit{cursor:text;outline:none}.univer-slide-tab-item .univer-slide-tab-div-edit::selection{color:rgb(var(--color-white));background-color:rgb(var(--primary-color))}.univer-slide-tab-active{font-weight:700;color:rgb(var(--primary-color));background-color:rgb(var(--bg-color-secondary));box-shadow:0 0 8px #00000014;transition:box-shadow .2s;display:flex;justify-content:center}.univer-slide-tab-item-dropdown{user-select:none;min-width:auto!important}.univer-status-bar{display:flex;align-items:center;max-width:332px}.univer-status-bar.univer-single-mode{max-width:136px}.univer-status-bar-div{width:1px;height:16px;margin-left:10px;background:rgb(var(--grey-400, #ccc))}.univer-statistic-list{display:flex}.univer-statistic-list-column{flex-direction:column}.univer-statistic-list-column .univer-statistic-item{font-size:12px;line-height:140%;color:rgb(var(--grey-500))}.univer-statistic-item{cursor:default;overflow:hidden;display:flex;justify-content:flex-start;max-width:106px;margin-right:8px;font-size:var(--font-size-xxs);font-weight:400;font-style:normal;line-height:20px;color:rgb(var(--grey-900));text-align:center;text-overflow:ellipsis;white-space:nowrap}.univer-statistic-item:hover{color:rgb(var(--color-black))}.univer-statistic-picker{display:grid;gap:var(--margin-sm);align-items:center;box-sizing:border-box;width:196px;padding:var(--padding-base);font-size:var(--font-size-xs);background-color:rgb(var(--color-white));border:1px solid rgb(var(--border-color));border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-lg)}.univer-statistic-picker-item{display:flex;align-items:center;justify-content:flex-start}.univer-statistic-more{transform:rotate(90deg);display:flex;align-items:center;justify-content:center;width:24px;height:24px;font-size:12px;color:rgb(var(--grey-600, #e8e8e8));border-radius:4px}.univer-statistic-more:hover{background:rgb(var(--grey-300, #e8e8e8))}.univer-sheet-container{display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;height:36px;padding:0 var(--padding-xl)}.univer-cell-alert{box-sizing:border-box;box-shadow:var(--box-shadow-base);padding:var(--padding-sm) var(--padding-base);border-radius:var(--border-radius-lg);color:rgba(var(--color-black));background:rgba(var(--color-white));z-index:100;width:156px}.univer-cell-alert-title{height:20px;font-size:var(--font-size-sm);font-weight:500;display:flex;flex-direction:row;align-items:center;margin-bottom:6px;line-height:20px}.univer-cell-alert-icon{margin-right:6px}.univer-cell-alert-icon-error{color:rgba(var(--red-400))}.univer-cell-alert-icon-info{color:rgba(var(--blue-500))}.univer-cell-alert-icon-warning{color:rgba(var(--gold-400))}.univer-cell-alert-content{font-size:var(--font-size-sm)}.univer-spin-container{position:relative;width:100%;height:100%}.univer-spin-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;backdrop-filter:blur(10px);background-color:#ffffff80;z-index:10}.univer-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:univer-spin 2s linear infinite}.univer-content-blur{filter:blur(2px);pointer-events:none}@keyframes univer-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.univer-permission-panel-detail-wrapper{margin-top:16px;height:100%}.univer-radio-group-vertical{display:flex;flex-direction:column;font-weight:400}.univer-sheet-permission-design-person-panel{height:300px;border:1px solid rgb(var(--grey-200));border-radius:var(--border-radius-lg);padding:var(--padding-base);margin-bottom:var(--margin-xs);display:flex;flex-direction:column}.univer-sheet-permission-design-person-panel-header{display:flex;justify-content:space-between;align-items:center}.univer-sheet-permission-design-person-panel-header-add{cursor:pointer;color:rgb(var(--blue-500))}.univer-sheet-permission-design-person-panel-split{height:1px;background-color:rgb(var(--grey-200));margin:var(--margin-xs) 0}.univer-sheet-permission-design-person-panel-content-item{height:28px;line-height:28px;margin-bottom:var(--margin-sm);display:flex;align-items:center}.univer-sheet-permission-design-person-panel-content-item:last-child{margin-bottom:0}.univer-sheet-permission-design-person-panel-content-item-name{width:130px;color:rgb(var(--color-black));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-left:6px}.univer-sheet-permission-design-person-panel-content-item-select{width:90px;cursor:pointer}.univer-sheet-permission-design-person-panel .univer-sheet-permission-design-person-panel-content-item-select.univer-select-single:not(.univer-select-customize-input) .univer-select-selector{border:none;padding:0;color:rgb(var(--grey-900))}.univer-sheet-permission-design-person-panel .univer-sheet-permission-design-person-panel-content-item-select.univer-select-show-arrow .univer-select-arrow{right:0}.univer-sheet-permission-design-person-panel-content{flex:1}.univer-sheet-permission-panel-title{font-weight:500}.univer-permission-range-selector{font-weight:400}.univer-permission-range-selector-error,.univer-sheet-permission-panel-name-input-error,.univer-permission-range-selector-error:hover,.univer-sheet-permission-panel-name-input-error:hover{border:1px solid rgb(var(--red-400))}.univer-permission-range-selector-error-text,.univer-sheet-permission-panel-name-input-error-text{height:20px;line-height:20px;color:rgb(var(--red-400));font-size:var(--font-size-xs);font-weight:400}.univer-sheet-permission-list-panel-wrapper{margin-top:var(--margin-xs);height:100%}.univer-sheet-permission-list-panel-header{display:flex;padding:var(--padding-sm) 0;height:30px}.univer-sheet-permission-list-panel-header-type{display:flex;flex-direction:column;align-items:center;margin-right:var(--margin-lg);cursor:pointer}.univer-sheet-permission-list-panel-header-type div{height:24px;line-height:24px}.univer-sheet-permission-list-panel-header-type-bottom{height:2px;width:24px;background-color:rgb(var(--blue-500));margin-top:var(--margin-xxs)}.univer-sheet-permission-list-panel-header-select{color:rgb(var(--blue-500));height:24px;line-height:24px;font-size:var(--font-size-lg);font-weight:500}.univer-sheet-permission-list-item-header-icon{border-radius:var(--border-radius-base);height:24px;padding:4px;box-sizing:border-box}.univer-sheet-permission-list-item-header-icon:hover{background-color:rgb(var(--grey-200))}.univer-sheet-permission-list-item{margin-top:var(--margin-sm);border-radius:var(--border-radius-lg);border:1px solid rgb(var(--grey-200));padding:var(--padding-base)}.univer-sheet-permission-list-item:hover{background-color:rgb(var(--grey-50))}.univer-sheet-permission-list-item-header{height:20px;line-height:20px;display:flex;justify-content:space-between}.univer-sheet-permission-list-item-header-name{font-weight:500;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.univer-sheet-permission-list-item-header-operator{display:flex;align-items:center}.univer-sheet-permission-list-item-header-operator div{margin-left:var(--margin-xs)}.univer-sheet-permission-list-item-split{height:1px;background-color:rgb(var(--grey-200));margin:var(--margin-xs) 0}.univer-sheet-permission-list-item-content-edit{display:flex;align-items:center}.univer-sheet-permission-list-item-content-view{display:flex;align-items:center;margin-top:var(--margin-xs)}.univer-sheet-permission-list-item-content-desc{font-size:12px;color:rgb(var(--grey-400));max-width:256px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:var(--margin-xs)}.univer-sheet-permission-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.univer-sheet-permission-list-empty-text{width:240px;word-wrap:break-word;color:rgb(var(--grey-400));font-size:13px}.univer-sheet-permission-list-item-content-title{font-size:12px;height:16px;line-height:16px;flex-grow:1;color:rgb(var(--color-black))}.univer-sheet-permission-list-item-content-sub{font-size:12px;height:16px;line-height:16px;color:rgb(var(--grey-600))}.univer-sheet-permission-panel-footer{display:flex;flex-direction:row-reverse}.univer-sheet-permission-panel-footer-cancel{margin-right:12px}.univer-sheet-permission-panel-add-button{width:100%;display:flex;align-items:center;justify-content:center}.univer-sheet-permission-panel-add-button div{margin-right:4px}.univer-sheet-permission-user-dialog-wrapper{height:329px;padding:var(--padding-base);box-sizing:content-box}.univer-sheet-permission-user-dialog-search-input{width:256px;height:32px}.univer-sheet-permission-user-list{height:240px;overflow-y:auto}.univer-sheet-permission-user-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.univer-sheet-permission-user-list-empty-text{width:240px;word-wrap:break-word;color:rgb(var(--grey-400));font-size:13px}.univer-sheet-permission-user-item{display:flex;align-items:center;margin:var(--margin-xs) 0;border-radius:6px;padding:var(--padding-xs) var(--padding-sm)}.univer-sheet-permission-user-item:hover{background-color:rgb(var(--grey-50))}.univer-sheet-permission-user-item div{margin-left:6px}.univer-sheet-permission-user-item-name{width:186px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.univer-sheet-permission-split{height:1px;background-color:rgb(var(--grey-200))}.univer-sheet-permission-user-dialog-footer{height:36px;padding:var(--padding-xs) 0;display:flex;justify-content:flex-end;align-items:center;margin-top:var(--margin-xs);height:28px}.univer-sheet-permission-user-dialog-button{height:28px;line-height:28px;padding:0px var(--padding-base)}.univer-sheet-permission-dialog-wrapper{display:flex;flex-direction:column;padding:2px}.univer-sheet-permission-dialog-split{height:1px;background-color:rgb(var(--grey-200))}.univer-sheet-permission-dialog-item{display:flex;align-items:center;justify-content:space-between;height:20px;line-height:20px;margin:6px 0}.univer-sheet-permission-user-dialog-footer{height:36px;padding:var(--padding-xs) 0;display:flex;justify-content:flex-end;align-items:center;margin-top:var(--margin-xs)}.univer-sheet-permission-user-dialog-footer-confirm{margin-left:var(--margin-sm)}.univer-sheet-permission-user-dialog-button{height:32px;line-height:32px;padding:0px var(--padding-base)}.univer-sheet-permission-alert-dialog{padding:var(--padding-xl) 24px}.univer-sheet-permission-alert-dialog-title{font-size:var(--font-size-lg);font-weight:500;margin-bottom:var(--margin-base)}.univer-sheet-permission-alert-dialog-button{margin-top:var(--margin-lg);display:flex;justify-content:flex-end}.sheet-permission-user-dialog .univer-dialog-close,.sheet-permission-user-dialog .univer-dialog-header{display:none}.sheet-permission-user-dialog .univer-dialog-body{padding:0}.univer-mobile-sheet-bar-container{width:100%;overflow-x:scroll;height:32px;background-color:rgb(var(--bg-color))}.univer-mobile-sheet-bar-slider{display:flex;flex-wrap:nowrap;align-items:center;height:32px}.univer-mobile-sheet-bar-item{align-items:center;box-sizing:border-box;flex-grow:1;flex-shrink:0;flex-wrap:nowrap;font-size:12px;height:100%;line-height:28px;min-width:48px;overflow:hidden;padding:2px 4px;text-align:center;white-space:nowrap;border-right:1px solid rgb(var(--border-color));background-color:rgb(var(--bg-color));text-overflow:ellipsis;max-width:120px}.univer-mobile-sheet-bar-item.univer-mobile-sheet-bar-item-activated{color:rgb(var(--primary-color));background-color:rgb(var(--bg-color-secondary))}
1
+ .univer-ui-plugin-sheets-border-panel{display:grid;gap:var(--margin-sm)}.univer-ui-plugin-sheets-border-panel-position{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--margin-xxs);box-sizing:border-box;padding-bottom:var(--padding-base);border-bottom:1px solid rgb(var(--border-color))}.univer-ui-plugin-sheets-border-panel-position-item{display:flex;align-items:center;justify-content:center;width:24px;height:24px;font-size:var(--font-size-lg);border-radius:var(--border-radius-base)}.univer-ui-plugin-sheets-border-panel-position-item:hover,.univer-ui-plugin-sheets-border-panel-position-item-active{background-color:rgb(var(--bg-color-hover))}.univer-ui-plugin-sheets-border-panel-styles{display:flex;gap:var(--margin-xs);align-items:center;justify-content:space-around}.univer-ui-plugin-sheets-border-panel-board{box-sizing:border-box;padding:var(--padding-base);background-color:rgb(var(--bg-color-secondary));border:1px solid rgb(var(--border-color));border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-base)}.univer-ui-plugin-sheets-border-panel-button{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);transition:all .15s}.univer-ui-plugin-sheets-border-panel-button:hover{background-color:rgb(var(--bg-color-hover))}.univer-ui-plugin-sheets-border-panel-more-icon{color:rgb(var(--grey-400))}.univer-sheets-ui-context-menu-input{display:flex;gap:var(--margin-sm);align-items:center}.univer-sheets-ui-context-menu-input-container{width:72px}.univer-sheets-ui-context-menu-input-number{height:24px}.univer-count-bar{display:flex;flex:0 0 260px;justify-content:flex-end}.univer-editor-container{position:absolute;z-index:10;top:200px;left:100px;display:flex;width:100px;height:50px;border:1px solid rgb(var(--primary-color));box-shadow:none;box-sizing:border-box}.univer-editor-container .univer-editor-input{position:relative;display:flex;width:100%;height:100%;background:#fff}.univer-editor-container .univer-editor-input canvas{position:absolute;top:-1px!important;left:-1px!important}.univer-defined-name{display:flex;position:relative;transition:height .15s;border-right:1px solid rgb(var(--border-color));height:100%;width:100px;box-sizing:border-box}.univer-defined-name-drop-down{display:flex;align-items:center;justify-content:center;padding:0 var(--padding-xs);cursor:pointer;position:absolute;right:0;height:100%}.univer-defined-name-drop-down:hover{background-color:rgb(var(--grey-50));color:rgb(var(--primary-color))}.univer-defined-name-drop-down-disable{color:rgb(var(--grey-200));cursor:not-allowed}.univer-defined-name-drop-down-disable:hover{color:rgb(var(--grey-200))}.univer-defined-name-overlay{position:relative;border:1px solid rgb(var(--border-color));width:300px;background-color:rgb(var(--color-white));transform:translate(-75px)}.univer-defined-name-overlay-container{position:relative;height:100%;max-height:400px;width:100%;overflow:hidden;overflow-y:auto;scrollbar-color:rgba(var(--scrollbar-color),.7) transparent;scrollbar-gutter:auto;scrollbar-width:thin}.univer-defined-name-overlay-item{display:flex;align-items:center;justify-content:space-between;padding:var(--padding-xs);border-bottom:1px solid rgb(var(--border-color));user-select:none;cursor:pointer}.univer-defined-name-overlay-item:hover{background-color:rgb(var(--grey-50))}.univer-defined-name-overlay-item-name{font-size:var(--font-size-md);color:rgb(var(--grey-900));margin:5px 0;overflow:hidden;text-overflow:ellipsis;flex:1}.univer-defined-name-overlay-item-name-for-sheet{font-size:var(--font-size-xxs);color:rgb(var(--grey-400));margin-left:5px;font-weight:400}.univer-defined-name-overlay-item-formula{font-size:var(--font-size-xs);color:rgb(var(--grey-800));margin:5px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.univer-defined-name-overlay-manager{position:absolute;display:flex;flex-direction:column;overflow-y:auto;width:100%;cursor:pointer;overflow:hidden;background-color:rgb(var(--color-white))}.univer-defined-name-overlay-manager:hover{background-color:rgb(var(--grey-50))}.univer-defined-name-overlay-manager-title{font-size:var(--font-size-xs);font-weight:700;margin:var(--margin-xs);margin-bottom:0;color:rgb(var(--grey-800))}.univer-defined-name-overlay-manager-content{font-size:var(--font-size-xxs);margin:var(--margin-xs);color:rgb(var(--grey-500))}.univer-defined-name-container{width:100%;position:relative}.univer-defined-name-container-scroll{width:100%;overflow:hidden;overflow-y:auto;position:absolute}.univer-defined-name-container-addButton{display:flex;align-items:center;justify-content:center;width:100%;height:40px;border-top:1px solid rgb(var(--border-color));border-bottom:1px solid rgb(var(--border-color));font-size:var(--font-size-md);color:rgb(var(--primary-color))}.univer-defined-name-container-addButton:hover{background-color:rgb(var(--grey-50));cursor:pointer}.univer-defined-name-container-addButton-text{margin-left:5px}.univer-defined-name-container-item{position:relative;display:flex;align-items:center;justify-content:space-between;padding:var(--padding-xs);border-bottom:1px solid rgb(var(--border-color));user-select:none;cursor:default}.univer-defined-name-container-item-name{font-size:var(--font-size-sm);font-weight:500;color:rgb(var(--color-black));margin:5px 0;max-width:190px;max-height:100px;overflow:hidden}.univer-defined-name-container-item-name-for-sheet{font-size:var(--font-size-xxs);color:rgb(var(--grey-400));margin-left:5px;font-weight:400}.univer-defined-name-container-item-formula-or-refString{font-size:var(--font-size-xs);color:rgb(var(--grey-500));font-weight:400;margin:5px 0;max-height:100px;text-overflow:ellipsis;overflow:hidden}.univer-defined-name-container-item-update{position:absolute;font-size:var(--font-size-xs);color:rgb(var(--primary-color));cursor:pointer;padding:4px;transform:translateY(-50%);border-radius:var(--border-radius-base);right:60px;top:20px}.univer-defined-name-container-item-update:hover{background-color:rgb(var(--hyacinth-50))}.univer-defined-name-container-item-delete{position:absolute;font-size:var(--font-size-xs);color:rgb(var(--error-color));cursor:pointer;padding:4px;right:20px;top:20px;transform:translateY(-50%);border-radius:var(--border-radius-base)}.univer-defined-name-container-item-delete:hover{background-color:rgb(var(--hyacinth-50))}.univer-defined-name-container-item-show{display:none}.univer-defined-name-container-item:hover{background-color:rgb(var(--grey-50))}.univer-defined-name-container-item:hover .univer-defined-name-container-item-show{display:block}.univer-defined-name-input{display:flex;align-items:center;justify-content:left;border-bottom:1px solid rgb(var(--border-color));padding-bottom:5px}.univer-defined-name-input>div{width:100%;margin-top:5px}.univer-defined-name-input-validation{display:flex;align-items:center;justify-content:left;color:rgb(var(--error-color));font-size:var(--font-size-xs)}.univer-defined-name-input-validation>span{margin-right:2px}.univer-defined-name-input-disable{color:rgb(var(--grey-200));cursor:not-allowed}.univer-formula-box{display:flex;box-sizing:border-box;height:28px;background:rgb(var(--bg-color-secondary));border-bottom:1px solid rgb(var(--border-color));transition:height .15s}.univer-formula-box .univer-name-ranges{box-sizing:border-box;width:100px;height:100%;position:relative}.univer-formula-box .univer-formula-bar{display:flex;width:100%;height:100%}.univer-formula-box .univer-formula-bar .univer-formula-icon{padding:6px 0}.univer-formula-box .univer-formula-bar .univer-formula-icon-disable{color:rgb(var(--grey-200));cursor:not-allowed}.univer-formula-box .univer-formula-bar .univer-formula-icon-wrapper{position:relative;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:80px;height:100%;font-size:var(--font-size-xs);border-right:1px solid rgb(var(--border-color))}.univer-formula-box .univer-formula-bar .univer-formula-icon-wrapper .univer-icon-container{display:flex;align-items:center;justify-content:center;padding:var(--padding-xs);font-size:var(--font-size-lg);border-radius:var(--border-radius-base)}.univer-formula-box .univer-formula-bar .univer-formula-icon-wrapper .univer-icon-container-success.univer-formula-active{cursor:pointer;color:rgb(var(--success-color))}.univer-formula-box .univer-formula-bar .univer-formula-icon-wrapper .univer-icon-container-success.univer-formula-active:hover{background-color:rgb(var(--grey-50))}.univer-formula-box .univer-formula-bar .univer-formula-icon-wrapper .univer-icon-container-error.univer-formula-active{cursor:pointer;color:rgb(var(--error-color))}.univer-formula-box .univer-formula-bar .univer-formula-icon-wrapper .univer-icon-container-error.univer-formula-active:hover{background-color:rgb(var(--grey-50))}.univer-formula-box .univer-formula-bar .univer-formula-icon-wrapper .univer-icon-container-fx{cursor:pointer}.univer-formula-box .univer-formula-bar .univer-formula-icon-wrapper .univer-icon-container-fx:hover{background-color:rgb(var(--grey-50))}.univer-formula-box .univer-formula-bar .univer-formula-input{overflow:hidden;display:flex;flex:1;width:100%;padding:0 0 0 10px}.univer-formula-box .univer-formula-bar .univer-formula-input .univer-formula-content{position:relative;width:100%;height:100%;word-wrap:break-word;outline:none}.univer-formula-box .univer-formula-bar .univer-formula-input .univer-arrow-container{cursor:pointer;display:flex;align-items:center;justify-content:center;width:20px;height:100%;font-size:var(--font-size-xs);color:rgb(var(--text-color-secondary))}.univer-formula-box .univer-formula-bar .univer-formula-input .univer-arrow-container-disable{color:rgb(var(--grey-200));cursor:not-allowed}.univer-operate-container{position:absolute;z-index:10;right:0;left:0;width:0;height:0}.univer-auto-fill-popup-menu{display:grid;gap:var(--margin-xxs);align-items:center;box-sizing:border-box;min-width:128px;margin-top:0;margin-bottom:0;padding:var(--padding-sm);font-size:var(--font-size-base);background-color:rgb(var(--bg-color-secondary));border:1px solid rgb(var(--border-color));border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-lg)}.univer-auto-fill-popup-menu li{list-style:none}.univer-auto-fill-popup-menu-item{cursor:pointer;position:relative;display:flex;align-items:center;box-sizing:border-box;width:134px;height:28px;padding:var(--padding-xs) 0 var(--padding-xs) 36px;font-size:13px;font-weight:400;font-style:normal;line-height:20px;color:rgb(var(--black, #35322b));text-align:left;border-radius:4px;border-radius:var(--border-radius-base);transition:background .2s}.univer-auto-fill-popup-menu-item:hover{background-color:rgb(var(--bg-color-hover))}.univer-auto-fill-popup-menu-item-icon{position:absolute;top:50%;left:var(--padding-xs);transform:translateY(-50%);display:flex;align-items:center;justify-content:center}.univer-auto-fill-popup-menu-item-title{padding:var(--padding-xs) var(--padding-xs) var(--padding-xs) 0;vertical-align:middle}.univer-auto-fill-popup-menu-item-hide{color:rgb(var(--text-color-secondary))}.univer-auto-fill-popup-menu-item:hover{background:rgb(var(--grey-100))}.univer-btn-container{display:flex;align-items:center;justify-content:center;padding:3px;background:#fff;border:1px solid rgb(var(--grey-200, #e5e5e5));border-radius:4px}.univer-btn-container:hover,.univer-btn-container.univer-btn-container-expand{background:rgb(var(--grey-100, #f5f5f5))}.univer-sheet-bar{position:relative;display:flex;flex:1 1 0px;flex-direction:row;min-width:calc(100% - 592px);max-width:calc(100% - 260px);height:100%;background-color:rgb(var(--bg-color-secondary))}.univer-sheet-bar-options{display:flex;flex-direction:row;align-items:center;margin:var(--margin-xxs);transition:display .2s}.univer-sheet-bar-options-divider:after{content:"";display:block;width:1px;height:16px;margin:0 var(--margin-xs);background-color:rgb(var(--grey-400))}.univer-sheet-bar-btn{cursor:pointer;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;font-size:var(--font-size-lg);color:rgb(var(--text-color-secondary-darker));background-color:transparent;border:none;border-radius:var(--border-radius-base);outline:none}.univer-sheet-bar-btn:not([disabled]):hover{background-color:rgb(var(--bg-color-hover))}.univer-sheet-bar-btn[disabled]{cursor:not-allowed;color:rgb(var(--grey-200))}.univer-sheet-bar-menu{display:grid;gap:var(--margin-xxs);align-items:center;box-sizing:border-box;padding:var(--padding-sm);background-color:rgb(var(--bg-color-secondary));border:1px solid rgb(var(--border-color));border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-lg)}.univer-sheet-bar-menu li{list-style:none}.univer-sheet-bar-menu-item{cursor:pointer;position:relative;display:flex;box-sizing:border-box;padding:var(--padding-xs) 24px;color:rgb(var(--text-color));border-radius:var(--border-radius-base);transition:background .2s}.univer-sheet-bar-menu-item:hover{background-color:rgb(var(--bg-color-hover))}.univer-sheet-bar-menu-item-icon{position:absolute;top:50%;left:var(--margin-xxs);transform:translateY(-50%);color:transparent}.univer-sheet-bar-menu-item-hide .univer-sheet-bar-menu-item-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:rgb(var(--grey-400))}.univer-sheet-bar-menu-item-select{font-weight:500;color:rgb(var(--primary-color))}.univer-sheet-bar-menu-item-select .univer-sheet-bar-menu-item-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:rgb(var(--primary-color))}.univer-sheet-bar-menu-item-label{font-size:var(--font-size-xs);font-weight:400;line-height:20px;display:flex;align-items:center}.univer-slide-tab-bar-container{overflow:hidden;max-width:calc(100% - 112px)}.univer-slide-tab-bar-container .univer-slide-tab-bar{user-select:none;overflow:hidden;display:flex;flex-direction:row;align-items:center;padding:var(--padding-xs) 6px;transition:box-shadow .2s}.univer-slide-tab-item{cursor:pointer;user-select:none;display:flex;flex-direction:row;flex-grow:1;align-items:center;box-sizing:border-box;margin:0 var(--margin-xxs);font-size:var(--font-size-xs);line-height:16px;color:rgb(var(--grey-1000));border-radius:var(--border-radius-base)}.univer-slide-tab-item:not(.univer-slide-tab-active):hover{background-color:rgb(var(--bg-color-hover))}.univer-slide-tab-item .univer-slide-tab-div{box-sizing:border-box;padding:var(--padding-xs) var(--padding-sm);white-space:nowrap;border:2px solid transparent;border-radius:var(--border-radius-base);display:flex;align-items:center}.univer-slide-tab-item .univer-slide-tab-div-edit{cursor:text;outline:none}.univer-slide-tab-item .univer-slide-tab-div-edit::selection{color:rgb(var(--color-white));background-color:rgb(var(--primary-color))}.univer-slide-tab-active{font-weight:700;color:rgb(var(--primary-color));background-color:rgb(var(--bg-color-secondary));box-shadow:0 0 8px #00000014;transition:box-shadow .2s;display:flex;justify-content:center}.univer-slide-tab-item-dropdown{user-select:none;min-width:auto!important}.univer-status-bar{display:flex;align-items:center;max-width:332px}.univer-status-bar.univer-single-mode{max-width:136px}.univer-status-bar-div{width:1px;height:16px;margin-left:10px;background:rgb(var(--grey-400, #ccc))}.univer-statistic-list{display:flex}.univer-statistic-list-column{flex-direction:column}.univer-statistic-list-column .univer-statistic-item{font-size:12px;line-height:140%;color:rgb(var(--grey-500))}.univer-statistic-item{cursor:default;overflow:hidden;display:flex;justify-content:flex-start;max-width:106px;margin-right:8px;font-size:var(--font-size-xxs);font-weight:400;font-style:normal;line-height:20px;color:rgb(var(--grey-900));text-align:center;text-overflow:ellipsis;white-space:nowrap}.univer-statistic-item:hover{color:rgb(var(--color-black))}.univer-statistic-picker{display:grid;gap:var(--margin-sm);align-items:center;box-sizing:border-box;width:196px;padding:var(--padding-base);font-size:var(--font-size-xs);background-color:rgb(var(--color-white));border:1px solid rgb(var(--border-color));border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-lg)}.univer-statistic-picker-item{display:flex;align-items:center;justify-content:flex-start}.univer-statistic-more{transform:rotate(90deg);display:flex;align-items:center;justify-content:center;width:24px;height:24px;font-size:12px;color:rgb(var(--grey-600, #e8e8e8));border-radius:4px}.univer-statistic-more:hover{background:rgb(var(--grey-300, #e8e8e8))}.univer-sheet-container{display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;height:36px;padding:0 var(--padding-xl);background-color:rgb(var(--bg-color-secondary))}.univer-cell-alert{box-sizing:border-box;box-shadow:var(--box-shadow-base);padding:var(--padding-sm) var(--padding-base);border-radius:var(--border-radius-lg);color:rgba(var(--color-black));background:rgba(var(--color-white));z-index:100;width:156px}.univer-cell-alert-title{height:20px;font-size:var(--font-size-sm);font-weight:500;display:flex;flex-direction:row;align-items:center;margin-bottom:6px;line-height:20px}.univer-cell-alert-icon{margin-right:6px}.univer-cell-alert-icon-error{color:rgba(var(--red-400))}.univer-cell-alert-icon-info{color:rgba(var(--blue-500))}.univer-cell-alert-icon-warning{color:rgba(var(--gold-400))}.univer-cell-alert-content{font-size:var(--font-size-sm)}.univer-sheet-permission-list-panel-wrapper{margin-top:var(--margin-xs);height:100%}.univer-sheet-permission-list-panel-header{display:flex;padding:var(--padding-sm) 0;height:30px}.univer-sheet-permission-list-panel-header-type{display:flex;flex-direction:column;align-items:center;margin-right:var(--margin-lg);cursor:pointer}.univer-sheet-permission-list-panel-header-type div{height:24px;line-height:24px}.univer-sheet-permission-list-panel-header-type-bottom{height:2px;width:24px;background-color:rgb(var(--blue-500));margin-top:var(--margin-xxs)}.univer-sheet-permission-list-panel-header-select{color:rgb(var(--blue-500));height:24px;line-height:24px;font-size:var(--font-size-lg);font-weight:500}.univer-sheet-permission-list-item-header-icon{border-radius:var(--border-radius-base);height:24px;padding:4px;box-sizing:border-box}.univer-sheet-permission-list-item-header-icon:hover{background-color:rgb(var(--grey-200))}.univer-sheet-permission-list-item{margin-top:var(--margin-sm);border-radius:var(--border-radius-lg);border:1px solid rgb(var(--grey-200));padding:var(--padding-base)}.univer-sheet-permission-list-item:hover{background-color:rgb(var(--grey-50))}.univer-sheet-permission-list-item-header{height:20px;line-height:20px;display:flex;justify-content:space-between}.univer-sheet-permission-list-item-header-name{font-weight:500;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.univer-sheet-permission-list-item-header-operator{display:flex;align-items:center}.univer-sheet-permission-list-item-header-operator div{margin-left:var(--margin-xs)}.univer-sheet-permission-list-item-split{height:1px;background-color:rgb(var(--grey-200));margin:var(--margin-xs) 0}.univer-sheet-permission-list-item-content-edit{display:flex;align-items:center}.univer-sheet-permission-list-item-content-view{display:flex;align-items:center;margin-top:var(--margin-xs)}.univer-sheet-permission-list-item-content-desc{font-size:12px;color:rgb(var(--grey-400));max-width:256px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:var(--margin-xs)}.univer-sheet-permission-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.univer-sheet-permission-list-empty-text{width:240px;word-wrap:break-word;color:rgb(var(--grey-400));font-size:13px}.univer-sheet-permission-list-item-content-title{font-size:12px;height:16px;line-height:16px;flex-grow:1;color:rgb(var(--color-black))}.univer-sheet-permission-list-item-content-sub{font-size:12px;height:16px;line-height:16px;color:rgb(var(--grey-600))}.univer-spin-container{position:relative;width:100%;height:100%}.univer-spin-overlay{position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;display:flex;justify-content:center;align-items:center;backdrop-filter:blur(10px);background-color:#ffffff80;z-index:10}.univer-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:univer-spin 2s linear infinite}.univer-content-blur{filter:blur(2px);pointer-events:none}@keyframes univer-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.univer-permission-panel-detail-wrapper{margin-top:16px;height:100%}.univer-radio-group-vertical{display:flex;flex-direction:column;font-weight:400}.univer-sheet-permission-design-person-panel{height:300px;border:1px solid rgb(var(--grey-200));border-radius:var(--border-radius-lg);padding:var(--padding-base);margin-bottom:var(--margin-xs);display:flex;flex-direction:column}.univer-sheet-permission-design-person-panel-header{display:flex;justify-content:space-between;align-items:center}.univer-sheet-permission-design-person-panel-header-add{cursor:pointer;color:rgb(var(--blue-500))}.univer-sheet-permission-design-person-panel-split{height:1px;background-color:rgb(var(--grey-200));margin:var(--margin-xs) 0}.univer-sheet-permission-design-person-panel-content-item{height:28px;line-height:28px;margin-bottom:var(--margin-sm);display:flex;align-items:center}.univer-sheet-permission-design-person-panel-content-item:last-child{margin-bottom:0}.univer-sheet-permission-design-person-panel-content-item-name{width:130px;color:rgb(var(--color-black));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-left:6px}.univer-sheet-permission-design-person-panel-content-item-select{width:90px;cursor:pointer}.univer-sheet-permission-design-person-panel .univer-sheet-permission-design-person-panel-content-item-select.univer-select-single:not(.univer-select-customize-input) .univer-select-selector{border:none;padding:0;color:rgb(var(--grey-900))}.univer-sheet-permission-design-person-panel .univer-sheet-permission-design-person-panel-content-item-select.univer-select-show-arrow .univer-select-arrow{right:0}.univer-sheet-permission-design-person-panel-content{flex:1}.univer-sheet-permission-panel-title{font-weight:500}.univer-permission-range-selector{font-weight:400}.univer-permission-range-selector-error,.univer-sheet-permission-panel-name-input-error,.univer-permission-range-selector-error:hover,.univer-sheet-permission-panel-name-input-error:hover{border:1px solid rgb(var(--red-400))}.univer-permission-range-selector-error-text,.univer-sheet-permission-panel-name-input-error-text{height:20px;line-height:20px;color:rgb(var(--red-400));font-size:var(--font-size-xs);font-weight:400}.univer-sheet-permission-panel-footer{display:flex;flex-direction:row-reverse}.univer-sheet-permission-panel-footer-cancel{margin-right:12px}.univer-sheet-permission-panel-add-button{width:100%;display:flex;align-items:center;justify-content:center}.univer-sheet-permission-panel-add-button div{margin-right:4px}.univer-sheet-permission-user-dialog-wrapper{height:329px;padding:var(--padding-base);box-sizing:content-box}.univer-sheet-permission-user-dialog-search-input{width:256px;height:32px}.univer-sheet-permission-user-list{height:240px;overflow-y:auto}.univer-sheet-permission-user-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.univer-sheet-permission-user-list-empty-text{width:240px;word-wrap:break-word;color:rgb(var(--grey-400));font-size:13px}.univer-sheet-permission-user-item{display:flex;align-items:center;margin:var(--margin-xs) 0;border-radius:6px;padding:var(--padding-xs) var(--padding-sm)}.univer-sheet-permission-user-item:hover{background-color:rgb(var(--grey-50))}.univer-sheet-permission-user-item div{margin-left:6px}.univer-sheet-permission-user-item-name{width:186px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.univer-sheet-permission-split{height:1px;background-color:rgb(var(--grey-200))}.univer-sheet-permission-user-dialog-footer{height:36px;padding:var(--padding-xs) 0;display:flex;justify-content:flex-end;align-items:center;margin-top:var(--margin-xs);height:28px}.univer-sheet-permission-user-dialog-button{height:28px;line-height:28px;padding:0px var(--padding-base)}.univer-sheet-permission-dialog-wrapper{display:flex;flex-direction:column;padding:2px}.univer-sheet-permission-dialog-split{height:1px;background-color:rgb(var(--grey-200))}.univer-sheet-permission-dialog-item{display:flex;align-items:center;justify-content:space-between;height:20px;line-height:20px;margin:6px 0}.univer-sheet-permission-user-dialog-footer{height:36px;padding:var(--padding-xs) 0;display:flex;justify-content:flex-end;align-items:center;margin-top:var(--margin-xs)}.univer-sheet-permission-user-dialog-footer-confirm{margin-left:var(--margin-sm)}.univer-sheet-permission-user-dialog-button{height:32px;line-height:32px;padding:0px var(--padding-base)}.univer-sheet-permission-alert-dialog{padding:var(--padding-xl) 24px}.univer-sheet-permission-alert-dialog-title{font-size:var(--font-size-lg);font-weight:500;margin-bottom:var(--margin-base)}.univer-sheet-permission-alert-dialog-button{margin-top:var(--margin-lg);display:flex;justify-content:flex-end}.sheet-permission-user-dialog .univer-dialog-close,.sheet-permission-user-dialog .univer-dialog-header{display:none}.sheet-permission-user-dialog .univer-dialog-body{padding:0}.univer-mobile-sheet-bar-container{width:100%;overflow-x:scroll;height:32px;background-color:rgb(var(--bg-color))}.univer-mobile-sheet-bar-slider{display:flex;flex-wrap:nowrap;align-items:center;height:32px}.univer-mobile-sheet-bar-item{align-items:center;box-sizing:border-box;flex-grow:1;flex-shrink:0;flex-wrap:nowrap;font-size:12px;height:100%;line-height:28px;min-width:48px;overflow:hidden;padding:2px 4px;text-align:center;white-space:nowrap;border-right:1px solid rgb(var(--border-color));background-color:rgb(var(--bg-color));text-overflow:ellipsis;max-width:120px}.univer-mobile-sheet-bar-item.univer-mobile-sheet-bar-item-activated{color:rgb(var(--primary-color));background-color:rgb(var(--bg-color-secondary))}
@@ -14,5 +14,6 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  export declare enum SheetsUIPart {
17
- FILTER_PANEL_EMBED_POINT = "filter-panel-embed-point"
17
+ FILTER_PANEL_EMBED_POINT = "filter-panel-embed-point",
18
+ SHEETS_FOOTER = "sheets-footer"
18
19
  }
@@ -3,7 +3,8 @@ import { IMenuButtonItem, IMenuSelectorItem } from '@univerjs/ui';
3
3
  export declare enum SheetMenuPosition {
4
4
  ROW_HEADER_CONTEXT_MENU = "ROW_HEADER_CONTEXT_MENU",
5
5
  COL_HEADER_CONTEXT_MENU = "COL_HEADER_CONTEXT_MENU",
6
- SHEET_BAR = "SHEET_BAR"
6
+ SHEET_BAR = "SHEET_BAR",
7
+ SHEET_FOOTER = "SHEET_FOOTER"
7
8
  }
8
9
  export declare function FormatPainterMenuItemFactory(accessor: IAccessor): IMenuButtonItem;
9
10
  export declare function BoldMenuItemFactory(accessor: IAccessor): IMenuButtonItem;
@@ -1,4 +1,4 @@
1
- import { Disposable, IAuthzIoService, IPermissionService, IUniverInstanceService, UserManagerService } from '@univerjs/core';
1
+ import { Disposable, IAuthzIoService, IPermissionService, IUndoRedoService, IUniverInstanceService, UserManagerService } from '@univerjs/core';
2
2
  import { RangeProtectionRenderModel, RangeProtectionRuleModel, SheetInterceptorService, WorksheetProtectionPointModel, WorksheetProtectionRuleModel } from '@univerjs/sheets';
3
3
  import { IDialogService } from '@univerjs/ui';
4
4
  export declare class SheetPermissionInitController extends Disposable {
@@ -12,7 +12,8 @@ export declare class SheetPermissionInitController extends Disposable {
12
12
  private _worksheetProtectionPointRuleModel;
13
13
  private _sheetInterceptorService;
14
14
  private _selectionProtectionRenderModel;
15
- constructor(_univerInstanceService: IUniverInstanceService, _dialogService: IDialogService, _permissionService: IPermissionService, _authzIoService: IAuthzIoService, _rangeProtectionRuleModel: RangeProtectionRuleModel, _worksheetProtectionRuleModel: WorksheetProtectionRuleModel, _userManagerService: UserManagerService, _worksheetProtectionPointRuleModel: WorksheetProtectionPointModel, _sheetInterceptorService: SheetInterceptorService, _selectionProtectionRenderModel: RangeProtectionRenderModel);
15
+ private _undoRedoService;
16
+ constructor(_univerInstanceService: IUniverInstanceService, _dialogService: IDialogService, _permissionService: IPermissionService, _authzIoService: IAuthzIoService, _rangeProtectionRuleModel: RangeProtectionRuleModel, _worksheetProtectionRuleModel: WorksheetProtectionRuleModel, _userManagerService: UserManagerService, _worksheetProtectionPointRuleModel: WorksheetProtectionPointModel, _sheetInterceptorService: SheetInterceptorService, _selectionProtectionRenderModel: RangeProtectionRenderModel, _undoRedoService: IUndoRedoService);
16
17
  private _initRangePermissionFromSnapshot;
17
18
  private _initRangePermissionChange;
18
19
  initWorkbookPermissionChange(_unitId?: string): void;
@@ -23,4 +24,5 @@ export declare class SheetPermissionInitController extends Disposable {
23
24
  private _initUserChange;
24
25
  private _initViewModelByRangeInterceptor;
25
26
  private _initViewModelBySheetInterceptor;
27
+ refreshPermission(unitId: string, permissionId: string): void;
26
28
  }
@@ -10,6 +10,10 @@ export declare class SheetsZoomRenderController extends Disposable implements IR
10
10
  updateZoom(worksheetId: string, zoomRatio: number): boolean;
11
11
  private _initZoomEventListener;
12
12
  private _initSkeletonListener;
13
+ /**
14
+ * Zoom scene, resize viewport and then setScrollInfo
15
+ * @param zoomRatio
16
+ */
13
17
  private _updateViewZoom;
14
18
  private _getSheetObject;
15
19
  }
@@ -13,7 +13,8 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- export * from './basics';
16
+ export { SheetsUIPart } from './consts/ui-name';
17
+ export { SHEET_UI_PLUGIN_NAME } from './consts/plugin-name';
17
18
  export { getEditorObject } from './basics/editor/get-editor-object';
18
19
  export { SheetsScrollRenderController } from './controllers/render-controllers/scroll.render-controller';
19
20
  export { deriveStateFromActiveSheet$, getCurrentRangeDisable$ } from './controllers/menu/menu-util';
@@ -4,9 +4,14 @@ export declare enum viewState {
4
4
  othersCanView = "othersCanView",
5
5
  noOneElseCanView = "noOneElseCanView"
6
6
  }
7
+ export declare enum editState {
8
+ designedUserCanEdit = "designedUserCanEdit",
9
+ onlyMe = "onlyMe"
10
+ }
7
11
  type IPermissionPanelBaseRule = IRangeProtectionRule | IWorksheetProtectionRule;
8
12
  export type IPermissionPanelRule = IPermissionPanelBaseRule & {
9
13
  viewStatus?: viewState;
14
+ editStatus?: editState;
10
15
  ranges: IRange[];
11
16
  };
12
17
  export declare class SheetPermissionPanelModel {
@@ -14,12 +19,16 @@ export declare class SheetPermissionPanelModel {
14
19
  private _rule$;
15
20
  private _oldRule;
16
21
  private _rangeErrorMsg$;
22
+ private _visible;
23
+ setVisible(v: boolean): void;
24
+ getVisible(): boolean;
17
25
  rangeErrorMsg$: import('rxjs').Observable<string>;
18
26
  setRangeErrorMsg(msg: string): void;
19
27
  rule$: import('rxjs').Observable<IPermissionPanelRule>;
20
28
  get rule(): IPermissionPanelRule;
21
29
  setRule(ruleObj: Partial<IPermissionPanelRule>): void;
22
30
  resetRule(): void;
31
+ reset(): void;
23
32
  get oldRule(): Nullable<IPermissionPanelRule>;
24
33
  setOldRule(ruleObj: Nullable<IPermissionPanelRule>): void;
25
34
  }
@@ -10,6 +10,7 @@ export declare class SheetPermissionUserManagerService {
10
10
  get allUserList(): ICollaborator[];
11
11
  setAllUserList(userList: ICollaborator[]): void;
12
12
  setUserList(userList: ICollaborator[]): void;
13
+ reset(): void;
13
14
  get oldCollaboratorList(): ICollaborator[];
14
15
  setOldCollaboratorList(userList: ICollaborator[]): void;
15
16
  get selectUserList(): ICollaborator[];
@@ -1,8 +1,9 @@
1
1
  import { IInterceptor, Injector, IRange, IRangeWithCoord, ISelectionCell, ISelectionCellWithMergeInfo, ISelectionWithCoord, Nullable, ThemeService, Disposable, InterceptorManager, RANGE_TYPE } from '@univerjs/core';
2
- import { IMouseEvent, IPointerEvent, IRenderManagerService, IRenderModule, Scene, SpreadsheetSkeleton, Viewport, ScrollTimer, ScrollTimerType } from '@univerjs/engine-render';
2
+ import { IMouseEvent, IPointerEvent, IRenderModule, Scene, SpreadsheetSkeleton, Viewport, ScrollTimer, ScrollTimerType } from '@univerjs/engine-render';
3
3
  import { ISelectionStyle, ISelectionWithCoordAndStyle, ISelectionWithStyle } from '@univerjs/sheets';
4
4
  import { IShortcutService } from '@univerjs/ui';
5
5
  import { Observable, Subscription, BehaviorSubject, Subject } from 'rxjs';
6
+ import { SheetSkeletonManagerService } from '../sheet-skeleton-manager.service';
6
7
  import { SelectionControl } from './selection-shape';
7
8
  export interface IControlFillConfig {
8
9
  oldRange: IRange;
@@ -42,7 +43,7 @@ export declare class BaseSelectionRenderService extends Disposable implements IS
42
43
  protected readonly _injector: Injector;
43
44
  protected readonly _themeService: ThemeService;
44
45
  protected readonly _shortcutService: IShortcutService;
45
- protected readonly _renderManagerService: IRenderManagerService;
46
+ protected readonly _sheetSkeletonManagerService: SheetSkeletonManagerService;
46
47
  private _downObserver;
47
48
  protected _scenePointerMoveSub: Nullable<Subscription>;
48
49
  protected _scenePointerUpSub: Nullable<Subscription>;
@@ -70,11 +71,6 @@ export declare class BaseSelectionRenderService extends Disposable implements IS
70
71
  protected _skipLastEnabled: boolean;
71
72
  protected _singleSelectionEnabled: boolean;
72
73
  protected readonly _selectionMoveEnd$: BehaviorSubject<ISelectionWithCoordAndStyle[]>;
73
- /**
74
- * trigger when selection move end(pointerup)
75
- * and then update selection model in selectionManagerService
76
- * selectionMoveEnd$ ---> _updateSelections --> selectionOperation@selectionManagerService.setSelections
77
- */
78
74
  readonly selectionMoveEnd$: Observable<ISelectionWithCoordAndStyle[]>;
79
75
  protected readonly _selectionMoving$: Subject<ISelectionWithCoordAndStyle[]>;
80
76
  readonly selectionMoving$: Observable<ISelectionWithCoordAndStyle[]>;
@@ -92,50 +88,35 @@ export declare class BaseSelectionRenderService extends Disposable implements IS
92
88
  scene: Scene;
93
89
  }>;
94
90
  }>;
95
- constructor(_injector: Injector, _themeService: ThemeService, _shortcutService: IShortcutService, _renderManagerService: IRenderManagerService);
91
+ constructor(_injector: Injector, _themeService: ThemeService, _shortcutService: IShortcutService, _sheetSkeletonManagerService: SheetSkeletonManagerService);
96
92
  private _initMoving;
97
- protected _setStyle(style: ISelectionStyle): void;
98
- protected _resetStyle(): void;
93
+ protected _setSelectionStyle(style: ISelectionStyle): void;
94
+ /**
95
+ * Reset this._selectionStyle to default normal selection style
96
+ */
97
+ protected _resetSelectionStyle(): void;
99
98
  /** @deprecated This should not be provided by the selection render service. */
100
99
  getViewPort(): Viewport;
101
100
  setSingleSelectionEnabled(enabled?: boolean): void;
102
101
  /**
103
- * add a selection
104
- *
105
- * in PC:init & pointerup would call this function.
106
- *
107
- * init
108
- * selectionController@_initSkeletonChangeListener --> selectionManagerService.add --> selectionManagerService._selectionMoveEnd$ --> this.addControlToCurrentByRangeData
109
- *
110
- * selectionMoveEnd$ --> this.addSelectionControlBySelectionData
111
- *
112
- *
113
- *
114
- * pointer
115
- * engine@_pointerDownEvent --> spreadsheet?.onPointerDownObserve --> eventTrigger --> scene@disableEvent() --> then scene.input-manager currentObject is always scene until scene@enableEvent.
116
- * engine@_pointerUpEvent --> scene.input-manager@_onPointerUp --> this._selectionMoveEnd$ --> _selectionManagerService.selectionMoveEnd$ --> this.addControlToCurrentByRangeData
117
- *
118
- * but in mobile, we do not call disableEvent() in eventTrigger,
119
- * so pointerup --> scene.input-manager currentObject is spreadsheet --> this.eventTrigger
120
- *
121
- *
122
- * columnHeader pointerup$ --> selectionMoveEnd$ --> selectionManagerService@setSelections -->
123
- * selectionManagerService@_emitOnEnd -->
124
- * _workbookSelections.selectionMoveEnd$ --> _addSelectionControlBySelectionData
125
- *
126
- * @param selectionData
102
+ * Add a selection in spreadsheet, create a new SelectionControl and then update this control by range derives from selection.
103
+ * @param {ISelectionWithCoordAndStyle} selection
127
104
  */
128
105
  protected _addSelectionControlBySelectionData(selection: ISelectionWithCoordAndStyle): void;
129
106
  newSelectionControl(scene: Scene, _rangeType: RANGE_TYPE): SelectionControl;
130
107
  /**
131
108
  * Update the corresponding selectionControl based on selectionsData.
132
- * selectionData[i] ---- selectionControls[i]
109
+ * selectionData[i] syncs selectionControls[i]
133
110
  * @param selections
134
111
  */
135
112
  updateControlForCurrentByRangeData(selections: ISelectionWithCoordAndStyle[]): void;
136
113
  refreshSelectionMoveStart(): void;
137
114
  protected _changeRuntime(skeleton: SpreadsheetSkeleton, scene: Scene, viewport?: Viewport): void;
138
115
  getSkeleton(): SpreadsheetSkeleton;
116
+ /**
117
+ * Generate selectionData from this._selectionControls.model .
118
+ * @returns {ISelectionWithCoordAndStyle[]} {range, primary, style}[]
119
+ */
139
120
  getSelectionDataWithStyle(): ISelectionWithCoordAndStyle[];
140
121
  getSelectionControls(): SelectionControl[];
141
122
  protected _clearSelectionControls(): void;
@@ -163,7 +144,16 @@ export declare class BaseSelectionRenderService extends Disposable implements IS
163
144
  * @param _zIndex Stacking order of the selection object
164
145
  * @param rangeType Determines whether the selection is made normally according to the range or by rows and columns
165
146
  */
166
- protected _onPointerDown(evt: IPointerEvent | IMouseEvent, _zIndex?: number, rangeType?: RANGE_TYPE, viewport?: Viewport, scrollTimerType?: ScrollTimerType): false | undefined;
147
+ protected _onPointerDown(evt: IPointerEvent | IMouseEvent, _zIndex?: number, rangeType?: RANGE_TYPE, viewport?: Viewport, scrollTimerType?: ScrollTimerType): void;
148
+ /**
149
+ * Init pointer move listener, bind in each pointer down, unbind in each pointer up
150
+ * @param viewportMain
151
+ * @param activeSelectionControl
152
+ * @param rangeType
153
+ * @param scrollTimerType
154
+ * @param moveStartPosX
155
+ * @param moveStartPosY
156
+ */
167
157
  protected _setupPointerMoveListener(viewportMain: Nullable<Viewport>, activeSelectionControl: SelectionControl, rangeType: RANGE_TYPE, scrollTimerType: ScrollTimerType | undefined, moveStartPosX: number, moveStartPosY: number): void;
168
158
  /** @deprecated Use the function `attachSelectionWithCoord` instead`. */
169
159
  attachSelectionWithCoord(selectionWithStyle: ISelectionWithStyle): ISelectionWithCoordAndStyle;
@@ -173,8 +163,14 @@ export declare class BaseSelectionRenderService extends Disposable implements IS
173
163
  /**
174
164
  * When mousedown and mouseup need to go to the coordination and undo stack, when mousemove does not need to go to the coordination and undo stack
175
165
  */
176
- protected _moving(offsetX: number, offsetY: number, activeSelectionControl: Nullable<SelectionControl>, rangeType: RANGE_TYPE): false | undefined;
177
- protected _updateSelectionControlRange(control: SelectionControl, newSelectionRange: IRangeWithCoord, highlight: Nullable<ISelectionCellWithMergeInfo>): void;
166
+ protected _movingHandler(offsetX: number, offsetY: number, activeSelectionControl: Nullable<SelectionControl>, rangeType: RANGE_TYPE): false | undefined;
167
+ /**
168
+ * Update the selection control by range.
169
+ * @param control
170
+ * @param newSelectionRange
171
+ * @param highlight
172
+ */
173
+ protected _updateSelectionControlByRange(control: SelectionControl, newSelectionRange: IRangeWithCoord, highlight: Nullable<ISelectionCellWithMergeInfo>): void;
178
174
  protected _clearUpdatingListeners(): void;
179
175
  protected _addEndingListeners(): void;
180
176
  protected _getCellRangeByCursorPosition(offsetX: number, offsetY: number, scaleX: number, scaleY: number, scrollXY: {
@@ -183,6 +179,10 @@ export declare class BaseSelectionRenderService extends Disposable implements IS
183
179
  }): Nullable<ISelectionWithCoord>;
184
180
  protected _checkClearPreviousControls(evt: IPointerEvent | IMouseEvent): void;
185
181
  private _performSelectionByTwoCells;
182
+ /**
183
+ * Reset all this.selectionControls by selectionsData.
184
+ * @param selectionsData
185
+ */
186
186
  protected _refreshSelectionControl(selectionsData: readonly ISelectionWithStyle[]): void;
187
187
  }
188
188
  export declare function getAllSelection(skeleton: SpreadsheetSkeleton): ISelectionWithStyle;
@@ -1,5 +1,5 @@
1
1
  import { Workbook, ICommandService, IContextService, ILogService, Injector, RANGE_TYPE, ThemeService } from '@univerjs/core';
2
- import { IMouseEvent, IPointerEvent, IRenderContext, IRenderModule, Scene, Viewport, IRenderManagerService } from '@univerjs/engine-render';
2
+ import { IMouseEvent, IPointerEvent, IRenderContext, IRenderModule, Scene, Viewport } from '@univerjs/engine-render';
3
3
  import { SheetsSelectionsService } from '@univerjs/sheets';
4
4
  import { IShortcutService } from '@univerjs/ui';
5
5
  import { SheetScrollManagerService } from '../scroll-manager.service';
@@ -19,14 +19,13 @@ export declare class MobileSheetsSelectionRenderService extends BaseSelectionRen
19
19
  private readonly _logService;
20
20
  private readonly _commandService;
21
21
  private readonly _contextService;
22
- private readonly _sheetSkeletonManagerService;
23
22
  private readonly _scrollManagerService;
24
23
  private readonly _workbookSelections;
25
24
  private _renderDisposable;
26
25
  _expandingSelection: boolean;
27
26
  protected _selectionControls: MobileSelectionControl[];
28
27
  expandingControlMode: ExpandingControl;
29
- constructor(_context: IRenderContext<Workbook>, injector: Injector, themeService: ThemeService, shortcutService: IShortcutService, renderManagerService: IRenderManagerService, selectionManagerService: SheetsSelectionsService, _logService: ILogService, _commandService: ICommandService, _contextService: IContextService, _sheetSkeletonManagerService: SheetSkeletonManagerService, _scrollManagerService: SheetScrollManagerService);
28
+ constructor(_context: IRenderContext<Workbook>, injector: Injector, themeService: ThemeService, shortcutService: IShortcutService, selectionManagerService: SheetsSelectionsService, sheetSkeletonManagerService: SheetSkeletonManagerService, _logService: ILogService, _commandService: ICommandService, _contextService: IContextService, _scrollManagerService: SheetScrollManagerService);
30
29
  private _init;
31
30
  private _initSkeletonChangeListener;
32
31
  private _initSelectionChangeListener;
@@ -65,7 +64,7 @@ export declare class MobileSheetsSelectionRenderService extends BaseSelectionRen
65
64
  *
66
65
  * In Mobile version, new selection is determined by cursor cell and current of activeSelectionControl.model
67
66
  */
68
- protected _moving(offsetX: number, offsetY: number, activeSelectionControl: MobileSelectionControl, rangeType: RANGE_TYPE): false | undefined;
67
+ protected _movingHandler(offsetX: number, offsetY: number, activeSelectionControl: MobileSelectionControl, rangeType: RANGE_TYPE): false | undefined;
69
68
  private _updateControlPointWhenScrolling;
70
69
  }
71
70
  export {};
@@ -34,7 +34,7 @@ export declare class MobileSelectionControl extends SelectionControl {
34
34
  set rangeType(value: RANGE_TYPE);
35
35
  dispose(): void;
36
36
  updateRange(range: IRangeWithCoord): void;
37
- protected _updateControl(style: Nullable<ISelectionStyle>, rowHeaderWidth: number, columnHeaderHeight: number): void;
37
+ protected _updateControlStyleAndLayout(style: Nullable<ISelectionStyle>, rowHeaderWidth: number, columnHeaderHeight: number): void;
38
38
  getViewportMainScrollInfo(): {
39
39
  viewportScrollX: number;
40
40
  viewportScrollY: number;
@@ -9,9 +9,7 @@ export declare class SelectionRenderModel implements IRangeWithCoord {
9
9
  private _endX;
10
10
  private _endY;
11
11
  /**
12
- * highlight cell of selection
13
- * when there is no merge info
14
- * top left cell of current selection (or bottomLeft of current selection)
12
+ * The highlight cell of a selection. aka: current cell
15
13
  */
16
14
  private _primary;
17
15
  private _rangeType;
@@ -40,6 +38,12 @@ export declare class SelectionRenderModel implements IRangeWithCoord {
40
38
  setRangeType(rangeType: RANGE_TYPE): void;
41
39
  getValue(): ISelectionWithCoord;
42
40
  setValue(newSelectionRange: IRangeWithCoord, currentCell: Nullable<ISelectionCellWithMergeInfo>): void;
41
+ /**
42
+ * Set primary cell.
43
+ *
44
+ * TODO @lumixraku there are 3 concepts for same thing, primary and current and highlight, primary is better cuz selectionModel is using primary.
45
+ * @param currentCell
46
+ */
43
47
  setCurrentCell(currentCell: Nullable<ISelectionCellWithMergeInfo>): void;
44
48
  clearCurrentCell(): void;
45
49
  }
@@ -1,5 +1,5 @@
1
1
  import { Workbook, ICommandService, IContextService, ILogService, Injector, ThemeService } from '@univerjs/core';
2
- import { IRenderContext, IRenderModule, IRenderManagerService } from '@univerjs/engine-render';
2
+ import { IRenderContext, IRenderModule } from '@univerjs/engine-render';
3
3
  import { SheetsSelectionsService } from '@univerjs/sheets';
4
4
  import { IShortcutService } from '@univerjs/ui';
5
5
  import { SheetSkeletonManagerService } from '../sheet-skeleton-manager.service';
@@ -10,14 +10,12 @@ import { BaseSelectionRenderService } from './base-selection-render.service';
10
10
  */
11
11
  export declare class SheetSelectionRenderService extends BaseSelectionRenderService implements IRenderModule {
12
12
  private readonly _context;
13
- private readonly _selectionManagerService;
14
13
  private readonly _logService;
15
14
  private readonly _commandService;
16
15
  private readonly _contextService;
17
- private readonly _sheetSkeletonManagerService;
18
16
  private readonly _workbookSelections;
19
17
  private _renderDisposable;
20
- constructor(_context: IRenderContext<Workbook>, injector: Injector, themeService: ThemeService, shortcutService: IShortcutService, renderManagerService: IRenderManagerService, _selectionManagerService: SheetsSelectionsService, _logService: ILogService, _commandService: ICommandService, _contextService: IContextService, _sheetSkeletonManagerService: SheetSkeletonManagerService);
18
+ constructor(_context: IRenderContext<Workbook>, injector: Injector, themeService: ThemeService, shortcutService: IShortcutService, selectionManagerService: SheetsSelectionsService, sheetSkeletonManagerService: SheetSkeletonManagerService, _logService: ILogService, _commandService: ICommandService, _contextService: IContextService);
21
19
  private _init;
22
20
  private _initEventListeners;
23
21
  private _initThemeChangeListener;
@@ -25,8 +23,7 @@ export declare class SheetSelectionRenderService extends BaseSelectionRenderServ
25
23
  private _initSelectionChangeListener;
26
24
  private _initUserActionSyncListener;
27
25
  /**
28
- * set new selection range in seletion model
29
- * selectionMoveEnd$ ---> _updateSelections --> selectionOperation@selectionManagerService.setSelections
26
+ * Update selectionData to current sheet.
30
27
  * @param selectionDataWithStyleList
31
28
  * @param type
32
29
  */
@@ -41,15 +41,25 @@ export declare class SelectionShapeExtension {
41
41
  private _clearObserverEvent;
42
42
  private _initialControl;
43
43
  private _controlMoving;
44
+ /**
45
+ * Drag move whole selectionControl when cusor turns to crosshair. Not for dragging 8 control points.
46
+ * @param evt
47
+ */
44
48
  private _controlEvent;
45
49
  private _initialWidget;
46
- private _widgetMoving;
47
50
  /**
48
- * Events for 8 control point
51
+ * Pointer down Events for 8 control point.
49
52
  * @param evt
50
53
  * @param cursor
51
54
  */
52
- private _widgetEvent;
55
+ private _widgetPointerDownEvent;
56
+ /**
57
+ * Pointer move Events for 8 control point.
58
+ * @param moveOffsetX
59
+ * @param moveOffsetY
60
+ * @param cursor
61
+ */
62
+ private _widgetMoving;
53
63
  private _initialFill;
54
64
  private _fillMoving;
55
65
  private _fillEvent;
@@ -38,7 +38,7 @@ export declare enum SELECTION_MANAGER_KEY {
38
38
  bottomRightWidget = "__SpreadSheetSelectionBottomRightWidget__"
39
39
  }
40
40
  /**
41
- * The main selection canvas component
41
+ * The main selection canvas component, includes leftControl,rightControl,topControl,bottomControl,backgroundControlTop,backgroundControlMiddleLeft,backgroundControlMiddleRight,backgroundControlBottom,fillControl
42
42
  */
43
43
  export declare class SelectionControl extends Disposable {
44
44
  protected _scene: Scene;
@@ -73,12 +73,17 @@ export declare class SelectionControl extends Disposable {
73
73
  private _bottomRightWidget;
74
74
  private _dashRect;
75
75
  protected _selectionModel: SelectionRenderModel;
76
- protected _selectionStyle: Nullable<ISelectionStyle>;
76
+ private _defaultStyle;
77
+ private _currentStyle;
77
78
  protected _rowHeaderWidth: number;
78
79
  protected _columnHeaderHeight: number;
79
80
  protected _widgetRects: Rect[];
80
81
  private _dispose$;
81
82
  readonly dispose$: import('rxjs').Observable<SelectionControl>;
83
+ /**
84
+ * eventSource: selectionShapeExtension selectionMoving$.next,
85
+ * Observer: prompt.controller
86
+ */
82
87
  readonly selectionMoving$: Subject<IRangeWithCoord>;
83
88
  readonly selectionMoved$: Subject<IRangeWithCoord>;
84
89
  readonly selectionScaling$: Subject<IRangeWithCoord>;
@@ -86,8 +91,6 @@ export declare class SelectionControl extends Disposable {
86
91
  readonly selectionFilling$: Subject<Nullable<IRangeWithCoord>>;
87
92
  private readonly _selectionFilled$;
88
93
  readonly selectionFilled$: import('rxjs').Observable<Nullable<IRangeWithCoord>>;
89
- private _defaultStyle;
90
- private _currentStyle;
91
94
  private _isHelperSelection;
92
95
  constructor(_scene: Scene, _zIndex: number, _isHeaderHighlight: boolean, _themeService: ThemeService);
93
96
  get zIndex(): number;
@@ -114,8 +117,6 @@ export declare class SelectionControl extends Disposable {
114
117
  get bottomCenterWidget(): Rect<IRectProps>;
115
118
  get bottomRightWidget(): Rect<IRectProps>;
116
119
  get themeService(): ThemeService;
117
- get selectionStyle(): Nullable<ISelectionStyle>;
118
- set selectionStyle(style: Nullable<ISelectionStyle>);
119
120
  get selectionModel(): SelectionRenderModel;
120
121
  set selectionModel(model: SelectionRenderModel);
121
122
  get defaultStyle(): ISelectionStyle;
@@ -130,18 +131,27 @@ export declare class SelectionControl extends Disposable {
130
131
  set columnHeaderHeight(height: number);
131
132
  setEvent(state: boolean): void;
132
133
  refreshSelectionFilled(val: IRangeWithCoord): void;
134
+ /**
135
+ * invoked when update selection style & range change, invoked by updateStyle, updateRange, update
136
+ */
137
+ protected _updateControlStyleAndLayout(selectionStyle: Nullable<ISelectionStyle>, rowHeaderWidth: number, columnHeaderHeight: number): void;
133
138
  updateStyle(style: ISelectionStyle): void;
134
- updateRange(range: IRangeWithCoord): void;
139
+ updateRange(range: IRangeWithCoord, primaryCell: Nullable<ISelectionCellWithMergeInfo>): void;
135
140
  /**
136
- * update seleciton model(new range)
137
- * @param newSelectionRange update new selection range!!
141
+ * update selection model with new range & primary cell(aka: highlight/current), also update row/col selection size & style.
142
+ *
143
+ * @param newSelectionRange
138
144
  * @param rowHeaderWidth
139
145
  * @param columnHeaderHeight
140
146
  * @param style
141
- * @param highlight
147
+ * @param primaryCell primary cell
148
+ */
149
+ update(newSelectionRange: IRangeWithCoord, rowHeaderWidth?: number, columnHeaderHeight?: number, style?: Nullable<ISelectionStyle>, primaryCell?: Nullable<ISelectionCellWithMergeInfo>): void;
150
+ /**
151
+ * update primary range
152
+ * @param primaryCell model.current (aka: highlight)
142
153
  */
143
- update(newSelectionRange: IRangeWithCoord, rowHeaderWidth?: number, columnHeaderHeight?: number, style?: Nullable<ISelectionStyle>, highlight?: Nullable<ISelectionCellWithMergeInfo>): void;
144
- updateCurrCell(highlight?: Nullable<ISelectionCellWithMergeInfo>): void;
154
+ updateCurrCell(primaryCell?: Nullable<ISelectionCellWithMergeInfo>): void;
145
155
  clearHighlight(): void;
146
156
  getScene(): Scene;
147
157
  dispose(): void;
@@ -153,11 +163,6 @@ export declare class SelectionControl extends Disposable {
153
163
  getRange(): IRangeWithCoord;
154
164
  enableHelperSelection(): void;
155
165
  disableHelperSelection(): void;
156
- updateStyleId(id: string): void;
157
- /**
158
- * invoked when update selection style & range change
159
- */
160
- protected _updateControl(style: Nullable<ISelectionStyle>, rowHeaderWidth: number, columnHeaderHeight: number): void;
161
166
  private _initialize;
162
167
  private _initialTitle;
163
168
  private _initialWidget;
@@ -3,5 +3,5 @@ interface ISheetPermissionPanelProps {
3
3
  showDetail: boolean;
4
4
  fromSheetBar: boolean;
5
5
  }
6
- export declare const SheetPermissionPanel: ({ showDetail, fromSheetBar }: ISheetPermissionPanelProps) => React.JSX.Element;
6
+ export declare const SheetPermissionPanel: ({ showDetail, fromSheetBar }: ISheetPermissionPanelProps) => React.JSX.Element | null;
7
7
  export {};