@ibiz-template/vue3-components 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/dist/{chart-efad8ee0.js → chart-0d4e59ff.js} +2 -2
  2. package/dist/chart-0d4e59ff.js.map +1 -0
  3. package/dist/ibiz-markdown-editor-3745dfd5.js.map +1 -1
  4. package/dist/index.min.css +1 -1
  5. package/dist/index.system.min.js +3 -3
  6. package/dist/index.system.min.js.map +1 -1
  7. package/dist/wang-editor-675011c6.js.map +1 -1
  8. package/dist/xlsx-util-fac1c045.js.map +1 -1
  9. package/es/common/icon/icon.d.ts +1 -3
  10. package/es/common/index.d.ts +0 -2
  11. package/es/common/index.mjs +1 -5
  12. package/es/common/router-view/router-view.d.ts +1 -3
  13. package/es/control/app-menu/app-menu.css +1 -1
  14. package/es/control/app-menu-icon-view/app-menu-icon-view.d.ts +3 -3
  15. package/es/control/app-menu-icon-view/index.d.ts +6 -2
  16. package/es/control/chart/generator/chart-options-generator.mjs +1 -1
  17. package/es/control/chart/generator/funnel-series-generator.d.ts +1 -1
  18. package/es/control/chart/generator/pie-series-generator.d.ts +1 -1
  19. package/es/control/dashboard/dashboard.css +1 -0
  20. package/es/control/dashboard/dashboard.d.ts +1 -0
  21. package/es/control/dashboard/dashboard.mjs +1 -0
  22. package/es/control/dashboard/portlet/portlet-layout/portlet-layout.d.ts +1 -0
  23. package/es/control/dashboard/portlet/portlet-layout/portlet-layout.mjs +1 -0
  24. package/es/control/dashboard/portlet/portlet-part/portlet-part.controller.mjs +1 -1
  25. package/es/control/data-view/data-view.controller.mjs +0 -1
  26. package/es/control/data-view/data-view.css +1 -1
  27. package/es/control/drbar/drbar.controller.d.ts +2 -5
  28. package/es/control/drbar/drbar.d.ts +2 -2
  29. package/es/control/drbar/index.d.ts +3 -1
  30. package/es/control/drtab/drtab.controller.d.ts +2 -5
  31. package/es/control/exp-bar/tree-exp-bar/tree-exp-bar.controller.d.ts +8 -0
  32. package/es/control/exp-bar/tree-exp-bar/tree-exp-bar.controller.mjs +22 -9
  33. package/es/control/exp-bar/tree-exp-bar/tree-exp-bar.mjs +2 -1
  34. package/es/control/form/form/form.d.ts +1 -5
  35. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.mjs +4 -3
  36. package/es/control/form/form-detail/form-page/form-page.mjs +2 -2
  37. package/es/control/grid/grid/grid-control.util.d.ts +2 -1
  38. package/es/control/grid/grid/grid.controller.d.ts +73 -5
  39. package/es/control/grid/grid/grid.controller.mjs +201 -6
  40. package/es/control/grid/grid/grid.css +1 -1
  41. package/es/control/grid/grid/grid.d.ts +6 -1
  42. package/es/control/grid/grid/grid.mjs +62 -10
  43. package/es/control/grid/grid/index.d.ts +5 -1
  44. package/es/control/grid/grid-column/grid-field-column/grid-field-column.controller.d.ts +11 -2
  45. package/es/control/grid/grid-column/grid-field-column/grid-field-column.controller.mjs +53 -0
  46. package/es/control/grid/grid-column/grid-field-column/grid-field-column.css +1 -1
  47. package/es/control/grid/grid-column/grid-field-edit-column/grid-edit-item/grid-edit-item.css +1 -1
  48. package/es/control/toolbar/index.d.ts +6 -2
  49. package/es/control/toolbar/toolbar.d.ts +3 -3
  50. package/es/control/tree/index.d.ts +7 -1
  51. package/es/control/tree/tree.controller.d.ts +0 -10
  52. package/es/control/tree/tree.controller.mjs +4 -18
  53. package/es/control/tree/tree.d.ts +7 -1
  54. package/es/control/tree/tree.mjs +23 -8
  55. package/es/control/tree/tree.service.d.ts +9 -2
  56. package/es/control/tree/tree.service.mjs +20 -1
  57. package/es/editor/autocomplete/ibiz-autocomplete/ibiz-autocomplete.d.ts +1 -1
  58. package/es/editor/cascader/ibiz-cascader/ibiz-cascader.d.ts +1 -1
  59. package/es/editor/code/code-editor.controller.d.ts +2 -2
  60. package/es/editor/data-picker/ibiz-picker/ibiz-picker.d.ts +1 -1
  61. package/es/editor/html/wang-editor/wang-editor.d.ts +1 -1
  62. package/es/editor/upload/use/use-ibiz-upload.d.ts +2 -2
  63. package/es/editor/upload/use/use-iview-upload.d.ts +2 -2
  64. package/es/index.mjs +0 -1
  65. package/es/panel-component/nav-pos/nav-pos.mjs +6 -4
  66. package/es/panel-component/nav-pos-index/nav-pos-index.controller.mjs +1 -2
  67. package/es/panel-component/nav-pos-index/nav-pos-index.mjs +3 -2
  68. package/es/panel-component/nav-pos-index/nav-pos-index.state.mjs +1 -1
  69. package/es/panel-component/panel-app-title/panel-app-title.css +1 -1
  70. package/es/panel-component/panel-app-title/panel-app-title.mjs +1 -1
  71. package/es/panel-component/panel-field/panel-field.controller.d.ts +1 -1
  72. package/es/view/portal-view/portal-view.mjs +1 -18
  73. package/es/view-engine/grid-view.engine.mjs +1 -1
  74. package/es/view-engine/wf-dyna-action-view.engine.mjs +1 -1
  75. package/es/view-engine/wf-dyna-start-view.engine.mjs +1 -1
  76. package/lib/common/index.cjs +0 -13
  77. package/lib/control/app-menu/app-menu.css +1 -1
  78. package/lib/control/chart/generator/chart-options-generator.cjs +1 -1
  79. package/lib/control/dashboard/dashboard.cjs +1 -0
  80. package/lib/control/dashboard/dashboard.css +1 -0
  81. package/lib/control/dashboard/portlet/portlet-layout/portlet-layout.cjs +1 -0
  82. package/lib/control/dashboard/portlet/portlet-part/portlet-part.controller.cjs +1 -1
  83. package/lib/control/data-view/data-view.controller.cjs +0 -1
  84. package/lib/control/data-view/data-view.css +1 -1
  85. package/lib/control/exp-bar/tree-exp-bar/tree-exp-bar.cjs +2 -1
  86. package/lib/control/exp-bar/tree-exp-bar/tree-exp-bar.controller.cjs +22 -9
  87. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.cjs +4 -3
  88. package/lib/control/form/form-detail/form-page/form-page.cjs +2 -2
  89. package/lib/control/grid/grid/grid.cjs +62 -10
  90. package/lib/control/grid/grid/grid.controller.cjs +200 -5
  91. package/lib/control/grid/grid/grid.css +1 -1
  92. package/lib/control/grid/grid-column/grid-field-column/grid-field-column.controller.cjs +53 -0
  93. package/lib/control/grid/grid-column/grid-field-column/grid-field-column.css +1 -1
  94. package/lib/control/grid/grid-column/grid-field-edit-column/grid-edit-item/grid-edit-item.css +1 -1
  95. package/lib/control/tree/tree.cjs +23 -8
  96. package/lib/control/tree/tree.controller.cjs +4 -18
  97. package/lib/control/tree/tree.service.cjs +20 -1
  98. package/lib/index.cjs +0 -11
  99. package/lib/panel-component/nav-pos/nav-pos.cjs +6 -4
  100. package/lib/panel-component/nav-pos-index/nav-pos-index.cjs +3 -2
  101. package/lib/panel-component/nav-pos-index/nav-pos-index.controller.cjs +1 -2
  102. package/lib/panel-component/nav-pos-index/nav-pos-index.state.cjs +1 -1
  103. package/lib/panel-component/panel-app-title/panel-app-title.cjs +1 -1
  104. package/lib/panel-component/panel-app-title/panel-app-title.css +1 -1
  105. package/lib/view/portal-view/portal-view.cjs +1 -18
  106. package/lib/view-engine/grid-view.engine.cjs +1 -1
  107. package/lib/view-engine/wf-dyna-action-view.engine.cjs +1 -1
  108. package/lib/view-engine/wf-dyna-start-view.engine.cjs +1 -1
  109. package/package.json +10 -10
  110. package/dist/chart-efad8ee0.js.map +0 -1
  111. package/es/common/keep-alive/keep-alive.d.ts +0 -45
  112. package/es/common/keep-alive/keep-alive.mjs +0 -293
  113. package/es/common/keep-alive/scheduler.d.ts +0 -41
  114. package/es/common/keep-alive/scheduler.mjs +0 -168
  115. package/lib/common/keep-alive/keep-alive.cjs +0 -304
  116. package/lib/common/keep-alive/scheduler.cjs +0 -178
