gi-component 0.0.45 → 0.0.46

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.
@@ -7,13 +7,17 @@ declare function __VLS_template(): {
7
7
  attrs: Partial<{}>;
8
8
  slots: Readonly<{
9
9
  default: (props: {
10
- data: NavTabItem[];
10
+ item: NavTabItem;
11
+ active: boolean;
12
+ disabled: boolean;
11
13
  }) => void;
12
14
  'left-extra': () => void;
13
15
  'right-extra': () => void;
14
16
  }> & {
15
17
  default: (props: {
16
- data: NavTabItem[];
18
+ item: NavTabItem;
19
+ active: boolean;
20
+ disabled: boolean;
17
21
  }) => void;
18
22
  'left-extra': () => void;
19
23
  'right-extra': () => void;
@@ -34,8 +38,8 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps,
34
38
  "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
35
39
  }>, {
36
40
  data: NavTabItem[];
37
- activeClassSuffix: string;
38
41
  wheelSpeed: number;
42
+ custom: boolean;
39
43
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
40
44
  rootRef: HTMLDivElement;
41
45
  scrollRef: HTMLDivElement;
@@ -7,6 +7,6 @@ export type NavTabItem = {
7
7
  export interface NavTabsProps {
8
8
  data?: NavTabItem[];
9
9
  wheelSpeed?: number;
10
- /** 选中态 class 后缀,透传给 useNavTabs,默认 --active */
11
- activeClassSuffix?: string;
10
+ /** 自定义项样式:无 padding,不应用 --active / --disabled 修饰类 */
11
+ custom?: boolean;
12
12
  }
package/dist/gi.css CHANGED
@@ -1 +1 @@
1
- @charset "UTF-8";.gi-card[data-v-c3534379]{width:100%;background-color:var(--el-bg-color);display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box;--card-padding-x: var(--padding);--card-padding-x-small: 10px;--card-padding-y: var(--padding);--card-padding-y-small: 10px}.gi-card--bordered[data-v-c3534379]{border:1px solid var(--el-border-color)}.gi-card-header[data-v-c3534379]{height:46px;padding:0 var(--card-padding-x);display:flex;justify-content:space-between;align-items:center;color:var(--el-text-color-primary);box-sizing:border-box;position:relative;flex-shrink:0}.gi-card-header__title[data-v-c3534379]{position:relative;line-height:1.3em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;font-weight:500;font-size:16px}.gi-card-header__extra[data-v-c3534379]{display:flex}.gi-card-header--bordered[data-v-c3534379]{border-bottom:1px solid var(--el-border-color)}.gi-card-body[data-v-c3534379]{padding:var(--card-padding-x);box-sizing:border-box;overflow:hidden;height:100%}.gi-card-footer[data-v-c3534379]{padding:var(--card-padding-y) var(--card-padding-x);border-top:1px solid var(--el-border-color);box-sizing:border-box}.gi-card--small .gi-card-header[data-v-c3534379]{height:36px;padding:0 var(--card-padding-x-small)}.gi-card--small .gi-card-header__title[data-v-c3534379]{font-size:14px}.gi-card--small .gi-card-body[data-v-c3534379]{padding:var(--card-padding-x-small)}.gi-card--small .gi-card-footer[data-v-c3534379]{padding:var(--card-padding-y-small) var(--card-padding-x-small)}.gi-card--full .gi-card-body[data-v-c3534379]{flex:1;display:flex;flex-direction:column}.gi-card--inner .gi-card-header[data-v-c3534379],.gi-card--inner .gi-card-body[data-v-c3534379],.gi-card--inner .gi-card-footer[data-v-c3534379]{padding-left:0;padding-right:0}.gi-dialog-content .el-message-box__message[data-v-2a6a2293]{font-size:15px}.gi-dot[data-v-575d79dc]{display:inline-flex;border-radius:100px;background-color:var(--el-color-info)}.gi-dot--square[data-v-575d79dc]{border-radius:0}.gi-dot--primary[data-v-575d79dc]{background-color:var(--el-color-primary)}.gi-dot--success[data-v-575d79dc]{background-color:var(--el-color-success)}.gi-dot--danger[data-v-575d79dc]{background-color:var(--el-color-danger)}.gi-dot--warning[data-v-575d79dc]{background-color:var(--el-color-warning)}.gi-dot--info[data-v-575d79dc]{background-color:var(--el-color-info)}.gi-dot--animation[data-v-575d79dc]{position:relative}.gi-dot--animation[data-v-575d79dc]:after{position:absolute;top:0;left:0;width:100%;height:100%;content:"";background:inherit;border-radius:50%;animation:dot-animation-575d79dc 1.2s ease-in-out infinite}@keyframes dot-animation-575d79dc{0%{opacity:1;transform:scale(.5)}30%{opacity:.7}to{opacity:0;transform:scale(2.5)}}[data-v-edd7f8aa] .el-button+.el-button{margin-left:0}.gi-input-group[data-v-edd7f8aa]{display:flex}.gi-input-group[data-v-edd7f8aa]>*:not(:last-child){margin-right:-1px}.gi-input-group[data-v-edd7f8aa]>*:first-child:last-child{border-radius:var(--el-border-radius-base)}.gi-input-group[data-v-edd7f8aa]>*:first-child:last-child .el-input__wrapper,.gi-input-group[data-v-edd7f8aa]>*:first-child:last-child .el-select__wrapper{border-radius:var(--el-border-radius-base)}.gi-input-group[data-v-edd7f8aa]>*:not(:first-child):not(:last-child){border-radius:0}.gi-input-group[data-v-edd7f8aa]>*:not(:first-child):not(:last-child) .el-input__wrapper,.gi-input-group[data-v-edd7f8aa]>*:not(:first-child):not(:last-child) .el-select__wrapper{border-radius:0}.gi-input-group[data-v-edd7f8aa]>*:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.gi-input-group[data-v-edd7f8aa]>*:first-child .el-input__wrapper,.gi-input-group[data-v-edd7f8aa]>*:first-child .el-select__wrapper{border-top-right-radius:0;border-bottom-right-radius:0}.gi-input-group[data-v-edd7f8aa]>*:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.gi-input-group[data-v-edd7f8aa]>*:last-child .el-input__wrapper,.gi-input-group[data-v-edd7f8aa]>*:last-child .el-select__wrapper{border-top-left-radius:0;border-bottom-left-radius:0}.gi-input-group[data-v-edd7f8aa]>*:hover{z-index:1}.gi-input-group[data-v-edd7f8aa]>* .el-input__wrapper.is-focus,.gi-input-group[data-v-edd7f8aa]>* .el-select__wrapper.is-focused{z-index:2}[data-v-bb801bd6] .el-button{padding-right:12px;padding-left:12px}[data-v-b88099ba] .el-form-item{margin-bottom:0}[data-v-b88099ba] .el-form-item .el-form-item__label{display:none}[data-v-b88099ba] .column-required .cell{position:relative}[data-v-b88099ba] .column-required .cell:after{content:"*";color:red;margin-left:2px}[data-v-efd62aed] .el-button+.el-button{margin-left:0}.gi-flex__size--small[data-v-efd62aed]{gap:8px}.gi-flex__size--middle[data-v-efd62aed]{gap:12px}.gi-flex__size--large[data-v-efd62aed]{gap:16px}.gi-grid[data-v-6eabaf75]{display:grid}.el-form[data-v-85d6c1a1]{width:100%}[data-v-85d6c1a1] .el-form-item{align-items:center}[data-v-85d6c1a1] .el-form-item .el-form-item__label{height:inherit;line-height:inherit}[data-v-85d6c1a1] .hide-label .el-form-item__label{display:none}.gi-form-item__content[data-v-85d6c1a1]{width:100%;display:flex}.gi-form-item__component[data-v-85d6c1a1]{flex:1}.gi-form-item__tip[data-v-85d6c1a1]{line-height:1.5;color:var(--el-color-info-light-3)}.gi-form-item__extra[data-v-85d6c1a1]{margin-left:6px}.gi-form__search-btns[data-v-85d6c1a1],.gi-form--search[data-v-85d6c1a1] .el-form-item{margin-bottom:8px}[data-v-85d6c1a1] .w-full,[data-v-85d6c1a1] .w-full .el-date-editor{width:100%}[data-v-85d6c1a1] .gi-form-item__title{border-radius:0}[data-v-85d6c1a1] .gi-form-item__title .el-alert__title{color:var(--el-text-color-primary);font-weight:600}.gi-nav-tabs[data-v-198d4dd6]{display:flex;align-items:center;width:100%;box-sizing:border-box}.gi-nav-tabs__left[data-v-198d4dd6]{flex-shrink:0;margin-right:10px}.gi-nav-tabs__right[data-v-198d4dd6]{flex-shrink:0;margin-left:10px}.gi-nav-tabs__scroll[data-v-198d4dd6]{flex:1;display:flex;overflow-x:auto;scrollbar-width:none}.gi-nav-tabs__scroll[data-v-198d4dd6]::-webkit-scrollbar{display:none}.gi-nav-tabs-item{flex-shrink:0;padding:0 16px;height:40px;line-height:40px;cursor:pointer;color:var(--el-text-color-regular);position:relative;-webkit-user-select:none;user-select:none}.gi-nav-tabs-item--active{color:var(--el-color-primary);font-weight:500}.gi-nav-tabs-item--active:after{content:"";position:absolute;left:16px;right:16px;bottom:0;height:2px;background:var(--el-color-primary)}.gi-nav-tabs-item--disabled{color:var(--el-text-color-disabled);cursor:not-allowed}.gi-split-button[data-v-ad431228]{position:absolute;top:50%;transform:translateY(-50%);display:flex;justify-content:center;align-items:center;z-index:9;border:1px solid var(--el-border-color);background-color:var(--el-bg-color);box-sizing:border-box;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);will-change:transform,background-color,border-color}.gi-split-button--disabled[data-v-ad431228]{cursor:not-allowed;opacity:.6;pointer-events:none}.gi-split-button--default[data-v-ad431228]{width:18px;height:40px;left:0;box-shadow:2px 0 6px #0000001a}.gi-split-button--circle[data-v-ad431228]{width:24px;height:24px;border-radius:50%;left:-12px;overflow:hidden;box-shadow:0 4px 10px #0000001a}[data-v-a35bb713] .el-splitter-bar__dragger-horizontal:before,[data-v-a35bb713] .el-splitter-bar__dragger-horizontal:after{width:1px}.gi-page-layout[data-v-a35bb713]{flex:1;width:100%;height:100%;display:flex;overflow:hidden;background-color:var(--el-bg-color)}.gi-page-layout--bordered[data-v-a35bb713]{border:1px solid var(--el-border-color)}.gi-page-layout__left[data-v-a35bb713]{width:100%;height:100%}.gi-page-layout__right[data-v-a35bb713]{flex:1;height:100%;display:flex;flex-direction:column;overflow:hidden;position:relative}.gi-page-layout__header[data-v-a35bb713]{padding:var(--padding);padding-bottom:0;border-bottom:1px solid var(--el-border-color);box-sizing:border-box}.gi-page-layout__tool[data-v-a35bb713]{width:100%;padding:var(--padding);padding-bottom:0;display:flex;justify-content:end;align-items:center;box-sizing:border-box}.gi-page-layout__body[data-v-a35bb713]{flex:1;padding:var(--padding);height:100%;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}.gi-page-layout--has-header .gi-page-layout__tool[data-v-a35bb713],.gi-page-layout--has-tool .gi-page-layout__body[data-v-a35bb713]{padding-top:10px}.gi-page-layout__split[data-v-a35bb713]{width:0;height:auto;position:relative}.gi-page-layout--collapsing[data-v-a35bb713] .el-splitter-panel{transition:flex-basis .3s}[data-v-763fcf58] .el-pagination__rightwrapper{flex:auto}.gi-table[data-v-763fcf58]{height:100%;overflow:hidden;display:flex;flex-direction:column}.gi-table[data-v-763fcf58] .el-table{flex:1}.gi-table-pagination[data-v-763fcf58]{margin-top:10px}[data-v-bf74c707] .el-tabs__nav-prev,[data-v-bf74c707] .el-tabs__nav-next{height:100%;display:flex;align-items:center;justify-content:center}.gi-tabs[data-v-bf74c707]{width:100%;padding:0 var(--padding);display:flex;align-items:center;border-bottom:1px solid var(--el-border-color);box-sizing:border-box;background-color:var(--el-bg-color)}.gi-tabs__default[data-v-bf74c707]{flex:1;overflow:hidden}.gi-tabs__default[data-v-bf74c707] .el-tabs__header{margin-bottom:0}.gi-tabs__default[data-v-bf74c707] .el-tabs__header .el-tabs__nav-wrap:after{display:none}.gi-tabs__default[data-v-bf74c707] .el-tabs__active-bar{bottom:1px}.gi-tabs__extra[data-v-bf74c707]{margin-left:10px;align-self:flex-start}[data-v-bf74c707] .el-tabs--card>.el-tabs__header{border-bottom:none}[data-v-bf74c707] .el-tabs--border-card{border-bottom:none}[data-v-bf74c707] .el-tabs--border-card>.el-tabs__content{display:none}[data-v-bf74c707] .el-tabs--border-card>.el-tabs__header{border-bottom:none}.gi-tabs--small[data-v-bf74c707]{padding:0 10px}.gi-tabs--small[data-v-bf74c707] .el-tabs{--el-tabs-header-height: 32px}.gi-tabs--small[data-v-bf74c707] .el-tabs .el-tabs__item{font-size:12px}.gi-tabs--inner[data-v-bf74c707]{padding:0}.gi-tag[data-v-9d73e3e2]{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;font-size:12px;line-height:1;white-space:nowrap;border-radius:3px}.gi-tag--round[data-v-9d73e3e2]{border-radius:9999px}.gi-tag__icon[data-v-9d73e3e2]{display:inline-flex;flex-shrink:0;align-items:center;margin-right:4px;line-height:0;color:inherit}.gi-tag__icon[data-v-9d73e3e2] .el-icon,.gi-tag__icon[data-v-9d73e3e2] svg{width:11px;height:11px}.gi-tag-close-btn[data-v-9d73e3e2]{position:relative;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:15px;height:15px;margin-left:4px;cursor:pointer;background-color:transparent;border-radius:50%;transition:background-color .1s cubic-bezier(0,0,1,1)}.gi-tag-close-btn .close-icon[data-v-9d73e3e2]{z-index:9;width:11px;height:11px;color:inherit}.gi-tag-close-btn[data-v-9d73e3e2]:hover{color:var(--tag-close-hover-color);background-color:var(--tag-close-hover-bg-color)}.gi-tag__size--small[data-v-9d73e3e2]{height:20px;padding:0 6px}.gi-tag__size--small .gi-tag__icon[data-v-9d73e3e2] .el-icon,.gi-tag__size--small .gi-tag__icon[data-v-9d73e3e2] svg{width:10px;height:10px}.gi-tag__size--small .gi-tag-close-btn[data-v-9d73e3e2]{width:14px;height:14px}.gi-tag__size--small .gi-tag-close-btn .close-icon[data-v-9d73e3e2]{width:10px;height:10px}.gi-tag__size--default[data-v-9d73e3e2]{height:22px;padding:0 8px}.gi-tag__size--large[data-v-9d73e3e2]{height:24px;padding:0 10px}.gi-tag__size--large .gi-tag__icon[data-v-9d73e3e2] .el-icon,.gi-tag__size--large .gi-tag__icon[data-v-9d73e3e2] svg{width:12px;height:12px}.gi-tag__size--large .gi-tag-close-btn[data-v-9d73e3e2]{width:16px;height:16px}.gi-tag__size--large .gi-tag-close-btn .close-icon[data-v-9d73e3e2]{width:12px;height:12px}.gi-tag__type--light.gi-tag__color--primary[data-v-9d73e3e2]{color:var(--el-color-primary);background-color:var(--el-color-primary-light-9);--tag-close-hover-color: #fff;--tag-close-hover-bg-color: var(--el-color-primary)}.gi-tag__type--light.gi-tag__color--success[data-v-9d73e3e2]{color:var(--el-color-success);background-color:var(--el-color-success-light-9);--tag-close-hover-color: #fff;--tag-close-hover-bg-color: var(--el-color-success)}.gi-tag__type--light.gi-tag__color--warning[data-v-9d73e3e2]{color:var(--el-color-warning);background-color:var(--el-color-warning-light-9);--tag-close-hover-color: #fff;--tag-close-hover-bg-color: var(--el-color-warning)}.gi-tag__type--light.gi-tag__color--danger[data-v-9d73e3e2]{color:var(--el-color-danger);background-color:var(--el-color-danger-light-9);--tag-close-hover-color: #fff;--tag-close-hover-bg-color: var(--el-color-danger)}.gi-tag__type--light.gi-tag__color--info[data-v-9d73e3e2]{color:var(--el-color-info);background-color:var(--el-color-info-light-9);--tag-close-hover-color: #fff;--tag-close-hover-bg-color: var(--el-color-info)}.gi-tag__type--dark[data-v-9d73e3e2]{color:#fff}.gi-tag__type--dark.gi-tag__color--primary[data-v-9d73e3e2]{background-color:var(--el-color-primary);--tag-close-hover-color: var(--el-color-primary);--tag-close-hover-bg-color: rgb(255 255 255 / 90%)}.gi-tag__type--dark.gi-tag__color--success[data-v-9d73e3e2]{background-color:var(--el-color-success);--tag-close-hover-color: var(--el-color-success);--tag-close-hover-bg-color: rgb(255 255 255 / 90%)}.gi-tag__type--dark.gi-tag__color--warning[data-v-9d73e3e2]{background-color:var(--el-color-warning);--tag-close-hover-color: var(--el-color-warning);--tag-close-hover-bg-color: rgb(255 255 255 / 90%)}.gi-tag__type--dark.gi-tag__color--danger[data-v-9d73e3e2]{background-color:var(--el-color-danger);--tag-close-hover-color: var(--el-color-danger);--tag-close-hover-bg-color: rgb(255 255 255 / 90%)}.gi-tag__type--dark.gi-tag__color--info[data-v-9d73e3e2]{background-color:var(--el-color-info);--tag-close-hover-color: var(--el-color-info);--tag-close-hover-bg-color: rgb(255 255 255 / 90%)}.gi-tag__type--outline[data-v-9d73e3e2]{background:transparent;border-style:solid;border-width:1px}.gi-tag__type--outline.gi-tag__color--primary[data-v-9d73e3e2]{color:var(--el-color-primary);border-color:var(--el-color-primary-light-5);--tag-close-hover-color: #fff;--tag-close-hover-bg-color: var(--el-color-primary)}.gi-tag__type--outline.gi-tag__color--success[data-v-9d73e3e2]{color:var(--el-color-success);border-color:var(--el-color-success-light-5);--tag-close-hover-color: #fff;--tag-close-hover-bg-color: var(--el-color-success)}.gi-tag__type--outline.gi-tag__color--warning[data-v-9d73e3e2]{color:var(--el-color-warning);border-color:var(--el-color-warning-light-5);--tag-close-hover-color: #fff;--tag-close-hover-bg-color: var(--el-color-warning)}.gi-tag__type--outline.gi-tag__color--danger[data-v-9d73e3e2]{color:var(--el-color-danger);border-color:var(--el-color-danger-light-5);--tag-close-hover-color: #fff;--tag-close-hover-bg-color: var(--el-color-danger)}.gi-tag__type--outline.gi-tag__color--info[data-v-9d73e3e2]{color:var(--el-color-info);border-color:var(--el-color-info-light-5);--tag-close-hover-color: #fff;--tag-close-hover-bg-color: var(--el-color-info)}.gi-tag__type--light-outline[data-v-9d73e3e2]{border-style:solid;border-width:1px}.gi-tag__type--light-outline.gi-tag__color--primary[data-v-9d73e3e2]{color:var(--el-color-primary);background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary-light-7);--tag-close-hover-color: #fff;--tag-close-hover-bg-color: var(--el-color-primary)}.gi-tag__type--light-outline.gi-tag__color--success[data-v-9d73e3e2]{color:var(--el-color-success);background-color:var(--el-color-success-light-9);border-color:var(--el-color-success-light-7);--tag-close-hover-color: #fff;--tag-close-hover-bg-color: var(--el-color-success)}.gi-tag__type--light-outline.gi-tag__color--warning[data-v-9d73e3e2]{color:var(--el-color-warning);background-color:var(--el-color-warning-light-9);border-color:var(--el-color-warning-light-7);--tag-close-hover-color: #fff;--tag-close-hover-bg-color: var(--el-color-warning)}.gi-tag__type--light-outline.gi-tag__color--danger[data-v-9d73e3e2]{color:var(--el-color-danger);background-color:var(--el-color-danger-light-9);border-color:var(--el-color-danger-light-7);--tag-close-hover-color: #fff;--tag-close-hover-bg-color: var(--el-color-danger)}.gi-tag__type--light-outline.gi-tag__color--info[data-v-9d73e3e2]{color:var(--el-color-info);background-color:var(--el-color-info-light-9);border-color:var(--el-color-info-light-7);--tag-close-hover-color: #fff;--tag-close-hover-bg-color: var(--el-color-info)}.gi-tag__type--light.gi-tag__color--info[data-v-9d73e3e2],.gi-tag__type--outline.gi-tag__color--info[data-v-9d73e3e2],.gi-tag__type--light-outline.gi-tag__color--info[data-v-9d73e3e2]{color:var(--el-color-text-primary)}.el-transfer-panel__list[data-v-e5946f56]{height:auto}.el-dialog{padding:0!important}.el-dialog.is-fullscreen{overflow:hidden;display:inline-flex;flex-direction:column}.el-dialog.is-fullscreen .el-dialog__body{flex:1;overflow-y:auto}.el-dialog .el-dialog__header{height:48px;padding-left:var(--el-dialog-padding-primary);padding-bottom:0;display:flex;align-items:center;border-bottom:1px solid var(--el-border-color)}.el-dialog .el-dialog__header .el-dialog__headerbtn{display:flex;justify-content:center;align-items:center}.el-dialog .el-dialog__body{padding:var(--el-dialog-padding-primary)}.el-dialog .el-dialog__footer{padding:12px var(--el-dialog-padding-primary);border-top:1px solid var(--el-border-color)}.el-dialog.gi-dialog--simple .el-dialog__header{border-bottom:none}.el-dialog.gi-dialog--simple .el-dialog__body{padding-top:0;padding-bottom:0}.el-dialog.gi-dialog--simple .el-dialog__footer{border-top:none}.el-drawer[role=dialog]{--el-drawer-padding-primary: 16px}.el-drawer .el-drawer__header{height:48px;margin-bottom:0;padding-top:0;border-bottom:1px solid var(--el-border-color);display:flex;justify-content:space-between;align-items:center;box-sizing:border-box}.el-drawer .el-drawer__body{font-size:14px}.el-drawer .el-drawer__footer{padding-top:12px;padding-bottom:12px;border-top:1px solid var(--el-border-color)}.gi-table .el-table{--el-table-header-bg-color: var(--el-fill-color-lighter)}.gi-table .el-table thead.is-group th.el-table__cell{background:var(--el-fill-color-lighter)}body{--padding: 14px;--margin: 14px}.g-card-title .gi-card-header__title{padding-left:8px;position:relative}.g-card-title .gi-card-header__title:before{content:"";width:4px;height:20px;position:absolute;left:0;top:50%;transform:translateY(-50%);background-color:var(--el-color-primary);border-radius:0 4px 4px 0}.g-w-full{width:100%}.g-h-full{height:100%}.g-line-1{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.g-line-2{line-clamp:2;-webkit-line-clamp:2}.g-line-3{line-clamp:3;-webkit-line-clamp:3}.g-line-4{line-clamp:4;-webkit-line-clamp:4}.g-line-5{line-clamp:5;-webkit-line-clamp:5}.g-line-2,.g-line-3,.g-line-4,.g-line-5{overflow:hidden;word-break:break-all;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical}.g-mt{margin-top:var(--margin)}.g-mb{margin-bottom:var(--margin)}.g-ml{margin-left:var(--margin)}.g-mr{margin-right:var(--margin)}.g-mx{margin-left:var(--margin);margin-right:var(--margin)}.g-my{margin-top:var(--margin);margin-bottom:var(--margin)}.g-m0{margin:0!important}.g-pt{padding-top:var(--padding)}.g-pb{padding-bottom:var(--padding)}.g-pl{padding-left:var(--padding)}.g-pr{padding-right:var(--padding)}.g-px{padding-left:var(--padding);padding-right:var(--padding)}.g-py{padding-top:var(--padding);padding-bottom:var(--padding)}.g-p0{padding:0!important}.g-flex-column{flex-direction:column}.g-tool{gap:8px}
1
+ @charset "UTF-8";.gi-card[data-v-c3534379]{width:100%;background-color:var(--el-bg-color);display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box;--card-padding-x: var(--padding);--card-padding-x-small: 10px;--card-padding-y: var(--padding);--card-padding-y-small: 10px}.gi-card--bordered[data-v-c3534379]{border:1px solid var(--el-border-color)}.gi-card-header[data-v-c3534379]{height:46px;padding:0 var(--card-padding-x);display:flex;justify-content:space-between;align-items:center;color:var(--el-text-color-primary);box-sizing:border-box;position:relative;flex-shrink:0}.gi-card-header__title[data-v-c3534379]{position:relative;line-height:1.3em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;font-weight:500;font-size:16px}.gi-card-header__extra[data-v-c3534379]{display:flex}.gi-card-header--bordered[data-v-c3534379]{border-bottom:1px solid var(--el-border-color)}.gi-card-body[data-v-c3534379]{padding:var(--card-padding-x);box-sizing:border-box;overflow:hidden;height:100%}.gi-card-footer[data-v-c3534379]{padding:var(--card-padding-y) var(--card-padding-x);border-top:1px solid var(--el-border-color);box-sizing:border-box}.gi-card--small .gi-card-header[data-v-c3534379]{height:36px;padding:0 var(--card-padding-x-small)}.gi-card--small .gi-card-header__title[data-v-c3534379]{font-size:14px}.gi-card--small .gi-card-body[data-v-c3534379]{padding:var(--card-padding-x-small)}.gi-card--small .gi-card-footer[data-v-c3534379]{padding:var(--card-padding-y-small) var(--card-padding-x-small)}.gi-card--full .gi-card-body[data-v-c3534379]{flex:1;display:flex;flex-direction:column}.gi-card--inner .gi-card-header[data-v-c3534379],.gi-card--inner .gi-card-body[data-v-c3534379],.gi-card--inner .gi-card-footer[data-v-c3534379]{padding-left:0;padding-right:0}.gi-dialog-content .el-message-box__message[data-v-2a6a2293]{font-size:15px}.gi-dot[data-v-575d79dc]{display:inline-flex;border-radius:100px;background-color:var(--el-color-info)}.gi-dot--square[data-v-575d79dc]{border-radius:0}.gi-dot--primary[data-v-575d79dc]{background-color:var(--el-color-primary)}.gi-dot--success[data-v-575d79dc]{background-color:var(--el-color-success)}.gi-dot--danger[data-v-575d79dc]{background-color:var(--el-color-danger)}.gi-dot--warning[data-v-575d79dc]{background-color:var(--el-color-warning)}.gi-dot--info[data-v-575d79dc]{background-color:var(--el-color-info)}.gi-dot--animation[data-v-575d79dc]{position:relative}.gi-dot--animation[data-v-575d79dc]:after{position:absolute;top:0;left:0;width:100%;height:100%;content:"";background:inherit;border-radius:50%;animation:dot-animation-575d79dc 1.2s ease-in-out infinite}@keyframes dot-animation-575d79dc{0%{opacity:1;transform:scale(.5)}30%{opacity:.7}to{opacity:0;transform:scale(2.5)}}[data-v-edd7f8aa] .el-button+.el-button{margin-left:0}.gi-input-group[data-v-edd7f8aa]{display:flex}.gi-input-group[data-v-edd7f8aa]>*:not(:last-child){margin-right:-1px}.gi-input-group[data-v-edd7f8aa]>*:first-child:last-child{border-radius:var(--el-border-radius-base)}.gi-input-group[data-v-edd7f8aa]>*:first-child:last-child .el-input__wrapper,.gi-input-group[data-v-edd7f8aa]>*:first-child:last-child .el-select__wrapper{border-radius:var(--el-border-radius-base)}.gi-input-group[data-v-edd7f8aa]>*:not(:first-child):not(:last-child){border-radius:0}.gi-input-group[data-v-edd7f8aa]>*:not(:first-child):not(:last-child) .el-input__wrapper,.gi-input-group[data-v-edd7f8aa]>*:not(:first-child):not(:last-child) .el-select__wrapper{border-radius:0}.gi-input-group[data-v-edd7f8aa]>*:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.gi-input-group[data-v-edd7f8aa]>*:first-child .el-input__wrapper,.gi-input-group[data-v-edd7f8aa]>*:first-child .el-select__wrapper{border-top-right-radius:0;border-bottom-right-radius:0}.gi-input-group[data-v-edd7f8aa]>*:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.gi-input-group[data-v-edd7f8aa]>*:last-child .el-input__wrapper,.gi-input-group[data-v-edd7f8aa]>*:last-child .el-select__wrapper{border-top-left-radius:0;border-bottom-left-radius:0}.gi-input-group[data-v-edd7f8aa]>*:hover{z-index:1}.gi-input-group[data-v-edd7f8aa]>* .el-input__wrapper.is-focus,.gi-input-group[data-v-edd7f8aa]>* .el-select__wrapper.is-focused{z-index:2}[data-v-bb801bd6] .el-button{padding-right:12px;padding-left:12px}[data-v-b88099ba] .el-form-item{margin-bottom:0}[data-v-b88099ba] .el-form-item .el-form-item__label{display:none}[data-v-b88099ba] .column-required .cell{position:relative}[data-v-b88099ba] .column-required .cell:after{content:"*";color:red;margin-left:2px}[data-v-efd62aed] .el-button+.el-button{margin-left:0}.gi-flex__size--small[data-v-efd62aed]{gap:8px}.gi-flex__size--middle[data-v-efd62aed]{gap:12px}.gi-flex__size--large[data-v-efd62aed]{gap:16px}.gi-grid[data-v-6eabaf75]{display:grid}.el-form[data-v-85d6c1a1]{width:100%}[data-v-85d6c1a1] .el-form-item{align-items:center}[data-v-85d6c1a1] .el-form-item .el-form-item__label{height:inherit;line-height:inherit}[data-v-85d6c1a1] .hide-label .el-form-item__label{display:none}.gi-form-item__content[data-v-85d6c1a1]{width:100%;display:flex}.gi-form-item__component[data-v-85d6c1a1]{flex:1}.gi-form-item__tip[data-v-85d6c1a1]{line-height:1.5;color:var(--el-color-info-light-3)}.gi-form-item__extra[data-v-85d6c1a1]{margin-left:6px}.gi-form__search-btns[data-v-85d6c1a1],.gi-form--search[data-v-85d6c1a1] .el-form-item{margin-bottom:8px}[data-v-85d6c1a1] .w-full,[data-v-85d6c1a1] .w-full .el-date-editor{width:100%}[data-v-85d6c1a1] .gi-form-item__title{border-radius:0}[data-v-85d6c1a1] .gi-form-item__title .el-alert__title{color:var(--el-text-color-primary);font-weight:600}.gi-nav-tabs[data-v-5bdac2b9]{display:flex;align-items:center;width:100%;height:40px;box-sizing:border-box}.gi-nav-tabs__left[data-v-5bdac2b9]{flex-shrink:0;margin-right:10px}.gi-nav-tabs__right[data-v-5bdac2b9]{flex-shrink:0;margin-left:10px}.gi-nav-tabs__scroll[data-v-5bdac2b9]{flex:1;display:flex;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;height:100%}.gi-nav-tabs__scroll[data-v-5bdac2b9]::-webkit-scrollbar{display:none}.gi-nav-tabs:not(.gi-nav-tabs--custom) .gi-nav-tabs-item[data-v-5bdac2b9]{padding:0 16px;color:var(--el-text-color-regular);position:relative;font-size:14px}.gi-nav-tabs:not(.gi-nav-tabs--custom) .gi-nav-tabs-item--active[data-v-5bdac2b9]{color:var(--el-color-primary);font-weight:500}.gi-nav-tabs:not(.gi-nav-tabs--custom) .gi-nav-tabs-item--active[data-v-5bdac2b9]:after{content:"";position:absolute;left:16px;right:16px;bottom:0;height:2px;background:var(--el-color-primary)}.gi-nav-tabs:not(.gi-nav-tabs--custom) .gi-nav-tabs-item--disabled[data-v-5bdac2b9]{color:var(--el-text-color-disabled);cursor:not-allowed}.gi-nav-tabs--custom .gi-nav-tabs__scroll[data-v-5bdac2b9]{gap:8px}.gi-nav-tabs--custom .gi-nav-tabs-item[data-v-5bdac2b9]{padding:0;height:auto;line-height:inherit}.gi-nav-tabs-item[data-v-5bdac2b9]{flex-shrink:0;cursor:pointer;-webkit-user-select:none;user-select:none;height:100%;display:flex;justify-content:center;align-items:center;position:relative}.gi-split-button[data-v-ad431228]{position:absolute;top:50%;transform:translateY(-50%);display:flex;justify-content:center;align-items:center;z-index:9;border:1px solid var(--el-border-color);background-color:var(--el-bg-color);box-sizing:border-box;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);will-change:transform,background-color,border-color}.gi-split-button--disabled[data-v-ad431228]{cursor:not-allowed;opacity:.6;pointer-events:none}.gi-split-button--default[data-v-ad431228]{width:18px;height:40px;left:0;box-shadow:2px 0 6px #0000001a}.gi-split-button--circle[data-v-ad431228]{width:24px;height:24px;border-radius:50%;left:-12px;overflow:hidden;box-shadow:0 4px 10px #0000001a}[data-v-a35bb713] .el-splitter-bar__dragger-horizontal:before,[data-v-a35bb713] .el-splitter-bar__dragger-horizontal:after{width:1px}.gi-page-layout[data-v-a35bb713]{flex:1;width:100%;height:100%;display:flex;overflow:hidden;background-color:var(--el-bg-color)}.gi-page-layout--bordered[data-v-a35bb713]{border:1px solid var(--el-border-color)}.gi-page-layout__left[data-v-a35bb713]{width:100%;height:100%}.gi-page-layout__right[data-v-a35bb713]{flex:1;height:100%;display:flex;flex-direction:column;overflow:hidden;position:relative}.gi-page-layout__header[data-v-a35bb713]{padding:var(--padding);padding-bottom:0;border-bottom:1px solid var(--el-border-color);box-sizing:border-box}.gi-page-layout__tool[data-v-a35bb713]{width:100%;padding:var(--padding);padding-bottom:0;display:flex;justify-content:end;align-items:center;box-sizing:border-box}.gi-page-layout__body[data-v-a35bb713]{flex:1;padding:var(--padding);height:100%;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}.gi-page-layout--has-header .gi-page-layout__tool[data-v-a35bb713],.gi-page-layout--has-tool .gi-page-layout__body[data-v-a35bb713]{padding-top:10px}.gi-page-layout__split[data-v-a35bb713]{width:0;height:auto;position:relative}.gi-page-layout--collapsing[data-v-a35bb713] .el-splitter-panel{transition:flex-basis .3s}[data-v-763fcf58] .el-pagination__rightwrapper{flex:auto}.gi-table[data-v-763fcf58]{height:100%;overflow:hidden;display:flex;flex-direction:column}.gi-table[data-v-763fcf58] .el-table{flex:1}.gi-table-pagination[data-v-763fcf58]{margin-top:10px}[data-v-bf74c707] .el-tabs__nav-prev,[data-v-bf74c707] .el-tabs__nav-next{height:100%;display:flex;align-items:center;justify-content:center}.gi-tabs[data-v-bf74c707]{width:100%;padding:0 var(--padding);display:flex;align-items:center;border-bottom:1px solid var(--el-border-color);box-sizing:border-box;background-color:var(--el-bg-color)}.gi-tabs__default[data-v-bf74c707]{flex:1;overflow:hidden}.gi-tabs__default[data-v-bf74c707] .el-tabs__header{margin-bottom:0}.gi-tabs__default[data-v-bf74c707] .el-tabs__header .el-tabs__nav-wrap:after{display:none}.gi-tabs__default[data-v-bf74c707] .el-tabs__active-bar{bottom:1px}.gi-tabs__extra[data-v-bf74c707]{margin-left:10px;align-self:flex-start}[data-v-bf74c707] .el-tabs--card>.el-tabs__header{border-bottom:none}[data-v-bf74c707] .el-tabs--border-card{border-bottom:none}[data-v-bf74c707] .el-tabs--border-card>.el-tabs__content{display:none}[data-v-bf74c707] .el-tabs--border-card>.el-tabs__header{border-bottom:none}.gi-tabs--small[data-v-bf74c707]{padding:0 10px}.gi-tabs--small[data-v-bf74c707] .el-tabs{--el-tabs-header-height: 32px}.gi-tabs--small[data-v-bf74c707] .el-tabs .el-tabs__item{font-size:12px}.gi-tabs--inner[data-v-bf74c707]{padding:0}.gi-tag[data-v-9d73e3e2]{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;font-size:12px;line-height:1;white-space:nowrap;border-radius:3px}.gi-tag--round[data-v-9d73e3e2]{border-radius:9999px}.gi-tag__icon[data-v-9d73e3e2]{display:inline-flex;flex-shrink:0;align-items:center;margin-right:4px;line-height:0;color:inherit}.gi-tag__icon[data-v-9d73e3e2] .el-icon,.gi-tag__icon[data-v-9d73e3e2] svg{width:11px;height:11px}.gi-tag-close-btn[data-v-9d73e3e2]{position:relative;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:15px;height:15px;margin-left:4px;cursor:pointer;background-color:transparent;border-radius:50%;transition:background-color .1s cubic-bezier(0,0,1,1)}.gi-tag-close-btn .close-icon[data-v-9d73e3e2]{z-index:9;width:11px;height:11px;color:inherit}.gi-tag-close-btn[data-v-9d73e3e2]:hover{color:var(--tag-close-hover-color);background-color:var(--tag-close-hover-bg-color)}.gi-tag__size--small[data-v-9d73e3e2]{height:20px;padding:0 6px}.gi-tag__size--small .gi-tag__icon[data-v-9d73e3e2] .el-icon,.gi-tag__size--small .gi-tag__icon[data-v-9d73e3e2] svg{width:10px;height:10px}.gi-tag__size--small .gi-tag-close-btn[data-v-9d73e3e2]{width:14px;height:14px}.gi-tag__size--small .gi-tag-close-btn .close-icon[data-v-9d73e3e2]{width:10px;height:10px}.gi-tag__size--default[data-v-9d73e3e2]{height:22px;padding:0 8px}.gi-tag__size--large[data-v-9d73e3e2]{height:24px;padding:0 10px}.gi-tag__size--large .gi-tag__icon[data-v-9d73e3e2] .el-icon,.gi-tag__size--large .gi-tag__icon[data-v-9d73e3e2] svg{width:12px;height:12px}.gi-tag__size--large .gi-tag-close-btn[data-v-9d73e3e2]{width:16px;height:16px}.gi-tag__size--large .gi-tag-close-btn .close-icon[data-v-9d73e3e2]{width:12px;height:12px}.gi-tag__type--light.gi-tag__color--primary[data-v-9d73e3e2]{color:var(--el-color-primary);background-color:var(--el-color-primary-light-9);--tag-close-hover-color: #fff;--tag-close-hover-bg-color: var(--el-color-primary)}.gi-tag__type--light.gi-tag__color--success[data-v-9d73e3e2]{color:var(--el-color-success);background-color:var(--el-color-success-light-9);--tag-close-hover-color: #fff;--tag-close-hover-bg-color: var(--el-color-success)}.gi-tag__type--light.gi-tag__color--warning[data-v-9d73e3e2]{color:var(--el-color-warning);background-color:var(--el-color-warning-light-9);--tag-close-hover-color: #fff;--tag-close-hover-bg-color: var(--el-color-warning)}.gi-tag__type--light.gi-tag__color--danger[data-v-9d73e3e2]{color:var(--el-color-danger);background-color:var(--el-color-danger-light-9);--tag-close-hover-color: #fff;--tag-close-hover-bg-color: var(--el-color-danger)}.gi-tag__type--light.gi-tag__color--info[data-v-9d73e3e2]{color:var(--el-color-info);background-color:var(--el-color-info-light-9);--tag-close-hover-color: #fff;--tag-close-hover-bg-color: var(--el-color-info)}.gi-tag__type--dark[data-v-9d73e3e2]{color:#fff}.gi-tag__type--dark.gi-tag__color--primary[data-v-9d73e3e2]{background-color:var(--el-color-primary);--tag-close-hover-color: var(--el-color-primary);--tag-close-hover-bg-color: rgb(255 255 255 / 90%)}.gi-tag__type--dark.gi-tag__color--success[data-v-9d73e3e2]{background-color:var(--el-color-success);--tag-close-hover-color: var(--el-color-success);--tag-close-hover-bg-color: rgb(255 255 255 / 90%)}.gi-tag__type--dark.gi-tag__color--warning[data-v-9d73e3e2]{background-color:var(--el-color-warning);--tag-close-hover-color: var(--el-color-warning);--tag-close-hover-bg-color: rgb(255 255 255 / 90%)}.gi-tag__type--dark.gi-tag__color--danger[data-v-9d73e3e2]{background-color:var(--el-color-danger);--tag-close-hover-color: var(--el-color-danger);--tag-close-hover-bg-color: rgb(255 255 255 / 90%)}.gi-tag__type--dark.gi-tag__color--info[data-v-9d73e3e2]{background-color:var(--el-color-info);--tag-close-hover-color: var(--el-color-info);--tag-close-hover-bg-color: rgb(255 255 255 / 90%)}.gi-tag__type--outline[data-v-9d73e3e2]{background:transparent;border-style:solid;border-width:1px}.gi-tag__type--outline.gi-tag__color--primary[data-v-9d73e3e2]{color:var(--el-color-primary);border-color:var(--el-color-primary-light-5);--tag-close-hover-color: #fff;--tag-close-hover-bg-color: var(--el-color-primary)}.gi-tag__type--outline.gi-tag__color--success[data-v-9d73e3e2]{color:var(--el-color-success);border-color:var(--el-color-success-light-5);--tag-close-hover-color: #fff;--tag-close-hover-bg-color: var(--el-color-success)}.gi-tag__type--outline.gi-tag__color--warning[data-v-9d73e3e2]{color:var(--el-color-warning);border-color:var(--el-color-warning-light-5);--tag-close-hover-color: #fff;--tag-close-hover-bg-color: var(--el-color-warning)}.gi-tag__type--outline.gi-tag__color--danger[data-v-9d73e3e2]{color:var(--el-color-danger);border-color:var(--el-color-danger-light-5);--tag-close-hover-color: #fff;--tag-close-hover-bg-color: var(--el-color-danger)}.gi-tag__type--outline.gi-tag__color--info[data-v-9d73e3e2]{color:var(--el-color-info);border-color:var(--el-color-info-light-5);--tag-close-hover-color: #fff;--tag-close-hover-bg-color: var(--el-color-info)}.gi-tag__type--light-outline[data-v-9d73e3e2]{border-style:solid;border-width:1px}.gi-tag__type--light-outline.gi-tag__color--primary[data-v-9d73e3e2]{color:var(--el-color-primary);background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary-light-7);--tag-close-hover-color: #fff;--tag-close-hover-bg-color: var(--el-color-primary)}.gi-tag__type--light-outline.gi-tag__color--success[data-v-9d73e3e2]{color:var(--el-color-success);background-color:var(--el-color-success-light-9);border-color:var(--el-color-success-light-7);--tag-close-hover-color: #fff;--tag-close-hover-bg-color: var(--el-color-success)}.gi-tag__type--light-outline.gi-tag__color--warning[data-v-9d73e3e2]{color:var(--el-color-warning);background-color:var(--el-color-warning-light-9);border-color:var(--el-color-warning-light-7);--tag-close-hover-color: #fff;--tag-close-hover-bg-color: var(--el-color-warning)}.gi-tag__type--light-outline.gi-tag__color--danger[data-v-9d73e3e2]{color:var(--el-color-danger);background-color:var(--el-color-danger-light-9);border-color:var(--el-color-danger-light-7);--tag-close-hover-color: #fff;--tag-close-hover-bg-color: var(--el-color-danger)}.gi-tag__type--light-outline.gi-tag__color--info[data-v-9d73e3e2]{color:var(--el-color-info);background-color:var(--el-color-info-light-9);border-color:var(--el-color-info-light-7);--tag-close-hover-color: #fff;--tag-close-hover-bg-color: var(--el-color-info)}.gi-tag__type--light.gi-tag__color--info[data-v-9d73e3e2],.gi-tag__type--outline.gi-tag__color--info[data-v-9d73e3e2],.gi-tag__type--light-outline.gi-tag__color--info[data-v-9d73e3e2]{color:var(--el-color-text-primary)}.el-transfer-panel__list[data-v-e5946f56]{height:auto}.el-dialog{padding:0!important}.el-dialog.is-fullscreen{overflow:hidden;display:inline-flex;flex-direction:column}.el-dialog.is-fullscreen .el-dialog__body{flex:1;overflow-y:auto}.el-dialog .el-dialog__header{height:48px;padding-left:var(--el-dialog-padding-primary);padding-bottom:0;display:flex;align-items:center;border-bottom:1px solid var(--el-border-color)}.el-dialog .el-dialog__header .el-dialog__headerbtn{display:flex;justify-content:center;align-items:center}.el-dialog .el-dialog__body{padding:var(--el-dialog-padding-primary)}.el-dialog .el-dialog__footer{padding:12px var(--el-dialog-padding-primary);border-top:1px solid var(--el-border-color)}.el-dialog.gi-dialog--simple .el-dialog__header{border-bottom:none}.el-dialog.gi-dialog--simple .el-dialog__body{padding-top:0;padding-bottom:0}.el-dialog.gi-dialog--simple .el-dialog__footer{border-top:none}.el-drawer[role=dialog]{--el-drawer-padding-primary: 16px}.el-drawer .el-drawer__header{height:48px;margin-bottom:0;padding-top:0;border-bottom:1px solid var(--el-border-color);display:flex;justify-content:space-between;align-items:center;box-sizing:border-box}.el-drawer .el-drawer__body{font-size:14px}.el-drawer .el-drawer__footer{padding-top:12px;padding-bottom:12px;border-top:1px solid var(--el-border-color)}.gi-table .el-table{--el-table-header-bg-color: var(--el-fill-color-lighter)}.gi-table .el-table thead.is-group th.el-table__cell{background:var(--el-fill-color-lighter)}body{--padding: 14px;--margin: 14px}.g-card-title .gi-card-header__title{padding-left:8px;position:relative}.g-card-title .gi-card-header__title:before{content:"";width:4px;height:20px;position:absolute;left:0;top:50%;transform:translateY(-50%);background-color:var(--el-color-primary);border-radius:0 4px 4px 0}.g-w-full{width:100%}.g-h-full{height:100%}.g-line-1{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.g-line-2{line-clamp:2;-webkit-line-clamp:2}.g-line-3{line-clamp:3;-webkit-line-clamp:3}.g-line-4{line-clamp:4;-webkit-line-clamp:4}.g-line-5{line-clamp:5;-webkit-line-clamp:5}.g-line-2,.g-line-3,.g-line-4,.g-line-5{overflow:hidden;word-break:break-all;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical}.g-mt{margin-top:var(--margin)}.g-mb{margin-bottom:var(--margin)}.g-ml{margin-left:var(--margin)}.g-mr{margin-right:var(--margin)}.g-mx{margin-left:var(--margin);margin-right:var(--margin)}.g-my{margin-top:var(--margin);margin-bottom:var(--margin)}.g-m0{margin:0!important}.g-pt{padding-top:var(--padding)}.g-pb{padding-bottom:var(--padding)}.g-pl{padding-left:var(--padding)}.g-pr{padding-right:var(--padding)}.g-px{padding-left:var(--padding);padding-right:var(--padding)}.g-py{padding-top:var(--padding);padding-bottom:var(--padding)}.g-p0{padding:0!important}.g-flex-column{flex-direction:column}.g-tool{gap:8px}
@@ -1,15 +1,13 @@
1
1
  import { MaybeRefOrGetter } from 'vue';
2
2
  export interface UseNavTabsOptions {
3
- /** 根容器:选择器(.gi-tab)或 HTMLElement / Ref */
3
+ /** 根容器:选择器(.tab)或 HTMLElement / Ref */
4
4
  tabEl: MaybeRefOrGetter<string | HTMLElement | null>;
5
- /** 滚动容器:类名 gi-tab__scroll 或 .gi-tab__scroll 或 HTMLElement */
5
+ /** 滚动容器:类名 tab__scroll 或 .tab__scroll 或 HTMLElement */
6
6
  tabScrollEl: MaybeRefOrGetter<string | HTMLElement | null>;
7
- /** tab 项 class,如 gi-tab-item */
7
+ /** tab 项 class,如 tab-item */
8
8
  tabItemClassName: string;
9
9
  /** 当前选中值;变化时自动居中(推荐传入) */
10
10
  activeValue?: MaybeRefOrGetter<string | number | undefined>;
11
- /** 选中态 class 后缀,默认 --active,即 gi-tab-item--active */
12
- activeClassSuffix?: string;
13
11
  /** 滚轮换算系数,默认 1 */
14
12
  wheelSpeed?: number;
15
13
  }
package/dist/index.es.js CHANGED
@@ -300,12 +300,30 @@ function resolveElement(target, root) {
300
300
  const scope = root ?? document;
301
301
  return scope.querySelector(normalizeSelector(target));
302
302
  }
303
+ const WHEEL_SCROLL_LERP = 0.4;
304
+ const WHEEL_LINE_HEIGHT = 16;
305
+ function getWheelPixelDelta(event, scrollEl) {
306
+ let delta = Math.abs(event.deltaX) > Math.abs(event.deltaY) ? event.deltaX : event.deltaY;
307
+ if (event.deltaMode === WheelEvent.DOM_DELTA_LINE) {
308
+ delta *= WHEEL_LINE_HEIGHT;
309
+ } else if (event.deltaMode === WheelEvent.DOM_DELTA_PAGE) {
310
+ delta *= scrollEl.clientWidth;
311
+ }
312
+ return delta;
313
+ }
314
+ function clampScrollLeft(scrollEl, left) {
315
+ const maxScroll = Math.max(0, scrollEl.scrollWidth - scrollEl.clientWidth);
316
+ return Math.max(0, Math.min(left, maxScroll));
317
+ }
303
318
  function scrollItemToCenter(scrollEl, activeEl, behavior = "smooth") {
304
319
  const maxScroll = scrollEl.scrollWidth - scrollEl.clientWidth;
305
320
  if (maxScroll <= 0) {
306
321
  return;
307
322
  }
308
- const target = activeEl.offsetLeft - (scrollEl.clientWidth - activeEl.offsetWidth) / 2;
323
+ const scrollRect = scrollEl.getBoundingClientRect();
324
+ const activeRect = activeEl.getBoundingClientRect();
325
+ const activeLeftInContent = activeRect.left - scrollRect.left + scrollEl.scrollLeft;
326
+ const target = activeLeftInContent - (scrollEl.clientWidth - activeRect.width) / 2;
309
327
  scrollEl.scrollTo({
310
328
  left: Math.max(0, Math.min(target, maxScroll)),
311
329
  behavior
@@ -317,14 +335,36 @@ function useNavTabs(options) {
317
335
  tabScrollEl,
318
336
  tabItemClassName,
319
337
  activeValue,
320
- activeClassSuffix = "--active",
321
338
  wheelSpeed = 1
322
339
  } = options;
323
- const activeClassName = `${tabItemClassName}${activeClassSuffix}`;
340
+ const activeClassName = `${tabItemClassName}--active`;
324
341
  const itemSelector = normalizeSelector(tabItemClassName);
325
342
  let rootEl = null;
326
343
  let scrollEl = null;
327
344
  let resizeObserver = null;
345
+ let wheelRafId = null;
346
+ let wheelTargetScrollLeft = 0;
347
+ const cancelWheelAnimation = () => {
348
+ if (wheelRafId !== null) {
349
+ cancelAnimationFrame(wheelRafId);
350
+ wheelRafId = null;
351
+ }
352
+ };
353
+ const runWheelAnimation = () => {
354
+ if (!scrollEl) {
355
+ cancelWheelAnimation();
356
+ return;
357
+ }
358
+ const current = scrollEl.scrollLeft;
359
+ const diff = wheelTargetScrollLeft - current;
360
+ if (Math.abs(diff) < 0.5) {
361
+ scrollEl.scrollLeft = wheelTargetScrollLeft;
362
+ cancelWheelAnimation();
363
+ return;
364
+ }
365
+ scrollEl.scrollLeft = current + diff * WHEEL_SCROLL_LERP;
366
+ wheelRafId = requestAnimationFrame(runWheelAnimation);
367
+ };
328
368
  const resolveElements = () => {
329
369
  var _a, _b;
330
370
  const instanceRoot = (_b = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy) == null ? void 0 : _b.$el;
@@ -353,6 +393,7 @@ function useNavTabs(options) {
353
393
  if (!scrollEl) {
354
394
  return;
355
395
  }
396
+ cancelWheelAnimation();
356
397
  const activeItem = findActiveItem();
357
398
  if (activeItem) {
358
399
  scrollItemToCenter(scrollEl, activeItem, behavior);
@@ -362,18 +403,28 @@ function useNavTabs(options) {
362
403
  if (!scrollEl) {
363
404
  return;
364
405
  }
365
- const delta = Math.abs(event.deltaX) > Math.abs(event.deltaY) ? event.deltaX : event.deltaY;
406
+ const delta = getWheelPixelDelta(event, scrollEl);
366
407
  if (delta === 0) {
367
408
  return;
368
409
  }
369
410
  event.preventDefault();
370
- scrollEl.scrollLeft += delta * wheelSpeed;
411
+ if (wheelRafId === null) {
412
+ wheelTargetScrollLeft = scrollEl.scrollLeft;
413
+ }
414
+ wheelTargetScrollLeft = clampScrollLeft(
415
+ scrollEl,
416
+ wheelTargetScrollLeft + delta * wheelSpeed
417
+ );
418
+ if (wheelRafId === null) {
419
+ wheelRafId = requestAnimationFrame(runWheelAnimation);
420
+ }
371
421
  };
372
422
  const bindWheel = () => {
373
423
  scrollEl == null ? void 0 : scrollEl.addEventListener("wheel", handleWheel, { passive: false });
374
424
  };
375
425
  const unbindWheel = () => {
376
426
  scrollEl == null ? void 0 : scrollEl.removeEventListener("wheel", handleWheel);
427
+ cancelWheelAnimation();
377
428
  };
378
429
  const bindResizeObserver = () => {
379
430
  if (!scrollEl || typeof ResizeObserver === "undefined") {
@@ -416,6 +467,7 @@ function useNavTabs(options) {
416
467
  onUnmounted(() => {
417
468
  unbindWheel();
418
469
  unbindResizeObserver();
470
+ cancelWheelAnimation();
419
471
  rootEl = null;
420
472
  scrollEl = null;
421
473
  });
@@ -2446,7 +2498,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2446
2498
  props: /* @__PURE__ */ mergeModels({
2447
2499
  data: { default: () => [] },
2448
2500
  wheelSpeed: { default: 1 },
2449
- activeClassSuffix: { default: "--active" }
2501
+ custom: { type: Boolean, default: false }
2450
2502
  }, {
2451
2503
  "modelValue": {},
2452
2504
  "modelModifiers": {}
@@ -2466,7 +2518,6 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2466
2518
  tabScrollEl: scrollRef,
2467
2519
  tabItemClassName,
2468
2520
  activeValue: model,
2469
- activeClassSuffix: props.activeClassSuffix,
2470
2521
  wheelSpeed: props.wheelSpeed
2471
2522
  });
2472
2523
  function handleItemClick(item) {
@@ -2480,7 +2531,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2480
2531
  return openBlock(), createElementBlock("div", {
2481
2532
  ref_key: "rootRef",
2482
2533
  ref: rootRef,
2483
- class: normalizeClass(unref(b)("nav-tabs"))
2534
+ class: normalizeClass([unref(b)("nav-tabs"), { [unref(b)("nav-tabs--custom")]: props.custom }])
2484
2535
  }, [
2485
2536
  unref(slots)["left-extra"] ? (openBlock(), createElementBlock("div", {
2486
2537
  key: 0,
@@ -2493,24 +2544,28 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2493
2544
  ref: scrollRef,
2494
2545
  class: normalizeClass(unref(b)("nav-tabs__scroll"))
2495
2546
  }, [
2496
- renderSlot(_ctx.$slots, "default", {
2497
- data: props.data
2498
- }, () => [
2499
- (openBlock(true), createElementBlock(Fragment, null, renderList(props.data, (item) => {
2500
- return openBlock(), createElementBlock("div", {
2501
- key: item.value,
2502
- class: normalizeClass([
2503
- unref(b)("nav-tabs-item"),
2504
- {
2505
- [unref(b)("nav-tabs-item--active")]: model.value === item.value,
2506
- [unref(b)("nav-tabs-item--disabled")]: item.disabled
2507
- }
2508
- ]),
2509
- "data-value": item.value,
2510
- onClick: ($event) => handleItemClick(item)
2511
- }, toDisplayString(item.label), 11, _hoisted_1$1);
2512
- }), 128))
2513
- ], true)
2547
+ (openBlock(true), createElementBlock(Fragment, null, renderList(props.data, (item) => {
2548
+ return openBlock(), createElementBlock("div", {
2549
+ key: item.value,
2550
+ class: normalizeClass([
2551
+ unref(b)("nav-tabs-item"),
2552
+ props.custom ? unref(b)("nav-tabs-item--custom") : {
2553
+ [unref(b)("nav-tabs-item--active")]: model.value === item.value,
2554
+ [unref(b)("nav-tabs-item--disabled")]: item.disabled
2555
+ }
2556
+ ]),
2557
+ "data-value": item.value,
2558
+ onClick: ($event) => handleItemClick(item)
2559
+ }, [
2560
+ renderSlot(_ctx.$slots, "default", {
2561
+ item,
2562
+ active: model.value === item.value,
2563
+ disabled: !!item.disabled
2564
+ }, () => [
2565
+ createTextVNode(toDisplayString(item.label), 1)
2566
+ ], true)
2567
+ ], 10, _hoisted_1$1);
2568
+ }), 128))
2514
2569
  ], 2),
2515
2570
  unref(slots)["right-extra"] ? (openBlock(), createElementBlock("div", {
2516
2571
  key: 1,
@@ -2522,7 +2577,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2522
2577
  };
2523
2578
  }
2524
2579
  });
2525
- const NavTabs = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-198d4dd6"]]);
2580
+ const NavTabs = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-5bdac2b9"]]);
2526
2581
  const _sfc_main$6 = /* @__PURE__ */ defineComponent({
2527
2582
  __name: "split-button",
2528
2583
  props: {