@para-ui/core 4.0.62 → 4.0.63
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DynamicMultiBox/index.js +207 -22
- package/DynamicMultiBox/interface.d.ts +30 -0
- package/README.md +4 -1
- package/Tabs/index.js +2 -2
- package/package.json +1 -1
- package/umd/DynamicMultiBox.js +2 -2
package/DynamicMultiBox/index.js
CHANGED
|
@@ -395,7 +395,7 @@ var localeJson = {
|
|
|
395
395
|
en
|
|
396
396
|
};
|
|
397
397
|
|
|
398
|
-
var css_248z = "@charset \"UTF-8\";\n/**\n* @author linhd\n* @date 2023/4/11 14:16\n* @description 最新色卡\n*/\n.paraui-v4-dynamic-multi-box {\n width: 100%;\n}\n.paraui-v4-dynamic-multi-box svg {\n overflow: hidden;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content {\n width: 100%;\n position: relative;\n overflow-x: auto;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .title-config {\n width: 100%;\n display: flex;\n align-items: center;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .title-config .title-config-row {\n display: flex;\n flex: 1;\n align-items: center;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .title-config .title-config-row .title-config-row-item {\n display: flex;\n align-items: center;\n min-width: 180px;\n margin-right: 10px;\n flex-shrink: 0;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .title-config .title-config-row .row-form-switch {\n flex: 0;\n min-width: 80px;\n align-items: center;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .operator-column-40 {\n width: 32px;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .operator-column-40 .operator-column-icon-panel {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 32px;\n cursor: pointer;\n margin-right: 4px;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .operator-column-40 .operator-column-icon-panel .svg-box {\n height: 24px;\n width: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: rgb(247, 248, 250);\n border-radius: 2px;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .operator-column-40 .operator-column-icon-panel .svg-box svg {\n font-size: 20px;\n color: rgb(92, 101, 115);\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .operator-column-40 .operator-column-icon-panel .svg-box svg:hover {\n color: rgb(87, 131, 235);\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .operator-column-40 .operator-column-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 32px;\n height: 32px;\n cursor: pointer;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .operator-column-40 .operator-column-icon svg {\n font-size: 20px;\n color: rgb(92, 101, 115);\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .operator-column-40 .operator-column-icon:hover {\n background: rgb(247, 248, 250);\n border-radius: 4px;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .operator-column-40 .operator-column-icon:hover svg {\n color: rgb(87, 131, 235);\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .operator-column-40 .hidden-icon {\n display: none;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .operator-column-40 .center-line {\n width: 1px;\n height: 12px;\n background-color: rgb(212, 218, 227);\n margin: 0 3px;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .operator-column-80 {\n width: 72px;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .content-row-form {\n width: 100%;\n display: flex;\n align-items: flex-start;\n min-height: 42px;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .content-row-form .paraui-v4-select {\n overflow: hidden;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .content-row-form .form-item {\n display: flex;\n align-items: flex-start;\n min-width: 180px;\n margin-right: 10px;\n flex-shrink: 0;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .content-row-form .form-item-icon {\n margin-left: 10px;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .content-row-form .row-form-switch {\n flex: 0;\n box-sizing: content-box;\n align-items: center;\n height: 32px;\n min-width: 80px;\n}\n.paraui-v4-dynamic-multi-box .add-button {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 32px;\n background: rgb(247, 248, 250);\n border: 1px dashed rgb(212, 218, 227);\n border-radius: 4px;\n}\n.paraui-v4-dynamic-multi-box .add-button .text {\n font-size: 14px;\n margin-left: 4px;\n}\n.paraui-v4-dynamic-multi-box .add-button.add-button-scroll {\n margin-top: 14px;\n}\n.paraui-v4-dynamic-multi-box .add-button.normal-button {\n cursor: pointer;\n}\n.paraui-v4-dynamic-multi-box .add-button.normal-button .text {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-dynamic-multi-box .add-button.normal-button:hover {\n background: rgb(240, 245, 255);\n border: 1px dashed rgb(87, 131, 235);\n}\n.paraui-v4-dynamic-multi-box .add-button.disabled-add {\n cursor: not-allowed;\n}\n.paraui-v4-dynamic-multi-box .add-button.disabled-add .text {\n color: rgb(161, 168, 179);\n}\n.paraui-v4-dynamic-multi-box .add-button.disabled-add svg {\n color: rgb(161, 168, 179);\n}\n.paraui-v4-dynamic-multi-box .paraui-v4-comboselect,\n.paraui-v4-dynamic-multi-box .paraui-v4-picker-wrapper {\n width: 100%;\n}\n.paraui-v4-dynamic-multi-box .multi-value-switch {\n width: 100%;\n display: flex;\n align-items: center;\n}\n.paraui-v4-dynamic-multi-box .multi-value-switch .switch-text {\n color: rgb(161, 168, 179);\n margin-right: 4px;\n overflow: hidden;\n}\n.paraui-v4-dynamic-multi-box .multi-value-switch .switch {\n flex: 1;\n}\n\n.paraui-v4-dynamic-multi-box-popover .filter-config {\n width: 140px;\n padding-top: 4px;\n}\n.paraui-v4-dynamic-multi-box-popover .filter-config .check-list .title {\n font-size: 12px;\n color: rgb(161, 168, 179);\n line-height: 30px;\n padding: 0 10px;\n}\n.paraui-v4-dynamic-multi-box-popover .filter-config .check-list .paraui-v4-checkbox-group {\n max-height: 320px;\n overflow-y: auto;\n}\n.paraui-v4-dynamic-multi-box-popover .filter-config .check-list .paraui-v4-checkbox-group.paraui-v4-checkbox-group-column .checkbox-group-content > span {\n padding: 0 10px;\n margin-bottom: 0;\n line-height: 30px;\n}\n.paraui-v4-dynamic-multi-box-popover .filter-config .restore-default {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 36px;\n color: rgb(46, 101, 230);\n cursor: pointer;\n border-top: 1px solid rgb(247, 248, 250);\n}\n.paraui-v4-dynamic-multi-box-popover .no-other-property {\n width: 200px;\n padding: 16px 0;\n text-align: center;\n font-size: 12px;\n color: rgb(161, 168, 179);\n}";
|
|
398
|
+
var css_248z = "@charset \"UTF-8\";\n/**\n* @author linhd\n* @date 2023/4/11 14:16\n* @description 最新色卡\n*/\n.paraui-v4-dynamic-multi-box {\n width: 100%;\n}\n.paraui-v4-dynamic-multi-box svg {\n overflow: hidden;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content {\n width: 100%;\n position: relative;\n overflow-x: auto;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .title-config {\n width: 100%;\n display: flex;\n align-items: center;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .title-config .title-config-row {\n display: flex;\n flex: 1;\n align-items: center;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .title-config .title-config-row .title-config-row-item {\n display: flex;\n align-items: center;\n min-width: 180px;\n margin-right: 10px;\n flex-shrink: 0;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .title-config .title-config-row .row-form-switch {\n flex: 0;\n min-width: 80px;\n align-items: center;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .operator-column-40 {\n width: 32px;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .operator-column-40, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-80, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-120, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-160, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-200 {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .operator-column-40 .operator-column-icon-panel, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-80 .operator-column-icon-panel, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-120 .operator-column-icon-panel, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-160 .operator-column-icon-panel, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-200 .operator-column-icon-panel {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 32px;\n cursor: pointer;\n margin-right: 4px;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .operator-column-40 .operator-column-icon-panel .svg-box, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-80 .operator-column-icon-panel .svg-box, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-120 .operator-column-icon-panel .svg-box, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-160 .operator-column-icon-panel .svg-box, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-200 .operator-column-icon-panel .svg-box {\n height: 24px;\n width: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: rgb(247, 248, 250);\n border-radius: 2px;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .operator-column-40 .operator-column-icon-panel .svg-box svg, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-80 .operator-column-icon-panel .svg-box svg, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-120 .operator-column-icon-panel .svg-box svg, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-160 .operator-column-icon-panel .svg-box svg, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-200 .operator-column-icon-panel .svg-box svg {\n font-size: 20px;\n color: rgb(92, 101, 115);\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .operator-column-40 .operator-column-icon-panel .svg-box svg:hover, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-80 .operator-column-icon-panel .svg-box svg:hover, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-120 .operator-column-icon-panel .svg-box svg:hover, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-160 .operator-column-icon-panel .svg-box svg:hover, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-200 .operator-column-icon-panel .svg-box svg:hover {\n color: rgb(87, 131, 235);\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .operator-column-40 .operator-column-icon, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-80 .operator-column-icon, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-120 .operator-column-icon, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-160 .operator-column-icon, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-200 .operator-column-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 32px;\n height: 32px;\n cursor: pointer;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .operator-column-40 .operator-column-icon svg, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-80 .operator-column-icon svg, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-120 .operator-column-icon svg, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-160 .operator-column-icon svg, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-200 .operator-column-icon svg {\n font-size: 20px;\n color: rgb(92, 101, 115);\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .operator-column-40 .operator-column-icon:hover, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-80 .operator-column-icon:hover, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-120 .operator-column-icon:hover, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-160 .operator-column-icon:hover, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-200 .operator-column-icon:hover {\n background: rgb(247, 248, 250);\n border-radius: 4px;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .operator-column-40 .operator-column-icon:hover svg, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-80 .operator-column-icon:hover svg, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-120 .operator-column-icon:hover svg, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-160 .operator-column-icon:hover svg, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-200 .operator-column-icon:hover svg {\n color: rgb(87, 131, 235);\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .operator-column-40 .hidden-icon, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-80 .hidden-icon, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-120 .hidden-icon, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-160 .hidden-icon, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-200 .hidden-icon {\n display: none;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .operator-column-40 .center-line, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-80 .center-line, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-120 .center-line, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-160 .center-line, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-200 .center-line {\n width: 1px;\n height: 12px;\n background-color: rgb(212, 218, 227);\n margin: 0 3px;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .operator-column-40 .operation-button.disabled-operation, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-80 .operation-button.disabled-operation, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-120 .operation-button.disabled-operation, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-160 .operation-button.disabled-operation, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-200 .operation-button.disabled-operation {\n cursor: not-allowed;\n opacity: 0.5;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .operator-column-40 .operation-button.disabled-operation:hover, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-80 .operation-button.disabled-operation:hover, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-120 .operation-button.disabled-operation:hover, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-160 .operation-button.disabled-operation:hover, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-200 .operation-button.disabled-operation:hover {\n background: transparent;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .operator-column-40 .operation-button.disabled-operation:hover svg, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-80 .operation-button.disabled-operation:hover svg, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-120 .operation-button.disabled-operation:hover svg, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-160 .operation-button.disabled-operation:hover svg, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-200 .operation-button.disabled-operation:hover svg {\n color: rgb(92, 101, 115);\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .operator-column-40 .operation-button .operation-text, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-80 .operation-button .operation-text, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-120 .operation-button .operation-text, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-160 .operation-button .operation-text, .paraui-v4-dynamic-multi-box .multi-value-content .operator-column-200 .operation-button .operation-text {\n margin-left: 4px;\n font-size: 12px;\n color: rgb(92, 101, 115);\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .operator-column-80 {\n width: 72px;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .operator-column-120 {\n width: 112px;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .operator-column-160 {\n width: 152px;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .operator-column-200 {\n width: 192px;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .content-row-form {\n width: 100%;\n display: flex;\n align-items: flex-start;\n min-height: 42px;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .content-row-form .paraui-v4-select {\n overflow: hidden;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .content-row-form .form-item {\n display: flex;\n align-items: flex-start;\n min-width: 180px;\n margin-right: 10px;\n flex-shrink: 0;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .content-row-form .form-item-icon {\n margin-left: 10px;\n}\n.paraui-v4-dynamic-multi-box .multi-value-content .content-row-form .row-form-switch {\n flex: 0;\n box-sizing: content-box;\n align-items: center;\n height: 32px;\n min-width: 80px;\n}\n.paraui-v4-dynamic-multi-box .add-button {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 32px;\n background: rgb(247, 248, 250);\n border: 1px dashed rgb(212, 218, 227);\n border-radius: 4px;\n}\n.paraui-v4-dynamic-multi-box .add-button .text {\n font-size: 14px;\n margin-left: 4px;\n}\n.paraui-v4-dynamic-multi-box .add-button.add-button-scroll {\n margin-top: 14px;\n}\n.paraui-v4-dynamic-multi-box .add-button.normal-button {\n cursor: pointer;\n}\n.paraui-v4-dynamic-multi-box .add-button.normal-button .text {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-dynamic-multi-box .add-button.normal-button:hover {\n background: rgb(240, 245, 255);\n border: 1px dashed rgb(87, 131, 235);\n}\n.paraui-v4-dynamic-multi-box .add-button.disabled-add {\n cursor: not-allowed;\n}\n.paraui-v4-dynamic-multi-box .add-button.disabled-add .text {\n color: rgb(161, 168, 179);\n}\n.paraui-v4-dynamic-multi-box .add-button.disabled-add svg {\n color: rgb(161, 168, 179);\n}\n.paraui-v4-dynamic-multi-box .paraui-v4-comboselect,\n.paraui-v4-dynamic-multi-box .paraui-v4-picker-wrapper {\n width: 100%;\n}\n.paraui-v4-dynamic-multi-box .multi-value-switch {\n width: 100%;\n display: flex;\n align-items: center;\n}\n.paraui-v4-dynamic-multi-box .multi-value-switch .switch-text {\n color: rgb(161, 168, 179);\n margin-right: 4px;\n overflow: hidden;\n}\n.paraui-v4-dynamic-multi-box .multi-value-switch .switch {\n flex: 1;\n}\n\n.paraui-v4-dynamic-multi-box-popover .filter-config {\n width: 140px;\n padding-top: 4px;\n}\n.paraui-v4-dynamic-multi-box-popover .filter-config .check-list .title {\n font-size: 12px;\n color: rgb(161, 168, 179);\n line-height: 30px;\n padding: 0 10px;\n}\n.paraui-v4-dynamic-multi-box-popover .filter-config .check-list .paraui-v4-checkbox-group {\n max-height: 320px;\n overflow-y: auto;\n}\n.paraui-v4-dynamic-multi-box-popover .filter-config .check-list .paraui-v4-checkbox-group.paraui-v4-checkbox-group-column .checkbox-group-content > span {\n padding: 0 10px;\n margin-bottom: 0;\n line-height: 30px;\n}\n.paraui-v4-dynamic-multi-box-popover .filter-config .restore-default {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 36px;\n color: rgb(46, 101, 230);\n cursor: pointer;\n border-top: 1px solid rgb(247, 248, 250);\n}\n.paraui-v4-dynamic-multi-box-popover .no-other-property {\n width: 200px;\n padding: 16px 0;\n text-align: center;\n font-size: 12px;\n color: rgb(161, 168, 179);\n}";
|
|
399
399
|
styleInject(css_248z);
|
|
400
400
|
|
|
401
401
|
const DynamicMultiBox = props => {
|
|
@@ -416,6 +416,7 @@ const DynamicMultiBox = props => {
|
|
|
416
416
|
singleTitle,
|
|
417
417
|
initValue,
|
|
418
418
|
popoverClassName,
|
|
419
|
+
operationButtons = [],
|
|
419
420
|
onChange,
|
|
420
421
|
onAdd,
|
|
421
422
|
onFilter,
|
|
@@ -613,6 +614,196 @@ const DynamicMultiBox = props => {
|
|
|
613
614
|
}
|
|
614
615
|
return bol;
|
|
615
616
|
};
|
|
617
|
+
/**
|
|
618
|
+
* 创建操作按钮
|
|
619
|
+
*/
|
|
620
|
+
const createOperationButton = (button, rowIndex, item) => {
|
|
621
|
+
const {
|
|
622
|
+
key,
|
|
623
|
+
icon,
|
|
624
|
+
text,
|
|
625
|
+
disabled,
|
|
626
|
+
onClick,
|
|
627
|
+
render,
|
|
628
|
+
className,
|
|
629
|
+
tooltip
|
|
630
|
+
} = button;
|
|
631
|
+
// 如果有自定义渲染方法,使用自定义渲染
|
|
632
|
+
if (render) {
|
|
633
|
+
return jsx("div", Object.assign({
|
|
634
|
+
className: "operator-column-icon operation-button ".concat(className || '')
|
|
635
|
+
}, {
|
|
636
|
+
children: render(rowIndex, item, valueList)
|
|
637
|
+
}), key);
|
|
638
|
+
}
|
|
639
|
+
// 判断是否禁用
|
|
640
|
+
const isDisabled = typeof disabled === 'function' ? disabled(rowIndex, item, valueList) : disabled;
|
|
641
|
+
// 创建按钮内容
|
|
642
|
+
const buttonContent = jsxs("div", Object.assign({
|
|
643
|
+
className: "operator-column-icon operation-button ".concat(className || '', " ").concat(isDisabled ? 'disabled-operation' : ''),
|
|
644
|
+
onClick: () => !isDisabled && onClick(rowIndex, item, valueList)
|
|
645
|
+
}, {
|
|
646
|
+
children: [icon, text && jsx("span", Object.assign({
|
|
647
|
+
className: "operation-text"
|
|
648
|
+
}, {
|
|
649
|
+
children: text
|
|
650
|
+
}))]
|
|
651
|
+
}));
|
|
652
|
+
// 如果有tooltip,添加tooltip
|
|
653
|
+
if (tooltip) {
|
|
654
|
+
return jsx(Tooltip, Object.assign({
|
|
655
|
+
disabled: isDisabled,
|
|
656
|
+
placement: tooltip.placement || 'top'
|
|
657
|
+
}, tooltip, {
|
|
658
|
+
children: buttonContent
|
|
659
|
+
}), key);
|
|
660
|
+
}
|
|
661
|
+
return buttonContent;
|
|
662
|
+
};
|
|
663
|
+
/**
|
|
664
|
+
* 渲染行操作按钮区域,按照顺序混排
|
|
665
|
+
*/
|
|
666
|
+
const renderRowOperations = (rowIndex, item, showDeleteIcon, isAllHideDelBol) => {
|
|
667
|
+
// 收集所有可见的按钮元素
|
|
668
|
+
const allButtons = [];
|
|
669
|
+
// 按order排序操作按钮
|
|
670
|
+
const sortedButtons = [...operationButtons].sort((a, b) => {
|
|
671
|
+
return (a.order || 3) - (b.order || 3);
|
|
672
|
+
});
|
|
673
|
+
// 准备三个位置的按钮
|
|
674
|
+
const beforeDeleteButtons = [];
|
|
675
|
+
const betweenDeleteAndSortButtons = [];
|
|
676
|
+
const afterSortButtons = [];
|
|
677
|
+
const defaultButtons = [];
|
|
678
|
+
// 分配按钮到不同位置
|
|
679
|
+
sortedButtons.forEach(button => {
|
|
680
|
+
const buttonNode = createOperationButton(button, rowIndex, item);
|
|
681
|
+
const order = button.order !== undefined ? button.order : 3;
|
|
682
|
+
switch (order) {
|
|
683
|
+
case 0:
|
|
684
|
+
beforeDeleteButtons.push(buttonNode);
|
|
685
|
+
break;
|
|
686
|
+
case 1:
|
|
687
|
+
betweenDeleteAndSortButtons.push(buttonNode);
|
|
688
|
+
break;
|
|
689
|
+
case 2:
|
|
690
|
+
afterSortButtons.push(buttonNode);
|
|
691
|
+
break;
|
|
692
|
+
default:
|
|
693
|
+
defaultButtons.push(buttonNode);
|
|
694
|
+
break;
|
|
695
|
+
}
|
|
696
|
+
});
|
|
697
|
+
// 1. 添加删除按钮前的操作按钮
|
|
698
|
+
beforeDeleteButtons.forEach(button => {
|
|
699
|
+
allButtons.push(button);
|
|
700
|
+
});
|
|
701
|
+
// 2. 添加删除按钮
|
|
702
|
+
const deleteButton = jsx("div", Object.assign({
|
|
703
|
+
className: "operator-column-icon delete-icon ".concat(!showDeleteIcon || deleteDisable.includes((item === null || item === void 0 ? void 0 : item[rowKey]) || '') ? 'hidden-icon' : ''),
|
|
704
|
+
onClick: () => onDeleteEvent(rowIndex)
|
|
705
|
+
}, {
|
|
706
|
+
children: deleteRender ? deleteRender(rowIndex, item, valueList) : jsx(Delete, {})
|
|
707
|
+
}), "delete-button");
|
|
708
|
+
// 只有当删除按钮可见时才添加
|
|
709
|
+
if (showDeleteIcon && !deleteDisable.includes(item[rowKey])) {
|
|
710
|
+
allButtons.push(deleteButton);
|
|
711
|
+
}
|
|
712
|
+
// 3. 添加删除按钮和排序按钮之间的操作按钮
|
|
713
|
+
betweenDeleteAndSortButtons.forEach(button => {
|
|
714
|
+
allButtons.push(button);
|
|
715
|
+
});
|
|
716
|
+
// 4. 添加排序按钮(如果启用)
|
|
717
|
+
if (isSort && showDeleteIcon) {
|
|
718
|
+
const sortButton = jsx("div", Object.assign({
|
|
719
|
+
className: "sort-handler operator-column-icon ".concat(!showDeleteIcon ? 'hidden-icon' : '')
|
|
720
|
+
}, {
|
|
721
|
+
children: jsx(Drag, {})
|
|
722
|
+
}), "sort-handler");
|
|
723
|
+
allButtons.push(sortButton);
|
|
724
|
+
}
|
|
725
|
+
// 5. 添加排序按钮后的操作按钮
|
|
726
|
+
afterSortButtons.forEach(button => {
|
|
727
|
+
allButtons.push(button);
|
|
728
|
+
});
|
|
729
|
+
// 6. 添加默认位置的操作按钮
|
|
730
|
+
defaultButtons.forEach(button => {
|
|
731
|
+
allButtons.push(button);
|
|
732
|
+
});
|
|
733
|
+
// 渲染所有按钮和分隔线
|
|
734
|
+
// 简化逻辑:除了最后一个元素外,每个元素后面都添加分隔线
|
|
735
|
+
const elements = [];
|
|
736
|
+
allButtons.forEach((button, index) => {
|
|
737
|
+
elements.push(button);
|
|
738
|
+
// 如果不是最后一个按钮,添加分隔线
|
|
739
|
+
if (index < allButtons.length - 1) {
|
|
740
|
+
elements.push(jsx("div", Object.assign({
|
|
741
|
+
className: "center-line"
|
|
742
|
+
}, {
|
|
743
|
+
children: jsx("div", {
|
|
744
|
+
className: 'line'
|
|
745
|
+
})
|
|
746
|
+
}), "divider-".concat(index)));
|
|
747
|
+
}
|
|
748
|
+
});
|
|
749
|
+
return jsx(Fragment, {
|
|
750
|
+
children: elements
|
|
751
|
+
});
|
|
752
|
+
};
|
|
753
|
+
/**
|
|
754
|
+
* 计算操作列宽度类名
|
|
755
|
+
*/
|
|
756
|
+
const getOperatorColumnClass = function (showDeleteIcon, isAllHideDelBol, rowIndex, item) {
|
|
757
|
+
let isHeader = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
|
|
758
|
+
// 是否只有一行且是第一行
|
|
759
|
+
const isSingleRow = valueList.length === 1 && rowIndex === 0;
|
|
760
|
+
let buttonCount = 0;
|
|
761
|
+
if (isHeader || !isSingleRow) {
|
|
762
|
+
// 头部或多行情况下,按照最大可能按钮数量计算
|
|
763
|
+
// 只要启用了删除功能(无论是否当前行可见),都计入按钮数量
|
|
764
|
+
if (keepLastItem ? valueList.length > 1 : true) {
|
|
765
|
+
buttonCount++; // 删除按钮
|
|
766
|
+
}
|
|
767
|
+
// 如果启用了排序,计入排序按钮
|
|
768
|
+
if (isSort) {
|
|
769
|
+
buttonCount++; // 排序按钮
|
|
770
|
+
}
|
|
771
|
+
// 计算自定义操作按钮数量 - 始终计算所有可能的按钮
|
|
772
|
+
buttonCount += (operationButtons === null || operationButtons === void 0 ? void 0 : operationButtons.length) || 0;
|
|
773
|
+
} else {
|
|
774
|
+
// 只有一行时,计算实际可见的按钮数量
|
|
775
|
+
// 删除按钮是否可见
|
|
776
|
+
if (showDeleteIcon && !deleteDisable.includes((item === null || item === void 0 ? void 0 : item[rowKey]) || '')) {
|
|
777
|
+
buttonCount++; // 删除按钮
|
|
778
|
+
}
|
|
779
|
+
// 排序按钮是否可见
|
|
780
|
+
if (isSort && showDeleteIcon) {
|
|
781
|
+
buttonCount++; // 排序按钮
|
|
782
|
+
}
|
|
783
|
+
// 计算实际可见的自定义操作按钮数量
|
|
784
|
+
buttonCount += (operationButtons === null || operationButtons === void 0 ? void 0 : operationButtons.length) || 0;
|
|
785
|
+
}
|
|
786
|
+
// 根据按钮数量返回对应的类名
|
|
787
|
+
return getColumnClassByCount(buttonCount);
|
|
788
|
+
};
|
|
789
|
+
/**
|
|
790
|
+
* 根据按钮数量获取对应的CSS类名
|
|
791
|
+
*/
|
|
792
|
+
const getColumnClassByCount = count => {
|
|
793
|
+
switch (count) {
|
|
794
|
+
case 0:
|
|
795
|
+
case 1:
|
|
796
|
+
return 'operator-column-40';
|
|
797
|
+
case 2:
|
|
798
|
+
return 'operator-column-80';
|
|
799
|
+
case 3:
|
|
800
|
+
return 'operator-column-120';
|
|
801
|
+
case 4:
|
|
802
|
+
return 'operator-column-160';
|
|
803
|
+
default:
|
|
804
|
+
return 'operator-column-200';
|
|
805
|
+
}
|
|
806
|
+
};
|
|
616
807
|
/**
|
|
617
808
|
* 渲染表头
|
|
618
809
|
* */
|
|
@@ -621,6 +812,13 @@ const DynamicMultiBox = props => {
|
|
|
621
812
|
if (!(config === null || config === void 0 ? void 0 : config.length)) return null;
|
|
622
813
|
const showDeleteIcon = keepLastItem ? valueList.length > 1 : true;
|
|
623
814
|
const isAllHideDelBol = isAllHideDelete();
|
|
815
|
+
// 只有一行时,表头宽度class与内容区保持一致,均用实际按钮数计算
|
|
816
|
+
let headerClass = 'operator-column-40';
|
|
817
|
+
if (valueList.length === 1) {
|
|
818
|
+
headerClass = getOperatorColumnClass(showDeleteIcon, isAllHideDelBol, 0, valueList[0], false);
|
|
819
|
+
} else {
|
|
820
|
+
headerClass = getOperatorColumnClass(showDeleteIcon, isAllHideDelBol, 0, valueList[0], true);
|
|
821
|
+
}
|
|
624
822
|
return jsxs("div", Object.assign({
|
|
625
823
|
className: 'title-config'
|
|
626
824
|
}, {
|
|
@@ -655,7 +853,7 @@ const DynamicMultiBox = props => {
|
|
|
655
853
|
required: singleTitle === null || singleTitle === void 0 ? void 0 : singleTitle.required,
|
|
656
854
|
label: singleTitle === null || singleTitle === void 0 ? void 0 : singleTitle.label
|
|
657
855
|
}) : null, jsxs("div", Object.assign({
|
|
658
|
-
className:
|
|
856
|
+
className: headerClass
|
|
659
857
|
}, {
|
|
660
858
|
children: [isSort && jsx("div", {
|
|
661
859
|
className: 'blank-block'
|
|
@@ -678,7 +876,7 @@ const DynamicMultiBox = props => {
|
|
|
678
876
|
}))]
|
|
679
877
|
}))]
|
|
680
878
|
}));
|
|
681
|
-
}, [titleMode, fixedConfig, selectedConfig, isSort, isFilter, checked, onCheckChange, onRestoreDefault, rowKey, keepLastItem, valueList, deleteDisable]);
|
|
879
|
+
}, [titleMode, fixedConfig, selectedConfig, isSort, isFilter, checked, onCheckChange, onRestoreDefault, rowKey, keepLastItem, valueList, deleteDisable, operationButtons]);
|
|
682
880
|
/**
|
|
683
881
|
*@desc 渲染内容
|
|
684
882
|
* */
|
|
@@ -692,6 +890,8 @@ const DynamicMultiBox = props => {
|
|
|
692
890
|
var _a;
|
|
693
891
|
const id = item[rowKey];
|
|
694
892
|
const rowError = (_a = errors === null || errors === void 0 ? void 0 : errors.filter(item => item[rowKey] === id)) === null || _a === void 0 ? void 0 : _a[0];
|
|
893
|
+
// 计算每一行的操作列类名(考虑按钮禁用情况)
|
|
894
|
+
const operatorColumnClass = getOperatorColumnClass(showDeleteIcon, isAllHideDelBol, rowIndex, item);
|
|
695
895
|
return jsxs("div", Object.assign({
|
|
696
896
|
className: 'content-row-form'
|
|
697
897
|
}, {
|
|
@@ -703,31 +903,16 @@ const DynamicMultiBox = props => {
|
|
|
703
903
|
onFormItemChange: (name, id, value) => onFormItemChange(name, id, value, rowIndex),
|
|
704
904
|
icon: icon,
|
|
705
905
|
config: config
|
|
706
|
-
}),
|
|
707
|
-
className:
|
|
906
|
+
}), jsx("div", Object.assign({
|
|
907
|
+
className: operatorColumnClass
|
|
708
908
|
}, {
|
|
709
|
-
children:
|
|
710
|
-
className: "operator-column-icon delete-icon ".concat(!showDeleteIcon || deleteDisable.includes(id) ? 'hidden-icon' : ''),
|
|
711
|
-
onClick: () => onDeleteEvent(rowIndex)
|
|
712
|
-
}, {
|
|
713
|
-
children: deleteRender ? deleteRender(rowIndex, item, valueList) : jsx(Delete, {})
|
|
714
|
-
})), isSort && jsx("div", Object.assign({
|
|
715
|
-
className: !showDeleteIcon || deleteDisable.includes(id) ? 'hidden-icon' : 'center-line'
|
|
716
|
-
}, {
|
|
717
|
-
children: jsx("div", {
|
|
718
|
-
className: 'line'
|
|
719
|
-
})
|
|
720
|
-
})), isSort && jsx("div", Object.assign({
|
|
721
|
-
className: "sort-handler operator-column-icon ".concat(!showDeleteIcon ? 'hidden-icon' : '')
|
|
722
|
-
}, {
|
|
723
|
-
children: jsx(Drag, {})
|
|
724
|
-
}))]
|
|
909
|
+
children: renderRowOperations(rowIndex, item, showDeleteIcon)
|
|
725
910
|
}))]
|
|
726
911
|
}), id);
|
|
727
912
|
})
|
|
728
913
|
});
|
|
729
914
|
}
|
|
730
|
-
}, [valueList, isSort, isFilter, errors, fixedConfig, selectedConfig, keepLastItem, deleteRender, rowKey, deleteDisable]);
|
|
915
|
+
}, [valueList, isSort, isFilter, errors, fixedConfig, selectedConfig, keepLastItem, deleteRender, rowKey, deleteDisable, operationButtons]);
|
|
731
916
|
/**
|
|
732
917
|
* @desc 删除事件
|
|
733
918
|
* */
|
|
@@ -36,6 +36,32 @@ export type IConfig = {
|
|
|
36
36
|
/** 其他*/
|
|
37
37
|
[name: string]: any;
|
|
38
38
|
} & (TextFieldProps | SelectProps | SwitchProps | InputNumberProps | InputLangProps | ComboSelectProps | DatePickerProps);
|
|
39
|
+
/** 操作按钮配置项 */
|
|
40
|
+
export interface IOperationButton {
|
|
41
|
+
/** 按钮标识 */
|
|
42
|
+
key: string;
|
|
43
|
+
/** 按钮图标 */
|
|
44
|
+
icon?: ReactNode;
|
|
45
|
+
/** 按钮文本 */
|
|
46
|
+
text?: string;
|
|
47
|
+
/** 是否禁用 */
|
|
48
|
+
disabled?: boolean | ((rowIndex: number, item: IValueList, valueList: IValueList[]) => boolean);
|
|
49
|
+
/** 点击事件 */
|
|
50
|
+
onClick: (rowIndex: number, item: IValueList, valueList: IValueList[]) => void;
|
|
51
|
+
/** 自定义渲染 */
|
|
52
|
+
render?: (rowIndex: number, item: IValueList, valueList: IValueList[]) => ReactNode;
|
|
53
|
+
/** 样式 */
|
|
54
|
+
className?: string;
|
|
55
|
+
/** 提示 */
|
|
56
|
+
tooltip?: TooltipProps;
|
|
57
|
+
/** 排序位置:
|
|
58
|
+
* 0 - 插入到删除按钮之前
|
|
59
|
+
* 1 - 插入到删除按钮之后,排序按钮之前(如果有排序按钮)
|
|
60
|
+
* 2 - 插入到排序按钮之后(如果有排序按钮),否则删除按钮之后
|
|
61
|
+
* 3+ - 默认放在最后
|
|
62
|
+
*/
|
|
63
|
+
order?: number;
|
|
64
|
+
}
|
|
39
65
|
/** value集合*/
|
|
40
66
|
export interface IValueList {
|
|
41
67
|
/** 每行value值集合, name映射configItem中的name*/
|
|
@@ -175,4 +201,8 @@ export interface IMultiValueProps {
|
|
|
175
201
|
* 是否保持最后一条
|
|
176
202
|
* */
|
|
177
203
|
keepLastItem?: boolean;
|
|
204
|
+
/**
|
|
205
|
+
* 自定义操作按钮,支持每行配置多个操作按钮
|
|
206
|
+
*/
|
|
207
|
+
operationButtons?: IOperationButton[];
|
|
178
208
|
}
|
package/README.md
CHANGED
package/Tabs/index.js
CHANGED
|
@@ -42,8 +42,8 @@ var zh = {
|
|
|
42
42
|
};
|
|
43
43
|
|
|
44
44
|
var localeJson = {
|
|
45
|
-
zh
|
|
46
|
-
en
|
|
45
|
+
zh,
|
|
46
|
+
en
|
|
47
47
|
};
|
|
48
48
|
|
|
49
49
|
var css_248z = "@charset \"UTF-8\";\n/**\n* @author Hanz\n* @date 2022/5/30 上午10:29\n* @description\n*/\n/**\n* @author linhd\n* @date 2023/4/11 14:16\n* @description 最新色卡\n*/\n.paraui-v4-tabs.paraui-v4-tabs-track.paraui-v4-tabs-medium .component-tabs-nav {\n height: 32px;\n}\n.paraui-v4-tabs.paraui-v4-tabs-track.paraui-v4-tabs-medium .component-tabs-nav .component-tabs-tab {\n height: 24px;\n}\n.paraui-v4-tabs.paraui-v4-tabs-track.paraui-v4-tabs-medium .component-tabs-nav .component-tabs-nav-operations {\n height: 100%;\n}\n\n/**\n* @author Hanz\n* @date 2022/5/30 上午10:44\n* @description\n*/\n.paraui-v4-tabs.component-tabs-top, .paraui-v4-tabs.component-tabs-bottom {\n flex-direction: column;\n}\n.paraui-v4-tabs.paraui-v4-tabs-line.component-nav-padding.component-tabs-top > .component-tabs-nav, .paraui-v4-tabs.paraui-v4-tabs-line.component-nav-padding.component-tabs-bottom > .component-tabs-nav, .paraui-v4-tabs.paraui-v4-tabs-line.component-nav-padding.component-tabs-top > div > .component-tabs-nav, .paraui-v4-tabs.paraui-v4-tabs-line.component-nav-padding.component-tabs-bottom > div > .component-tabs-nav {\n padding: 0 20px;\n}\n.paraui-v4-tabs.paraui-v4-tabs-line.component-nav-padding.component-tabs-left > .component-tabs-nav, .paraui-v4-tabs.paraui-v4-tabs-line.component-nav-padding.component-tabs-right > .component-tabs-nav, .paraui-v4-tabs.paraui-v4-tabs-line.component-nav-padding.component-tabs-left > div > .component-tabs-nav, .paraui-v4-tabs.paraui-v4-tabs-line.component-nav-padding.component-tabs-right > div > .component-tabs-nav {\n padding: 20px 0;\n}\n.paraui-v4-tabs.component-tabs-top > .component-tabs-nav, .paraui-v4-tabs.component-tabs-bottom > .component-tabs-nav, .paraui-v4-tabs.component-tabs-top > div > .component-tabs-nav, .paraui-v4-tabs.component-tabs-bottom > div > .component-tabs-nav {\n margin: 0 0 16px 0;\n}\n.paraui-v4-tabs.component-tabs-top > .component-tabs-nav::before, .paraui-v4-tabs.component-tabs-bottom > .component-tabs-nav::before, .paraui-v4-tabs.component-tabs-top > div > .component-tabs-nav::before, .paraui-v4-tabs.component-tabs-bottom > div > .component-tabs-nav::before {\n position: absolute;\n right: 0;\n left: 0;\n border-bottom: 1px solid rgb(234, 236, 241);\n content: \"\";\n}\n.paraui-v4-tabs.component-tabs-top > .component-tabs-nav .component-tabs-ink-bar, .paraui-v4-tabs.component-tabs-bottom > .component-tabs-nav .component-tabs-ink-bar, .paraui-v4-tabs.component-tabs-top > div > .component-tabs-nav .component-tabs-ink-bar, .paraui-v4-tabs.component-tabs-bottom > div > .component-tabs-nav .component-tabs-ink-bar {\n height: 1px;\n}\n.paraui-v4-tabs.component-tabs-top > .component-tabs-nav .component-tabs-ink-bar-animated, .paraui-v4-tabs.component-tabs-bottom > .component-tabs-nav .component-tabs-ink-bar-animated, .paraui-v4-tabs.component-tabs-top > div > .component-tabs-nav .component-tabs-ink-bar-animated, .paraui-v4-tabs.component-tabs-bottom > div > .component-tabs-nav .component-tabs-ink-bar-animated {\n transition: width 0.3s, left 0.3s, right 0.3s;\n}\n.paraui-v4-tabs.component-tabs-top > .component-tabs-nav .component-tabs-nav-wrap::before, .paraui-v4-tabs.component-tabs-bottom > .component-tabs-nav .component-tabs-nav-wrap::before, .paraui-v4-tabs.component-tabs-top > div > .component-tabs-nav .component-tabs-nav-wrap::before, .paraui-v4-tabs.component-tabs-bottom > div > .component-tabs-nav .component-tabs-nav-wrap::before, .paraui-v4-tabs.component-tabs-top > .component-tabs-nav .component-tabs-nav-wrap::after, .paraui-v4-tabs.component-tabs-bottom > .component-tabs-nav .component-tabs-nav-wrap::after, .paraui-v4-tabs.component-tabs-top > div > .component-tabs-nav .component-tabs-nav-wrap::after, .paraui-v4-tabs.component-tabs-bottom > div > .component-tabs-nav .component-tabs-nav-wrap::after {\n top: 0;\n bottom: 0;\n width: 30px;\n}\n.paraui-v4-tabs.component-tabs-top > .component-tabs-nav .component-tabs-nav-wrap::before, .paraui-v4-tabs.component-tabs-bottom > .component-tabs-nav .component-tabs-nav-wrap::before, .paraui-v4-tabs.component-tabs-top > div > .component-tabs-nav .component-tabs-nav-wrap::before, .paraui-v4-tabs.component-tabs-bottom > div > .component-tabs-nav .component-tabs-nav-wrap::before {\n left: 0;\n box-shadow: inset 10px 0 8px -8px rgba(0, 0, 0, 0.08);\n}\n.paraui-v4-tabs.component-tabs-top > .component-tabs-nav .component-tabs-nav-wrap::after, .paraui-v4-tabs.component-tabs-bottom > .component-tabs-nav .component-tabs-nav-wrap::after, .paraui-v4-tabs.component-tabs-top > div > .component-tabs-nav .component-tabs-nav-wrap::after, .paraui-v4-tabs.component-tabs-bottom > div > .component-tabs-nav .component-tabs-nav-wrap::after {\n right: 0;\n box-shadow: inset -10px 0 8px -8px rgba(0, 0, 0, 0.08);\n}\n.paraui-v4-tabs.component-tabs-top > .component-tabs-nav .component-tabs-nav-wrap.component-tabs-nav-wrap-ping-left::before, .paraui-v4-tabs.component-tabs-bottom > .component-tabs-nav .component-tabs-nav-wrap.component-tabs-nav-wrap-ping-left::before, .paraui-v4-tabs.component-tabs-top > div > .component-tabs-nav .component-tabs-nav-wrap.component-tabs-nav-wrap-ping-left::before, .paraui-v4-tabs.component-tabs-bottom > div > .component-tabs-nav .component-tabs-nav-wrap.component-tabs-nav-wrap-ping-left::before {\n opacity: 1;\n}\n.paraui-v4-tabs.component-tabs-top > .component-tabs-nav .component-tabs-nav-wrap.component-tabs-nav-wrap-ping-right::after, .paraui-v4-tabs.component-tabs-bottom > .component-tabs-nav .component-tabs-nav-wrap.component-tabs-nav-wrap-ping-right::after, .paraui-v4-tabs.component-tabs-top > div > .component-tabs-nav .component-tabs-nav-wrap.component-tabs-nav-wrap-ping-right::after, .paraui-v4-tabs.component-tabs-bottom > div > .component-tabs-nav .component-tabs-nav-wrap.component-tabs-nav-wrap-ping-right::after {\n opacity: 1;\n}\n.paraui-v4-tabs.component-tabs-top > .component-tabs-nav::before, .paraui-v4-tabs.component-tabs-top > div > .component-tabs-nav::before {\n bottom: 0;\n}\n.paraui-v4-tabs.component-tabs-top > .component-tabs-nav .component-tabs-ink-bar, .paraui-v4-tabs.component-tabs-top > div > .component-tabs-nav .component-tabs-ink-bar {\n bottom: 0;\n}\n.paraui-v4-tabs.component-tabs-bottom > .component-tabs-nav, .paraui-v4-tabs.component-tabs-bottom > div > .component-tabs-nav {\n order: 1;\n margin-top: 16px;\n margin-bottom: 0;\n}\n.paraui-v4-tabs.component-tabs-bottom > .component-tabs-nav::before, .paraui-v4-tabs.component-tabs-bottom > div > .component-tabs-nav::before {\n top: 0;\n}\n.paraui-v4-tabs.component-tabs-bottom > .component-tabs-nav .component-tabs-ink-bar, .paraui-v4-tabs.component-tabs-bottom > div > .component-tabs-nav .component-tabs-ink-bar {\n top: 0;\n}\n.paraui-v4-tabs.component-tabs-bottom > .component-tabs-content-holder, .paraui-v4-tabs.component-tabs-bottom > div > .component-tabs-content-holder {\n order: 0;\n}\n.paraui-v4-tabs.component-tabs-left > .component-tabs-nav, .paraui-v4-tabs.component-tabs-right > .component-tabs-nav, .paraui-v4-tabs.component-tabs-left > div > .component-tabs-nav, .paraui-v4-tabs.component-tabs-right > div > .component-tabs-nav {\n flex-direction: column;\n min-width: 50px;\n}\n.paraui-v4-tabs.component-tabs-left > .component-tabs-nav .component-tabs-tab, .paraui-v4-tabs.component-tabs-right > .component-tabs-nav .component-tabs-tab, .paraui-v4-tabs.component-tabs-left > div > .component-tabs-nav .component-tabs-tab, .paraui-v4-tabs.component-tabs-right > div > .component-tabs-nav .component-tabs-tab {\n padding: 0 12px;\n text-align: center;\n}\n.paraui-v4-tabs.component-tabs-left > .component-tabs-nav .component-tabs-tab + .component-tabs-tab, .paraui-v4-tabs.component-tabs-right > .component-tabs-nav .component-tabs-tab + .component-tabs-tab, .paraui-v4-tabs.component-tabs-left > div > .component-tabs-nav .component-tabs-tab + .component-tabs-tab, .paraui-v4-tabs.component-tabs-right > div > .component-tabs-nav .component-tabs-tab + .component-tabs-tab {\n margin: 8px 0 0 0;\n}\n.paraui-v4-tabs.component-tabs-left > .component-tabs-nav .component-tabs-nav-wrap, .paraui-v4-tabs.component-tabs-right > .component-tabs-nav .component-tabs-nav-wrap, .paraui-v4-tabs.component-tabs-left > div > .component-tabs-nav .component-tabs-nav-wrap, .paraui-v4-tabs.component-tabs-right > div > .component-tabs-nav .component-tabs-nav-wrap {\n flex-direction: column;\n}\n.paraui-v4-tabs.component-tabs-left > .component-tabs-nav .component-tabs-nav-wrap::before, .paraui-v4-tabs.component-tabs-right > .component-tabs-nav .component-tabs-nav-wrap::before, .paraui-v4-tabs.component-tabs-left > div > .component-tabs-nav .component-tabs-nav-wrap::before, .paraui-v4-tabs.component-tabs-right > div > .component-tabs-nav .component-tabs-nav-wrap::before, .paraui-v4-tabs.component-tabs-left > .component-tabs-nav .component-tabs-nav-wrap::after, .paraui-v4-tabs.component-tabs-right > .component-tabs-nav .component-tabs-nav-wrap::after, .paraui-v4-tabs.component-tabs-left > div > .component-tabs-nav .component-tabs-nav-wrap::after, .paraui-v4-tabs.component-tabs-right > div > .component-tabs-nav .component-tabs-nav-wrap::after {\n right: 0;\n left: 0;\n height: 30px;\n}\n.paraui-v4-tabs.component-tabs-left > .component-tabs-nav .component-tabs-nav-wrap::before, .paraui-v4-tabs.component-tabs-right > .component-tabs-nav .component-tabs-nav-wrap::before, .paraui-v4-tabs.component-tabs-left > div > .component-tabs-nav .component-tabs-nav-wrap::before, .paraui-v4-tabs.component-tabs-right > div > .component-tabs-nav .component-tabs-nav-wrap::before {\n top: 0;\n box-shadow: inset 0 10px 8px -8px rgba(0, 0, 0, 0.08);\n}\n.paraui-v4-tabs.component-tabs-left > .component-tabs-nav .component-tabs-nav-wrap::after, .paraui-v4-tabs.component-tabs-right > .component-tabs-nav .component-tabs-nav-wrap::after, .paraui-v4-tabs.component-tabs-left > div > .component-tabs-nav .component-tabs-nav-wrap::after, .paraui-v4-tabs.component-tabs-right > div > .component-tabs-nav .component-tabs-nav-wrap::after {\n bottom: 0;\n box-shadow: inset 0 -10px 8px -8px rgba(0, 0, 0, 0.08);\n}\n.paraui-v4-tabs.component-tabs-left > .component-tabs-nav .component-tabs-nav-wrap.component-tabs-nav-wrap-ping-top::before, .paraui-v4-tabs.component-tabs-right > .component-tabs-nav .component-tabs-nav-wrap.component-tabs-nav-wrap-ping-top::before, .paraui-v4-tabs.component-tabs-left > div > .component-tabs-nav .component-tabs-nav-wrap.component-tabs-nav-wrap-ping-top::before, .paraui-v4-tabs.component-tabs-right > div > .component-tabs-nav .component-tabs-nav-wrap.component-tabs-nav-wrap-ping-top::before {\n opacity: 1;\n}\n.paraui-v4-tabs.component-tabs-left > .component-tabs-nav .component-tabs-nav-wrap.component-tabs-nav-wrap-ping-bottom::after, .paraui-v4-tabs.component-tabs-right > .component-tabs-nav .component-tabs-nav-wrap.component-tabs-nav-wrap-ping-bottom::after, .paraui-v4-tabs.component-tabs-left > div > .component-tabs-nav .component-tabs-nav-wrap.component-tabs-nav-wrap-ping-bottom::after, .paraui-v4-tabs.component-tabs-right > div > .component-tabs-nav .component-tabs-nav-wrap.component-tabs-nav-wrap-ping-bottom::after {\n opacity: 1;\n}\n.paraui-v4-tabs.component-tabs-left > .component-tabs-nav .component-tabs-ink-bar, .paraui-v4-tabs.component-tabs-right > .component-tabs-nav .component-tabs-ink-bar, .paraui-v4-tabs.component-tabs-left > div > .component-tabs-nav .component-tabs-ink-bar, .paraui-v4-tabs.component-tabs-right > div > .component-tabs-nav .component-tabs-ink-bar {\n width: 1px;\n}\n.paraui-v4-tabs.component-tabs-left > .component-tabs-nav .component-tabs-ink-bar-animated, .paraui-v4-tabs.component-tabs-right > .component-tabs-nav .component-tabs-ink-bar-animated, .paraui-v4-tabs.component-tabs-left > div > .component-tabs-nav .component-tabs-ink-bar-animated, .paraui-v4-tabs.component-tabs-right > div > .component-tabs-nav .component-tabs-ink-bar-animated {\n transition: height 0.3s, top 0.3s;\n}\n.paraui-v4-tabs.component-tabs-left > .component-tabs-nav .component-tabs-nav-list, .paraui-v4-tabs.component-tabs-right > .component-tabs-nav .component-tabs-nav-list, .paraui-v4-tabs.component-tabs-left > div > .component-tabs-nav .component-tabs-nav-list, .paraui-v4-tabs.component-tabs-right > div > .component-tabs-nav .component-tabs-nav-list, .paraui-v4-tabs.component-tabs-left > .component-tabs-nav .component-tabs-nav-operations, .paraui-v4-tabs.component-tabs-right > .component-tabs-nav .component-tabs-nav-operations, .paraui-v4-tabs.component-tabs-left > div > .component-tabs-nav .component-tabs-nav-operations, .paraui-v4-tabs.component-tabs-right > div > .component-tabs-nav .component-tabs-nav-operations {\n flex: 1 0 auto;\n flex-direction: column;\n}\n.paraui-v4-tabs.component-tabs-left > .component-tabs-nav .component-tabs-ink-bar, .paraui-v4-tabs.component-tabs-left > div > .component-tabs-nav .component-tabs-ink-bar {\n right: 0;\n}\n.paraui-v4-tabs.component-tabs-left > .component-tabs-content-holder, .paraui-v4-tabs.component-tabs-left > div > .component-tabs-content-holder {\n margin-left: -1px;\n border-left: 1px solid rgb(234, 236, 241);\n}\n.paraui-v4-tabs.component-tabs-left > .component-tabs-content-holder > .component-tabs-content > .component-tabs-tabpane, .paraui-v4-tabs.component-tabs-left > div > .component-tabs-content-holder > .component-tabs-content > .component-tabs-tabpane {\n padding-left: 20px;\n}\n.paraui-v4-tabs.component-tabs-right > .component-tabs-nav, .paraui-v4-tabs.component-tabs-right > div > .component-tabs-nav {\n order: 1;\n}\n.paraui-v4-tabs.component-tabs-right > .component-tabs-nav .component-tabs-ink-bar, .paraui-v4-tabs.component-tabs-right > div > .component-tabs-nav .component-tabs-ink-bar {\n left: 0;\n}\n.paraui-v4-tabs.component-tabs-right > .component-tabs-content-holder, .paraui-v4-tabs.component-tabs-right > div > .component-tabs-content-holder {\n order: 0;\n margin-right: -1px;\n border-right: 1px solid rgb(234, 236, 241);\n}\n.paraui-v4-tabs.component-tabs-right > .component-tabs-content-holder > .component-tabs-content > .component-tabs-tabpane, .paraui-v4-tabs.component-tabs-right > div > .component-tabs-content-holder > .component-tabs-content > .component-tabs-tabpane {\n padding-right: 20px;\n}\n\n.component-tabs-dropdown {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n color: rgba(0, 0, 0, 0.85);\n font-size: 14px;\n font-variant: tabular-nums;\n line-height: 1.5715;\n list-style: none;\n font-feature-settings: \"tnum\";\n position: absolute;\n top: -9999px;\n left: -9999px;\n z-index: 1050;\n display: block;\n}\n.component-tabs-dropdown.component-tabs-dropdown-hidden {\n display: none;\n}\n.component-tabs-dropdown .component-tabs-dropdown-menu {\n max-height: 200px;\n margin: 0;\n padding: 4px 0;\n overflow-x: hidden;\n overflow-y: auto;\n text-align: left;\n list-style-type: none;\n background-color: rgb(255, 255, 255);\n background-clip: padding-box;\n border-radius: 4px;\n outline: none;\n box-shadow: 1px 1px 10px 2px rgba(212, 218, 227, 0.4);\n}\n.component-tabs-dropdown .component-tabs-dropdown-menu-item {\n display: flex;\n align-items: center;\n min-width: 140px;\n margin: 0;\n padding: 5px 10px;\n overflow: hidden;\n color: rgb(29, 33, 38);\n font-weight: normal;\n font-size: 14px;\n line-height: 20px;\n white-space: nowrap;\n text-overflow: ellipsis;\n cursor: pointer;\n transition: all 0.3s;\n}\n.component-tabs-dropdown .component-tabs-dropdown-menu-item .component-tabs-tab-help {\n display: inline-flex;\n flex-direction: row-reverse;\n align-items: center;\n}\n.component-tabs-dropdown .component-tabs-dropdown-menu-item .component-tabs-tab-help .paraui-v4-help {\n display: inline-flex;\n margin-left: 4px;\n font-size: 14px;\n color: rgb(161, 168, 179);\n}\n.component-tabs-dropdown .component-tabs-dropdown-menu-item .component-tabs-tab-help .paraui-v4-help svg {\n color: inherit;\n font-size: inherit;\n}\n.component-tabs-dropdown .component-tabs-dropdown-menu-item > span {\n flex: 1;\n white-space: nowrap;\n}\n.component-tabs-dropdown .component-tabs-dropdown-menu-item-remove {\n flex: none;\n margin-left: 12px;\n margin-top: 2px;\n color: rgb(92, 101, 115);\n background: transparent;\n border: 0;\n cursor: pointer;\n transition: all 0.3s;\n}\n.component-tabs-dropdown .component-tabs-dropdown-menu-item-remove svg {\n color: inherit;\n}\n.component-tabs-dropdown .component-tabs-dropdown-menu-item-remove:hover {\n color: rgb(87, 131, 235);\n}\n.component-tabs-dropdown .component-tabs-dropdown-menu-item:hover {\n background: rgb(247, 248, 250);\n}\n.component-tabs-dropdown .component-tabs-dropdown-menu-item-disabled,\n.component-tabs-dropdown .component-tabs-dropdown-menu-item-disabled:hover {\n color: rgb(161, 168, 179);\n background: transparent;\n cursor: not-allowed;\n}\n\n.component-tabs-slide-up-enter,\n.component-tabs-slide-up-appear {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n\n.component-tabs-slide-up-leave {\n animation-duration: 0.2s;\n animation-fill-mode: both;\n animation-play-state: paused;\n}\n\n.component-tabs-slide-up-enter.component-tabs-slide-up-enter-active,\n.component-tabs-slide-up-appear.component-tabs-slide-up-appear-active {\n animation-name: componentTabsSlideUpIn;\n animation-play-state: running;\n}\n\n.component-tabs-slide-up-leave.component-tabs-slide-up-leave-active {\n animation-name: componentTabsSlideUpOut;\n animation-play-state: running;\n pointer-events: none;\n}\n\n.component-tabs-slide-up-enter,\n.component-tabs-slide-up-appear {\n opacity: 0;\n animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.component-tabs-slide-up-leave {\n animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n}\n\n@keyframes componentTabsSlideUpIn {\n 0% {\n transform: scaleY(0.8);\n transform-origin: 0% 0%;\n opacity: 0;\n }\n 100% {\n transform: scaleY(1);\n transform-origin: 0% 0%;\n opacity: 1;\n }\n}\n@keyframes componentTabsSlideUpOut {\n 0% {\n transform: scaleY(1);\n transform-origin: 0% 0%;\n opacity: 1;\n }\n 100% {\n transform: scaleY(0.8);\n transform-origin: 0% 0%;\n opacity: 0;\n }\n}\n.paraui-v4-tabs {\n color: rgb(29, 33, 38);\n font-size: 14px;\n line-height: 1.5715;\n display: flex;\n background-color: rgb(255, 255, 255);\n overflow: hidden;\n flex-shrink: 0;\n}\n.paraui-v4-tabs.component-tabs > .component-tabs-nav, .paraui-v4-tabs.component-tabs > div > .component-tabs-nav {\n position: relative;\n display: flex;\n flex: none;\n align-items: center;\n}\n.paraui-v4-tabs.component-tabs > .component-tabs-nav .component-tabs-nav-wrap, .paraui-v4-tabs.component-tabs > div > .component-tabs-nav .component-tabs-nav-wrap {\n position: relative;\n display: flex;\n flex: auto;\n align-self: stretch;\n overflow: hidden;\n white-space: nowrap;\n transform: translate(0);\n}\n.paraui-v4-tabs.component-tabs > .component-tabs-nav .component-tabs-nav-wrap::before, .paraui-v4-tabs.component-tabs > div > .component-tabs-nav .component-tabs-nav-wrap::before, .paraui-v4-tabs.component-tabs > .component-tabs-nav .component-tabs-nav-wrap::after, .paraui-v4-tabs.component-tabs > div > .component-tabs-nav .component-tabs-nav-wrap::after {\n position: absolute;\n z-index: 1;\n opacity: 0;\n transition: opacity 0.3s;\n content: \"\";\n pointer-events: none;\n}\n.paraui-v4-tabs.component-tabs > .component-tabs-nav .component-tabs-nav-list, .paraui-v4-tabs.component-tabs > div > .component-tabs-nav .component-tabs-nav-list {\n position: relative;\n display: flex;\n flex-shrink: 0;\n transition: transform 0.3s;\n}\n.paraui-v4-tabs.component-tabs > .component-tabs-nav .component-tabs-nav-operations, .paraui-v4-tabs.component-tabs > div > .component-tabs-nav .component-tabs-nav-operations {\n display: flex;\n align-self: stretch;\n}\n.paraui-v4-tabs.component-tabs > .component-tabs-nav .component-tabs-nav-operations-hidden, .paraui-v4-tabs.component-tabs > div > .component-tabs-nav .component-tabs-nav-operations-hidden {\n position: absolute;\n visibility: hidden;\n pointer-events: none;\n}\n.paraui-v4-tabs.component-tabs > .component-tabs-nav .component-tabs-nav-more, .paraui-v4-tabs.component-tabs > div > .component-tabs-nav .component-tabs-nav-more {\n position: relative;\n padding: 8px;\n background: transparent;\n border: 0;\n}\n.paraui-v4-tabs.component-tabs > .component-tabs-nav .component-tabs-nav-more:hover svg, .paraui-v4-tabs.component-tabs > div > .component-tabs-nav .component-tabs-nav-more:hover svg {\n color: rgb(46, 101, 230);\n transition: all 0.3s;\n}\n.paraui-v4-tabs.component-tabs > .component-tabs-nav .component-tabs-nav-more svg, .paraui-v4-tabs.component-tabs > div > .component-tabs-nav .component-tabs-nav-more svg {\n font-size: 18px;\n vertical-align: top;\n color: rgb(29, 33, 38);\n}\n.paraui-v4-tabs.component-tabs > .component-tabs-nav .component-tabs-nav-more::after, .paraui-v4-tabs.component-tabs > div > .component-tabs-nav .component-tabs-nav-more::after {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n height: 5px;\n transform: translateY(100%);\n content: \"\";\n}\n.paraui-v4-tabs.component-tabs > .component-tabs-nav .component-tabs-nav-add, .paraui-v4-tabs.component-tabs > div > .component-tabs-nav .component-tabs-nav-add {\n min-width: 40px;\n margin-left: 2px;\n padding: 0 8px;\n background-color: rgb(255, 255, 255);\n border: 1px solid rgb(212, 218, 227);\n color: rgb(29, 33, 38);\n outline: none;\n cursor: pointer;\n transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n}\n.paraui-v4-tabs.component-tabs > .component-tabs-nav .component-tabs-nav-add svg, .paraui-v4-tabs.component-tabs > div > .component-tabs-nav .component-tabs-nav-add svg {\n color: inherit;\n}\n.paraui-v4-tabs.component-tabs > .component-tabs-nav .component-tabs-nav-add:hover, .paraui-v4-tabs.component-tabs > div > .component-tabs-nav .component-tabs-nav-add:hover {\n color: rgb(46, 101, 230);\n border: 1px solid rgb(87, 131, 235);\n}\n.paraui-v4-tabs .component-tabs-extra-content {\n flex: none;\n}\n.paraui-v4-tabs.paraui-v4-tabs-centered > .component-tabs-nav .component-tabs-nav-wrap, .paraui-v4-tabs.paraui-v4-tabs-centered > div > .component-tabs-nav .component-tabs-nav-wrap {\n justify-content: center;\n}\n.paraui-v4-tabs .component-tabs-ink-bar {\n position: absolute;\n background: rgb(46, 101, 230);\n pointer-events: none;\n}\n.paraui-v4-tabs .component-tabs-tab {\n position: relative;\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n height: 40px;\n padding: 0 10px;\n font-size: 14px;\n background: transparent;\n border: 0;\n outline: none;\n cursor: pointer;\n}\n.paraui-v4-tabs .component-tabs-tab:hover {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-tabs .component-tabs-tab-btn {\n outline: none;\n transition: all 0.3s;\n}\n.paraui-v4-tabs .component-tabs-tab-btn .component-tabs-tab-help {\n display: flex;\n align-items: center;\n}\n.paraui-v4-tabs .component-tabs-tab-btn .component-tabs-tab-help .paraui-v4-help {\n display: inline-flex;\n margin-left: 4px;\n font-size: 16px;\n}\n.paraui-v4-tabs .component-tabs-tab-btn .component-tabs-tab-help .paraui-v4-help svg {\n margin-right: 0;\n color: inherit;\n font-size: inherit;\n}\n.paraui-v4-tabs .component-tabs-tab-btn .paraui-v4-radio {\n margin-right: 8px;\n}\n.paraui-v4-tabs .component-tabs-tab-remove {\n display: inline-flex;\n flex: none;\n margin-right: -4px;\n margin-left: 4px;\n color: rgb(92, 101, 115);\n font-size: 14px;\n background: transparent;\n border: none;\n outline: none;\n cursor: pointer;\n transition: all 0.3s;\n}\n.paraui-v4-tabs .component-tabs-tab-remove:hover {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-tabs .component-tabs-tab-remove svg {\n color: inherit;\n font-size: inherit;\n}\n.paraui-v4-tabs .component-tabs-tab-remove span {\n display: inline-flex;\n}\n.paraui-v4-tabs .component-tabs-tab.component-tabs-tab-active {\n color: rgb(46, 101, 230);\n font-weight: 400;\n text-shadow: 0 0 0.25px currentcolor;\n}\n.paraui-v4-tabs .component-tabs-tab.component-tabs-tab-active .component-tabs-tab-btn {\n color: inherit;\n}\n.paraui-v4-tabs .component-tabs-tab.component-tabs-tab-disabled {\n color: rgb(161, 168, 179);\n cursor: not-allowed;\n}\n.paraui-v4-tabs .component-tabs-tab .component-tabs-tab-remove svg {\n margin: 0;\n}\n.paraui-v4-tabs .component-tabs-tab svg {\n margin-right: 12px;\n}\n.paraui-v4-tabs .component-tabs-tab + .component-tabs-tab {\n margin: 0;\n}\n.paraui-v4-tabs .component-tabs-content {\n display: flex;\n width: 100%;\n}\n.paraui-v4-tabs .component-tabs-content-holder {\n flex: auto;\n min-width: 0;\n min-height: 0;\n}\n.paraui-v4-tabs .component-tabs-content-animated {\n transition: margin 0.3s;\n}\n.paraui-v4-tabs .component-tabs-tabpane {\n flex: none;\n width: 100%;\n outline: none;\n}\n.paraui-v4-tabs.paraui-v4-tabs-editable-line .component-tabs-nav .component-tabs-nav-add, .paraui-v4-tabs.paraui-v4-tabs-track .component-tabs-nav .component-tabs-nav-add, .paraui-v4-tabs.paraui-v4-tabs-card-container .component-tabs-nav .component-tabs-nav-add {\n min-width: initial;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n align-self: center;\n margin-left: 10px;\n padding: 0;\n background-color: rgb(255, 255, 255);\n border-color: rgb(212, 218, 227);\n border-radius: 2px;\n}\n.paraui-v4-tabs.paraui-v4-tabs-track {\n display: inline-flex;\n max-width: 100%;\n border-radius: 4px;\n}\n.paraui-v4-tabs.paraui-v4-tabs-track .component-tabs-nav {\n height: 36px;\n}\n.paraui-v4-tabs.paraui-v4-tabs-track .component-tabs-nav .component-tabs-nav-wrap {\n padding: 0 4px;\n background-color: rgb(247, 248, 250);\n}\n.paraui-v4-tabs.paraui-v4-tabs-track .component-tabs-nav .component-tabs-nav-add {\n margin-right: 4px;\n}\n.paraui-v4-tabs.paraui-v4-tabs-track .component-tabs-nav:before {\n display: none;\n}\n.paraui-v4-tabs.paraui-v4-tabs-track .component-tabs-nav .component-tabs-ink-bar {\n visibility: hidden;\n}\n.paraui-v4-tabs.paraui-v4-tabs-track .component-tabs-nav .component-tabs-tab {\n height: 28px;\n margin: 4px 0;\n padding: 0 10px;\n border-radius: 2px;\n transition: 0.3s;\n}\n.paraui-v4-tabs.paraui-v4-tabs-track .component-tabs-nav .component-tabs-tab.component-tabs-tab-active {\n color: rgb(46, 101, 230);\n text-shadow: none;\n background-color: rgb(255, 255, 255);\n font-weight: 400;\n}\n.paraui-v4-tabs.paraui-v4-tabs-track.component-tabs-left .component-tabs-nav, .paraui-v4-tabs.paraui-v4-tabs-track.component-tabs-right .component-tabs-nav {\n max-width: 200px;\n height: auto;\n}\n.paraui-v4-tabs.paraui-v4-tabs-track.component-tabs-left .component-tabs-content-holder, .paraui-v4-tabs.paraui-v4-tabs-track.component-tabs-right .component-tabs-content-holder {\n border-left: 0;\n border-right: 0;\n}\n.paraui-v4-tabs.paraui-v4-tabs-track .component-tabs-content-holder > .component-tabs-content > .component-tabs-tabpane {\n padding: 0;\n}\n.paraui-v4-tabs.paraui-v4-tabs-editable-track {\n border-radius: 4px 0 0 4px;\n}\n.paraui-v4-tabs.paraui-v4-tabs-editable-track .component-tabs-nav {\n border-radius: 4px;\n}\n.paraui-v4-tabs.component-tabs.paraui-v4-tabs-track > .component-tabs-nav .component-tabs-nav-more {\n background-color: rgb(247, 248, 250);\n border-radius: 0 4px 4px 0;\n}\n.paraui-v4-tabs.paraui-v4-tabs-card > .component-tabs-nav .component-tabs-tab, .paraui-v4-tabs.paraui-v4-tabs-card > div > .component-tabs-nav .component-tabs-tab {\n margin: 0;\n padding: 0 10px;\n background: rgb(255, 255, 255);\n border: 1px solid rgb(212, 218, 227);\n}\n.paraui-v4-tabs.paraui-v4-tabs-card > .component-tabs-nav .component-tabs-tab .component-tabs-tab-remove, .paraui-v4-tabs.paraui-v4-tabs-card > div > .component-tabs-nav .component-tabs-tab .component-tabs-tab-remove {\n margin-left: 8px;\n font-size: 14px;\n}\n.paraui-v4-tabs.paraui-v4-tabs-card > .component-tabs-nav .component-tabs-tab-active, .paraui-v4-tabs.paraui-v4-tabs-card > div > .component-tabs-nav .component-tabs-tab-active {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-tabs.paraui-v4-tabs-card > .component-tabs-nav .component-tabs-ink-bar, .paraui-v4-tabs.paraui-v4-tabs-card > div > .component-tabs-nav .component-tabs-ink-bar {\n visibility: hidden;\n}\n.paraui-v4-tabs.paraui-v4-tabs-card.component-tabs-top > .component-tabs-nav .component-tabs-tab + .component-tabs-tab, .paraui-v4-tabs.paraui-v4-tabs-card.component-tabs-bottom > .component-tabs-nav .component-tabs-tab + .component-tabs-tab, .paraui-v4-tabs.paraui-v4-tabs-card.component-tabs-top > div > .component-tabs-nav .component-tabs-tab + .component-tabs-tab, .paraui-v4-tabs.paraui-v4-tabs-card.component-tabs-bottom > div > .component-tabs-nav .component-tabs-tab + .component-tabs-tab {\n margin-left: 0;\n border-left: 0;\n}\n.paraui-v4-tabs.paraui-v4-tabs-card.component-tabs-top > .component-tabs-nav .component-tabs-tab:first-child {\n border-top-left-radius: 4px;\n}\n.paraui-v4-tabs.paraui-v4-tabs-card.component-tabs-top > .component-tabs-nav .component-tabs-tab:nth-last-child(2) {\n border-top-right-radius: 4px;\n}\n.paraui-v4-tabs.paraui-v4-tabs-card.component-tabs-top > .component-tabs-nav .component-tabs-tab-active, .paraui-v4-tabs.paraui-v4-tabs-card.component-tabs-top > div > .component-tabs-nav .component-tabs-tab-active {\n border-bottom-color: rgb(212, 218, 227);\n}\n.paraui-v4-tabs.paraui-v4-tabs-card.component-tabs-bottom > .component-tabs-nav .component-tabs-tab-active, .paraui-v4-tabs.paraui-v4-tabs-card.component-tabs-bottom > div > .component-tabs-nav .component-tabs-tab-active {\n border-top-color: rgb(212, 218, 227);\n}\n.paraui-v4-tabs.paraui-v4-tabs-card.component-tabs-left > .component-tabs-nav .component-tabs-tab + .component-tabs-tab, .paraui-v4-tabs.paraui-v4-tabs-card.component-tabs-right > .component-tabs-nav .component-tabs-tab + .component-tabs-tab, .paraui-v4-tabs.paraui-v4-tabs-card.component-tabs-left > div > .component-tabs-nav .component-tabs-tab + .component-tabs-tab, .paraui-v4-tabs.paraui-v4-tabs-card.component-tabs-right > div > .component-tabs-nav .component-tabs-tab + .component-tabs-tab {\n margin-top: 0;\n border-top: 0;\n}\n.paraui-v4-tabs.paraui-v4-tabs-card.component-tabs-left > .component-tabs-nav .component-tabs-tab, .paraui-v4-tabs.paraui-v4-tabs-card.component-tabs-left > div > .component-tabs-nav .component-tabs-tab {\n margin-left: 0;\n margin-top: 2px;\n}\n.paraui-v4-tabs.paraui-v4-tabs-card.component-tabs-left > .component-tabs-nav .component-tabs-tab-active, .paraui-v4-tabs.paraui-v4-tabs-card.component-tabs-left > div > .component-tabs-nav .component-tabs-tab-active {\n border-right-color: rgb(212, 218, 227);\n}\n.paraui-v4-tabs.paraui-v4-tabs-card.component-tabs-right > .component-tabs-nav .component-tabs-tab-active, .paraui-v4-tabs.paraui-v4-tabs-card.component-tabs-right > div > .component-tabs-nav .component-tabs-tab-active {\n border-left-color: rgb(212, 218, 227);\n}\n.paraui-v4-tabs.paraui-v4-tabs-card.component-tabs-right .component-tabs-nav .component-tabs-nav-add {\n margin-left: 0;\n margin-top: 2px;\n}\n.paraui-v4-tabs.paraui-v4-tabs-card.component-tabs-left .component-tabs-nav .component-tabs-nav-add {\n margin-left: 0;\n margin-top: 2px;\n}\n.paraui-v4-tabs.paraui-v4-tabs-card-container > .component-tabs-nav:before {\n display: none;\n}\n.paraui-v4-tabs.paraui-v4-tabs-card-container > .component-tabs-nav .component-tabs-tab {\n border: 0;\n transition: 0.3s;\n}\n.paraui-v4-tabs.paraui-v4-tabs-card-container > .component-tabs-nav .component-tabs-tab.component-tabs-tab-active {\n border-radius: 4px 4px 0 0;\n background-color: rgb(247, 248, 250);\n}\n.paraui-v4-tabs.paraui-v4-tabs-card-container .component-tabs-content {\n margin-top: -16px;\n padding: 16px;\n background-color: rgb(247, 248, 250);\n border-radius: 0 0 4px 4px;\n}\n.paraui-v4-tabs.paraui-v4-tabs-no-child:not(.paraui-v4-tabs-card-container) .component-tabs-nav {\n margin: 0;\n}";
|