@@ -1,5 +1,5 @@
1
- System.register(["vue","@ibiz-template/vue3-util","@ibiz-template/core","@ibiz-template/runtime","echarts","ramda"],function(B){"use strict";var b,S,D,y,E,A,_,I,l,g,x,P,L,G,C,d;return{setters:[function(c){b=c.defineComponent,S=c.ref,D=c.onMounted,y=c.createVNode,E=c.resolveComponent,A=c.createTextVNode},function(c){_=c.useControlController,I=c.useNamespace},function(c){l=c.RuntimeModelError,g=c.toNumberOrNil,x=c.RuntimeError},function(c){P=c.MDControlService,L=c.MDControlController},function(c){G=c.init},function(c){C=c.isNil,d=c.mergeDeepRight}],execute:function(){var c=Object.defineProperty,M=(a,t,e)=>t in a?c(a,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[t]=e,h=(a,t,e)=>(M(a,typeof t!="symbol"?t+"":t,e),e);const w="$default_group";class p{constructor(t,e){this.model=t,this.chartGenerator=e,h(this,"catalogField"),h(this,"valueField"),h(this,"groupField"),h(this,"xAxisIndex"),h(this,"yAxisIndex"),h(this,"seriesName"),h(this,"groupData"),h(this,"staticOptions",{}),h(this,"seriesUserParam"),h(this,"autoCompleteCategory",!0);var i;this.model=t,this.chartGenerator=e;const{chartSeriesEncode:s,caption:r,id:o,userParam:n}=t;if(!t.catalogField)throw new l(t,"\u7F3A\u5C11\u5206\u7C7B\u5C5E\u6027\u914D\u7F6E");if(!t.valueField)throw new l(t,"\u7F3A\u5C11\u503C\u5C5E\u6027\u914D\u7F6E");this.catalogField=t.catalogField.toLowerCase(),this.valueField=t.valueField.toLowerCase(),this.groupField=(i=t.seriesField)==null?void 0:i.toLowerCase();const{chartXAxisId:u,chartYAxisId:m}=s||{};this.xAxisIndex=g(u),this.yAxisIndex=g(m),this.seriesName=r||o,this.staticOptions=this.calcStaticOptions(),n&&(this.seriesUserParam=v(n))}calcStaticOptions(){return{type:this.model.seriesType,name:this.seriesName,emphasis:{label:{fontSize:20,show:!0}},label:{position:"top",show:!0}}}translateVal(t,e,i=!1){if(C(e))return;if(C(t))return e;const s=this.chartGenerator.codeListMap.get(t);if(s?.length){const r=s.find(o=>o.value===e);if(r)return r.text}return i?void 0:e}calcGroupData(t){this.groupData={};const e=this.groupData,{seriesCodeListId:i,catalogCodeListId:s}=this.model;return t.forEach(r=>{let o=w;if(this.groupField){const u=this.translateVal(i,r[this.groupField]);if(C(u))return;o=u}e[o]||(e[o]={},s&&this.autoCompleteCategory&&this.chartGenerator.codeListMap.get(s).forEach(m=>{e[o][m.text]={value:0}}));const n=this.translateVal(s,r[this.catalogField],!0);n&&(e[o][n]||(e[o][n]={value:0}),e[o][n].value+=r[this.valueField],e[o][n].deData=r)}),e}calcGroupSeries(t){return Object.keys(t).map(e=>{const i=t[e],s=this.calcSeriesData(i);let r={...this.staticOptions,data:s};return e!==w&&(r.name=e),this.seriesUserParam&&(r=d(r,this.seriesUserParam)),r})}calcSeriesData(t){return Object.keys(t).map(e=>{var i;const s=t[e];return[e,s.value,(i=s.deData)==null?void 0:i.srfkey]})}calcByData(t){const e=this.calcGroupData(t);return this.calcGroupSeries(e)}getSrfkeyByParams(t){return t.value[2]}}class N extends p{calcStaticOptions(){if(this.xAxisIndex===void 0)throw new l(this.model,"\u5E8F\u5217\u6CA1\u6709\u914D\u7F6EX\u5750\u6807\u8F74");if(this.yAxisIndex===void 0)throw new l(this.model,"\u5E8F\u5217\u6CA1\u6709\u914D\u7F6EY\u5750\u6807\u8F74");const t=super.calcStaticOptions();t.xAxisIndex=this.xAxisIndex,t.yAxisIndex=this.yAxisIndex;const{stack:e,step:i}=this.model;return i&&(t.step="middle"),t}}class z extends p{calcStaticOptions(){if(this.xAxisIndex===void 0)throw new l(this.model,"\u5E8F\u5217\u6CA1\u6709\u914D\u7F6EX\u5750\u6807\u8F74");if(this.yAxisIndex===void 0)throw new l(this.model,"\u5E8F\u5217\u6CA1\u6709\u914D\u7F6EY\u5750\u6807\u8F74");const t=super.calcStaticOptions();return t.xAxisIndex=this.xAxisIndex,t.yAxisIndex=this.yAxisIndex,this.model,t}}class $ extends p{calcStaticOptions(){const t=super.calcStaticOptions();return t.label.formatter="{b}: {d}%({c})",t.label.position="outer",t}calcSeriesData(t){return Object.keys(t).map(e=>{var i;const s=t[e];return{name:e,value:[s.value,(i=s.deData)==null?void 0:i.srfkey]}})}getSrfkeyByParams(t){return t.value[1]}}class T extends p{calcStaticOptions(){const t=super.calcStaticOptions();return t.label.formatter="{b}: {d}%({c})",t.label.position="outside",t}calcSeriesData(t){return Object.keys(t).map(e=>{var i;const s=t[e];return{name:e,value:[s.value,(i=s.deData)==null?void 0:i.srfkey]}})}getSrfkeyByParams(t){return t.value[1]}}class R extends p{calcStaticOptions(){if(this.xAxisIndex===void 0)throw new l(this.model,"\u5E8F\u5217\u6CA1\u6709\u914D\u7F6EX\u5750\u6807\u8F74");if(this.yAxisIndex===void 0)throw new l(this.model,"\u5E8F\u5217\u6CA1\u6709\u914D\u7F6EY\u5750\u6807\u8F74");const t=super.calcStaticOptions();return t.xAxisIndex=this.xAxisIndex,t.yAxisIndex=this.yAxisIndex,t}}var U=Object.defineProperty,j=(a,t,e)=>t in a?U(a,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[t]=e,O=(a,t,e)=>(j(a,typeof t!="symbol"?t+"":t,e),e);class V{constructor(t){O(this,"index"),O(this,"indicator",{}),O(this,"_indicatorKeys"),this.index=t}get indicatorKeys(){return(!this._indicatorKeys||this._indicatorKeys.length!==Object.keys(this.indicator).length)&&(this._indicatorKeys=Object.keys(this.indicator).sort()),this._indicatorKeys}updateIndicator(t,e){const i=this.indicator[t];(!i||i.max<e)&&(this.indicator[t]={max:e})}toOptions(){const t=Math.max(...Object.values(this.indicator).map(e=>e.max));return{indicator:this.indicatorKeys.map(e=>({name:e,max:t}))}}}class K extends p{calcStaticOptions(){return super.calcStaticOptions()}calcRadarCoordSystem(t){const e=this.calcGroupData(t);this.chartGenerator.radarMap.has(this.catalogField)||this.chartGenerator.radarMap.set(this.catalogField,new V(this.chartGenerator.radarMap.size));const i=this.chartGenerator.radarMap.get(this.catalogField);Object.values(e).forEach(s=>{Object.keys(s).forEach(r=>{i.updateIndicator(r,s[r].value)})})}calcByData(t){const e=this.groupData,i=this.chartGenerator.radarMap.get(this.catalogField),s=Object.keys(e).map(o=>{const n=e[o],u=i.indicatorKeys.map(m=>n[m]===void 0?0:n[m].value);return{name:o===w?this.seriesName:o,value:u}});let r={...this.staticOptions,data:s};return this.seriesUserParam&&(r=d(r,this.seriesUserParam)),r}getSrfkeyByParams(t){return t.value[1]}}var X=Object.defineProperty,Y=(a,t,e)=>t in a?X(a,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[t]=e,f=(a,t,e)=>(Y(a,typeof t!="symbol"?t+"":t,e),e);function v(a){const t={};return a&&Object.keys(a).forEach(e=>{const i=e.indexOf(".");if(i===-1)return;const s=e.slice(i+1);if(s)try{t[s]=JSON.parse(a[e])}catch{ibiz.log.error(`\u89E3\u6790\u81EA\u5B9A\u4E49\u53C2\u6570${e}\u5931\u8D25\uFF01`)}}),t}class k{constructor(t){this.model=t,f(this,"staticOptions",{tooltip:{show:!0}}),f(this,"options",{}),f(this,"chartUserParam"),f(this,"seriesGenerators",[]),f(this,"radarMap",new Map),f(this,"codeListMap",new Map),this.initSeriesGenerators();const{dechartTitle:e,dechartLegend:i,chartXAxises:s,chartYAxises:r,userParam:o}=t;e&&(this.staticOptions.title=this.calcTitleOption(e)),i&&(this.staticOptions.legend=this.calcLegendOption(i)),s?.length&&(this.staticOptions.xAxis=this.calcXYAxisOption(s)),r?.length&&(this.staticOptions.yAxis=this.calcXYAxisOption(r)),o&&(this.chartUserParam=v(o))}initSeriesGenerators(){var t;(t=this.model.dechartSerieses)==null||t.forEach(e=>{let i;switch(e.seriesType){case"line":i=new N(e,this);break;case"bar":i=new z(e,this);break;case"scatter":i=new R(e,this);break;case"pie":i=new T(e,this);break;case"funnel":i=new $(e,this);break;case"radar":i=new K(e,this);break;default:ibiz.log.error(`\u56FE\u8868\u6682\u672A\u652F\u6301\u5E8F\u5217\u7C7B\u578B${e.seriesType}`);break}i&&this.seriesGenerators.push(i)})}calcTitleOption(t){const{showTitle:e,title:i,subTitle:s,titlePos:r}=t,o={show:e,text:i,subtext:s};o.left="center";const n=r?.toLowerCase();return n==="left"||n==="right"?o.left=n:(n==="bottom"||n==="top")&&(o.top=n),o}calcLegendOption(t){const{showLegend:e,legendPos:i}=t,s={};s.show=e;const r=i?.toLowerCase();return r==="left"||r==="right"?(s.left=r,s.top="middle",s.orient="vertical"):r==="bottom"&&(s.top=r),s}calcXYAxisOption(t){const e=[];return t.forEach(i=>{const{position:s,dataShowMode:r,userParam:o}=i;let n={type:i.echartsType,name:i.caption,max:i.maxValue,min:i.minValue,position:s,axisLabel:{formatter:u=>r===1?u.length>4?`${u.slice(0,4).split("").join(`
1
+ System.register(["vue","@ibiz-template/vue3-util","@ibiz-template/core","@ibiz-template/runtime","echarts","ramda"],function(B){"use strict";var b,S,D,y,E,A,_,I,l,w,x,P,L,G,C,d;return{setters:[function(c){b=c.defineComponent,S=c.ref,D=c.onMounted,y=c.createVNode,E=c.resolveComponent,A=c.createTextVNode},function(c){_=c.useControlController,I=c.useNamespace},function(c){l=c.RuntimeModelError,w=c.toNumberOrNil,x=c.RuntimeError},function(c){P=c.MDControlService,L=c.MDControlController},function(c){G=c.init},function(c){C=c.isNil,d=c.mergeDeepRight}],execute:function(){var c=Object.defineProperty,M=(a,t,e)=>t in a?c(a,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[t]=e,h=(a,t,e)=>(M(a,typeof t!="symbol"?t+"":t,e),e);const g="$default_group";class p{constructor(t,e){this.model=t,this.chartGenerator=e,h(this,"catalogField"),h(this,"valueField"),h(this,"groupField"),h(this,"xAxisIndex"),h(this,"yAxisIndex"),h(this,"seriesName"),h(this,"groupData"),h(this,"staticOptions",{}),h(this,"seriesUserParam"),h(this,"autoCompleteCategory",!0);var i;this.model=t,this.chartGenerator=e;const{chartSeriesEncode:s,caption:r,id:o,userParam:n}=t;if(!t.catalogField)throw new l(t,"\u7F3A\u5C11\u5206\u7C7B\u5C5E\u6027\u914D\u7F6E");if(!t.valueField)throw new l(t,"\u7F3A\u5C11\u503C\u5C5E\u6027\u914D\u7F6E");this.catalogField=t.catalogField.toLowerCase(),this.valueField=t.valueField.toLowerCase(),this.groupField=(i=t.seriesField)==null?void 0:i.toLowerCase();const{chartXAxisId:u,chartYAxisId:m}=s||{};this.xAxisIndex=w(u),this.yAxisIndex=w(m),this.seriesName=r||o,this.staticOptions=this.calcStaticOptions(),n&&(this.seriesUserParam=v(n))}calcStaticOptions(){return{type:this.model.seriesType,name:this.seriesName,emphasis:{label:{fontSize:20,show:!0}},label:{position:"top",show:!0}}}translateVal(t,e,i=!1){if(C(e))return;if(C(t))return e;const s=this.chartGenerator.codeListMap.get(t);if(s?.length){const r=s.find(o=>o.value===e);if(r)return r.text}return i?void 0:e}calcGroupData(t){this.groupData={};const e=this.groupData,{seriesCodeListId:i,catalogCodeListId:s}=this.model;return t.forEach(r=>{let o=g;if(this.groupField){const u=this.translateVal(i,r[this.groupField]);if(C(u))return;o=u}e[o]||(e[o]={},s&&this.autoCompleteCategory&&this.chartGenerator.codeListMap.get(s).forEach(m=>{e[o][m.text]={value:0}}));const n=this.translateVal(s,r[this.catalogField],!0);n&&(e[o][n]||(e[o][n]={value:0}),e[o][n].value+=r[this.valueField],e[o][n].deData=r)}),e}calcGroupSeries(t){return Object.keys(t).map(e=>{const i=t[e],s=this.calcSeriesData(i);let r={...this.staticOptions,data:s};return e!==g&&(r.name=e),this.seriesUserParam&&(r=d(r,this.seriesUserParam)),r})}calcSeriesData(t){return Object.keys(t).map(e=>{var i;const s=t[e];return[e,s.value,(i=s.deData)==null?void 0:i.srfkey]})}calcByData(t){const e=this.calcGroupData(t);return this.calcGroupSeries(e)}getSrfkeyByParams(t){return t.value[2]}}class N extends p{calcStaticOptions(){if(this.xAxisIndex===void 0)throw new l(this.model,"\u5E8F\u5217\u6CA1\u6709\u914D\u7F6EX\u5750\u6807\u8F74");if(this.yAxisIndex===void 0)throw new l(this.model,"\u5E8F\u5217\u6CA1\u6709\u914D\u7F6EY\u5750\u6807\u8F74");const t=super.calcStaticOptions();t.xAxisIndex=this.xAxisIndex,t.yAxisIndex=this.yAxisIndex;const{stack:e,step:i}=this.model;return i&&(t.step="middle"),t}}class z extends p{calcStaticOptions(){if(this.xAxisIndex===void 0)throw new l(this.model,"\u5E8F\u5217\u6CA1\u6709\u914D\u7F6EX\u5750\u6807\u8F74");if(this.yAxisIndex===void 0)throw new l(this.model,"\u5E8F\u5217\u6CA1\u6709\u914D\u7F6EY\u5750\u6807\u8F74");const t=super.calcStaticOptions();return t.xAxisIndex=this.xAxisIndex,t.yAxisIndex=this.yAxisIndex,this.model,t}}class $ extends p{calcStaticOptions(){const t=super.calcStaticOptions();return t.label.formatter="{b}: {d}%({c})",t.label.position="outer",t}calcSeriesData(t){return Object.keys(t).map(e=>{var i;const s=t[e];return{name:e,value:[s.value,(i=s.deData)==null?void 0:i.srfkey]}})}getSrfkeyByParams(t){return t.value[1]}}class T extends p{calcStaticOptions(){const t=super.calcStaticOptions();return t.label.formatter="{b}: {d}%({c})",t.label.position="outside",t}calcSeriesData(t){return Object.keys(t).map(e=>{var i;const s=t[e];return{name:e,value:[s.value,(i=s.deData)==null?void 0:i.srfkey]}})}getSrfkeyByParams(t){return t.value[1]}}class R extends p{calcStaticOptions(){if(this.xAxisIndex===void 0)throw new l(this.model,"\u5E8F\u5217\u6CA1\u6709\u914D\u7F6EX\u5750\u6807\u8F74");if(this.yAxisIndex===void 0)throw new l(this.model,"\u5E8F\u5217\u6CA1\u6709\u914D\u7F6EY\u5750\u6807\u8F74");const t=super.calcStaticOptions();return t.xAxisIndex=this.xAxisIndex,t.yAxisIndex=this.yAxisIndex,t}}var U=Object.defineProperty,j=(a,t,e)=>t in a?U(a,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[t]=e,O=(a,t,e)=>(j(a,typeof t!="symbol"?t+"":t,e),e);class V{constructor(t){O(this,"index"),O(this,"indicator",{}),O(this,"_indicatorKeys"),this.index=t}get indicatorKeys(){return(!this._indicatorKeys||this._indicatorKeys.length!==Object.keys(this.indicator).length)&&(this._indicatorKeys=Object.keys(this.indicator).sort()),this._indicatorKeys}updateIndicator(t,e){const i=this.indicator[t];(!i||i.max<e)&&(this.indicator[t]={max:e})}toOptions(){const t=Math.max(...Object.values(this.indicator).map(e=>e.max));return{indicator:this.indicatorKeys.map(e=>({name:e,max:t}))}}}class K extends p{calcStaticOptions(){return super.calcStaticOptions()}calcRadarCoordSystem(t){const e=this.calcGroupData(t);this.chartGenerator.radarMap.has(this.catalogField)||this.chartGenerator.radarMap.set(this.catalogField,new V(this.chartGenerator.radarMap.size));const i=this.chartGenerator.radarMap.get(this.catalogField);Object.values(e).forEach(s=>{Object.keys(s).forEach(r=>{i.updateIndicator(r,s[r].value)})})}calcByData(t){const e=this.groupData,i=this.chartGenerator.radarMap.get(this.catalogField),s=Object.keys(e).map(o=>{const n=e[o],u=i.indicatorKeys.map(m=>n[m]===void 0?0:n[m].value);return{name:o===g?this.seriesName:o,value:u}});let r={...this.staticOptions,data:s};return this.seriesUserParam&&(r=d(r,this.seriesUserParam)),r}getSrfkeyByParams(t){return t.value[1]}}var X=Object.defineProperty,Y=(a,t,e)=>t in a?X(a,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[t]=e,f=(a,t,e)=>(Y(a,typeof t!="symbol"?t+"":t,e),e);function v(a){const t={};return a&&Object.keys(a).forEach(e=>{const i=e.indexOf(".");if(i===-1)return;const s=e.slice(i+1);if(s)try{t[s]=JSON.parse(a[e])}catch{t[s]=a[e]}}),t}class k{constructor(t){this.model=t,f(this,"staticOptions",{tooltip:{show:!0}}),f(this,"options",{}),f(this,"chartUserParam"),f(this,"seriesGenerators",[]),f(this,"radarMap",new Map),f(this,"codeListMap",new Map),this.initSeriesGenerators();const{dechartTitle:e,dechartLegend:i,chartXAxises:s,chartYAxises:r,userParam:o}=t;e&&(this.staticOptions.title=this.calcTitleOption(e)),i&&(this.staticOptions.legend=this.calcLegendOption(i)),s?.length&&(this.staticOptions.xAxis=this.calcXYAxisOption(s)),r?.length&&(this.staticOptions.yAxis=this.calcXYAxisOption(r)),o&&(this.chartUserParam=v(o))}initSeriesGenerators(){var t;(t=this.model.dechartSerieses)==null||t.forEach(e=>{let i;switch(e.seriesType){case"line":i=new N(e,this);break;case"bar":i=new z(e,this);break;case"scatter":i=new R(e,this);break;case"pie":i=new T(e,this);break;case"funnel":i=new $(e,this);break;case"radar":i=new K(e,this);break;default:ibiz.log.error(`\u56FE\u8868\u6682\u672A\u652F\u6301\u5E8F\u5217\u7C7B\u578B${e.seriesType}`);break}i&&this.seriesGenerators.push(i)})}calcTitleOption(t){const{showTitle:e,title:i,subTitle:s,titlePos:r}=t,o={show:e,text:i,subtext:s};o.left="center";const n=r?.toLowerCase();return n==="left"||n==="right"?o.left=n:(n==="bottom"||n==="top")&&(o.top=n),o}calcLegendOption(t){const{showLegend:e,legendPos:i}=t,s={};s.show=e;const r=i?.toLowerCase();return r==="left"||r==="right"?(s.left=r,s.top="middle",s.orient="vertical"):r==="bottom"&&(s.top=r),s}calcXYAxisOption(t){const e=[];return t.forEach(i=>{const{position:s,dataShowMode:r,userParam:o}=i;let n={type:i.echartsType,name:i.caption,max:i.maxValue,min:i.minValue,position:s,axisLabel:{formatter:u=>r===1?u.length>4?`${u.slice(0,4).split("").join(`
2
2
  `)}
3
3
  ...`:u.split("").join(`
4
4
  `):r===2&&u.length>4?`${u.slice(0,4)}...`:u,rotate:r===3?45:0}};o&&(n=d(n,v(o))),e.push(n)}),e}async loadCodeList(t,e){var i;if(this.codeListMap.clear(),!((i=this.model.dechartSerieses)!=null&&i.length))return;const s=ibiz.hub.getApp(t.srfappid),r=async o=>{if(!o||this.codeListMap.has(o))return;const n=await s.codeList.get(o,t,e);this.codeListMap.set(o,n)};await Promise.all(this.model.dechartSerieses.map(async o=>{const{seriesCodeListId:n,catalogCodeListId:u}=o;await r(n),await r(u)}))}calcOptionsByData(t){this.radarMap.clear(),this.options={series:[],radar:[]},this.seriesGenerators.forEach(i=>{i.model.seriesType==="radar"&&i.calcRadarCoordSystem(t)}),this.radarMap.size&&(this.options.radar=[...this.radarMap.values()].map(i=>i.toOptions()));const e=[];return this.seriesGenerators.forEach(i=>{const s=i.calcByData(t);s instanceof Array?e.push(...s):e.push(s)}),this.options.series=e,this.options=d(this.staticOptions,this.options),this.chartUserParam&&(this.options=d(this.options,this.chartUserParam)),this.options}getSrfkeyByParams(t){const e=this.seriesGenerators[t.seriesIndex];if(!e)throw new x(`\u627E\u4E0D\u5230${t.seriesIndex}\u5E8F\u5217\u7684generator\uFF01`);return e.getSrfkeyByParams(t)}}class q extends P{}var J=Object.defineProperty,H=(a,t,e)=>t in a?J(a,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[t]=e,F=(a,t,e)=>(H(a,typeof t!="symbol"?t+"":t,e),e);class Q extends L{constructor(){super(...arguments),F(this,"chart"),F(this,"generator"),F(this,"options")}async onCreated(){await super.onCreated(),this.service=new q(this.model),await this.service.init(this.context),this.generator=new k(this.model),await this.generator.loadCodeList(this.context,this.params),window.addEventListener("resize",this.resizeChart)}async afterLoad(t,e){const i=await super.afterLoad(t,e);return this.calcOptions(),i}initChart(t){if(!t)throw new x("\u56FE\u8868\u521D\u59CB\u5316\u7684dom\u5143\u7D20\u4E0D\u5B58\u5728\uFF01");this.chart=G(t),this.chart.on("click",e=>{const i=this.generator.getSrfkeyByParams(e),s=this.state.items.find(r=>r.srfkey===i);console.log("\u5B9E\u4F53\u6570\u636E",s)})}calcOptions(t=this.state.items){this.options=this.generator.calcOptionsByData(t),this.updateChart()}updateChart(){if(!this.chart)throw new x("chart\u5BF9\u8C61\u6CA1\u6709\u6B63\u786E\u521D\u59CB\u5316");if(!this.options)throw new x("options\u8FD8\u6CA1\u8BA1\u7B97");this.chart.setOption(this.options),this.resizeChart()}resizeChart(){this.chart&&this.chart.resize()}async onDestroyed(){var t;window.removeEventListener("resize",this.resizeChart),await super.onDestroyed(),(t=this.chart)==null||t.dispose()}}const W=B("default",b({name:"IBizChartControl",props:{modelData:{type:Object,required:!0},context:{type:Object,required:!0},params:{type:Object,default:()=>({})}},setup(){const a=_((...i)=>new Q(...i)),t=I(`control-${a.model.controlType.toLowerCase()}`),e=S();return D(()=>{a.initChart(e.value)}),{c:a,ns:t,chartRef:e}},render(){return y(E("iBizControlBase"),{controller:this.c},{default:()=>[y("div",{ref:"chartRef",class:this.ns.e("chart")},[A("\u56FE\u8868")])]})}}))}}});
5
- //# sourceMappingURL=chart-efad8ee0.js.map
5
+ //# sourceMappingURL=chart-0d4e59ff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart-0d4e59ff.js","sources":["../src/control/chart/generator/base-series-generator.ts","../src/control/chart/generator/line-series-generator.ts","../src/control/chart/generator/bar-series-generator.ts","../src/control/chart/generator/funnel-series-generator.ts","../src/control/chart/generator/pie-series-generator.ts","../src/control/chart/generator/scatter-series-generator.ts","../src/control/chart/generator/radar-coord-system.ts","../src/control/chart/generator/radar-series-generator.ts","../src/control/chart/generator/chart-options-generator.ts","../src/control/chart/chart.service.ts","../src/control/chart/chart.controller.ts","../src/control/chart/chart.tsx"],"sourcesContent":["import { RuntimeModelError, toNumberOrNil } from '@ibiz-template/core';\nimport {\n IChartSeriesCSCartesian2DEncode,\n IDEChartSeries,\n} from '@ibiz/model-core';\nimport { ECElementEvent, SeriesOption } from 'echarts';\nimport { isNil, mergeDeepRight } from 'ramda';\nimport {\n ChartOptionsGenerator,\n parseUserParams,\n} from './chart-options-generator';\n\n/** 序列的单条数据 */\nexport type SingleData = {\n /**\n * 值属性的值\n */\n value: number;\n\n /**\n * 完整的实体数据\n * @author lxm\n * @date 2023-06-09 09:31:27\n * @type {IData}\n */\n deData?: IData;\n};\n/** 分类数据,key是分类属性的值 */\nexport type CatalogData = Record<string, SingleData>;\n\n/** 分组数据,key是分组属性的值 */\nexport type GroupData = Record<string, CatalogData>;\n\nexport const DEFAULT_GROUP = '$default_group';\n\nexport class BaseSeriesGenerator<T extends IDEChartSeries = IDEChartSeries> {\n /**\n * 分类属性(小写)\n * @author lxm\n * @date 2023-06-09 02:44:57\n * @type {string}\n */\n catalogField: string;\n\n /**\n * 值属性(小写)\n * @author lxm\n * @date 2023-06-09 02:45:15\n * @type {string}\n */\n valueField: string;\n\n /**\n * 分组属性(小写)\n * @author lxm\n * @date 2023-06-09 02:46:05\n * @type {string}\n */\n groupField?: string;\n\n /**\n * X轴坐标索引\n * @author lxm\n * @date 2023-06-09 02:47:54\n * @type {number}\n */\n xAxisIndex?: number;\n\n /**\n * y轴坐标索引\n * @author lxm\n * @date 2023-06-09 02:48:13\n * @type {number}\n */\n yAxisIndex?: number;\n\n /**\n * 序列名称\n * @author lxm\n * @date 2023-06-09 02:49:35\n * @type {string}\n */\n seriesName: string;\n\n /**\n * 根据后台数据处理出来的分组数据\n * @author lxm\n * @date 2023-06-09 02:58:28\n * @type {GroupData}\n */\n groupData?: GroupData;\n\n /**\n * 静态的序列options\n * @author lxm\n * @date 2023-06-09 03:08:47\n * @type {SeriesOption}\n */\n staticOptions: SeriesOption = {};\n\n /**\n * 序列的自定义Options\n * @author lxm\n * @date 2023-06-09 08:59:40\n * @type {SeriesOption}\n */\n seriesUserParam?: SeriesOption;\n\n /**\n * 是否根据代码表自动补全分类\n * @author lxm\n * @date 2023-06-09 09:28:04\n * @type {boolean}\n */\n autoCompleteCategory: boolean = true;\n\n /**\n * Creates an instance of BaseSeriesGenerator.\n * @author lxm\n * @date 2023-06-09 02:46:54\n * @param {T} model 序列模型\n * @param {ChartOptionsGenerator} chartGenerator 图表生成器\n */\n constructor(\n public model: T,\n protected chartGenerator: ChartOptionsGenerator,\n ) {\n this.model = model;\n this.chartGenerator = chartGenerator;\n\n const { chartSeriesEncode, caption, id, userParam } = model;\n if (!model.catalogField) {\n throw new RuntimeModelError(model, '缺少分类属性配置');\n }\n if (!model.valueField) {\n throw new RuntimeModelError(model, '缺少值属性配置');\n }\n this.catalogField = model.catalogField!.toLowerCase();\n this.valueField = model.valueField!.toLowerCase();\n this.groupField = model.seriesField?.toLowerCase();\n\n const { chartXAxisId, chartYAxisId } = (chartSeriesEncode ||\n {}) as IChartSeriesCSCartesian2DEncode;\n this.xAxisIndex = toNumberOrNil(chartXAxisId);\n this.yAxisIndex = toNumberOrNil(chartYAxisId);\n this.seriesName = caption || id!;\n\n this.staticOptions = this.calcStaticOptions();\n\n if (userParam) {\n this.seriesUserParam = parseUserParams(userParam);\n }\n }\n\n /**\n * 计算静态序列的options\n * @author lxm\n * @date 2023-06-09 03:09:34\n */\n protected calcStaticOptions(): SeriesOption {\n const options: SeriesOption = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n type: this.model.seriesType! as any,\n name: this.seriesName,\n emphasis: {\n label: {\n fontSize: 20,\n show: true,\n },\n },\n label: {\n position: 'top',\n show: true,\n },\n };\n return options;\n }\n\n /**\n * 有代码就转换,值为空直接返回空\n *\n * @author lxm\n * @date 2023-06-09 08:42:50\n * @author lxm\n * @date 2023-06-09 08:46:00\n * @param {(string | undefined)} codeListKey 代码表值\n * @param {(string | undefined)} val 数据值\n * @param {boolean} isExclude 是否排除非代码表的值,true时,匹配不到代码表返回undefined,反之返回原值\n * @return {*} {(string | undefined)}\n */\n translateVal(\n codeListKey: string | undefined,\n val: string | undefined,\n isExclude: boolean = false,\n ): string | undefined {\n if (isNil(val)) {\n return undefined;\n }\n if (isNil(codeListKey)) {\n return val;\n }\n const codeListItems = this.chartGenerator.codeListMap.get(codeListKey);\n if (codeListItems?.length) {\n const find = codeListItems.find(x => x.value === val);\n if (find) {\n return find.text;\n }\n }\n return isExclude ? undefined : val;\n }\n\n /**\n * 计算分组数据\n * @author lxm\n * @date 2023-06-09 03:42:53\n * @param {IData[]} data\n * @return {*} {GroupData}\n */\n protected calcGroupData(data: IData[]): GroupData {\n // 清空分组数据\n this.groupData = {};\n const groupData = this.groupData!;\n // 分组属性代码表和分类属性代码表\n const { seriesCodeListId, catalogCodeListId } = this.model;\n\n data.forEach(item => {\n // 计算分组名称标识\n let group = DEFAULT_GROUP;\n if (this.groupField) {\n const groupVal = this.translateVal(\n seriesCodeListId,\n item[this.groupField],\n );\n // 存在分组属性,但是分组属性没值的数据排除在外\n if (isNil(groupVal)) {\n return;\n }\n group = groupVal;\n }\n\n // 分组对应的分类数据不存在时新建一个\n if (!groupData[group]) {\n groupData[group] = {};\n\n // 有代码表的时候补全代码表项个数的数据条数\n if (catalogCodeListId && this.autoCompleteCategory) {\n const codeListItems =\n this.chartGenerator.codeListMap.get(catalogCodeListId)!;\n codeListItems.forEach(x => {\n groupData[group][x.text] = {\n value: 0,\n };\n });\n }\n }\n\n // 分类属性值计算和转换\n const catalog = this.translateVal(\n catalogCodeListId,\n item[this.catalogField],\n true,\n );\n // 分类属性没值的数据排除\n if (!catalog) {\n return;\n }\n\n // 该分类属性对应的单条数据不存在时新建一个\n if (!groupData[group][catalog]) {\n groupData[group][catalog] = {\n value: 0,\n };\n }\n // 相同分类属性的值属性数据累加\n groupData[group][catalog].value += item[this.valueField];\n groupData[group][catalog].deData = item;\n });\n\n return groupData;\n }\n\n /**\n * 根据分组数据算出多个序列的options\n * 大多数图表分组都是一个分组数据生成一条series\n * @author lxm\n * @date 2023-06-09 03:34:24\n * @param {GroupData} groupData\n * @return {*} {SeriesOption[]}\n */\n protected calcGroupSeries(groupData: GroupData): SeriesOption[] {\n return Object.keys(groupData).map(group => {\n // 处理每个序列的数据\n const catalogData = groupData[group];\n const data: IData[] = this.calcSeriesData(catalogData);\n\n // 合并静态的seriesOptions\n let options: IData = { ...this.staticOptions, data };\n\n // 非默认分组的时候name是分组属性的值\n if (group !== DEFAULT_GROUP) {\n options.name = group;\n }\n\n // 合并自定义参数\n if (this.seriesUserParam) {\n options = mergeDeepRight(options, this.seriesUserParam);\n }\n\n return options as SeriesOption;\n });\n }\n\n /**\n * 生成每条序列的data,由于不同图表类型格式不同所以为any\n * 默认提供的是二维数组,按[X轴,y轴]格式\n * @author lxm\n * @date 2023-06-09 03:38:07\n * @param {CatalogData} catalogData\n * @return {*} {*}\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n protected calcSeriesData(catalogData: CatalogData): any {\n return Object.keys(catalogData).map(catalog => {\n const data = catalogData[catalog];\n return [catalog, data.value, data.deData?.srfkey];\n });\n }\n\n /**\n * 根据数据计算出序列的options\n * @author lxm\n * @date 2023-06-09 03:44:31\n * @param {IData[]} data\n * @return {*} {(SeriesOption[] | SeriesOption)}\n */\n calcByData(data: IData[]): SeriesOption[] | SeriesOption {\n const groupData = this.calcGroupData(data);\n return this.calcGroupSeries(groupData);\n }\n\n /**\n * 通过事件的params获取主键\n * @author lxm\n * @date 2023-06-09 10:56:25\n * @param {ECElementEvent} params\n * @return {*} {string}\n */\n getSrfkeyByParams(params: ECElementEvent): string {\n return (params.value as IData)[2];\n }\n}\n","import { RuntimeModelError } from '@ibiz-template/core';\nimport { IChartSeriesLine } from '@ibiz/model-core';\nimport { LineSeriesOption, SeriesOption } from 'echarts';\nimport { BaseSeriesGenerator } from './base-series-generator';\n\n/**\n * 折线图序列生成器\n * @author lxm\n * @date 2023-06-11 06:19:15\n * @export\n * @class LineSeriesGenerator\n * @extends {BaseSeriesGenerator<IChartSeriesLine>}\n */\nexport class LineSeriesGenerator extends BaseSeriesGenerator<IChartSeriesLine> {\n protected calcStaticOptions(): SeriesOption {\n if (this.xAxisIndex === undefined) {\n throw new RuntimeModelError(this.model, '序列没有配置X坐标轴');\n }\n if (this.yAxisIndex === undefined) {\n throw new RuntimeModelError(this.model, '序列没有配置Y坐标轴');\n }\n const options = super.calcStaticOptions() as LineSeriesOption;\n options.xAxisIndex = this.xAxisIndex;\n options.yAxisIndex = this.yAxisIndex;\n\n const { stack, step } = this.model;\n if (stack) {\n // todo 堆叠\n }\n\n // 是否是阶梯线图\n if (step) {\n options.step = 'middle';\n }\n return options;\n }\n}\n","import { RuntimeModelError } from '@ibiz-template/core';\nimport { IChartSeriesBar } from '@ibiz/model-core';\nimport { BarSeriesOption, SeriesOption } from 'echarts';\nimport { BaseSeriesGenerator } from './base-series-generator';\n\n/**\n * 柱状图序列生成器\n * @author lxm\n * @date 2023-06-11 06:19:25\n * @export\n * @class BarSeriesGenerator\n * @extends {BaseSeriesGenerator<IChartSeriesBar>}\n */\nexport class BarSeriesGenerator extends BaseSeriesGenerator<IChartSeriesBar> {\n protected calcStaticOptions(): SeriesOption {\n if (this.xAxisIndex === undefined) {\n throw new RuntimeModelError(this.model, '序列没有配置X坐标轴');\n }\n if (this.yAxisIndex === undefined) {\n throw new RuntimeModelError(this.model, '序列没有配置Y坐标轴');\n }\n const options = super.calcStaticOptions() as BarSeriesOption;\n options.xAxisIndex = this.xAxisIndex;\n options.yAxisIndex = this.yAxisIndex;\n\n const { stack } = this.model;\n if (stack) {\n // todo 堆叠\n }\n return options;\n }\n}\n","import { IChartSeriesFunnel } from '@ibiz/model-core';\nimport { ECElementEvent, FunnelSeriesOption, SeriesOption } from 'echarts';\nimport { BaseSeriesGenerator, CatalogData } from './base-series-generator';\n\n/**\n * 漏斗图序列生成器\n * @author lxm\n * @date 2023-06-11 06:18:46\n * @export\n * @class FunnelSeriesGenerator\n * @extends {BaseSeriesGenerator<IChartSeriesFunnel>}\n */\nexport class FunnelSeriesGenerator extends BaseSeriesGenerator<IChartSeriesFunnel> {\n protected calcStaticOptions(): SeriesOption {\n const options = super.calcStaticOptions() as FunnelSeriesOption;\n\n options.label!.formatter = '{b}: {d}%({c})';\n options.label!.position = 'outer';\n\n return options;\n }\n\n protected calcSeriesData(catalogData: CatalogData): {\n name: string;\n value: IData[];\n }[] {\n return Object.keys(catalogData).map(catalog => {\n const data = catalogData[catalog];\n return { name: catalog, value: [data.value, data.deData?.srfkey] };\n });\n }\n\n getSrfkeyByParams(params: ECElementEvent): string {\n return (params.value as IData)[1];\n }\n}\n","import { IChartSeriesPie } from '@ibiz/model-core';\nimport { ECElementEvent, PieSeriesOption, SeriesOption } from 'echarts';\nimport { BaseSeriesGenerator, CatalogData } from './base-series-generator';\n\n/**\n * 饼图序列生成器\n * @author lxm\n * @date 2023-06-11 06:19:03\n * @export\n * @class PieSeriesGenerator\n * @extends {BaseSeriesGenerator<IChartSeriesPie>}\n */\nexport class PieSeriesGenerator extends BaseSeriesGenerator<IChartSeriesPie> {\n protected calcStaticOptions(): SeriesOption {\n const options = super.calcStaticOptions() as PieSeriesOption;\n\n options.label!.formatter = '{b}: {d}%({c})';\n options.label!.position = 'outside';\n\n return options;\n }\n\n protected calcSeriesData(catalogData: CatalogData): {\n name: string;\n value: IData[];\n }[] {\n return Object.keys(catalogData).map(catalog => {\n const data = catalogData[catalog];\n return { name: catalog, value: [data.value, data.deData?.srfkey] };\n });\n }\n\n getSrfkeyByParams(params: ECElementEvent): string {\n return (params.value as IData)[1];\n }\n}\n","import { RuntimeModelError } from '@ibiz-template/core';\nimport { IChartSeriesScatter } from '@ibiz/model-core';\nimport { ScatterSeriesOption, SeriesOption } from 'echarts';\nimport { BaseSeriesGenerator } from './base-series-generator';\n\n/**\n * 散点图序列生成器\n * @author lxm\n * @date 2023-06-11 06:19:34\n * @export\n * @class ScatterSeriesGenerator\n * @extends {BaseSeriesGenerator<IChartSeriesScatter>}\n */\nexport class ScatterSeriesGenerator extends BaseSeriesGenerator<IChartSeriesScatter> {\n protected calcStaticOptions(): SeriesOption {\n if (this.xAxisIndex === undefined) {\n throw new RuntimeModelError(this.model, '序列没有配置X坐标轴');\n }\n if (this.yAxisIndex === undefined) {\n throw new RuntimeModelError(this.model, '序列没有配置Y坐标轴');\n }\n const options = super.calcStaticOptions() as ScatterSeriesOption;\n options.xAxisIndex = this.xAxisIndex;\n options.yAxisIndex = this.yAxisIndex;\n\n return options;\n }\n}\n","import { RadarComponentOption } from 'echarts';\n\n/**\n * 雷达坐标系对象\n * @author lxm\n * @date 2023-06-11 06:27:22\n * @export\n * @class RadarCoordSystem\n */\nexport class RadarCoordSystem {\n /**\n * 坐标系的序号\n * @author lxm\n * @date 2023-06-11 06:28:04\n * @type {number}\n */\n index: number;\n\n /**\n * 指示器映射\n * @author lxm\n * @date 2023-06-11 06:34:26\n * @type {{ [p: string]: { max: number } }}\n */\n indicator: { [p: string]: { max: number } } = {};\n\n private _indicatorKeys?: string[];\n\n /**\n * 获取指示器的字段集合\n * @author lxm\n * @date 2023-06-11 06:41:13\n * @readonly\n */\n get indicatorKeys(): string[] {\n if (\n !this._indicatorKeys ||\n this._indicatorKeys.length !== Object.keys(this.indicator).length\n ) {\n this._indicatorKeys = Object.keys(this.indicator).sort();\n }\n return this._indicatorKeys;\n }\n\n constructor(index: number) {\n this.index = index;\n }\n\n /**\n * 更新或创建指示器\n * @author lxm\n * @date 2023-06-11 06:46:02\n * @param {string} name\n * @param {number} max\n */\n updateIndicator(name: string, max: number): void {\n const indicator = this.indicator[name];\n if (!indicator || indicator.max < max) {\n this.indicator[name] = {\n max,\n };\n }\n }\n\n /**\n * 转换成雷达坐标系的options\n * @author lxm\n * @date 2023-06-11 06:42:04\n * @return {*} {RadarComponentOption}\n */\n toOptions(): RadarComponentOption {\n // 计算指示器里最大的的值\n const maxValue = Math.max(\n ...Object.values(this.indicator).map(item => item.max),\n );\n return {\n indicator: this.indicatorKeys.map(key => {\n return {\n name: key,\n max: maxValue,\n };\n }),\n };\n }\n}\n","import { IChartSeriesRadar } from '@ibiz/model-core';\nimport { ECElementEvent, RadarSeriesOption, SeriesOption } from 'echarts';\nimport { mergeDeepRight } from 'ramda';\nimport { BaseSeriesGenerator, DEFAULT_GROUP } from './base-series-generator';\nimport { RadarCoordSystem } from './radar-coord-system';\n\n/**\n * 饼图序列生成器\n * @author lxm\n * @date 2023-06-11 06:19:03\n * @export\n * @class RadarSeriesGenerator\n * @extends {BaseSeriesGenerator<IChartSeriesRadar>}\n */\nexport class RadarSeriesGenerator extends BaseSeriesGenerator<IChartSeriesRadar> {\n protected calcStaticOptions(): SeriesOption {\n const options = super.calcStaticOptions() as RadarSeriesOption;\n\n return options;\n }\n\n /**\n * 计算雷达坐标系\n * @author lxm\n * @date 2023-06-11 07:08:30\n * @param {IData[]} data\n */\n calcRadarCoordSystem(data: IData[]): void {\n const groupData = this.calcGroupData(data);\n\n // 创建雷达坐标系对象\n if (!this.chartGenerator.radarMap.has(this.catalogField)) {\n this.chartGenerator.radarMap.set(\n this.catalogField,\n new RadarCoordSystem(this.chartGenerator.radarMap.size),\n );\n }\n const radar = this.chartGenerator.radarMap.get(this.catalogField)!;\n\n // 更新雷达坐标系指示器和最大值\n Object.values(groupData).forEach(catalogData => {\n Object.keys(catalogData).forEach(catalog => {\n radar.updateIndicator(catalog, catalogData[catalog].value);\n });\n });\n }\n\n calcByData(_data: IData[]): SeriesOption | SeriesOption[] {\n const groupData = this.groupData!;\n const radar = this.chartGenerator.radarMap.get(this.catalogField)!;\n\n const radarData = Object.keys(groupData).map(group => {\n const catalogData = groupData[group];\n const value = radar.indicatorKeys.map(key => {\n return catalogData[key] === undefined ? 0 : catalogData[key].value;\n });\n return {\n name: group === DEFAULT_GROUP ? this.seriesName : group,\n value,\n };\n });\n\n // 合并静态的seriesOptions\n let options: IData = { ...this.staticOptions, data: radarData };\n\n // 合并自定义参数\n if (this.seriesUserParam) {\n options = mergeDeepRight(options, this.seriesUserParam);\n }\n\n return options as SeriesOption;\n }\n\n getSrfkeyByParams(params: ECElementEvent): string {\n return (params.value as IData)[1];\n }\n}\n","import {\n EChartsOption,\n SeriesOption,\n XAXisComponentOption,\n YAXisComponentOption,\n ECElementEvent,\n} from 'echarts';\nimport {\n IChartXAxis,\n IChartYAxis,\n IDEChart,\n IDEChartLegend,\n IDEChartTitle,\n} from '@ibiz/model-core';\nimport { mergeDeepRight } from 'ramda';\nimport { CodeListItem } from '@ibiz-template/runtime';\nimport { RuntimeError } from '@ibiz-template/core';\nimport { BaseSeriesGenerator } from './base-series-generator';\nimport { LineSeriesGenerator } from './line-series-generator';\nimport { BarSeriesGenerator } from './bar-series-generator';\nimport { FunnelSeriesGenerator } from './funnel-series-generator';\nimport { PieSeriesGenerator } from './pie-series-generator';\nimport { ScatterSeriesGenerator } from './scatter-series-generator';\nimport { RadarCoordSystem } from './radar-coord-system';\nimport { RadarSeriesGenerator } from './radar-series-generator';\n\n/**\n * 解析userParams\n * @author lxm\n * @date 2023-06-09 09:03:07\n * @export\n * @param {Record<string, string>} userParams\n * @return {*}\n */\nexport function parseUserParams(userParams: Record<string, string>): IData {\n const option: IData = {};\n if (userParams) {\n Object.keys(userParams).forEach(key => {\n const index = key.indexOf('.');\n if (index === -1) {\n return;\n }\n const customKey = key.slice(index + 1);\n if (customKey) {\n try {\n option[customKey] = JSON.parse(userParams[key]);\n } catch (error) {\n option[customKey] = userParams[key];\n }\n }\n });\n }\n return option;\n}\n\nexport class ChartOptionsGenerator {\n /**\n * 根据模型配置算出来的静态echarts配置\n * @author lxm\n * @date 2023-06-07 09:50:44\n * @type {EChartsOption}\n */\n staticOptions: EChartsOption = {\n tooltip: {\n show: true,\n },\n };\n\n /**\n * 最终计算产物\n * @author lxm\n * @date 2023-06-08 09:23:40\n * @type {EChartsOption}\n */\n options: EChartsOption = {};\n\n /**\n * 图表整体的自定义Options\n * @author lxm\n * @date 2023-06-09 08:59:40\n * @type {EChartsOption}\n */\n chartUserParam?: EChartsOption;\n\n /**\n * 序列生成器集合\n * @author lxm\n * @date 2023-06-09 05:47:41\n * @type {BaseSeriesGenerator[]}\n */\n seriesGenerators: BaseSeriesGenerator[] = [];\n\n /**\n * 雷达坐标系映射\n * key是分类属性,值是雷达坐标的序号\n * @author lxm\n * @date 2023-06-08 03:51:03\n */\n radarMap = new Map<string, RadarCoordSystem>();\n\n /**\n * 缓存已经加载的代码表数据\n * @author lxm\n * @date 2023-06-09 07:47:35\n */\n codeListMap: Map<string, Readonly<CodeListItem[]>> = new Map();\n\n constructor(private model: IDEChart) {\n this.initSeriesGenerators();\n const {\n dechartTitle,\n dechartLegend,\n chartXAxises,\n chartYAxises,\n userParam,\n } = model;\n\n // 标题\n if (dechartTitle) {\n this.staticOptions.title = this.calcTitleOption(dechartTitle);\n }\n\n // 图例\n if (dechartLegend) {\n this.staticOptions.legend = this.calcLegendOption(dechartLegend);\n }\n // x轴\n if (chartXAxises?.length) {\n this.staticOptions.xAxis = this.calcXYAxisOption(\n chartXAxises,\n ) as XAXisComponentOption[];\n }\n // y轴\n if (chartYAxises?.length) {\n this.staticOptions.yAxis = this.calcXYAxisOption(\n chartYAxises,\n ) as YAXisComponentOption[];\n }\n\n if (userParam) {\n this.chartUserParam = parseUserParams(userParam);\n }\n }\n\n protected initSeriesGenerators(): void {\n this.model.dechartSerieses?.forEach(series => {\n let seriesGenerator;\n switch (series.seriesType) {\n case 'line':\n seriesGenerator = new LineSeriesGenerator(series, this);\n break;\n case 'bar':\n seriesGenerator = new BarSeriesGenerator(series, this);\n break;\n case 'scatter':\n seriesGenerator = new ScatterSeriesGenerator(series, this);\n break;\n case 'pie':\n seriesGenerator = new PieSeriesGenerator(series, this);\n break;\n case 'funnel':\n seriesGenerator = new FunnelSeriesGenerator(series, this);\n break;\n case 'radar':\n seriesGenerator = new RadarSeriesGenerator(series, this);\n break;\n default:\n ibiz.log.error(`图表暂未支持序列类型${series.seriesType}`);\n break;\n }\n if (seriesGenerator) {\n this.seriesGenerators.push(seriesGenerator);\n }\n });\n }\n\n protected calcTitleOption(chartTitle: IDEChartTitle): EChartsOption['title'] {\n const { showTitle, title, subTitle, titlePos } = chartTitle;\n const titleOption: EChartsOption['title'] = {\n show: showTitle,\n text: title,\n subtext: subTitle,\n };\n\n // 标题位置\n titleOption.left = 'center';\n const position = titlePos?.toLowerCase();\n if (position === 'left' || position === 'right') {\n titleOption.left = position;\n } else if (position === 'bottom' || position === 'top') {\n titleOption.top = position;\n }\n return titleOption;\n }\n\n protected calcLegendOption(\n chartLegend: IDEChartLegend,\n ): EChartsOption['legend'] {\n const { showLegend, legendPos } = chartLegend;\n const legendOption: EChartsOption['legend'] = {};\n legendOption.show = showLegend;\n const position = legendPos?.toLowerCase();\n if (position === 'left' || position === 'right') {\n legendOption.left = position;\n legendOption.top = 'middle';\n legendOption.orient = 'vertical';\n } else if (position === 'bottom') {\n legendOption.top = position;\n }\n return legendOption;\n }\n\n protected calcXYAxisOption(\n chartAxises: IChartYAxis[] | IChartXAxis[],\n ): XAXisComponentOption[] | YAXisComponentOption[] {\n const AxisOption: EChartsOption['xAxis'] | EChartsOption['yAxis'] = [];\n chartAxises.forEach(chartAxis => {\n const { position, dataShowMode, userParam } = chartAxis;\n let option = {\n type: chartAxis.echartsType,\n name: chartAxis.caption,\n max: chartAxis.maxValue,\n min: chartAxis.minValue,\n position,\n axisLabel: {\n formatter: (value: string): string => {\n if (dataShowMode === 1) {\n if (value.length > 4) {\n return `${value.slice(0, 4).split('').join('\\n')}\\n...`;\n }\n return value.split('').join('\\n');\n }\n if (dataShowMode === 2) {\n if (value.length > 4) {\n return `${value.slice(0, 4)}...`;\n }\n }\n return value;\n },\n rotate: dataShowMode === 3 ? 45 : 0,\n },\n };\n\n // 有自定义参数的合并自定义参数\n if (userParam) {\n option = mergeDeepRight(option, parseUserParams(userParam));\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n AxisOption.push(option as any);\n });\n return AxisOption;\n }\n\n /**\n * 加载代码表,\n * - 如果已经加载过会清空缓存重新加载\n * - 相同的代码表之后加载一次\n * @author lxm\n * @date 2023-06-09 08:05:28\n * @param {IContext} context\n * @param {IParams} params\n * @return {*} {Promise<void>}\n */\n async loadCodeList(context: IContext, params: IParams): Promise<void> {\n // 先清空缓存;\n this.codeListMap.clear();\n if (!this.model.dechartSerieses?.length) {\n return;\n }\n\n const app = ibiz.hub.getApp(context.srfappid);\n const loadCodeList = async (key: string | undefined): Promise<void> => {\n if (!key || this.codeListMap.has(key)) {\n return;\n }\n const codeListItems = await app.codeList.get(key, context, params);\n this.codeListMap.set(key, codeListItems);\n };\n\n await Promise.all(\n this.model.dechartSerieses.map(async series => {\n const { seriesCodeListId, catalogCodeListId } = series;\n await loadCodeList(seriesCodeListId);\n await loadCodeList(catalogCodeListId);\n }),\n );\n }\n\n /**\n * 根据数据计算出最终的options\n * @author lxm\n * @date 2023-06-09 08:10:52\n * @param {IData[]} data\n * @return {*} {EChartsOption}\n */\n calcOptionsByData(data: IData[]): EChartsOption {\n // 清空操作\n this.radarMap.clear();\n this.options = {\n series: [],\n radar: [],\n };\n\n // 雷达图表先计算坐标系\n this.seriesGenerators.forEach(generator => {\n if (generator.model.seriesType === 'radar') {\n (generator as RadarSeriesGenerator).calcRadarCoordSystem(data);\n }\n });\n // 生成雷达坐标系\n if (this.radarMap.size) {\n this.options.radar = [...this.radarMap.values()].map(radar =>\n radar.toOptions(),\n );\n }\n\n // 生成seriesOptions\n const seriesOption: SeriesOption[] = [];\n this.seriesGenerators.forEach(generator => {\n const series = generator.calcByData(data);\n if (series instanceof Array) {\n seriesOption.push(...series);\n } else {\n seriesOption.push(series);\n }\n });\n this.options.series = seriesOption;\n\n // 合并静态和动态的options\n this.options = mergeDeepRight(\n this.staticOptions,\n this.options,\n ) as EChartsOption;\n\n // 有自定义参数的合并自定义参数\n if (this.chartUserParam) {\n this.options = mergeDeepRight(\n this.options,\n this.chartUserParam,\n ) as EChartsOption;\n }\n\n return this.options;\n }\n\n getSrfkeyByParams(params: ECElementEvent): string {\n const generator = this.seriesGenerators[params.seriesIndex!];\n if (!generator) {\n throw new RuntimeError(`找不到${params.seriesIndex}序列的generator!`);\n }\n return generator.getSrfkeyByParams(params);\n }\n\n // protected calcRadarSeries(data: IData[], series: IChartSeriesFunnel) {\n // // 初始化radarMap\n // let radarIndex = this.radarMap.size; // 默认新坐标系的索引\n // let radarMapObj: Record<string, number>;\n // if (this.radarMap.has(catalogField)) {\n // radarMapObj = this.radarMap.get(catalogField)!;\n // radarIndex = radarMapObj.radarIndex;\n // } else {\n // radarMapObj = {\n // radarIndex,\n // };\n // this.radarMap.set(catalogField, radarMapObj);\n // }\n\n // // 雷达坐标系维度顺序\n // let indicatorKeys: string[] = [];\n // if (Object.values(radarMapObj).length > 1) {\n // indicatorKeys = Object.keys(radarMapObj).slice(1);\n // }\n\n // // 生成雷达数据,多个分组在一起\n // const radarData = Object.keys(groupChartData).map(group => {\n // // 处理每个序列的数据\n // const catalogData = groupChartData[group];\n // if (indicatorKeys.length === 0) {\n // indicatorKeys = Object.keys(catalogData);\n // }\n\n // const value = indicatorKeys.map(key => {\n // // 更新radar坐标系的最大值\n // if (\n // radarMapObj[key] === undefined ||\n // radarMapObj[key] < catalogData[key]\n // ) {\n // radarMapObj[key] = catalogData[key];\n // }\n // return catalogData[key];\n // });\n\n // return {\n // value,\n // name: group !== 'default' ? group : seriesName,\n // };\n // });\n\n // const seriesOption: SeriesOption = {\n // type: 'radar',\n // ...this.seriesDefaultOptions,\n // radarIndex,\n // data: radarData,\n // };\n\n // return seriesOption;\n // }\n}\n","import { MDControlService } from '@ibiz-template/runtime';\nimport { IDEChart } from '@ibiz/model-core';\n\n/**\n * 图表部件服务\n * @author lxm\n * @date 2023-05-15 09:53:35\n * @export\n * @class GridService\n * @extends {MDControlService<IDEChart>}\n */\nexport class ChartService extends MDControlService<IDEChart> {}\n","import { RuntimeError } from '@ibiz-template/core';\nimport {\n MDControlController,\n IChartEvent,\n IChartController,\n IChartState,\n MDCtrlLoadParams,\n} from '@ibiz-template/runtime';\nimport { IDEChart } from '@ibiz/model-core';\nimport { EChartsOption, EChartsType, init } from 'echarts';\nimport { ChartOptionsGenerator } from './generator/chart-options-generator';\nimport { ChartService } from './chart.service';\n\nexport class ChartController\n extends MDControlController<IDEChart, IChartState, IChartEvent>\n implements IChartController\n{\n declare service: ChartService;\n\n /**\n * echarts对象\n * @author lxm\n * @date 2023-06-07 09:36:58\n * @type {EChartsType}\n */\n chart?: EChartsType;\n\n generator!: ChartOptionsGenerator;\n\n /**\n * 最终使用的echarts配置\n * @author lxm\n * @date 2023-06-07 09:51:09\n * @type {EChartsOption}\n */\n options?: EChartsOption;\n\n protected async onCreated(): Promise<void> {\n await super.onCreated();\n this.service = new ChartService(this.model);\n await this.service.init(this.context);\n this.generator = new ChartOptionsGenerator(this.model);\n await this.generator.loadCodeList(this.context, this.params);\n\n // 监听resize调整图表大小\n window.addEventListener('resize', this.resizeChart);\n }\n\n async afterLoad(args: MDCtrlLoadParams, items: IData[]): Promise<IData[]> {\n const result = await super.afterLoad(args, items);\n this.calcOptions();\n return result;\n }\n\n /**\n * 初始化echarts对象\n * @author lxm\n * @date 2023-06-07 09:37:05\n * @param {HTMLElement} dom\n */\n initChart(dom: HTMLElement): void {\n if (!dom) {\n throw new RuntimeError('图表初始化的dom元素不存在!');\n }\n this.chart = init(dom);\n this.chart.on('click', params => {\n const srfkey = this.generator.getSrfkeyByParams(params);\n const activeData = this.state.items.find(item => item.srfkey === srfkey);\n console.log('实体数据', activeData);\n });\n }\n\n /**\n * 根据数据计算最终的options\n * 并刷新echarts\n * @author lxm\n * @date 2023-06-07 09:58:00\n * @param {IData[]} [data=this.state.items]\n */\n calcOptions(data: IData[] = this.state.items): void {\n this.options = this.generator.calcOptionsByData(data);\n this.updateChart();\n }\n\n /**\n * 更新echart图表\n * @author lxm\n * @date 2023-06-07 10:03:48\n */\n updateChart(): void {\n if (!this.chart) {\n throw new RuntimeError('chart对象没有正确初始化');\n }\n if (!this.options) {\n throw new RuntimeError('options还没计算');\n }\n this.chart.setOption(this.options);\n this.resizeChart();\n }\n\n /**\n * 刷新图表的大小\n * @author lxm\n * @date 2023-06-09 09:37:25\n */\n resizeChart(): void {\n if (this.chart) {\n this.chart.resize();\n }\n }\n\n protected async onDestroyed(): Promise<void> {\n window.removeEventListener('resize', this.resizeChart);\n await super.onDestroyed();\n this.chart?.dispose();\n }\n}\n","import { useControlController, useNamespace } from '@ibiz-template/vue3-util';\nimport { defineComponent, onMounted, PropType, ref } from 'vue';\nimport { IDEChart } from '@ibiz/model-core';\nimport { ChartController } from './chart.controller';\nimport './chart.scss';\n\nconst ChartControl = defineComponent({\n name: 'IBizChartControl',\n props: {\n modelData: { type: Object as PropType<IDEChart>, required: true },\n context: { type: Object as PropType<IContext>, required: true },\n params: { type: Object as PropType<IParams>, default: () => ({}) },\n },\n setup() {\n const c = useControlController((...args) => new ChartController(...args));\n const ns = useNamespace(`control-${c.model.controlType!.toLowerCase()}`);\n const chartRef = ref();\n\n onMounted(() => {\n c.initChart(chartRef.value);\n });\n\n return {\n c,\n ns,\n chartRef,\n };\n },\n render() {\n return (\n <iBizControlBase controller={this.c}>\n <div ref='chartRef' class={this.ns.e('chart')}>\n 图表\n </div>\n </iBizControlBase>\n );\n },\n});\n\nexport default ChartControl;\n"],"names":["__defProp","__defNormalProp","obj","key","value","__publicField","DEFAULT_GROUP","BaseSeriesGenerator","model","chartGenerator","_a","chartSeriesEncode","caption","id","userParam","RuntimeModelError","chartXAxisId","chartYAxisId","toNumberOrNil","parseUserParams","codeListKey","val","isExclude","isNil","codeListItems","find","x","data","groupData","seriesCodeListId","catalogCodeListId","item","group","groupVal","catalog","catalogData","options","mergeDeepRight","params","LineSeriesGenerator","stack","step","BarSeriesGenerator","FunnelSeriesGenerator","PieSeriesGenerator","ScatterSeriesGenerator","RadarCoordSystem","index","name","max","indicator","maxValue","RadarSeriesGenerator","radar","_data","radarData","userParams","option","customKey","ChartOptionsGenerator","dechartTitle","dechartLegend","chartXAxises","chartYAxises","series","seriesGenerator","chartTitle","showTitle","title","subTitle","titlePos","titleOption","position","chartLegend","showLegend","legendPos","legendOption","chartAxises","AxisOption","chartAxis","dataShowMode","context","app","loadCodeList","generator","seriesOption","RuntimeError","ChartService","MDControlService","ChartController","MDControlController","args","items","result","dom","init","srfkey","activeData","ChartControl","exports","defineComponent","props","modelData","type","Object","required","default","setup","c","useControlController","ns","useNamespace","controlType","toLowerCase","chartRef","ref","onMounted","initChart","render","_createVNode","_resolveComponent","e","_createTextVNode"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ibiz-markdown-editor-3745dfd5.js","sources":["../src/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.tsx"],"sourcesContent":["import {\n defineComponent,\n nextTick,\n onMounted,\n onUnmounted,\n Ref,\n ref,\n watch,\n} from 'vue';\nimport {\n getMarkDownProps,\n getEditorEmits,\n useNamespace,\n} from '@ibiz-template/vue3-util';\nimport { getCookie } from 'qx-util';\nimport Cherry from 'cherry-markdown';\nimport { CoreConst } from '@ibiz-template/core';\nimport { MarkDownEditorController } from '../markdown-editor.controller';\nimport { useUIStore } from '../../../util';\nimport './ibiz-markdown-editor.scss';\n\nconst IBizMarkDown = defineComponent({\n name: 'IBizMarkDown',\n props: getMarkDownProps<MarkDownEditorController>(),\n emits: getEditorEmits(),\n setup(props, { emit }) {\n const ns = useNamespace('markdown');\n\n const c = props.controller;\n\n const currentVal = ref<string>('');\n\n const editor = ref<Cherry | null>(null);\n\n // 请求头\n const headers: Ref<IData> = ref({\n Authorization: `Bearer ${getCookie(CoreConst.TOKEN)}`,\n });\n\n // 上传文件路径\n const uploadUrl: Ref<string> = ref('');\n\n // 下载文件路径\n const downloadUrl: Ref<string> = ref('');\n\n // 编辑器主题\n const { UIStore } = useUIStore();\n const theme = ref(UIStore.theme);\n\n // 编辑器模式\n const defaultModel = ref('edit&preview');\n\n // data响应式变更基础路径\n watch(\n () => props.data,\n newVal => {\n if (newVal) {\n const urls = c.calcBaseUrl(newVal);\n uploadUrl.value = urls.uploadUrl;\n downloadUrl.value = urls.downloadUrl;\n }\n },\n { immediate: true, deep: true },\n );\n\n // markdown Ref\n const markDownBox = ref();\n\n // 自定义图片上传\n const fileUpload = (file: Blob, callback: Function) => {\n const formData = new FormData();\n formData.append('file', file);\n ibiz.net\n .axios({\n url: uploadUrl.value,\n method: 'post',\n headers: headers.value,\n data: formData,\n })\n .then((res: IData) => {\n if (res.status === 200 && res.data.fileid) {\n const url = downloadUrl.value.replace('%fileId%', res.data.fileid);\n callback(url);\n }\n })\n .catch(error => {\n ibiz.log.error('上传出错', error);\n });\n };\n\n // 获取渲染后html内容\n const getCherryHtml = () => {\n const result = editor.value?.getHtml();\n return result;\n };\n\n // 获取markdown内容\n const getCherryContent = () => {\n const result = editor.value?.getMarkdown();\n return result;\n };\n\n // 设置markdown内容\n const setCherryContent = (val: string) => {\n editor.value?.setMarkdown(val, false);\n };\n\n watch(\n () => props.value,\n (newVal, oldVal) => {\n if (newVal !== oldVal) {\n if (!newVal) {\n currentVal.value = '';\n } else {\n currentVal.value = newVal;\n }\n }\n },\n { immediate: true },\n );\n\n // 变更事件回调\n const afterChange = (_e: IData) => {\n emit('change', getCherryContent());\n };\n\n // 图片加载回调\n const beforeImageMounted = (e: string, src: string) => {\n return { [e]: src };\n };\n\n const editorInit = () => {\n if (props.disabled) {\n defaultModel.value = 'previewOnly';\n }\n nextTick(() => {\n editor.value = new Cherry({\n id: 'cherry',\n value: currentVal.value,\n theme: theme.value,\n fileUpload,\n emoji: {\n useUnicode: true,\n },\n header: {\n anchorStyle: 'autonumber',\n },\n editor: {\n // 编辑器的高度,默认100%,如果挂载点存在内联设置的height则以内联样式为主\n height: '100%',\n // defaultModel 编辑器初始化后的默认模式,一共有三种模式:1、双栏编辑预览模式;2、纯编辑模式;3、预览模式\n // edit&preview: 双栏编辑预览模式\n // editOnly: 纯编辑模式(没有预览,可通过toolbar切换成双栏或预览模式)\n // previewOnly: 预览模式(没有编辑框,toolbar只显示“返回编辑”按钮,可通过toolbar切换成编辑模式)\n defaultModel: defaultModel.value,\n },\n toolbars: {\n toolbar: [\n 'bold',\n 'italic',\n 'underline',\n 'strikethrough',\n '|',\n 'color',\n 'header',\n '|',\n 'list',\n 'image',\n {\n insert: [\n 'link',\n 'hr',\n 'br',\n 'code',\n 'formula',\n 'toc',\n 'table',\n 'line-table',\n 'bar-table',\n ],\n },\n 'settings',\n 'togglePreview',\n ],\n bubble: [\n 'bold',\n 'italic',\n 'underline',\n 'strikethrough',\n 'sub',\n 'sup',\n '|',\n 'size',\n 'color',\n ],\n float: [\n 'h1',\n 'h2',\n 'h3',\n '|',\n 'checklist',\n 'quote',\n 'quickTable',\n 'code',\n ],\n customMenu: [],\n sidebar: [],\n },\n callback: {\n afterChange,\n beforeImageMounted,\n },\n });\n });\n };\n\n watch(\n () => UIStore.theme,\n newVal => {\n theme.value = newVal;\n editor.value?.setTheme(theme.value);\n },\n );\n\n onMounted(() => {\n editorInit();\n });\n\n onUnmounted(() => {\n editor.value = null;\n });\n\n return {\n ns,\n currentVal,\n markDownBox,\n headers,\n theme,\n defaultModel,\n getCherryHtml,\n getCherryContent,\n setCherryContent,\n };\n },\n render() {\n return (\n <div\n ref='markDownBox'\n class={[this.ns.b(), this.ns.is('disabled', this.disabled)]}\n id='cherry'\n ></div>\n );\n },\n});\n\nexport default IBizMarkDown;\n"],"names":["IBizMarkDown","exports","defineComponent","name","props","getMarkDownProps","emits","getEditorEmits","setup","emit","ns","useNamespace","c","controller","currentVal","ref","editor","getCookie","CoreConst","headers","Authorization","downloadUrl","UIStore","useUIStore","defaultModel","watch","urls","newVal","uploadUrl","fileUpload","file","callback","formData","immediate","res","deep","url","error","getCherryHtml","FormData","_a","method","getCherryContent","data","val","oldVal","result","_e","setCherryContent","editorInit","value","nextTick","Cherry","theme","afterChange","emoji","useUnicode","header","anchorStyle","height","toolbars","insert","bubble","float","customMenu","sidebar","beforeImageMounted","_createVNode","onMounted","onUnmounted"],"mappings":"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"}
1
+ {"version":3,"file":"ibiz-markdown-editor-3745dfd5.js","sources":["../src/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.tsx"],"sourcesContent":["import {\n defineComponent,\n nextTick,\n onMounted,\n onUnmounted,\n Ref,\n ref,\n watch,\n} from 'vue';\nimport {\n getMarkDownProps,\n getEditorEmits,\n useNamespace,\n} from '@ibiz-template/vue3-util';\nimport { getCookie } from 'qx-util';\nimport Cherry from 'cherry-markdown';\nimport { CoreConst } from '@ibiz-template/core';\nimport { MarkDownEditorController } from '../markdown-editor.controller';\nimport { useUIStore } from '../../../util';\nimport './ibiz-markdown-editor.scss';\n\nconst IBizMarkDown = defineComponent({\n name: 'IBizMarkDown',\n props: getMarkDownProps<MarkDownEditorController>(),\n emits: getEditorEmits(),\n setup(props, { emit }) {\n const ns = useNamespace('markdown');\n\n const c = props.controller;\n\n const currentVal = ref<string>('');\n\n const editor = ref<Cherry | null>(null);\n\n // 请求头\n const headers: Ref<IData> = ref({\n Authorization: `Bearer ${getCookie(CoreConst.TOKEN)}`,\n });\n\n // 上传文件路径\n const uploadUrl: Ref<string> = ref('');\n\n // 下载文件路径\n const downloadUrl: Ref<string> = ref('');\n\n // 编辑器主题\n const { UIStore } = useUIStore();\n const theme = ref(UIStore.theme);\n\n // 编辑器模式\n const defaultModel = ref('edit&preview');\n\n // data响应式变更基础路径\n watch(\n () => props.data,\n newVal => {\n if (newVal) {\n const urls = c.calcBaseUrl(newVal);\n uploadUrl.value = urls.uploadUrl;\n downloadUrl.value = urls.downloadUrl;\n }\n },\n { immediate: true, deep: true },\n );\n\n // markdown Ref\n const markDownBox = ref();\n\n // 自定义图片上传\n const fileUpload = (file: Blob, callback: (_url: string) => void) => {\n const formData = new FormData();\n formData.append('file', file);\n ibiz.net\n .axios({\n url: uploadUrl.value,\n method: 'post',\n headers: headers.value,\n data: formData,\n })\n .then((res: IData) => {\n if (res.status === 200 && res.data.fileid) {\n const url = downloadUrl.value.replace('%fileId%', res.data.fileid);\n callback(url);\n }\n })\n .catch(error => {\n ibiz.log.error('上传出错', error);\n });\n };\n\n // 获取渲染后html内容\n const getCherryHtml = () => {\n const result = editor.value?.getHtml();\n return result;\n };\n\n // 获取markdown内容\n const getCherryContent = () => {\n const result = editor.value?.getMarkdown();\n return result;\n };\n\n // 设置markdown内容\n const setCherryContent = (val: string) => {\n editor.value?.setMarkdown(val, false);\n };\n\n watch(\n () => props.value,\n (newVal, oldVal) => {\n if (newVal !== oldVal) {\n if (!newVal) {\n currentVal.value = '';\n } else {\n currentVal.value = newVal;\n }\n }\n },\n { immediate: true },\n );\n\n // 变更事件回调\n const afterChange = (_e: IData) => {\n emit('change', getCherryContent());\n };\n\n // 图片加载回调\n const beforeImageMounted = (e: string, src: string) => {\n return { [e]: src };\n };\n\n const editorInit = () => {\n if (props.disabled) {\n defaultModel.value = 'previewOnly';\n }\n nextTick(() => {\n editor.value = new Cherry({\n id: 'cherry',\n value: currentVal.value,\n theme: theme.value,\n fileUpload,\n emoji: {\n useUnicode: true,\n },\n header: {\n anchorStyle: 'autonumber',\n },\n editor: {\n // 编辑器的高度,默认100%,如果挂载点存在内联设置的height则以内联样式为主\n height: '100%',\n // defaultModel 编辑器初始化后的默认模式,一共有三种模式:1、双栏编辑预览模式;2、纯编辑模式;3、预览模式\n // edit&preview: 双栏编辑预览模式\n // editOnly: 纯编辑模式(没有预览,可通过toolbar切换成双栏或预览模式)\n // previewOnly: 预览模式(没有编辑框,toolbar只显示“返回编辑”按钮,可通过toolbar切换成编辑模式)\n defaultModel: defaultModel.value,\n },\n toolbars: {\n toolbar: [\n 'bold',\n 'italic',\n 'underline',\n 'strikethrough',\n '|',\n 'color',\n 'header',\n '|',\n 'list',\n 'image',\n {\n insert: [\n 'link',\n 'hr',\n 'br',\n 'code',\n 'formula',\n 'toc',\n 'table',\n 'line-table',\n 'bar-table',\n ],\n },\n 'settings',\n 'togglePreview',\n ],\n bubble: [\n 'bold',\n 'italic',\n 'underline',\n 'strikethrough',\n 'sub',\n 'sup',\n '|',\n 'size',\n 'color',\n ],\n float: [\n 'h1',\n 'h2',\n 'h3',\n '|',\n 'checklist',\n 'quote',\n 'quickTable',\n 'code',\n ],\n customMenu: [],\n sidebar: [],\n },\n callback: {\n afterChange,\n beforeImageMounted,\n },\n });\n });\n };\n\n watch(\n () => UIStore.theme,\n newVal => {\n theme.value = newVal;\n editor.value?.setTheme(theme.value);\n },\n );\n\n onMounted(() => {\n editorInit();\n });\n\n onUnmounted(() => {\n editor.value = null;\n });\n\n return {\n ns,\n currentVal,\n markDownBox,\n headers,\n theme,\n defaultModel,\n getCherryHtml,\n getCherryContent,\n setCherryContent,\n };\n },\n render() {\n return (\n <div\n ref='markDownBox'\n class={[this.ns.b(), this.ns.is('disabled', this.disabled)]}\n id='cherry'\n ></div>\n );\n },\n});\n\nexport default IBizMarkDown;\n"],"names":["IBizMarkDown","exports","defineComponent","name","props","getMarkDownProps","emits","getEditorEmits","setup","emit","ns","useNamespace","c","controller","currentVal","ref","editor","getCookie","CoreConst","headers","Authorization","downloadUrl","UIStore","useUIStore","defaultModel","watch","urls","newVal","uploadUrl","fileUpload","file","callback","formData","immediate","res","deep","url","error","getCherryHtml","FormData","_a","method","getCherryContent","data","val","oldVal","result","_e","setCherryContent","editorInit","value","nextTick","Cherry","theme","afterChange","emoji","useUnicode","header","anchorStyle","height","toolbars","insert","bubble","float","customMenu","sidebar","beforeImageMounted","_createVNode","onMounted","onUnmounted"],"mappings":"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"}
@@ -1 +1 @@
1
- .ibiz-action-toolbar{--ibiz-action-toolbar-item-margin:0 0 0 4px;--ibiz-action-toolbar-separator-height:20px;--ibiz-action-toolbar-separator-width:2px;--ibiz-action-toolbar-separator-color:var(--ibiz-border-color-darker)}.ibiz-action-toolbar__item+.ibiz-action-toolbar__item{margin:var(--ibiz-action-toolbar-item-margin)}.ibiz-action-toolbar__separator{display:inline-block;width:var(--ibiz-action-toolbar-separator-width);height:var(--ibiz-action-toolbar-separator-height);vertical-align:middle;background-color:var(--ibiz-action-toolbar-separator-color)}.ibiz-action-toolbar__separator:first-child{display:none}.ibiz-action-toolbar--dropdown .ibiz-action-toolbar__caption{cursor:pointer}.ibiz-action-toolbar--dropdown .ibiz-action-toolbar__caption-icon{vertical-align:bottom}.ibiz-view-shell{position:relative;width:100%;height:100%}.ibiz-col--flex{min-width:0;min-height:0}.ibiz-col.is-hidden{display:none}.ibiz-spacing-top--outersmall{margin-top:var(--ibiz-spacing-tight)}.ibiz-spacing-top--outermedium{margin-top:var(--ibiz-spacing-base)}.ibiz-spacing-top--outerlarge{margin-top:var(--ibiz-spacing-loose)}.ibiz-spacing-top--outernone{margin-top:var(--ibiz-spacing-none)}.ibiz-spacing-top--innersmall{padding-top:var(--ibiz-spacing-tight)}.ibiz-spacing-top--innermedium{padding-top:var(--ibiz-spacing-base)}.ibiz-spacing-top--innerlarge{padding-top:var(--ibiz-spacing-loose)}.ibiz-spacing-top--innernone{padding-top:var(--ibiz-spacing-none)}.ibiz-spacing-bottom--outersmall{margin-bottom:var(--ibiz-spacing-tight)}.ibiz-spacing-bottom--outermedium{margin-bottom:var(--ibiz-spacing-base)}.ibiz-spacing-bottom--outerlarge{margin-bottom:var(--ibiz-spacing-loose)}.ibiz-spacing-bottom--outernone{margin-bottom:var(--ibiz-spacing-none)}.ibiz-spacing-bottom--innersmall{padding-bottom:var(--ibiz-spacing-tight)}.ibiz-spacing-bottom--innermedium{padding-bottom:var(--ibiz-spacing-base)}.ibiz-spacing-bottom--innerlarge{padding-bottom:var(--ibiz-spacing-loose)}.ibiz-spacing-bottom--innernone{padding-bottom:var(--ibiz-spacing-none)}.ibiz-spacing-left--outersmall{margin-left:var(--ibiz-spacing-tight)}.ibiz-spacing-left--outermedium{margin-left:var(--ibiz-spacing-base)}.ibiz-spacing-left--outerlarge{margin-left:var(--ibiz-spacing-loose)}.ibiz-spacing-left--outernone{margin-left:var(--ibiz-spacing-none)}.ibiz-spacing-left--innersmall{padding-left:var(--ibiz-spacing-tight)}.ibiz-spacing-left--innermedium{padding-left:var(--ibiz-spacing-base)}.ibiz-spacing-left--innerlarge{padding-left:var(--ibiz-spacing-loose)}.ibiz-spacing-left--innernone{padding-left:var(--ibiz-spacing-none)}.ibiz-spacing-right--outersmall{margin-right:var(--ibiz-spacing-tight)}.ibiz-spacing-right--outermedium{margin-right:var(--ibiz-spacing-base)}.ibiz-spacing-right--outerlarge{margin-right:var(--ibiz-spacing-loose)}.ibiz-spacing-right--outernone{margin-right:var(--ibiz-spacing-none)}.ibiz-spacing-right--innersmall{padding-right:var(--ibiz-spacing-tight)}.ibiz-spacing-right--innermedium{padding-right:var(--ibiz-spacing-base)}.ibiz-spacing-right--innerlarge{padding-right:var(--ibiz-spacing-loose)}.ibiz-spacing-right--innernone{padding-right:var(--ibiz-spacing-none)}.ibiz-row--flex{display:flex;flex-flow:column nowrap}.ibiz-rawitem{width:100%;height:100%}.ibiz-control-shell{position:relative;width:100%;height:100%}.ibiz-code-list__item{color:var(--ibiz-code-list-item-color)}.ibiz-no-data{width:100%;height:100%}.ibiz-404-view{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.ibiz-404-view-text__text1{margin-bottom:20px}.ibiz-404-view.is-top{width:100vw;height:100vh}.ibiz-login-view{display:flex;align-items:center;justify-content:center;width:100vw;height:100vh;background:linear-gradient(120deg, #a1c4fd 0%, #c2e9fb 100%);--el-color-primary: #409eff}.ibiz-login-view .el-input{--el-input-text-color: #606266;--el-input-border-color: #dcdfe6;--el-input-hover-border-color: #c0c4cc;--el-input-icon-color: #a8abb2}.ibiz-login-view .el-button--primary{--el-button-text-color: var(--el-color-white);--el-button-bg-color: var(--el-color-primary);--el-button-border-color: var(--el-color-primary);--el-button-outline-color: var(--el-color-primary-light-5);--el-button-active-color: var(--el-color-primary-dark-2);--el-button-hover-text-color: var(--el-color-white);--el-button-hover-link-text-color: var(--el-color-primary-light-5);--el-button-hover-bg-color: var(--el-color-primary-light-3);--el-button-hover-border-color: var(--el-color-primary-light-3);--el-button-active-bg-color: var(--el-color-primary-dark-2);--el-button-active-border-color: var(--el-color-primary-dark-2);--el-button-disabled-text-color: var(--el-color-white);--el-button-disabled-bg-color: var(--el-color-primary-light-5);--el-button-disabled-border-color: var(--el-color-primary-light-5)}.ibiz-login-view-box{width:430px;margin-bottom:80px;overflow:hidden;background:#fff}@media screen and (width <= 720px){.ibiz-login-view-box{width:340px;margin-top:0}}.ibiz-login-view-box-header{background:#ccf}.ibiz-login-view-box-header>img{display:block;width:430px;margin:0 auto;user-select:none}.ibiz-login-view-box-main{position:relative}.ibiz-login-view-box-main__avatar{position:absolute;top:-50px;right:calc(50% - 50px);z-index:2;display:block;width:100px;height:100px;user-select:none;border:4px solid #fff;border-radius:50%}.ibiz-login-view-box-main-content{padding:100px 40px 40px}.ibiz-login-view-box-main-content .el-input__inner:-webkit-autofill{box-shadow:0 0 0 1000px #fff inset;-webkit-text-fill-color:#606266}.ibiz-login-view-box-main-content .el-button{width:100%;margin-top:15px;font-weight:300;letter-spacing:2px}.ibiz-login-view-box-main-content .el-input__prefix{width:20px;margin-left:-1px}.ibiz-login-view-box-main-content ion-icon{font-size:16px}.ibiz-not-supported-editor{color:var(--ibiz-color-danger)}:root{--mx-menu-backgroud:#fff;--mx-menu-hover-backgroud:#f1f1f1;--mx-menu-active-backgroud:#dfdfdf;--mx-menu-open-backgroud:#f1f1f1;--mx-menu-open-hover-backgroud:#f1f1f1;--mx-menu-divider:#f0f0f0;--mx-menu-text:#2e2e2e;--mx-menu-hover-text:#2e2e2e;--mx-menu-active-text:#2e2e2e;--mx-menu-open-text:#2e2e2e;--mx-menu-open-hover-text:#2e2e2e;--mx-menu-disabled-text:#c9c8c8;--mx-menu-icon-size:16px;--mx-menu-shadow-color:rgba(0,0,0,.1);--mx-menu-backgroud-radius:10px;--mx-menu-shortcut-backgroud:#ebebeb;--mx-menu-shortcut-backgroud-hover:#ebebeb;--mx-menu-shortcut-backgroud-active:#ebebeb;--mx-menu-shortcut-backgroud-open:#ebebeb;--mx-menu-shortcut-backgroud-disabled:#fdfdfd;--mx-menu-shortcut-text:#424242;--mx-menu-shortcut-text-hover:#424242;--mx-menu-shortcut-text-active:#424242;--mx-menu-shortcut-text-open:#424242;--mx-menu-shortcut-text-disabled:#a5a5a5;--mx-menu-focus-color:#0085f1;--mx-menu-placeholder-width:24px}.mx-context-menu{pointer-events:all;display:inline-block;overflow:visible;position:absolute;background-color:var(--mx-menu-backgroud);border-radius:var(--mx-menu-backgroud-radius);padding:12px 0;box-shadow:0 10px 40px 10px var(--mx-menu-shadow-color);opacity:1;transition:opacity .2s ease-in-out}.mx-context-menu-items{position:relative;overflow:visible}.mx-context-menu-scroll{position:absolute;top:0;left:0;right:0;bottom:1px;pointer-events:none}.mx-context-menu-updown{pointer-events:all;position:absolute;left:0;right:0;height:15px;border-radius:10px;background-color:var(--mx-menu-backgroud);-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer}.mx-context-menu-updown:hover{background-color:var(--mx-menu-hover-backgroud)}.mx-context-menu-updown:active{background-color:var(--mx-menu-active-backgroud)}.mx-context-menu-updown.up{top:0}.mx-context-menu-updown.up .mx-right-arrow{transform:translateX(-50%) rotate(270deg)}.mx-context-menu-updown.down{bottom:-1px}.mx-context-menu-updown.down .mx-right-arrow{transform:translateX(-50%) rotate(90deg)}.mx-context-menu-updown .mx-right-arrow{display:inline-block;position:absolute;height:12px;left:50%;top:0;padding:0}.mx-context-menu-item{display:flex;flex-direction:row;justify-content:space-between;align-items:center;position:relative;padding:6px 15px;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:visible;white-space:nowrap;text-overflow:ellipsis;color:var(--mx-menu-text)}.mx-context-menu-item .mx-checked-mark,.mx-context-menu-item .mx-right-arrow{fill:var(--mx-menu-text)}.mx-context-menu-item:hover{background-color:var(--mx-menu-hover-backgroud);color:var(--mx-menu-hover-text)}.mx-context-menu-item:hover .mx-checked-mark,.mx-context-menu-item:hover .mx-right-arrow{fill:var(--mx-menu-hover-text)}.mx-context-menu-item:hover .mx-shortcut{background-color:var(--mx-menu-shortcut-backgroud-hover);color:var(--mx-menu-shortcut-text-hover)}.mx-context-menu-item:active{background-color:var(--mx-menu-active-backgroud);color:var(--mx-menu-active-text)}.mx-context-menu-item:active .mx-checked-mark,.mx-context-menu-item:active .mx-right-arrow{fill:var(--mx-menu-active-text)}.mx-context-menu-item:active .mx-shortcut{background-color:var(--mx-menu-shortcut-backgroud-active);color:var(--mx-menu-shortcut-text-active)}.mx-context-menu-item.open{background-color:var(--mx-menu-open-backgroud);color:var(--mx-menu-open-text)}.mx-context-menu-item.open:hover{background-color:var(--mx-menu-open-hover-backgroud);color:var(--mx-menu-open-hover-text)}.mx-context-menu-item.open .mx-checked-mark,.mx-context-menu-item.open .mx-right-arrow{fill:var(--mx-menu-open-text)}.mx-context-menu-item.open .mx-shortcut{background-color:var(--mx-menu-shortcut-backgroud-open);color:var(--mx-menu-shortcut-text-open)}.mx-context-menu-item.keyboard-focus{background-color:var(--mx-menu-active-backgroud);outline:2px solid var(--mx-menu-focus-color)}.mx-context-menu-item.disabled{color:var(--mx-menu-disabled-text);cursor:not-allowed}.mx-context-menu-item.disabled:active,.mx-context-menu-item.disabled:hover{background-color:rgba(0,0,0,0)}.mx-context-menu-item.disabled .mx-checked-mark,.mx-context-menu-item.disabled .mx-right-arrow{fill:var(--mx-menu-disabled-text)}.mx-context-menu-item.disabled .mx-shortcut{background-color:var(--mx-menu-shortcut-backgroud-disabled);color:var(--mx-menu-shortcut-text-second)}.mx-context-menu-item .mx-item-row{display:flex;flex-direction:row;align-items:center;max-width:100%}.mx-context-menu-item .mx-icon-placeholder{position:relative;display:flex;flex-direction:row;align-items:center;height:auto;overflow:hidden}.mx-context-menu-item .mx-icon-placeholder.preserve-width{width:var(--mx-menu-placeholder-width)}.mx-context-menu-item .icon{display:inline-block;font-size:var(--mx-menu-icon-size)}.mx-context-menu-item .icon.svg{width:var(--mx-menu-icon-size);height:var(--mx-menu-icon-size)}.mx-context-menu-item .label{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:16px}.mx-context-menu-item-wrapper{position:relative}.mx-context-menu-item-sperator{display:block;padding:5px 0;background-color:var(--mx-menu-backgroud)}.mx-context-menu-item-sperator:after{display:block;content:"";background-color:var(--mx-menu-divider);height:1px}.mx-right-arrow{width:14px;height:14px}.mx-checked-mark{width:var(--mx-menu-icon-size);height:var(--mx-menu-icon-size)}.mx-shortcut{position:relative;justify-self:flex-end;font-size:11.5px;padding:2px 4px;background-color:var(--mx-menu-shortcut-backgroud);color:var(--mx-menu-shortcut-text)}.mx-context-menu.dark,.mx-menu-bar.dark{--mx-menu-backgroud:#303031;--mx-menu-hover-backgroud:#636363;--mx-menu-active-backgroud:#555;--mx-menu-open-backgroud:#636363;--mx-menu-open-hover-backgroud:#636363;--mx-menu-divider:#464646;--mx-menu-text:#fff;--mx-menu-hover-text:#fff;--mx-menu-active-text:#fff;--mx-menu-open-text:#fff;--mx-menu-open-hover-text:#fff;--mx-menu-disabled-text:#9c9c9c;--mx-menu-shadow-color:rgba(51,51,51,.2);--mx-menu-shortcut-backgroud:#505050;--mx-menu-shortcut-backgroud-hover:#505050;--mx-menu-shortcut-backgroud-active:#505050;--mx-menu-shortcut-backgroud-open:#505050;--mx-menu-shortcut-backgroud-disabled:#444;--mx-menu-shortcut-text:#f1f1f1;--mx-menu-shortcut-text-hover:#fff;--mx-menu-shortcut-text-active:#fff;--mx-menu-shortcut-text-open:#fff;--mx-menu-shortcut-text-disabled:#9d9d9d}.mx-context-menu.flat,.mx-menu-bar.flat{border-radius:0;padding:7px 0;box-shadow:0 1px 2px 1px var(--mx-menu-shadow-color)}.mx-context-menu.flat .mx-context-menu-item,.mx-menu-bar.flat .mx-context-menu-item{padding:3px 12px}.mx-context-menu.win10,.mx-menu-bar.win10{border-radius:0;padding:8px 0;border:1px solid var(--mx-menu-border-color);box-shadow:2px 2px 1px 0 var(--mx-menu-shadow-color);--mx-menu-backgroud:#eee;--mx-menu-hover-backgroud:#d8d8d8;--mx-menu-active-backgroud:#dfdfdf;--mx-menu-open-backgroud:#f1f1f1;--mx-menu-open-hover-backgroud:#d8d8d8;--mx-menu-divider:#aaa;--mx-menu-border-color:#b1b1b1;--mx-menu-shortcut-backgroud:transparent;--mx-menu-shortcut-backgroud-hover:transparent;--mx-menu-shortcut-backgroud-active:transparent;--mx-menu-shortcut-backgroud-open:transparent;--mx-menu-shortcut-backgroud-disabled:transparent;--mx-menu-shortcut-text:#272727;--mx-menu-shortcut-text-hover:#272727;--mx-menu-shortcut-text-active:#272727;--mx-menu-shortcut-text-open:#272727;--mx-menu-shortcut-text-disabled:#6b6b6b}.mx-context-menu.win10 .mx-context-menu-item,.mx-menu-bar.win10 .mx-context-menu-item{padding:2px 4px;margin:0 4px}.mx-context-menu.win10 .mx-context-menu-item-sperator,.mx-menu-bar.win10 .mx-context-menu-item-sperator{margin:0 4px}.mx-context-menu.win10.dark,.mx-menu-bar.win10.dark{--mx-menu-backgroud:#303031;--mx-menu-hover-backgroud:#636363;--mx-menu-active-backgroud:#555;--mx-menu-open-backgroud:#636363;--mx-menu-open-hover-backgroud:#636363;--mx-menu-divider:grey;--mx-menu-border-color:#656565;--mx-menu-shortcut-backgroud:#505050;--mx-menu-shortcut-backgroud-hover:#505050;--mx-menu-shortcut-backgroud-active:#505050;--mx-menu-shortcut-backgroud-open:#505050;--mx-menu-shortcut-backgroud-disabled:#444;--mx-menu-shortcut-text:#f1f1f1;--mx-menu-shortcut-text-hover:#fff;--mx-menu-shortcut-text-active:#fff;--mx-menu-shortcut-text-open:#fff;--mx-menu-shortcut-text-disabled:#9d9d9d;padding:8px 0}.mx-context-menu.win10.dark .mx-context-menu-item,.mx-menu-bar.win10.dark .mx-context-menu-item{padding:6px 12px;margin:0}.mx-context-menu.win10.dark .mx-context-menu-item-sperator,.mx-menu-bar.win10.dark .mx-context-menu-item-sperator{margin:0 7px}.mx-context-menu.mac,.mx-menu-bar.mac{padding:8px 0;box-shadow:0 5px 7px 1px var(--mx-menu-shadow-color);border:1px solid var(--mx-menu-border-color);--mx-menu-backgroud:#ececec;--mx-menu-hover-backgroud:#0165e1;--mx-menu-active-backgroud:#0165e1;--mx-menu-open-backgroud:#858585;--mx-menu-open-hover-backgroud:#0165e1;--mx-menu-divider:#d2d2d2;--mx-menu-text:#232323;--mx-menu-hover-text:#fff;--mx-menu-active-text:#fff;--mx-menu-open-text:#fff;--mx-menu-open-hover-text:#fff;--mx-menu-disabled-text:#bbb;--mx-menu-shadow-color:rgba(0,0,0,.1);--mx-menu-backgroud-radius:10px;--mx-menu-shortcut-backgroud:transparent;--mx-menu-shortcut-backgroud-hover:transparent;--mx-menu-shortcut-backgroud-active:transparent;--mx-menu-shortcut-backgroud-open:transparent;--mx-menu-shortcut-backgroud-disabled:transparent;--mx-menu-shortcut-text:#424242;--mx-menu-shortcut-text-hover:#fff;--mx-menu-shortcut-text-active:#fff;--mx-menu-shortcut-text-open:#fff;--mx-menu-shortcut-text-disabled:#a5a5a5;--mx-menu-focus-color:transparent;--mx-menu-border-color:#bbb}.mx-context-menu.mac.dark,.mx-menu-bar.mac.dark{--mx-menu-backgroud:#333;--mx-menu-hover-backgroud:#0153d2;--mx-menu-active-backgroud:#0153d2;--mx-menu-open-hover-backgroud:#0153d2;--mx-menu-open-backgroud:#414346;--mx-menu-divider:#575757;--mx-menu-text:#dcdcdc;--mx-menu-hover-text:#fff;--mx-menu-active-text:#fff;--mx-menu-open-text:#fff;--mx-menu-open-hover-text:#fff;--mx-menu-disabled-text:#6a6a6a;--mx-menu-shadow-color:rgba(0,0,0,.1);--mx-menu-backgroud-radius:10px;--mx-menu-shortcut-backgroud:transparent;--mx-menu-shortcut-backgroud-hover:transparent;--mx-menu-shortcut-backgroud-active:transparent;--mx-menu-shortcut-backgroud-open:transparent;--mx-menu-shortcut-backgroud-disabled:transparent;--mx-menu-shortcut-text:#dadada;--mx-menu-shortcut-text-hover:#fff;--mx-menu-shortcut-text-active:#fff;--mx-menu-shortcut-text-open:#fff;--mx-menu-shortcut-text-disabled:#6a6a6a;--mx-menu-focus-color:transparent;--mx-menu-border-color:#222}.mx-context-menu.mac .mx-context-menu-item,.mx-menu-bar.mac .mx-context-menu-item{border-radius:5px;margin:0 6px;padding:3px 6px}.mx-context-menu.mac .mx-context-menu-item.keyboard-focus,.mx-menu-bar.mac .mx-context-menu-item.keyboard-focus{background-color:var(--mx-menu-active-backgroud);color:var(--mx-menu-active-text);outline:none}.mx-context-menu.mac .mx-context-menu-item.keyboard-focus .mx-checked-mark,.mx-context-menu.mac .mx-context-menu-item.keyboard-focus .mx-right-arrow,.mx-menu-bar.mac .mx-context-menu-item.keyboard-focus .mx-checked-mark,.mx-menu-bar.mac .mx-context-menu-item.keyboard-focus .mx-right-arrow{fill:var(--mx-menu-active-text)}.mx-context-menu.mac .mx-context-menu-item.keyboard-focus .mx-shortcut,.mx-menu-bar.mac .mx-context-menu-item.keyboard-focus .mx-shortcut{background-color:var(--mx-menu-shortcut-backgroud-active);color:var(--mx-menu-shortcut-text-active)}.mx-context-menu.mac .mx-context-menu-item-sperator,.mx-menu-bar.mac .mx-context-menu-item-sperator{margin:0 12px}.mx-menu-ghost-host{position:absolute;left:0;bottom:0;right:0;top:0;overflow:hidden;pointer-events:none}.mx-menu-ghost-host.fullscreen{position:fixed}.mx-menu-bar{flex:1;display:flex;flex-direction:row;align-items:center;background-color:var(--mx-menu-backgroud);padding:5px 0}.mx-menu-bar.mini{flex-grow:0}.mx-menu-bar .mx-menu-bar-content{display:flex;flex-direction:row;align-items:center}.mx-menu-bar .mx-menu-bar-item{padding:2px 8px;border-radius:5px;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:var(--mx-menu-backgroud);color:var(--mx-menu-text)}.mx-menu-bar .mx-menu-bar-item:hover{background-color:var(--mx-menu-hover-backgroud);color:var(--mx-menu-hover-text)}.mx-menu-bar .mx-menu-bar-item:hover .mx-menu-bar-icon-menu{fill:var(--mx-menu-hover-text)}.mx-menu-bar .mx-menu-bar-item.active,.mx-menu-bar .mx-menu-bar-item:active{background-color:var(--mx-menu-active-backgroud);color:var(--mx-menu-active-text)}.mx-menu-bar .mx-menu-bar-item.active .mx-menu-bar-icon-menu,.mx-menu-bar .mx-menu-bar-item:active .mx-menu-bar-icon-menu{fill:var(--mx-menu-active-text)}.mx-menu-bar .mx-menu-bar-icon-menu{fill:var(--mx-menu-text);width:var(--mx-menu-icon-size);height:var(--mx-menu-icon-size)}.mx-menu-bar.flat .mx-menu-bar-item{border-radius:0}.ibiz-markdown .cherry-preview--full{border-left:none}.ibiz-markdown .theme__light,.ibiz-markdown .theme__dark{color:var(--ibiz-color-text-0)}.ibiz-markdown .cherry-markdown h1 a::before,.ibiz-markdown .cherry-markdown h2 a::before,.ibiz-markdown .cherry-markdown h3 a::before,.ibiz-markdown .cherry-markdown h4 a::before,.ibiz-markdown .cherry-markdown h5 a::before,.ibiz-markdown .cherry-markdown h6 a::before{display:none}.ibiz-html{display:inline-block;width:100%;--w-e-textarea-bg-color: var(--ibiz-color-bg-1);--w-e-textarea-color: var(--ibiz-color-text-0);--w-e-textarea-border-color: var(--ibiz-color-border);--w-e-textarea-slight-border-color: var(--ibiz-color-border);--w-e-textarea-slight-color: var(--ibiz-color-text-1);--w-e-textarea-slight-bg-color: var(--ibiz-color-bg-1);--w-e-textarea-selected-border-color: var(--ibiz-color-border);--w-e-textarea-handler-bg-color: var(--ibiz-color-primary);--w-e-toolbar-color: var(--ibiz-color-text-0);--w-e-toolbar-bg-color: var(--ibiz-color-bg-1);--w-e-toolbar-active-color: var(--ibiz-color-text-0);--w-e-toolbar-active-bg-color: var(--ibiz-color-bg-1);--w-e-toolbar-disabled-color: var(--ibiz-color-disabled-text);--w-e-toolbar-border-color: var(--ibiz-color-border);--w-e-modal-button-bg-color: var(--ibiz-color-bg-1);--w-e-modal-button-border-color: var(--ibiz-color-border)}.ibiz-html .w-e-menu-tooltip-v5::before{color:var(--ibiz-color-text-0);background-color:var(--w-e-toolbar-bg-color)}.ibiz-html .w-e-full-screen-container{z-index:9999}.ibiz-control-appmenu-iconview{--ibiz-control-appmenu-iconview-icon-width:20px;--ibiz-control-appmenu-iconview-icon-height:20px;--ibiz-control-appmenu-iconview-icon-margin:0 5px 0 0;--ibiz-control-appmenu-iconview-selected-color:var(--ibiz-color-primary);--ibiz-control-appmenu-iconview-selected-bg-color:var(--ibiz-color-primary-light-9);--ibiz-control-appmenu-iconview-selected-border-color:var(--ibiz-color-primary);--ibiz-control-appmenu-iconview-hover-color:var(--ibiz-color-primary);--ibiz-control-appmenu-iconview-hover-bg-color:var(--ibiz-color-white);--ibiz-control-appmenu-iconview-hover-border-color:var(--ibiz-color-primary);--ibiz-control-appmenu-iconview-disabled-color:var(--ibiz-disabled-text-color);--ibiz-control-appmenu-iconview-disabled-bg-color:var(--ibiz-disabled-bg-color);--ibiz-control-appmenu-iconview-disabled-border-color:var(--ibiz-disabled-border-color);--ibiz-control-appmenu-iconview-padding:var(--ibiz-padding);--ibiz-control-appmenu-iconview-font-size:var(--ibiz-font-size-base);--ibiz-control-appmenu-iconview-color:var(--ibiz-text-color)}.ibiz-control-appmenu-iconview__content{width:100%;height:100%}.ibiz-control-appmenu-iconview-item{display:flex;flex-direction:column;flex-shrink:0;align-items:center;justify-content:center;width:135px;height:135px;margin:15px;font:var(--ibiz-control-appmenu-iconview-font-size);color:var(--ibiz-control-appmenu-iconview-color);cursor:pointer;border:1px solid var(--ibiz-border-color)}.ibiz-control-appmenu-iconview-item__icon{width:50px;height:50px;margin-bottom:5px;font-size:50px}.ibiz-control-appmenu-iconview-item:hover{color:var(--ibiz-control-appmenu-iconview-hover-color);background-color:var(--ibiz-control-appmenu-iconview-hover-bg-color);border-color:var(--ibiz-control-appmenu-iconview-hover-border-color)}.ibiz-control-appmenu-iconview-item.is-disabled{color:var(--ibiz-control-appmenu-iconview-disabled-color);cursor:not-allowed;background-color:var(--ibiz-control-appmenu-iconview-disabled-bg-color);border-color:var(--ibiz-control-appmenu-iconview-disabled-border-color)}.ibiz-control-appmenu-iconview-group .el-collapse-item__content{display:flex;flex-wrap:wrap}.ibiz-control-captionbar{--ibiz-control-captionbar-color:var(--ibiz-color-text-0);--ibiz-control-captionbar-font-size:var(--ibiz-font-size-header-4);--ibiz-control-captionbar-font-weight:var(--ibiz-font-weight-bold);position:relative;height:100%;padding:0 var(--ibiz-spacing-base)}.ibiz-control-captionbar .ibiz-control-captionbar-caption{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:relative;height:100%;padding-left:var(--ibiz-spacing-base);font-size:var(--ibiz-control-captionbar-font-size);font-weight:var(--ibiz-control-captionbar-font-weight);color:var(--ibiz-control-captionbar-color);display:flex;align-items:center;justify-content:flex-start}.ibiz-control-captionbar .ibiz-control-captionbar-caption::before{position:absolute;top:50%;left:0;width:4px;height:20px;content:"";background-color:var(--ibiz-color-primary);border-radius:2px;transform:translateY(-50%)}.ibiz-view:not(.ibiz-view-appindexview) .ibiz-view .ibiz-view .ibiz-control-captionbar-caption{--ibiz-control-captionbar-font-size:var(--ibiz-font-size-header-5);--ibiz-control-captionbar-font-weight:var(--ibiz-font-weight-regular)}.ibiz-view:not(.ibiz-view-appindexview) .ibiz-view .ibiz-view .ibiz-control-captionbar-caption::before{content:none}.ibiz-control-appmenu{position:static;width:100%;height:100%;overflow-y:auto;--ibiz-control-appmenu-collapse-item-hover-color:var(--ibiz-color-primary);--ibiz-control-appmenu-collapse-item-padding:var(--ibiz-spacing-base);--ibiz-control-appmenu-icon-width:var(--ibiz-width-icon-extra-large);--ibiz-control-appmenu-icon-height:var(--ibiz-width-icon-extra-large);--ibiz-control-appmenu-icon-margin:0 10px 0 0;--ibiz-control-appmenu-item-selected-color:var(--ibiz-color-text-1);--ibiz-control-appmenu-item-selected-bg-color:var(--ibiz-color-primary-active);--ibiz-control-appmenu-item-hover-color:var(--ibiz-color-text-0);--ibiz-control-appmenu-item-hover-bg-color:var(--ibiz-color-primary-hover);--ibiz-control-appmenu-item-padding:var(--ibiz-spacing-base);--ibiz-control-appmenu-item-font-size:var(--ibiz-font-size-header-5);--ibiz-control-appmenu-item-height:52px;--ibiz-control-appmenu-item-color:var(--ibiz-color-text-0);--ibiz-control-appmenu-item-horizontal-selected-color:var(--ibiz-color-text-1);--ibiz-control-appmenu-item-horizontal-selected-bg-color:var(--ibiz-color-primary-active);--ibiz-control-appmenu-item-horizontal-hover-color:var(--ibiz-color-text-0);--ibiz-control-appmenu-item-horizontal-hover-bg-color:var(--ibiz-color-primary-hover);--ibiz-control-appmenu-item-horizontal-color:var(--ibiz-color-text-0);--ibiz-control-appmenu-item-horizontal-font-size:var(--ibiz-font-size-header-5);--ibiz-control-appmenu-item-horizontal-height:40px;--ibiz-control-appmenu-item-horizontal-border-radius:var(--ibiz-border-radius-medium);--ibiz-control-appmenu-item-horizontal-padding:var(--ibiz-spacing-base)}.ibiz-control-appmenu .el-menu--vertical{width:100%}.ibiz-control-appmenu .el-menu--vertical .el-menu-item,.ibiz-control-appmenu .el-menu--vertical .el-sub-menu__title{display:flex;align-items:center;justify-content:flex-start;width:100%;height:var(--ibiz-control-appmenu-item-height);font-size:var(--ibiz-control-appmenu-item-font-size);color:var(--ibiz-control-appmenu-item-color);white-space:nowrap}.ibiz-control-appmenu .el-menu--vertical .el-menu-item:hover,.ibiz-control-appmenu .el-menu--vertical .el-sub-menu__title:hover{color:var(--ibiz-control-appmenu-item-hover-color);background-color:var(--ibiz-control-appmenu-item-hover-bg-color)}.ibiz-control-appmenu .el-menu--vertical .el-menu-item.is-active,.ibiz-control-appmenu .el-menu--vertical .el-sub-menu__title.is-active{color:var(--ibiz-control-appmenu-item-selected-color);background-color:var(--ibiz-control-appmenu-item-selected-bg-color)}.ibiz-control-appmenu .el-menu--horizontal{gap:16px;align-items:center;height:100%;background-color:rgba(0,0,0,0);border-bottom:none}.ibiz-control-appmenu .el-menu--horizontal .el-menu-item,.ibiz-control-appmenu .el-menu--horizontal .el-sub-menu__title{height:var(--ibiz-control-appmenu-item-horizontal-height);padding:var(--ibiz-control-appmenu-item-horizontal-padding);font-size:var(--ibiz-control-appmenu-item-horizontal-font-size);line-height:initial;color:var(--ibiz-control-appmenu-item-horizontal-color);white-space:nowrap;border:none;border-radius:var(--ibiz-control-appmenu-item-horizontal-border-radius)}.ibiz-control-appmenu .el-menu--horizontal .el-menu-item:hover,.ibiz-control-appmenu .el-menu--horizontal .el-sub-menu__title:hover{color:var(--ibiz-control-appmenu-item-horizontal-hover-color);background-color:var(--ibiz-control-appmenu-item-horizontal-hover-bg-color)}.ibiz-control-appmenu .el-menu--horizontal .el-menu-item.is-active,.ibiz-control-appmenu .el-menu--horizontal .el-sub-menu__title.is-active{color:var(--ibiz-control-appmenu-item-horizontal-selected-color) !important;background-color:var(--ibiz-control-appmenu-item-horizontal-selected-bg-color)}.ibiz-control-appmenu .el-menu--horizontal>.el-sub-menu.is-active .el-sub-menu__title{color:var(--ibiz-control-appmenu-item-horizontal-selected-color);background-color:var(--ibiz-control-appmenu-item-horizontal-selected-bg-color)}.ibiz-control-appmenu .el-menu--horizontal::-webkit-scrollbar-thumb{background-color:var(--ibiz-color-white)}.ibiz-control-appmenu__icon{margin:var(--ibiz-control-appmenu-icon-margin)}.ibiz-control-appmenu.is-collapse .ibiz-control-appmenu__item{display:flex;align-items:center;justify-content:center;padding:calc(var(--ibiz-control-appmenu-collapse-item-padding)*.875) calc(var(--ibiz-control-appmenu-collapse-item-padding)*1.5)}.ibiz-control-appmenu.is-collapse .ibiz-control-appmenu__item:hover{color:var(--ibiz-control-appmenu-collapse-item-hover-color)}.ibiz-control-appmenu.is-collapse .ibiz-control-appmenu-tooltip{width:100%}.ibiz-control-appmenu.is-collapse .ibiz-control-appmenu-submenu{display:block}.ibiz-control-appmenu.is-collapse .ibiz-control-appmenu-submenu>.el-sub-menu__title{display:flex;align-items:center;justify-content:center;display:flex;align-items:center;justify-content:center;padding:calc(var(--ibiz-control-appmenu-collapse-item-padding)*.875) calc(var(--ibiz-control-appmenu-collapse-item-padding)*1.5);white-space:nowrap;cursor:pointer}.ibiz-control-appmenu.is-collapse .ibiz-control-appmenu-submenu>.el-sub-menu__title:hover{color:var(--ibiz-control-appmenu-collapse-item-hover-color)}.ibiz-control-appmenu.is-collapse .ibiz-control-appmenu-submenu .ibiz-control-appmenu-submenu__item{padding:0}.ibiz-control-appmenu .el-menu{border-right:0}.ibiz-control-appmenu .el-sub-menu .el-sub-menu__icon-arrow{right:14px;width:12px}.ibiz-control-appmenu .el-sub-menu .el-menu-item{padding:calc(var(--ibiz-control-appmenu-item-padding)*.875) calc(var(--ibiz-control-appmenu-item-padding)*2.5)}.ibiz-control-appmenu .ibiz-control-appmenu__counter{position:absolute;top:50%;right:5px;height:20px;padding:0 6px;line-height:initial;color:#fff;background-color:#f56c6c;border-radius:10px;transform:translateY(-50%)}.el-menu--popup-container{--ibiz-control-appmenu-collapse-item-hover-color:var(--ibiz-color-primary);--ibiz-control-appmenu-collapse-item-padding:var(--ibiz-spacing-base);--ibiz-control-appmenu-icon-width:var(--ibiz-width-icon-extra-large);--ibiz-control-appmenu-icon-height:var(--ibiz-width-icon-extra-large);--ibiz-control-appmenu-icon-margin:0 10px 0 0;--ibiz-control-appmenu-item-selected-color:var(--ibiz-color-text-1);--ibiz-control-appmenu-item-selected-bg-color:var(--ibiz-color-primary-active);--ibiz-control-appmenu-item-hover-color:var(--ibiz-color-text-0);--ibiz-control-appmenu-item-hover-bg-color:var(--ibiz-color-primary-hover);--ibiz-control-appmenu-item-padding:var(--ibiz-spacing-base);--ibiz-control-appmenu-item-font-size:var(--ibiz-font-size-header-5);--ibiz-control-appmenu-item-height:52px;--ibiz-control-appmenu-item-color:var(--ibiz-color-text-0);--ibiz-control-appmenu-item-horizontal-selected-color:var(--ibiz-color-text-1);--ibiz-control-appmenu-item-horizontal-selected-bg-color:var(--ibiz-color-primary-active);--ibiz-control-appmenu-item-horizontal-hover-color:var(--ibiz-color-text-0);--ibiz-control-appmenu-item-horizontal-hover-bg-color:var(--ibiz-color-primary-hover);--ibiz-control-appmenu-item-horizontal-color:var(--ibiz-color-text-0);--ibiz-control-appmenu-item-horizontal-font-size:var(--ibiz-font-size-header-5);--ibiz-control-appmenu-item-horizontal-height:40px;--ibiz-control-appmenu-item-horizontal-border-radius:var(--ibiz-border-radius-medium);--ibiz-control-appmenu-item-horizontal-padding:var(--ibiz-spacing-base);border:none;box-shadow:var(--ibiz-shadow-elevated)}.el-menu--popup-container .el-menu--popup .el-menu-item,.el-menu--popup-container .el-menu--popup .el-sub-menu__title{display:flex;align-items:center;justify-content:flex-start;width:100%;height:var(--ibiz-control-appmenu-item-height);font-size:var(--ibiz-control-appmenu-item-font-size);color:var(--ibiz-control-appmenu-item-color);white-space:nowrap}.el-menu--popup-container .el-menu--popup .el-menu-item:hover,.el-menu--popup-container .el-menu--popup .el-sub-menu__title:hover{color:var(--ibiz-control-appmenu-item-hover-color);background-color:var(--ibiz-control-appmenu-item-hover-bg-color)}.el-menu--popup-container .el-menu--popup .el-menu-item.is-active,.el-menu--popup-container .el-menu--popup .el-sub-menu__title.is-active{color:var(--ibiz-control-appmenu-item-selected-color);background-color:var(--ibiz-control-appmenu-item-selected-bg-color)}.el-menu--popup-container .el-menu--popup .el-menu-item .el-icon,.el-menu--popup-container .el-menu--popup .el-sub-menu__title .el-icon{display:none}.ibiz-control-toolbar{--ibiz-control-toolbar-item-margin:0 var(--ibiz-spacing-extra-tight);--ibiz-control-toolbar-item-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);--ibiz-control-toolbar-icon-margin:0 var(--ibiz-spacing-extra-tight) 0 0;--ibiz-control-toolbar-icon-max-width:var(--ibiz-width-icon-medium);--ibiz-control-toolbar-icon-max-height:var(--ibiz-width-icon-medium);--ibiz-control-toolbar-separator-color:var(--ibiz-color-fill-2);display:flex}.ibiz-control-toolbar__item{display:flex;align-items:center;margin:var(--ibiz-control-toolbar-item-margin)}.ibiz-control-toolbar__item .el-button{display:flex;align-items:center;justify-content:center;padding:var(--ibiz-control-toolbar-item-padding)}.ibiz-control-toolbar__item .el-button>span{display:flex;align-items:center;justify-content:center;font-size:14px;pointer-events:none}.ibiz-control-toolbar__item .el-button img,.ibiz-control-toolbar__item .el-button i{display:inline-block;max-width:var(--ibiz-control-toolbar-icon-max-width);max-height:var(--ibiz-control-toolbar-icon-max-height);margin:var(--ibiz-control-toolbar-icon-margin)}.ibiz-control-toolbar__item-separator{color:var(--ibiz-control-toolbar-separator-color)}.ibiz-control-toolbar__item-separator+.ibiz-control-toolbar__item-separator,.ibiz-control-toolbar__item-separator:first-child{display:none}.ibiz-control-list-item{--ibiz-control-list-text-color:var(--ibiz-color-text-0);--ibiz-control-list-load-more-color:var(--ibiz-color-text-2);--ibiz-control-list-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-list-active-bg-color:var(--ibiz-color-fill-0);--ibiz-control-list-font-weight:var(--ibiz-font-weight-regular);--ibiz-control-list-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base-tight);min-height:var(--ibiz-control-list-item-height);padding:var(--ibiz-control-list-padding);font-weight:var(--ibiz-control-list-font-weight);color:var(--ibiz-control-list-text-color);cursor:pointer}.ibiz-control-list-item:hover{background-color:var(--ibiz-control-list-hover-bg-color)}.ibiz-control-list-item.is-active{background-color:var(--ibiz-control-list-active-bg-color)}.ibiz-control-list{--ibiz-control-list-text-color:var(--ibiz-color-text-0);--ibiz-control-list-load-more-color:var(--ibiz-color-text-2);--ibiz-control-list-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-list-active-bg-color:var(--ibiz-color-fill-0);--ibiz-control-list-font-weight:var(--ibiz-font-weight-regular);--ibiz-control-list-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base-tight);display:flex;flex-flow:column nowrap;align-items:stretch;justify-content:flex-start;height:100%}.ibiz-control-list__load-more{color:var(--ibiz-control-list-load-more-color);text-align:center;cursor:pointer}.ibiz-control-list .ibiz-control-list-content{flex-grow:1}.ibiz-control-list-scroll{height:100%;overflow:auto}.ibiz-control-treeview-node{display:flex;flex-grow:1;flex-shrink:1;align-items:center;min-width:1px;height:100%;line-height:26px}.ibiz-control-treeview-node__icon{margin-right:var(--ibiz-spacing-tight)}.ibiz-control-treeview-node__label{flex-grow:1;flex-shrink:1;min-width:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-control-treeview-node:hover .ibiz-control-treeview-context-menu-trigger{display:inline-block}.ibiz-control-treeview-context-menu-trigger{display:none;flex-shrink:0;width:30px;text-align:center;cursor:pointer}.ibiz-control-treeview-context-menu-trigger__caption-icon{vertical-align:middle}.ibiz-control-dataview{--ibiz-control-dataview-text-color:var(--ibiz-color-text-0);--ibiz-control-dataview-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-dataview-active-bg-color:var(--ibiz-color-fill-0);width:100%;height:100%}.ibiz-control-dataview-scroll{display:flex;gap:12px;width:100%;height:100%;overflow:auto}.ibiz-control-dataview-item{--ibiz-control-dataview-text-color:var(--ibiz-color-text-0);--ibiz-control-dataview-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-dataview-active-bg-color:var(--ibiz-color-fill-0);color:var(--ibiz-control-dataview-text-color);cursor:pointer}.ibiz-control-dataview-item:hover{background-color:var(--ibiz-control-dataview-hover-bg-color)}.ibiz-control-dataview-item.is-active{background-color:var(--ibiz-control-dataview-active-bg-color)}.ibiz-control-dataview-item-content{--ibiz-control-dataview-text-color:var(--ibiz-color-text-0);--ibiz-control-dataview-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-dataview-active-bg-color:var(--ibiz-color-fill-0)}.ibiz-control-dataview-item-content__top--title{text-align:center}.ibiz-control-dataview-item-content__top--description{min-width:150px;text-align:justify;text-justify:newspaper;word-break:break-all}.ibiz-control-dataview-item-content__bottom--actions{display:flex;justify-content:center}.ibiz-control-dataview-group-content{width:100%;overflow:auto}.ibiz-control-dataview-group-content__item .el-collapse-item__content{display:flex;flex-wrap:wrap}.ibiz-control-dataview-group-content__item--empty{width:100%;text-align:center}.ibiz-control-pickupviewpanel{height:100%}.ibiz-control-tabexppanel .el-tabs.el-tabs--top .el-tabs__header{margin:0}.ibiz-control-tabexppanel .el-tabs.el-tabs--top .el-tabs__header .el-tabs__nav-wrap{margin-bottom:0}.ibiz-control-tabexppanel .el-tabs.el-tabs--top .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__active-bar{background-color:var(--ibiz-color-primary)}.ibiz-control-tabexppanel .el-tabs.el-tabs--top .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item{font-size:var(--ibiz-font-size-regular);color:var(--ibiz-color-text-2)}.ibiz-control-tabexppanel .el-tabs.el-tabs--top .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item:hover{color:var(--ibiz-color-text-0)}.ibiz-control-tabexppanel .el-tabs.el-tabs--top .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item.is-active{color:var(--ibiz-color-primary)}.ibiz-control-tabexppanel .el-tabs.el-tabs--top .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item.is-top:nth-child(2){padding-left:0}.ibiz-control-tabexppanel .el-tabs.el-tabs--top .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item.is-top:last-child{padding-right:0}.ibiz-user-info{--ibiz-user-info-padding:var(--ibiz-spacing-base);--ibiz-user-info-color:var(--ibiz-color-text-0);--ibiz-user-info-font-size:var(--ibiz-font-size-header-4);--ibiz-user-info-hover-color:var(--ibiz-color-text-0);--ibiz-user-info-hover-bg-color:var(--ibiz-color-primary-hover);--ibiz-user-info-border-radius:var(--ibiz-border-radius-medium);display:flex;align-items:center;justify-content:flex-start;width:100%;height:100%}.ibiz-user-info .el-dropdown{padding:calc(var(--ibiz-user-info-padding)/2) var(--ibiz-user-info-padding);cursor:pointer;border-radius:var(--ibiz-user-info-border-radius)}.ibiz-user-info .el-dropdown:hover{color:var(--ibiz-user-info-hover-color);background-color:var(--ibiz-user-info-hover-bg-color)}.ibiz-user-info-avatar{margin-right:10px}.ibiz-user-info-label{display:flex;align-items:center;justify-content:flex-start;font-size:var(--ibiz-user-info-font-size);color:var(--ibiz-user-info-color);outline:none}.ibiz-control-searchbar{--ibiz-control-searchbar-quick-search-width:150px}.ibiz-control-searchbar .ibiz-control-searchbar-quick-search{width:var(--ibiz-control-searchbar-quick-search-width);font-size:14px;color:var(--ibiz-text-color);background:var(--ibiz-color-white);border:1px solid var(--ibiz-border-color);border-radius:4px}.ibiz-control-searchbar .ibiz-control-searchbar-quick-search .el-input__wrapper{padding:0 20px}.ibiz-control-wizardpanel{--ibiz-control-wizard-panel-header-height:60px;--ibiz-control-wizard-panel-footer-height:40px;height:100%}.ibiz-control-wizardpanel__form{height:calc(100% - var(--ibiz-control-wizard-panel-footer-height))}.ibiz-control-wizardpanel.is-header .ibiz-control-wizardpanel__form{height:calc(100% - var(--ibiz-control-wizard-panel-footer-height) - var(--ibiz-control-wizard-panel-header-height))}.ibiz-control-wizardpanel-header{height:var(--ibiz-control-wizard-panel-header-height)}.ibiz-control-wizardpanel-footer{display:flex;align-items:center;justify-content:flex-end;height:var(--ibiz-control-wizard-panel-footer-height);padding-right:var(--ibiz-padding)}.ibiz-nav-tabs{--ibiz-nav-tabs-padding:var(--ibiz-spacing-base-tight);--ibiz-nav-tabs-left-width:100%;--ibiz-nav-tabs-right-width:60px;--ibiz-nav-tabs-item-height:40px;--ibiz-nav-tabs-item-padding:0 var(--ibiz-spacing-base-loose);--ibiz-nav-tabs-item-margin:0 var(--ibiz-spacing-base) 0 0;--ibiz-nav-tabs-item-font-size:var(--ibiz-font-size-regular);--ibiz-nav-tabs-item-font-weight:var(--ibiz-font-weight-regular);--ibiz-nav-tabs-item-border-radius:var(--ibiz-border-radius-medium);--ibiz-nav-tabs-item-bg-color:transparent;--ibiz-nav-tabs-item-color:var(--ibiz-color-text-0);--ibiz-nav-tabs-item-hover-color:var(--ibiz-color-primary-hover);--ibiz-nav-tabs-item-active-color:var(--ibiz-color-primary);display:flex;align-items:center;justify-content:flex-start;position:relative;padding:var(--ibiz-nav-tabs-padding)}.ibiz-nav-tabs__left{display:flex;align-items:center;width:var(--ibiz-nav-tabs-left-width)}.ibiz-nav-tabs__left .el-tabs{width:100%;--el-tabs-header-height: 40px}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav{border:none}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item{display:flex;align-items:center;height:var(--ibiz-nav-tabs-item-height);padding:var(--ibiz-nav-tabs-item-padding);margin:var(--ibiz-nav-tabs-item-margin);overflow:hidden;font-size:var(--ibiz-nav-tabs-item-font-size);font-weight:var(--ibiz-nav-tabs-item-font-weight);color:var(--ibiz-nav-tabs-item-color);vertical-align:middle;background-color:var(--ibiz-nav-tabs-item-bg-color);border:1px solid var(--ibiz-color-border);border-radius:var(--ibiz-nav-tabs-item-border-radius);box-shadow:0 1px 2px 0 var(--ibiz-color-border);opacity:1}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item:hover{padding:var(--ibiz-nav-tabs-item-padding);color:var(--ibiz-nav-tabs-item-hover-color)}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item:hover .is-icon-close{color:var(--ibiz-nav-tabs-item-hover-color)}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item.is-active{padding:var(--ibiz-nav-tabs-item-padding);color:var(--ibiz-color-white);background-color:var(--ibiz-nav-tabs-item-active-color);box-shadow:none}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item.is-active .is-icon-close{color:var(--ibiz-color-white)}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item.is-closable{padding:var(--ibiz-nav-tabs-item-padding)}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item.is-closable.hover{padding:var(--ibiz-nav-tabs-item-padding)}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item .is-icon-close{position:relative;top:1px}.ibiz-nav-tabs__left .el-tabs .el-tabs__header{margin-bottom:0;border-bottom:none}.ibiz-nav-tabs__right{display:none;width:var(--ibiz-nav-tabs-right-width)}.ibiz-nav-pos-index{width:100%;height:100%;overflow:auto}.ibiz-panel-button{--ibiz-panel-button-icon-margin:0 var(--ibiz-spacing-extra-tight) 0 0;--ibiz-panel-button-icon-max-width:var(--ibiz-width-icon-medium);--ibiz-panel-button-icon-max-height:var(--ibiz-width-icon-medium);width:100%;height:100%;overflow:hidden}.ibiz-panel-button img,.ibiz-panel-button i{display:inline-block;max-width:var(--ibiz-panel-button-icon-max-width);max-height:var(--ibiz-panel-button-icon-max-height);margin:var(--ibiz-panel-button-icon-margin)}.ibiz-panel-ctrl-pos{width:100%;height:100%}.ibiz-panel-ctrl-pos.is-hidden{display:none}.ibiz-nav-pos{width:100%;height:100%}.ibiz-panel-container{--ibiz-panel-container-bg-color:var(--ibiz-bg-color-overlay);--ibiz-panel-container-padding:var(--ibiz-padding);width:100%;height:100%}.ibiz-panel-container>.ibiz-row{height:100%;overflow:auto}.ibiz-panel-container.is-hidden{display:none}.ibiz-panel-app-title{--ibiz-panel-app-title-color:var(--ibiz-color-text-0);--ibiz-panel-app-title-font-size:var(--ibiz-font-size-header-2);--ibiz-panel-app-title-font-wight:var(--ibiz-font-weight-bold);display:flex;align-items:center;justify-content:center;height:100%}.ibiz-panel-app-title__title{font-size:var(--ibiz-panel-app-title-font-size);font-weight:bold;color:var(--ibiz-panel-app-title-color)}.ibiz-panel-app-title__logo{padding:0 var(--ibiz-spacing-base);font-size:40px;display:flex;align-items:center;justify-content:center}.ibiz-panel-app-title__logo img{display:inline-block;width:20px;height:20px}.ibiz-panel-view-header{width:auto;height:64px;border-bottom:1px solid var(--ibiz-color-border)}.ibiz-panel-view-header .ibiz-row{height:100%}.ibiz-panel-view-header .ibiz-panel-container--view_header_right{padding:0 var(--ibiz-spacing-base)}.ibiz-panel-rawitem{width:100%;height:100%}.ibiz-panel-rawitem .ibiz-panel-rawitem-content{width:100%}.ibiz-control-chart{width:100%;height:100%}.ibiz-control-chart__chart{width:100%;height:100%}.ibiz-single-data-container{width:100%;height:100%}.ibiz-scroll-container-item{width:100%;height:100%;overflow:auto}.ibiz-scroll-container-item.is-hidden{display:none}.ibiz-scroll-container{width:100%;height:100%;display:flex;flex-flow:column nowrap}.ibiz-scroll-container.is-hidden{display:none}.ibiz-scroll-container-content{flex-grow:1;overflow:auto;display:flex}.ibiz-scroll-container-content__center{flex-grow:1;overflow:auto}.ibiz-scroll-container-content__left{overflow:auto}.ibiz-scroll-container-content__right{overflow:auto}.ibiz-scroll-container-header{overflow:auto}.ibiz-scroll-container-footer{overflow:auto}.ibiz-panel-app-header{--ibiz-panel-app-header-color:var(--ibiz-color-text-0);--ibiz-panel-app-header-bg-color:var(--ibiz-color-primary);--ibiz-panel-app-header-border-color:var(--ibiz-color-border);width:100%;height:100%;color:var(--ibiz-panel-app-header-color);background-color:var(--ibiz-panel-app-header-bg-color);border-bottom:1px solid var(--ibiz-panel-app-header-border-color)}.ibiz-panel-app-header>.ibiz-row{height:100%}.ibiz-grid-container{--ibiz-grid-container-bg-color:var(--ibiz-bg-color-overlay);--ibiz-grid-container-padding:var(--ibiz-padding);width:100%;height:100%;overflow:auto}.ibiz-grid-container.is-hidden{display:none}.ibiz-panel-view-content{width:100%;height:100%;padding:var(--ibiz-spacing-base);overflow:auto}.ibiz-panel-view-content>.ibiz-row{height:100%}.ibiz-view{--ibiz-view-bg-color:var(--ibiz-color-bg-1);--ibiz-view-border-radius:var(--ibiz-border-radius-medium);width:100%;height:100%}.ibiz-view .ibiz-view{background-color:var(--ibiz-view-bg-color);border-radius:var(--ibiz-view-border-radius)}.ibiz-panel-field{width:100%;height:100%}.ibiz-panel-field .ibiz-panel-field-content{line-height:inherit}.ibiz-popover{position:absolute;top:0;left:0;z-index:1;display:none;width:max-content;padding:calc(var(--ibiz-padding)/2);background-color:var(--ibiz-bg-color);border:var(--ibiz-border);border-radius:var(--ibiz-border-radius-base)}.ibiz-popover__arrow{position:absolute;width:8px;height:8px;background:var(--ibiz-bg-color);transform:rotate(45deg)}.ibiz-popover.is-show{display:block}.ibiz-drawer{--ibiz-drawer-z-index:var(--ibiz-z-index-drawer)}.ibiz-drawer .ivu-drawer-mask,.ibiz-drawer .ivu-drawer-wrap{z-index:var(--ibiz-drawer-z-index) !important}.ibiz-drawer .ivu-drawer-content{display:flex;flex-flow:column nowrap;height:100%}.ibiz-drawer .ivu-drawer-content .ivu-drawer-body{padding:0}.ibiz-modal{--ibiz-modal-z-index:var(--ibiz-z-index-modal)}.ibiz-modal.el-dialog{z-index:var(--ibiz-modal-z-index) !important;overflow:auto}.ibiz-modal .el-dialog__header{position:relative;padding:0}.ibiz-modal .el-dialog__body{height:100%;padding:0}.ibiz-modal .el-dialog__headerbtn{top:0;right:-16px;z-index:var(--ibiz-modal-z-index)}.ibiz-span-link{line-height:inherit;color:var(--ibiz-color-link);cursor:pointer}.ibiz-span-link:hover{color:var(--ibiz-color-link-hover)}.ibiz-span-link--disabled{cursor:not-allowed}.ibiz-span-link--readonly{color:var(--ibiz-form-item-readonly-color)}.ibiz-span{display:inline-block;font-size:inherit;line-height:var(--ibiz-editor-default-line-height);color:inherit;white-space:pre-line}.ibiz-span--readonly{color:var(--ibiz-form-item-readonly-color)}.ibiz-autocomplete{width:100%}.ibiz-autocomplete__transfer{width:100%}.ibiz-input{height:100%;font-size:var(--ibiz-font-size-regular);--ibiz-input-min-height:32px;--ibiz-input-readonly-color:var(--ibiz-color-disabled-text);--ibiz-input-placeholder-color:var(--ibiz-color-text-2)}.ibiz-input .el-input .el-input__inner{height:100%}.ibiz-input .el-textarea .el-textarea__inner{height:100%}.ibiz-input .el-textarea .el-textarea__inner::placeholder{word-break:break-word;white-space:pre-wrap}.ibiz-input .ibiz-input-input{height:100%;min-height:var(--ibiz-input-min-height)}.ibiz-input--readonly{line-height:var(--ibiz-input-min-height);color:var(--ibiz-input-readonly-color)}.ibiz-input .el-input__suffix .ibiz-input__unit{font-style:normal}.ibiz-input--readonly{height:auto}.ibiz-checkbox-list__text{font-size:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-text-color)}.ibiz-checkbox-list--readonly{color:var(--ibiz-form-item-readonly-color)}.ibiz-input-number .el-input .el-input__inner{font-size:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-text-color);border-color:var(--ibiz-form-item-border-color)}.ibiz-input-number .el-input .el-input__inner::placeholder{color:var(--ibiz-form-item-placeholder-color)}.ibiz-input-number .el-input.is-disabled .el-input__inner{color:var(--ibiz-form-item-disabled-color);background-color:var(--ibiz-form-item-disabled-bg-color);border-color:var(--ibiz-form-item-disabled-border-color)}.ibiz-input-number--readonly{color:var(--ibiz-form-item-readonly-color);word-break:break-word;white-space:pre-wrap}.ibiz-input-number .ibiz-input-number__unit{margin-left:10px;font-size:var(--ibiz-form-item-font-size);font-style:normal}.ibiz-input-ip{display:flex;flex-wrap:nowrap}.ibiz-input-ip .el-input{margin:0 3px}.ibiz-radio__text{font-size:var(--ibiz-form-item-font-size);color:inherit}.ibiz-radio--readonly{color:var(--ibiz-form-item-readonly-color)}.ibiz-dropdown{width:var(--ibiz-dropdown-width);--ibiz-dropdown-width:100%}.ibiz-dropdown .el-select{width:100%}.ibiz-date-picker .el-date-editor{width:100%}.ibiz-date-picker input{font-size:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-text-color);border-color:var(--ibiz-form-item-border-color)}.ibiz-date-picker input::placeholder{color:var(--ibiz-form-item-placeholder-color)}.ibiz-date-picker input[disabled]{color:var(--ibiz-form-item-disabled-color);background-color:var(--ibiz-form-item-disabled-bg-color);border-color:var(--ibiz-form-item-disabled-border-color)}.ibiz-date-picker--readonly{color:var(--ibiz-form-item-readonly-color)}.ibiz-file-upload .ibiz-file-upload-button span{font-size:var(--ibiz-form-item-font-size)}.ibiz-file-upload .el-upload-list{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:flex-start}.ibiz-file-upload .el-upload-list__item{display:flex;align-items:center;justify-content:flex-start;flex:0 0 auto;color:var(--ibiz-color-tertiary)}.ibiz-file-upload .el-upload-list__item:hover{display:flex;align-items:center;justify-content:flex-start;background:var(--ibiz-form-item-disabled-bg-color)}.ibiz-file-upload .el-upload-list__item:hover span{color:var(--ibiz-color-tertiary)}.ibiz-file-upload--disabled .el-upload-list__item>span{color:var(--ibiz-form-item-disabled-color)}.ibiz-file-upload--readonly .el-upload-list__item>span{color:var(--ibiz-form-item-readonly-color)}.ibiz-image-preview{width:100%;height:100%;overflow:hidden}.ibiz-image-preview>.el-image{width:100%;height:100%}.ibiz-image-upload{--ibiz-image-upload-box-width:120px;--ibiz-image-upload-box-height:120px;--ibiz-image-upload-list-item-margin:5px;--ibiz-image-upload-list-item-bg-color:var(--ibiz-bg-color);--ibiz-image-upload-list-item-border:1px solid var(--ibiz-border-color-light);--ibiz-image-upload-list-item-border-radius:var(--ibiz-border-radius-base);--ibiz-image-upload-list-item-box-shadow:var(--ibiz-box-shadow);--ibiz-image-upload-list-item-cover-bg-color:rgba(0, 0, 0, 0.6);--ibiz-image-upload-list-item-cover-i-color:var(--ibiz-color-white);--ibiz-image-upload-list-item-cover-i-size:var(--ibiz-font-size-extra-large);--ibiz-image-upload-list-item-cover-i-margin:0 2px;display:flex;align-items:center}.ibiz-image-upload .el-upload--picture-card{width:var(--ibiz-image-upload-box-width);height:var(--ibiz-image-upload-box-height)}.ibiz-image-upload__btn{width:var(--ibiz-image-upload-box-width);height:var(--ibiz-image-upload-box-height);line-height:var(--ibiz-image-upload-box-height)}.ibiz-image-upload__list-item{position:relative;display:inline-block;width:var(--ibiz-image-upload-box-width);height:var(--ibiz-image-upload-box-height);margin-right:var(--ibiz-image-upload-list-item-margin);line-height:var(--ibiz-image-upload-box-height);text-align:center;background:var(--ibiz-image-upload-list-item-bg-color);border:var(--ibiz-image-upload-list-item-border);border-radius:var(--ibiz-image-upload-list-item-border-radius);box-shadow:var(--ibiz-image-upload-list-item-box-shadow)}.ibiz-image-upload__list-item img{width:100%;height:100%;vertical-align:top}.ibiz-image-upload__list-item:hover .ibiz-image-upload__list-item-cover{display:block}.ibiz-image-upload__list-item-cover{position:absolute;inset:0;display:none;background:var(--ibiz-image-upload-list-item-cover-bg-color)}.ibiz-image-upload__list-item-cover ion-icon{margin:var(--ibiz-image-upload-list-item-cover-i-margin);font-size:var(--ibiz-image-upload-list-item-cover-i-size);color:var(--ibiz-image-upload-list-item-cover-i-color);cursor:pointer}.ibiz-image-upload__list-item-cover img{width:100%;height:100%;vertical-align:top}.ibiz-image-upload--disabled .ibiz-image-upload__download-icon{display:none}.ibiz-image-upload--disabled .ibiz-image-upload__remove-icon{display:none}.ibiz-image-upload--readonly .ibiz-image-upload__remove-icon{display:none}.ibiz-image-upload-modal__img{width:100%}.ibiz-picker-link{height:100%;line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-color-link);cursor:pointer}.ibiz-picker-link:hover{color:var(--ibiz-color-link-hover)}.ibiz-picker-link--disabled{cursor:not-allowed}.ibiz-picker-link--readonly{color:var(--ibiz-form-item-readonly-color)}.ibiz-picker-link a{display:inline-block;height:100%}.ibiz-list-box{height:100%;overflow:auto}.ibiz-list-box .ibiz-list-box-radio{display:flex;flex-flow:column nowrap;align-items:flex-start;justify-content:flex-start}.ibiz-list-box .ibiz-list-box-radio .el-radio .el-radio__label{font-size:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-text-color)}.ibiz-list-box .ibiz-list-box-checkbox{display:flex;flex-flow:column nowrap;align-items:flex-start;justify-content:flex-start}.ibiz-list-box .ibiz-list-box-checkbox .el-checkbox .el-checkbox__label{font-size:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-text-color)}.ibiz-picker-dropdown .el-select{width:100%}.ibiz-picker-dropdown .el-input .el-input__inner{font-size:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-text-color);border-color:var(--ibiz-form-item-border-color)}.ibiz-picker-dropdown .el-input .el-input__inner::placeholder{color:var(--ibiz-form-item-placeholder-color)}.ibiz-picker-dropdown .el-input.is-disabled .el-input__inner{color:var(--ibiz-form-item-disabled-color);background-color:var(--ibiz-form-item-disabled-bg-color);border-color:var(--ibiz-form-item-disabled-border-color)}.ibiz-picker-dropdown--readonly{color:var(--ibiz-form-item-readonly-color)}.ibiz-picker .el-input .el-input__inner{font-size:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-text-color);border-color:var(--ibiz-form-item-border-color)}.ibiz-picker .el-input .el-input__inner::placeholder{color:var(--ibiz-form-item-placeholder-color)}.ibiz-picker .el-input.is-disabled .el-input__inner{color:var(--ibiz-form-item-disabled-color);background-color:var(--ibiz-form-item-disabled-bg-color);border-color:var(--ibiz-form-item-disabled-border-color)}.ibiz-picker ion-icon{cursor:pointer}.ibiz-picker__buns-position{position:relative;display:inline-block}.ibiz-picker__btns{position:absolute;right:0;display:flex;height:var(--ibiz-picker-height)}.ibiz-picker__btns span{display:flex;flex-flow:column nowrap;justify-content:center}.ibiz-picker__autocomplete{display:flex}.ibiz-picker__autocomplete .el-autocomplete{width:100%}.ibiz-picker__transfer-item{padding:5px;cursor:pointer}.ibiz-picker__transfer-item:hover{background-color:var(--ibiz-form-item-hover-bg-color)}.ibiz-picker__link{width:32px;height:32px;padding:0 6px;font-size:16px}.ibiz-picker--disabled ion-icon{pointer-events:none}.ibiz-picker--readonly{color:var(--ibiz-form-item-readonly-color)}.ibiz-mpicker{display:flex}.ibiz-mpicker input::placeholder{color:var(--ibiz-form-item-placeholder-color)}.ibiz-mpicker .el-input.is-disabled .el-input__inner{color:var(--ibiz-form-item-disabled-color);background-color:var(--ibiz-form-item-disabled-bg-color);border-color:var(--ibiz-form-item-disabled-border-color)}.ibiz-mpicker .el-select{width:100%}.ibiz-mpicker ion-icon{cursor:pointer}.ibiz-mpicker__buns-position{position:relative;right:11px;display:inline-block}.ibiz-mpicker__btns{position:absolute;right:0;height:100%;color:var(--ibiz-form-item-placeholder-color);display:flex;align-items:center;justify-content:center}.ibiz-mpicker--disabled ion-icon{pointer-events:none}.ibiz-mpicker--readonly{color:var(--ibiz-form-item-readonly-color)}.ibiz-picker-embed-view .ibiz-picker-embed-view-value{height:32px;line-height:32px}.ibiz-picker-select-view{width:100%}.ibiz-picker-select-view .el-dropdown{width:100%}.ibiz-picker-select-view .el-select{width:100%}.ibiz-number-range-picker{width:100%;display:flex}.ibiz-number-range-picker .el-input-number{flex:1}.ibiz-code{display:inline-block;width:100%;height:100%;min-height:200px}.ibiz-date-range-picker .el-date-editor{width:100%}.ibiz-array{height:100%}.ibiz-array>.ibiz-array-add-icon{height:100%}.ibiz-array ion-icon{cursor:pointer}.ibiz-control-grid{--ibiz-control-grid-text-color:var(--ibiz-color-text-0);--ibiz-control-grid-bg-color:transparent;--ibiz-control-grid-padding:0;--ibiz-control-grid-cell-padding:var(--ibiz-spacing-tight);--ibiz-control-grid-selection-padding:var(--ibiz-spacing-base-loose);--ibiz-control-grid-header-text-color:var(--ibiz-color-text-2);--ibiz-control-grid-header-cell-padding:var(--ibiz-control-grid-cell-padding);--ibiz-control-grid-header-height:auto;--ibiz-control-grid-content-text-color:var(--ibiz-control-grid-text-color);--ibiz-control-grid-content-item-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-grid-content-row-height:48px;--ibiz-control-grid-page-text-color:var(--ibiz-control-grid-text-color);--ibiz-control-grid-page-height:50px;--ibiz-control-grid-page-padding:0 var(--ibiz-spacing-base-tight);width:100%;height:100%;padding:var(--ibiz-control-grid-padding);background-color:var(--ibiz-control-grid-bg-color)}.ibiz-control-grid.is-enable-page .ibiz-control-grid__table{height:calc(100% - var(--ibiz-control-grid-page-height))}.ibiz-control-grid__table{width:100%;height:100%}.ibiz-control-grid__table .caret-wrapper{gap:3px;justify-content:center}.ibiz-control-grid__table .sort-caret{position:initial}.ibiz-control-grid__table.el-table .el-table__cell{padding:0}.ibiz-control-grid__table .el-table__header-wrapper .cell{height:var(--ibiz-control-grid-header-height);padding:var(--ibiz-control-grid-header-cell-padding);color:var(--ibiz-control-grid-header-text-color);word-break:break-word;white-space:pre-wrap}.ibiz-control-grid__table .el-table__header-wrapper .el-table-column--selection .cell{padding:var(--ibiz-control-grid-selection-padding)}.ibiz-control-grid__table .el-table__header-wrapper .is-sortable.el-table__cell .cell{display:flex;align-items:center;justify-content:var(--ibiz-grid-column-justify-content)}.ibiz-control-grid__table .el-table__body-wrapper{color:var(--ibiz-control-grid-content-text-color);border-bottom:.1px solid var(--ibiz-color-border)}.ibiz-control-grid__table .el-table__body-wrapper .el-table__row{height:var(--ibiz-control-grid-content-row-height);cursor:pointer}.ibiz-control-grid__table .el-table__body-wrapper .el-table__row>td{height:0}@-moz-document url-prefix(){.ibiz-control-grid__table .el-table__body-wrapper .el-table__row>td{height:100%}}.ibiz-control-grid__table .el-table__body-wrapper .cell{height:100%;padding:0}.ibiz-control-grid__table .el-table__body-wrapper .el-table-column--selection .cell{padding:var(--ibiz-control-grid-selection-padding)}.ibiz-control-grid__table .el-table__cell.is-center{--ibiz-grid-column-text-align:center;--ibiz-grid-column-justify-content:center}.ibiz-control-grid__table .el-table__cell.is-left{--ibiz-grid-column-text-align:left;--ibiz-grid-column-justify-content:flex-start}.ibiz-control-grid__table .el-table__cell.is-right{--ibiz-grid-column-text-align:right;--ibiz-grid-column-justify-content:flex-end}.ibiz-control-grid .ibiz-grid-page{display:flex;justify-content:flex-end;height:var(--ibiz-control-grid-page-height);padding:var(--ibiz-control-grid-page-padding)}.ibiz-control-grid .ibiz-grid-page .el-pagination{overflow:auto}.ibiz-export-excel{width:270px}.ibiz-export-excel__custom{display:flex;gap:10px;align-items:center;justify-content:center}.ibiz-export-excel__custom.el-dropdown-menu__item:focus{color:var(--el-text-color-regular);background-color:rgba(0,0,0,0)}.ibiz-control-viewlayoutpanel{width:100%;height:100%}.ibiz-control-viewlayoutpanel-content{width:100%;height:100%}.ibiz-cascader .el-cascader{width:100%}.ibiz-control-searchform-buttons{display:flex;align-items:center;justify-content:flex-end;flex-shrink:0;text-align:right}.ibiz-control-searchform{--ibiz-control-searchform-bg-color:transparent;--ibiz-control-searchform-padding:0 var(--ibiz-spacing-base);display:flex;padding:var(--ibiz-control-searchform-padding);background-color:var(--ibiz-control-searchform-bg-color)}.ibiz-control-searchform>.ibiz-form-page{flex-grow:1}.ibiz-control-panel{width:100%;height:100%}.ibiz-control-panel-content{width:100%;height:100%}.ibiz-control-form{width:100%}.ibiz-control-treeexpbar{min-width:300px;height:100%;overflow-y:scroll}.ibiz-control-listexpbar{min-width:300px;height:100%;overflow-y:scroll}.ibiz-control-gridexpbar{min-width:300px;height:100%;overflow-y:scroll}.ibiz-control-dataviewexpbar{height:100%;overflow-y:scroll}.ibiz-portlet-layout{--ibiz-portlet-layout-bg-color:transparent;--ibiz-portlet-layout-header-height:50px;--ibiz-portlet-layout-header-padding:14px 16px;--ibiz-portlet-layout-header-margin:0;--ibiz-portlet-layout-header-bg-color:transparent;--ibiz-portlet-layout-header-border-bottom:var(--ibiz-border);--ibiz-portlet-layout-caption-max-width:300px;--ibiz-portlet-layout-caption-font-weight:600;--ibiz-portlet-layout-caption-font-size:var(--ibiz-font-size-medium);--ibiz-portlet-layout-caption-color:var(--ibiz-text-color-primary);--ibiz-portlet-layout-content-bg-color:transparent;--ibiz-portlet-layout-content-padding:0;--ibiz-portlet-layout-content-margin:0;width:100%;height:100%;background-color:var(--ibiz-portlet-layout-bg-color)}.ibiz-portlet-layout__caption{max-width:var(--ibiz-portlet-layout-caption-max-width)}.ibiz-portlet-layout__caption-text{font-size:var(--ibiz-portlet-layout-caption-font-size);font-weight:var(--ibiz-portlet-layout-caption-font-weight);color:var(--ibiz-portlet-layout-caption-color)}.ibiz-portlet-layout.is-no-header>.ibiz-portlet-layout-content{height:100%}.ibiz-portlet-layout-header{display:flex;justify-content:space-between;height:var(--ibiz-portlet-layout-header-height);padding:var(--ibiz-portlet-layout-header-padding);margin:var(--ibiz-portlet-layout-header-margin);background-color:var(--ibiz-portlet-layout-header-bg-color);border-bottom:var(--ibiz-portlet-layout-header-border-bottom)}.ibiz-portlet-layout-content{height:calc(100% - var(--ibiz-portlet-layout-header-height));padding:var(--ibiz-portlet-layout-content-padding);margin:var(--ibiz-portlet-layout-content-margin);background-color:var(--ibiz-portlet-layout-content-bg-color)}.ibiz-grid-field-column{--ibiz-grid-field-column-cell-padding:var(--ibiz-spacing-tight);--ibiz-grid-field-column-text-color:var(--ibiz-color-primary);display:flex;align-items:center;justify-content:var(--ibiz-grid-column-justify-content);width:100%;height:100%;padding:var(--ibiz-grid-field-column-cell-padding)}.ibiz-grid-field-column__text{word-break:break-word;white-space:pre-wrap}.ibiz-grid-field-column--clickable{color:var(--ibiz-grid-field-column-text-color);cursor:pointer}.ibiz-grid-ua-column{--ibiz-grid-ua-column-cell-padding:var(--ibiz-spacing-tight);--ibiz-grid-ua-column-btn-bg-color:transparent;--ibiz-grid-ua-column-btn-hover-color:var(--ibiz-color-primary-hover);--ibiz-grid-ua-column-btn-color:var(--ibiz-color-primary);--ibiz-grid-ua-column-font-size:transparent;display:flex;align-items:center;justify-content:var(--ibiz-grid-column-text-align);width:100%;height:100%;padding:var(--ibiz-grid-ua-column-cell-padding)}.ibiz-grid-ua-column .el-button{font-size:var(--ibiz-grid-ua-column-font-size);color:var(--ibiz-grid-ua-column-btn-color);background-color:var(--ibiz-grid-ua-column-btn-bg-color);box-shadow:none}.ibiz-grid-ua-column .el-button:hover{color:var(--ibiz-grid-ua-column-btn-hover-color)}.ibiz-form-group{--ibiz-form-group-bg-color:transparent;--ibiz-form-group-footer-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);--ibiz-form-group-show-more-color:var(--ibiz-color-primary);--ibiz-form-group-header-bg-color:transparent;--ibiz-form-group-header-padding:var(--ibiz-spacing-base-tight);--ibiz-form-group-header-border-color:var(--ibiz-color-border);--ibiz-form-group-caption-text-color:var(--ibiz-color-text-0);--ibiz-form-group-caption-font-size:var(--ibiz-font-size-header-5);--ibiz-form-group-caption-font-weight:var(--ibiz-font-weight-bold);--ibiz-form-group-content-bg-color:transparent;--ibiz-form-group-content-padding:var(--ibiz-spacing-tight)}.ibiz-form-group{width:100%;height:100%;background-color:var(--ibiz-form-group-bg-color);border-radius:var(--ibiz-border-radius-base)}.ibiz-form-group__caption{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ibiz-form-group-caption-font-size);font-weight:var(--ibiz-form-group-caption-font-weight);color:var(--ibiz-form-group-caption-text-color)}.ibiz-form-group__toolbar{text-align:right}.ibiz-form-group-collapse>.ibiz-form-group-content{display:block}.ibiz-form-group-collapse.is-collapse>.ibiz-form-group-content{display:none}.ibiz-form-group-header{display:flex;padding:var(--ibiz-form-group-header-padding);margin:var(--ibiz-form-group-header-margin);border-bottom:1px solid var(--ibiz-form-group-header-border-color)}.ibiz-form-group-header__left,.ibiz-form-group-header__right{display:inline-block;width:50%}.ibiz-form-group-header__right{text-align:right}.ibiz-form-group--show-header>.ibiz-form-group-content{padding:var(--ibiz-form-group-content-padding);background-color:var(--ibiz-form-group-content-bg-color)}.ibiz-form-group-footer{padding:var(--ibiz-form-group-footer-padding)}.ibiz-form-group-footer__show-more-button{display:inline-block;color:var(--ibiz-form-group-show-more-color);cursor:pointer}.ibiz-form-page{--ibiz-form-page-font-size:var(--ibiz-font-size-regular);--ibiz-form-page-header-border-color:var(--ibiz-color-border);--ibiz-form-page-text-color:var(--ibiz-color-text-2);--ibiz-form-page-bg-color:transparent;--ibiz-form-page-hover-text-color:var(--ibiz-color-text-0);--ibiz-form-page-hover-bg-color:transparent;--ibiz-form-page-active-text-color:var(--ibiz-color-text-0);--ibiz-form-page-active-bg-color:transparent;--ibiz-form-page-active-border-color:var(--ibiz-color-primary)}.ibiz-form-page--no-tab-header .ibiz-form-page-item{padding-top:0}.ibiz-form-page-tab>.el-tabs__header.is-top{margin:0}.ibiz-form-page-tab>.el-tabs__header.is-top .el-tabs__item.is-top{font-size:var(--ibiz-form-page-font-size);color:var(--ibiz-form-page-text-color);background-color:var(--ibiz-form-page-bg-color)}.ibiz-form-page-tab>.el-tabs__header.is-top .el-tabs__item.is-top:hover{color:var(--ibiz-form-page-hover-text-color);background-color:var(--ibiz-form-page-hover-bg-color)}.ibiz-form-page-tab>.el-tabs__header.is-top .el-tabs__item.is-top.is-active{color:var(--ibiz-form-page-active-text-color);background-color:var(--ibiz-form-page-active-bg-color)}.ibiz-form-page-tab .el-tabs__nav-wrap::after{background-color:var(--ibiz-form-page-header-border-color)}.ibiz-form-page-tab .el-tabs__active-bar{background-color:var(--ibiz-form-page-active-border-color)}.ibiz-form-page-item{padding-top:var(--ibiz-padding-top)}.ibiz-form-page-item-child{margin-bottom:var(--ibiz-margin-bottom)}.ibiz-form-button{--ibiz-form-button-icon-margin:0 var(--ibiz-spacing-extra-tight) 0 0;--ibiz-form-button-icon-max-width:var(--ibiz-width-icon-medium);--ibiz-form-button-icon-max-height:var(--ibiz-width-icon-medium);overflow:hidden}.ibiz-form-button img,.ibiz-form-button i{display:inline-block;max-width:var(--ibiz-form-button-icon-max-width);max-height:var(--ibiz-form-button-icon-max-height);margin:var(--ibiz-form-button-icon-margin)}.ibiz-form-raw-item{width:100%;height:100%}.ibiz-form-item{border-color:var(--ibiz-color-border);--ibiz-form-item-label-color:var(--ibiz-color-text-0);--ibiz-form-item-text-color:var(--ibiz-color-text-0);--ibiz-form-item-bg-color:var(--ibiz-color-fill-0);--ibiz-form-item-hover-color:var(--ibiz-color-text-0);--ibiz-form-item-hover-bg-color:var(--ibiz-color-fill-1);--ibiz-form-item-readonly-color:var(--ibiz-color-disabled-text);--ibiz-form-item-border-color:transparent;--ibiz-form-item-font-size:var(--ibiz-font-size-regular);--ibiz-form-item-error-font-size:var(--ibiz-font-size-regular);--ibiz-form-item-error-color:var(--ibiz-color-danger);--ibiz-form-item-placeholder-color:var(--ibiz-color-text-2);--ibiz-form-item-disabled-color:var(--ibiz-color-disabled-text);--ibiz-form-item-disabled-bg-color:var(--ibiz-color-disabled-fill);--ibiz-form-item-disabled-border-color:var(--ibiz-color-disabled-border);--ibiz-form-item-active-bg:var(--ibiz-color-fill-2);--ibiz-form-item-active-border:var(--ibiz-active-bg);--ibiz-form-item-focus-bg:var(--ibiz-color-fill-0);--ibiz-form-item-focus-border:var(--ibiz-color-focus-border);--ibiz-form-item-line-height:var(--ibiz-editor-default-line-height)}.ibiz-form-item .el-input__wrapper,.ibiz-form-item .el-textarea__inner{--el-input-bg-color: var(--ibiz-form-item-bg-color)}.ibiz-form-tab-page{width:100%;height:100%}.ibiz-grid-edit-item{--ibiz-grid-edit-item-cell-hover-bg-color:var(--ibiz-color-fill-0);width:100%;height:100%}.ibiz-grid-edit-item.is-error .ibiz-grid-edit-item__tooltip{border:1px solid red}.ibiz-grid-edit-item__tooltip{display:flex;align-items:center;justify-content:var(--ibiz-grid-column-justify-content);width:100%;height:100%;text-align:var(--ibiz-grid-column-text-align)}.ibiz-grid-edit-item .ibiz-input--readonly,.ibiz-grid-edit-item .ibiz-checkbox--readonly,.ibiz-grid-edit-item .ibiz-radio--readonly,.ibiz-grid-edit-item .ibiz-picker--readonly,.ibiz-grid-edit-item .ibiz-picker-dropdown--readonly,.ibiz-grid-edit-item .ibiz-mpicker--readonly,.ibiz-grid-edit-item .ibiz-date-picker--readonly,.ibiz-grid-edit-item .ibiz-dropdown--readonly{color:var(--ibiz-color-text-0)}.ibiz-grid-edit-item--show-mask:hover{cursor:pointer;background-color:var(--ibiz-grid-edit-item-cell-hover-bg-color)}.ibiz-form-item-container{--ibiz-form-item-container-label-width:130px;--ibiz-form-item-container-line-height:32px;--ibiz-form-item-container-require-mark-color:var(--ibiz-color-danger);--ibiz-form-item-container-label-left-padding:6px var(--ibiz-spacing-base) 6px 0;--ibiz-form-item-container-label-right-padding:6px 0 6px var(--ibiz-spacing-base);--ibiz-form-item-container-padding:var(--ibiz-spacing-base-tight) 0;--ibiz-form-item-container-error-margin-top:var(--ibiz-spacing-extra-tight);width:100%;height:100%;padding:var(--ibiz-form-item-container-padding)}.ibiz-form-item-container__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;font-size:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-text-color)}.ibiz-form-item-container--left,.ibiz-form-item-container--right{display:flex;min-height:var(--ibiz-form-item-container-line-height)}.ibiz-form-item-container--left .ibiz-form-item-container__label,.ibiz-form-item-container--right .ibiz-form-item-container__label{width:var(--ibiz-form-item-container-label-width)}.ibiz-form-item-container--top,.ibiz-form-item-container--bottom{display:flex;flex-flow:column nowrap}.ibiz-form-item-container--top .ibiz-form-item-container__label{margin-bottom:var(--ibiz-spacing-extra-tight)}.ibiz-form-item-container--bottom .ibiz-form-item-container__label{margin-top:var(--ibiz-spacing-extra-tight)}.ibiz-form-item-container--left .ibiz-form-item-container__label{padding:var(--ibiz-form-item-container-label-left-padding);text-align:right}.ibiz-form-item-container--right .ibiz-form-item-container__label{padding:var(--ibiz-form-item-container-label-right-padding);text-align:left}.ibiz-form-item-container.is-required .ibiz-form-item-container__label::before{display:inline-block;margin-right:4px;font-family:SimSun;line-height:1;color:var(--ibiz-form-item-container-require-mark-color);content:"*"}.ibiz-form-item-container__content{display:flex;flex-flow:column nowrap;position:relative;flex-grow:1}.ibiz-form-item-container__content--label-none,.ibiz-form-item-container__content--label-left,.ibiz-form-item-container__content--label-right{height:100%}.ibiz-form-item-container__editor{position:relative;flex-grow:1;height:100%}.ibiz-form-item-container__error{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:absolute;top:100%;width:100%;margin-top:var(--ibiz-form-item-container-error-margin-top);font-size:var(--ibiz-form-item-error-font-size);line-height:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-error-color);word-wrap:break-word}.ibiz-form-druipart{position:relative;width:100%;height:100%}.ibiz-form-druipart__mask{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;color:#fff;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center}.ibiz-form-tab-panel{width:100%;height:100%;--ibiz-form-tab-panel-font-size:var(--ibiz-font-size-regular);--ibiz-form-tab-panel-header-border-color:var(--ibiz-color-border);--ibiz-form-tab-panel-text-color:var(--ibiz-color-text-2);--ibiz-form-tab-panel-bg-color:transparent;--ibiz-form-tab-panel-hover-text-color:var(--ibiz-color-text-0);--ibiz-form-tab-panel-hover-bg-color:transparent;--ibiz-form-tab-panel-active-text-color:var(--ibiz-color-text-0);--ibiz-form-tab-panel-active-bg-color:transparent;--ibiz-form-tab-panel-active-border-color:var(--ibiz-color-primary)}.ibiz-form-tab-panel>.el-tabs__header.is-top{margin:0}.ibiz-form-tab-panel>.el-tabs__header.is-top .el-tabs__item.is-top{font-size:var(--ibiz-form-tab-panel-font-size);color:var(--ibiz-form-tab-panel-text-color);background-color:var(--ibiz-form-tab-panel-bg-color)}.ibiz-form-tab-panel>.el-tabs__header.is-top .el-tabs__item.is-top:hover{color:var(--ibiz-form-tab-panel-hover-text-color);background-color:var(--ibiz-form-tab-panel-hover-bg-color)}.ibiz-form-tab-panel>.el-tabs__header.is-top .el-tabs__item.is-top.is-active{color:var(--ibiz-form-tab-panel-active-text-color);background-color:var(--ibiz-form-tab-panel-active-bg-color)}.ibiz-form-tab-panel .el-tabs__nav-wrap::after{background-color:var(--ibiz-form-tab-panel-header-border-color)}.ibiz-form-tab-panel .el-tabs__active-bar{background-color:var(--ibiz-form-tab-panel-active-border-color)}.ibiz-form-mdctrl .ibiz-form-mdctrl-table-left-remove-btn{display:none;padding:0;color:var(--ibiz-color-danger)}.ibiz-form-mdctrl .ibiz-form-mdctrl-table-left-index{display:inline-block}.ibiz-form-mdctrl .ibiz-form-mdctrl-table-left{height:28px}.ibiz-form-mdctrl .el-table__row:hover .ibiz-form-mdctrl-table-left-remove-btn{display:inline-block}.ibiz-form-mdctrl .el-table__row:hover .ibiz-form-mdctrl-table-left-index{display:none}.ibiz-form-mdctrl .ibiz-form-mdctrl-main .ibiz-form-mdctrl-form-content{display:flex;gap:var(--ibiz-spacing-tight);margin-top:var(--ibiz-spacing-tight)}.ibiz-form-mdctrl .ibiz-form-mdctrl-main .ibiz-form-mdctrl-form-content-container{width:100%}.ibiz-form-mdctrl .ibiz-form-mdctrl-main .ibiz-form-mdctrl-form-content-control{width:100%}.ibiz-form-mdctrl .ibiz-form-mdctrl-main .ibiz-form-mdctrl-btn{cursor:pointer;display:flex;flex-flow:column nowrap;align-items:center;justify-content:flex-start}.ibiz-form-mdctrl .ibiz-form-mdctrl-main .ibiz-form-mdctrl-title{display:flex;align-items:center;justify-content:space-between}
1
+ .ibiz-col--flex{min-width:0;min-height:0}.ibiz-col.is-hidden{display:none}.ibiz-spacing-top--outersmall{margin-top:var(--ibiz-spacing-tight)}.ibiz-spacing-top--outermedium{margin-top:var(--ibiz-spacing-base)}.ibiz-spacing-top--outerlarge{margin-top:var(--ibiz-spacing-loose)}.ibiz-spacing-top--outernone{margin-top:var(--ibiz-spacing-none)}.ibiz-spacing-top--innersmall{padding-top:var(--ibiz-spacing-tight)}.ibiz-spacing-top--innermedium{padding-top:var(--ibiz-spacing-base)}.ibiz-spacing-top--innerlarge{padding-top:var(--ibiz-spacing-loose)}.ibiz-spacing-top--innernone{padding-top:var(--ibiz-spacing-none)}.ibiz-spacing-bottom--outersmall{margin-bottom:var(--ibiz-spacing-tight)}.ibiz-spacing-bottom--outermedium{margin-bottom:var(--ibiz-spacing-base)}.ibiz-spacing-bottom--outerlarge{margin-bottom:var(--ibiz-spacing-loose)}.ibiz-spacing-bottom--outernone{margin-bottom:var(--ibiz-spacing-none)}.ibiz-spacing-bottom--innersmall{padding-bottom:var(--ibiz-spacing-tight)}.ibiz-spacing-bottom--innermedium{padding-bottom:var(--ibiz-spacing-base)}.ibiz-spacing-bottom--innerlarge{padding-bottom:var(--ibiz-spacing-loose)}.ibiz-spacing-bottom--innernone{padding-bottom:var(--ibiz-spacing-none)}.ibiz-spacing-left--outersmall{margin-left:var(--ibiz-spacing-tight)}.ibiz-spacing-left--outermedium{margin-left:var(--ibiz-spacing-base)}.ibiz-spacing-left--outerlarge{margin-left:var(--ibiz-spacing-loose)}.ibiz-spacing-left--outernone{margin-left:var(--ibiz-spacing-none)}.ibiz-spacing-left--innersmall{padding-left:var(--ibiz-spacing-tight)}.ibiz-spacing-left--innermedium{padding-left:var(--ibiz-spacing-base)}.ibiz-spacing-left--innerlarge{padding-left:var(--ibiz-spacing-loose)}.ibiz-spacing-left--innernone{padding-left:var(--ibiz-spacing-none)}.ibiz-spacing-right--outersmall{margin-right:var(--ibiz-spacing-tight)}.ibiz-spacing-right--outermedium{margin-right:var(--ibiz-spacing-base)}.ibiz-spacing-right--outerlarge{margin-right:var(--ibiz-spacing-loose)}.ibiz-spacing-right--outernone{margin-right:var(--ibiz-spacing-none)}.ibiz-spacing-right--innersmall{padding-right:var(--ibiz-spacing-tight)}.ibiz-spacing-right--innermedium{padding-right:var(--ibiz-spacing-base)}.ibiz-spacing-right--innerlarge{padding-right:var(--ibiz-spacing-loose)}.ibiz-spacing-right--innernone{padding-right:var(--ibiz-spacing-none)}.ibiz-action-toolbar{--ibiz-action-toolbar-item-margin:0 0 0 4px;--ibiz-action-toolbar-separator-height:20px;--ibiz-action-toolbar-separator-width:2px;--ibiz-action-toolbar-separator-color:var(--ibiz-border-color-darker)}.ibiz-action-toolbar__item+.ibiz-action-toolbar__item{margin:var(--ibiz-action-toolbar-item-margin)}.ibiz-action-toolbar__separator{display:inline-block;width:var(--ibiz-action-toolbar-separator-width);height:var(--ibiz-action-toolbar-separator-height);vertical-align:middle;background-color:var(--ibiz-action-toolbar-separator-color)}.ibiz-action-toolbar__separator:first-child{display:none}.ibiz-action-toolbar--dropdown .ibiz-action-toolbar__caption{cursor:pointer}.ibiz-action-toolbar--dropdown .ibiz-action-toolbar__caption-icon{vertical-align:bottom}.ibiz-control-shell{position:relative;width:100%;height:100%}.ibiz-row--flex{display:flex;flex-flow:column nowrap}.ibiz-code-list__item{color:var(--ibiz-code-list-item-color)}.ibiz-rawitem{width:100%;height:100%}.ibiz-view-shell{position:relative;width:100%;height:100%}.ibiz-no-data{width:100%;height:100%}.ibiz-login-view{display:flex;align-items:center;justify-content:center;width:100vw;height:100vh;background:linear-gradient(120deg, #a1c4fd 0%, #c2e9fb 100%);--el-color-primary: #409eff}.ibiz-login-view .el-input{--el-input-text-color: #606266;--el-input-border-color: #dcdfe6;--el-input-hover-border-color: #c0c4cc;--el-input-icon-color: #a8abb2}.ibiz-login-view .el-button--primary{--el-button-text-color: var(--el-color-white);--el-button-bg-color: var(--el-color-primary);--el-button-border-color: var(--el-color-primary);--el-button-outline-color: var(--el-color-primary-light-5);--el-button-active-color: var(--el-color-primary-dark-2);--el-button-hover-text-color: var(--el-color-white);--el-button-hover-link-text-color: var(--el-color-primary-light-5);--el-button-hover-bg-color: var(--el-color-primary-light-3);--el-button-hover-border-color: var(--el-color-primary-light-3);--el-button-active-bg-color: var(--el-color-primary-dark-2);--el-button-active-border-color: var(--el-color-primary-dark-2);--el-button-disabled-text-color: var(--el-color-white);--el-button-disabled-bg-color: var(--el-color-primary-light-5);--el-button-disabled-border-color: var(--el-color-primary-light-5)}.ibiz-login-view-box{width:430px;margin-bottom:80px;overflow:hidden;background:#fff}@media screen and (width <= 720px){.ibiz-login-view-box{width:340px;margin-top:0}}.ibiz-login-view-box-header{background:#ccf}.ibiz-login-view-box-header>img{display:block;width:430px;margin:0 auto;user-select:none}.ibiz-login-view-box-main{position:relative}.ibiz-login-view-box-main__avatar{position:absolute;top:-50px;right:calc(50% - 50px);z-index:2;display:block;width:100px;height:100px;user-select:none;border:4px solid #fff;border-radius:50%}.ibiz-login-view-box-main-content{padding:100px 40px 40px}.ibiz-login-view-box-main-content .el-input__inner:-webkit-autofill{box-shadow:0 0 0 1000px #fff inset;-webkit-text-fill-color:#606266}.ibiz-login-view-box-main-content .el-button{width:100%;margin-top:15px;font-weight:300;letter-spacing:2px}.ibiz-login-view-box-main-content .el-input__prefix{width:20px;margin-left:-1px}.ibiz-login-view-box-main-content ion-icon{font-size:16px}.ibiz-404-view{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.ibiz-404-view-text__text1{margin-bottom:20px}.ibiz-404-view.is-top{width:100vw;height:100vh}.ibiz-not-supported-editor{color:var(--ibiz-color-danger)}.ibiz-nav-pos-index{width:100%;height:100%;overflow:auto}.ibiz-user-info{--ibiz-user-info-padding:var(--ibiz-spacing-base);--ibiz-user-info-color:var(--ibiz-color-text-0);--ibiz-user-info-font-size:var(--ibiz-font-size-header-4);--ibiz-user-info-hover-color:var(--ibiz-color-text-0);--ibiz-user-info-hover-bg-color:var(--ibiz-color-primary-hover);--ibiz-user-info-border-radius:var(--ibiz-border-radius-medium);display:flex;align-items:center;justify-content:flex-start;width:100%;height:100%}.ibiz-user-info .el-dropdown{padding:calc(var(--ibiz-user-info-padding)/2) var(--ibiz-user-info-padding);cursor:pointer;border-radius:var(--ibiz-user-info-border-radius)}.ibiz-user-info .el-dropdown:hover{color:var(--ibiz-user-info-hover-color);background-color:var(--ibiz-user-info-hover-bg-color)}.ibiz-user-info-avatar{margin-right:10px}.ibiz-user-info-label{display:flex;align-items:center;justify-content:flex-start;font-size:var(--ibiz-user-info-font-size);color:var(--ibiz-user-info-color);outline:none}.ibiz-nav-pos{width:100%;height:100%}.ibiz-panel-container{--ibiz-panel-container-bg-color:var(--ibiz-bg-color-overlay);--ibiz-panel-container-padding:var(--ibiz-padding);width:100%;height:100%}.ibiz-panel-container>.ibiz-row{height:100%;overflow:auto}.ibiz-panel-container.is-hidden{display:none}.ibiz-panel-app-title{--ibiz-panel-app-title-color:var(--ibiz-color-text-0);--ibiz-panel-app-title-font-size:var(--ibiz-font-size-header-2);--ibiz-panel-app-title-font-wight:var(--ibiz-font-weight-bold);display:flex;align-items:center;justify-content:center;height:100%}.ibiz-panel-app-title__title{font-size:var(--ibiz-panel-app-title-font-size);font-weight:bold;color:var(--ibiz-panel-app-title-color)}.ibiz-panel-app-title__logo{padding:0 var(--ibiz-spacing-base);font-size:40px;display:flex;align-items:center;justify-content:center}.ibiz-panel-app-title__logo img{display:inline-block;width:20px;height:20px}.ibiz-panel-app-title--hidden_logo{padding-left:var(--ibiz-spacing-base)}.ibiz-nav-tabs{--ibiz-nav-tabs-padding:var(--ibiz-spacing-base-tight);--ibiz-nav-tabs-left-width:100%;--ibiz-nav-tabs-right-width:60px;--ibiz-nav-tabs-item-height:40px;--ibiz-nav-tabs-item-padding:0 var(--ibiz-spacing-base-loose);--ibiz-nav-tabs-item-margin:0 var(--ibiz-spacing-base) 0 0;--ibiz-nav-tabs-item-font-size:var(--ibiz-font-size-regular);--ibiz-nav-tabs-item-font-weight:var(--ibiz-font-weight-regular);--ibiz-nav-tabs-item-border-radius:var(--ibiz-border-radius-medium);--ibiz-nav-tabs-item-bg-color:transparent;--ibiz-nav-tabs-item-color:var(--ibiz-color-text-0);--ibiz-nav-tabs-item-hover-color:var(--ibiz-color-primary-hover);--ibiz-nav-tabs-item-active-color:var(--ibiz-color-primary);display:flex;align-items:center;justify-content:flex-start;position:relative;padding:var(--ibiz-nav-tabs-padding)}.ibiz-nav-tabs__left{display:flex;align-items:center;width:var(--ibiz-nav-tabs-left-width)}.ibiz-nav-tabs__left .el-tabs{width:100%;--el-tabs-header-height: 40px}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav{border:none}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item{display:flex;align-items:center;height:var(--ibiz-nav-tabs-item-height);padding:var(--ibiz-nav-tabs-item-padding);margin:var(--ibiz-nav-tabs-item-margin);overflow:hidden;font-size:var(--ibiz-nav-tabs-item-font-size);font-weight:var(--ibiz-nav-tabs-item-font-weight);color:var(--ibiz-nav-tabs-item-color);vertical-align:middle;background-color:var(--ibiz-nav-tabs-item-bg-color);border:1px solid var(--ibiz-color-border);border-radius:var(--ibiz-nav-tabs-item-border-radius);box-shadow:0 1px 2px 0 var(--ibiz-color-border);opacity:1}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item:hover{padding:var(--ibiz-nav-tabs-item-padding);color:var(--ibiz-nav-tabs-item-hover-color)}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item:hover .is-icon-close{color:var(--ibiz-nav-tabs-item-hover-color)}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item.is-active{padding:var(--ibiz-nav-tabs-item-padding);color:var(--ibiz-color-white);background-color:var(--ibiz-nav-tabs-item-active-color);box-shadow:none}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item.is-active .is-icon-close{color:var(--ibiz-color-white)}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item.is-closable{padding:var(--ibiz-nav-tabs-item-padding)}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item.is-closable.hover{padding:var(--ibiz-nav-tabs-item-padding)}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item .is-icon-close{position:relative;top:1px}.ibiz-nav-tabs__left .el-tabs .el-tabs__header{margin-bottom:0;border-bottom:none}.ibiz-nav-tabs__right{display:none;width:var(--ibiz-nav-tabs-right-width)}.ibiz-html{display:inline-block;width:100%;--w-e-textarea-bg-color: var(--ibiz-color-bg-1);--w-e-textarea-color: var(--ibiz-color-text-0);--w-e-textarea-border-color: var(--ibiz-color-border);--w-e-textarea-slight-border-color: var(--ibiz-color-border);--w-e-textarea-slight-color: var(--ibiz-color-text-1);--w-e-textarea-slight-bg-color: var(--ibiz-color-bg-1);--w-e-textarea-selected-border-color: var(--ibiz-color-border);--w-e-textarea-handler-bg-color: var(--ibiz-color-primary);--w-e-toolbar-color: var(--ibiz-color-text-0);--w-e-toolbar-bg-color: var(--ibiz-color-bg-1);--w-e-toolbar-active-color: var(--ibiz-color-text-0);--w-e-toolbar-active-bg-color: var(--ibiz-color-bg-1);--w-e-toolbar-disabled-color: var(--ibiz-color-disabled-text);--w-e-toolbar-border-color: var(--ibiz-color-border);--w-e-modal-button-bg-color: var(--ibiz-color-bg-1);--w-e-modal-button-border-color: var(--ibiz-color-border)}.ibiz-html .w-e-menu-tooltip-v5::before{color:var(--ibiz-color-text-0);background-color:var(--w-e-toolbar-bg-color)}.ibiz-html .w-e-full-screen-container{z-index:9999}.ibiz-markdown .cherry-preview--full{border-left:none}.ibiz-markdown .theme__light,.ibiz-markdown .theme__dark{color:var(--ibiz-color-text-0)}.ibiz-markdown .cherry-markdown h1 a::before,.ibiz-markdown .cherry-markdown h2 a::before,.ibiz-markdown .cherry-markdown h3 a::before,.ibiz-markdown .cherry-markdown h4 a::before,.ibiz-markdown .cherry-markdown h5 a::before,.ibiz-markdown .cherry-markdown h6 a::before{display:none}.ibiz-panel-ctrl-pos{width:100%;height:100%}.ibiz-panel-ctrl-pos.is-hidden{display:none}.ibiz-panel-button{--ibiz-panel-button-icon-margin:0 var(--ibiz-spacing-extra-tight) 0 0;--ibiz-panel-button-icon-max-width:var(--ibiz-width-icon-medium);--ibiz-panel-button-icon-max-height:var(--ibiz-width-icon-medium);width:100%;height:100%;overflow:hidden}.ibiz-panel-button img,.ibiz-panel-button i{display:inline-block;max-width:var(--ibiz-panel-button-icon-max-width);max-height:var(--ibiz-panel-button-icon-max-height);margin:var(--ibiz-panel-button-icon-margin)}.ibiz-single-data-container{width:100%;height:100%}.ibiz-panel-field{width:100%;height:100%}.ibiz-panel-field .ibiz-panel-field-content{line-height:inherit}.ibiz-panel-view-content{width:100%;height:100%;padding:var(--ibiz-spacing-base);overflow:auto}.ibiz-panel-view-content>.ibiz-row{height:100%}.ibiz-panel-app-header{--ibiz-panel-app-header-color:var(--ibiz-color-text-0);--ibiz-panel-app-header-bg-color:var(--ibiz-color-primary);--ibiz-panel-app-header-border-color:var(--ibiz-color-border);width:100%;height:100%;color:var(--ibiz-panel-app-header-color);background-color:var(--ibiz-panel-app-header-bg-color);border-bottom:1px solid var(--ibiz-panel-app-header-border-color)}.ibiz-panel-app-header>.ibiz-row{height:100%}.ibiz-panel-view-header{width:auto;height:64px;border-bottom:1px solid var(--ibiz-color-border)}.ibiz-panel-view-header .ibiz-row{height:100%}.ibiz-panel-view-header .ibiz-panel-container--view_header_right{padding:0 var(--ibiz-spacing-base)}.ibiz-panel-rawitem{width:100%;height:100%}.ibiz-panel-rawitem .ibiz-panel-rawitem-content{width:100%}.ibiz-grid-container{--ibiz-grid-container-bg-color:var(--ibiz-bg-color-overlay);--ibiz-grid-container-padding:var(--ibiz-padding);width:100%;height:100%;overflow:auto}.ibiz-grid-container.is-hidden{display:none}.ibiz-scroll-container{width:100%;height:100%;display:flex;flex-flow:column nowrap}.ibiz-scroll-container.is-hidden{display:none}.ibiz-scroll-container-content{flex-grow:1;overflow:auto;display:flex}.ibiz-scroll-container-content__center{flex-grow:1;overflow:auto}.ibiz-scroll-container-content__left{overflow:auto}.ibiz-scroll-container-content__right{overflow:auto}.ibiz-scroll-container-header{overflow:auto}.ibiz-scroll-container-footer{overflow:auto}.ibiz-scroll-container-item{width:100%;height:100%;overflow:auto}.ibiz-scroll-container-item.is-hidden{display:none}.ibiz-control-list-item{--ibiz-control-list-text-color:var(--ibiz-color-text-0);--ibiz-control-list-load-more-color:var(--ibiz-color-text-2);--ibiz-control-list-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-list-active-bg-color:var(--ibiz-color-fill-0);--ibiz-control-list-font-weight:var(--ibiz-font-weight-regular);--ibiz-control-list-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base-tight);min-height:var(--ibiz-control-list-item-height);padding:var(--ibiz-control-list-padding);font-weight:var(--ibiz-control-list-font-weight);color:var(--ibiz-control-list-text-color);cursor:pointer}.ibiz-control-list-item:hover{background-color:var(--ibiz-control-list-hover-bg-color)}.ibiz-control-list-item.is-active{background-color:var(--ibiz-control-list-active-bg-color)}.ibiz-control-list{--ibiz-control-list-text-color:var(--ibiz-color-text-0);--ibiz-control-list-load-more-color:var(--ibiz-color-text-2);--ibiz-control-list-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-list-active-bg-color:var(--ibiz-color-fill-0);--ibiz-control-list-font-weight:var(--ibiz-font-weight-regular);--ibiz-control-list-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base-tight);display:flex;flex-flow:column nowrap;align-items:stretch;justify-content:flex-start;height:100%}.ibiz-control-list__load-more{color:var(--ibiz-control-list-load-more-color);text-align:center;cursor:pointer}.ibiz-control-list .ibiz-control-list-content{flex-grow:1}.ibiz-control-list-scroll{height:100%;overflow:auto}.ibiz-control-appmenu-iconview{--ibiz-control-appmenu-iconview-icon-width:20px;--ibiz-control-appmenu-iconview-icon-height:20px;--ibiz-control-appmenu-iconview-icon-margin:0 5px 0 0;--ibiz-control-appmenu-iconview-selected-color:var(--ibiz-color-primary);--ibiz-control-appmenu-iconview-selected-bg-color:var(--ibiz-color-primary-light-9);--ibiz-control-appmenu-iconview-selected-border-color:var(--ibiz-color-primary);--ibiz-control-appmenu-iconview-hover-color:var(--ibiz-color-primary);--ibiz-control-appmenu-iconview-hover-bg-color:var(--ibiz-color-white);--ibiz-control-appmenu-iconview-hover-border-color:var(--ibiz-color-primary);--ibiz-control-appmenu-iconview-disabled-color:var(--ibiz-disabled-text-color);--ibiz-control-appmenu-iconview-disabled-bg-color:var(--ibiz-disabled-bg-color);--ibiz-control-appmenu-iconview-disabled-border-color:var(--ibiz-disabled-border-color);--ibiz-control-appmenu-iconview-padding:var(--ibiz-padding);--ibiz-control-appmenu-iconview-font-size:var(--ibiz-font-size-base);--ibiz-control-appmenu-iconview-color:var(--ibiz-text-color)}.ibiz-control-appmenu-iconview__content{width:100%;height:100%}.ibiz-control-appmenu-iconview-item{display:flex;flex-direction:column;flex-shrink:0;align-items:center;justify-content:center;width:135px;height:135px;margin:15px;font:var(--ibiz-control-appmenu-iconview-font-size);color:var(--ibiz-control-appmenu-iconview-color);cursor:pointer;border:1px solid var(--ibiz-border-color)}.ibiz-control-appmenu-iconview-item__icon{width:50px;height:50px;margin-bottom:5px;font-size:50px}.ibiz-control-appmenu-iconview-item:hover{color:var(--ibiz-control-appmenu-iconview-hover-color);background-color:var(--ibiz-control-appmenu-iconview-hover-bg-color);border-color:var(--ibiz-control-appmenu-iconview-hover-border-color)}.ibiz-control-appmenu-iconview-item.is-disabled{color:var(--ibiz-control-appmenu-iconview-disabled-color);cursor:not-allowed;background-color:var(--ibiz-control-appmenu-iconview-disabled-bg-color);border-color:var(--ibiz-control-appmenu-iconview-disabled-border-color)}.ibiz-control-appmenu-iconview-group .el-collapse-item__content{display:flex;flex-wrap:wrap}.ibiz-control-toolbar{--ibiz-control-toolbar-item-margin:0 var(--ibiz-spacing-extra-tight);--ibiz-control-toolbar-item-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);--ibiz-control-toolbar-icon-margin:0 var(--ibiz-spacing-extra-tight) 0 0;--ibiz-control-toolbar-icon-max-width:var(--ibiz-width-icon-medium);--ibiz-control-toolbar-icon-max-height:var(--ibiz-width-icon-medium);--ibiz-control-toolbar-separator-color:var(--ibiz-color-fill-2);display:flex}.ibiz-control-toolbar__item{display:flex;align-items:center;margin:var(--ibiz-control-toolbar-item-margin)}.ibiz-control-toolbar__item .el-button{display:flex;align-items:center;justify-content:center;padding:var(--ibiz-control-toolbar-item-padding)}.ibiz-control-toolbar__item .el-button>span{display:flex;align-items:center;justify-content:center;font-size:14px;pointer-events:none}.ibiz-control-toolbar__item .el-button img,.ibiz-control-toolbar__item .el-button i{display:inline-block;max-width:var(--ibiz-control-toolbar-icon-max-width);max-height:var(--ibiz-control-toolbar-icon-max-height);margin:var(--ibiz-control-toolbar-icon-margin)}.ibiz-control-toolbar__item-separator{color:var(--ibiz-control-toolbar-separator-color)}.ibiz-control-toolbar__item-separator+.ibiz-control-toolbar__item-separator,.ibiz-control-toolbar__item-separator:first-child{display:none}.ibiz-control-dataview{--ibiz-control-dataview-text-color:var(--ibiz-color-text-0);--ibiz-control-dataview-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-dataview-active-bg-color:var(--ibiz-color-fill-0);width:100%;height:100%}.ibiz-control-dataview-scroll{display:flex;flex-wrap:wrap;gap:12px;align-content:flex-start;width:100%;height:100%;overflow:auto}.ibiz-control-dataview-item{--ibiz-control-dataview-text-color:var(--ibiz-color-text-0);--ibiz-control-dataview-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-dataview-active-bg-color:var(--ibiz-color-fill-0);color:var(--ibiz-control-dataview-text-color);cursor:pointer}.ibiz-control-dataview-item:hover{background-color:var(--ibiz-control-dataview-hover-bg-color)}.ibiz-control-dataview-item.is-active{background-color:var(--ibiz-control-dataview-active-bg-color)}.ibiz-control-dataview-item-content{--ibiz-control-dataview-text-color:var(--ibiz-color-text-0);--ibiz-control-dataview-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-dataview-active-bg-color:var(--ibiz-color-fill-0)}.ibiz-control-dataview-item-content__top--title{text-align:center}.ibiz-control-dataview-item-content__top--description{min-width:150px;text-align:justify;text-justify:newspaper;word-break:break-all}.ibiz-control-dataview-item-content__bottom--actions{display:flex;justify-content:center}.ibiz-control-dataview-group-content{width:100%;overflow:auto}.ibiz-control-dataview-group-content__item .el-collapse-item__content{display:flex;flex-wrap:wrap}.ibiz-control-dataview-group-content__item--empty{width:100%;text-align:center}.ibiz-control-appmenu{position:static;width:100%;height:100%;overflow-y:auto;--ibiz-control-appmenu-collapse-item-hover-color:var(--ibiz-color-primary);--ibiz-control-appmenu-collapse-item-padding:var(--ibiz-spacing-base);--ibiz-control-appmenu-icon-width:var(--ibiz-width-icon-extra-large);--ibiz-control-appmenu-icon-height:var(--ibiz-width-icon-extra-large);--ibiz-control-appmenu-icon-margin:0 10px 0 0;--ibiz-control-appmenu-item-selected-color:var(--ibiz-color-text-1);--ibiz-control-appmenu-item-selected-bg-color:var(--ibiz-color-primary-active);--ibiz-control-appmenu-item-hover-color:var(--ibiz-color-text-0);--ibiz-control-appmenu-item-hover-bg-color:var(--ibiz-color-primary-hover);--ibiz-control-appmenu-item-padding:var(--ibiz-spacing-base);--ibiz-control-appmenu-item-font-size:var(--ibiz-font-size-header-5);--ibiz-control-appmenu-item-height:52px;--ibiz-control-appmenu-item-color:var(--ibiz-color-text-0);--ibiz-control-appmenu-item-horizontal-selected-color:var(--ibiz-color-text-1);--ibiz-control-appmenu-item-horizontal-selected-bg-color:var(--ibiz-color-primary-active);--ibiz-control-appmenu-item-horizontal-hover-color:var(--ibiz-color-text-0);--ibiz-control-appmenu-item-horizontal-hover-bg-color:var(--ibiz-color-primary-hover);--ibiz-control-appmenu-item-horizontal-color:var(--ibiz-color-text-0);--ibiz-control-appmenu-item-horizontal-font-size:var(--ibiz-font-size-header-5);--ibiz-control-appmenu-item-horizontal-height:40px;--ibiz-control-appmenu-item-horizontal-border-radius:var(--ibiz-border-radius-medium);--ibiz-control-appmenu-item-horizontal-padding:var(--ibiz-spacing-base)}.ibiz-control-appmenu .el-menu--vertical{width:100%}.ibiz-control-appmenu .el-menu--vertical .el-menu-item,.ibiz-control-appmenu .el-menu--vertical .el-sub-menu__title{display:flex;align-items:center;justify-content:flex-start;width:100%;height:var(--ibiz-control-appmenu-item-height);font-size:var(--ibiz-control-appmenu-item-font-size);color:var(--ibiz-control-appmenu-item-color);white-space:nowrap}.ibiz-control-appmenu .el-menu--vertical .el-menu-item.is-active,.ibiz-control-appmenu .el-menu--vertical .el-sub-menu__title.is-active{color:var(--ibiz-control-appmenu-item-selected-color);background-color:var(--ibiz-control-appmenu-item-selected-bg-color)}.ibiz-control-appmenu .el-menu--vertical .el-menu-item:hover,.ibiz-control-appmenu .el-menu--vertical .el-sub-menu__title:hover{color:var(--ibiz-control-appmenu-item-hover-color);background-color:var(--ibiz-control-appmenu-item-hover-bg-color)}.ibiz-control-appmenu .el-menu--horizontal{gap:16px;align-items:center;height:100%;background-color:rgba(0,0,0,0);border-bottom:none}.ibiz-control-appmenu .el-menu--horizontal .el-menu-item,.ibiz-control-appmenu .el-menu--horizontal .el-sub-menu__title{height:var(--ibiz-control-appmenu-item-horizontal-height);padding:var(--ibiz-control-appmenu-item-horizontal-padding);font-size:var(--ibiz-control-appmenu-item-horizontal-font-size);line-height:initial;color:var(--ibiz-control-appmenu-item-horizontal-color);white-space:nowrap;border:none;border-radius:var(--ibiz-control-appmenu-item-horizontal-border-radius)}.ibiz-control-appmenu .el-menu--horizontal .el-menu-item.is-active,.ibiz-control-appmenu .el-menu--horizontal .el-sub-menu__title.is-active{color:var(--ibiz-control-appmenu-item-horizontal-color) !important;background-color:rgba(0,0,0,0)}.ibiz-control-appmenu .el-menu--horizontal .el-menu-item:hover,.ibiz-control-appmenu .el-menu--horizontal .el-sub-menu__title:hover{color:var(--ibiz-control-appmenu-item-horizontal-hover-color);background-color:var(--ibiz-control-appmenu-item-horizontal-hover-bg-color)}.ibiz-control-appmenu .el-menu--horizontal>.el-sub-menu.is-active .el-sub-menu__title{color:var(--ibiz-control-appmenu-item-horizontal-selected-color);background-color:var(--ibiz-control-appmenu-item-horizontal-selected-bg-color)}.ibiz-control-appmenu .el-menu--horizontal::-webkit-scrollbar-thumb{background-color:var(--ibiz-color-white)}.ibiz-control-appmenu__icon{margin:var(--ibiz-control-appmenu-icon-margin)}.ibiz-control-appmenu.is-collapse .ibiz-control-appmenu__item{display:flex;align-items:center;justify-content:center;padding:calc(var(--ibiz-control-appmenu-collapse-item-padding)*.875) calc(var(--ibiz-control-appmenu-collapse-item-padding)*1.5)}.ibiz-control-appmenu.is-collapse .ibiz-control-appmenu__item:hover{color:var(--ibiz-control-appmenu-collapse-item-hover-color)}.ibiz-control-appmenu.is-collapse .ibiz-control-appmenu-tooltip{width:100%}.ibiz-control-appmenu.is-collapse .ibiz-control-appmenu-submenu{display:block}.ibiz-control-appmenu.is-collapse .ibiz-control-appmenu-submenu>.el-sub-menu__title{display:flex;align-items:center;justify-content:center;display:flex;align-items:center;justify-content:center;padding:calc(var(--ibiz-control-appmenu-collapse-item-padding)*.875) calc(var(--ibiz-control-appmenu-collapse-item-padding)*1.5);white-space:nowrap;cursor:pointer}.ibiz-control-appmenu.is-collapse .ibiz-control-appmenu-submenu>.el-sub-menu__title:hover{color:var(--ibiz-control-appmenu-collapse-item-hover-color)}.ibiz-control-appmenu.is-collapse .ibiz-control-appmenu-submenu .ibiz-control-appmenu-submenu__item{padding:0}.ibiz-control-appmenu .el-menu{border-right:0}.ibiz-control-appmenu .el-sub-menu .el-sub-menu__icon-arrow{right:14px;width:12px}.ibiz-control-appmenu .el-sub-menu .el-menu-item{padding:calc(var(--ibiz-control-appmenu-item-padding)*.875) calc(var(--ibiz-control-appmenu-item-padding)*2.5)}.ibiz-control-appmenu .ibiz-control-appmenu__counter{position:absolute;top:50%;right:5px;height:20px;padding:0 6px;line-height:initial;color:#fff;background-color:#f56c6c;border-radius:10px;transform:translateY(-50%)}.el-menu--popup-container{--ibiz-control-appmenu-collapse-item-hover-color:var(--ibiz-color-primary);--ibiz-control-appmenu-collapse-item-padding:var(--ibiz-spacing-base);--ibiz-control-appmenu-icon-width:var(--ibiz-width-icon-extra-large);--ibiz-control-appmenu-icon-height:var(--ibiz-width-icon-extra-large);--ibiz-control-appmenu-icon-margin:0 10px 0 0;--ibiz-control-appmenu-item-selected-color:var(--ibiz-color-text-1);--ibiz-control-appmenu-item-selected-bg-color:var(--ibiz-color-primary-active);--ibiz-control-appmenu-item-hover-color:var(--ibiz-color-text-0);--ibiz-control-appmenu-item-hover-bg-color:var(--ibiz-color-primary-hover);--ibiz-control-appmenu-item-padding:var(--ibiz-spacing-base);--ibiz-control-appmenu-item-font-size:var(--ibiz-font-size-header-5);--ibiz-control-appmenu-item-height:52px;--ibiz-control-appmenu-item-color:var(--ibiz-color-text-0);--ibiz-control-appmenu-item-horizontal-selected-color:var(--ibiz-color-text-1);--ibiz-control-appmenu-item-horizontal-selected-bg-color:var(--ibiz-color-primary-active);--ibiz-control-appmenu-item-horizontal-hover-color:var(--ibiz-color-text-0);--ibiz-control-appmenu-item-horizontal-hover-bg-color:var(--ibiz-color-primary-hover);--ibiz-control-appmenu-item-horizontal-color:var(--ibiz-color-text-0);--ibiz-control-appmenu-item-horizontal-font-size:var(--ibiz-font-size-header-5);--ibiz-control-appmenu-item-horizontal-height:40px;--ibiz-control-appmenu-item-horizontal-border-radius:var(--ibiz-border-radius-medium);--ibiz-control-appmenu-item-horizontal-padding:var(--ibiz-spacing-base);border:none;box-shadow:var(--ibiz-shadow-elevated)}.el-menu--popup-container .el-menu--popup .el-menu-item,.el-menu--popup-container .el-menu--popup .el-sub-menu__title{display:flex;align-items:center;justify-content:flex-start;width:100%;height:var(--ibiz-control-appmenu-item-height);font-size:var(--ibiz-control-appmenu-item-font-size);color:var(--ibiz-control-appmenu-item-color);white-space:nowrap}.el-menu--popup-container .el-menu--popup .el-menu-item.is-active,.el-menu--popup-container .el-menu--popup .el-sub-menu__title.is-active{color:var(--ibiz-control-appmenu-item-selected-color);background-color:var(--ibiz-control-appmenu-item-selected-bg-color)}.el-menu--popup-container .el-menu--popup .el-menu-item:hover,.el-menu--popup-container .el-menu--popup .el-sub-menu__title:hover{color:var(--ibiz-control-appmenu-item-hover-color);background-color:var(--ibiz-control-appmenu-item-hover-bg-color)}.el-menu--popup-container .el-menu--popup .el-menu-item .el-icon,.el-menu--popup-container .el-menu--popup .el-sub-menu__title .el-icon{display:none}.ibiz-control-captionbar{--ibiz-control-captionbar-color:var(--ibiz-color-text-0);--ibiz-control-captionbar-font-size:var(--ibiz-font-size-header-4);--ibiz-control-captionbar-font-weight:var(--ibiz-font-weight-bold);position:relative;height:100%;padding:0 var(--ibiz-spacing-base)}.ibiz-control-captionbar .ibiz-control-captionbar-caption{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:relative;height:100%;padding-left:var(--ibiz-spacing-base);font-size:var(--ibiz-control-captionbar-font-size);font-weight:var(--ibiz-control-captionbar-font-weight);color:var(--ibiz-control-captionbar-color);display:flex;align-items:center;justify-content:flex-start}.ibiz-control-captionbar .ibiz-control-captionbar-caption::before{position:absolute;top:50%;left:0;width:4px;height:20px;content:"";background-color:var(--ibiz-color-primary);border-radius:2px;transform:translateY(-50%)}.ibiz-view:not(.ibiz-view-appindexview) .ibiz-view .ibiz-view .ibiz-control-captionbar-caption{--ibiz-control-captionbar-font-size:var(--ibiz-font-size-header-5);--ibiz-control-captionbar-font-weight:var(--ibiz-font-weight-regular)}.ibiz-view:not(.ibiz-view-appindexview) .ibiz-view .ibiz-view .ibiz-control-captionbar-caption::before{content:none}.ibiz-control-treeview-node{display:flex;flex-grow:1;flex-shrink:1;align-items:center;min-width:1px;height:100%;line-height:26px}.ibiz-control-treeview-node__icon{margin-right:var(--ibiz-spacing-tight)}.ibiz-control-treeview-node__label{flex-grow:1;flex-shrink:1;min-width:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-control-treeview-node:hover .ibiz-control-treeview-context-menu-trigger{display:inline-block}.ibiz-control-treeview-context-menu-trigger{display:none;flex-shrink:0;width:30px;text-align:center;cursor:pointer}.ibiz-control-treeview-context-menu-trigger__caption-icon{vertical-align:middle}.ibiz-control-pickupviewpanel{height:100%}.ibiz-control-tabexppanel .el-tabs.el-tabs--top .el-tabs__header{margin:0}.ibiz-control-tabexppanel .el-tabs.el-tabs--top .el-tabs__header .el-tabs__nav-wrap{margin-bottom:0}.ibiz-control-tabexppanel .el-tabs.el-tabs--top .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__active-bar{background-color:var(--ibiz-color-primary)}.ibiz-control-tabexppanel .el-tabs.el-tabs--top .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item{font-size:var(--ibiz-font-size-regular);color:var(--ibiz-color-text-2)}.ibiz-control-tabexppanel .el-tabs.el-tabs--top .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item:hover{color:var(--ibiz-color-text-0)}.ibiz-control-tabexppanel .el-tabs.el-tabs--top .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item.is-active{color:var(--ibiz-color-primary)}.ibiz-control-tabexppanel .el-tabs.el-tabs--top .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item.is-top:nth-child(2){padding-left:0}.ibiz-control-tabexppanel .el-tabs.el-tabs--top .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item.is-top:last-child{padding-right:0}.ibiz-control-wizardpanel{--ibiz-control-wizard-panel-header-height:60px;--ibiz-control-wizard-panel-footer-height:40px;height:100%}.ibiz-control-wizardpanel__form{height:calc(100% - var(--ibiz-control-wizard-panel-footer-height))}.ibiz-control-wizardpanel.is-header .ibiz-control-wizardpanel__form{height:calc(100% - var(--ibiz-control-wizard-panel-footer-height) - var(--ibiz-control-wizard-panel-header-height))}.ibiz-control-wizardpanel-header{height:var(--ibiz-control-wizard-panel-header-height)}.ibiz-control-wizardpanel-footer{display:flex;align-items:center;justify-content:flex-end;height:var(--ibiz-control-wizard-panel-footer-height);padding-right:var(--ibiz-padding)}.ibiz-control-searchbar{--ibiz-control-searchbar-quick-search-width:150px}.ibiz-control-searchbar .ibiz-control-searchbar-quick-search{width:var(--ibiz-control-searchbar-quick-search-width);font-size:14px;color:var(--ibiz-text-color);background:var(--ibiz-color-white);border:1px solid var(--ibiz-border-color);border-radius:4px}.ibiz-control-searchbar .ibiz-control-searchbar-quick-search .el-input__wrapper{padding:0 20px}.ibiz-control-dashboard{height:100%}.ibiz-control-chart{width:100%;height:100%}.ibiz-control-chart__chart{width:100%;height:100%}.ibiz-view{--ibiz-view-bg-color:var(--ibiz-color-bg-1);--ibiz-view-border-radius:var(--ibiz-border-radius-medium);width:100%;height:100%}.ibiz-view .ibiz-view{background-color:var(--ibiz-view-bg-color);border-radius:var(--ibiz-view-border-radius)}.ibiz-modal{--ibiz-modal-z-index:var(--ibiz-z-index-modal)}.ibiz-modal.el-dialog{z-index:var(--ibiz-modal-z-index) !important;overflow:auto}.ibiz-modal .el-dialog__header{position:relative;padding:0}.ibiz-modal .el-dialog__body{height:100%;padding:0}.ibiz-modal .el-dialog__headerbtn{top:0;right:-16px;z-index:var(--ibiz-modal-z-index)}.ibiz-popover{position:absolute;top:0;left:0;z-index:1;display:none;width:max-content;padding:calc(var(--ibiz-padding)/2);background-color:var(--ibiz-bg-color);border:var(--ibiz-border);border-radius:var(--ibiz-border-radius-base)}.ibiz-popover__arrow{position:absolute;width:8px;height:8px;background:var(--ibiz-bg-color);transform:rotate(45deg)}.ibiz-popover.is-show{display:block}.ibiz-drawer{--ibiz-drawer-z-index:var(--ibiz-z-index-drawer)}.ibiz-drawer .ivu-drawer-mask,.ibiz-drawer .ivu-drawer-wrap{z-index:var(--ibiz-drawer-z-index) !important}.ibiz-drawer .ivu-drawer-content{display:flex;flex-flow:column nowrap;height:100%}.ibiz-drawer .ivu-drawer-content .ivu-drawer-body{padding:0}.ibiz-input-number .el-input .el-input__inner{font-size:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-text-color);border-color:var(--ibiz-form-item-border-color)}.ibiz-input-number .el-input .el-input__inner::placeholder{color:var(--ibiz-form-item-placeholder-color)}.ibiz-input-number .el-input.is-disabled .el-input__inner{color:var(--ibiz-form-item-disabled-color);background-color:var(--ibiz-form-item-disabled-bg-color);border-color:var(--ibiz-form-item-disabled-border-color)}.ibiz-input-number--readonly{color:var(--ibiz-form-item-readonly-color);word-break:break-word;white-space:pre-wrap}.ibiz-input-number .ibiz-input-number__unit{margin-left:10px;font-size:var(--ibiz-form-item-font-size);font-style:normal}.ibiz-input-ip{display:flex;flex-wrap:nowrap}.ibiz-input-ip .el-input{margin:0 3px}.ibiz-span{display:inline-block;font-size:inherit;line-height:var(--ibiz-editor-default-line-height);color:inherit;white-space:pre-line}.ibiz-span--readonly{color:var(--ibiz-form-item-readonly-color)}.ibiz-input{height:100%;font-size:var(--ibiz-font-size-regular);--ibiz-input-min-height:32px;--ibiz-input-readonly-color:var(--ibiz-color-disabled-text);--ibiz-input-placeholder-color:var(--ibiz-color-text-2)}.ibiz-input .el-input .el-input__inner{height:100%}.ibiz-input .el-textarea .el-textarea__inner{height:100%}.ibiz-input .el-textarea .el-textarea__inner::placeholder{word-break:break-word;white-space:pre-wrap}.ibiz-input .ibiz-input-input{height:100%;min-height:var(--ibiz-input-min-height)}.ibiz-input--readonly{line-height:var(--ibiz-input-min-height);color:var(--ibiz-input-readonly-color)}.ibiz-input .el-input__suffix .ibiz-input__unit{font-style:normal}.ibiz-input--readonly{height:auto}.ibiz-span-link{line-height:inherit;color:var(--ibiz-color-link);cursor:pointer}.ibiz-span-link:hover{color:var(--ibiz-color-link-hover)}.ibiz-span-link--disabled{cursor:not-allowed}.ibiz-span-link--readonly{color:var(--ibiz-form-item-readonly-color)}.ibiz-dropdown{width:var(--ibiz-dropdown-width);--ibiz-dropdown-width:100%}.ibiz-dropdown .el-select{width:100%}.ibiz-checkbox-list__text{font-size:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-text-color)}.ibiz-checkbox-list--readonly{color:var(--ibiz-form-item-readonly-color)}.ibiz-radio__text{font-size:var(--ibiz-form-item-font-size);color:inherit}.ibiz-radio--readonly{color:var(--ibiz-form-item-readonly-color)}.ibiz-date-picker .el-date-editor{width:100%}.ibiz-date-picker input{font-size:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-text-color);border-color:var(--ibiz-form-item-border-color)}.ibiz-date-picker input::placeholder{color:var(--ibiz-form-item-placeholder-color)}.ibiz-date-picker input[disabled]{color:var(--ibiz-form-item-disabled-color);background-color:var(--ibiz-form-item-disabled-bg-color);border-color:var(--ibiz-form-item-disabled-border-color)}.ibiz-date-picker--readonly{color:var(--ibiz-form-item-readonly-color)}.ibiz-autocomplete{width:100%}.ibiz-autocomplete__transfer{width:100%}.ibiz-list-box{height:100%;overflow:auto}.ibiz-list-box .ibiz-list-box-radio{display:flex;flex-flow:column nowrap;align-items:flex-start;justify-content:flex-start}.ibiz-list-box .ibiz-list-box-radio .el-radio .el-radio__label{font-size:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-text-color)}.ibiz-list-box .ibiz-list-box-checkbox{display:flex;flex-flow:column nowrap;align-items:flex-start;justify-content:flex-start}.ibiz-list-box .ibiz-list-box-checkbox .el-checkbox .el-checkbox__label{font-size:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-text-color)}.ibiz-image-preview{width:100%;height:100%;overflow:hidden}.ibiz-image-preview>.el-image{width:100%;height:100%}.ibiz-file-upload .ibiz-file-upload-button span{font-size:var(--ibiz-form-item-font-size)}.ibiz-file-upload .el-upload-list{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:flex-start}.ibiz-file-upload .el-upload-list__item{display:flex;align-items:center;justify-content:flex-start;flex:0 0 auto;color:var(--ibiz-color-tertiary)}.ibiz-file-upload .el-upload-list__item:hover{display:flex;align-items:center;justify-content:flex-start;background:var(--ibiz-form-item-disabled-bg-color)}.ibiz-file-upload .el-upload-list__item:hover span{color:var(--ibiz-color-tertiary)}.ibiz-file-upload--disabled .el-upload-list__item>span{color:var(--ibiz-form-item-disabled-color)}.ibiz-file-upload--readonly .el-upload-list__item>span{color:var(--ibiz-form-item-readonly-color)}.ibiz-image-upload{--ibiz-image-upload-box-width:120px;--ibiz-image-upload-box-height:120px;--ibiz-image-upload-list-item-margin:5px;--ibiz-image-upload-list-item-bg-color:var(--ibiz-bg-color);--ibiz-image-upload-list-item-border:1px solid var(--ibiz-border-color-light);--ibiz-image-upload-list-item-border-radius:var(--ibiz-border-radius-base);--ibiz-image-upload-list-item-box-shadow:var(--ibiz-box-shadow);--ibiz-image-upload-list-item-cover-bg-color:rgba(0, 0, 0, 0.6);--ibiz-image-upload-list-item-cover-i-color:var(--ibiz-color-white);--ibiz-image-upload-list-item-cover-i-size:var(--ibiz-font-size-extra-large);--ibiz-image-upload-list-item-cover-i-margin:0 2px;display:flex;align-items:center}.ibiz-image-upload .el-upload--picture-card{width:var(--ibiz-image-upload-box-width);height:var(--ibiz-image-upload-box-height)}.ibiz-image-upload__btn{width:var(--ibiz-image-upload-box-width);height:var(--ibiz-image-upload-box-height);line-height:var(--ibiz-image-upload-box-height)}.ibiz-image-upload__list-item{position:relative;display:inline-block;width:var(--ibiz-image-upload-box-width);height:var(--ibiz-image-upload-box-height);margin-right:var(--ibiz-image-upload-list-item-margin);line-height:var(--ibiz-image-upload-box-height);text-align:center;background:var(--ibiz-image-upload-list-item-bg-color);border:var(--ibiz-image-upload-list-item-border);border-radius:var(--ibiz-image-upload-list-item-border-radius);box-shadow:var(--ibiz-image-upload-list-item-box-shadow)}.ibiz-image-upload__list-item img{width:100%;height:100%;vertical-align:top}.ibiz-image-upload__list-item:hover .ibiz-image-upload__list-item-cover{display:block}.ibiz-image-upload__list-item-cover{position:absolute;inset:0;display:none;background:var(--ibiz-image-upload-list-item-cover-bg-color)}.ibiz-image-upload__list-item-cover ion-icon{margin:var(--ibiz-image-upload-list-item-cover-i-margin);font-size:var(--ibiz-image-upload-list-item-cover-i-size);color:var(--ibiz-image-upload-list-item-cover-i-color);cursor:pointer}.ibiz-image-upload__list-item-cover img{width:100%;height:100%;vertical-align:top}.ibiz-image-upload--disabled .ibiz-image-upload__download-icon{display:none}.ibiz-image-upload--disabled .ibiz-image-upload__remove-icon{display:none}.ibiz-image-upload--readonly .ibiz-image-upload__remove-icon{display:none}.ibiz-image-upload-modal__img{width:100%}.ibiz-picker-link{height:100%;line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-color-link);cursor:pointer}.ibiz-picker-link:hover{color:var(--ibiz-color-link-hover)}.ibiz-picker-link--disabled{cursor:not-allowed}.ibiz-picker-link--readonly{color:var(--ibiz-form-item-readonly-color)}.ibiz-picker-link a{display:inline-block;height:100%}.ibiz-picker .el-input .el-input__inner{font-size:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-text-color);border-color:var(--ibiz-form-item-border-color)}.ibiz-picker .el-input .el-input__inner::placeholder{color:var(--ibiz-form-item-placeholder-color)}.ibiz-picker .el-input.is-disabled .el-input__inner{color:var(--ibiz-form-item-disabled-color);background-color:var(--ibiz-form-item-disabled-bg-color);border-color:var(--ibiz-form-item-disabled-border-color)}.ibiz-picker ion-icon{cursor:pointer}.ibiz-picker__buns-position{position:relative;display:inline-block}.ibiz-picker__btns{position:absolute;right:0;display:flex;height:var(--ibiz-picker-height)}.ibiz-picker__btns span{display:flex;flex-flow:column nowrap;justify-content:center}.ibiz-picker__autocomplete{display:flex}.ibiz-picker__autocomplete .el-autocomplete{width:100%}.ibiz-picker__transfer-item{padding:5px;cursor:pointer}.ibiz-picker__transfer-item:hover{background-color:var(--ibiz-form-item-hover-bg-color)}.ibiz-picker__link{width:32px;height:32px;padding:0 6px;font-size:16px}.ibiz-picker--disabled ion-icon{pointer-events:none}.ibiz-picker--readonly{color:var(--ibiz-form-item-readonly-color)}.ibiz-picker-embed-view .ibiz-picker-embed-view-value{height:32px;line-height:32px}.ibiz-mpicker{display:flex}.ibiz-mpicker input::placeholder{color:var(--ibiz-form-item-placeholder-color)}.ibiz-mpicker .el-input.is-disabled .el-input__inner{color:var(--ibiz-form-item-disabled-color);background-color:var(--ibiz-form-item-disabled-bg-color);border-color:var(--ibiz-form-item-disabled-border-color)}.ibiz-mpicker .el-select{width:100%}.ibiz-mpicker ion-icon{cursor:pointer}.ibiz-mpicker__buns-position{position:relative;right:11px;display:inline-block}.ibiz-mpicker__btns{position:absolute;right:0;height:100%;color:var(--ibiz-form-item-placeholder-color);display:flex;align-items:center;justify-content:center}.ibiz-mpicker--disabled ion-icon{pointer-events:none}.ibiz-mpicker--readonly{color:var(--ibiz-form-item-readonly-color)}.ibiz-picker-dropdown .el-select{width:100%}.ibiz-picker-dropdown .el-input .el-input__inner{font-size:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-text-color);border-color:var(--ibiz-form-item-border-color)}.ibiz-picker-dropdown .el-input .el-input__inner::placeholder{color:var(--ibiz-form-item-placeholder-color)}.ibiz-picker-dropdown .el-input.is-disabled .el-input__inner{color:var(--ibiz-form-item-disabled-color);background-color:var(--ibiz-form-item-disabled-bg-color);border-color:var(--ibiz-form-item-disabled-border-color)}.ibiz-picker-dropdown--readonly{color:var(--ibiz-form-item-readonly-color)}.ibiz-picker-select-view{width:100%}.ibiz-picker-select-view .el-dropdown{width:100%}.ibiz-picker-select-view .el-select{width:100%}.ibiz-number-range-picker{width:100%;display:flex}.ibiz-number-range-picker .el-input-number{flex:1}.ibiz-date-range-picker .el-date-editor{width:100%}.ibiz-code{display:inline-block;width:100%;height:100%;min-height:200px}.ibiz-cascader .el-cascader{width:100%}.ibiz-control-viewlayoutpanel{width:100%;height:100%}.ibiz-control-viewlayoutpanel-content{width:100%;height:100%}.ibiz-array{height:100%}.ibiz-array>.ibiz-array-add-icon{height:100%}.ibiz-array ion-icon{cursor:pointer}.ibiz-control-panel{width:100%;height:100%}.ibiz-control-panel-content{width:100%;height:100%}.ibiz-export-excel{width:270px}.ibiz-export-excel__custom{display:flex;gap:10px;align-items:center;justify-content:center}.ibiz-export-excel__custom.el-dropdown-menu__item:focus{color:var(--el-text-color-regular);background-color:rgba(0,0,0,0)}.ibiz-control-grid{--ibiz-control-grid-text-color:var(--ibiz-color-text-0);--ibiz-control-grid-bg-color:transparent;--ibiz-control-grid-padding:0;--ibiz-control-grid-cell-padding:var(--ibiz-spacing-tight);--ibiz-control-grid-selection-padding:var(--ibiz-spacing-base-loose);--ibiz-control-grid-header-text-color:var(--ibiz-color-text-2);--ibiz-control-grid-header-cell-padding:var(--ibiz-control-grid-cell-padding);--ibiz-control-grid-header-height:auto;--ibiz-control-grid-content-text-color:var(--ibiz-control-grid-text-color);--ibiz-control-grid-content-item-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-grid-content-row-height:48px;--ibiz-control-grid-page-text-color:var(--ibiz-control-grid-text-color);--ibiz-control-grid-page-height:50px;--ibiz-control-grid-page-padding:0 var(--ibiz-spacing-base-tight);width:100%;height:100%;padding:var(--ibiz-control-grid-padding);background-color:var(--ibiz-control-grid-bg-color)}.ibiz-control-grid.is-enable-page .ibiz-control-grid__table{height:calc(100% - var(--ibiz-control-grid-page-height))}.ibiz-control-grid.is-enable-group .el-table__indent{display:none}.ibiz-control-grid__table{width:100%;height:100%}.ibiz-control-grid__table .caret-wrapper{gap:3px;justify-content:center}.ibiz-control-grid__table .sort-caret{position:initial}.ibiz-control-grid__table.el-table .el-table__cell{padding:0}.ibiz-control-grid__table .el-table__header-wrapper .cell{height:var(--ibiz-control-grid-header-height);padding:var(--ibiz-control-grid-header-cell-padding);color:var(--ibiz-control-grid-header-text-color);word-break:break-word;white-space:pre-wrap}.ibiz-control-grid__table .el-table__header-wrapper .el-table-column--selection .cell{padding:var(--ibiz-control-grid-selection-padding)}.ibiz-control-grid__table .el-table__header-wrapper .is-sortable.el-table__cell .cell{display:flex;align-items:center;justify-content:var(--ibiz-grid-column-justify-content)}.ibiz-control-grid__table .el-table__body-wrapper{color:var(--ibiz-control-grid-content-text-color);border-bottom:.1px solid var(--ibiz-color-border)}.ibiz-control-grid__table .el-table__body-wrapper .el-table__row{height:var(--ibiz-control-grid-content-row-height);cursor:pointer}.ibiz-control-grid__table .el-table__body-wrapper .el-table__row>td{height:0}@-moz-document url-prefix(){.ibiz-control-grid__table .el-table__body-wrapper .el-table__row>td{height:100%}}.ibiz-control-grid__table .el-table__body-wrapper .cell{display:flex;align-items:center;height:100%;padding:0}.ibiz-control-grid__table .el-table__body-wrapper .el-table-column--selection .cell{padding:var(--ibiz-control-grid-selection-padding)}.ibiz-control-grid__table .el-table__cell.is-center{--ibiz-grid-column-text-align:center;--ibiz-grid-column-justify-content:center}.ibiz-control-grid__table .el-table__cell.is-left{--ibiz-grid-column-text-align:left;--ibiz-grid-column-justify-content:flex-start}.ibiz-control-grid__table .el-table__cell.is-right{--ibiz-grid-column-text-align:right;--ibiz-grid-column-justify-content:flex-end}.ibiz-control-grid .ibiz-grid-page{display:flex;justify-content:flex-end;height:var(--ibiz-control-grid-page-height);padding:var(--ibiz-control-grid-page-padding)}.ibiz-control-grid .ibiz-grid-page .el-pagination{overflow:auto}.ibiz-control-searchform-buttons{display:flex;align-items:center;justify-content:flex-end;flex-shrink:0;text-align:right}.ibiz-control-searchform{--ibiz-control-searchform-bg-color:transparent;--ibiz-control-searchform-padding:0 var(--ibiz-spacing-base);display:flex;padding:var(--ibiz-control-searchform-padding);background-color:var(--ibiz-control-searchform-bg-color)}.ibiz-control-searchform>.ibiz-form-page{flex-grow:1}.ibiz-control-form{width:100%}.ibiz-control-treeexpbar{min-width:300px;height:100%;overflow-y:scroll}.ibiz-control-listexpbar{min-width:300px;height:100%;overflow-y:scroll}.ibiz-control-dataviewexpbar{height:100%;overflow-y:scroll}.ibiz-control-gridexpbar{min-width:300px;height:100%;overflow-y:scroll}.ibiz-portlet-layout{--ibiz-portlet-layout-bg-color:transparent;--ibiz-portlet-layout-header-height:50px;--ibiz-portlet-layout-header-padding:14px 16px;--ibiz-portlet-layout-header-margin:0;--ibiz-portlet-layout-header-bg-color:transparent;--ibiz-portlet-layout-header-border-bottom:var(--ibiz-border);--ibiz-portlet-layout-caption-max-width:300px;--ibiz-portlet-layout-caption-font-weight:600;--ibiz-portlet-layout-caption-font-size:var(--ibiz-font-size-medium);--ibiz-portlet-layout-caption-color:var(--ibiz-text-color-primary);--ibiz-portlet-layout-content-bg-color:transparent;--ibiz-portlet-layout-content-padding:0;--ibiz-portlet-layout-content-margin:0;width:100%;height:100%;background-color:var(--ibiz-portlet-layout-bg-color)}.ibiz-portlet-layout__caption{max-width:var(--ibiz-portlet-layout-caption-max-width)}.ibiz-portlet-layout__caption-text{font-size:var(--ibiz-portlet-layout-caption-font-size);font-weight:var(--ibiz-portlet-layout-caption-font-weight);color:var(--ibiz-portlet-layout-caption-color)}.ibiz-portlet-layout.is-no-header>.ibiz-portlet-layout-content{height:100%}.ibiz-portlet-layout-header{display:flex;justify-content:space-between;height:var(--ibiz-portlet-layout-header-height);padding:var(--ibiz-portlet-layout-header-padding);margin:var(--ibiz-portlet-layout-header-margin);background-color:var(--ibiz-portlet-layout-header-bg-color);border-bottom:var(--ibiz-portlet-layout-header-border-bottom)}.ibiz-portlet-layout-content{height:calc(100% - var(--ibiz-portlet-layout-header-height));padding:var(--ibiz-portlet-layout-content-padding);margin:var(--ibiz-portlet-layout-content-margin);background-color:var(--ibiz-portlet-layout-content-bg-color)}.ibiz-form-page{--ibiz-form-page-font-size:var(--ibiz-font-size-regular);--ibiz-form-page-header-border-color:var(--ibiz-color-border);--ibiz-form-page-text-color:var(--ibiz-color-text-2);--ibiz-form-page-bg-color:transparent;--ibiz-form-page-hover-text-color:var(--ibiz-color-text-0);--ibiz-form-page-hover-bg-color:transparent;--ibiz-form-page-active-text-color:var(--ibiz-color-text-0);--ibiz-form-page-active-bg-color:transparent;--ibiz-form-page-active-border-color:var(--ibiz-color-primary)}.ibiz-form-page--no-tab-header .ibiz-form-page-item{padding-top:0}.ibiz-form-page-tab>.el-tabs__header.is-top{margin:0}.ibiz-form-page-tab>.el-tabs__header.is-top .el-tabs__item.is-top{font-size:var(--ibiz-form-page-font-size);color:var(--ibiz-form-page-text-color);background-color:var(--ibiz-form-page-bg-color)}.ibiz-form-page-tab>.el-tabs__header.is-top .el-tabs__item.is-top:hover{color:var(--ibiz-form-page-hover-text-color);background-color:var(--ibiz-form-page-hover-bg-color)}.ibiz-form-page-tab>.el-tabs__header.is-top .el-tabs__item.is-top.is-active{color:var(--ibiz-form-page-active-text-color);background-color:var(--ibiz-form-page-active-bg-color)}.ibiz-form-page-tab .el-tabs__nav-wrap::after{background-color:var(--ibiz-form-page-header-border-color)}.ibiz-form-page-tab .el-tabs__active-bar{background-color:var(--ibiz-form-page-active-border-color)}.ibiz-form-page-item{padding-top:var(--ibiz-padding-top)}.ibiz-form-page-item-child{margin-bottom:var(--ibiz-margin-bottom)}.ibiz-form-button{--ibiz-form-button-icon-margin:0 var(--ibiz-spacing-extra-tight) 0 0;--ibiz-form-button-icon-max-width:var(--ibiz-width-icon-medium);--ibiz-form-button-icon-max-height:var(--ibiz-width-icon-medium);overflow:hidden}.ibiz-form-button img,.ibiz-form-button i{display:inline-block;max-width:var(--ibiz-form-button-icon-max-width);max-height:var(--ibiz-form-button-icon-max-height);margin:var(--ibiz-form-button-icon-margin)}.ibiz-form-tab-panel{width:100%;height:100%;--ibiz-form-tab-panel-font-size:var(--ibiz-font-size-regular);--ibiz-form-tab-panel-header-border-color:var(--ibiz-color-border);--ibiz-form-tab-panel-text-color:var(--ibiz-color-text-2);--ibiz-form-tab-panel-bg-color:transparent;--ibiz-form-tab-panel-hover-text-color:var(--ibiz-color-text-0);--ibiz-form-tab-panel-hover-bg-color:transparent;--ibiz-form-tab-panel-active-text-color:var(--ibiz-color-text-0);--ibiz-form-tab-panel-active-bg-color:transparent;--ibiz-form-tab-panel-active-border-color:var(--ibiz-color-primary)}.ibiz-form-tab-panel>.el-tabs__header.is-top{margin:0}.ibiz-form-tab-panel>.el-tabs__header.is-top .el-tabs__item.is-top{font-size:var(--ibiz-form-tab-panel-font-size);color:var(--ibiz-form-tab-panel-text-color);background-color:var(--ibiz-form-tab-panel-bg-color)}.ibiz-form-tab-panel>.el-tabs__header.is-top .el-tabs__item.is-top:hover{color:var(--ibiz-form-tab-panel-hover-text-color);background-color:var(--ibiz-form-tab-panel-hover-bg-color)}.ibiz-form-tab-panel>.el-tabs__header.is-top .el-tabs__item.is-top.is-active{color:var(--ibiz-form-tab-panel-active-text-color);background-color:var(--ibiz-form-tab-panel-active-bg-color)}.ibiz-form-tab-panel .el-tabs__nav-wrap::after{background-color:var(--ibiz-form-tab-panel-header-border-color)}.ibiz-form-tab-panel .el-tabs__active-bar{background-color:var(--ibiz-form-tab-panel-active-border-color)}.ibiz-form-group{--ibiz-form-group-bg-color:transparent;--ibiz-form-group-footer-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);--ibiz-form-group-show-more-color:var(--ibiz-color-primary);--ibiz-form-group-header-bg-color:transparent;--ibiz-form-group-header-padding:var(--ibiz-spacing-base-tight);--ibiz-form-group-header-border-color:var(--ibiz-color-border);--ibiz-form-group-caption-text-color:var(--ibiz-color-text-0);--ibiz-form-group-caption-font-size:var(--ibiz-font-size-header-5);--ibiz-form-group-caption-font-weight:var(--ibiz-font-weight-bold);--ibiz-form-group-content-bg-color:transparent;--ibiz-form-group-content-padding:var(--ibiz-spacing-tight)}.ibiz-form-group{width:100%;height:100%;background-color:var(--ibiz-form-group-bg-color);border-radius:var(--ibiz-border-radius-base)}.ibiz-form-group__caption{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ibiz-form-group-caption-font-size);font-weight:var(--ibiz-form-group-caption-font-weight);color:var(--ibiz-form-group-caption-text-color)}.ibiz-form-group__toolbar{text-align:right}.ibiz-form-group-collapse>.ibiz-form-group-content{display:block}.ibiz-form-group-collapse.is-collapse>.ibiz-form-group-content{display:none}.ibiz-form-group-header{display:flex;padding:var(--ibiz-form-group-header-padding);margin:var(--ibiz-form-group-header-margin);border-bottom:1px solid var(--ibiz-form-group-header-border-color)}.ibiz-form-group-header__left,.ibiz-form-group-header__right{display:inline-block;width:50%}.ibiz-form-group-header__right{text-align:right}.ibiz-form-group--show-header>.ibiz-form-group-content{padding:var(--ibiz-form-group-content-padding);background-color:var(--ibiz-form-group-content-bg-color)}.ibiz-form-group-footer{padding:var(--ibiz-form-group-footer-padding)}.ibiz-form-group-footer__show-more-button{display:inline-block;color:var(--ibiz-form-group-show-more-color);cursor:pointer}.ibiz-form-druipart{position:relative;width:100%;height:100%}.ibiz-form-druipart__mask{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;color:#fff;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center}.ibiz-form-item{border-color:var(--ibiz-color-border);--ibiz-form-item-label-color:var(--ibiz-color-text-0);--ibiz-form-item-text-color:var(--ibiz-color-text-0);--ibiz-form-item-bg-color:var(--ibiz-color-fill-0);--ibiz-form-item-hover-color:var(--ibiz-color-text-0);--ibiz-form-item-hover-bg-color:var(--ibiz-color-fill-1);--ibiz-form-item-readonly-color:var(--ibiz-color-disabled-text);--ibiz-form-item-border-color:transparent;--ibiz-form-item-font-size:var(--ibiz-font-size-regular);--ibiz-form-item-error-font-size:var(--ibiz-font-size-regular);--ibiz-form-item-error-color:var(--ibiz-color-danger);--ibiz-form-item-placeholder-color:var(--ibiz-color-text-2);--ibiz-form-item-disabled-color:var(--ibiz-color-disabled-text);--ibiz-form-item-disabled-bg-color:var(--ibiz-color-disabled-fill);--ibiz-form-item-disabled-border-color:var(--ibiz-color-disabled-border);--ibiz-form-item-active-bg:var(--ibiz-color-fill-2);--ibiz-form-item-active-border:var(--ibiz-active-bg);--ibiz-form-item-focus-bg:var(--ibiz-color-fill-0);--ibiz-form-item-focus-border:var(--ibiz-color-focus-border);--ibiz-form-item-line-height:var(--ibiz-editor-default-line-height)}.ibiz-form-item .el-input__wrapper,.ibiz-form-item .el-textarea__inner{--el-input-bg-color: var(--ibiz-form-item-bg-color)}.ibiz-form-raw-item{width:100%;height:100%}.ibiz-form-tab-page{width:100%;height:100%}.ibiz-form-item-container{--ibiz-form-item-container-label-width:130px;--ibiz-form-item-container-line-height:32px;--ibiz-form-item-container-require-mark-color:var(--ibiz-color-danger);--ibiz-form-item-container-label-left-padding:6px var(--ibiz-spacing-base) 6px 0;--ibiz-form-item-container-label-right-padding:6px 0 6px var(--ibiz-spacing-base);--ibiz-form-item-container-padding:var(--ibiz-spacing-base-tight) 0;--ibiz-form-item-container-error-margin-top:var(--ibiz-spacing-extra-tight);width:100%;height:100%;padding:var(--ibiz-form-item-container-padding)}.ibiz-form-item-container__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;font-size:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-text-color)}.ibiz-form-item-container--left,.ibiz-form-item-container--right{display:flex;min-height:var(--ibiz-form-item-container-line-height)}.ibiz-form-item-container--left .ibiz-form-item-container__label,.ibiz-form-item-container--right .ibiz-form-item-container__label{width:var(--ibiz-form-item-container-label-width)}.ibiz-form-item-container--top,.ibiz-form-item-container--bottom{display:flex;flex-flow:column nowrap}.ibiz-form-item-container--top .ibiz-form-item-container__label{margin-bottom:var(--ibiz-spacing-extra-tight)}.ibiz-form-item-container--bottom .ibiz-form-item-container__label{margin-top:var(--ibiz-spacing-extra-tight)}.ibiz-form-item-container--left .ibiz-form-item-container__label{padding:var(--ibiz-form-item-container-label-left-padding);text-align:right}.ibiz-form-item-container--right .ibiz-form-item-container__label{padding:var(--ibiz-form-item-container-label-right-padding);text-align:left}.ibiz-form-item-container.is-required .ibiz-form-item-container__label::before{display:inline-block;margin-right:4px;font-family:SimSun;line-height:1;color:var(--ibiz-form-item-container-require-mark-color);content:"*"}.ibiz-form-item-container__content{display:flex;flex-flow:column nowrap;position:relative;flex-grow:1}.ibiz-form-item-container__content--label-none,.ibiz-form-item-container__content--label-left,.ibiz-form-item-container__content--label-right{height:100%}.ibiz-form-item-container__editor{position:relative;flex-grow:1;height:100%}.ibiz-form-item-container__error{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:absolute;top:100%;width:100%;margin-top:var(--ibiz-form-item-container-error-margin-top);font-size:var(--ibiz-form-item-error-font-size);line-height:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-error-color);word-wrap:break-word}.ibiz-grid-field-column{--ibiz-grid-field-column-cell-padding:var(--ibiz-spacing-tight);--ibiz-grid-field-column-text-color:var(--ibiz-color-primary);display:inline-flex;align-items:center;justify-content:var(--ibiz-grid-column-justify-content);width:auto;height:100%;padding:var(--ibiz-grid-field-column-cell-padding)}.ibiz-grid-field-column__text{word-break:break-word;white-space:pre-wrap}.ibiz-grid-field-column--clickable{color:var(--ibiz-grid-field-column-text-color);cursor:pointer}.ibiz-grid-ua-column{--ibiz-grid-ua-column-cell-padding:var(--ibiz-spacing-tight);--ibiz-grid-ua-column-btn-bg-color:transparent;--ibiz-grid-ua-column-btn-hover-color:var(--ibiz-color-primary-hover);--ibiz-grid-ua-column-btn-color:var(--ibiz-color-primary);--ibiz-grid-ua-column-font-size:transparent;display:flex;align-items:center;justify-content:var(--ibiz-grid-column-text-align);width:100%;height:100%;padding:var(--ibiz-grid-ua-column-cell-padding)}.ibiz-grid-ua-column .el-button{font-size:var(--ibiz-grid-ua-column-font-size);color:var(--ibiz-grid-ua-column-btn-color);background-color:var(--ibiz-grid-ua-column-btn-bg-color);box-shadow:none}.ibiz-grid-ua-column .el-button:hover{color:var(--ibiz-grid-ua-column-btn-hover-color)}.ibiz-form-mdctrl .ibiz-form-mdctrl-table-left-remove-btn{display:none;padding:0;color:var(--ibiz-color-danger)}.ibiz-form-mdctrl .ibiz-form-mdctrl-table-left-index{display:inline-block}.ibiz-form-mdctrl .ibiz-form-mdctrl-table-left{height:28px}.ibiz-form-mdctrl .el-table__row:hover .ibiz-form-mdctrl-table-left-remove-btn{display:inline-block}.ibiz-form-mdctrl .el-table__row:hover .ibiz-form-mdctrl-table-left-index{display:none}.ibiz-grid-edit-item{--ibiz-grid-edit-item-cell-hover-bg-color:var(--ibiz-color-fill-0);width:100%;height:100%}.ibiz-grid-edit-item.is-error .ibiz-grid-edit-item__tooltip{border:1px solid red}.ibiz-grid-edit-item__tooltip{display:flex;align-items:center;justify-content:var(--ibiz-grid-column-justify-content);width:100%;height:100%;padding:var(--ibiz-spacing-tight);text-align:var(--ibiz-grid-column-text-align)}.ibiz-grid-edit-item .ibiz-input--readonly,.ibiz-grid-edit-item .ibiz-checkbox--readonly,.ibiz-grid-edit-item .ibiz-radio--readonly,.ibiz-grid-edit-item .ibiz-picker--readonly,.ibiz-grid-edit-item .ibiz-picker-dropdown--readonly,.ibiz-grid-edit-item .ibiz-mpicker--readonly,.ibiz-grid-edit-item .ibiz-date-picker--readonly,.ibiz-grid-edit-item .ibiz-dropdown--readonly{color:var(--ibiz-color-text-0)}.ibiz-grid-edit-item--show-mask:hover{cursor:pointer;background-color:var(--ibiz-grid-edit-item-cell-hover-bg-color)}.ibiz-form-mdctrl .ibiz-form-mdctrl-main .ibiz-form-mdctrl-form-content{display:flex;gap:var(--ibiz-spacing-tight);margin-top:var(--ibiz-spacing-tight)}.ibiz-form-mdctrl .ibiz-form-mdctrl-main .ibiz-form-mdctrl-form-content-container{width:100%}.ibiz-form-mdctrl .ibiz-form-mdctrl-main .ibiz-form-mdctrl-form-content-control{width:100%}.ibiz-form-mdctrl .ibiz-form-mdctrl-main .ibiz-form-mdctrl-btn{cursor:pointer;display:flex;flex-flow:column nowrap;align-items:center;justify-content:flex-start}.ibiz-form-mdctrl .ibiz-form-mdctrl-main .ibiz-form-mdctrl-title{display:flex;align-items:center;justify-content:space-between}