@simple-table/vue 4.0.8 → 4.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),r=require("simple-table-core");function t(e,r){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&r.indexOf(n)<0&&(t[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)r.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(t[n[o]]=e[n[o]])}return t}function n(r,t){return n=>{const o=document.createElement("div");return e.render(e.h(t,n),o),r.register(o,()=>e.render(null,o)),o}}function o(r,t,n,o){const s="cell"===n?r.cellRendererCache:r.headerRendererCache,c=s.get(t);if(c)return c.component=o,c.wrapped;const i={component:o,wrapped:null},d=t=>{const n=document.createElement("div");return e.render(e.h(i.component,t),n),r.register(n,()=>e.render(null,n)),n};return i.wrapped=d,s.set(t,i),d}function s(r,t){const n=document.createElement("div");return e.render(t,n),r.register(n,()=>e.render(null,n)),n}function c(r){const t=document.createElement("div");e.render(r,t);const n=t.innerHTML;return e.render(null,t),n}function i(e){return"object"==typeof e||"function"==typeof e}function d(e,r){const{cellRenderer:n,headerRenderer:s,children:c,nestedTable:i}=e,l=t(e,["cellRenderer","headerRenderer","children","nestedTable"]),u=String(e.accessor),p=Object.assign({},l);if(n&&(p.cellRenderer="object"==typeof n?o(r,u,"cell",n):n),s&&(p.headerRenderer="object"==typeof s?o(r,u,"header",s):s),c&&(p.children=c.map(e=>d(e,r))),i){const e=Object.assign(Object.assign({},i),{rows:[]});p.nestedTable=a(e,r)}return p}function l(e){const r=e.columns;if(!r)throw new Error("SimpleTable requires `columns`");return r}function a(e,o){const{rows:a,footerRenderer:u,emptyStateRenderer:p,errorStateRenderer:f,loadingStateRenderer:b,tableEmptyStateRenderer:m,headerDropdown:R,columnEditorConfig:h,icons:g,rowButtons:w,enableColumnEditor:O,enableColumnEditorInitOpen:y,enablePagination:v,onTableReady:E,hoverRowBackground:S,oddColumnBackground:C,oddEvenRowBackground:P}=e,j=t(e,["columns","rows","footerRenderer","emptyStateRenderer","errorStateRenderer","loadingStateRenderer","tableEmptyStateRenderer","headerDropdown","columnEditorConfig","icons","rowButtons","enableColumnEditor","enableColumnEditorInitOpen","enablePagination","onTableReady","hoverRowBackground","oddColumnBackground","oddEvenRowBackground"]),T=l(e);o.pruneRendererCaches(r.collectHeaderAccessors(T));const I=Object.assign(Object.assign({},j),{rows:a,columns:T.map(e=>d(e,o)),enableColumnEditor:O,enableColumnEditorInitOpen:y,enablePagination:v,onTableReady:E,hoverRowBackground:S,oddColumnBackground:C,oddEvenRowBackground:P,onRendererHostDiscard:o.disposeHost});if(void 0!==u&&(I.footerRenderer="object"==typeof u?n(o,u):u),void 0!==p)if(i(p))I.emptyStateRenderer=n(o,p);else{const e=p;I.emptyStateRenderer=()=>s(o,e)}if(void 0!==f)if(i(f))I.errorStateRenderer=n(o,f);else{const e=f;I.errorStateRenderer=()=>s(o,e)}if(void 0!==b)if(i(b))I.loadingStateRenderer=n(o,b);else{const e=b;I.loadingStateRenderer=()=>s(o,e)}return void 0!==m&&(I.tableEmptyStateRenderer=null===m?null:m instanceof HTMLElement||"string"==typeof m?m:s(o,m)),void 0!==R&&(I.headerDropdown=n(o,R)),void 0!==h&&(I.columnEditorConfig=function(e,r){const{rowRenderer:o,customRenderer:s}=e,c=t(e,["rowRenderer","customRenderer"]);return Object.assign(Object.assign(Object.assign({},c),o?{rowRenderer:n(r,o)}:{}),s?{customRenderer:n(r,s)}:{})}(h,o)),void 0!==g&&(I.icons=function(e){const r={};for(const[t,n]of Object.entries(e))null!=n&&(r[t]="string"==typeof n||n instanceof HTMLElement||n instanceof SVGElement?n:c(n));return r}(g)),void 0!==w&&(I.rowButtons=w.map(e=>n(o,e))),I}"function"==typeof SuppressedError&&SuppressedError;const u="data-st-mount-id";class p{constructor(){this.entries=new Map,this.nextId=0,this.cellRendererCache=new Map,this.headerRendererCache=new Map,this.disposeHost=e=>{if("function"!=typeof e.getAttribute)return;const r=[],t=e.getAttribute(u);null!==t&&r.push(t),e.querySelectorAll(`[${u}]`).forEach(e=>{const t=e.getAttribute(u);null!==t&&r.push(t)});for(const e of r){const r=this.entries.get(e);r&&(this.entries.delete(e),r())}}}register(e,r){const t="st-mount-"+this.nextId++;e.setAttribute(u,t),this.entries.set(t,r)}clear(){this.cellRendererCache.clear(),this.headerRendererCache.clear();for(const e of this.entries.values())e();this.entries.clear()}pruneRendererCaches(e){for(const r of this.cellRendererCache.keys())e.has(r)||this.cellRendererCache.delete(r);for(const r of this.headerRendererCache.keys())e.has(r)||this.headerRendererCache.delete(r)}get size(){return this.entries.size}}function f(r){const t={};for(const n in r)t[e.camelize(n)]=""===r[n]||r[n];return t}const b=e.defineComponent({name:"SimpleTable",props:{},inheritAttrs:!1,setup(t,{attrs:n,expose:o}){const s=e.ref(null);let c=null;const i=new p;let d,u;return e.onMounted(()=>{if(!s.value)return;const e=f(n);c=new r.SimpleTableVanilla(s.value,a(e,i)),c.mount(),d=l(e),u=e.rows}),e.watch(n,function(){if(!c)return;const e=f(n),t=a(e,i),o=Object.assign({},t),s=l(e),p=r.headersStructurallyEqual(d,s);d=s,p&&delete o.columns;const b=r.rowsShallowUnchanged(u,e.rows,e.getRowId);u=e.rows,b&&delete o.rows,c.update(o)},{deep:!0}),e.onUnmounted(()=>{null==c||c.destroy(),c=null,d=void 0,u=void 0,i.clear()}),o({getAPI:()=>{var e;return null!==(e=null==c?void 0:c.getAPI())&&void 0!==e?e:null}}),()=>e.h("div",{ref:s})}});Object.defineProperty(exports,"PIVOT_ACCESSOR_PREFIX",{enumerable:!0,get:function(){return r.PIVOT_ACCESSOR_PREFIX}}),Object.defineProperty(exports,"PIVOT_BLANK_LABEL",{enumerable:!0,get:function(){return r.PIVOT_BLANK_LABEL}}),Object.defineProperty(exports,"PIVOT_CHILDREN_KEY",{enumerable:!0,get:function(){return r.PIVOT_CHILDREN_KEY}}),Object.defineProperty(exports,"PIVOT_IS_TOTAL_KEY",{enumerable:!0,get:function(){return r.PIVOT_IS_TOTAL_KEY}}),Object.defineProperty(exports,"asRows",{enumerable:!0,get:function(){return r.asRows}}),Object.defineProperty(exports,"buildPivotAccessor",{enumerable:!0,get:function(){return r.buildPivotAccessor}}),Object.defineProperty(exports,"buildPivotRowTotalAccessor",{enumerable:!0,get:function(){return r.buildPivotRowTotalAccessor}}),Object.defineProperty(exports,"pivotRows",{enumerable:!0,get:function(){return r.pivotRows}}),exports.SimpleTable=b;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),n=require("simple-table-core");function r(e,n){var r={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&n.indexOf(t)<0&&(r[t]=e[t]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(t=Object.getOwnPropertySymbols(e);o<t.length;o++)n.indexOf(t[o])<0&&Object.prototype.propertyIsEnumerable.call(e,t[o])&&(r[t[o]]=e[t[o]])}return r}function t(n,r){return t=>{const o=document.createElement("div");return e.render(e.h(r,t),o),n.register(o,()=>e.render(null,o)),o}}function o(n,r,t,o){const s="cell"===t?n.cellRendererCache:n.headerRendererCache,d=s.get(r);if(d)return d.component=o,d.wrapped;const i={component:o,wrapped:null},l=r=>{const t=document.createElement("div");return e.render(e.h(i.component,r),t),n.register(t,()=>e.render(null,t)),t};return i.wrapped=l,s.set(r,i),l}function s(n,r){const t=document.createElement("div");return e.render(r,t),n.register(t,()=>e.render(null,t)),t}function d(n){const r=document.createElement("div");e.render(n,r);const t=r.innerHTML;return e.render(null,r),t}function i(e){return"object"==typeof e||"function"==typeof e}function l(e,n){const{cellRenderer:t,headerRenderer:s,children:d,nestedTable:i}=e,c=r(e,["cellRenderer","headerRenderer","children","nestedTable"]),u=String(e.accessor),p=Object.assign({},c);if(t&&(p.cellRenderer=o(n,u,"cell",t)),s&&(p.headerRenderer=o(n,u,"header",s)),d&&(p.children=d.map(e=>l(e,n))),i){const e=Object.assign(Object.assign({},i),{rows:[]});p.nestedTable=a(e,n)}return p}function c(e){const n=e.columns;if(!n)throw new Error("SimpleTable requires `columns`");return n}function a(e,o){const{rows:a,footerRenderer:u,emptyStateRenderer:p,errorStateRenderer:f,loadingStateRenderer:m,tableEmptyStateRenderer:h,headerDropdown:b,columnEditorConfig:R,icons:g,rowButtons:w,onColumnOrderChange:C,onColumnWidthChange:O,onHeaderEdit:E,onColumnSelect:v,enableColumnEditor:y,enableColumnEditorInitOpen:S,enablePagination:P,onTableReady:T,hoverRowBackground:j,oddColumnBackground:I,oddEvenRowBackground:A}=e,_=r(e,["columns","rows","footerRenderer","emptyStateRenderer","errorStateRenderer","loadingStateRenderer","tableEmptyStateRenderer","headerDropdown","columnEditorConfig","icons","rowButtons","onColumnOrderChange","onColumnWidthChange","onHeaderEdit","onColumnSelect","enableColumnEditor","enableColumnEditorInitOpen","enablePagination","onTableReady","hoverRowBackground","oddColumnBackground","oddEvenRowBackground"]),B=c(e);o.pruneRendererCaches(n.collectHeaderAccessors(B));const x=Object.assign(Object.assign({},_),{rows:n.asRows(a),columns:B.map(e=>l(e,o)),enableColumnEditor:y,enableColumnEditorInitOpen:S,enablePagination:P,onTableReady:T,hoverRowBackground:j,oddColumnBackground:I,oddEvenRowBackground:A,onRendererHostDiscard:o.disposeHost});if(C&&(x.onColumnOrderChange=e=>C(e)),O&&(x.onColumnWidthChange=e=>O(e)),E&&(x.onHeaderEdit=(e,n)=>E(e,n)),v&&(x.onColumnSelect=e=>v(e)),void 0!==u&&(x.footerRenderer=t(o,u)),void 0!==p)if(i(p))x.emptyStateRenderer=t(o,p);else{const e=p;x.emptyStateRenderer=()=>s(o,e)}if(void 0!==f)if(i(f))x.errorStateRenderer=t(o,f);else{const e=f;x.errorStateRenderer=()=>s(o,e)}if(void 0!==m)if(i(m))x.loadingStateRenderer=t(o,m);else{const e=m;x.loadingStateRenderer=()=>s(o,e)}return void 0!==h&&(x.tableEmptyStateRenderer=null===h?null:h instanceof HTMLElement||"string"==typeof h?h:s(o,h)),void 0!==b&&(x.headerDropdown=t(o,b)),void 0!==R&&(x.columnEditorConfig=function(e,n){const{rowRenderer:o,customRenderer:s}=e,d=r(e,["rowRenderer","customRenderer"]);return Object.assign(Object.assign(Object.assign({},d),o?{rowRenderer:t(n,o)}:{}),s?{customRenderer:t(n,s)}:{})}(R,o)),void 0!==g&&(x.icons=function(e){const n={};for(const[r,t]of Object.entries(e))null!=t&&(n[r]="string"==typeof t||t instanceof HTMLElement||t instanceof SVGElement?t:d(t));return n}(g)),void 0!==w&&(x.rowButtons=w.map(e=>t(o,e))),x}"function"==typeof SuppressedError&&SuppressedError;const u="data-st-mount-id";class p{constructor(){this.entries=new Map,this.nextId=0,this.cellRendererCache=new Map,this.headerRendererCache=new Map,this.disposeHost=e=>{if("function"!=typeof e.getAttribute)return;const n=[],r=e.getAttribute(u);null!==r&&n.push(r),e.querySelectorAll(`[${u}]`).forEach(e=>{const r=e.getAttribute(u);null!==r&&n.push(r)});for(const e of n){const n=this.entries.get(e);n&&(this.entries.delete(e),n())}}}register(e,n){const r="st-mount-"+this.nextId++;e.setAttribute(u,r),this.entries.set(r,n)}clear(){this.cellRendererCache.clear(),this.headerRendererCache.clear();for(const e of this.entries.values())e();this.entries.clear()}pruneRendererCaches(e){for(const n of this.cellRendererCache.keys())e.has(n)||this.cellRendererCache.delete(n);for(const n of this.headerRendererCache.keys())e.has(n)||this.headerRendererCache.delete(n)}get size(){return this.entries.size}}function f(n){const r={};for(const t in n)r[e.camelize(t)]=""===n[t]||n[t];return r}const m=e.defineComponent({name:"SimpleTable",props:{},inheritAttrs:!1,setup(r,{attrs:t,expose:o}){const s=e.ref(null);let d=null;const i=new p;let l,u;return e.onMounted(()=>{if(!s.value)return;const e=f(t);d=new n.SimpleTableVanilla(s.value,a(e,i)),d.mount(),l=c(e),u=e.rows}),e.watch(t,function(){if(!d)return;const e=f(t),r=a(e,i),o=Object.assign({},r),s=c(e),p=n.headersStructurallyEqual(l,s);l=s,p&&delete o.columns;const m=n.rowsShallowUnchanged(u,e.rows,e.getRowId);u=e.rows,m&&delete o.rows,d.update(o)},{deep:!0}),e.onUnmounted(()=>{null==d||d.destroy(),d=null,l=void 0,u=void 0,i.clear()}),o({getAPI:()=>{var e;return null!==(e=null==d?void 0:d.getAPI())&&void 0!==e?e:null}}),()=>e.h("div",{ref:s})}});Object.defineProperty(exports,"PIVOT_ACCESSOR_PREFIX",{enumerable:!0,get:function(){return n.PIVOT_ACCESSOR_PREFIX}}),Object.defineProperty(exports,"PIVOT_BLANK_LABEL",{enumerable:!0,get:function(){return n.PIVOT_BLANK_LABEL}}),Object.defineProperty(exports,"PIVOT_CHILDREN_KEY",{enumerable:!0,get:function(){return n.PIVOT_CHILDREN_KEY}}),Object.defineProperty(exports,"PIVOT_IS_TOTAL_KEY",{enumerable:!0,get:function(){return n.PIVOT_IS_TOTAL_KEY}}),Object.defineProperty(exports,"asRows",{enumerable:!0,get:function(){return n.asRows}}),Object.defineProperty(exports,"buildPivotAccessor",{enumerable:!0,get:function(){return n.buildPivotAccessor}}),Object.defineProperty(exports,"buildPivotRowTotalAccessor",{enumerable:!0,get:function(){return n.buildPivotRowTotalAccessor}}),Object.defineProperty(exports,"pivotRows",{enumerable:!0,get:function(){return n.pivotRows}}),exports.SimpleTable=m;
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.es.js CHANGED
@@ -1,2 +1,2 @@
1
- import{render as e,h as t,defineComponent as n,ref as r,onMounted as o,watch as s,onUnmounted as c,camelize as i}from"vue";import{collectHeaderAccessors as d,SimpleTableVanilla as l,headersStructurallyEqual as a,rowsShallowUnchanged as u}from"simple-table-core";export{PIVOT_ACCESSOR_PREFIX,PIVOT_BLANK_LABEL,PIVOT_CHILDREN_KEY,PIVOT_IS_TOTAL_KEY,asRows,buildPivotAccessor,buildPivotRowTotalAccessor,pivotRows}from"simple-table-core";function p(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n}function f(n,r){return o=>{const s=document.createElement("div");return e(t(r,o),s),n.register(s,()=>e(null,s)),s}}function m(n,r,o,s){const c="cell"===o?n.cellRendererCache:n.headerRendererCache,i=c.get(r);if(i)return i.component=s,i.wrapped;const d={component:s,wrapped:null},l=r=>{const o=document.createElement("div");return e(t(d.component,r),o),n.register(o,()=>e(null,o)),o};return d.wrapped=l,c.set(r,d),l}function R(t,n){const r=document.createElement("div");return e(n,r),t.register(r,()=>e(null,r)),r}function h(t){const n=document.createElement("div");e(t,n);const r=n.innerHTML;return e(null,n),r}function b(e){return"object"==typeof e||"function"==typeof e}function g(e,t){const{cellRenderer:n,headerRenderer:r,children:o,nestedTable:s}=e,c=p(e,["cellRenderer","headerRenderer","children","nestedTable"]),i=String(e.accessor),d=Object.assign({},c);if(n&&(d.cellRenderer="object"==typeof n?m(t,i,"cell",n):n),r&&(d.headerRenderer="object"==typeof r?m(t,i,"header",r):r),o&&(d.children=o.map(e=>g(e,t))),s){const e=Object.assign(Object.assign({},s),{rows:[]});d.nestedTable=v(e,t)}return d}function w(e){const t=e.columns;if(!t)throw new Error("SimpleTable requires `columns`");return t}function v(e,t){const{rows:n,footerRenderer:r,emptyStateRenderer:o,errorStateRenderer:s,loadingStateRenderer:c,tableEmptyStateRenderer:i,headerDropdown:l,columnEditorConfig:a,icons:u,rowButtons:m,enableColumnEditor:v,enableColumnEditorInitOpen:E,enablePagination:y,onTableReady:O,hoverRowBackground:C,oddColumnBackground:S,oddEvenRowBackground:j}=e,T=p(e,["columns","rows","footerRenderer","emptyStateRenderer","errorStateRenderer","loadingStateRenderer","tableEmptyStateRenderer","headerDropdown","columnEditorConfig","icons","rowButtons","enableColumnEditor","enableColumnEditorInitOpen","enablePagination","onTableReady","hoverRowBackground","oddColumnBackground","oddEvenRowBackground"]),I=w(e);t.pruneRendererCaches(d(I));const P=Object.assign(Object.assign({},T),{rows:n,columns:I.map(e=>g(e,t)),enableColumnEditor:v,enableColumnEditorInitOpen:E,enablePagination:y,onTableReady:O,hoverRowBackground:C,oddColumnBackground:S,oddEvenRowBackground:j,onRendererHostDiscard:t.disposeHost});if(void 0!==r&&(P.footerRenderer="object"==typeof r?f(t,r):r),void 0!==o)if(b(o))P.emptyStateRenderer=f(t,o);else{const e=o;P.emptyStateRenderer=()=>R(t,e)}if(void 0!==s)if(b(s))P.errorStateRenderer=f(t,s);else{const e=s;P.errorStateRenderer=()=>R(t,e)}if(void 0!==c)if(b(c))P.loadingStateRenderer=f(t,c);else{const e=c;P.loadingStateRenderer=()=>R(t,e)}return void 0!==i&&(P.tableEmptyStateRenderer=null===i?null:i instanceof HTMLElement||"string"==typeof i?i:R(t,i)),void 0!==l&&(P.headerDropdown=f(t,l)),void 0!==a&&(P.columnEditorConfig=function(e,t){const{rowRenderer:n,customRenderer:r}=e,o=p(e,["rowRenderer","customRenderer"]);return Object.assign(Object.assign(Object.assign({},o),n?{rowRenderer:f(t,n)}:{}),r?{customRenderer:f(t,r)}:{})}(a,t)),void 0!==u&&(P.icons=function(e){const t={};for(const[n,r]of Object.entries(e))null!=r&&(t[n]="string"==typeof r||r instanceof HTMLElement||r instanceof SVGElement?r:h(r));return t}(u)),void 0!==m&&(P.rowButtons=m.map(e=>f(t,e))),P}"function"==typeof SuppressedError&&SuppressedError;const E="data-st-mount-id";class y{constructor(){this.entries=new Map,this.nextId=0,this.cellRendererCache=new Map,this.headerRendererCache=new Map,this.disposeHost=e=>{if("function"!=typeof e.getAttribute)return;const t=[],n=e.getAttribute(E);null!==n&&t.push(n),e.querySelectorAll(`[${E}]`).forEach(e=>{const n=e.getAttribute(E);null!==n&&t.push(n)});for(const e of t){const t=this.entries.get(e);t&&(this.entries.delete(e),t())}}}register(e,t){const n="st-mount-"+this.nextId++;e.setAttribute(E,n),this.entries.set(n,t)}clear(){this.cellRendererCache.clear(),this.headerRendererCache.clear();for(const e of this.entries.values())e();this.entries.clear()}pruneRendererCaches(e){for(const t of this.cellRendererCache.keys())e.has(t)||this.cellRendererCache.delete(t);for(const t of this.headerRendererCache.keys())e.has(t)||this.headerRendererCache.delete(t)}get size(){return this.entries.size}}function O(e){const t={};for(const n in e)t[i(n)]=""===e[n]||e[n];return t}const C=n({name:"SimpleTable",props:{},inheritAttrs:!1,setup(e,{attrs:n,expose:i}){const d=r(null);let p=null;const f=new y;let m,R;return o(()=>{if(!d.value)return;const e=O(n);p=new l(d.value,v(e,f)),p.mount(),m=w(e),R=e.rows}),s(n,function(){if(!p)return;const e=O(n),t=v(e,f),r=Object.assign({},t),o=w(e),s=a(m,o);m=o,s&&delete r.columns;const c=u(R,e.rows,e.getRowId);R=e.rows,c&&delete r.rows,p.update(r)},{deep:!0}),c(()=>{null==p||p.destroy(),p=null,m=void 0,R=void 0,f.clear()}),i({getAPI:()=>{var e;return null!==(e=null==p?void 0:p.getAPI())&&void 0!==e?e:null}}),()=>t("div",{ref:d})}});export{C as SimpleTable};
1
+ import{render as e,h as n,defineComponent as r,ref as t,onMounted as o,watch as s,onUnmounted as d,camelize as i}from"vue";import{collectHeaderAccessors as l,asRows as c,SimpleTableVanilla as a,headersStructurallyEqual as u,rowsShallowUnchanged as m}from"simple-table-core";export{PIVOT_ACCESSOR_PREFIX,PIVOT_BLANK_LABEL,PIVOT_CHILDREN_KEY,PIVOT_IS_TOTAL_KEY,asRows,buildPivotAccessor,buildPivotRowTotalAccessor,pivotRows}from"simple-table-core";function p(e,n){var r={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&n.indexOf(t)<0&&(r[t]=e[t]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(t=Object.getOwnPropertySymbols(e);o<t.length;o++)n.indexOf(t[o])<0&&Object.prototype.propertyIsEnumerable.call(e,t[o])&&(r[t[o]]=e[t[o]])}return r}function f(r,t){return o=>{const s=document.createElement("div");return e(n(t,o),s),r.register(s,()=>e(null,s)),s}}function h(r,t,o,s){const d="cell"===o?r.cellRendererCache:r.headerRendererCache,i=d.get(t);if(i)return i.component=s,i.wrapped;const l={component:s,wrapped:null},c=t=>{const o=document.createElement("div");return e(n(l.component,t),o),r.register(o,()=>e(null,o)),o};return l.wrapped=c,d.set(t,l),c}function R(n,r){const t=document.createElement("div");return e(r,t),n.register(t,()=>e(null,t)),t}function g(n){const r=document.createElement("div");e(n,r);const t=r.innerHTML;return e(null,r),t}function b(e){return"object"==typeof e||"function"==typeof e}function C(e,n){const{cellRenderer:r,headerRenderer:t,children:o,nestedTable:s}=e,d=p(e,["cellRenderer","headerRenderer","children","nestedTable"]),i=String(e.accessor),l=Object.assign({},d);if(r&&(l.cellRenderer=h(n,i,"cell",r)),t&&(l.headerRenderer=h(n,i,"header",t)),o&&(l.children=o.map(e=>C(e,n))),s){const e=Object.assign(Object.assign({},s),{rows:[]});l.nestedTable=E(e,n)}return l}function w(e){const n=e.columns;if(!n)throw new Error("SimpleTable requires `columns`");return n}function E(e,n){const{rows:r,footerRenderer:t,emptyStateRenderer:o,errorStateRenderer:s,loadingStateRenderer:d,tableEmptyStateRenderer:i,headerDropdown:a,columnEditorConfig:u,icons:m,rowButtons:h,onColumnOrderChange:E,onColumnWidthChange:v,onHeaderEdit:O,onColumnSelect:S,enableColumnEditor:y,enableColumnEditorInitOpen:T,enablePagination:I,onTableReady:j,hoverRowBackground:P,oddColumnBackground:A,oddEvenRowBackground:B}=e,k=p(e,["columns","rows","footerRenderer","emptyStateRenderer","errorStateRenderer","loadingStateRenderer","tableEmptyStateRenderer","headerDropdown","columnEditorConfig","icons","rowButtons","onColumnOrderChange","onColumnWidthChange","onHeaderEdit","onColumnSelect","enableColumnEditor","enableColumnEditorInitOpen","enablePagination","onTableReady","hoverRowBackground","oddColumnBackground","oddEvenRowBackground"]),H=w(e);n.pruneRendererCaches(l(H));const _=Object.assign(Object.assign({},k),{rows:c(r),columns:H.map(e=>C(e,n)),enableColumnEditor:y,enableColumnEditorInitOpen:T,enablePagination:I,onTableReady:j,hoverRowBackground:P,oddColumnBackground:A,oddEvenRowBackground:B,onRendererHostDiscard:n.disposeHost});if(E&&(_.onColumnOrderChange=e=>E(e)),v&&(_.onColumnWidthChange=e=>v(e)),O&&(_.onHeaderEdit=(e,n)=>O(e,n)),S&&(_.onColumnSelect=e=>S(e)),void 0!==t&&(_.footerRenderer=f(n,t)),void 0!==o)if(b(o))_.emptyStateRenderer=f(n,o);else{const e=o;_.emptyStateRenderer=()=>R(n,e)}if(void 0!==s)if(b(s))_.errorStateRenderer=f(n,s);else{const e=s;_.errorStateRenderer=()=>R(n,e)}if(void 0!==d)if(b(d))_.loadingStateRenderer=f(n,d);else{const e=d;_.loadingStateRenderer=()=>R(n,e)}return void 0!==i&&(_.tableEmptyStateRenderer=null===i?null:i instanceof HTMLElement||"string"==typeof i?i:R(n,i)),void 0!==a&&(_.headerDropdown=f(n,a)),void 0!==u&&(_.columnEditorConfig=function(e,n){const{rowRenderer:r,customRenderer:t}=e,o=p(e,["rowRenderer","customRenderer"]);return Object.assign(Object.assign(Object.assign({},o),r?{rowRenderer:f(n,r)}:{}),t?{customRenderer:f(n,t)}:{})}(u,n)),void 0!==m&&(_.icons=function(e){const n={};for(const[r,t]of Object.entries(e))null!=t&&(n[r]="string"==typeof t||t instanceof HTMLElement||t instanceof SVGElement?t:g(t));return n}(m)),void 0!==h&&(_.rowButtons=h.map(e=>f(n,e))),_}"function"==typeof SuppressedError&&SuppressedError;const v="data-st-mount-id";class O{constructor(){this.entries=new Map,this.nextId=0,this.cellRendererCache=new Map,this.headerRendererCache=new Map,this.disposeHost=e=>{if("function"!=typeof e.getAttribute)return;const n=[],r=e.getAttribute(v);null!==r&&n.push(r),e.querySelectorAll(`[${v}]`).forEach(e=>{const r=e.getAttribute(v);null!==r&&n.push(r)});for(const e of n){const n=this.entries.get(e);n&&(this.entries.delete(e),n())}}}register(e,n){const r="st-mount-"+this.nextId++;e.setAttribute(v,r),this.entries.set(r,n)}clear(){this.cellRendererCache.clear(),this.headerRendererCache.clear();for(const e of this.entries.values())e();this.entries.clear()}pruneRendererCaches(e){for(const n of this.cellRendererCache.keys())e.has(n)||this.cellRendererCache.delete(n);for(const n of this.headerRendererCache.keys())e.has(n)||this.headerRendererCache.delete(n)}get size(){return this.entries.size}}function S(e){const n={};for(const r in e)n[i(r)]=""===e[r]||e[r];return n}const y=r({name:"SimpleTable",props:{},inheritAttrs:!1,setup(e,{attrs:r,expose:i}){const l=t(null);let c=null;const p=new O;let f,h;return o(()=>{if(!l.value)return;const e=S(r);c=new a(l.value,E(e,p)),c.mount(),f=w(e),h=e.rows}),s(r,function(){if(!c)return;const e=S(r),n=E(e,p),t=Object.assign({},n),o=w(e),s=u(f,o);f=o,s&&delete t.columns;const d=m(h,e.rows,e.getRowId);h=e.rows,d&&delete t.rows,c.update(t)},{deep:!0}),d(()=>{null==c||c.destroy(),c=null,f=void 0,h=void 0,p.clear()}),i({getAPI:()=>{var e;return null!==(e=null==c?void 0:c.getAPI())&&void 0!==e?e:null}}),()=>n("div",{ref:l})}});export{y as SimpleTable};
2
2
  //# sourceMappingURL=index.es.js.map
package/dist/styles.css CHANGED
@@ -1 +1 @@
1
- .st-sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.simple-table-root{--st-after-width:11.01px;--st-resize-handle-width:2px;--st-resize-handle-container-width:10px;--st-border-width:1px;--st-footer-height:49px;--st-transition-duration:0.2s;--st-transition-ease:ease;--st-opacity-disabled:0.5;--st-white:#fff;--st-black:#000;--st-slate-50:#f8fafc;--st-slate-100:#f1f5f9;--st-slate-200:#e2e8f0;--st-slate-300:#cbd5e1;--st-slate-400:#94a3b8;--st-slate-500:#64748b;--st-slate-600:#475569;--st-slate-800:#1e293b;--st-slate-900:#0f172a;--st-gray-100:#f3f4f6;--st-gray-200:#e5e7eb;--st-gray-300:#d1d5db;--st-gray-400:#9ca3af;--st-gray-500:#6b7280;--st-gray-600:#4b5563;--st-gray-700:#374151;--st-gray-800:#1f2937;--st-gray-900:#111827;--st-neutral-50:#fafafa;--st-neutral-100:#f5f5f5;--st-neutral-200:#e5e5e5;--st-neutral-300:#d4d4d4;--st-neutral-400:#a3a3a3;--st-neutral-500:#737373;--st-neutral-600:#525252;--st-neutral-800:#262626;--st-neutral-900:#171717;--st-red-300:#fca5a5;--st-red-400:#f87171;--st-blue-50:#eff6ff;--st-blue-100:#dbeafe;--st-blue-200:#bfdbfe;--st-blue-300:#93c5fd;--st-blue-400:#60a5fa;--st-blue-500:#3b82f6;--st-blue-600:#2563eb;--st-blue-800:#1e40af;--st-blue-900:#1e3a8a;--st-blue-950:#172554}.simple-table-root *{-webkit-box-sizing:border-box;box-sizing:border-box;font-family:inherit;scrollbar-color:var(--st-scrollbar-thumb-color) var(--st-scrollbar-bg-color);scrollbar-width:var(--st-scrollbar-width)}input{color:#000}.simple-table-root ::-webkit-scrollbar{height:8px;width:8px}.simple-table-root ::-webkit-scrollbar-track{background:var(--st-scrollbar-bg-color)}.simple-table-root ::-webkit-scrollbar-thumb{background:var(--st-scrollbar-thumb-color);border-radius:4px}.simple-table-root{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--st-cell-color)}.st-wrapper{border:var(--st-border-width) solid var(--st-border-color);border-radius:var(--st-border-radius);overflow:hidden;position:relative}.simple-table-root.st-external-scroll{overflow:visible}.simple-table-root.st-external-scroll .st-header-container{position:sticky;top:0;top:calc(var(--st-external-scroll-padding-top, 0px)*-1);z-index:4}.simple-table-root.st-external-scroll .st-sticky-top{position:sticky;top:0;top:calc(var(--st-calculated-header-height, 0px) - var(--st-external-scroll-padding-top, 0px))}.simple-table-root.st-external-scroll .st-column-editor-text{-ms-flex-item-align:start;-webkit-box-flex:0;-ms-flex-positive:0;align-self:flex-start;flex-grow:0;position:sticky;top:0;top:calc(var(--st-external-scroll-padding-top, 0px)*-1)}.st-wrapper-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%}.st-content-wrapper,.st-wrapper-container{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;width:100%}.st-content-wrapper{-webkit-box-flex:1;-ms-flex:1;flex:1;min-height:0}.st-content{-webkit-box-orient:vertical;-webkit-box-direction:normal;background-color:var(--st-even-row-background-color);-ms-flex-direction:column;flex-direction:column}.st-content,.st-header-container{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%}.st-header-container,.st-header-container.st-header-scroll-padding:after{-ms-flex-negative:0;background-color:var(--st-header-background-color);flex-shrink:0}.st-header-container.st-header-scroll-padding:after{-webkit-box-sizing:border-box;box-sizing:border-box;content:"";display:block;width:default-width;width:var(--st-after-width,default-width)}.st-header-container.st-header-scroll-padding:after,.st-header-main,.st-header-pinned-left,.st-header-pinned-right{border-bottom:var(--st-border-width) solid var(--st-border-color)}.st-header-grid{min-width:100%;position:relative}.st-body-main,.st-body-pinned-left,.st-body-pinned-right,.st-header-main,.st-header-pinned-left,.st-header-pinned-right,.st-horizontal-scrollbar-left,.st-horizontal-scrollbar-middle,.st-horizontal-scrollbar-right{overflow:auto;-ms-touch-action:auto;touch-action:auto}.st-body-main,.st-body-pinned-left,.st-body-pinned-right,.st-header-main,.st-header-pinned-left,.st-header-pinned-right{scrollbar-width:none}.st-body-pinned-left,.st-body-pinned-right,.st-header-pinned-left,.st-header-pinned-right{-ms-flex-negative:0;flex-shrink:0}.st-body-pinned-left,.st-header-pinned-left{border-right:var(--st-border-width) solid var(--st-border-color)}.st-body-pinned-right,.st-header-pinned-right{border-left:var(--st-border-width) solid var(--st-border-color)}.st-header-main{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.st-header-main,.st-header-pinned-left,.st-header-pinned-right{overflow-x:auto;overflow-y:hidden}.st-header-main::-webkit-scrollbar{display:none}.st-body-container{-webkit-box-flex:1;-ms-flex-positive:1;-webkit-overflow-scrolling:touch;background-color:var(--st-even-row-background-color);flex-grow:1;height:-webkit-max-content;height:-moz-max-content;height:max-content;overflow:auto;-ms-touch-action:auto;touch-action:auto;width:100%}.st-body-container,.st-sticky-top{display:-webkit-box;display:-ms-flexbox;display:flex}.st-sticky-top{left:0;position:absolute;top:0;z-index:10}.st-sticky-section-left,.st-sticky-section-main,.st-sticky-section-right{overflow:hidden}.st-sticky-section-left{border-right:var(--st-border-width) solid var(--st-border-color)}.st-sticky-section-right{border-left:var(--st-border-width) solid var(--st-border-color)}.st-empty-state-wrapper{-ms-flex-align:center;-ms-flex-pack:center;-webkit-box-flex:1;-ms-flex:1;flex:1;min-height:200px;width:100%}.st-empty-state,.st-empty-state-wrapper{-webkit-box-align:center;-webkit-box-pack:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;justify-content:center}.st-empty-state{-ms-flex-align:center;-ms-flex-pack:center;color:var(--st-header-icon-color);font-size:.9em;opacity:.6;padding:48px 24px}.st-body-main,.st-body-pinned-left,.st-body-pinned-right{display:grid;height:-webkit-max-content;height:-moz-max-content;height:max-content;min-height:100%}.st-body-main::-webkit-scrollbar{display:none}.st-row{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:var(--st-even-row-background-color);display:grid;min-width:100%;position:absolute;-webkit-transition:background .2s ease;transition:background .2s ease}.st-row.st-sticky-parent{z-index:5}.st-sticky-top .st-row.even{background-color:var(--st-even-row-background-color)}.st-sticky-top .st-row.odd{background-color:var(--st-odd-row-background-color)}.st-sticky-top .st-row.selected{background-color:var(--st-selected-row-background-color)}.st-row.hovered .st-cell-editing,.st-row.hovered .st-cell:not(.st-cell-selected):not(.st-cell-selected-first):not(.st-cell-column-selected):not(.st-cell-column-selected-first),.st-sticky-top .st-row.hovered:not(.st-cell-editing):not(.st-cell-column-selected):not(.st-cell-column-selected-last):not(.st-cell-column-selected-first){background-color:var(--st-hover-row-background-color)}.st-row.hovered .st-cell.st-sub-cell:not(.st-cell-selected):not(.st-cell-selected-first):not(.st-cell-column-selected):not(.st-cell-column-selected-first){background-color:var(--st-sub-cell-hover-background-color)}.st-row.even{background-color:var(--st-even-row-background-color)}.st-row.odd{background-color:var(--st-odd-row-background-color)}.st-row.selected{background-color:var(--st-selected-row-background-color)}.st-row.selected.hovered .st-cell-editing,.st-row.selected.hovered .st-cell:not(.st-cell-selected):not(.st-cell-selected-first):not(.st-cell-column-selected):not(.st-cell-column-selected-first){background-color:var(--st-hover-row-background-color)}.st-nested-grid-row{padding-left:8px;padding-right:8px}.st-cell-content{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:14px}.st-row.odd .st-cell-content{color:var(--st-cell-odd-row-color)}.st-row.even .st-cell-content{color:var(--st-cell-color)}.st-cell.st-cell-even-row:not(.st-cell-selected):not(.st-cell-selected-first):not(.st-cell-column-selected):not(.st-cell-column-selected-first){background-color:var(--st-even-row-background-color)}.st-cell.st-cell-odd-row:not(.st-cell-selected):not(.st-cell-selected-first):not(.st-cell-column-selected):not(.st-cell-column-selected-first){background-color:var(--st-odd-row-background-color)}.st-cell.st-cell-even-row .st-cell-content{color:var(--st-cell-color)}.st-cell.st-cell-odd-row .st-cell-content{color:var(--st-cell-odd-row-color)}.st-cell.st-cell-selected-row:not(.st-row-hovered):not(.st-cell-selected):not(.st-cell-selected-first):not(.st-cell-column-selected):not(.st-cell-column-selected-first){background-color:var(--st-selected-row-background-color)}.st-cell.st-row-active:not(.st-row-hovered){outline:1px solid #93c5fd;outline:1px solid var(--st-selected-row-background-color,#93c5fd);outline-offset:-1px}.st-cell.st-row-hovered:not(.st-cell-selected):not(.st-cell-selected-first):not(.st-cell-column-selected):not(.st-cell-column-selected-first){background-color:var(--st-hover-row-background-color)}.st-header-cell{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--st-header-background-color);display:-webkit-box;display:-ms-flexbox;display:flex;font-size:14px;font-weight:500;gap:var(--st-spacing-small);top:0}.st-header-cell.parent{border-bottom:var(--st-border-width) solid var(--st-border-color)}.st-header-cell.st-sub-header{background-color:var(--st-sub-header-background-color)}.st-cell.st-sub-cell{background-color:var(--st-sub-cell-background-color)}.st-header-cell.clickable,.st-header-cell.st-header-editable{cursor:pointer}.st-header-cell.draggable{cursor:-webkit-grab;cursor:grab}.st-header-cell.st-header-selected{background-color:var(--st-header-selected-background-color)}.st-header-cell.st-header-selected .st-header-label-text{color:var(--st-header-selected-label-color)}.st-header-cell.st-header-selected .st-header-icon,.st-header-cell.st-header-selected .st-icon-container{color:var(--st-header-selected-icon-color)}.st-header-cell.st-header-selected .st-icon-container svg:not([fill=none]){fill:var(--st-header-selected-icon-color)}.st-header-cell.st-header-selected .st-header-resize-handle{background-color:var(--st-resize-handle-selected-color)}.st-header-cell.st-header-has-highlighted-cell{background-color:var(--st-header-highlight-indicator-color)}.st-cell,.st-header-cell{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:initial;color:var(--st-cell-color);display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--st-spacing-small);overflow:hidden;position:relative}.st-cell.left-aligned,.st-header-cell.left-aligned{padding-left:var(--st-cell-padding);text-align:left}.st-cell.center-aligned,.st-cell.center-aligned>.st-cell-content,.st-header-cell.center-aligned,.st-header-cell.center-aligned>.st-header-label-text{text-align:center}.st-cell.clickable{cursor:pointer}.st-cell,.st-cell-editing,.st-header-cell{height:100%;width:100%}.st-cell-editing{position:relative}.st-header-label{-webkit-box-flex:1;-ms-flex-positive:1;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;flex-grow:1;height:100%;min-width:0;overflow:hidden}.st-cell-content,.st-header-label-text{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:left;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;width:100%}.st-header-label-text{color:var(--st-header-label-color);font-weight:600;overflow:hidden;padding-left:var(--st-cell-padding);padding-right:var(--st-cell-padding);text-overflow:ellipsis;white-space:nowrap}.st-cell-content.left-aligned,.st-header-label-text.left-aligned{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:left}.st-cell-content.center-aligned,.st-header-label-text.center-aligned{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center}.st-cell-content.right-aligned,.st-header-label-text.right-aligned{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:right}.st-not-resizeable .st-cell-content{padding-left:var(--st-cell-padding);padding-right:var(--st-cell-padding)}.st-resizeable .st-body-pinned-right .st-cell-content,.st-resizeable .st-sticky-section-right .st-cell-content{padding-left:calc(var(--st-cell-padding) + var(--st-spacing-small) + var(--st-resize-handle-container-width));padding-right:var(--st-cell-padding)}.st-resizeable .st-body-main .st-cell-content,.st-resizeable .st-body-pinned-left .st-cell-content,.st-resizeable .st-sticky-section-left .st-cell-content,.st-resizeable .st-sticky-section-main .st-cell-content{padding-left:var(--st-cell-padding);padding-right:calc(var(--st-cell-padding) + var(--st-spacing-small) + var(--st-resize-handle-container-width))}.st-resizeable .st-selection-cell .st-cell-content{padding-left:var(--st-cell-padding);padding-right:var(--st-cell-padding)}.st-selection-cell.st-selection-has-highlighted-cell{background-color:var(--st-selection-highlight-indicator-color)}.st-cell{border:var(--st-border-width) solid #0000;z-index:1}.st-cell:focus,.st-cell:focus-visible{outline:none}.st-cell.even-column:not(.st-cell-selected){background-color:var(--st-even-column-background-color)}.st-cell.odd-column:not(.st-cell-selected){background-color:var(--st-odd-column-background-color)}.st-cell-depth-1{padding-left:calc(var(--st-cell-padding)*4)}.st-cell-depth-2{padding-left:calc(var(--st-cell-padding)*8)}.st-cell-depth-3{padding-left:calc(var(--st-cell-padding)*12)}.st-cell-depth-4{padding-left:calc(var(--st-cell-padding)*16)}.st-cell-depth-5{padding-left:calc(var(--st-cell-padding)*20)}.st-cell-depth-6{padding-left:calc(var(--st-cell-padding)*24)}.st-cell-depth-7{padding-left:calc(var(--st-cell-padding)*28)}.st-cell-depth-1 .st-cell-content{color:rgb(from var(--st-cell-color) r g b/80%)!important}.st-cell-depth-2 .st-cell-content,.st-cell-depth-3 .st-cell-content,.st-cell-depth-4 .st-cell-content,.st-cell-depth-5 .st-cell-content,.st-cell-depth-6 .st-cell-content,.st-cell-depth-7 .st-cell-content{color:rgb(from var(--st-cell-color) r g b/70%)!important}.st-icon-container{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;-ms-flex-item-align:stretch;align-items:center;align-self:stretch;border-radius:4px;display:-webkit-box;display:-ms-flexbox;display:flex;justify-content:center;margin-left:4px;-webkit-transition:outline .2s ease;transition:outline .2s ease}.st-icon-container:focus-visible{outline:1px solid var(--st-focus-ring-color);outline-offset:2px}.st-collapse-icon-container{cursor:pointer}.st-expand-icon{color:var(--st-header-label-color);cursor:pointer}.st-expand-icon:not([fill=none]){fill:var(--st-header-label-color)}.st-header-resize-handle-container{-ms-flex-negative:0;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;cursor:col-resize;display:-webkit-box;display:-ms-flexbox;display:flex;flex-shrink:0;height:100%;justify-content:center;width:var(--st-resize-handle-container-width)}.st-header-resize-handle{background-color:var(--st-resize-handle-color);height:calc(100% - 20px);width:var(--st-resize-handle-width)}.st-row-separator{background-color:var(--st-border-color);cursor:pointer;height:1px;min-width:100%;position:absolute;width:100%}.st-row-separator.st-last-group-row{background-color:var(--st-last-group-row-separator-border-color)}.st-dragging:not(.st-sub-header){background-color:var(--st-dragging-background-color)}.st-dragging.st-sub-header{background-color:var(--st-dragging-sub-header-background-color)}.st-loading-skeleton{-webkit-animation:st-skeleton-pulse 1.5s ease-in-out infinite;animation:st-skeleton-pulse 1.5s ease-in-out infinite;background-color:var(--st-loading-skeleton-bg-color);border-radius:4px;height:16px;width:80%}@-webkit-keyframes st-skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes st-skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.st-cell-selected{background-color:var(--st-selected-cell-background-color)}.st-cell-selected .st-cell-content{color:var(--st-selected-cell-color)!important}.st-cell-selected-first{background-color:var(--st-selected-first-cell-background-color);border:var(--st-border-width) solid var(--st-selected-border-color)}.st-cell-selected-first .st-cell-content{color:var(--st-selected-first-cell-color)!important}.st-cell-selected.st-sub-cell{background-color:var(--st-selected-sub-cell-background-color)}.st-cell-selected.st-sub-cell .st-cell-content{color:var(--st-selected-sub-cell-color)!important}.st-cell-selected-first.st-sub-cell{background-color:var(--st-selected-sub-cell-background-color)}.st-cell-selected-first.st-sub-cell .st-cell-content{color:var(--st-selected-sub-cell-color)!important}.st-cell-column-selected{background-color:var(--st-selected-cell-background-color)}.st-cell-column-selected .st-cell-content{color:var(--st-selected-cell-color)!important}.st-cell-column-selected-first{background-color:var(--st-selected-first-cell-background-color)}.st-cell-column-selected-first .st-cell-content{color:var(--st-selected-first-cell-color)!important}.st-cell-column-selected.st-sub-cell{background-color:var(--st-selected-sub-cell-background-color)}.st-cell-column-selected.st-sub-cell .st-cell-content{color:var(--st-selected-sub-cell-color)!important}.st-cell-column-selected-first.st-sub-cell{background-color:var(--st-selected-sub-cell-background-color)}.st-cell-column-selected-first.st-sub-cell .st-cell-content{color:var(--st-selected-sub-cell-color)!important}.st-selected-top-border{border-top:var(--st-border-width) solid var(--st-selected-border-color)}.st-selected-bottom-border{border-bottom:var(--st-border-width) solid var(--st-selected-border-color)}.st-selected-left-border{border-left:var(--st-border-width) solid var(--st-selected-border-color)}.st-selected-right-border{border-right:var(--st-border-width) solid var(--st-selected-border-color)}.st-horizontal-scrollbar-container{-ms-flex-negative:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--st-scrollbar-bg-color);border-top:var(--st-border-width) solid var(--st-border-color);display:-webkit-box;display:-ms-flexbox;display:flex;flex-shrink:0;height:13px;width:100%}.st-horizontal-scrollbar-left,.st-horizontal-scrollbar-right{-ms-flex-negative:0;flex-shrink:0}.st-horizontal-scrollbar-left{border-right:var(--st-border-width) solid var(--st-border-color)}.st-horizontal-scrollbar-right{border-left:var(--st-border-width) solid var(--st-border-color)}.st-horizontal-scrollbar-left,.st-horizontal-scrollbar-middle,.st-horizontal-scrollbar-right{height:8px;overflow-x:auto;overflow-y:hidden;scrollbar-color:auto}.st-horizontal-scrollbar-middle{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.st-horizontal-scrollbar-left>div,.st-horizontal-scrollbar-middle>div,.st-horizontal-scrollbar-right>div{height:.3px}.st-horizontal-scrollbar-left::-webkit-scrollbar,.st-horizontal-scrollbar-middle::-webkit-scrollbar,.st-horizontal-scrollbar-right::-webkit-scrollbar{height:8px}.st-footer{-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-box-align:center;-ms-flex-align:center;-ms-flex-negative:0;align-items:center;background-color:var(--st-footer-background-color);border-top:var(--st-border-width) solid var(--st-border-color);display:-webkit-box;display:-ms-flexbox;display:flex;flex-shrink:0;gap:12px;justify-content:space-between;min-height:49px;min-height:var(--st-footer-height,49px);padding:12px 16px}.simple-table-root.st-footer-position-top .st-footer{border-bottom:var(--st-border-width) solid var(--st-border-color);border-top:none}.st-footer-info{-webkit-box-align:center;-ms-flex-align:center;-ms-flex-negative:0;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;flex-shrink:0}.st-footer-results-text{color:var(--st-footer-text-color,var(--st-cell-color));font-size:14px;white-space:nowrap}.st-footer-pagination{-ms-flex-wrap:nowrap;flex-wrap:nowrap;gap:2px;overflow:hidden}.st-footer-pagination,.st-next-prev-btn{-webkit-box-align:center;-ms-flex-align:center;-ms-flex-negative:0;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;flex-shrink:0}.st-next-prev-btn{-webkit-box-pack:center;-ms-flex-pack:center;fill:var(--st-next-prev-btn-color);background-color:initial;border:none;border-radius:var(--st-border-radius);cursor:pointer;justify-content:center;margin-left:4px;padding:6px 8px;-webkit-transition:background-color var(--st-transition-duration) var(--st-transition-ease);transition:background-color var(--st-transition-duration) var(--st-transition-ease)}.st-next-prev-btn,.st-next-prev-btn .st-next-prev-icon{color:var(--st-next-prev-btn-color)}.st-next-prev-btn .st-next-prev-icon:not([fill=none]){fill:var(--st-next-prev-btn-color)}.disabled>.st-next-prev-icon{fill:var(--st-next-prev-btn-disabled-color);color:var(--st-next-prev-btn-disabled-color);cursor:not-allowed}.st-next-prev-btn:not(.disabled):hover{background-color:var(--st-page-btn-hover-background-color)}.st-next-prev-btn:focus-visible{outline:1px solid var(--st-focus-ring-color);outline-offset:0}.st-page-btn{-ms-flex-negative:0;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background-color:initial;border:none;border-radius:var(--st-border-radius);color:var(--st-page-btn-color);cursor:pointer;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;flex-shrink:0;font-size:13px;font-weight:500;justify-content:center;min-width:36px;padding:6px 8px;-webkit-transition:background-color var(--st-transition-duration) var(--st-transition-ease);transition:background-color var(--st-transition-duration) var(--st-transition-ease)}.st-page-btn:hover{background-color:var(--st-button-hover-background-color)}.st-page-btn:focus-visible{outline:1px solid var(--st-focus-ring-color);outline-offset:-2px}.st-page-btn.active{background-color:var(--st-button-active-background-color);color:var(--st-header-selected-label-color,var(--st-white));font-weight:600}.st-footer-pagination .st-page-btn.st-page-btn--compact-hidden{display:none}.st-page-ellipsis{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;color:var(--st-next-prev-btn-color);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-weight:400;justify-content:center;padding:0 4px}.editable-cell-input{border:var(--st-border-width) solid var(--st-border-color);-webkit-box-shadow:var(--st-edit-cell-shadow);box-shadow:var(--st-edit-cell-shadow);font-size:.875rem;height:100%;left:0;outline:none;padding:var(--st-cell-padding);position:absolute;top:0;width:100%;z-index:1}.editable-cell-input:focus{border:var(--st-border-width) solid var(--st-editable-cell-focus-border-color)}.st-column-editor{-ms-flex-negative:0;-ms-flex-item-align:stretch;align-self:stretch;background:var(--st-column-editor-background-color);border-left:var(--st-border-width) solid var(--st-border-color);color:var(--st-column-editor-text-color);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;flex-shrink:0;height:auto;min-height:0;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.st-column-editor.st-column-editor--no-toggle{background:#0000;border-left:none;cursor:default;overflow:visible;pointer-events:none;width:0}.st-column-editor.st-column-editor--no-toggle .st-column-editor-popout{pointer-events:auto;right:100%}.st-column-editor-text{-webkit-box-flex:1;-ms-flex-positive:1;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;flex-grow:1;max-width:100%;min-width:0;padding:var(--st-spacing-medium) var(--st-spacing-small);width:100%;-webkit-writing-mode:vertical-rl;-ms-writing-mode:tb-rl;writing-mode:vertical-rl;z-index:2}.st-column-editor.open,.st-column-editor.open .st-column-editor-text{background-color:var(--st-column-editor-background-color)}.st-column-editor-popout{background-color:var(--st-column-editor-popout-background-color);cursor:default;height:100%;overflow:hidden;position:absolute;right:calc(100% + var(--st-border-width)*2);top:0;-webkit-transition:width var(--st-transition-duration) var(--st-transition-ease);transition:width var(--st-transition-duration) var(--st-transition-ease);width:0;z-index:10}.st-column-editor-popout-content{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-overflow-scrolling:touch;border-left:var(--st-border-width) solid var(--st-border-color);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;height:100%;-ms-touch-action:auto;touch-action:auto}.st-column-editor-search-wrapper{background-color:var(--st-column-editor-popout-background-color);padding:var(--st-spacing-medium);position:sticky;top:0;z-index:1}.st-column-editor-list{padding-bottom:var(--st-spacing-medium);padding-left:var(--st-spacing-medium);padding-right:var(--st-spacing-medium)}.st-column-editor-list,.st-column-editor-lists{-webkit-box-orient:vertical;-webkit-box-direction:normal;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.st-column-editor-lists{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;overflow:auto}.st-column-editor-section-label{color:var(--st-column-editor-text-color);font-size:.7rem;font-weight:600;letter-spacing:.04em;opacity:.75;padding:var(--st-spacing-small) var(--st-spacing-medium) 0;text-transform:uppercase}.st-column-editor-list-section{padding-bottom:var(--st-spacing-small);padding-top:0}.st-column-editor-footer{background-color:var(--st-column-editor-popout-background-color);border-top:var(--st-border-width) solid var(--st-border-color);bottom:0;position:sticky;z-index:1}.st-column-editor-footer,.st-column-editor-reset-btn{padding:var(--st-spacing-small) var(--st-spacing-medium)}.st-column-editor-reset-btn{background:#0000;border:var(--st-border-width) solid var(--st-border-color);border-radius:var(--st-border-radius);color:var(--st-column-editor-text-color);cursor:pointer;font-size:.8rem;font-weight:500;-webkit-transition:background-color var(--st-transition-duration) var(--st-transition-ease);transition:background-color var(--st-transition-duration) var(--st-transition-ease);width:100%}.st-column-editor-reset-btn:hover{background-color:var(--st-button-hover-background-color)}.st-column-pin-btn{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background:#0000;border:none;border-radius:4px;color:inherit;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;justify-content:center;margin:0;padding:2px}.st-column-pin-btn:hover{background:color-mix(in srgb,var(--st-column-editor-text-color) 12%,#0000)}.st-column-pin-pinned-mark{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;justify-content:center}.st-column-pin-pinned-active{background:color-mix(in srgb,var(--st-column-editor-text-color) 12%,#0000);border-radius:4px}.st-column-pin-pinned-essential{cursor:default}.st-column-pin-side-group{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;gap:1px}.st-column-pin-side{font-size:.65rem;font-weight:700;height:1.25rem;letter-spacing:-.02em;line-height:1;min-width:1.25rem;padding:0 3px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.st-column-pin-side-option{color:color-mix(in srgb,var(--st-column-editor-text-color) 52%,#0000);-webkit-transition:color var(--st-transition-duration) var(--st-transition-ease),background var(--st-transition-duration) var(--st-transition-ease);transition:color var(--st-transition-duration) var(--st-transition-ease),background var(--st-transition-duration) var(--st-transition-ease)}.st-column-pin-svg,.st-header-checkbox-item:hover .st-column-pin-side-option{color:var(--st-column-editor-text-color)}.st-column-pin-svg{display:block}.st-checkbox-disabled{cursor:not-allowed;opacity:.45}.st-header-checkbox-item{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--st-spacing-small);padding-bottom:var(--st-spacing-small);padding-top:var(--st-spacing-small)}.st-column-label-container{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.st-drag-icon-container{-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:-webkit-grab;cursor:grab;display:-webkit-box;display:-ms-flexbox;display:flex;opacity:.5;-webkit-transition:opacity var(--st-transition-duration) var(--st-transition-ease);transition:opacity var(--st-transition-duration) var(--st-transition-ease)}.st-drag-icon-container:hover{opacity:1}.st-drag-icon-container:active{cursor:-webkit-grabbing;cursor:grabbing}.st-drag-icon{fill:currentColor;color:currentColor}.st-column-editor-drag-separator{background-color:var(--st-drag-separator-color);border-radius:1px;height:2px;margin:2px 0;-webkit-transition:opacity .2s ease;transition:opacity .2s ease;width:100%}.st-header-icon-container{-webkit-box-pack:center;-ms-flex-pack:center;display:-webkit-box;display:-ms-flexbox;display:flex;justify-content:center;width:28px}.st-header-icon{color:var(--st-header-icon-color);-webkit-transition:color var(--st-transition-duration) var(--st-transition-ease);transition:color var(--st-transition-duration) var(--st-transition-ease)}.st-header-icon:not([fill=none]){fill:var(--st-header-icon-color)}.st-checkbox-checkmark[fill=none] path,.st-custom-select-arrow[fill=none] path,.st-expand-icon[fill=none] path,.st-header-icon[fill=none] path,.st-next-prev-icon[fill=none] path{fill:none}.st-collapsible-header-icon{-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex}.st-collapsible-header-icon.st-expand-icon-container.expanded{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.st-collapsible-header-icon.st-expand-icon-container.collapsed{-webkit-transform:rotate(0deg);transform:rotate(0deg)}.st-column-editor-expand-icon{-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer}.st-column-editor-expand-icon,.st-nested-headers{display:-webkit-box;display:-ms-flexbox;display:flex}.st-nested-headers{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.st-column-editor-popout.open{min-width:240px;width:auto}.st-column-editor-popout.left{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.st-column-editor-popout.open.left{-webkit-transform:translateX(0);transform:translateX(0)}.st-checkbox-label{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--st-spacing-small);justify-content:center;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.st-checkbox-input{height:0;opacity:0;pointer-events:none;position:absolute;width:0}.st-checkbox-input:focus-visible+.st-checkbox-custom{outline:1px solid var(--st-focus-ring-color);outline-offset:-1px}.st-checkbox-custom{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background-color:var(--st-checkbox-background-color,var(--st-white));border:1.5px solid var(--st-checkbox-border-color);border-radius:var(--st-border-radius);display:-webkit-box;display:-ms-flexbox;display:flex;justify-content:center;min-height:16px;min-width:16px;-webkit-transition:background-color var(--st-transition-duration) var(--st-transition-ease),border-color var(--st-transition-duration) var(--st-transition-ease);transition:background-color var(--st-transition-duration) var(--st-transition-ease),border-color var(--st-transition-duration) var(--st-transition-ease)}.st-checkbox-custom.st-checked{background-color:var(--st-checkbox-checked-background-color);border-color:var(--st-checkbox-checked-border-color)}.st-checkbox-checkmark{color:#fff}@-webkit-keyframes slide-in-left{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slide-in-left{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slide-in-right{0%{-webkit-transform:translateX(100%);transform:translateX(100%)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slide-in-right{0%{-webkit-transform:translateX(100%);transform:translateX(100%)}to{-webkit-transform:translateX(0);transform:translateX(0)}}.st-group-header{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--st-header-background-color);border-bottom:var(--st-border-width) solid var(--st-border-color);color:var(--st-cell-color);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;font-weight:500;height:40px;-webkit-transition:background-color var(--st-transition-duration) var(--st-transition-ease);transition:background-color var(--st-transition-duration) var(--st-transition-ease);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.st-group-header:hover{background-color:var(--st-button-hover-background-color)}.st-group-header-content{gap:var(--st-spacing-medium)}.st-group-header-content,.st-group-toggle-icon{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex}.st-group-toggle-icon{-webkit-box-pack:center;-ms-flex-pack:center;font-size:.8em;height:16px;justify-content:center;width:16px}.st-group-name{font-weight:600}.st-group-count{color:var(--st-cell-odd-row-color);font-size:.9em}.st-group-header.expanded .st-group-toggle-icon{-webkit-transform:rotate(0deg);transform:rotate(0deg)}.st-group-header.collapsed .st-group-toggle-icon,.st-group-header.expanded .st-group-toggle-icon{-webkit-transition:-webkit-transform var(--st-transition-duration) var(--st-transition-ease);transition:-webkit-transform var(--st-transition-duration) var(--st-transition-ease);transition:transform var(--st-transition-duration) var(--st-transition-ease);transition:transform var(--st-transition-duration) var(--st-transition-ease),-webkit-transform var(--st-transition-duration) var(--st-transition-ease)}.st-group-header.collapsed .st-group-toggle-icon{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.st-expand-icon-container{-webkit-transition:-webkit-transform var(--st-transition-duration) var(--st-transition-ease);transition:-webkit-transform var(--st-transition-duration) var(--st-transition-ease);transition:transform var(--st-transition-duration) var(--st-transition-ease);transition:transform var(--st-transition-duration) var(--st-transition-ease),-webkit-transform var(--st-transition-duration) var(--st-transition-ease)}.st-expand-icon-container.expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.st-expand-icon-container.collapsed{-webkit-transform:rotate(0deg);transform:rotate(0deg)}.st-expand-icon-container.placeholder{opacity:0;pointer-events:none}.st-accordion-animating .st-cell,.st-accordion-animating .st-header-cell{overflow:hidden;-webkit-transition:width var(--st-accordion-duration,var(--st-transition-duration)) var(--st-accordion-easing,var(--st-transition-ease)),height var(--st-accordion-duration,var(--st-transition-duration)) var(--st-accordion-easing,var(--st-transition-ease));transition:width var(--st-accordion-duration,var(--st-transition-duration)) var(--st-accordion-easing,var(--st-transition-ease)),height var(--st-accordion-duration,var(--st-transition-duration)) var(--st-accordion-easing,var(--st-transition-ease))}@-webkit-keyframes cell-flash{0%{background-color:var(--st-cell-flash-color)}to{background-color:initial}}@keyframes cell-flash{0%{background-color:var(--st-cell-flash-color)}to{background-color:initial}}.st-cell-updating{-webkit-animation:cell-flash .6s ease-in-out;animation:cell-flash .6s ease-in-out}@-webkit-keyframes copy-flash{0%{background-color:var(--st-copy-flash-color)}to{background-color:var(--st-selected-cell-background-color)}}@keyframes copy-flash{0%{background-color:var(--st-copy-flash-color)}to{background-color:var(--st-selected-cell-background-color)}}@-webkit-keyframes copy-flash-first{0%{background-color:var(--st-copy-flash-color)}to{background-color:var(--st-selected-first-cell-background-color)}}@keyframes copy-flash-first{0%{background-color:var(--st-copy-flash-color)}to{background-color:var(--st-selected-first-cell-background-color)}}.st-cell-copy-flash{-webkit-animation:copy-flash .8s ease-in-out;animation:copy-flash .8s ease-in-out}.st-cell-copy-flash-first{-webkit-animation:copy-flash-first .8s ease-in-out;animation:copy-flash-first .8s ease-in-out}@-webkit-keyframes warning-flash{0%{background-color:var(--st-warning-flash-color)}to{background-color:initial}}@keyframes warning-flash{0%{background-color:var(--st-warning-flash-color)}to{background-color:initial}}@-webkit-keyframes warning-flash-first{0%{background-color:var(--st-warning-flash-color)}to{background-color:var(--st-selected-first-cell-background-color)}}@keyframes warning-flash-first{0%{background-color:var(--st-warning-flash-color)}to{background-color:var(--st-selected-first-cell-background-color)}}.st-cell-warning-flash{-webkit-animation:warning-flash .6s ease-in-out;animation:warning-flash .6s ease-in-out}.st-cell-warning-flash-first{-webkit-animation:warning-flash-first .6s ease-in-out;animation:warning-flash-first .6s ease-in-out}.st-dropdown-content{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-overflow-scrolling:touch;background-color:var(--st-odd-row-background-color);border:1px solid var(--st-border-color);border-radius:var(--st-border-radius);-webkit-box-shadow:var(--st-edit-cell-shadow);box-shadow:var(--st-edit-cell-shadow);cursor:default;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;max-height:300px;min-width:120px;position:fixed;-ms-touch-action:auto;touch-action:auto;-webkit-transform:translateZ(0);transform:translateZ(0);will-change:transform;z-index:100}.st-dropdown-content.st-dropdown-content--allow-descendant-overflow{max-height:none;overflow:visible}.st-filter-container .st-dropdown-content{z-index:101}.st-dropdown-bottom-left,.st-dropdown-bottom-right,.st-dropdown-top-left,.st-dropdown-top-right{margin:0}.st-dropdown-item{color:var(--st-cell-color);cursor:pointer;font-size:.9em;padding:var(--st-spacing-small) var(--st-spacing-medium);-webkit-transition:background-color var(--st-transition-duration) var(--st-transition-ease);transition:background-color var(--st-transition-duration) var(--st-transition-ease);white-space:nowrap}.st-dropdown-item:hover{background-color:var(--st-button-hover-background-color)}.st-dropdown-item.selected{background-color:var(--st-selected-cell-background-color);color:var(--st-selected-cell-color)}.st-dropdown-divider{background-color:var(--st-border-color);height:1px;margin:4px 0}.st-datepicker{background-color:var(--st-odd-row-background-color);font-family:inherit}.st-datepicker-header{-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--st-header-background-color);border-bottom:1px solid var(--st-border-color);display:-webkit-box;display:-ms-flexbox;display:flex;justify-content:space-between;padding:var(--st-spacing-medium)}.st-datepicker-header-label{-webkit-box-flex:1;color:var(--st-header-label-color);cursor:pointer;-ms-flex:1;flex:1;font-weight:600;text-align:center}.st-datepicker-nav-btn{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background:#0000;border:none;border-radius:var(--st-border-radius);color:var(--st-cell-color);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;font-size:1.2em;justify-content:center;padding:0 8px}.st-datepicker-nav-btn>*{color:var(--st-cell-color)!important}.st-datepicker-nav-btn>:not([fill=none]){fill:var(--st-cell-color)!important}.st-datepicker-nav-btn:hover{background-color:var(--st-button-hover-background-color)}.st-datepicker-grid{display:grid;padding:var(--st-spacing-medium)}.st-datepicker-days-grid{gap:4px;grid-template-columns:repeat(7,1fr)}.st-datepicker-months-grid,.st-datepicker-years-grid{gap:8px;grid-template-columns:repeat(3,1fr)}.st-datepicker-weekday{color:var(--st-datepicker-weekday-color);font-size:.8em;font-weight:600;padding:6px 0;text-align:center}.st-datepicker-day{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;border-radius:50%;color:var(--st-cell-color);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;font-size:.9em;height:24px;justify-content:center;-webkit-transition:background-color var(--st-transition-duration) var(--st-transition-ease);transition:background-color var(--st-transition-duration) var(--st-transition-ease);width:24px}.st-datepicker-day.empty{cursor:default}.st-datepicker-day:not(.empty):hover{background-color:var(--st-button-hover-background-color)}.st-datepicker-day.today{color:var(--st-button-active-background-color);font-weight:600}.st-datepicker-day.selected{background-color:var(--st-selected-cell-background-color);color:var(--st-selected-cell-color)}.st-datepicker-day.other-month{color:var(--st-datepicker-other-month-color)}.st-datepicker-month,.st-datepicker-year{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;border-radius:var(--st-border-radius);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;justify-content:center;padding:12px 8px;-webkit-transition:background-color var(--st-transition-duration) var(--st-transition-ease);transition:background-color var(--st-transition-duration) var(--st-transition-ease)}.st-datepicker-month:hover,.st-datepicker-year:hover{background-color:var(--st-button-hover-background-color)}.st-datepicker-month.selected,.st-datepicker-year.selected{background-color:var(--st-selected-cell-background-color);color:var(--st-selected-cell-color)}.st-datepicker-footer{-webkit-box-pack:end;-ms-flex-pack:end;border-top:1px solid var(--st-border-color);display:-webkit-box;display:-ms-flexbox;display:flex;justify-content:flex-end;padding:var(--st-spacing-medium)}.st-datepicker-today-btn{background-color:initial;border:1px solid var(--st-border-color);border-radius:var(--st-border-radius);color:var(--st-cell-color);cursor:pointer;padding:6px 12px;-webkit-transition:background-color var(--st-transition-duration) var(--st-transition-ease);transition:background-color var(--st-transition-duration) var(--st-transition-ease)}.st-datepicker-today-btn:hover{background-color:var(--st-button-hover-background-color)}.st-filter-container{min-width:150px;padding:var(--st-spacing-medium)}.st-filter-container,.st-filter-section{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-box-flex:1;-ms-flex-positive:1;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;flex-grow:1}.st-filter-section{margin-bottom:var(--st-spacing-medium)}.st-filter-input{background-color:var(--st-odd-row-background-color);border:var(--st-border-width) solid var(--st-border-color);border-radius:var(--st-border-radius);color:var(--st-cell-color);font-family:inherit;font-size:.9em;outline:none;padding:var(--st-spacing-small);-webkit-transition:border-color var(--st-transition-duration) var(--st-transition-ease);transition:border-color var(--st-transition-duration) var(--st-transition-ease);width:100%}.st-filter-input:focus{border-color:var(--st-editable-cell-focus-border-color)}.st-filter-input-range-from{margin-bottom:var(--st-spacing-medium)}.st-filter-select{background-color:var(--st-odd-row-background-color);border:var(--st-border-width) solid var(--st-border-color);border-radius:var(--st-border-radius);color:var(--st-cell-color);cursor:pointer;font-family:inherit;font-size:.9em;outline:none;padding:var(--st-spacing-medium) var(--st-spacing-medium);-webkit-transition:border-color var(--st-transition-duration) var(--st-transition-ease);transition:border-color var(--st-transition-duration) var(--st-transition-ease);width:100%}.st-filter-select:focus{border-color:var(--st-editable-cell-focus-border-color)}.st-filter-actions{border-top:var(--st-border-width) solid var(--st-border-color);display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--st-spacing-medium);padding-top:var(--st-spacing-medium)}.st-filter-button{-webkit-box-flex:1;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:none;border-radius:var(--st-border-radius);cursor:pointer;-ms-flex:1;flex:1;font-family:inherit;font-size:.9em;font-weight:500;padding:var(--st-spacing-small);-webkit-transition:background-color var(--st-transition-duration) var(--st-transition-ease);transition:background-color var(--st-transition-duration) var(--st-transition-ease)}.st-filter-button:focus{outline:none}.st-filter-button:focus-visible{outline:2px solid var(--st-focus-ring-color);outline-offset:2px}.st-filter-button-apply{background-color:var(--st-button-active-background-color);color:#fff}.st-filter-button-apply:hover:not(.st-filter-button-disabled){opacity:.9}.st-filter-button-disabled{background-color:var(--st-filter-button-disabled-background-color);color:var(--st-filter-button-disabled-text-color);cursor:not-allowed}.st-filter-button-clear{background-color:initial;border:var(--st-border-width) solid var(--st-border-color);color:var(--st-cell-color)}.st-filter-button-clear:hover{background-color:var(--st-button-hover-background-color)}.st-custom-select{position:relative;width:100%}.st-custom-select-trigger{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:justify;-ms-flex-pack:justify;align-items:center;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:var(--st-odd-row-background-color);border:var(--st-border-width) solid var(--st-border-color);border-radius:var(--st-border-radius);color:var(--st-cell-color);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;font-family:inherit;font-size:.9em;gap:var(--st-spacing-medium);justify-content:space-between;outline:none;padding:var(--st-spacing-small);text-align:left;-webkit-transition:border-color var(--st-transition-duration) var(--st-transition-ease);transition:border-color var(--st-transition-duration) var(--st-transition-ease);width:100%}.st-custom-select-open .st-custom-select-trigger,.st-custom-select-trigger:focus,.st-custom-select-trigger:hover:not(:disabled){border-color:var(--st-editable-cell-focus-border-color)}.st-custom-select-value{-webkit-box-flex:1;color:var(--st-cell-color);-ms-flex:1;flex:1;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.st-custom-select-arrow{-ms-flex-negative:0;color:var(--st-header-label-color);flex-shrink:0;-webkit-transition:-webkit-transform var(--st-transition-duration) var(--st-transition-ease);transition:-webkit-transform var(--st-transition-duration) var(--st-transition-ease);transition:transform var(--st-transition-duration) var(--st-transition-ease);transition:transform var(--st-transition-duration) var(--st-transition-ease),-webkit-transform var(--st-transition-duration) var(--st-transition-ease)}.st-custom-select-open .st-custom-select-arrow{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.st-custom-select-options{-webkit-box-orient:vertical;-webkit-box-direction:normal;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;max-height:200px;min-width:120px;overflow:auto;overflow-x:hidden}.st-custom-select-option{-ms-flex-negative:0;color:var(--st-cell-color);cursor:pointer;flex-shrink:0;font-size:.9em;overflow:hidden;padding:var(--st-spacing-small);text-overflow:ellipsis;-webkit-transition:background-color var(--st-transition-duration) var(--st-transition-ease);transition:background-color var(--st-transition-duration) var(--st-transition-ease);white-space:nowrap}.st-custom-select-option-focused,.st-custom-select-option:hover{background-color:var(--st-button-hover-background-color)}.st-custom-select-option-selected{background-color:var(--st-selected-cell-background-color);color:var(--st-selected-cell-color)}.st-custom-select-option-selected.st-custom-select-option-focused{background-color:var(--st-selected-cell-background-color);opacity:.9}.st-custom-select-disabled{opacity:var(--st-opacity-disabled);pointer-events:none}.st-custom-select-disabled .st-custom-select-trigger{background-color:var(--st-header-background-color);color:var(--st-header-label-color);cursor:not-allowed}.st-enum-filter-options{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-box-flex:1;-ms-flex-positive:1;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;flex-grow:1;gap:var(--st-spacing-small);max-height:200px;overflow:auto}.st-enum-filter-options .st-checkbox-label{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;width:100%}.st-enum-search,.st-enum-select-all{border-bottom:var(--st-border-width) solid var(--st-border-color);padding-bottom:var(--st-spacing-small)}.st-enum-select-all-label{color:var(--st-header-label-color);font-weight:600}.st-enum-option-label{color:var(--st-cell-color);font-size:.9em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.st-enum-filter-options .st-enum-option-label{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.st-enum-no-results{color:var(--st-slate-400);font-size:.9em;font-style:italic;padding:var(--st-spacing-medium);text-align:center}.st-row-number{font-size:.8em;font-weight:500;opacity:.6;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.st-selection-cell-content{-webkit-box-pack:justify;-ms-flex-pack:justify;gap:8px;justify-content:space-between;width:100%}.st-row-buttons,.st-selection-cell-content,.st-selection-control{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex}.st-row-buttons,.st-selection-control{-ms-flex-negative:0;flex-shrink:0}.st-row-buttons{-webkit-box-pack:end;-ms-flex-pack:end;gap:4px;justify-content:flex-end}.st-row-button{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;justify-content:center}.st-column-borders .st-cell:not(.st-last-column),.st-column-borders .st-header-cell:not(.st-last-column),.st-column-borders .st-row.hovered .st-cell:not(.st-last-column):not(.st-cell-selected):not(.st-cell-selected-first):not(.st-cell-column-selected):not(.st-cell-column-selected-first),.st-column-borders .st-row.selected.hovered .st-cell:not(.st-last-column):not(.st-cell-selected):not(.st-cell-selected-first):not(.st-cell-column-selected):not(.st-cell-column-selected-first){-webkit-box-shadow:var(--st-border-width) 0 0 0 var(--st-border-color);box-shadow:var(--st-border-width) 0 0 0 var(--st-border-color)}.st-tooltip{word-wrap:break-word;-webkit-animation:st-tooltip-fade-in .2s ease-out;animation:st-tooltip-fade-in .2s ease-out;background-color:var(--st-tooltip-background-color);border-radius:var(--st-tooltip-border-radius);-webkit-box-shadow:var(--st-tooltip-shadow);box-shadow:var(--st-tooltip-shadow);color:var(--st-tooltip-text-color);font-size:12px;font-size:var(--st-tooltip-font-size,12px);line-height:1.4;max-width:300px;padding:var(--st-tooltip-padding);pointer-events:none}@-webkit-keyframes st-tooltip-fade-in{0%{opacity:0;-webkit-transform:translateY(-4px);transform:translateY(-4px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes st-tooltip-fade-in{0%{opacity:0;-webkit-transform:translateY(-4px);transform:translateY(-4px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.st-row.st-state-row{display:grid;position:absolute;width:100%}.st-row.st-state-row-spacer{background-color:initial;display:block;position:absolute;width:100%}.st-state-row-cell{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--st-body-background-color);display:-webkit-box;display:-ms-flexbox;display:flex;grid-column:1/-1}.st-bar-chart,.st-line-area-chart{overflow:visible}.theme-light{--st-border-radius:4px;--st-cell-padding:8px;--st-spacing-small:4px;--st-spacing-medium:8px;--st-scrollbar-bg-color:var(--st-slate-50);--st-scrollbar-thumb-color:var(--st-slate-300);--st-scrollbar-width:thin;--st-border-color:var(--st-slate-300);--st-body-background-color:var(--st-white);--st-footer-background-color:var(--st-slate-50);--st-footer-text-color:var(--st-slate-600);--st-last-group-row-separator-border-color:var(--st-slate-400);--st-odd-row-background-color:var(--st-white);--st-even-row-background-color:var(--st-slate-50);--st-hover-row-background-color:var(--st-slate-100);--st-selected-row-background-color:var(--st-blue-50);--st-odd-column-background-color:var(--st-slate-50);--st-even-column-background-color:var(--st-white);--st-header-background-color:var(--st-slate-100);--st-sub-header-background-color:var(--st-slate-200);--st-header-label-color:var(--st-slate-900);--st-header-icon-color:var(--st-slate-500);--st-cell-color:var(--st-slate-900);--st-cell-odd-row-color:var(--st-slate-800);--st-edit-cell-shadow:0 1px 2px 0 #0000000d;--st-sub-cell-background-color:var(--st-slate-100);--st-sub-cell-hover-background-color:var(--st-slate-200);--st-selected-cell-background-color:var(--st-blue-100);--st-selected-first-cell-background-color:var(--st-blue-50);--st-selected-cell-color:var(--st-slate-900);--st-selected-first-cell-color:var(--st-slate-900);--st-selected-sub-cell-background-color:var(--st-blue-200);--st-selected-sub-cell-color:var(--st-slate-900);--st-dragging-background-color:var(--st-slate-200);--st-dragging-sub-header-background-color:var(--st-slate-300);--st-resize-handle-color:var(--st-slate-400);--st-resize-handle-selected-color:var(--st-white);--st-selected-border-color:var(--st-blue-500);--st-editable-cell-focus-border-color:var(--st-blue-500);--st-focus-ring-color:var(--st-blue-800);--st-button-hover-background-color:var(--st-slate-100);--st-button-active-background-color:var(--st-blue-600);--st-next-prev-btn-color:var(--st-slate-600);--st-next-prev-btn-disabled-color:var(--st-slate-400);--st-page-btn-color:var(--st-slate-600);--st-page-btn-hover-background-color:var(--st-slate-100);--st-checkbox-checked-background-color:var(--st-blue-600);--st-checkbox-checked-border-color:var(--st-blue-600);--st-checkbox-border-color:var(--st-slate-300);--st-column-editor-background-color:var(--st-white);--st-column-editor-popout-background-color:var(--st-white);--st-column-editor-text-color:var(--st-slate-500);--st-datepicker-weekday-color:var(--st-slate-500);--st-datepicker-other-month-color:var(--st-slate-400);--st-filter-button-disabled-background-color:var(--st-slate-300);--st-filter-button-disabled-text-color:var(--st-slate-500);--st-cell-flash-color:var(--st-slate-200);--st-copy-flash-color:var(--st-blue-500);--st-warning-flash-color:var(--st-red-300);--st-tooltip-background-color:var(--st-slate-900);--st-tooltip-text-color:var(--st-white);--st-tooltip-border-radius:6px;--st-tooltip-padding:6px 10px;--st-tooltip-font-size:12px;--st-tooltip-shadow:0 2px 8px #00000026;--st-header-selected-background-color:var(--st-blue-600);--st-header-selected-label-color:var(--st-white);--st-header-selected-icon-color:var(--st-white);--st-header-highlight-indicator-color:var(--st-blue-100);--st-selection-highlight-indicator-color:var(--st-slate-300);--st-loading-skeleton-bg-color:var(--st-slate-200);--st-chart-color:var(--st-blue-300);--st-chart-fill-color:var(--st-blue-300);--st-drag-separator-color:var(--st-blue-500)}.theme-dark{--st-border-radius:4px;--st-cell-padding:8px;--st-spacing-small:4px;--st-spacing-medium:8px;--st-scrollbar-bg-color:var(--st-gray-900);--st-scrollbar-thumb-color:var(--st-gray-600);--st-scrollbar-width:thin;--st-border-color:var(--st-gray-700);--st-body-background-color:var(--st-gray-900);--st-footer-background-color:var(--st-gray-900);--st-footer-text-color:var(--st-gray-300);--st-last-group-row-separator-border-color:var(--st-gray-500);--st-odd-row-background-color:var(--st-gray-800);--st-even-row-background-color:var(--st-gray-900);--st-hover-row-background-color:var(--st-gray-700);--st-selected-row-background-color:var(--st-blue-950);--st-odd-column-background-color:var(--st-gray-800);--st-even-column-background-color:var(--st-gray-900);--st-header-background-color:var(--st-gray-800);--st-sub-header-background-color:var(--st-gray-700);--st-sub-cell-background-color:var(--st-gray-800);--st-sub-cell-hover-background-color:var(--st-gray-700);--st-header-label-color:var(--st-gray-100);--st-header-icon-color:var(--st-gray-400);--st-cell-color:var(--st-gray-100);--st-cell-odd-row-color:var(--st-gray-200);--st-edit-cell-shadow:0 1px 3px 0 #ffffff1a;--st-selected-cell-background-color:var(--st-blue-900);--st-selected-first-cell-background-color:var(--st-blue-800);--st-selected-cell-color:var(--st-white);--st-selected-first-cell-color:var(--st-white);--st-selected-sub-cell-background-color:var(--st-blue-800);--st-selected-sub-cell-color:var(--st-white);--st-dragging-background-color:var(--st-gray-500);--st-dragging-sub-header-background-color:var(--st-gray-600);--st-resize-handle-color:var(--st-gray-500);--st-resize-handle-selected-color:var(--st-white);--st-selected-border-color:var(--st-blue-400);--st-editable-cell-focus-border-color:var(--st-blue-400);--st-focus-ring-color:var(--st-blue-400);--st-button-hover-background-color:var(--st-gray-600);--st-button-active-background-color:var(--st-blue-500);--st-next-prev-btn-color:var(--st-gray-300);--st-next-prev-btn-disabled-color:var(--st-gray-600);--st-page-btn-color:var(--st-gray-300);--st-page-btn-hover-background-color:var(--st-gray-600);--st-checkbox-background-color:var(--st-gray-800);--st-checkbox-checked-background-color:var(--st-blue-500);--st-checkbox-checked-border-color:var(--st-blue-500);--st-checkbox-border-color:var(--st-gray-600);--st-column-editor-background-color:var(--st-gray-800);--st-column-editor-popout-background-color:var(--st-gray-800);--st-column-editor-text-color:var(--st-gray-400);--st-datepicker-weekday-color:var(--st-gray-400);--st-datepicker-other-month-color:var(--st-gray-600);--st-filter-button-disabled-background-color:var(--st-gray-700);--st-filter-button-disabled-text-color:var(--st-gray-500);--st-cell-flash-color:var(--st-gray-600);--st-copy-flash-color:var(--st-blue-500);--st-warning-flash-color:var(--st-red-400);--st-tooltip-background-color:var(--st-gray-100);--st-tooltip-text-color:var(--st-gray-900);--st-tooltip-border-radius:6px;--st-tooltip-padding:6px 10px;--st-tooltip-font-size:12px;--st-tooltip-shadow:0 2px 8px #0000004d;--st-header-selected-background-color:var(--st-blue-500);--st-header-selected-label-color:var(--st-white);--st-header-selected-icon-color:var(--st-white);--st-header-highlight-indicator-color:var(--st-blue-900);--st-selection-highlight-indicator-color:var(--st-gray-600);--st-loading-skeleton-bg-color:var(--st-gray-700);--st-chart-color:var(--st-blue-400);--st-chart-fill-color:var(--st-blue-400);--st-drag-separator-color:var(--st-blue-400)}.theme-neutral{--st-border-radius:4px;--st-cell-padding:8px;--st-spacing-small:4px;--st-spacing-medium:8px;--st-scrollbar-bg-color:var(--st-neutral-100);--st-scrollbar-thumb-color:var(--st-neutral-400);--st-scrollbar-width:thin;--st-border-color:var(--st-neutral-300);--st-body-background-color:var(--st-neutral-50);--st-footer-background-color:var(--st-neutral-50);--st-footer-text-color:var(--st-neutral-600);--st-last-group-row-separator-border-color:var(--st-neutral-400);--st-odd-row-background-color:var(--st-neutral-50);--st-even-row-background-color:var(--st-neutral-100);--st-hover-row-background-color:var(--st-neutral-200);--st-selected-row-background-color:var(--st-neutral-300);--st-odd-column-background-color:var(--st-neutral-50);--st-even-column-background-color:var(--st-neutral-100);--st-header-background-color:var(--st-neutral-200);--st-sub-header-background-color:var(--st-neutral-300);--st-sub-cell-background-color:var(--st-neutral-200);--st-sub-cell-hover-background-color:var(--st-neutral-300);--st-header-label-color:var(--st-neutral-900);--st-header-icon-color:var(--st-neutral-500);--st-cell-color:var(--st-neutral-900);--st-cell-odd-row-color:var(--st-neutral-800);--st-edit-cell-shadow:0 1px 2px 0 #0000000d;--st-selected-cell-background-color:var(--st-neutral-400);--st-selected-first-cell-background-color:var(--st-neutral-300);--st-selected-cell-color:var(--st-neutral-900);--st-selected-first-cell-color:var(--st-neutral-900);--st-selected-sub-cell-background-color:var(--st-neutral-400);--st-selected-sub-cell-color:var(--st-neutral-900);--st-dragging-background-color:var(--st-neutral-300);--st-dragging-sub-header-background-color:var(--st-neutral-400);--st-resize-handle-color:var(--st-neutral-400);--st-resize-handle-selected-color:var(--st-white);--st-selected-border-color:var(--st-neutral-600);--st-editable-cell-focus-border-color:var(--st-neutral-500);--st-focus-ring-color:var(--st-neutral-600);--st-button-hover-background-color:var(--st-neutral-200);--st-button-active-background-color:var(--st-neutral-600);--st-next-prev-btn-color:var(--st-neutral-600);--st-next-prev-btn-disabled-color:var(--st-neutral-400);--st-page-btn-color:var(--st-neutral-600);--st-page-btn-hover-background-color:var(--st-neutral-200);--st-checkbox-checked-background-color:var(--st-neutral-600);--st-checkbox-checked-border-color:var(--st-neutral-600);--st-checkbox-border-color:var(--st-neutral-300);--st-column-editor-background-color:var(--st-neutral-50);--st-column-editor-popout-background-color:var(--st-neutral-50);--st-column-editor-text-color:var(--st-neutral-500);--st-datepicker-weekday-color:var(--st-neutral-500);--st-datepicker-other-month-color:var(--st-neutral-400);--st-filter-button-disabled-background-color:var(--st-neutral-300);--st-filter-button-disabled-text-color:var(--st-neutral-500);--st-cell-flash-color:var(--st-neutral-400);--st-copy-flash-color:var(--st-neutral-600);--st-warning-flash-color:var(--st-red-400);--st-tooltip-background-color:var(--st-neutral-800);--st-tooltip-text-color:var(--st-white);--st-tooltip-border-radius:6px;--st-tooltip-padding:6px 10px;--st-tooltip-font-size:12px;--st-tooltip-shadow:0 2px 8px #00000026;--st-header-selected-background-color:var(--st-neutral-600);--st-header-selected-label-color:var(--st-white);--st-header-selected-icon-color:var(--st-white);--st-header-highlight-indicator-color:var(--st-neutral-400);--st-selection-highlight-indicator-color:var(--st-neutral-400);--st-loading-skeleton-bg-color:var(--st-neutral-200);--st-chart-color:var(--st-neutral-500);--st-chart-fill-color:var(--st-neutral-500);--st-drag-separator-color:var(--st-neutral-600)}.theme-custom,.theme-modern-light{--st-border-radius:4px;--st-cell-padding:12px;--st-spacing-small:4px;--st-spacing-medium:8px;--st-scrollbar-bg-color:#fafafa;--st-scrollbar-thumb-color:#d1d5db;--st-scrollbar-width:thin;--st-border-color:#e5e7eb;--st-footer-background-color:var(--st-white);--st-footer-text-color:#6b7280;--st-last-group-row-separator-border-color:#e5e7eb;--st-odd-row-background-color:var(--st-white);--st-even-row-background-color:var(--st-white);--st-hover-row-background-color:#f3f4f6;--st-selected-row-background-color:#eff6ff;--st-odd-column-background-color:var(--st-white);--st-even-column-background-color:var(--st-white);--st-header-background-color:var(--st-white);--st-sub-header-background-color:#fafafa;--st-header-label-color:#111827;--st-header-icon-color:#6b7280;--st-cell-color:#111827;--st-cell-odd-row-color:#374151;--st-edit-cell-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--st-sub-cell-background-color:#f9fafb;--st-sub-cell-hover-background-color:#f3f4f6;--st-selected-cell-background-color:#dbeafe;--st-selected-first-cell-background-color:#eff6ff;--st-selected-cell-color:#111827;--st-selected-first-cell-color:#111827;--st-selected-sub-cell-background-color:#bfdbfe;--st-selected-sub-cell-color:#111827;--st-dragging-background-color:#f3f4f6;--st-dragging-sub-header-background-color:#e5e7eb;--st-resize-handle-color:#e5e7eb;--st-resize-handle-selected-color:#3b82f6;--st-selected-border-color:#3b82f6;--st-editable-cell-focus-border-color:#3b82f6;--st-focus-ring-color:#3b82f6;--st-button-hover-background-color:#f3f4f6;--st-button-active-background-color:#3b82f6;--st-next-prev-btn-color:#6b7280;--st-next-prev-btn-disabled-color:#d1d5db;--st-page-btn-color:#374151;--st-page-btn-hover-background-color:#f3f4f6;--st-checkbox-checked-background-color:#3b82f6;--st-checkbox-checked-border-color:#3b82f6;--st-checkbox-border-color:#d1d5db;--st-column-editor-background-color:var(--st-white);--st-column-editor-popout-background-color:var(--st-white);--st-column-editor-text-color:#6b7280;--st-datepicker-weekday-color:#6b7280;--st-datepicker-other-month-color:#d1d5db;--st-filter-button-disabled-background-color:#f3f4f6;--st-filter-button-disabled-text-color:#9ca3af;--st-cell-flash-color:#dbeafe;--st-copy-flash-color:#3b82f6;--st-warning-flash-color:#fca5a5;--st-tooltip-background-color:#1f2937;--st-tooltip-text-color:var(--st-white);--st-tooltip-border-radius:6px;--st-tooltip-padding:6px 10px;--st-tooltip-font-size:12px;--st-tooltip-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--st-header-selected-background-color:#3b82f6;--st-header-selected-label-color:var(--st-white);--st-header-selected-icon-color:var(--st-white);--st-header-highlight-indicator-color:#dbeafe;--st-selection-highlight-indicator-color:#f3f4f6;--st-loading-skeleton-bg-color:#f3f4f6;--st-chart-color:#3b82f6;--st-chart-fill-color:#dbeafe;--st-drag-separator-color:#3b82f6;--st-body-background-color:var(--st-white)}.theme-modern-dark{--st-border-radius:4px;--st-cell-padding:12px;--st-spacing-small:4px;--st-spacing-medium:8px;--st-scrollbar-bg-color:#111827;--st-scrollbar-thumb-color:#4b5563;--st-scrollbar-width:thin;--st-border-color:#374151;--st-footer-background-color:#1f2937;--st-footer-text-color:#d1d5db;--st-last-group-row-separator-border-color:#4b5563;--st-odd-row-background-color:#1f2937;--st-even-row-background-color:#1f2937;--st-hover-row-background-color:#374151;--st-selected-row-background-color:#1e3a5f;--st-odd-column-background-color:#1f2937;--st-even-column-background-color:#1f2937;--st-header-background-color:#1f2937;--st-sub-header-background-color:#111827;--st-header-label-color:#f3f4f6;--st-header-icon-color:#9ca3af;--st-cell-color:#f3f4f6;--st-cell-odd-row-color:#d1d5db;--st-edit-cell-shadow:0 4px 6px -1px #0000004d,0 2px 4px -1px #0003;--st-sub-cell-background-color:#111827;--st-sub-cell-hover-background-color:#1f2937;--st-selected-cell-background-color:#1e40af;--st-selected-first-cell-background-color:#1e3a8a;--st-selected-cell-color:#f3f4f6;--st-selected-first-cell-color:#f3f4f6;--st-selected-sub-cell-background-color:#1e3a8a;--st-selected-sub-cell-color:#f3f4f6;--st-dragging-background-color:#374151;--st-dragging-sub-header-background-color:#4b5563;--st-resize-handle-color:#4b5563;--st-resize-handle-selected-color:#60a5fa;--st-selected-border-color:#60a5fa;--st-editable-cell-focus-border-color:#60a5fa;--st-focus-ring-color:#60a5fa;--st-button-hover-background-color:#374151;--st-button-active-background-color:#3b82f6;--st-next-prev-btn-color:#9ca3af;--st-next-prev-btn-disabled-color:#4b5563;--st-page-btn-color:#d1d5db;--st-page-btn-hover-background-color:#374151;--st-checkbox-background-color:#1f2937;--st-checkbox-checked-background-color:#3b82f6;--st-checkbox-checked-border-color:#3b82f6;--st-checkbox-border-color:#4b5563;--st-column-editor-background-color:#1f2937;--st-column-editor-popout-background-color:#1f2937;--st-column-editor-text-color:#9ca3af;--st-datepicker-weekday-color:#9ca3af;--st-datepicker-other-month-color:#4b5563;--st-filter-button-disabled-background-color:#374151;--st-filter-button-disabled-text-color:#6b7280;--st-cell-flash-color:#1e40af;--st-copy-flash-color:#60a5fa;--st-warning-flash-color:#ef4444;--st-tooltip-background-color:#f3f4f6;--st-tooltip-text-color:#111827;--st-tooltip-border-radius:6px;--st-tooltip-padding:6px 10px;--st-tooltip-font-size:12px;--st-tooltip-shadow:0 10px 15px -3px #0000004d,0 4px 6px -2px #0003;--st-header-selected-background-color:#3b82f6;--st-header-selected-label-color:var(--st-white);--st-header-selected-icon-color:var(--st-white);--st-header-highlight-indicator-color:#1e40af;--st-selection-highlight-indicator-color:#374151;--st-loading-skeleton-bg-color:#374151;--st-chart-color:#60a5fa;--st-chart-fill-color:#3b82f6;--st-drag-separator-color:#60a5fa;--st-body-background-color:#1f2937}
1
+ .st-sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.simple-table-root{--st-after-width:11.01px;--st-resize-handle-width:2px;--st-resize-handle-container-width:10px;--st-border-width:1px;--st-footer-height:49px;--st-transition-duration:0.2s;--st-transition-ease:ease;--st-opacity-disabled:0.5;--st-white:#fff;--st-black:#000;--st-slate-50:#f8fafc;--st-slate-100:#f1f5f9;--st-slate-200:#e2e8f0;--st-slate-300:#cbd5e1;--st-slate-400:#94a3b8;--st-slate-500:#64748b;--st-slate-600:#475569;--st-slate-800:#1e293b;--st-slate-900:#0f172a;--st-gray-100:#f3f4f6;--st-gray-200:#e5e7eb;--st-gray-300:#d1d5db;--st-gray-400:#9ca3af;--st-gray-500:#6b7280;--st-gray-600:#4b5563;--st-gray-700:#374151;--st-gray-800:#1f2937;--st-gray-900:#111827;--st-neutral-50:#fafafa;--st-neutral-100:#f5f5f5;--st-neutral-200:#e5e5e5;--st-neutral-300:#d4d4d4;--st-neutral-400:#a3a3a3;--st-neutral-500:#737373;--st-neutral-600:#525252;--st-neutral-800:#262626;--st-neutral-900:#171717;--st-red-300:#fca5a5;--st-red-400:#f87171;--st-blue-50:#eff6ff;--st-blue-100:#dbeafe;--st-blue-200:#bfdbfe;--st-blue-300:#93c5fd;--st-blue-400:#60a5fa;--st-blue-500:#3b82f6;--st-blue-600:#2563eb;--st-blue-800:#1e40af;--st-blue-900:#1e3a8a;--st-blue-950:#172554}.simple-table-root *{-webkit-box-sizing:border-box;box-sizing:border-box;font-family:inherit;scrollbar-color:var(--st-scrollbar-thumb-color) var(--st-scrollbar-bg-color);scrollbar-width:var(--st-scrollbar-width)}input{color:#000}.simple-table-root ::-webkit-scrollbar{height:8px;width:8px}.simple-table-root ::-webkit-scrollbar-track{background:var(--st-scrollbar-bg-color)}.simple-table-root ::-webkit-scrollbar-thumb{background:var(--st-scrollbar-thumb-color);border-radius:4px}.simple-table-root{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--st-cell-color)}.st-wrapper{border:var(--st-border-width) solid var(--st-border-color);border-radius:var(--st-border-radius);overflow:hidden;position:relative}.simple-table-root.st-external-scroll{overflow:visible}.simple-table-root.st-external-scroll .st-header-container{position:sticky;top:0;top:calc(var(--st-external-scroll-padding-top, 0px)*-1);z-index:4}.simple-table-root.st-external-scroll .st-sticky-top{position:sticky;top:0;top:calc(var(--st-calculated-header-height, 0px) - var(--st-external-scroll-padding-top, 0px))}.simple-table-root.st-external-scroll .st-column-editor-text{-ms-flex-item-align:start;-webkit-box-flex:0;-ms-flex-positive:0;align-self:flex-start;flex-grow:0;position:sticky;top:0;top:calc(var(--st-external-scroll-padding-top, 0px)*-1)}.st-wrapper-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%}.st-content-wrapper,.st-wrapper-container{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;width:100%}.st-content-wrapper{-webkit-box-flex:1;-ms-flex:1;flex:1;min-height:0}.st-content{-webkit-box-orient:vertical;-webkit-box-direction:normal;background-color:var(--st-even-row-background-color);-ms-flex-direction:column;flex-direction:column}.st-content,.st-header-container{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%}.st-header-container,.st-header-container.st-header-scroll-padding:after{-ms-flex-negative:0;background-color:var(--st-header-background-color);flex-shrink:0}.st-header-container.st-header-scroll-padding:after{-webkit-box-sizing:border-box;box-sizing:border-box;content:"";display:block;width:default-width;width:var(--st-after-width,default-width)}.st-header-container.st-header-scroll-padding:after,.st-header-main,.st-header-pinned-left,.st-header-pinned-right{border-bottom:var(--st-border-width) solid var(--st-border-color)}.st-header-grid{min-width:100%;position:relative}.st-body-main,.st-body-pinned-left,.st-body-pinned-right,.st-header-main,.st-header-pinned-left,.st-header-pinned-right,.st-horizontal-scrollbar-left,.st-horizontal-scrollbar-middle,.st-horizontal-scrollbar-right{overflow:auto;-ms-touch-action:auto;touch-action:auto}.st-body-main,.st-body-pinned-left,.st-body-pinned-right,.st-header-main,.st-header-pinned-left,.st-header-pinned-right{scrollbar-width:none}.st-body-pinned-left,.st-body-pinned-right,.st-header-pinned-left,.st-header-pinned-right{-ms-flex-negative:0;flex-shrink:0}.st-body-pinned-left,.st-header-pinned-left{border-right:var(--st-border-width) solid var(--st-border-color)}.st-body-pinned-right,.st-header-pinned-right{border-left:var(--st-border-width) solid var(--st-border-color)}.st-header-main{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.st-header-main,.st-header-pinned-left,.st-header-pinned-right{overflow-x:auto;overflow-y:hidden}.st-header-main::-webkit-scrollbar{display:none}.st-body-container{-webkit-box-flex:1;-ms-flex-positive:1;-webkit-overflow-scrolling:touch;background-color:var(--st-even-row-background-color);flex-grow:1;height:-webkit-max-content;height:-moz-max-content;height:max-content;overflow:auto;-ms-touch-action:auto;touch-action:auto;width:100%}.st-body-container,.st-sticky-top{display:-webkit-box;display:-ms-flexbox;display:flex}.st-sticky-top{left:0;position:absolute;top:0;z-index:10}.st-sticky-section-left,.st-sticky-section-main,.st-sticky-section-right{overflow:hidden}.st-sticky-section-left{border-right:var(--st-border-width) solid var(--st-border-color)}.st-sticky-section-right{border-left:var(--st-border-width) solid var(--st-border-color)}.st-empty-state-wrapper{-ms-flex-align:center;-ms-flex-pack:center;-webkit-box-flex:1;-ms-flex:1;flex:1;min-height:200px;width:100%}.st-empty-state,.st-empty-state-wrapper{-webkit-box-align:center;-webkit-box-pack:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;justify-content:center}.st-empty-state{-ms-flex-align:center;-ms-flex-pack:center;color:var(--st-header-icon-color);font-size:.9em;opacity:.6;padding:48px 24px}.st-body-main,.st-body-pinned-left,.st-body-pinned-right{display:grid;height:-webkit-max-content;height:-moz-max-content;height:max-content;min-height:100%}.st-body-main::-webkit-scrollbar{display:none}.st-row{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:var(--st-even-row-background-color);display:grid;min-width:100%;position:absolute;-webkit-transition:background .2s ease;transition:background .2s ease}.st-row.st-sticky-parent{z-index:5}.st-sticky-top .st-row.even{background-color:var(--st-even-row-background-color)}.st-sticky-top .st-row.odd{background-color:var(--st-odd-row-background-color)}.st-sticky-top .st-row.selected{background-color:var(--st-selected-row-background-color)}.st-row.hovered .st-cell-editing,.st-row.hovered .st-cell:not(.st-cell-selected):not(.st-cell-selected-first):not(.st-cell-column-selected):not(.st-cell-column-selected-first),.st-sticky-top .st-row.hovered:not(.st-cell-editing):not(.st-cell-column-selected):not(.st-cell-column-selected-last):not(.st-cell-column-selected-first){background-color:var(--st-hover-row-background-color)}.st-row.hovered .st-cell.st-sub-cell:not(.st-cell-selected):not(.st-cell-selected-first):not(.st-cell-column-selected):not(.st-cell-column-selected-first){background-color:var(--st-sub-cell-hover-background-color)}.st-row.even{background-color:var(--st-even-row-background-color)}.st-row.odd{background-color:var(--st-odd-row-background-color)}.st-row.selected{background-color:var(--st-selected-row-background-color)}.st-row.selected.hovered .st-cell-editing,.st-row.selected.hovered .st-cell:not(.st-cell-selected):not(.st-cell-selected-first):not(.st-cell-column-selected):not(.st-cell-column-selected-first){background-color:var(--st-hover-row-background-color)}.st-nested-grid-row{padding-left:8px;padding-right:8px}.st-cell-content{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:14px}.st-row.odd .st-cell-content{color:var(--st-cell-odd-row-color)}.st-row.even .st-cell-content{color:var(--st-cell-color)}.st-cell.st-cell-even-row:not(.st-cell-selected):not(.st-cell-selected-first):not(.st-cell-column-selected):not(.st-cell-column-selected-first){background-color:var(--st-even-row-background-color)}.st-cell.st-cell-odd-row:not(.st-cell-selected):not(.st-cell-selected-first):not(.st-cell-column-selected):not(.st-cell-column-selected-first){background-color:var(--st-odd-row-background-color)}.st-cell.st-cell-even-row .st-cell-content{color:var(--st-cell-color)}.st-cell.st-cell-odd-row .st-cell-content{color:var(--st-cell-odd-row-color)}.st-cell.st-cell-selected-row:not(.st-row-hovered):not(.st-cell-selected):not(.st-cell-selected-first):not(.st-cell-column-selected):not(.st-cell-column-selected-first){background-color:var(--st-selected-row-background-color)}.st-cell.st-row-active:not(.st-row-hovered){outline:1px solid #93c5fd;outline:1px solid var(--st-selected-row-background-color,#93c5fd);outline-offset:-1px}.st-cell.st-row-hovered:not(.st-cell-selected):not(.st-cell-selected-first):not(.st-cell-column-selected):not(.st-cell-column-selected-first){background-color:var(--st-hover-row-background-color)}.st-header-cell{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--st-header-background-color);display:-webkit-box;display:-ms-flexbox;display:flex;font-size:14px;font-weight:500;gap:var(--st-spacing-small);top:0}.st-header-cell.parent{border-bottom:var(--st-border-width) solid var(--st-border-color)}.st-header-cell.st-sub-header{background-color:var(--st-sub-header-background-color)}.st-cell.st-sub-cell{background-color:var(--st-sub-cell-background-color)}.st-header-cell.clickable,.st-header-cell.st-header-editable{cursor:pointer}.st-header-cell.draggable{cursor:-webkit-grab;cursor:grab}.st-header-cell.st-header-selected{background-color:var(--st-header-selected-background-color)}.st-header-cell.st-header-selected .st-header-label-text{color:var(--st-header-selected-label-color)}.st-header-cell.st-header-selected .st-header-icon,.st-header-cell.st-header-selected .st-icon-container{color:var(--st-header-selected-icon-color)}.st-header-cell.st-header-selected .st-icon-container svg:not([fill=none]){fill:var(--st-header-selected-icon-color)}.st-header-cell.st-header-selected .st-header-resize-handle{background-color:var(--st-resize-handle-selected-color)}.st-header-cell.st-header-has-highlighted-cell{background-color:var(--st-header-highlight-indicator-color)}.st-cell,.st-header-cell{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:initial;color:var(--st-cell-color);display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--st-spacing-small);overflow:hidden;position:relative}.st-cell.left-aligned,.st-header-cell.left-aligned{padding-left:var(--st-cell-padding);text-align:left}.st-cell.center-aligned,.st-cell.center-aligned>.st-cell-content,.st-header-cell.center-aligned,.st-header-cell.center-aligned>.st-header-label-text{text-align:center}.st-cell.clickable{cursor:pointer}.st-cell,.st-cell-editing,.st-header-cell{height:100%;width:100%}.st-cell-editing{position:relative}.st-header-label{-webkit-box-flex:1;-ms-flex-positive:1;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;flex-grow:1;height:100%;min-width:0;overflow:hidden}.st-cell-content,.st-header-label-text{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:left;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;width:100%}.st-header-label-text{color:var(--st-header-label-color);font-weight:600;overflow:hidden;padding-left:var(--st-cell-padding);padding-right:var(--st-cell-padding);text-overflow:ellipsis;white-space:nowrap}.st-cell-content.left-aligned,.st-header-label-text.left-aligned{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:left}.st-cell-content.center-aligned,.st-header-label-text.center-aligned{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center}.st-cell-content.right-aligned,.st-header-label-text.right-aligned{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:right}.st-not-resizeable .st-cell-content{padding-left:var(--st-cell-padding);padding-right:var(--st-cell-padding)}.st-resizeable .st-body-pinned-right .st-cell-content,.st-resizeable .st-sticky-section-right .st-cell-content{padding-left:calc(var(--st-cell-padding) + var(--st-spacing-small) + var(--st-resize-handle-container-width));padding-right:var(--st-cell-padding)}.st-resizeable .st-body-main .st-cell-content,.st-resizeable .st-body-pinned-left .st-cell-content,.st-resizeable .st-sticky-section-left .st-cell-content,.st-resizeable .st-sticky-section-main .st-cell-content{padding-left:var(--st-cell-padding);padding-right:calc(var(--st-cell-padding) + var(--st-spacing-small) + var(--st-resize-handle-container-width))}.st-resizeable .st-selection-cell .st-cell-content{padding-left:var(--st-cell-padding);padding-right:var(--st-cell-padding)}.st-selection-cell.st-selection-has-highlighted-cell{background-color:var(--st-selection-highlight-indicator-color)}.st-cell{border:var(--st-border-width) solid #0000;z-index:1}.st-cell:focus,.st-cell:focus-visible{outline:none}.st-cell.even-column:not(.st-cell-selected){background-color:var(--st-even-column-background-color)}.st-cell.odd-column:not(.st-cell-selected){background-color:var(--st-odd-column-background-color)}.st-cell-depth-1{padding-left:calc(var(--st-cell-padding)*4)}.st-cell-depth-2{padding-left:calc(var(--st-cell-padding)*8)}.st-cell-depth-3{padding-left:calc(var(--st-cell-padding)*12)}.st-cell-depth-4{padding-left:calc(var(--st-cell-padding)*16)}.st-cell-depth-5{padding-left:calc(var(--st-cell-padding)*20)}.st-cell-depth-6{padding-left:calc(var(--st-cell-padding)*24)}.st-cell-depth-7{padding-left:calc(var(--st-cell-padding)*28)}.st-cell-depth-1 .st-cell-content{color:rgb(from var(--st-cell-color) r g b/80%)!important}.st-cell-depth-2 .st-cell-content,.st-cell-depth-3 .st-cell-content,.st-cell-depth-4 .st-cell-content,.st-cell-depth-5 .st-cell-content,.st-cell-depth-6 .st-cell-content,.st-cell-depth-7 .st-cell-content{color:rgb(from var(--st-cell-color) r g b/70%)!important}.st-icon-container{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;-ms-flex-item-align:stretch;align-items:center;align-self:stretch;border-radius:var(--st-border-radius);display:-webkit-box;display:-ms-flexbox;display:flex;justify-content:center;margin-left:var(--st-spacing-small);-webkit-transition:outline .2s ease;transition:outline .2s ease}.st-icon-container:focus-visible{outline:1px solid var(--st-focus-ring-color);outline-offset:2px}.st-collapse-icon-container{cursor:pointer}.st-expand-icon{color:var(--st-header-label-color);cursor:pointer}.st-expand-icon:not([fill=none]){fill:var(--st-header-label-color)}.st-header-resize-handle-container{-ms-flex-negative:0;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;cursor:col-resize;display:-webkit-box;display:-ms-flexbox;display:flex;flex-shrink:0;height:100%;justify-content:center;width:var(--st-resize-handle-container-width)}.st-header-resize-handle{background-color:var(--st-resize-handle-color);height:calc(100% - 20px);width:var(--st-resize-handle-width)}.st-row-separator{background-color:var(--st-border-color);cursor:pointer;height:1px;min-width:100%;position:absolute;width:100%}.st-row-separator.st-last-group-row{background-color:var(--st-last-group-row-separator-border-color)}.st-dragging:not(.st-sub-header){background-color:var(--st-dragging-background-color)}.st-dragging.st-sub-header{background-color:var(--st-dragging-sub-header-background-color)}.st-loading-skeleton{-webkit-animation:st-skeleton-pulse 1.5s ease-in-out infinite;animation:st-skeleton-pulse 1.5s ease-in-out infinite;background-color:var(--st-loading-skeleton-bg-color);border-radius:4px;height:16px;width:80%}@-webkit-keyframes st-skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes st-skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.st-cell-selected{background-color:var(--st-selected-cell-background-color)}.st-cell-selected .st-cell-content{color:var(--st-selected-cell-color)!important}.st-cell-selected-first{background-color:var(--st-selected-first-cell-background-color);border:var(--st-border-width) solid var(--st-selected-border-color)}.st-cell-selected-first .st-cell-content{color:var(--st-selected-first-cell-color)!important}.st-cell-selected.st-sub-cell{background-color:var(--st-selected-sub-cell-background-color)}.st-cell-selected.st-sub-cell .st-cell-content{color:var(--st-selected-sub-cell-color)!important}.st-cell-selected-first.st-sub-cell{background-color:var(--st-selected-sub-cell-background-color)}.st-cell-selected-first.st-sub-cell .st-cell-content{color:var(--st-selected-sub-cell-color)!important}.st-cell-column-selected{background-color:var(--st-selected-cell-background-color)}.st-cell-column-selected .st-cell-content{color:var(--st-selected-cell-color)!important}.st-cell-column-selected-first{background-color:var(--st-selected-first-cell-background-color)}.st-cell-column-selected-first .st-cell-content{color:var(--st-selected-first-cell-color)!important}.st-cell-column-selected.st-sub-cell{background-color:var(--st-selected-sub-cell-background-color)}.st-cell-column-selected.st-sub-cell .st-cell-content{color:var(--st-selected-sub-cell-color)!important}.st-cell-column-selected-first.st-sub-cell{background-color:var(--st-selected-sub-cell-background-color)}.st-cell-column-selected-first.st-sub-cell .st-cell-content{color:var(--st-selected-sub-cell-color)!important}.st-selected-top-border{border-top:var(--st-border-width) solid var(--st-selected-border-color)}.st-selected-bottom-border{border-bottom:var(--st-border-width) solid var(--st-selected-border-color)}.st-selected-left-border{border-left:var(--st-border-width) solid var(--st-selected-border-color)}.st-selected-right-border{border-right:var(--st-border-width) solid var(--st-selected-border-color)}.st-horizontal-scrollbar-container{-ms-flex-negative:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--st-scrollbar-bg-color);border-top:var(--st-border-width) solid var(--st-border-color);display:-webkit-box;display:-ms-flexbox;display:flex;flex-shrink:0;height:13px;width:100%}.st-horizontal-scrollbar-left,.st-horizontal-scrollbar-right{-ms-flex-negative:0;flex-shrink:0}.st-horizontal-scrollbar-left{border-right:var(--st-border-width) solid var(--st-border-color)}.st-horizontal-scrollbar-right{border-left:var(--st-border-width) solid var(--st-border-color)}.st-horizontal-scrollbar-left,.st-horizontal-scrollbar-middle,.st-horizontal-scrollbar-right{height:8px;overflow-x:auto;overflow-y:hidden;scrollbar-color:auto}.st-horizontal-scrollbar-middle{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.st-horizontal-scrollbar-left>div,.st-horizontal-scrollbar-middle>div,.st-horizontal-scrollbar-right>div{height:.3px}.st-horizontal-scrollbar-left::-webkit-scrollbar,.st-horizontal-scrollbar-middle::-webkit-scrollbar,.st-horizontal-scrollbar-right::-webkit-scrollbar{height:8px}.st-footer{-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-box-align:center;-ms-flex-align:center;-ms-flex-negative:0;align-items:center;background-color:var(--st-footer-background-color);border-top:var(--st-border-width) solid var(--st-border-color);display:-webkit-box;display:-ms-flexbox;display:flex;flex-shrink:0;gap:12px;justify-content:space-between;min-height:49px;min-height:var(--st-footer-height,49px);padding:12px 16px}.simple-table-root.st-footer-position-top .st-footer{border-bottom:var(--st-border-width) solid var(--st-border-color);border-top:none}.st-footer-info{-webkit-box-align:center;-ms-flex-align:center;-ms-flex-negative:0;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;flex-shrink:0}.st-footer-results-text{color:var(--st-footer-text-color,var(--st-cell-color));font-size:14px;white-space:nowrap}.st-footer-pagination{-ms-flex-wrap:nowrap;flex-wrap:nowrap;gap:2px;overflow:hidden}.st-footer-pagination,.st-next-prev-btn{-webkit-box-align:center;-ms-flex-align:center;-ms-flex-negative:0;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;flex-shrink:0}.st-next-prev-btn{-webkit-box-pack:center;-ms-flex-pack:center;fill:var(--st-next-prev-btn-color);background-color:initial;border:none;border-radius:var(--st-border-radius);cursor:pointer;justify-content:center;margin-left:4px;padding:6px 8px;-webkit-transition:background-color var(--st-transition-duration) var(--st-transition-ease);transition:background-color var(--st-transition-duration) var(--st-transition-ease)}.st-next-prev-btn,.st-next-prev-btn .st-next-prev-icon{color:var(--st-next-prev-btn-color)}.st-next-prev-btn .st-next-prev-icon:not([fill=none]){fill:var(--st-next-prev-btn-color)}.disabled>.st-next-prev-icon{fill:var(--st-next-prev-btn-disabled-color);color:var(--st-next-prev-btn-disabled-color);cursor:not-allowed}.st-next-prev-btn:not(.disabled):hover{background-color:var(--st-page-btn-hover-background-color)}.st-next-prev-btn:focus-visible{outline:1px solid var(--st-focus-ring-color);outline-offset:0}.st-page-btn{-ms-flex-negative:0;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background-color:initial;border:none;border-radius:var(--st-border-radius);color:var(--st-page-btn-color);cursor:pointer;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;flex-shrink:0;font-size:13px;font-weight:500;justify-content:center;min-width:36px;padding:6px 8px;-webkit-transition:background-color var(--st-transition-duration) var(--st-transition-ease);transition:background-color var(--st-transition-duration) var(--st-transition-ease)}.st-page-btn:hover{background-color:var(--st-button-hover-background-color)}.st-page-btn:focus-visible{outline:1px solid var(--st-focus-ring-color);outline-offset:-2px}.st-page-btn.active{background-color:var(--st-button-active-background-color);color:var(--st-header-selected-label-color,var(--st-white));font-weight:600}.st-footer-pagination .st-page-btn.st-page-btn--compact-hidden{display:none}.st-page-ellipsis{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;color:var(--st-next-prev-btn-color);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-weight:400;justify-content:center;padding:0 4px}.editable-cell-input{border:var(--st-border-width) solid var(--st-border-color);-webkit-box-shadow:var(--st-edit-cell-shadow);box-shadow:var(--st-edit-cell-shadow);font-size:.875rem;height:100%;left:0;outline:none;padding:var(--st-cell-padding);position:absolute;top:0;width:100%;z-index:1}.editable-cell-input:focus{border:var(--st-border-width) solid var(--st-editable-cell-focus-border-color)}.st-column-editor{-ms-flex-negative:0;-ms-flex-item-align:stretch;align-self:stretch;background:var(--st-column-editor-background-color);border-left:var(--st-border-width) solid var(--st-border-color);color:var(--st-column-editor-text-color);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;flex-shrink:0;height:auto;min-height:0;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.st-column-editor.st-column-editor--no-toggle{background:#0000;border-left:none;cursor:default;overflow:visible;pointer-events:none;width:0}.st-column-editor.st-column-editor--no-toggle .st-column-editor-popout{pointer-events:auto;right:100%}.st-column-editor-text{-webkit-box-flex:1;-ms-flex-positive:1;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;flex-grow:1;max-width:100%;min-width:0;padding:var(--st-spacing-medium) var(--st-spacing-small);width:100%;-webkit-writing-mode:vertical-rl;-ms-writing-mode:tb-rl;writing-mode:vertical-rl;z-index:2}.st-column-editor.open,.st-column-editor.open .st-column-editor-text{background-color:var(--st-column-editor-background-color)}.st-column-editor-popout{background-color:var(--st-column-editor-popout-background-color);cursor:default;height:100%;overflow:hidden;position:absolute;right:calc(100% + var(--st-border-width)*2);top:0;-webkit-transition:width var(--st-transition-duration) var(--st-transition-ease);transition:width var(--st-transition-duration) var(--st-transition-ease);width:0;z-index:10}.st-column-editor-popout-content{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-overflow-scrolling:touch;border-left:var(--st-border-width) solid var(--st-border-color);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;height:100%;-ms-touch-action:auto;touch-action:auto}.st-column-editor-search-wrapper{background-color:var(--st-column-editor-popout-background-color);padding:var(--st-spacing-medium);position:sticky;top:0;z-index:1}.st-column-editor-list{padding-bottom:var(--st-spacing-medium);padding-left:var(--st-spacing-medium);padding-right:var(--st-spacing-medium)}.st-column-editor-list,.st-column-editor-lists{-webkit-box-orient:vertical;-webkit-box-direction:normal;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.st-column-editor-lists{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;overflow:auto}.st-column-editor-section-label{color:var(--st-column-editor-text-color);font-size:.7rem;font-weight:600;letter-spacing:.04em;opacity:.75;padding:var(--st-spacing-small) var(--st-spacing-medium) 0;text-transform:uppercase}.st-column-editor-list-section{padding-bottom:var(--st-spacing-small);padding-top:0}.st-column-editor-footer{background-color:var(--st-column-editor-popout-background-color);border-top:var(--st-border-width) solid var(--st-border-color);bottom:0;position:sticky;z-index:1}.st-column-editor-footer,.st-column-editor-reset-btn{padding:var(--st-spacing-small) var(--st-spacing-medium)}.st-column-editor-reset-btn{background:#0000;border:var(--st-border-width) solid var(--st-border-color);border-radius:var(--st-border-radius);color:var(--st-column-editor-text-color);cursor:pointer;font-size:.8rem;font-weight:500;-webkit-transition:background-color var(--st-transition-duration) var(--st-transition-ease);transition:background-color var(--st-transition-duration) var(--st-transition-ease);width:100%}.st-column-editor-reset-btn:hover{background-color:var(--st-button-hover-background-color)}.st-column-pin-btn{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background:#0000;border:none;border-radius:4px;color:inherit;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;justify-content:center;margin:0;padding:2px}.st-column-pin-btn:hover{background:color-mix(in srgb,var(--st-column-editor-text-color) 12%,#0000)}.st-column-pin-pinned-mark{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;justify-content:center}.st-column-pin-pinned-active{background:color-mix(in srgb,var(--st-column-editor-text-color) 12%,#0000);border-radius:4px}.st-column-pin-pinned-essential{cursor:default}.st-column-pin-side-group{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;gap:1px}.st-column-pin-side{font-size:.65rem;font-weight:700;height:1.25rem;letter-spacing:-.02em;line-height:1;min-width:1.25rem;padding:0 3px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.st-column-pin-side-option{color:color-mix(in srgb,var(--st-column-editor-text-color) 52%,#0000);-webkit-transition:color var(--st-transition-duration) var(--st-transition-ease),background var(--st-transition-duration) var(--st-transition-ease);transition:color var(--st-transition-duration) var(--st-transition-ease),background var(--st-transition-duration) var(--st-transition-ease)}.st-column-pin-svg,.st-header-checkbox-item:hover .st-column-pin-side-option{color:var(--st-column-editor-text-color)}.st-column-pin-svg{display:block}.st-checkbox-disabled{cursor:not-allowed;opacity:.45}.st-header-checkbox-item{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--st-spacing-small);padding-bottom:var(--st-spacing-small);padding-top:var(--st-spacing-small)}.st-column-label-container{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.st-drag-icon-container{-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:-webkit-grab;cursor:grab;display:-webkit-box;display:-ms-flexbox;display:flex;opacity:.5;-webkit-transition:opacity var(--st-transition-duration) var(--st-transition-ease);transition:opacity var(--st-transition-duration) var(--st-transition-ease)}.st-drag-icon-container:hover{opacity:1}.st-drag-icon-container:active{cursor:-webkit-grabbing;cursor:grabbing}.st-drag-icon{fill:currentColor;color:currentColor}.st-column-editor-drag-separator{background-color:var(--st-drag-separator-color);border-radius:1px;height:2px;margin:2px 0;-webkit-transition:opacity .2s ease;transition:opacity .2s ease;width:100%}.st-header-icon-container{-webkit-box-pack:center;-ms-flex-pack:center;display:-webkit-box;display:-ms-flexbox;display:flex;justify-content:center;width:28px}.st-header-icon{color:var(--st-header-icon-color);-webkit-transition:color var(--st-transition-duration) var(--st-transition-ease);transition:color var(--st-transition-duration) var(--st-transition-ease)}.st-header-icon:not([fill=none]){fill:var(--st-header-icon-color)}.st-checkbox-checkmark[fill=none] path,.st-custom-select-arrow[fill=none] path,.st-expand-icon[fill=none] path,.st-header-icon[fill=none] path,.st-next-prev-icon[fill=none] path{fill:none}.st-collapsible-header-icon{-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex}.st-collapsible-header-icon.st-expand-icon-container.expanded{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.st-collapsible-header-icon.st-expand-icon-container.collapsed{-webkit-transform:rotate(0deg);transform:rotate(0deg)}.st-column-editor-expand-icon{-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer}.st-column-editor-expand-icon,.st-nested-headers{display:-webkit-box;display:-ms-flexbox;display:flex}.st-nested-headers{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.st-column-editor-popout.open{min-width:240px;width:auto}.st-column-editor-popout.left{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.st-column-editor-popout.open.left{-webkit-transform:translateX(0);transform:translateX(0)}.st-checkbox-label{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--st-spacing-small);justify-content:center;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.st-checkbox-input{height:0;opacity:0;pointer-events:none;position:absolute;width:0}.st-checkbox-input:focus-visible+.st-checkbox-custom{outline:1px solid var(--st-focus-ring-color);outline-offset:-1px}.st-checkbox-custom{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background-color:var(--st-checkbox-background-color,var(--st-white));border:1.5px solid var(--st-checkbox-border-color);border-radius:var(--st-border-radius);display:-webkit-box;display:-ms-flexbox;display:flex;justify-content:center;min-height:16px;min-width:16px;-webkit-transition:background-color var(--st-transition-duration) var(--st-transition-ease),border-color var(--st-transition-duration) var(--st-transition-ease);transition:background-color var(--st-transition-duration) var(--st-transition-ease),border-color var(--st-transition-duration) var(--st-transition-ease)}.st-checkbox-custom.st-checked{background-color:var(--st-checkbox-checked-background-color);border-color:var(--st-checkbox-checked-border-color)}.st-checkbox-checkmark{color:var(--st-button-active-text-color)}@-webkit-keyframes slide-in-left{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slide-in-left{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slide-in-right{0%{-webkit-transform:translateX(100%);transform:translateX(100%)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slide-in-right{0%{-webkit-transform:translateX(100%);transform:translateX(100%)}to{-webkit-transform:translateX(0);transform:translateX(0)}}.st-group-header{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--st-header-background-color);border-bottom:var(--st-border-width) solid var(--st-border-color);color:var(--st-cell-color);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;font-weight:500;height:40px;-webkit-transition:background-color var(--st-transition-duration) var(--st-transition-ease);transition:background-color var(--st-transition-duration) var(--st-transition-ease);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.st-group-header:hover{background-color:var(--st-button-hover-background-color)}.st-group-header-content{gap:var(--st-spacing-medium)}.st-group-header-content,.st-group-toggle-icon{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex}.st-group-toggle-icon{-webkit-box-pack:center;-ms-flex-pack:center;font-size:.8em;height:16px;justify-content:center;width:16px}.st-group-name{font-weight:600}.st-group-count{color:var(--st-cell-odd-row-color);font-size:.9em}.st-group-header.expanded .st-group-toggle-icon{-webkit-transform:rotate(0deg);transform:rotate(0deg)}.st-group-header.collapsed .st-group-toggle-icon,.st-group-header.expanded .st-group-toggle-icon{-webkit-transition:-webkit-transform var(--st-transition-duration) var(--st-transition-ease);transition:-webkit-transform var(--st-transition-duration) var(--st-transition-ease);transition:transform var(--st-transition-duration) var(--st-transition-ease);transition:transform var(--st-transition-duration) var(--st-transition-ease),-webkit-transform var(--st-transition-duration) var(--st-transition-ease)}.st-group-header.collapsed .st-group-toggle-icon{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.st-expand-icon-container{-webkit-transition:-webkit-transform var(--st-transition-duration) var(--st-transition-ease);transition:-webkit-transform var(--st-transition-duration) var(--st-transition-ease);transition:transform var(--st-transition-duration) var(--st-transition-ease);transition:transform var(--st-transition-duration) var(--st-transition-ease),-webkit-transform var(--st-transition-duration) var(--st-transition-ease)}.st-expand-icon-container.expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.st-expand-icon-container.collapsed{-webkit-transform:rotate(0deg);transform:rotate(0deg)}.st-expand-icon-container.placeholder{opacity:0;pointer-events:none}.st-accordion-animating .st-cell,.st-accordion-animating .st-header-cell{overflow:hidden;-webkit-transition:width var(--st-accordion-duration,var(--st-transition-duration)) var(--st-accordion-easing,var(--st-transition-ease)),height var(--st-accordion-duration,var(--st-transition-duration)) var(--st-accordion-easing,var(--st-transition-ease));transition:width var(--st-accordion-duration,var(--st-transition-duration)) var(--st-accordion-easing,var(--st-transition-ease)),height var(--st-accordion-duration,var(--st-transition-duration)) var(--st-accordion-easing,var(--st-transition-ease))}@-webkit-keyframes cell-flash{0%{background-color:var(--st-cell-flash-color)}to{background-color:initial}}@keyframes cell-flash{0%{background-color:var(--st-cell-flash-color)}to{background-color:initial}}.st-cell-updating{-webkit-animation:cell-flash .6s ease-in-out;animation:cell-flash .6s ease-in-out}@-webkit-keyframes copy-flash{0%{background-color:var(--st-copy-flash-color)}to{background-color:var(--st-selected-cell-background-color)}}@keyframes copy-flash{0%{background-color:var(--st-copy-flash-color)}to{background-color:var(--st-selected-cell-background-color)}}@-webkit-keyframes copy-flash-first{0%{background-color:var(--st-copy-flash-color)}to{background-color:var(--st-selected-first-cell-background-color)}}@keyframes copy-flash-first{0%{background-color:var(--st-copy-flash-color)}to{background-color:var(--st-selected-first-cell-background-color)}}.st-cell-copy-flash{-webkit-animation:copy-flash .8s ease-in-out;animation:copy-flash .8s ease-in-out}.st-cell-copy-flash-first{-webkit-animation:copy-flash-first .8s ease-in-out;animation:copy-flash-first .8s ease-in-out}@-webkit-keyframes warning-flash{0%{background-color:var(--st-warning-flash-color)}to{background-color:initial}}@keyframes warning-flash{0%{background-color:var(--st-warning-flash-color)}to{background-color:initial}}@-webkit-keyframes warning-flash-first{0%{background-color:var(--st-warning-flash-color)}to{background-color:var(--st-selected-first-cell-background-color)}}@keyframes warning-flash-first{0%{background-color:var(--st-warning-flash-color)}to{background-color:var(--st-selected-first-cell-background-color)}}.st-cell-warning-flash{-webkit-animation:warning-flash .6s ease-in-out;animation:warning-flash .6s ease-in-out}.st-cell-warning-flash-first{-webkit-animation:warning-flash-first .6s ease-in-out;animation:warning-flash-first .6s ease-in-out}.st-dropdown-content{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-overflow-scrolling:touch;background-color:var(--st-odd-row-background-color);border:1px solid var(--st-border-color);border-radius:var(--st-border-radius);-webkit-box-shadow:var(--st-edit-cell-shadow);box-shadow:var(--st-edit-cell-shadow);cursor:default;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;max-height:300px;min-width:120px;position:fixed;-ms-touch-action:auto;touch-action:auto;-webkit-transform:translateZ(0);transform:translateZ(0);will-change:transform;z-index:100}.st-dropdown-content:has(>.st-datepicker){max-height:none}.st-dropdown-content.st-dropdown-content--allow-descendant-overflow{max-height:none;overflow:visible}.st-filter-container .st-dropdown-content{z-index:101}.st-dropdown-bottom-left,.st-dropdown-bottom-right,.st-dropdown-top-left,.st-dropdown-top-right{margin:0}.st-dropdown-item{color:var(--st-cell-color);cursor:pointer;font-size:var(--st-overlay-font-size);padding:var(--st-control-padding-y) var(--st-control-padding-x);-webkit-transition:background-color var(--st-transition-duration) var(--st-transition-ease);transition:background-color var(--st-transition-duration) var(--st-transition-ease);white-space:nowrap}.st-dropdown-item:hover{background-color:var(--st-button-hover-background-color)}.st-dropdown-item.selected{background-color:var(--st-selected-cell-background-color);color:var(--st-selected-cell-color)}.st-dropdown-divider{background-color:var(--st-border-color);height:1px;margin:4px 0}.st-datepicker{background-color:var(--st-odd-row-background-color);font-family:inherit;font-size:var(--st-overlay-font-size)}.st-datepicker-header{-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--st-header-background-color);border-bottom:1px solid var(--st-border-color);display:-webkit-box;display:-ms-flexbox;display:flex;justify-content:space-between;padding:6px var(--st-overlay-padding)}.st-datepicker-header-label{-webkit-box-flex:1;color:var(--st-header-label-color);cursor:default;-ms-flex:1;flex:1;font-size:var(--st-overlay-font-size);font-weight:600;text-align:center}.st-datepicker-header-label[role=button]{cursor:pointer}.st-datepicker-nav-btn{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;-ms-flex-negative:0;align-items:center;background:#0000;border:none;border-radius:var(--st-border-radius);color:var(--st-cell-color);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;flex-shrink:0;font-size:1.2em;height:var(--st-datepicker-day-size);justify-content:center;padding:0;width:var(--st-datepicker-day-size)}.st-datepicker-nav-btn>*{color:var(--st-cell-color)!important}.st-datepicker-nav-btn>:not([fill=none]){fill:var(--st-cell-color)!important}.st-datepicker-nav-btn:hover{background-color:var(--st-button-hover-background-color)}.st-datepicker-grid{display:grid;padding:var(--st-overlay-padding)}.st-datepicker-days-grid{gap:4px;grid-template-columns:repeat(7,1fr)}.st-datepicker-months-grid,.st-datepicker-years-grid{gap:8px;grid-template-columns:repeat(3,1fr)}.st-datepicker-weekday{color:var(--st-datepicker-weekday-color);font-size:12px;font-weight:600;padding:6px 0;text-align:center}.st-datepicker-day{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;border-radius:50%;color:var(--st-cell-color);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;font-size:var(--st-overlay-font-size);height:var(--st-datepicker-day-size);justify-content:center;-webkit-transition:background-color var(--st-transition-duration) var(--st-transition-ease);transition:background-color var(--st-transition-duration) var(--st-transition-ease);width:var(--st-datepicker-day-size)}.st-datepicker-day.empty{cursor:default}.st-datepicker-day:not(.empty):hover{background-color:var(--st-button-hover-background-color)}.st-datepicker-day.today{color:var(--st-button-active-background-color);font-weight:600}.st-datepicker-day.selected{background-color:var(--st-selected-cell-background-color);color:var(--st-selected-cell-color)}.st-datepicker-day.other-month{color:var(--st-datepicker-other-month-color)}.st-datepicker-month,.st-datepicker-year{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;border-radius:var(--st-border-radius);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;justify-content:center;padding:12px 8px;-webkit-transition:background-color var(--st-transition-duration) var(--st-transition-ease);transition:background-color var(--st-transition-duration) var(--st-transition-ease)}.st-datepicker-month:hover,.st-datepicker-year:hover{background-color:var(--st-button-hover-background-color)}.st-datepicker-month.selected,.st-datepicker-year.selected{background-color:var(--st-selected-cell-background-color);color:var(--st-selected-cell-color)}.st-datepicker-footer{-webkit-box-pack:end;-ms-flex-pack:end;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-top:1px solid var(--st-border-color);display:-webkit-box;display:-ms-flexbox;display:flex;justify-content:flex-end;padding:6px var(--st-overlay-padding)}.st-datepicker-today-btn{background-color:initial;border:1px solid var(--st-border-color);border-radius:var(--st-border-radius);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--st-cell-color);cursor:pointer;font-size:var(--st-overlay-font-size);min-height:var(--st-datepicker-day-size);padding:var(--st-spacing-small) var(--st-control-padding-x);-webkit-transition:background-color var(--st-transition-duration) var(--st-transition-ease);transition:background-color var(--st-transition-duration) var(--st-transition-ease)}.st-datepicker-today-btn:hover{background-color:var(--st-button-hover-background-color)}.st-filter-container{font-size:var(--st-overlay-font-size);min-width:200px;padding:var(--st-overlay-padding)}.st-filter-container,.st-filter-section{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-box-flex:1;-ms-flex-positive:1;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;flex-grow:1}.st-filter-section{margin-bottom:var(--st-spacing-medium)}.st-filter-input{background-color:var(--st-odd-row-background-color);border:var(--st-border-width) solid var(--st-border-color);border-radius:var(--st-border-radius);color:var(--st-cell-color);font-family:inherit;font-size:var(--st-overlay-font-size);outline:none;padding:var(--st-control-padding-y) var(--st-control-padding-x);-webkit-transition:border-color var(--st-transition-duration) var(--st-transition-ease);transition:border-color var(--st-transition-duration) var(--st-transition-ease);width:100%}.st-filter-input:focus{border-color:var(--st-editable-cell-focus-border-color)}.st-filter-input-range-from{margin-bottom:var(--st-spacing-medium)}.st-filter-select{background-color:var(--st-odd-row-background-color);border:var(--st-border-width) solid var(--st-border-color);border-radius:var(--st-border-radius);color:var(--st-cell-color);cursor:pointer;font-family:inherit;font-size:var(--st-overlay-font-size);outline:none;padding:var(--st-control-padding-y) var(--st-control-padding-x);-webkit-transition:border-color var(--st-transition-duration) var(--st-transition-ease);transition:border-color var(--st-transition-duration) var(--st-transition-ease);width:100%}.st-filter-select:focus{border-color:var(--st-editable-cell-focus-border-color)}.st-filter-actions{border-top:var(--st-border-width) solid var(--st-border-color);display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--st-spacing-medium);padding-top:var(--st-spacing-medium)}.st-filter-button{-webkit-box-flex:1;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:none;border-radius:var(--st-border-radius);cursor:pointer;-ms-flex:1;flex:1;font-family:inherit;font-size:var(--st-overlay-font-size);font-weight:500;padding:var(--st-control-padding-y) var(--st-control-padding-x);-webkit-transition:background-color var(--st-transition-duration) var(--st-transition-ease);transition:background-color var(--st-transition-duration) var(--st-transition-ease)}.st-filter-button:focus{outline:none}.st-filter-button:focus-visible{outline:2px solid var(--st-focus-ring-color);outline-offset:2px}.st-filter-button-apply{background-color:var(--st-button-active-background-color);color:var(--st-button-active-text-color)}.st-filter-button-apply:hover:not(.st-filter-button-disabled){opacity:.9}.st-filter-button-disabled{background-color:var(--st-filter-button-disabled-background-color);color:var(--st-filter-button-disabled-text-color);cursor:not-allowed}.st-filter-button-clear{background-color:initial;border:var(--st-border-width) solid var(--st-border-color);color:var(--st-cell-color)}.st-filter-button-clear:hover{background-color:var(--st-button-hover-background-color)}.st-custom-select{position:relative;width:100%}.st-custom-select-trigger{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:justify;-ms-flex-pack:justify;align-items:center;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:var(--st-odd-row-background-color);border:var(--st-border-width) solid var(--st-border-color);border-radius:var(--st-border-radius);color:var(--st-cell-color);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;font-family:inherit;font-size:var(--st-overlay-font-size);gap:var(--st-spacing-medium);justify-content:space-between;outline:none;padding:var(--st-control-padding-y) var(--st-control-padding-x);text-align:left;-webkit-transition:border-color var(--st-transition-duration) var(--st-transition-ease);transition:border-color var(--st-transition-duration) var(--st-transition-ease);width:100%}.st-custom-select-open .st-custom-select-trigger,.st-custom-select-trigger:focus,.st-custom-select-trigger:hover:not(:disabled){border-color:var(--st-editable-cell-focus-border-color)}.st-custom-select-value{-webkit-box-flex:1;color:var(--st-cell-color);-ms-flex:1;flex:1;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.st-custom-select-arrow{-ms-flex-negative:0;color:var(--st-header-label-color);flex-shrink:0;-webkit-transition:-webkit-transform var(--st-transition-duration) var(--st-transition-ease);transition:-webkit-transform var(--st-transition-duration) var(--st-transition-ease);transition:transform var(--st-transition-duration) var(--st-transition-ease);transition:transform var(--st-transition-duration) var(--st-transition-ease),-webkit-transform var(--st-transition-duration) var(--st-transition-ease)}.st-custom-select-open .st-custom-select-arrow{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.st-custom-select-options{-webkit-box-orient:vertical;-webkit-box-direction:normal;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;max-height:200px;min-width:120px;overflow:auto;overflow-x:hidden}.st-custom-select-option{-ms-flex-negative:0;color:var(--st-cell-color);cursor:pointer;flex-shrink:0;font-size:var(--st-overlay-font-size);overflow:hidden;padding:var(--st-control-padding-y) var(--st-control-padding-x);text-overflow:ellipsis;-webkit-transition:background-color var(--st-transition-duration) var(--st-transition-ease);transition:background-color var(--st-transition-duration) var(--st-transition-ease);white-space:nowrap}.st-custom-select-option-focused,.st-custom-select-option:hover{background-color:var(--st-button-hover-background-color)}.st-custom-select-option-selected{background-color:var(--st-selected-cell-background-color);color:var(--st-selected-cell-color)}.st-custom-select-option-selected.st-custom-select-option-focused{background-color:var(--st-selected-cell-background-color);opacity:.9}.st-custom-select-disabled{opacity:var(--st-opacity-disabled);pointer-events:none}.st-custom-select-disabled .st-custom-select-trigger{background-color:var(--st-header-background-color);color:var(--st-header-label-color);cursor:not-allowed}.st-enum-filter-options{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-box-flex:1;-ms-flex-positive:1;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;flex-grow:1;gap:var(--st-spacing-small);max-height:200px;overflow:auto}.st-enum-filter-options .st-checkbox-label{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;width:100%}.st-enum-search,.st-enum-select-all{border-bottom:var(--st-border-width) solid var(--st-border-color);padding-bottom:var(--st-spacing-small)}.st-enum-select-all-label{color:var(--st-header-label-color);font-weight:600}.st-enum-option-label{color:var(--st-cell-color);font-size:var(--st-overlay-font-size);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.st-enum-filter-options .st-enum-option-label{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.st-enum-no-results{color:var(--st-muted-text-color);font-size:var(--st-overlay-font-size);font-style:italic;padding:var(--st-spacing-medium);text-align:center}.st-row-number{font-size:.8em;font-weight:500;opacity:.6;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.st-selection-cell-content{-webkit-box-pack:justify;-ms-flex-pack:justify;gap:8px;justify-content:space-between;width:100%}.st-row-buttons,.st-selection-cell-content,.st-selection-control{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex}.st-row-buttons,.st-selection-control{-ms-flex-negative:0;flex-shrink:0}.st-row-buttons{-webkit-box-pack:end;-ms-flex-pack:end;gap:4px;justify-content:flex-end}.st-row-button{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;justify-content:center}.st-column-borders .st-cell:not(.st-last-column),.st-column-borders .st-header-cell:not(.st-last-column),.st-column-borders .st-row.hovered .st-cell:not(.st-last-column):not(.st-cell-selected):not(.st-cell-selected-first):not(.st-cell-column-selected):not(.st-cell-column-selected-first),.st-column-borders .st-row.selected.hovered .st-cell:not(.st-last-column):not(.st-cell-selected):not(.st-cell-selected-first):not(.st-cell-column-selected):not(.st-cell-column-selected-first){-webkit-box-shadow:var(--st-border-width) 0 0 0 var(--st-border-color);box-shadow:var(--st-border-width) 0 0 0 var(--st-border-color)}.st-tooltip{word-wrap:break-word;-webkit-animation:st-tooltip-fade-in .2s ease-out;animation:st-tooltip-fade-in .2s ease-out;background-color:var(--st-tooltip-background-color);border-radius:var(--st-tooltip-border-radius);-webkit-box-shadow:var(--st-tooltip-shadow);box-shadow:var(--st-tooltip-shadow);color:var(--st-tooltip-text-color);font-size:12px;font-size:var(--st-tooltip-font-size,12px);line-height:1.4;max-width:300px;padding:var(--st-tooltip-padding);pointer-events:none}@-webkit-keyframes st-tooltip-fade-in{0%{opacity:0;-webkit-transform:translateY(-4px);transform:translateY(-4px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes st-tooltip-fade-in{0%{opacity:0;-webkit-transform:translateY(-4px);transform:translateY(-4px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.st-row.st-state-row{display:grid;position:absolute;width:100%}.st-row.st-state-row-spacer{background-color:initial;display:block;position:absolute;width:100%}.st-state-row-cell{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--st-body-background-color);display:-webkit-box;display:-ms-flexbox;display:flex;grid-column:1/-1}.st-bar-chart,.st-line-area-chart{overflow:visible}.theme-light{--st-border-radius:4px;--st-cell-padding:8px;--st-spacing-small:4px;--st-spacing-medium:8px;--st-overlay-font-size:14px;--st-overlay-padding:8px;--st-control-padding-y:6px;--st-control-padding-x:8px;--st-datepicker-day-size:28px;--st-scrollbar-bg-color:var(--st-slate-50);--st-scrollbar-thumb-color:var(--st-slate-300);--st-scrollbar-width:thin;--st-border-color:var(--st-slate-300);--st-body-background-color:var(--st-white);--st-footer-background-color:var(--st-slate-50);--st-footer-text-color:var(--st-slate-600);--st-last-group-row-separator-border-color:var(--st-slate-400);--st-odd-row-background-color:var(--st-white);--st-even-row-background-color:var(--st-slate-50);--st-hover-row-background-color:var(--st-slate-100);--st-selected-row-background-color:var(--st-blue-50);--st-odd-column-background-color:var(--st-slate-50);--st-even-column-background-color:var(--st-white);--st-header-background-color:var(--st-slate-100);--st-sub-header-background-color:var(--st-slate-200);--st-header-label-color:var(--st-slate-900);--st-header-icon-color:var(--st-slate-500);--st-cell-color:var(--st-slate-900);--st-cell-odd-row-color:var(--st-slate-800);--st-edit-cell-shadow:0 1px 2px 0 #0000000d;--st-sub-cell-background-color:var(--st-slate-100);--st-sub-cell-hover-background-color:var(--st-slate-200);--st-selected-cell-background-color:var(--st-blue-100);--st-selected-first-cell-background-color:var(--st-blue-50);--st-selected-cell-color:var(--st-slate-900);--st-selected-first-cell-color:var(--st-slate-900);--st-selected-sub-cell-background-color:var(--st-blue-200);--st-selected-sub-cell-color:var(--st-slate-900);--st-dragging-background-color:var(--st-slate-200);--st-dragging-sub-header-background-color:var(--st-slate-300);--st-resize-handle-color:var(--st-slate-400);--st-resize-handle-selected-color:var(--st-white);--st-selected-border-color:var(--st-blue-500);--st-editable-cell-focus-border-color:var(--st-blue-500);--st-focus-ring-color:var(--st-blue-800);--st-button-hover-background-color:var(--st-slate-100);--st-button-active-background-color:var(--st-blue-600);--st-button-active-text-color:var(--st-white);--st-next-prev-btn-color:var(--st-slate-600);--st-next-prev-btn-disabled-color:var(--st-slate-400);--st-page-btn-color:var(--st-slate-600);--st-page-btn-hover-background-color:var(--st-slate-100);--st-checkbox-checked-background-color:var(--st-blue-600);--st-checkbox-checked-border-color:var(--st-blue-600);--st-checkbox-border-color:var(--st-slate-300);--st-column-editor-background-color:var(--st-white);--st-column-editor-popout-background-color:var(--st-white);--st-column-editor-text-color:var(--st-slate-500);--st-datepicker-weekday-color:var(--st-slate-500);--st-datepicker-other-month-color:var(--st-slate-400);--st-filter-button-disabled-background-color:var(--st-slate-300);--st-filter-button-disabled-text-color:var(--st-slate-500);--st-muted-text-color:var(--st-slate-500);--st-cell-flash-color:var(--st-slate-200);--st-copy-flash-color:var(--st-blue-500);--st-warning-flash-color:var(--st-red-300);--st-tooltip-background-color:var(--st-slate-900);--st-tooltip-text-color:var(--st-white);--st-tooltip-border-radius:6px;--st-tooltip-padding:6px 10px;--st-tooltip-font-size:12px;--st-tooltip-shadow:0 2px 8px #00000026;--st-header-selected-background-color:var(--st-blue-600);--st-header-selected-label-color:var(--st-white);--st-header-selected-icon-color:var(--st-white);--st-header-highlight-indicator-color:var(--st-blue-100);--st-selection-highlight-indicator-color:var(--st-slate-300);--st-loading-skeleton-bg-color:var(--st-slate-200);--st-chart-color:var(--st-blue-300);--st-chart-fill-color:var(--st-blue-300);--st-drag-separator-color:var(--st-blue-500)}.theme-dark{--st-border-radius:4px;--st-cell-padding:8px;--st-spacing-small:4px;--st-spacing-medium:8px;--st-overlay-font-size:14px;--st-overlay-padding:8px;--st-control-padding-y:6px;--st-control-padding-x:8px;--st-datepicker-day-size:28px;--st-scrollbar-bg-color:var(--st-gray-900);--st-scrollbar-thumb-color:var(--st-gray-600);--st-scrollbar-width:thin;--st-border-color:var(--st-gray-700);--st-body-background-color:var(--st-gray-900);--st-footer-background-color:var(--st-gray-900);--st-footer-text-color:var(--st-gray-300);--st-last-group-row-separator-border-color:var(--st-gray-500);--st-odd-row-background-color:var(--st-gray-800);--st-even-row-background-color:var(--st-gray-900);--st-hover-row-background-color:var(--st-gray-700);--st-selected-row-background-color:var(--st-blue-950);--st-odd-column-background-color:var(--st-gray-800);--st-even-column-background-color:var(--st-gray-900);--st-header-background-color:var(--st-gray-800);--st-sub-header-background-color:var(--st-gray-700);--st-sub-cell-background-color:var(--st-gray-800);--st-sub-cell-hover-background-color:var(--st-gray-700);--st-header-label-color:var(--st-gray-100);--st-header-icon-color:var(--st-gray-400);--st-cell-color:var(--st-gray-100);--st-cell-odd-row-color:var(--st-gray-200);--st-edit-cell-shadow:0 1px 3px 0 #ffffff1a;--st-selected-cell-background-color:var(--st-blue-900);--st-selected-first-cell-background-color:var(--st-blue-800);--st-selected-cell-color:var(--st-white);--st-selected-first-cell-color:var(--st-white);--st-selected-sub-cell-background-color:var(--st-blue-800);--st-selected-sub-cell-color:var(--st-white);--st-dragging-background-color:var(--st-gray-500);--st-dragging-sub-header-background-color:var(--st-gray-600);--st-resize-handle-color:var(--st-gray-500);--st-resize-handle-selected-color:var(--st-white);--st-selected-border-color:var(--st-blue-400);--st-editable-cell-focus-border-color:var(--st-blue-400);--st-focus-ring-color:var(--st-blue-400);--st-button-hover-background-color:var(--st-gray-600);--st-button-active-background-color:var(--st-blue-500);--st-button-active-text-color:var(--st-white);--st-next-prev-btn-color:var(--st-gray-300);--st-next-prev-btn-disabled-color:var(--st-gray-600);--st-page-btn-color:var(--st-gray-300);--st-page-btn-hover-background-color:var(--st-gray-600);--st-checkbox-background-color:var(--st-gray-800);--st-checkbox-checked-background-color:var(--st-blue-500);--st-checkbox-checked-border-color:var(--st-blue-500);--st-checkbox-border-color:var(--st-gray-600);--st-column-editor-background-color:var(--st-gray-800);--st-column-editor-popout-background-color:var(--st-gray-800);--st-column-editor-text-color:var(--st-gray-400);--st-datepicker-weekday-color:var(--st-gray-400);--st-datepicker-other-month-color:var(--st-gray-600);--st-filter-button-disabled-background-color:var(--st-gray-700);--st-filter-button-disabled-text-color:var(--st-gray-500);--st-muted-text-color:var(--st-gray-400);--st-cell-flash-color:var(--st-gray-600);--st-copy-flash-color:var(--st-blue-500);--st-warning-flash-color:var(--st-red-400);--st-tooltip-background-color:var(--st-gray-100);--st-tooltip-text-color:var(--st-gray-900);--st-tooltip-border-radius:6px;--st-tooltip-padding:6px 10px;--st-tooltip-font-size:12px;--st-tooltip-shadow:0 2px 8px #0000004d;--st-header-selected-background-color:var(--st-blue-500);--st-header-selected-label-color:var(--st-white);--st-header-selected-icon-color:var(--st-white);--st-header-highlight-indicator-color:var(--st-blue-900);--st-selection-highlight-indicator-color:var(--st-gray-600);--st-loading-skeleton-bg-color:var(--st-gray-700);--st-chart-color:var(--st-blue-400);--st-chart-fill-color:var(--st-blue-400);--st-drag-separator-color:var(--st-blue-400)}.theme-neutral{--st-border-radius:4px;--st-cell-padding:8px;--st-spacing-small:4px;--st-spacing-medium:8px;--st-overlay-font-size:14px;--st-overlay-padding:8px;--st-control-padding-y:6px;--st-control-padding-x:8px;--st-datepicker-day-size:28px;--st-scrollbar-bg-color:var(--st-neutral-100);--st-scrollbar-thumb-color:var(--st-neutral-400);--st-scrollbar-width:thin;--st-border-color:var(--st-neutral-300);--st-body-background-color:var(--st-neutral-50);--st-footer-background-color:var(--st-neutral-50);--st-footer-text-color:var(--st-neutral-600);--st-last-group-row-separator-border-color:var(--st-neutral-400);--st-odd-row-background-color:var(--st-neutral-50);--st-even-row-background-color:var(--st-neutral-100);--st-hover-row-background-color:var(--st-neutral-200);--st-selected-row-background-color:var(--st-neutral-300);--st-odd-column-background-color:var(--st-neutral-50);--st-even-column-background-color:var(--st-neutral-100);--st-header-background-color:var(--st-neutral-200);--st-sub-header-background-color:var(--st-neutral-300);--st-sub-cell-background-color:var(--st-neutral-200);--st-sub-cell-hover-background-color:var(--st-neutral-300);--st-header-label-color:var(--st-neutral-900);--st-header-icon-color:var(--st-neutral-500);--st-cell-color:var(--st-neutral-900);--st-cell-odd-row-color:var(--st-neutral-800);--st-edit-cell-shadow:0 1px 2px 0 #0000000d;--st-selected-cell-background-color:var(--st-neutral-400);--st-selected-first-cell-background-color:var(--st-neutral-300);--st-selected-cell-color:var(--st-neutral-900);--st-selected-first-cell-color:var(--st-neutral-900);--st-selected-sub-cell-background-color:var(--st-neutral-400);--st-selected-sub-cell-color:var(--st-neutral-900);--st-dragging-background-color:var(--st-neutral-300);--st-dragging-sub-header-background-color:var(--st-neutral-400);--st-resize-handle-color:var(--st-neutral-400);--st-resize-handle-selected-color:var(--st-white);--st-selected-border-color:var(--st-neutral-600);--st-editable-cell-focus-border-color:var(--st-neutral-500);--st-focus-ring-color:var(--st-neutral-600);--st-button-hover-background-color:var(--st-neutral-200);--st-button-active-background-color:var(--st-neutral-600);--st-button-active-text-color:var(--st-white);--st-next-prev-btn-color:var(--st-neutral-600);--st-next-prev-btn-disabled-color:var(--st-neutral-400);--st-page-btn-color:var(--st-neutral-600);--st-page-btn-hover-background-color:var(--st-neutral-200);--st-checkbox-checked-background-color:var(--st-neutral-600);--st-checkbox-checked-border-color:var(--st-neutral-600);--st-checkbox-border-color:var(--st-neutral-300);--st-column-editor-background-color:var(--st-neutral-50);--st-column-editor-popout-background-color:var(--st-neutral-50);--st-column-editor-text-color:var(--st-neutral-500);--st-datepicker-weekday-color:var(--st-neutral-500);--st-datepicker-other-month-color:var(--st-neutral-400);--st-filter-button-disabled-background-color:var(--st-neutral-300);--st-filter-button-disabled-text-color:var(--st-neutral-500);--st-muted-text-color:var(--st-neutral-500);--st-cell-flash-color:var(--st-neutral-400);--st-copy-flash-color:var(--st-neutral-600);--st-warning-flash-color:var(--st-red-400);--st-tooltip-background-color:var(--st-neutral-800);--st-tooltip-text-color:var(--st-white);--st-tooltip-border-radius:6px;--st-tooltip-padding:6px 10px;--st-tooltip-font-size:12px;--st-tooltip-shadow:0 2px 8px #00000026;--st-header-selected-background-color:var(--st-neutral-600);--st-header-selected-label-color:var(--st-white);--st-header-selected-icon-color:var(--st-white);--st-header-highlight-indicator-color:var(--st-neutral-400);--st-selection-highlight-indicator-color:var(--st-neutral-400);--st-loading-skeleton-bg-color:var(--st-neutral-200);--st-chart-color:var(--st-neutral-500);--st-chart-fill-color:var(--st-neutral-500);--st-drag-separator-color:var(--st-neutral-600)}.theme-custom,.theme-modern-light{--st-border-radius:4px;--st-cell-padding:12px;--st-spacing-small:4px;--st-spacing-medium:8px;--st-overlay-font-size:14px;--st-overlay-padding:12px;--st-control-padding-y:8px;--st-control-padding-x:12px;--st-datepicker-day-size:32px;--st-scrollbar-bg-color:#fafafa;--st-scrollbar-thumb-color:#d1d5db;--st-scrollbar-width:thin;--st-border-color:#e5e7eb;--st-footer-background-color:var(--st-white);--st-footer-text-color:#6b7280;--st-last-group-row-separator-border-color:#e5e7eb;--st-odd-row-background-color:var(--st-white);--st-even-row-background-color:var(--st-white);--st-hover-row-background-color:#f3f4f6;--st-selected-row-background-color:#eff6ff;--st-odd-column-background-color:var(--st-white);--st-even-column-background-color:var(--st-white);--st-header-background-color:var(--st-white);--st-sub-header-background-color:#fafafa;--st-header-label-color:#111827;--st-header-icon-color:#6b7280;--st-cell-color:#111827;--st-cell-odd-row-color:#374151;--st-edit-cell-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--st-sub-cell-background-color:#f9fafb;--st-sub-cell-hover-background-color:#f3f4f6;--st-selected-cell-background-color:#dbeafe;--st-selected-first-cell-background-color:#eff6ff;--st-selected-cell-color:#111827;--st-selected-first-cell-color:#111827;--st-selected-sub-cell-background-color:#bfdbfe;--st-selected-sub-cell-color:#111827;--st-dragging-background-color:#f3f4f6;--st-dragging-sub-header-background-color:#e5e7eb;--st-resize-handle-color:#e5e7eb;--st-resize-handle-selected-color:#3b82f6;--st-selected-border-color:#3b82f6;--st-editable-cell-focus-border-color:#3b82f6;--st-focus-ring-color:#3b82f6;--st-button-hover-background-color:#f3f4f6;--st-button-active-background-color:#3b82f6;--st-button-active-text-color:var(--st-white);--st-next-prev-btn-color:#6b7280;--st-next-prev-btn-disabled-color:#d1d5db;--st-page-btn-color:#374151;--st-page-btn-hover-background-color:#f3f4f6;--st-checkbox-checked-background-color:#3b82f6;--st-checkbox-checked-border-color:#3b82f6;--st-checkbox-border-color:#d1d5db;--st-column-editor-background-color:var(--st-white);--st-column-editor-popout-background-color:var(--st-white);--st-column-editor-text-color:#6b7280;--st-datepicker-weekday-color:#6b7280;--st-datepicker-other-month-color:#d1d5db;--st-filter-button-disabled-background-color:#f3f4f6;--st-filter-button-disabled-text-color:#9ca3af;--st-muted-text-color:#6b7280;--st-cell-flash-color:#dbeafe;--st-copy-flash-color:#3b82f6;--st-warning-flash-color:#fca5a5;--st-tooltip-background-color:#1f2937;--st-tooltip-text-color:var(--st-white);--st-tooltip-border-radius:6px;--st-tooltip-padding:6px 10px;--st-tooltip-font-size:12px;--st-tooltip-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--st-header-selected-background-color:#3b82f6;--st-header-selected-label-color:var(--st-white);--st-header-selected-icon-color:var(--st-white);--st-header-highlight-indicator-color:#dbeafe;--st-selection-highlight-indicator-color:#f3f4f6;--st-loading-skeleton-bg-color:#f3f4f6;--st-chart-color:#3b82f6;--st-chart-fill-color:#dbeafe;--st-drag-separator-color:#3b82f6;--st-body-background-color:var(--st-white)}.theme-modern-dark{--st-border-radius:4px;--st-cell-padding:12px;--st-spacing-small:4px;--st-spacing-medium:8px;--st-overlay-font-size:14px;--st-overlay-padding:12px;--st-control-padding-y:8px;--st-control-padding-x:12px;--st-datepicker-day-size:32px;--st-scrollbar-bg-color:#111827;--st-scrollbar-thumb-color:#4b5563;--st-scrollbar-width:thin;--st-border-color:#374151;--st-footer-background-color:#1f2937;--st-footer-text-color:#d1d5db;--st-last-group-row-separator-border-color:#4b5563;--st-odd-row-background-color:#1f2937;--st-even-row-background-color:#1f2937;--st-hover-row-background-color:#374151;--st-selected-row-background-color:#1e3a5f;--st-odd-column-background-color:#1f2937;--st-even-column-background-color:#1f2937;--st-header-background-color:#1f2937;--st-sub-header-background-color:#111827;--st-header-label-color:#f3f4f6;--st-header-icon-color:#9ca3af;--st-cell-color:#f3f4f6;--st-cell-odd-row-color:#d1d5db;--st-edit-cell-shadow:0 4px 6px -1px #0000004d,0 2px 4px -1px #0003;--st-sub-cell-background-color:#111827;--st-sub-cell-hover-background-color:#1f2937;--st-selected-cell-background-color:#1e40af;--st-selected-first-cell-background-color:#1e3a8a;--st-selected-cell-color:#f3f4f6;--st-selected-first-cell-color:#f3f4f6;--st-selected-sub-cell-background-color:#1e3a8a;--st-selected-sub-cell-color:#f3f4f6;--st-dragging-background-color:#374151;--st-dragging-sub-header-background-color:#4b5563;--st-resize-handle-color:#4b5563;--st-resize-handle-selected-color:#60a5fa;--st-selected-border-color:#60a5fa;--st-editable-cell-focus-border-color:#60a5fa;--st-focus-ring-color:#60a5fa;--st-button-hover-background-color:#374151;--st-button-active-background-color:#3b82f6;--st-button-active-text-color:var(--st-white);--st-next-prev-btn-color:#9ca3af;--st-next-prev-btn-disabled-color:#4b5563;--st-page-btn-color:#d1d5db;--st-page-btn-hover-background-color:#374151;--st-checkbox-background-color:#1f2937;--st-checkbox-checked-background-color:#3b82f6;--st-checkbox-checked-border-color:#3b82f6;--st-checkbox-border-color:#4b5563;--st-column-editor-background-color:#1f2937;--st-column-editor-popout-background-color:#1f2937;--st-column-editor-text-color:#9ca3af;--st-datepicker-weekday-color:#9ca3af;--st-datepicker-other-month-color:#4b5563;--st-filter-button-disabled-background-color:#374151;--st-filter-button-disabled-text-color:#6b7280;--st-muted-text-color:#9ca3af;--st-cell-flash-color:#1e40af;--st-copy-flash-color:#60a5fa;--st-warning-flash-color:#ef4444;--st-tooltip-background-color:#f3f4f6;--st-tooltip-text-color:#111827;--st-tooltip-border-radius:6px;--st-tooltip-padding:6px 10px;--st-tooltip-font-size:12px;--st-tooltip-shadow:0 10px 15px -3px #0000004d,0 4px 6px -2px #0003;--st-header-selected-background-color:#3b82f6;--st-header-selected-label-color:var(--st-white);--st-header-selected-icon-color:var(--st-white);--st-header-highlight-indicator-color:#1e40af;--st-selection-highlight-indicator-color:#374151;--st-loading-skeleton-bg-color:#374151;--st-chart-color:#60a5fa;--st-chart-fill-color:#3b82f6;--st-drag-separator-color:#60a5fa;--st-body-background-color:#1f2937}
@@ -1,4 +1,8 @@
1
- declare const SimpleTable: import("vue").DefineComponent<{}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
2
- [key: string]: any;
3
- }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
1
+ import { h } from "vue";
2
+ import type { DefineComponent } from "vue";
3
+ import type { SimpleTableVueProps, VueDefaultRowData } from "./types";
4
+ type SimpleTableComponent = <TData extends VueDefaultRowData>(props: SimpleTableVueProps<TData>) => ReturnType<typeof h>;
5
+ declare const SimpleTable: SimpleTableComponent & DefineComponent & {
6
+ name?: string;
7
+ };
4
8
  export default SimpleTable;
@@ -1,6 +1,6 @@
1
- import type { SimpleTableConfig, ColumnDef } from "simple-table-core";
2
- import type { SimpleTableVueProps, VueColumnDef } from "./types";
1
+ import type { SimpleTableConfig } from "simple-table-core";
2
+ import type { SimpleTableVueProps, VueColumnDef, VueDefaultRowData } from "./types";
3
3
  import type { MountRegistry } from "./MountRegistry";
4
4
  /** Resolve column definitions. */
5
- export declare function resolveVueColumns(config: Pick<SimpleTableVueProps, "columns">): ReadonlyArray<ColumnDef | VueColumnDef>;
6
- export declare function buildVanillaConfig(config: SimpleTableVueProps, registry: MountRegistry): SimpleTableConfig;
5
+ export declare function resolveVueColumns<TData extends VueDefaultRowData = VueDefaultRowData>(config: Pick<SimpleTableVueProps<TData>, "columns">): ReadonlyArray<VueColumnDef<TData, any>>;
6
+ export declare function buildVanillaConfig<TData extends VueDefaultRowData = VueDefaultRowData>(config: SimpleTableVueProps<TData>, registry: MountRegistry): SimpleTableConfig;
@@ -1,5 +1,5 @@
1
1
  export { default as SimpleTable } from "./SimpleTable";
2
2
  export { asRows } from "simple-table-core";
3
- export type { SimpleTableVueProps, TableInstance, VueColumnDef, VueColumnEditorConfig, VueIconsConfig, VueIconElement, VueCellRenderer, VueHeaderRenderer, VueFooterRenderer, VueHeaderDropdown, VueColumnEditorRowRenderer, VueColumnEditorCustomRenderer, VueRowButton, VueLoadingStateRenderer, VueErrorStateRenderer, VueEmptyStateRenderer, } from "./types";
3
+ export type { SimpleTableVueProps, TableInstance, VueColumnDef, NestedVueColumnDef, NestedTableVueConfig, VueColumnEditorConfig, VueIconsConfig, VueIconElement, VueCellRenderer, VueHeaderRenderer, VueFooterRenderer, VueHeaderDropdown, VueColumnEditorRowRenderer, VueColumnEditorCustomRenderer, VueRowButton, VueLoadingStateRenderer, VueErrorStateRenderer, VueEmptyStateRenderer, VueDefaultRowData, } from "./types";
4
4
  export type { Accessor, AggregationConfig, AggregationType, AnimationsConfig, AutoSizeMode, ColumnDef, Cell, CellChangeProps, CellClickProps, CellRenderer, CellRendererProps, CellValue, ChartOptions, ColumnEditorConfig, ColumnEditorRowRenderer, ColumnEditorRowRendererComponents, ColumnEditorCustomRenderer, ColumnEditorCustomRendererProps, ColumnEditorRowRendererProps, ColumnEditorSearchFunction, ColumnType, ColumnVisibilityState, Comparator, ComparatorProps, CustomTheme, CustomThemeProps, EmptyStateRenderer, EmptyStateRendererProps, EnumOption, ErrorStateRenderer, ErrorStateRendererProps, ExportToCSVProps, ExportValueGetter, ExportValueProps, FilterCondition, FilterOperator, StringFilterOperator, NumberFilterOperator, BooleanFilterOperator, DateFilterOperator, EnumFilterOperator, FooterRendererProps, FooterPosition, GetRowId, GetRowIdParams, HeaderDropdown, HeaderDropdownProps, HeaderRenderer, HeaderRendererComponents, HeaderRendererProps, IconsConfig, LoadingStateRenderer, LoadingStateRendererProps, OnRowGroupExpandProps, Pinned, PinnedSectionsState, PivotConfig, PivotValueConfig, PivotResult, QuickFilterConfig, QuickFilterGetter, QuickFilterGetterProps, QuickFilterMode, Row, RowButtonProps, RowId, RowSelectionChangeProps, RowSelectionMode, RowState, SetHeaderRenameProps, ShowWhen, SimpleTableConfig, SimpleTableProps, SortColumn, TableAPI, TableFilterState, TableRow, Theme, UpdateDataProps, ValueFormatter, ValueFormatterProps, ValueGetter, ValueGetterProps, } from "simple-table-core";
5
5
  export { pivotRows, buildPivotAccessor, buildPivotRowTotalAccessor, PIVOT_CHILDREN_KEY, PIVOT_IS_TOTAL_KEY, PIVOT_ACCESSOR_PREFIX, PIVOT_BLANK_LABEL, } from "simple-table-core";
@@ -1,5 +1,14 @@
1
- import type { Component, VNode } from "vue";
2
- import type { SimpleTableProps, SimpleTableConfig, ColumnDef, Row, TableAPI, CellRendererProps, HeaderRendererProps, FooterRendererProps, LoadingStateRendererProps, ErrorStateRendererProps, EmptyStateRendererProps, HeaderDropdownProps, ColumnEditorRowRendererProps, ColumnEditorCustomRendererProps, ColumnEditorConfig, RowButtonProps } from "simple-table-core";
1
+ import type { VNode, VNodeChild } from "vue";
2
+ import type { SimpleTableProps, SimpleTableConfig, ColumnDef, TableAPI, CellValue, CellRendererProps, HeaderRendererProps, FooterRendererProps, LoadingStateRendererProps, ErrorStateRendererProps, EmptyStateRendererProps, HeaderDropdownProps, ColumnEditorRowRendererProps, ColumnEditorCustomRendererProps, ColumnEditorConfig, RowButtonProps } from "simple-table-core";
3
+ /**
4
+ * Default `TData` for Vue props bags / helpers: open records so untyped
5
+ * object arrays keep assigning to `rows` without `asRows`.
6
+ *
7
+ * Prefer typed `rows` / `columns` (`VueColumnDef<MyRow>`) so `TData` flows
8
+ * into renderers and callbacks. Template inference via attrs may be weaker
9
+ * than React/Solid JSX — typed column/renderer defs still give the demo win.
10
+ */
11
+ export type VueDefaultRowData = Record<string, any>;
3
12
  export interface TableInstance {
4
13
  mount(): void;
5
14
  update(config: Partial<SimpleTableConfig>): void;
@@ -20,45 +29,67 @@ export interface VueIconsConfig {
20
29
  pinnedLeftIcon?: VueIconElement;
21
30
  pinnedRightIcon?: VueIconElement;
22
31
  }
23
- export type VueCellRenderer = Component<CellRendererProps>;
24
- export type VueHeaderRenderer = Component<HeaderRendererProps>;
25
- export type VueFooterRenderer = Component<FooterRendererProps>;
26
- export type VueHeaderDropdown = Component<HeaderDropdownProps>;
27
- export type VueColumnEditorRowRenderer = Component<ColumnEditorRowRendererProps>;
28
- export type VueColumnEditorCustomRenderer = Component<ColumnEditorCustomRendererProps>;
29
- export type VueRowButton = Component<RowButtonProps>;
30
- export type VueLoadingStateRenderer = Component<LoadingStateRendererProps> | VNode;
31
- export type VueErrorStateRenderer = Component<ErrorStateRendererProps> | VNode;
32
- export type VueEmptyStateRenderer = Component<EmptyStateRendererProps> | VNode;
32
+ export type VueCellRenderer<TData extends VueDefaultRowData = VueDefaultRowData, TValue = CellValue> = (props: CellRendererProps<TData, TValue>) => VNodeChild;
33
+ export type VueHeaderRenderer<TData extends VueDefaultRowData = VueDefaultRowData> = (props: HeaderRendererProps<TData>) => VNodeChild;
34
+ export type VueFooterRenderer = (props: FooterRendererProps) => VNodeChild;
35
+ export type VueHeaderDropdown = (props: HeaderDropdownProps) => VNodeChild;
36
+ export type VueColumnEditorRowRenderer = (props: ColumnEditorRowRendererProps) => VNodeChild;
37
+ export type VueColumnEditorCustomRenderer = (props: ColumnEditorCustomRendererProps) => VNodeChild;
38
+ export type VueRowButton<TData extends VueDefaultRowData = VueDefaultRowData> = (props: RowButtonProps<TData>) => VNodeChild;
39
+ export type VueLoadingStateRenderer<TData extends VueDefaultRowData = VueDefaultRowData> = ((props: LoadingStateRendererProps<TData>) => VNodeChild) | VNode;
40
+ export type VueErrorStateRenderer<TData extends VueDefaultRowData = VueDefaultRowData> = ((props: ErrorStateRendererProps<TData>) => VNodeChild) | VNode;
41
+ export type VueEmptyStateRenderer<TData extends VueDefaultRowData = VueDefaultRowData> = ((props: EmptyStateRendererProps<TData>) => VNodeChild) | VNode;
33
42
  export interface VueColumnEditorConfig extends Omit<ColumnEditorConfig, "rowRenderer" | "customRenderer"> {
34
43
  rowRenderer?: VueColumnEditorRowRenderer;
35
44
  customRenderer?: VueColumnEditorCustomRenderer;
36
45
  }
37
46
  /**
38
- * Column definition for `columns`: core column metadata with
39
- * Vue-only `cellRenderer` / `headerRenderer` / `children` / `nestedTable`.
40
- * `columns` also accept plain `ColumnDef[]` from shared configs.
47
+ * Column definition for `columns`: same column metadata as core
48
+ * columns, but `cellRenderer` / `headerRenderer` / `children` / `nestedTable` are Vue-only.
41
49
  */
42
- export interface VueColumnDef extends Omit<ColumnDef, "cellRenderer" | "headerRenderer" | "children" | "nestedTable"> {
43
- cellRenderer?: VueCellRenderer;
44
- headerRenderer?: VueHeaderRenderer;
45
- children?: VueColumnDef[];
46
- nestedTable?: Omit<SimpleTableVueProps, "rows" | "loadingStateRenderer" | "errorStateRenderer" | "emptyStateRenderer" | "tableEmptyStateRenderer">;
50
+ export interface VueColumnDef<TData extends VueDefaultRowData = VueDefaultRowData, TValue = CellValue> extends Omit<ColumnDef<TData, TValue>, "cellRenderer" | "headerRenderer" | "children" | "nestedTable"> {
51
+ cellRenderer?: VueCellRenderer<TData, TValue>;
52
+ headerRenderer?: VueHeaderRenderer<TData>;
53
+ children?: ReadonlyArray<VueColumnDef<TData, any>>;
54
+ /** Nested grid; child columns may use a different row type than `TData`. */
55
+ nestedTable?: NestedTableVueConfig;
47
56
  }
48
- export interface SimpleTableVueProps extends Omit<SimpleTableProps, "rows" | "columns" | "footerRenderer" | "emptyStateRenderer" | "errorStateRenderer" | "loadingStateRenderer" | "tableEmptyStateRenderer" | "headerDropdown" | "columnEditorConfig" | "icons" | "rowButtons"> {
57
+ export interface SimpleTableVueProps<TData extends VueDefaultRowData = VueDefaultRowData> extends Omit<SimpleTableProps<TData>, "columns" | "footerRenderer" | "emptyStateRenderer" | "errorStateRenderer" | "loadingStateRenderer" | "tableEmptyStateRenderer" | "headerDropdown" | "columnEditorConfig" | "icons" | "rows" | "rowButtons" | "onColumnOrderChange" | "onColumnWidthChange" | "onHeaderEdit" | "onColumnSelect"> {
49
58
  /** Column definitions. */
50
- columns?: ReadonlyArray<ColumnDef | VueColumnDef>;
51
- /** Row data: domain objects or core `Row[]`; cast inside the adapter. */
52
- rows: ReadonlyArray<Row> | ReadonlyArray<object>;
59
+ columns?: ReadonlyArray<VueColumnDef<TData, any>>;
60
+ onColumnOrderChange?: (newHeaders: VueColumnDef<TData, any>[]) => void;
61
+ onColumnWidthChange?: (headers: VueColumnDef<TData, any>[]) => void;
62
+ onHeaderEdit?: (header: VueColumnDef<TData, any>, newLabel: string) => void;
63
+ onColumnSelect?: (header: VueColumnDef<TData, any>) => void;
64
+ /** Row data; cast to vanilla `Row[]` inside the adapter. */
65
+ rows: readonly TData[];
53
66
  footerRenderer?: VueFooterRenderer;
54
- loadingStateRenderer?: VueLoadingStateRenderer;
55
- errorStateRenderer?: VueErrorStateRenderer;
56
- emptyStateRenderer?: VueEmptyStateRenderer;
67
+ loadingStateRenderer?: VueLoadingStateRenderer<TData>;
68
+ errorStateRenderer?: VueErrorStateRenderer<TData>;
69
+ emptyStateRenderer?: VueEmptyStateRenderer<TData>;
57
70
  tableEmptyStateRenderer?: VNode | HTMLElement | string | null;
58
71
  headerDropdown?: VueHeaderDropdown;
59
72
  columnEditorConfig?: VueColumnEditorConfig;
60
73
  icons?: VueIconsConfig;
61
- /** Per-row action buttons; each entry is a Vue component rendered into the row's selection column. */
62
- rowButtons?: VueRowButton[];
74
+ /** Per-row action buttons; each entry returns a VNode rendered into the row's selection column. */
75
+ rowButtons?: VueRowButton<TData>[];
63
76
  }
77
+ /**
78
+ * TData-bound call signatures omitted at nest boundaries so
79
+ * `VueColumnDef<Child>[]` assigns under a parent column without casts/`any`.
80
+ * Child columns stay fully checked at their own declaration site.
81
+ */
82
+ type VueColumnDefCallbacks = "cellRenderer" | "headerRenderer" | "children" | "nestedTable" | "comparator" | "exportValueGetter" | "valueFormatter" | "valueGetter" | "quickFilterGetter";
83
+ /** Column shape accepted on nested grids — metadata only, no TData-bound callbacks. */
84
+ export type NestedVueColumnDef = Omit<VueColumnDef<VueDefaultRowData>, VueColumnDefCallbacks> & {
85
+ children?: ReadonlyArray<NestedVueColumnDef>;
86
+ nestedTable?: NestedTableVueConfig;
87
+ };
88
+ /**
89
+ * Nested grid props (no `rows` / inherited state renderers).
90
+ * Child row shape may differ from the parent column's `TData`.
91
+ */
92
+ export type NestedTableVueConfig = Omit<SimpleTableVueProps, "rows" | "columns" | "loadingStateRenderer" | "errorStateRenderer" | "emptyStateRenderer" | "tableEmptyStateRenderer"> & {
93
+ columns?: ReadonlyArray<NestedVueColumnDef>;
94
+ };
64
95
  export type { CellRendererProps, HeaderRendererProps, FooterRendererProps, LoadingStateRendererProps, ErrorStateRendererProps, EmptyStateRendererProps, HeaderDropdownProps, ColumnEditorRowRendererProps, ColumnEditorCustomRendererProps, };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simple-table/vue",
3
- "version": "4.0.8",
3
+ "version": "4.0.9",
4
4
  "main": "dist/cjs/index.js",
5
5
  "module": "dist/index.es.js",
6
6
  "types": "dist/types/index.d.ts",
@@ -32,7 +32,7 @@
32
32
  "vue": ">=3.0.0"
33
33
  },
34
34
  "dependencies": {
35
- "simple-table-core": "4.0.8"
35
+ "simple-table-core": "4.0.9"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@rollup/plugin-alias": "4.0.0",