@antv/s2-vue 2.0.0-next.12 → 2.0.0-next.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.
@@ -1 +1 @@
1
- .antv-s2-tooltip-operator{color:var(--antv-s2-font, rgba(0, 0, 0, .65));background:var(--antv-s2-tooltip-operator-background, #f9f9f9);font-size:12px;line-height:36px;border:0;cursor:pointer}.antv-s2-tooltip-operator .ant-menu-horizontal:not(.ant-menu-dark){background:transparent;line-height:36px}.antv-s2-tooltip-operator .ant-dropdown-trigger,.antv-s2-tooltip-operator-dropdown{padding:0 6px 0 0}.antv-s2-tooltip-operator-menus.ant-menu-vertical.ant-menu{font-size:12px;color:var(--antv-s2-font, rgba(0, 0, 0, .65));border:0;user-select:none;padding:4px;width:100%}.antv-s2-tooltip-operator-menus.ant-menu-vertical.ant-menu .ant-menu-item{height:36px}.antv-s2-tooltip-operator-menus.ant-menu-vertical.ant-menu .ant-menu-submenu>.ant-menu-submenu-title{height:36px;width:100%}.antv-s2-tooltip-operator-menus.ant-menu-vertical.ant-menu .ant-menu-submenu>.ant-menu-submenu-title .ant-menu-submenu-arrow{color:var(--antv-s2-font, rgba(0, 0, 0, .65))}.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-dropdown-menu-item,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-dropdown-menu-item,.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-menu-item,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-menu-item{font-size:12px;line-height:36px;padding:0 12px;border:0}.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-dropdown-menu-item:not(.ant-menu-item-active),.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-dropdown-menu-item:not(.ant-menu-item-active),.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-menu-item:not(.ant-menu-item-active),.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-menu-item:not(.ant-menu-item-active){color:var(--antv-s2-font, rgba(0, 0, 0, .65))}.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-dropdown-menu-submenu .ant-menu-submenu-title,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-dropdown-menu-submenu .ant-menu-submenu-title,.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-dropdown-menu-submenu-vertical .ant-menu-submenu-title,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-dropdown-menu-submenu-vertical .ant-menu-submenu-title,.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-menu-submenu .ant-menu-submenu-title,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-menu-submenu .ant-menu-submenu-title,.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-menu-submenu-vertical .ant-menu-submenu-title,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-menu-submenu-vertical .ant-menu-submenu-title{padding:0 0 0 12px;font-size:12px;line-height:36px;margin:0}.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-dropdown-menu-submenu .ant-menu-submenu-title:not(.ant-menu-item-active),.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-dropdown-menu-submenu .ant-menu-submenu-title:not(.ant-menu-item-active),.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-dropdown-menu-submenu-vertical .ant-menu-submenu-title:not(.ant-menu-item-active),.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-dropdown-menu-submenu-vertical .ant-menu-submenu-title:not(.ant-menu-item-active),.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-menu-submenu .ant-menu-submenu-title:not(.ant-menu-item-active),.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-menu-submenu .ant-menu-submenu-title:not(.ant-menu-item-active),.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-menu-submenu-vertical .ant-menu-submenu-title:not(.ant-menu-item-active),.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-menu-submenu-vertical .ant-menu-submenu-title:not(.ant-menu-item-active){color:var(--antv-s2-font, rgba(0, 0, 0, .65))}.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-dropdown-menu-submenu .ant-menu-submenu-title .ant-dropdown-menu-title-content,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-dropdown-menu-submenu .ant-menu-submenu-title .ant-dropdown-menu-title-content,.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-dropdown-menu-submenu-vertical .ant-menu-submenu-title .ant-dropdown-menu-title-content,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-dropdown-menu-submenu-vertical .ant-menu-submenu-title .ant-dropdown-menu-title-content,.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-menu-submenu .ant-menu-submenu-title .ant-dropdown-menu-title-content,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-menu-submenu .ant-menu-submenu-title .ant-dropdown-menu-title-content,.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-menu-submenu-vertical .ant-menu-submenu-title .ant-dropdown-menu-title-content,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-menu-submenu-vertical .ant-menu-submenu-title .ant-dropdown-menu-title-content,.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-dropdown-menu-submenu .ant-menu-submenu-title .ant-menu-title-content,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-dropdown-menu-submenu .ant-menu-submenu-title .ant-menu-title-content,.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-dropdown-menu-submenu-vertical .ant-menu-submenu-title .ant-menu-title-content,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-dropdown-menu-submenu-vertical .ant-menu-submenu-title .ant-menu-title-content,.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-menu-submenu .ant-menu-submenu-title .ant-menu-title-content,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-menu-submenu .ant-menu-submenu-title .ant-menu-title-content,.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-menu-submenu-vertical .ant-menu-submenu-title .ant-menu-title-content,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-menu-submenu-vertical .ant-menu-submenu-title .ant-menu-title-content{margin-right:12px}.antv-s2-tooltip-operator-submenu-popup .ant-dropdown-menu-item,.antv-s2-tooltip-operator-submenu-popup .ant-menu-item{font-size:12px;line-height:36px;padding:0 12px}.antv-s2-tooltip-operator-submenu-popup .ant-dropdown-menu-item:not(.ant-menu-item-active),.antv-s2-tooltip-operator-submenu-popup .ant-menu-item:not(.ant-menu-item-active){color:var(--antv-s2-font, rgba(0, 0, 0, .65))}.antv-s2-tooltip-operator-submenu-popup .ant-menu-vertical .ant-menu-item{margin:0;height:36px;line-height:36px;width:100%}.antv-s2-tooltip-operator-submenu-popup .ant-menu-vertical .ant-menu-item:not(:last-child){margin:0}.antv-s2-tooltip-operator-icon{vertical-align:middle}.antv-s2-tooltip-operator-icon svg{width:12px;height:12px;fill:var(--antv-s2-font)}@media only screen and (max-device-width: 480px){.antv-s2-tooltip-operator-menus.ant-menu-vertical.ant-menu{font-size:12px}.antv-s2-tooltip-operator-menus.ant-menu-vertical.ant-menu .ant-menu-item{height:36px}.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-dropdown-menu-item,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-dropdown-menu-item,.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-menu-item,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-menu-item{line-height:36px}.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-dropdown-menu-submenu .ant-menu-submenu-title,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-dropdown-menu-submenu .ant-menu-submenu-title,.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-dropdown-menu-submenu-vertical .ant-menu-submenu-title,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-dropdown-menu-submenu-vertical .ant-menu-submenu-title,.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-menu-submenu .ant-menu-submenu-title,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-menu-submenu .ant-menu-submenu-title,.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-menu-submenu-vertical .ant-menu-submenu-title,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-menu-submenu-vertical .ant-menu-submenu-title{font-size:12px}.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-dropdown-menu-submenu .ant-menu-submenu-title:not(.ant-menu-item-active),.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-dropdown-menu-submenu .ant-menu-submenu-title:not(.ant-menu-item-active),.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-dropdown-menu-submenu-vertical .ant-menu-submenu-title:not(.ant-menu-item-active),.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-dropdown-menu-submenu-vertical .ant-menu-submenu-title:not(.ant-menu-item-active),.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-menu-submenu .ant-menu-submenu-title:not(.ant-menu-item-active),.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-menu-submenu .ant-menu-submenu-title:not(.ant-menu-item-active),.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-menu-submenu-vertical .ant-menu-submenu-title:not(.ant-menu-item-active),.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-menu-submenu-vertical .ant-menu-submenu-title:not(.ant-menu-item-active){color:var(--antv-s2-font, rgba(0, 0, 0, .65))}.antv-s2-tooltip-operator-submenu-popup .ant-dropdown-menu-item,.antv-s2-tooltip-operator-submenu-popup .ant-menu-item{font-size:12px}.antv-s2-tooltip-operator-submenu-popup .ant-dropdown-menu-item:not(.ant-menu-item-active),.antv-s2-tooltip-operator-submenu-popup .ant-menu-item:not(.ant-menu-item-active){color:var(--antv-s2-font, rgba(0, 0, 0, .65))}.antv-s2-tooltip-operator-icon svg{width:12px;height:12px}}.antv-s2-tooltip-container{position:fixed;user-select:text;min-width:200px;max-width:640px;max-height:100vh;overflow:auto;z-index:1024;display:inline-block;background:var(--antv-s2-tooltip-background, rgba(255, 255, 255, .95));border-radius:4px;box-shadow:0 1px 4px #0003;font-size:12px;font-family:Roboto,PingFang SC,Chinese Quote,BlinkMacSystemFont,Segoe UI,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif}.antv-s2-tooltip-container-hide{opacity:0;visibility:hidden;pointer-events:none}.antv-s2-tooltip-container-hide *{transition:none}.antv-s2-tooltip-container-show{opacity:1;visibility:visible;pointer-events:all}.antv-s2-tooltip-tips,.antv-s2-tooltip-name{padding:12px;line-height:16px;overflow-wrap:break-word;color:var(--antv-s2-font-85, rgba(0, 0, 0, .85))}.antv-s2-tooltip-description{padding:0 12px 12px;line-height:16px;overflow-wrap:break-word;color:var(--antv-s2-font-45, rgba(0, 0, 0, .45))}.antv-s2-tooltip-tips{padding:4px 12px;color:var(--antv-s2-font-45, rgba(0, 0, 0, .45))}.antv-s2-tooltip-infos{padding:4px 12px;line-height:20px;color:var(--antv-s2-font-45, rgba(0, 0, 0, .45));overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow-wrap:break-word;background:#f9f9f9f5;border-radius:0 0 2px 2px;background-color:#f9f9f9}.antv-s2-tooltip-summary{line-height:20px;color:var(--antv-s2-font-65, rgba(0, 0, 0, .65));overflow:hidden;padding:12px}.antv-s2-tooltip-summary-item{display:flex}.antv-s2-tooltip-summary-key{margin-right:20px}.antv-s2-tooltip-summary-val{flex:1;text-align:right;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.antv-s2-tooltip-interpretation{color:#000000a6;overflow:hidden;padding:12px}.antv-s2-tooltip-interpretation+.antv-s2-tooltip-head-info-list{border-top:1px solid var(--antv-s2-border, #e9e9e9)}.antv-s2-tooltip-interpretation .antv-s2-tooltip-interpretation-head{margin-bottom:12px}.antv-s2-tooltip-interpretation .antv-s2-tooltip-interpretation-head .antv-s2-tooltip-interpretation-icon{width:14px;height:14px}.antv-s2-tooltip-interpretation .antv-s2-tooltip-interpretation-head .antv-s2-tooltip-interpretation-name{color:var(--antv-s2-font, #000)}.antv-s2-tooltip-head-info-list{color:var(--antv-s2-font-65, #a2a2a2);padding:12px 12px 4px;line-height:24px;word-break:break-word}.antv-s2-tooltip-bold,.antv-s2-tooltip-selected{font-weight:700}.antv-s2-tooltip-selected{margin-right:5px}.antv-s2-tooltip-highlight{color:var(--antv-s2-font-85, rgba(0, 0, 0, .85))}.antv-s2-tooltip-detail-list{padding:2px 12px 8px}.antv-s2-tooltip-detail-list .antv-s2-tooltip-detail-item{color:var(--antv-s2-font-65, rgba(0, 0, 0, .65));overflow:hidden;margin:4px 0;display:flex;justify-content:space-around;align-items:center}.antv-s2-tooltip-detail-list .antv-s2-tooltip-detail-item-key{margin-right:20px}.antv-s2-tooltip-detail-list .antv-s2-tooltip-detail-item-val{flex:1;text-align:right;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ant-dropdown-menu-item.operation-item{font-size:12px}.antv-s2-spin.ant-spin-nested-loading,.antv-s2-spin>.ant-spin-container{height:100%}.antv-s2-wrapper{padding:0;margin:0;display:flex;flex-direction:column;height:100%}.antv-s2-container{overflow:auto;flex:1 1 auto}.antv-s2-container canvas{display:block}.antv-s2-pagination{display:flex;align-items:center;z-index:1024}.antv-s2-pagination-count{margin-left:12px;text-overflow:ellipsis;white-space:nowrap;max-width:64px}.antv-s2-drill-down[data-v-8dd920ec]{width:260px;min-height:20px;position:relative;color:var(--antv-s2-font-70, #fff)}.antv-s2-drill-down-header[data-v-8dd920ec]{display:flex;height:32px;font-size:14px;padding:0 16px;margin-top:16px}.antv-s2-drill-down-header button[data-v-8dd920ec]{position:absolute;right:0;top:-4px;font-size:12px;color:#1890ff;letter-spacing:-.2px;line-height:20px}.antv-s2-drill-down-search[data-v-8dd920ec]{height:24px;width:228px!important;margin:0 16px;border:1px solid rgba(0,0,0,.15);border-radius:2px}.antv-s2-drill-down-search input[data-v-8dd920ec],.antv-s2-drill-down-search span[data-v-8dd920ec]{font-size:12px}.antv-s2-drill-down-search[data-v-8dd920ec],.antv-s2-drill-down-search .ant-input[data-v-8dd920ec]::placeholder{background-color:var(--antv-s2-block-background, #fff)}.antv-s2-drill-down-extra[data-v-8dd920ec]{margin:4px 16px}.antv-s2-drill-down-menu[data-v-8dd920ec]{max-height:314px;overflow:hidden auto}.antv-s2-drill-down-menu.ant-menu[data-v-8dd920ec]{background:var(--antv-s2-tooltip-background, #fff)}.antv-s2-drill-down-menu.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-selected[data-v-8dd920ec]{background-color:var(--antv-s2-block-background, #e6f7ff)}.antv-s2-drill-down-menu-item[data-v-8dd920ec]{height:32px!important;line-height:32px!important;font-size:12px;opacity:.65}.antv-s2-drill-down-menu-item span[data-v-8dd920ec]:last-child{line-height:32px}.antv-s2-drill-down-menu-item svg[data-v-8dd920ec]{margin-right:8px}.antv-s2-drill-down-empty[data-v-8dd920ec]{padding:12px;font-size:12px}
1
+ .antv-s2-tooltip-operator{color:var(--antv-s2-font, rgba(0, 0, 0, .65));background:var(--antv-s2-tooltip-operator-background, #f9f9f9);font-size:12px;line-height:36px;border:0;cursor:pointer}.antv-s2-tooltip-operator .ant-menu-horizontal:not(.ant-menu-dark){background:transparent;line-height:36px}.antv-s2-tooltip-operator .ant-dropdown-trigger,.antv-s2-tooltip-operator-dropdown{padding:0 6px 0 0}.antv-s2-tooltip-operator-menus.ant-menu-vertical.ant-menu{font-size:12px;color:var(--antv-s2-font, rgba(0, 0, 0, .65));border:0;user-select:none;padding:4px;width:100%}.antv-s2-tooltip-operator-menus.ant-menu-vertical.ant-menu .ant-menu-item{height:36px}.antv-s2-tooltip-operator-menus.ant-menu-vertical.ant-menu .ant-menu-submenu>.ant-menu-submenu-title{height:36px;width:100%}.antv-s2-tooltip-operator-menus.ant-menu-vertical.ant-menu .ant-menu-submenu>.ant-menu-submenu-title .ant-menu-submenu-arrow{color:var(--antv-s2-font, rgba(0, 0, 0, .65))}.antv-s2-tooltip-operator-menus.ant-menu-vertical.ant-menu .ant-menu-submenu.ant-menu-submenu-selected{background-color:var(--antv-s2-tooltip-operator-menu-selected-background, #e6f4ff)}.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-dropdown-menu-item,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-dropdown-menu-item,.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-menu-item,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-menu-item{font-size:12px;line-height:36px;padding:0 12px;border:0}.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-dropdown-menu-item:not(.ant-menu-item-active),.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-dropdown-menu-item:not(.ant-menu-item-active),.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-menu-item:not(.ant-menu-item-active),.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-menu-item:not(.ant-menu-item-active){color:var(--antv-s2-font, rgba(0, 0, 0, .65))}.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-dropdown-menu-submenu .ant-menu-submenu-title,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-dropdown-menu-submenu .ant-menu-submenu-title,.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-dropdown-menu-submenu-vertical .ant-menu-submenu-title,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-dropdown-menu-submenu-vertical .ant-menu-submenu-title,.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-menu-submenu .ant-menu-submenu-title,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-menu-submenu .ant-menu-submenu-title,.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-menu-submenu-vertical .ant-menu-submenu-title,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-menu-submenu-vertical .ant-menu-submenu-title{padding:0 0 0 12px;font-size:12px;line-height:36px;margin:0}.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-dropdown-menu-submenu .ant-menu-submenu-title:not(.ant-menu-item-active),.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-dropdown-menu-submenu .ant-menu-submenu-title:not(.ant-menu-item-active),.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-dropdown-menu-submenu-vertical .ant-menu-submenu-title:not(.ant-menu-item-active),.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-dropdown-menu-submenu-vertical .ant-menu-submenu-title:not(.ant-menu-item-active),.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-menu-submenu .ant-menu-submenu-title:not(.ant-menu-item-active),.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-menu-submenu .ant-menu-submenu-title:not(.ant-menu-item-active),.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-menu-submenu-vertical .ant-menu-submenu-title:not(.ant-menu-item-active),.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-menu-submenu-vertical .ant-menu-submenu-title:not(.ant-menu-item-active){color:var(--antv-s2-font, rgba(0, 0, 0, .65))}.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-dropdown-menu-submenu .ant-menu-submenu-title .ant-dropdown-menu-title-content,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-dropdown-menu-submenu .ant-menu-submenu-title .ant-dropdown-menu-title-content,.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-dropdown-menu-submenu-vertical .ant-menu-submenu-title .ant-dropdown-menu-title-content,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-dropdown-menu-submenu-vertical .ant-menu-submenu-title .ant-dropdown-menu-title-content,.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-menu-submenu .ant-menu-submenu-title .ant-dropdown-menu-title-content,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-menu-submenu .ant-menu-submenu-title .ant-dropdown-menu-title-content,.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-menu-submenu-vertical .ant-menu-submenu-title .ant-dropdown-menu-title-content,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-menu-submenu-vertical .ant-menu-submenu-title .ant-dropdown-menu-title-content,.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-dropdown-menu-submenu .ant-menu-submenu-title .ant-menu-title-content,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-dropdown-menu-submenu .ant-menu-submenu-title .ant-menu-title-content,.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-dropdown-menu-submenu-vertical .ant-menu-submenu-title .ant-menu-title-content,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-dropdown-menu-submenu-vertical .ant-menu-submenu-title .ant-menu-title-content,.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-menu-submenu .ant-menu-submenu-title .ant-menu-title-content,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-menu-submenu .ant-menu-submenu-title .ant-menu-title-content,.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-menu-submenu-vertical .ant-menu-submenu-title .ant-menu-title-content,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-menu-submenu-vertical .ant-menu-submenu-title .ant-menu-title-content{margin-right:12px}.antv-s2-tooltip-operator-submenu-popup .ant-dropdown-menu-item,.antv-s2-tooltip-operator-submenu-popup .ant-menu-item{font-size:12px;line-height:36px;padding:0 12px}.antv-s2-tooltip-operator-submenu-popup .ant-dropdown-menu-item:not(.ant-menu-item-active),.antv-s2-tooltip-operator-submenu-popup .ant-menu-item:not(.ant-menu-item-active){color:var(--antv-s2-font, rgba(0, 0, 0, .65))}.antv-s2-tooltip-operator-submenu-popup .ant-menu-vertical .ant-menu-item{margin:0;height:36px;line-height:36px;width:100%}.antv-s2-tooltip-operator-submenu-popup .ant-menu-vertical .ant-menu-item:not(:last-child){margin:0}.antv-s2-tooltip-operator-icon{vertical-align:middle}.antv-s2-tooltip-operator-icon svg{width:12px;height:12px;fill:var(--antv-s2-font)}@media only screen and (max-device-width: 480px){.antv-s2-tooltip-operator-menus.ant-menu-vertical.ant-menu{font-size:12px}.antv-s2-tooltip-operator-menus.ant-menu-vertical.ant-menu .ant-menu-item{height:36px}.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-dropdown-menu-item,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-dropdown-menu-item,.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-menu-item,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-menu-item{line-height:36px}.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-dropdown-menu-submenu .ant-menu-submenu-title,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-dropdown-menu-submenu .ant-menu-submenu-title,.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-dropdown-menu-submenu-vertical .ant-menu-submenu-title,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-dropdown-menu-submenu-vertical .ant-menu-submenu-title,.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-menu-submenu .ant-menu-submenu-title,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-menu-submenu .ant-menu-submenu-title,.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-menu-submenu-vertical .ant-menu-submenu-title,.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-menu-submenu-vertical .ant-menu-submenu-title{font-size:12px}.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-dropdown-menu-submenu .ant-menu-submenu-title:not(.ant-menu-item-active),.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-dropdown-menu-submenu .ant-menu-submenu-title:not(.ant-menu-item-active),.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-dropdown-menu-submenu-vertical .ant-menu-submenu-title:not(.ant-menu-item-active),.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-dropdown-menu-submenu-vertical .ant-menu-submenu-title:not(.ant-menu-item-active),.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-menu-submenu .ant-menu-submenu-title:not(.ant-menu-item-active),.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-menu-submenu .ant-menu-submenu-title:not(.ant-menu-item-active),.antv-s2-tooltip-operator-menus.ant-dropdown-menu-vertical .ant-menu-submenu-vertical .ant-menu-submenu-title:not(.ant-menu-item-active),.antv-s2-tooltip-operator-menus.ant-menu-vertical .ant-menu-submenu-vertical .ant-menu-submenu-title:not(.ant-menu-item-active){color:var(--antv-s2-font, rgba(0, 0, 0, .65))}.antv-s2-tooltip-operator-submenu-popup .ant-dropdown-menu-item,.antv-s2-tooltip-operator-submenu-popup .ant-menu-item{font-size:12px}.antv-s2-tooltip-operator-submenu-popup .ant-dropdown-menu-item:not(.ant-menu-item-active),.antv-s2-tooltip-operator-submenu-popup .ant-menu-item:not(.ant-menu-item-active){color:var(--antv-s2-font, rgba(0, 0, 0, .65))}.antv-s2-tooltip-operator-icon svg{width:12px;height:12px}}.antv-s2-tooltip-container{position:fixed;user-select:text;min-width:200px;max-width:640px;max-height:100vh;overflow:auto;z-index:1024;display:inline-block;background:var(--antv-s2-tooltip-background, rgba(255, 255, 255, .95));border-radius:4px;box-shadow:0 1px 4px #0003;font-size:12px;font-family:Roboto,PingFang SC,Chinese Quote,BlinkMacSystemFont,Segoe UI,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif}.antv-s2-tooltip-container-hide{opacity:0;visibility:hidden;pointer-events:none}.antv-s2-tooltip-container-hide *{transition:none}.antv-s2-tooltip-container-show{opacity:1;visibility:visible;pointer-events:all}.antv-s2-tooltip-tips,.antv-s2-tooltip-name{padding:12px;line-height:16px;overflow-wrap:break-word;color:var(--antv-s2-font-85, rgba(0, 0, 0, .85))}.antv-s2-tooltip-description{padding:0 12px 12px;line-height:16px;overflow-wrap:break-word;color:var(--antv-s2-font-45, rgba(0, 0, 0, .45))}.antv-s2-tooltip-tips{padding:4px 12px;color:var(--antv-s2-font-45, rgba(0, 0, 0, .45))}.antv-s2-tooltip-infos{padding:4px 12px;line-height:20px;color:var(--antv-s2-font-45, rgba(0, 0, 0, .45));overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow-wrap:break-word;background:#f9f9f9f5;border-radius:0 0 2px 2px;background-color:#f9f9f9}.antv-s2-tooltip-summary{line-height:20px;color:var(--antv-s2-font-65, rgba(0, 0, 0, .65));overflow:hidden;padding:12px}.antv-s2-tooltip-summary-item{display:flex}.antv-s2-tooltip-summary-key{margin-right:20px}.antv-s2-tooltip-summary-val{flex:1;text-align:right;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.antv-s2-tooltip-interpretation{color:#000000a6;overflow:hidden;padding:12px}.antv-s2-tooltip-interpretation+.antv-s2-tooltip-head-info-list{border-top:1px solid var(--antv-s2-border, #e9e9e9)}.antv-s2-tooltip-interpretation .antv-s2-tooltip-interpretation-head{margin-bottom:12px}.antv-s2-tooltip-interpretation .antv-s2-tooltip-interpretation-head .antv-s2-tooltip-interpretation-icon{width:14px;height:14px}.antv-s2-tooltip-interpretation .antv-s2-tooltip-interpretation-head .antv-s2-tooltip-interpretation-name{color:var(--antv-s2-font, #000)}.antv-s2-tooltip-head-info-list{color:var(--antv-s2-font-65, #a2a2a2);padding:12px 12px 4px;line-height:24px;word-break:break-word}.antv-s2-tooltip-bold,.antv-s2-tooltip-selected{font-weight:700}.antv-s2-tooltip-selected{margin-right:5px}.antv-s2-tooltip-highlight{color:var(--antv-s2-font-85, rgba(0, 0, 0, .85))}.antv-s2-tooltip-detail-list{padding:2px 12px 8px}.antv-s2-tooltip-detail-list .antv-s2-tooltip-detail-item{color:var(--antv-s2-font-65, rgba(0, 0, 0, .65));overflow:hidden;margin:4px 0;display:flex;justify-content:space-around;align-items:center}.antv-s2-tooltip-detail-list .antv-s2-tooltip-detail-item-key{margin-right:20px}.antv-s2-tooltip-detail-list .antv-s2-tooltip-detail-item-val{flex:1;text-align:right;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ant-dropdown-menu-item.operation-item{font-size:12px}.antv-s2-spin.ant-spin-nested-loading,.antv-s2-spin>.ant-spin-container{height:100%}.antv-s2-wrapper{padding:0;margin:0;display:flex;flex-direction:column;height:100%}.antv-s2-container{overflow:auto;flex:1 1 auto}.antv-s2-container canvas{display:block}.antv-s2-pagination{display:flex;align-items:center;z-index:1024}.antv-s2-pagination-count{margin-left:12px;text-overflow:ellipsis;white-space:nowrap;max-width:64px}.antv-s2-drill-down[data-v-8dd920ec]{width:260px;min-height:20px;position:relative;color:var(--antv-s2-font-70, #fff)}.antv-s2-drill-down-header[data-v-8dd920ec]{display:flex;height:32px;font-size:14px;padding:0 16px;margin-top:16px}.antv-s2-drill-down-header button[data-v-8dd920ec]{position:absolute;right:0;top:-4px;font-size:12px;color:#1890ff;letter-spacing:-.2px;line-height:20px}.antv-s2-drill-down-search[data-v-8dd920ec]{height:24px;width:228px!important;margin:0 16px;border:1px solid rgba(0,0,0,.15);border-radius:2px}.antv-s2-drill-down-search input[data-v-8dd920ec],.antv-s2-drill-down-search span[data-v-8dd920ec]{font-size:12px}.antv-s2-drill-down-search[data-v-8dd920ec],.antv-s2-drill-down-search .ant-input[data-v-8dd920ec]::placeholder{background-color:var(--antv-s2-block-background, #fff)}.antv-s2-drill-down-extra[data-v-8dd920ec]{margin:4px 16px}.antv-s2-drill-down-menu[data-v-8dd920ec]{max-height:314px;overflow:hidden auto}.antv-s2-drill-down-menu.ant-menu[data-v-8dd920ec]{background:var(--antv-s2-tooltip-background, #fff)}.antv-s2-drill-down-menu.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-selected[data-v-8dd920ec]{background-color:var(--antv-s2-block-background, #e6f7ff)}.antv-s2-drill-down-menu-item[data-v-8dd920ec]{height:32px!important;line-height:32px!important;font-size:12px;opacity:.65}.antv-s2-drill-down-menu-item span[data-v-8dd920ec]:last-child{line-height:32px}.antv-s2-drill-down-menu-item svg[data-v-8dd920ec]{margin-right:8px}.antv-s2-drill-down-empty[data-v-8dd920ec]{padding:12px;font-size:12px}
package/esm/index.d.ts CHANGED
@@ -35,6 +35,7 @@ import { LineStyleProps } from '@antv/g';
35
35
  import { MemoizedFunction } from 'lodash';
36
36
  import { MergedCell } from '@antv/s2';
37
37
  import { Node as Node_2 } from '@antv/s2';
38
+ import { Omit as Omit_2 } from 'lodash';
38
39
  import { Pagination } from '@antv/s2';
39
40
  import type { PaginationProps } from 'ant-design-vue';
40
41
  import { PointLike } from '@antv/g';
@@ -43,6 +44,7 @@ import { PropType } from 'vue';
43
44
  import { RawData } from '@antv/s2';
44
45
  import { Rect } from '@antv/g';
45
46
  import { Rectangle } from '@antv/g';
47
+ import { RectStyleProps } from '@antv/g';
46
48
  import { Ref } from 'vue';
47
49
  import { ResizeInfo } from '@antv/s2';
48
50
  import { ResizeParams } from '@antv/s2';
@@ -91,11 +93,6 @@ declare interface AreaRange {
91
93
  size: number;
92
94
  }
93
95
 
94
- declare interface Background {
95
- opacity?: number;
96
- color?: string;
97
- }
98
-
99
96
  declare type BackgroundCondition = Condition<BackgroundConditionMappingResult>;
100
97
 
101
98
  declare type BackgroundConditionMappingResult = {
@@ -107,6 +104,11 @@ declare type BackgroundConditionMappingResult = {
107
104
  intelligentReverseTextColor?: boolean;
108
105
  };
109
106
 
107
+ declare interface BackgroundTheme {
108
+ opacity?: number;
109
+ color?: string;
110
+ }
111
+
110
112
  /** 柱状图样式配置 */
111
113
  declare interface BarTheme {
112
114
  intervalPadding?: number;
@@ -165,7 +167,7 @@ declare abstract class BaseCell<T extends SimpleBBox> extends Group {
165
167
  protected abstract getBorderPositions(): CellBorderPosition[];
166
168
  protected abstract getTextStyle(): TextTheme;
167
169
  protected abstract getFormattedFieldValue(): FormatResult;
168
- protected abstract getMaxTextWidth(): number;
170
+ abstract getMaxTextWidth(): number;
169
171
  protected abstract getTextPosition(): PointLike;
170
172
  protected abstract getIconPosition(): PointLike;
171
173
  protected abstract findFieldCondition<Con extends Condition>(conditions?: Con[]): Con | undefined;
@@ -288,9 +290,9 @@ declare abstract class BaseCell<T extends SimpleBBox> extends Group {
288
290
  opacity?: string | number | undefined;
289
291
  fontFamily?: string | undefined;
290
292
  fontWeight?: number | "bold" | CSSGlobalKeywords | "normal" | "bolder" | "lighter" | undefined;
291
- lineHeight?: string | number | undefined;
292
293
  fontStyle?: CSSGlobalKeywords | "normal" | "italic" | "oblique" | undefined;
293
294
  fontVariant?: string | undefined;
295
+ lineHeight?: string | number | undefined;
294
296
  };
295
297
  /**
296
298
  * 获取默认字体颜色:根据字段标记背景颜色,设置字体颜色
@@ -413,7 +415,7 @@ declare abstract class BaseDataSet_2 {
413
415
  /**
414
416
  * 获取字段
415
417
  */
416
- private getField;
418
+ getField: (field: CustomHeaderField) => string;
417
419
  /**
418
420
  * 获取字段信息
419
421
  */
@@ -551,11 +553,16 @@ declare abstract class BaseFacet {
551
553
  hRowScrollBar: ScrollBar;
552
554
  vScrollBar: ScrollBar;
553
555
  rowHeader: RowHeader | null;
554
- columnHeader: ColHeader;
556
+ columnHeader: ColHeader | TableColHeader;
555
557
  cornerHeader: CornerHeader;
556
558
  seriesNumberHeader: SeriesNumberHeader | null;
557
559
  centerFrame: Frame;
558
560
  gridInfo: GridInfo;
561
+ protected textWrapNodeHeightCache: Map<string, number>;
562
+ protected textWrapTempRowCell: RowCell | DataCell_2;
563
+ protected textWrapTempColCell: ColCell_2 | TableColCell;
564
+ protected abstract getRowCellInstance(node: Node_2_2 | ViewMeta_2, spreadsheet: SpreadSheet_2, config: Partial<BaseHeaderConfig>): RowCell | DataCell_2;
565
+ protected abstract getColCellInstance(node: Node_2_2, spreadsheet: SpreadSheet_2, config: Partial<BaseHeaderConfig>): ColCell_2;
559
566
  protected abstract doLayout(): LayoutResult_2;
560
567
  protected abstract clip(scrollX: number, scrollY: number): void;
561
568
  abstract calculateXYIndexes(scrollX: number, scrollY: number): PanelIndexes;
@@ -570,17 +577,22 @@ declare abstract class BaseFacet {
570
577
  protected preCellIndexes: PanelIndexes | null;
571
578
  constructor(spreadsheet: SpreadSheet_2);
572
579
  getLayoutResult: () => LayoutResult_2;
580
+ protected initTextWrapTemp(): void;
573
581
  protected initGroups(): void;
582
+ private initForegroundGroup;
583
+ private initBackgroundGroup;
574
584
  protected initPanelGroups(): void;
575
585
  protected getCellCustomSize(node: Node_2_2 | null, size: CellCustomSize): number | null | undefined;
576
586
  protected getRowCellDraggedWidth(node: Node_2_2): number | undefined;
577
587
  protected getRowCellDraggedHeight(node: Node_2_2): number | undefined;
578
- protected getRowCellHeight(node: Node_2_2): number;
588
+ protected isCustomRowCellHeight(node: Node_2_2): boolean;
589
+ protected getCustomRowCellHeight(node: Node_2_2): number | null | undefined;
590
+ protected getRowCellHeight(node: Node_2_2): number | undefined;
579
591
  protected getColCellDraggedWidth(node: Node_2_2): number | undefined;
580
592
  protected getColCellDraggedHeight(node: Node_2_2): number | undefined;
581
- protected getColNodeHeight(colNode: Node_2_2, colsHierarchy: Hierarchy): any;
593
+ protected getColNodeHeight(colNode: Node_2_2, colsHierarchy: Hierarchy, useCache?: boolean): any;
582
594
  protected getDefaultColNodeHeight(colNode: Node_2_2, colsHierarchy: Hierarchy): number;
583
- protected getCellAdaptiveHeight(cell: S2CellType_2, defaultHeight: number): any;
595
+ protected getNodeAdaptiveHeight(meta: Node_2_2 | ViewMeta_2, cell: S2CellType_2, defaultHeight?: number, useCache?: boolean): any;
584
596
  /**
585
597
  * 将每一层级的采样节点更新为高度最大的节点 (未隐藏, 非汇总节点)
586
598
  */
@@ -648,7 +660,10 @@ declare abstract class BaseFacet {
648
660
  private renderRowScrollBar;
649
661
  getValidScrollBarOffset: (offset: number, maxOffset: number) => number;
650
662
  renderHScrollBar: (width: number, realWidth: number, scrollX: number) => void;
651
- private getScrollbarPosition;
663
+ protected getScrollbarPosition(): {
664
+ maxX: number;
665
+ maxY: number;
666
+ };
652
667
  renderVScrollBar: (height: number, realHeight: number, scrollY: number) => void;
653
668
  getScrollBarOffset: (offset: number, scrollbar: ScrollBar) => number;
654
669
  isScrollOverThePanelArea: ({ offsetX, offsetY }: CellScrollOffset) => boolean;
@@ -743,7 +758,7 @@ declare abstract class BaseFacet {
743
758
  * | 自定义节点 b-1 | 自定义节点 b-1-1 | 指标 1 |
744
759
  * -------------------------------------------------
745
760
  */
746
- adjustRowLeafNodesWidth(params: AdjustLeafNodesParams): void;
761
+ adjustCustomRowLeafNodesWidth(params: AdjustLeafNodesParams): void;
747
762
  /**
748
763
  * @description 自定义列头时, 叶子节点层级不定, 需要自动对齐其高度, 填充空白
749
764
  * ------------------------------------------------------------------------
@@ -754,7 +769,7 @@ declare abstract class BaseFacet {
754
769
  * | 指标 1 | 自定义节点 a-1-1-1 | 指标 2 | |
755
770
  * ----------------------------------------------------------------------
756
771
  */
757
- adjustColLeafNodesHeight(params: AdjustLeafNodesParams): void;
772
+ adjustCustomColLeafNodesHeight(params: AdjustLeafNodesParams): void;
758
773
  adjustLeafNodesSize(type: 'width' | 'height'): ({ leafNodes, hierarchy }: AdjustLeafNodesParams) => void;
759
774
  /**
760
775
  * 获取表头节点 (角头,序号,行头,列头) (含可视区域)
@@ -1083,6 +1098,63 @@ containerRef: Ref<HTMLDivElement>;
1083
1098
  s2Ref: ShallowRef<SpreadSheet>;
1084
1099
  loading: Ref<boolean>;
1085
1100
  pagination: {
1101
+ customOptions: Omit_2<Pagination & Partial<ExtractPropTypes< {
1102
+ total: NumberConstructor;
1103
+ defaultCurrent: NumberConstructor;
1104
+ disabled: {
1105
+ type: BooleanConstructor;
1106
+ default: any;
1107
+ };
1108
+ current: NumberConstructor;
1109
+ defaultPageSize: NumberConstructor;
1110
+ pageSize: NumberConstructor;
1111
+ hideOnSinglePage: {
1112
+ type: BooleanConstructor;
1113
+ default: any;
1114
+ };
1115
+ showSizeChanger: {
1116
+ type: BooleanConstructor;
1117
+ default: any;
1118
+ };
1119
+ pageSizeOptions: PropType<(string | number)[]>;
1120
+ buildOptionText: PropType<(opt: {
1121
+ value: any;
1122
+ }) => any>;
1123
+ showQuickJumper: {
1124
+ type: PropType<boolean | {
1125
+ goButton?: any;
1126
+ }>;
1127
+ default: boolean | {
1128
+ goButton?: any;
1129
+ };
1130
+ };
1131
+ showTotal: PropType<(total: number, range: [number, number]) => any>;
1132
+ size: PropType<"small" | "default">;
1133
+ simple: {
1134
+ type: BooleanConstructor;
1135
+ default: any;
1136
+ };
1137
+ locale: ObjectConstructor;
1138
+ prefixCls: StringConstructor;
1139
+ selectPrefixCls: StringConstructor;
1140
+ totalBoundaryShowSizeChanger: NumberConstructor;
1141
+ selectComponentClass: StringConstructor;
1142
+ itemRender: PropType<(opt: {
1143
+ page: number;
1144
+ type: "page" | "prev" | "next" | "jump-prev" | "jump-next";
1145
+ originalElement: any;
1146
+ }) => any>;
1147
+ role: StringConstructor;
1148
+ responsive: BooleanConstructor;
1149
+ showLessItems: {
1150
+ type: BooleanConstructor;
1151
+ default: any;
1152
+ };
1153
+ onChange: PropType<(page: number, pageSize: number) => void>;
1154
+ onShowSizeChange: PropType<(current: number, size: number) => void>;
1155
+ 'onUpdate:current': PropType<(current: number) => void>;
1156
+ 'onUpdate:pageSize': PropType<(size: number) => void>;
1157
+ }>>, "total" | "current" | "pageSize">;
1086
1158
  visible: ComputedRef<boolean>;
1087
1159
  current: Ref<number>;
1088
1160
  pageSize: Ref<number>;
@@ -1652,7 +1724,7 @@ declare enum CellBorderPosition {
1652
1724
  RIGHT = "RIGHT"
1653
1725
  }
1654
1726
 
1655
- declare type CellCallback<T extends BaseHeaderConfig, K extends S2CellType_2> = (node: Node_2_2, spreadsheet: SpreadSheet_2, headerConfig: T) => K;
1727
+ declare type CellCallback<T extends Partial<BaseHeaderConfig>, K extends S2CellType_2> = (node: Node_2_2, spreadsheet: SpreadSheet_2, headerConfig: T) => K;
1656
1728
 
1657
1729
  /**
1658
1730
  * 类似 background-clip 属性: https://developer.mozilla.org/en-US/docs/Web/CSS/background-clip
@@ -1700,6 +1772,8 @@ declare interface CellMeta {
1700
1772
  rowIndex: number;
1701
1773
  type: CellType;
1702
1774
  rowQuery?: Record<string, any>;
1775
+ rowId?: string;
1776
+ colId?: string;
1703
1777
  [key: string]: unknown;
1704
1778
  }
1705
1779
 
@@ -1761,7 +1835,7 @@ declare class ColCell_2 extends HeaderCell<ColHeaderConfig> {
1761
1835
  protected getBorderPositions(): CellBorderPosition[];
1762
1836
  protected initCell(): void;
1763
1837
  protected getFormattedFieldValue(): FormatResult;
1764
- protected getMaxTextWidth(): number;
1838
+ getMaxTextWidth(): number;
1765
1839
  protected isBolderText(): boolean;
1766
1840
  /**
1767
1841
  * 计算文本位置时候需要,留给后代根据情况(固定列)覆盖
@@ -1819,7 +1893,7 @@ declare interface ColCellStyle extends BaseCellStyle, CellTextWordWrapStyle {
1819
1893
  declare class ColHeader extends BaseHeader<ColHeaderConfig> {
1820
1894
  protected scrollGroup: Group;
1821
1895
  constructor(config: ColHeaderConfig);
1822
- protected getCellInstance(node: Node_2_2): S2CellType_2;
1896
+ protected getCellInstance(node: Node_2_2): ColCell_2;
1823
1897
  private initScrollGroup;
1824
1898
  /**
1825
1899
  * Make colHeader scroll with hScrollBar
@@ -1898,7 +1972,7 @@ declare class CornerCell_2 extends HeaderCell<CornerHeaderConfig> {
1898
1972
  protected drawResizeArea(): void;
1899
1973
  protected showTreeIcon(): boolean;
1900
1974
  protected getTreeIconWidth(): number;
1901
- protected getMaxTextWidth(): number;
1975
+ getMaxTextWidth(): number;
1902
1976
  protected getTextPosition(): PointLike;
1903
1977
  protected getFormattedFieldValue(): FormatResult;
1904
1978
  }
@@ -1979,14 +2053,14 @@ declare interface CustomSVGIcon {
1979
2053
 
1980
2054
  import Icon from 'path/to/xxx.svg'
1981
2055
 
1982
- => { name: 'iconA', svg: Icon }
1983
- => { name: 'iconB', svg: '<svg>...</svg>' }
2056
+ => { name: 'iconA', src: Icon }
2057
+ => { name: 'iconB', src: '<svg>...</svg>' }
1984
2058
 
1985
- * @example 3. 线上支持的图片地址
2059
+ * @example 3. 线上支持的图片地址 (不支持改颜色)
1986
2060
  带后缀: https://gw.alipayobjects.com/zos/antfincdn/gu1Fsz3fw0/filter%26sort_filter.svg
1987
2061
  无后缀: https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*5nsESLuvc_EAAAAAAAAAAAAADmJ7AQ/original
1988
2062
  */
1989
- svg: string;
2063
+ src: string;
1990
2064
  }
1991
2065
 
1992
2066
  /**
@@ -2049,6 +2123,7 @@ declare class DataCell_2 extends BaseCell<ViewMeta_2> {
2049
2123
  position: [rowIndex: number, colIndex: number];
2050
2124
  iconPosition: PointLike;
2051
2125
  get cellType(): CellType;
2126
+ isShallowRender(): boolean;
2052
2127
  isMultiData(): boolean;
2053
2128
  isChartData(): boolean;
2054
2129
  getRenderChartData(): BaseChartData;
@@ -2084,7 +2159,7 @@ declare class DataCell_2 extends BaseCell<ViewMeta_2> {
2084
2159
  protected drawConditionIntervalShape(): void;
2085
2160
  protected shouldHideRowSubtotalData(): boolean | undefined;
2086
2161
  protected getFormattedFieldValue(): FormatResult;
2087
- protected getMaxTextWidth(): number;
2162
+ getMaxTextWidth(): number;
2088
2163
  protected getTextPosition(): PointLike;
2089
2164
  protected getIconPosition(): PointLike;
2090
2165
  getBackgroundColor(): {
@@ -2112,7 +2187,7 @@ declare class DataCell_2 extends BaseCell<ViewMeta_2> {
2112
2187
  private toggleConditionIntervalShapeOpacity;
2113
2188
  }
2114
2189
 
2115
- declare type DataCellCallback = (viewMeta: ViewMeta_2) => DataCell_2;
2190
+ declare type DataCellCallback = (viewMeta: ViewMeta_2, spreadsheet: SpreadSheet_2) => DataCell_2 | TableDataCell_2;
2116
2191
 
2117
2192
  declare interface DataCellStyle extends CellTextWordWrapStyle {
2118
2193
  /**
@@ -2292,6 +2367,16 @@ declare interface EmitterType {
2292
2367
  [S2Event.LAYOUT_RESIZE_TREE_WIDTH]: ResizeHandler;
2293
2368
  }
2294
2369
 
2370
+ declare interface EmptyTheme {
2371
+ /** 空状态图标 */
2372
+ icon?: Omit_2<IconTheme, 'size'> & {
2373
+ width?: number;
2374
+ height?: number;
2375
+ };
2376
+ /** 空状态文案 */
2377
+ description?: Pick<TextStyleProps, 'fontFamily' | 'fontSize' | 'fontWeight' | 'fill' | 'opacity' | 'fontStyle' | 'fontVariant'>;
2378
+ }
2379
+
2295
2380
  declare class EventController {
2296
2381
  spreadsheet: SpreadSheet_2;
2297
2382
  private target;
@@ -2521,7 +2606,7 @@ declare class GuiIcon extends Group {
2521
2606
  private cfg;
2522
2607
  constructor(cfg: GuiIconCfg);
2523
2608
  getCfg(): GuiIconCfg;
2524
- getImage(name: string, cacheKey: string, fill?: string): Promise<HTMLImageElement>;
2609
+ getImage(name: string, cacheKey: string, fill?: string | null): Promise<HTMLImageElement>;
2525
2610
  /**
2526
2611
  * 1. https://xxx.svg
2527
2612
  * 2. http://xxx.svg
@@ -2531,13 +2616,13 @@ declare class GuiIcon extends Group {
2531
2616
  private render;
2532
2617
  setImageAttrs(attrs: Partial<{
2533
2618
  name: string;
2534
- fill: string;
2619
+ fill: string | null;
2535
2620
  }>): void;
2536
2621
  }
2537
2622
 
2538
2623
  declare interface GuiIconCfg extends Omit<ImageStyleProps, 'fill'> {
2539
2624
  readonly name: string;
2540
- readonly fill?: string;
2625
+ readonly fill?: string | null;
2541
2626
  }
2542
2627
 
2543
2628
  declare class HdAdapter {
@@ -2601,7 +2686,7 @@ declare interface HeaderActionIconBaseOptions {
2601
2686
  }
2602
2687
 
2603
2688
  declare interface HeaderActionIconOptions extends HeaderActionIconBaseOptions {
2604
- fill?: string;
2689
+ fill?: string | null;
2605
2690
  name: string;
2606
2691
  x: number;
2607
2692
  y: number;
@@ -2613,9 +2698,9 @@ declare type HeaderActionName = string | Omit<HeaderActionNameOptions, 'isCondit
2613
2698
  declare type HeaderActionNameOptions = HeaderActionIconBaseOptions & {
2614
2699
  /**
2615
2700
  * icon 颜色配置
2616
- * @description 优先级: 单个 icon > 主题 icon 配置 > 文本颜色
2701
+ * @description 优先级: 单个 icon > 主题 icon 配置 > 文本颜色,null 则使用图标原有颜色
2617
2702
  */
2618
- fill?: string;
2703
+ fill?: string | null;
2619
2704
  /**
2620
2705
  * icon 名称
2621
2706
  */
@@ -3237,6 +3322,7 @@ declare class Node_2_2 {
3237
3322
  isSubTotals?: boolean;
3238
3323
  isTotalRoot?: boolean;
3239
3324
  isFrozen?: boolean;
3325
+ shallowRender?: boolean;
3240
3326
  extra?: {
3241
3327
  description?: string;
3242
3328
  isCustomNode?: boolean;
@@ -3970,7 +4056,7 @@ declare class RowCell extends HeaderCell<RowHeaderConfig> {
3970
4056
  protected getContentIndent(): number;
3971
4057
  protected getTextIndent(): number;
3972
4058
  protected isTreeLevel(): any;
3973
- protected getMaxTextWidth(): number;
4059
+ getMaxTextWidth(): number;
3974
4060
  protected getTextArea(): {
3975
4061
  x: number;
3976
4062
  width: number;
@@ -4101,10 +4187,33 @@ declare interface S2BasicOptions<T = TooltipContentType_2, P = Pagination_2, Men
4101
4187
  */
4102
4188
  hd?: boolean;
4103
4189
  /**
4104
- * 空值单元格占位符
4105
- * @see https://s2.antv.antgroup.com/zh/examples/custom/custom-cell/#data-cell-placeholder
4190
+ * 占位符
4106
4191
  */
4107
- placeholder?: ((meta: Record<string, any>) => string | undefined | null) | string | undefined | null;
4192
+ placeholder?: {
4193
+ /**
4194
+ * 空值单元格占位符
4195
+ * @default '-'
4196
+ * @see https://s2.antv.antgroup.com/examples/custom/custom-cell/#data-cell-placeholder
4197
+ */
4198
+ cell?: ((meta: Record<string, any>) => string | undefined | null) | string | null;
4199
+ /**
4200
+ * 空数据占位符 (明细表有效)
4201
+ * @see https://s2.antv.antgroup.com/examples/custom/custom-cell/#empty-placeholder
4202
+ */
4203
+ empty?: {
4204
+ /**
4205
+ * 自定义 Icon, 支持 customSVGIcons 自定义注册和内置的 Icon
4206
+ * @default "Empty"
4207
+ * @see https://s2.antv.antgroup.com/manual/advanced/custom/custom-icon
4208
+ */
4209
+ icon?: string;
4210
+ /**
4211
+ * 自定义描述内容
4212
+ * @default "暂无数据"
4213
+ */
4214
+ description?: string;
4215
+ };
4216
+ };
4108
4217
  /**
4109
4218
  * 设备类型: pc / mobile
4110
4219
  */
@@ -4152,7 +4261,7 @@ declare interface S2BasicOptions<T = TooltipContentType_2, P = Pagination_2, Men
4152
4261
  * 自定义列头单元格
4153
4262
  * @see https://s2.antv.antgroup.com/examples/custom/custom-cell#col-cell
4154
4263
  */
4155
- colCell?: CellCallback<ColHeaderConfig, S2CellType_2>;
4264
+ colCell?: CellCallback<ColHeaderConfig, ColCell_2>;
4156
4265
  /**
4157
4266
  * 自定义合并单元格
4158
4267
  * @see https://s2.antv.antgroup.com/examples/custom/custom-cell/#custom-merged-cell
@@ -4463,7 +4572,9 @@ declare interface S2Theme extends CellThemes {
4463
4572
  /** 刷选遮罩 */
4464
4573
  prepareSelectMask?: InteractionStateTheme;
4465
4574
  /** 画布背景底色 */
4466
- background?: Background;
4575
+ background?: BackgroundTheme;
4576
+ /** 空数据占位符 */
4577
+ empty?: EmptyTheme;
4467
4578
  }
4468
4579
 
4469
4580
  declare class ScrollBar extends Group {
@@ -4602,15 +4713,15 @@ declare class SeriesNumberCell_2 extends HeaderCell {
4602
4713
  opacity: NonNullable<string | number | undefined>;
4603
4714
  fontFamily: string;
4604
4715
  fontWeight: NonNullable<number | "bold" | CSSGlobalKeywords | "normal" | "bolder" | "lighter" | undefined>;
4605
- lineHeight: NonNullable<string | number | undefined>;
4606
4716
  fontStyle: NonNullable<CSSGlobalKeywords | "normal" | "italic" | "oblique" | undefined>;
4607
4717
  fontVariant: string;
4718
+ lineHeight: NonNullable<string | number | undefined>;
4608
4719
  textOverflow?: string | undefined;
4609
4720
  maxLines?: number | undefined;
4610
4721
  wordWrap?: boolean | undefined;
4611
4722
  };
4612
4723
  protected getFormattedFieldValue(): FormatResult;
4613
- protected getMaxTextWidth(): number;
4724
+ getMaxTextWidth(): number;
4614
4725
  protected getTextPosition(): PointLike;
4615
4726
  protected isBolderText(): boolean;
4616
4727
  findFieldCondition(): undefined;
@@ -5473,7 +5584,7 @@ declare interface SortFuncParam extends Sort {
5473
5584
  data: Array<string | Record<string, any>> | undefined;
5474
5585
  }
5475
5586
 
5476
- declare type SortMethod = 'ASC' | 'DESC' | 'asc' | 'desc';
5587
+ declare type SortMethod = 'ASC' | 'DESC' | 'NONE' | 'asc' | 'desc' | 'none';
5477
5588
 
5478
5589
  declare interface SortParam extends Sort {
5479
5590
  /** 自定义排序 */
@@ -5550,6 +5661,7 @@ declare abstract class SpreadSheet_2 extends EE {
5550
5661
  private initInteraction;
5551
5662
  private initTooltip;
5552
5663
  private renderTooltip;
5664
+ private getTargetCell;
5553
5665
  /**
5554
5666
  * 展示 Tooltip 提示
5555
5667
  * @alias s2.tooltip.show()
@@ -5610,6 +5722,8 @@ declare abstract class SpreadSheet_2 extends EE {
5610
5722
  })
5611
5723
  */
5612
5724
  render(options?: S2RenderOptions_2 | boolean): Promise<void>;
5725
+ private mountSheetInstance;
5726
+ private unmountSheetInstance;
5613
5727
  /**
5614
5728
  * 卸载表格
5615
5729
  * @example s2.destroy()
@@ -5650,7 +5764,9 @@ declare abstract class SpreadSheet_2 extends EE {
5650
5764
  /**
5651
5765
  * 获取 <canvas/> HTML 元素
5652
5766
  */
5653
- getCanvasElement(): HTMLCanvasElement;
5767
+ getCanvasElement(): HTMLCanvasElement & {
5768
+ __s2_instance__: SpreadSheet_2;
5769
+ };
5654
5770
  getLayoutWidthType(): LayoutWidthType;
5655
5771
  /**
5656
5772
  * Update scroll's offset, the value can be undefined,
@@ -5836,9 +5952,9 @@ declare class TableColCell extends ColCell_2 {
5836
5952
  opacity: NonNullable<string | number | undefined>;
5837
5953
  fontFamily: string;
5838
5954
  fontWeight: NonNullable<number | "bold" | CSSGlobalKeywords | "normal" | "bolder" | "lighter" | undefined>;
5839
- lineHeight: NonNullable<string | number | undefined>;
5840
5955
  fontStyle: NonNullable<CSSGlobalKeywords | "normal" | "italic" | "oblique" | undefined>;
5841
5956
  fontVariant: string;
5957
+ lineHeight: NonNullable<string | number | undefined>;
5842
5958
  textOverflow?: string | undefined;
5843
5959
  maxLines?: number | undefined;
5844
5960
  wordWrap?: boolean | undefined;
@@ -5848,6 +5964,27 @@ declare class TableColCell extends ColCell_2 {
5848
5964
  protected handleViewport(): AreaRange;
5849
5965
  }
5850
5966
 
5967
+ /**
5968
+ * Column Header for SpreadSheet
5969
+ */
5970
+ declare class TableColHeader extends ColHeader {
5971
+ frozenColGroup: Group;
5972
+ frozenTrailingColGroup: Group;
5973
+ private finalColCount;
5974
+ private finalTrailingColCount;
5975
+ private topLevelColNodeLength;
5976
+ constructor(config: ColHeaderConfig);
5977
+ protected getCellInstance(node: Node_2_2): ColCell_2;
5978
+ private initFrozenColGroups;
5979
+ clear(): void;
5980
+ private getColFrozenOptionsByNode;
5981
+ protected getCellGroup(node: Node_2_2): Group;
5982
+ protected isColCellInRect(node: Node_2_2): boolean;
5983
+ getScrollGroupClipBBox: () => RectStyleProps;
5984
+ protected offset(): void;
5985
+ protected clip(): void;
5986
+ }
5987
+
5851
5988
  declare class TableCornerCell extends TableColCell {
5852
5989
  getStyle(name?: string): any;
5853
5990
  protected showSortIcon(): boolean;
@@ -6246,9 +6383,9 @@ declare interface TooltipOperatorMenuOptions<Icon, Text> {
6246
6383
  */
6247
6384
  onClick?: TooltipOperatorClickHandler;
6248
6385
  /**
6249
- * 默认选中的菜单项 key
6386
+ * 选中的菜单项 key
6250
6387
  */
6251
- defaultSelectedKeys?: string[];
6388
+ selectedKeys?: string[];
6252
6389
  }
6253
6390
 
6254
6391
  declare interface TooltipOperatorOptions<Menu = BaseTooltipOperatorMenuOptions_2> {
@@ -6418,7 +6555,7 @@ declare interface ValueRange {
6418
6555
 
6419
6556
  declare type ValueRanges = Record<string, ValueRange>;
6420
6557
 
6421
- export declare const version = "@antv/s2-vue-v2.0.0-next.12";
6558
+ export declare const version = "@antv/s2-vue-v2.0.0-next.14";
6422
6559
 
6423
6560
  declare interface ViewCellHeights {
6424
6561
  getCellOffsetY: (index: number) => number;
@@ -6453,6 +6590,7 @@ declare interface ViewMeta_2 {
6453
6590
  value?: string | number;
6454
6591
  query?: Query;
6455
6592
  isLeaf?: boolean;
6593
+ shallowRender?: boolean;
6456
6594
  [key: string]: unknown;
6457
6595
  }
6458
6596