@perspective-dev/viewer-datagrid 4.3.0 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- :host{position:relative;display:block;height:100%;}:host #container{position:absolute;display:flex;flex-direction:column;justify-content:stretch;align-items:stretch;top:0;left:0;right:0;bottom:0;}:host #toolbar{display:flex;align-items:stretch;height:100%;}:host #toolbar .hover-target{margin:0;display:inline-flex;align-items:center;cursor:pointer;}:host #toolbar .hover-target:hover{box-shadow:-4px 0 0 var(--icon--color),4px 0 0 var(--icon--color);background-color:var(--icon--color);}:host #slot-container{flex:1;position:relative;}#scroll_lock.lock-scroll:before{-webkit-mask-image:var(--toolbar-scroll-lock-active--content);}#scroll_lock:before{-webkit-mask-image:var(--toolbar-scroll-lock--content);}#select_mode:before{content:"highlight_alt";}#edit_mode:before{-webkit-mask-image:"";}#edit_mode[data-edit-mode="READ_ONLY"]:before{-webkit-mask-image:var(--toolbar-edit-mode--read-only--content);}#edit_mode[data-edit-mode="EDIT"]:before{-webkit-mask-image:var(--toolbar-edit-mode--edit--content);}:host(.aggregated) #toolbar #edit_mode[data-edit-mode="EDIT"]:before{-webkit-mask-image:var(--toolbar-edit-mode--read-only--content);}#edit_mode[data-edit-mode="SELECT_ROW"]:before{-webkit-mask-image:var(--toolbar-edit-mode--select-row--content);}#edit_mode[data-edit-mode="SELECT_COLUMN"]:before{-webkit-mask-image:var(--toolbar-edit-mode--select-column--content);}#edit_mode[data-edit-mode="SELECT_REGION"]:before{-webkit-mask-image:var(--toolbar-edit-mode--select-region--content);}#edit_mode[data-edit-mode="READ_ONLY"] span:before{content:var(--edit-mode--read-only--content,"Read Only");}#edit_mode[data-edit-mode="EDIT"] span:before{content:var(--edit-mode--edit--content,"Editable");}#edit_mode[data-edit-mode="SELECT_ROW"] span:before{content:var(--edit-mode--select-row--content,"Row Select");}#edit_mode[data-edit-mode="SELECT_COLUMN"] span:before{content:var(--edit-mode--select-column--content,"Column Select");}#edit_mode[data-edit-mode="SELECT_REGION"] span:before{content:var(--edit-mode--select-region--content,"Region Select");}#scroll_lock span:before{content:var(--scroll-lock-toggle--content,"Free Scroll");}#scroll_lock.lock-scroll span:before{content:var(--scroll-lock-alt-toggle--content,"Align Scroll");}.button:before{width:21px;height:21px;content:"";-webkit-mask-size:cover;mask-size:cover;background-color:var(--icon--color);}.button.editable:before,.button.lock-scroll:before{color:inherit;}.button{display:inline-flex;justify-content:center;align-items:center;user-select:none;padding:0 5px;border:1px solid transparent;border-radius:3px;border:1px solid transparent;box-sizing:border-box;display:inline-flex;font-size:var(--label--font-size,0.75em);height:22px;user-select:none;white-space:nowrap;width:37px;}.button>span{display:none;margin:0;padding:0;}.hover-target:focus-within .button,.hover-target:hover .button{position:relative;background-color:var(--icon--color);color:var(--plugin--background);opacity:1;display:flex;align-items:center;cursor:pointer;}.hover-target:focus-within .button:before,.hover-target:hover .button:before{background-color:var(--plugin--background);}.hover-target:focus-within .button>span,.hover-target:hover .button>span{display:block;position:absolute;top:calc(100% + 3px);left:50%;translate:-50%;margin:0;padding:5px;height:auto;white-space:pre-wrap;line-height:1;font-size:9px;background-color:var(--icon--color);width:35px;text-align:center;border-radius:0 0 3px 3px;}
1
+ :host{height:100%;display:block;position:relative}:host #container{flex-direction:column;justify-content:stretch;align-items:stretch;display:flex;position:absolute;inset:0}:host #toolbar{align-items:stretch;height:100%;display:flex}:host #toolbar .hover-target{cursor:pointer;align-items:center;margin:0;display:inline-flex;&:hover{box-shadow:-4px 0 0 var(--psp--color), 4px 0 0 var(--psp--color);background-color:var(--psp--color)}}:host #slot-container{flex:1;position:relative}#scroll_lock.lock-scroll:before{-webkit-mask-image:var(--psp-toolbar-scroll-lock-active--content)}#scroll_lock:before{-webkit-mask-image:var(--psp-toolbar-scroll-lock--content)}#select_mode:before{content:"highlight_alt"}#edit_mode:before{-webkit-mask-image:""}#edit_mode[data-edit-mode=READ_ONLY]:before{-webkit-mask-image:var(--psp-toolbar-edit-mode-read-only--content)}#edit_mode[data-edit-mode=EDIT]:before{-webkit-mask-image:var(--psp-toolbar-edit-mode-edit--content)}:host(.aggregated) #toolbar #edit_mode[data-edit-mode=EDIT]:before{-webkit-mask-image:var(--psp-toolbar-edit-mode-read-only--content)}#edit_mode[data-edit-mode=SELECT_ROW]:before{-webkit-mask-image:var(--psp-toolbar-edit-mode-select-row--content)}#edit_mode[data-edit-mode=SELECT_COLUMN]:before{-webkit-mask-image:var(--psp-toolbar-edit-mode-select-column--content)}#edit_mode[data-edit-mode=SELECT_REGION]:before{-webkit-mask-image:var(--psp-toolbar-edit-mode-select-region--content)}#edit_mode[data-edit-mode=READ_ONLY] span:before{content:var(--psp-label--edit-mode-read-only--content,"Read Only")}#edit_mode[data-edit-mode=EDIT] span:before{content:var(--psp-label--edit-mode-edit--content,"Editable")}#edit_mode[data-edit-mode=SELECT_ROW] span:before{content:var(--psp-label--edit-mode-select-row--content,"Row Select")}#edit_mode[data-edit-mode=SELECT_COLUMN] span:before{content:var(--psp-label--edit-mode-select-column--content,"Column Select")}#edit_mode[data-edit-mode=SELECT_REGION] span:before{content:var(--psp-label--edit-mode-select-region--content,"Region Select")}#scroll_lock span:before{content:var(--psp-label--scroll-lock-toggle--content,"Free Scroll")}#scroll_lock.lock-scroll span:before{content:var(--psp-label--scroll-lock-alt-toggle--content,"Align Scroll")}.button:before{content:"";background-color:var(--psp--color);width:21px;height:21px;-webkit-mask-size:cover;mask-size:cover}.button.editable:before,.button.lock-scroll:before{color:inherit}.button{user-select:none;box-sizing:border-box;font-size:var(--label--font-size,.75em);white-space:nowrap;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;width:37px;height:22px;padding:0 5px;display:inline-flex}.button>span{margin:0;padding:0;display:none}.hover-target:focus-within .button,.hover-target:hover .button{background-color:var(--psp--color);color:var(--psp--background-color);opacity:1;cursor:pointer;align-items:center;display:flex;position:relative}.hover-target:focus-within .button:before,.hover-target:hover .button:before{background-color:var(--psp--background-color)}.hover-target:focus-within .button>span,.hover-target:hover .button>span{white-space:pre-wrap;background-color:var(--psp--color);text-align:center;border-radius:0 0 3px 3px;width:35px;height:auto;margin:0;padding:5px;font-size:9px;line-height:1;display:block;position:absolute;top:calc(100% + 3px);left:50%;translate:-50%}
@@ -1 +1 @@
1
- regular-table{padding:0;margin:12px 0 0 12px;font-family:inherit;--rt-hover--border-color:var(--inactive--color,#c5c9d080);}regular-table div[tabindex]{outline:none;}regular-table>div{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;}regular-table th{text-align:center;}regular-table thead tr:not(.rt-autosize) th{overflow:hidden;max-width:0px;}regular-table thead tr:last-child .rt-float,regular-table tbody .rt-float{text-align:right;}regular-table thead .rt-integer,regular-table tbody .rt-integer{text-align:right;}regular-table tbody th{text-align:left;}regular-table span.rt-tree-container{display:flex;align-items:center;height:100%;}regular-table thead .rt-string,regular-table tbody .rt-string,regular-table thead .rt-date,regular-table tbody .rt-date,regular-table thead .rt-datetime,regular-table tbody .rt-datetime{text-align:left;}regular-table thead tr:last-child th{border-bottom:1px solid#8b868045;}regular-table tbody tr:first-child td,regular-table tbody tr:first-child th{border-top:1px solid transparent!important;}regular-table th{position:relative;}regular-table tr th span.rt-tree-group{margin-left:5px;margin-right:15px;border-left:1px solid#eee;height:100%;}regular-table td,regular-table th{white-space:nowrap;font-size:12px;padding-right:5px;padding-left:5px;padding-top:0px;padding-bottom:0px;height:19px;}regular-table table *{box-sizing:border-box;}regular-table table{position:absolute;color:#666;outline:none;}regular-table span.rt-row-header-icon{color:#aaa;padding-right:4px;font-family:var(--button--font-family);}regular-table span.rt-column-header-icon{font-size:10px;padding-left:3px;display:inline-block;width:10px;font-family:var(--button--font-family);}regular-table span.rt-row-header-icon:hover{color:#1a7da1;text-shadow:0px 0px 3px#1a7da1;}regular-table .rt-selected td{background-color:#eee;}regular-table .rt-cell-clip{overflow:hidden;text-overflow:ellipsis;}regular-table td span.rt-group-name,regular-table th span.rt-group-name{margin-right:-5px;padding-right:5px;padding-left:8px;flex:1;height:100%;}regular-table th span.rt-group-name{text-align:left;}regular-table td th span.rt-group-leaf,regular-table th span.rt-group-leaf{margin-left:16px;height:100%;}regular-table .rt-column-resize{height:100%;width:10px;position:absolute;top:0;right:0;cursor:col-resize;}regular-table a{color:var(--rt-pos-cell--color);}regular-table a:visited{color:var(--active--color);}regular-table td.psp-null:after,regular-table th.psp-null:after{content:var(--null--content,"-");}.psp-header-border:not(.psp-is-top):not(.psp-header-leaf){box-shadow:1px 0px var(--inactive--border-color,#8b868045);}.psp-header-group{box-shadow:0px 10px 0 -9px var(--inactive--border-color,#8b868045);}.psp-is-top{box-shadow:5px 4px 0px -4px var(--inactive--border-color,#8b868045);}.psp-is-top.psp-header-group:not(.psp-header-group-corner){box-shadow:5px 4px 0px -4px var(--inactive--border-color,#8b868045),0px 10px 0 -9px var(--inactive--border-color,#8b868045);}.psp-header-border.psp-header-group:not(.psp-is-top):not(.psp-header-group-corner){box-shadow:1px 0px var(--inactive--border-color,#8b868045),0px 10px 0 -9px var(--inactive--border-color,#8b868045);}perspective-viewer[settings] tr.rt-autosize .psp-header-leaf.psp-header-border:not(.psp-menu-enabled){box-shadow:1px 0px var(--inactive--border-color,#8b868045);}:host-context(perspective-viewer[settings]) tr.rt-autosize .psp-header-leaf.psp-header-border:not(.psp-menu-enabled){box-shadow:1px 0px var(--inactive--border-color,#8b868045);}.psp-header-leaf.psp-header-border{box-shadow:5px -4px 0px -4px var(--inactive--border-color,#8b868045);}tr:only-child th{box-shadow:none!important;}regular-table tbody tr:hover th.psp-tree-leaf:not(.psp-row-selected):not(.psp-row-subselected),regular-table tbody tr:hover th.psp-tree-label:not(.psp-row-selected):not(.psp-row-subselected),regular-table tbody tr:hover td:not(.psp-row-selected):not(.psp-row-subselected),regular-table tbody tr:hover:after{border-color:var(--rt-hover--border-color,#c5c9d080)!important;box-shadow:0px 1px 0px var(--rt-hover--border-color,#c5c9d080);}regular-table tbody tr:hover th.psp-tree-leaf.psp-menu-open:not(.psp-row-selected):not(.psp-row-subselected),regular-table tbody tr:hover th.psp-tree-label.psp-menu-open:not(.psp-row-selected):not(.psp-row-subselected),regular-table tbody tr:hover td.psp-menu-open:not(.psp-row-selected):not(.psp-row-subselected),regular-table tbody tr.psp-menu-open:hover:after{box-shadow:inset -2px 0px 0px var(--icon--color),inset 2px 0px 0px var(--icon--color),0px 1px 0px var(--rt-hover--border-color,#c5c9d080);}regular-table tbody tr:last-child:hover td.psp-menu-open:not(.psp-row-selected):not(.psp-row-subselected){box-shadow:inset -2px 0px 0px var(--icon--color),inset 2px 0px 0px var(--icon--color),inset 0px -2px 0px var(--icon--color),0px 1px 0px var(--rt-hover--border-color,#c5c9d080);}regular-table tbody tr:hover+tr th.psp-tree-leaf:not(.psp-row-selected):not(.psp-row-subselected),regular-table tbody tr:hover+tr th.psp-tree-label:not(.psp-row-selected):not(.psp-row-subselected),regular-table tbody tr:hover+tr td:not(.psp-row-selected):not(.psp-row-subselected){border-top-color:transparent;}regular-table tbody tr th:first-child:not(:empty),regular-table tbody tr th:first-child:empty+th:not(:empty),regular-table tbody tr th:first-child:empty~th:empty+th:not(:empty),regular-table tbody tr td:first-child{border-left-width:1px;border-left-color:transparent;}regular-table tbody tr th:last-child,regular-table tbody tr td:last-child{border-right-width:0px;border-right-color:transparent;}regular-table tbody tr:hover{color:inherit;}regular-table tbody tr:hover th:first-child:not(:empty),regular-table tbody tr:hover th:first-child:empty+th:not(:empty),regular-table tbody tr:hover th:first-child:empty~th:empty+th:not(:empty),regular-table tbody tr:hover td:first-child{border-left-color:var(--rt-hover--border-color,#c5c9d080)!important;}regular-table tbody tr:hover th:last-child,regular-table tbody tr:hover td:last-child{border-right-color:var(--rt-hover--border-color,#c5c9d080)!important;}perspective-viewer-datagrid:not(.sub-cell-scroll-disabled) regular-table table tbody td,perspective-viewer-datagrid:not(.sub-cell-scroll-disabled) regular-table table thead th:not(.rt-group-corner),:host(:not(.sub-cell-scroll-disabled)) regular-table table tbody td,:host(:not(.sub-cell-scroll-disabled)) regular-table table thead th:not(.rt-group-corner){transform:translate(var(--regular-table--transform-x,0px));}perspective-viewer-datagrid:not(.sub-cell-scroll-disabled) regular-table table tbody,:host(:not(.sub-cell-scroll-disabled)) regular-table table tbody{transform:translate(0,var(--regular-table--transform-y,0px));}perspective-viewer-datagrid:not(.sub-cell-scroll-disabled) regular-table table tbody tr:first-child td,perspective-viewer-datagrid:not(.sub-cell-scroll-disabled) regular-table table tbody tr:first-child th,perspective-viewer-datagrid:not(.sub-cell-scroll-disabled) regular-table table tbody tr:first-child:after,:host(:not(.sub-cell-scroll-disabled)) regular-table table tbody tr:first-child td,:host(:not(.sub-cell-scroll-disabled)) regular-table table tbody tr:first-child th,:host(:not(.sub-cell-scroll-disabled)) regular-table table tbody tr:first-child:after{clip-path:polygon(0 var(--regular-table--clip-y,0),0 200%,200% 200%,200% var(--regular-table--clip-y,0));}perspective-viewer-datagrid:not(.sub-cell-scroll-disabled) regular-table table tbody tr td:first-of-type,:host(:not(.sub-cell-scroll-disabled)) regular-table table tbody tr td:first-of-type{clip-path:polygon(var(--regular-table--clip-x,0) 0,var(--regular-table--clip-x,0) 200%,200% 200%,200% 0);}perspective-viewer-datagrid:not(.sub-cell-scroll-disabled) regular-table table tbody tr:first-child td:first-of-type,:host(:not(.sub-cell-scroll-disabled)) regular-table table tbody tr:first-child td:first-of-type{clip-path:polygon(var(--regular-table--clip-x,0) var(--regular-table--clip-y,0),var(--regular-table--clip-x,0) 200%,200% 200%,200% var(--regular-table--clip-y,0));}perspective-viewer-datagrid:not(.sub-cell-scroll-disabled) regular-table table thead tr:last-child:after,:host(:not(.sub-cell-scroll-disabled)) regular-table table thead tr:last-child:after{transform:translate(var(--regular-table--transform-x,0px));}perspective-viewer-datagrid:not(.sub-cell-scroll-disabled) regular-table table tbody tr:not(:first-child):after,:host(:not(.sub-cell-scroll-disabled)) regular-table table tbody tr:not(:first-child):after{transform:translate(var(--regular-table--transform-x,0px));}perspective-viewer-datagrid:not(.sub-cell-scroll-disabled) regular-table table tbody tr:hover:first-child:after,:host(:not(.sub-cell-scroll-disabled)) regular-table table tbody tr:hover:first-child:after{clip-path:polygon(0 var(--regular-table--clip-y,0),0 200%,200% 200%,200% var(--regular-table--clip-y,0));}perspective-viewer-datagrid:not(.sub-cell-scroll-disabled) regular-table table thead tr th.rt-group-corner+th:not(.rt-group-corner),:host(:not(.sub-cell-scroll-disabled)) regular-table table thead tr th.rt-group-corner+th:not(.rt-group-corner){clip-path:polygon(var(--regular-table--clip-x,0) 0,var(--regular-table--clip-x,0) 200%,200% 200%,200% 0);}regular-table{outline:none;}regular-table::-webkit-scrollbar,regular-table::-webkit-scrollbar-corner{background-color:transparent;height:12px;width:12px;}regular-table::-webkit-scrollbar-thumb{background-clip:content-box;background:var(--icon--color);border:5.5px solid var(--plugin--background);max-height:50%;max-width:50%;min-width:10%;min-height:10%;}perspective-viewer .psp-menu-enabled{padding:0 6px;font-size:8px;border-radius:3px 3px 0 0;}perspective-viewer .psp-menu-enabled:hover,perspective-viewer tr:not(.rt-autosize) th.psp-menu-open{color:var(--plugin--background);background-color:var(--icon--color);border-bottom-color:var(--icon--color);cursor:pointer;}perspective-viewer tr:not(.rt-autosize) th.psp-menu-open:before{background-repeat:no-repeat;background-color:var(--icon--color);content:"";display:inline-block;-webkit-mask-size:cover;mask-size:cover;height:8px;width:10px;-webkit-mask-image:var(--column-settings-icon--mask-image);mask-image:var(--column-settings-icon--mask-image);margin-right:4px;background-color:var(--plugin--background);}perspective-viewer td.psp-menu-open{box-shadow:inset -2px 0px 0px var(--icon--color),inset 2px 0px 0px var(--icon--color);}perspective-viewer tr:first-child td.psp-menu-open{border-top-color:var(--icon--color)!important;}perspective-viewer tr:last-child td.psp-menu-open{box-shadow:inset -2px 0px 0px var(--icon--color),inset 2px 0px 0px var(--icon--color),inset 0px -2px 0px var(--icon--color);}:host .psp-menu-enabled{padding:0 6px;font-size:8px;border-radius:3px 3px 0 0;}:host .psp-menu-enabled:hover,:host tr:not(.rt-autosize) th.psp-menu-open{color:var(--plugin--background);background-color:var(--icon--color);border-bottom-color:var(--icon--color);cursor:pointer;}:host tr:not(.rt-autosize) th.psp-menu-open:before{background-repeat:no-repeat;background-color:var(--icon--color);content:"";display:inline-block;-webkit-mask-size:cover;mask-size:cover;height:8px;width:10px;-webkit-mask-image:var(--column-settings-icon--mask-image);mask-image:var(--column-settings-icon--mask-image);margin-right:4px;background-color:var(--plugin--background);}:host td.psp-menu-open{box-shadow:inset -2px 0px 0px var(--icon--color),inset 2px 0px 0px var(--icon--color);}:host tr:first-child td.psp-menu-open{border-top-color:var(--icon--color)!important;}:host tr:last-child td.psp-menu-open{box-shadow:inset -2px 0px 0px var(--icon--color),inset 2px 0px 0px var(--icon--color),inset 0px -2px 0px var(--icon--color);}perspective-viewer regular-table table thead tr:last-child th{border-bottom-width:1px;border-bottom-color:var(--inactive--border-color,#8b868045);}:host-context(perspective-viewer) regular-table table thead tr:last-child th{border-bottom-width:1px;border-bottom-color:var(--inactive--border-color,#8b868045);}.psp-sort-enabled:hover{cursor:pointer;}.psp-row-selected,:hover .psp-row-selected,:hover th.psp-tree-leaf.psp-row-selected,:hover th.psp-tree-label.psp-row-selected{color:white!important;background-color:var(--selected-row--background-color,#ea7319)!important;border-color:var(--selected-row--background-color,#ea7319)!important;}regular-table.flat-group-rollup-mode.vertical-row-headers th.psp-tree-label:not(:last-of-type){writing-mode:vertical-lr;}.psp-row-selected.psp-tree-label:not(:hover):before{color:white;}regular-table:not(.flat-group-rollup-mode) .psp-row-selected.psp-tree-label:not(:hover):before{color:white;}.psp-row-subselected,:hover .psp-row-subselected,:hover th.psp-tree-leaf.psp-row-subselected,:hover th.psp-tree-label.psp-row-subselected{background:rgba(234,115,25,0.2)!important;}.psp-error{color:red;}td:focus{outline:#666;outline-style:dotted;outline-width:1px;}perspective-viewer.dragging regular-table{pointer-events:none;}:host-context(perspective-viewer.dragging) regular-table{pointer-events:none;}.psp-header-border:last-child{border-right-width:0px;}.psp-header-sort-desc:after{background-repeat:no-repeat;background-color:var(--icon--color);content:"";display:inline-block;-webkit-mask-size:cover;mask-size:cover;width:14px;height:11px;margin-left:4px;-webkit-mask-image:var(--sort-desc-icon--mask-image);mask-image:var(--sort-desc-icon--mask-image);}.psp-header-sort-asc:after{background-repeat:no-repeat;background-color:var(--icon--color);content:"";display:inline-block;-webkit-mask-size:cover;mask-size:cover;width:14px;height:11px;margin-left:4px;-webkit-mask-image:var(--sort-asc-icon--mask-image);mask-image:var(--sort-asc-icon--mask-image);}.psp-header-sort-col-desc:after{background-repeat:no-repeat;background-color:var(--icon--color);content:"";display:inline-block;-webkit-mask-size:cover;mask-size:cover;width:14px;height:11px;margin-left:4px;-webkit-mask-image:var(--sort-col-desc-icon--mask-image);mask-image:var(--sort-col-desc-icon--mask-image);}.psp-header-sort-col-asc:after{background-repeat:no-repeat;background-color:var(--icon--color);content:"";display:inline-block;-webkit-mask-size:cover;mask-size:cover;width:14px;height:11px;margin-left:4px;-webkit-mask-image:var(--sort-col-asc-icon--mask-image);mask-image:var(--sort-col-asc-icon--mask-image);}.psp-header-sort-abs-desc:after{background-repeat:no-repeat;background-color:var(--icon--color);content:"";display:inline-block;-webkit-mask-size:cover;mask-size:cover;width:14px;height:11px;margin-left:4px;-webkit-mask-image:var(--sort-abs-desc-icon--mask-image);mask-image:var(--sort-abs-desc-icon--mask-image);}.psp-header-sort-abs-asc:after{background-repeat:no-repeat;background-color:var(--icon--color);content:"";display:inline-block;-webkit-mask-size:cover;mask-size:cover;width:14px;height:11px;margin-left:4px;-webkit-mask-image:var(--sort-abs-asc-icon--mask-image);mask-image:var(--sort-abs-asc-icon--mask-image);}.psp-header-sort-abs-col-desc:after{background-repeat:no-repeat;background-color:var(--icon--color);content:"";display:inline-block;-webkit-mask-size:cover;mask-size:cover;width:14px;height:11px;margin-left:4px;-webkit-mask-image:var(--sort-abs-col-desc-icon--mask-image);mask-image:var(--sort-abs-col-desc-icon--mask-image);}.psp-header-sort-abs-col-asc:after{background-repeat:no-repeat;background-color:var(--icon--color);content:"";display:inline-block;-webkit-mask-size:cover;mask-size:cover;width:14px;height:11px;margin-left:4px;-webkit-mask-image:var(--sort-abs-col-asc-icon--mask-image);mask-image:var(--sort-abs-col-asc-icon--mask-image);}tbody th:last-of-type{border-right:1px solid var(--inactive--border-color,#8b868045);overflow:hidden;text-overflow:ellipsis;}tbody th:empty{background-image:linear-gradient(to right,transparent 9px,var(--inactive--border-color,#eee) 10px,transparent 11px);background-repeat:no-repeat;min-width:20px;max-width:20px;pointer-events:none;}regular-table:not(.flat-group-rollup-mode) .psp-tree-label{max-width:0px;min-width:0px;}regular-table:not(.flat-group-rollup-mode) .psp-tree-label:before{color:var(--icon--color);font-family:var(--button--font-family,inherit);padding-right:11px;}regular-table:not(.flat-group-rollup-mode) .psp-tree-label-expand:before{content:var(--tree-label-expand--content,"+");}regular-table:not(.flat-group-rollup-mode) .psp-tree-label-collapse:before{content:var(--tree-label-collapse--content,"-");}regular-table:not(.flat-group-rollup-mode) .psp-tree-label-expand,regular-table:not(.flat-group-rollup-mode) .psp-tree-label-collapse{cursor:pointer;}regular-table:not(.flat-group-rollup-mode) .psp-tree-label:hover:before{color:var(--active--color);text-shadow:0px 0px 5px var(--active--color);}.psp-tree-leaf{padding-left:24px;}.psp-align-right{text-align:right;}.psp-align-left{text-align:left;}.psp-positive:not(:focus){color:var(--rt-pos-cell--color);}.psp-negative:not(:focus){color:var(--rt-neg-cell--color);}regular-table table tbody td{min-width:52px!important;}.psp-is-width-override .rt-column-resize,.rt-column-resize:hover{border:1px dashed#999;border-bottom-width:0px;border-left-width:0px;}.boolean-editable{cursor:pointer;}regular-table table{user-select:none;color:inherit;border-collapse:separate;}regular-table table th{font-weight:400;}regular-table table td,regular-table table th{border-color:var(--inactive--border-color,#8b868045);height:23px;}regular-table table .psp-header-group{text-overflow:ellipsis;}regular-table table th.psp-header-leaf{border-bottom-width:0px;}regular-table table th.psp-header-leaf span{height:23px;min-height:23px;}regular-table table td,regular-table table th.psp-tree-label,regular-table table th.psp-tree-label,regular-table table th.psp-tree-leaf,regular-table table tbody tr:first-child th{border-style:solid;border-width:0px;border-top-width:1px;}regular-table table tbody th:empty{background-position:0px -10px;}regular-table table td.psp-select-region,regular-table table th.psp-select-region{background-color:var(--icon--color)!important;color:var(--plugin--background)!important;border-color:var(--plugin--background)!important;}regular-table tbody tr:hover td.psp-select-region:not(.psp-row-selected):not(.psp-row-subselected),regular-table tbody tr:hover+tr td.psp-select-region:not(.psp-row-selected):not(.psp-row-subselected){border-color:var(--plugin--background)!important;}regular-table tbody tr:hover td.psp-select-region.psp-menu-open:not(.psp-row-selected):not(.psp-row-subselected){box-shadow:inset -2px 0px 0px var(--plugin--background),inset 2px 0px 0px var(--plugin--background);}:host-context(perspective-viewer[settings]) td.psp-select-region.psp-menu-open{box-shadow:inset -2px 0px 0px var(--plugin--background),inset 2px 0px 0px var(--plugin--background);}regular-table #psp-column-edit-buttons th:not(.rt-group-corner) span:not(.rt-column-resize):before{content:var(--datagrid-column-edit-button--content,"Edit");}perspective-viewer:not([settings]) regular-table #psp-column-edit-buttons:after{content:none;}:host-context(perspective-viewer:not([settings])) regular-table #psp-column-edit-buttons:after{content:none;}regular-table table thead tr:last-child:after{width:10000px;box-sizing:border-box;display:block;height:23px;content:" ";border-bottom:1px solid var(--inactive--border-color);}regular-table table tbody tr:after{width:10000px;box-sizing:border-box;display:block;height:23px;content:" ";border-top:1px solid transparent;}regular-table table tbody tr:not(:first-child):after{border-top:1px solid var(--inactive--border-color);}regular-table table tbody tr:hover:not(:first-child):after{border-top:1px solid var(--rt-hover--border-color);}regular-table table tbody tr:hover+tr:after{border-top:1px solid var(--rt-hover--border-color);}@keyframes pulse_pos{0%{background-color:var(--pulse--background-color-start,rgba(0,128,255,0.5));}100%{background-color:var(--pulse--background-color-end,rgba(0,128,255,0));}}@keyframes pulse_pos2{0%{background-color:var(--pulse--background-color-start,rgba(0,128,255,0.5));}100%{background-color:var(--pulse--background-color-end,rgba(0,128,255,0));}}@keyframes pulse_neg{0%{background-color:var(--pulse--background-color-start,rgba(255,25,0,0.5));}100%{background-color:var(--pulse--background-color-end,rgba(255,25,0,0));}}@keyframes pulse_neg2{0%{background-color:var(--pulse--background-color-start,rgba(255,25,0,0.5));}100%{background-color:var(--pulse--background-color-end,rgba(255,25,0,0));}}
1
+ regular-table{--psp-datagrid--hover--border-color:var(--psp-inactive--color,#c5c9d080);margin:12px 0 0 12px;padding:0;font-family:inherit;& div[tabindex]{outline:none}&>div{position:absolute;inset:0;overflow:hidden}& th{text-align:center}& thead tr:not(.rt-autosize) th{max-width:0;overflow:hidden}& thead tr:last-child .rt-float,& tbody .rt-float,& thead .rt-integer,& tbody .rt-integer{text-align:right}& tbody th{text-align:left}& span.rt-tree-container{align-items:center;height:100%;display:flex}& thead .rt-string,& tbody .rt-string,& thead .rt-date,& tbody .rt-date,& thead .rt-datetime,& tbody .rt-datetime{text-align:left}& thead tr:last-child th{border-bottom:1px solid #8b868045}& tbody tr:first-child td,& tbody tr:first-child th{border-top:1px solid #0000!important}& th{position:relative}& tr th span.rt-tree-group{border-left:1px solid #eee;height:100%;margin-left:5px;margin-right:15px}& td,& th{white-space:nowrap;height:var(--psp-datagrid--row--height,19px);padding:0 5px}& table *{box-sizing:border-box}& table{color:#666;outline:none;position:absolute}& span.rt-row-header-icon{color:#aaa;font-family:var(--psp-button--font-family);padding-right:4px}& span.rt-column-header-icon{width:10px;font-size:10px;font-family:var(--psp-button--font-family);padding-left:3px;display:inline-block}& span.rt-row-header-icon:hover{color:#1a7da1;text-shadow:0 0 3px #1a7da1}& .rt-selected td{background-color:#eee}& .rt-cell-clip{text-overflow:ellipsis;overflow:hidden}& td span.rt-group-name,& th span.rt-group-name{flex:1;height:100%;margin-right:-5px;padding-left:8px;padding-right:5px}& th span.rt-group-name{text-align:left}& td th span.rt-group-leaf,& th span.rt-group-leaf{height:100%;margin-left:16px}& .rt-column-resize{cursor:col-resize;width:10px;height:100%;position:absolute;top:0;right:0}& a{color:var(--psp-datagrid--pos-cell--color)}& a:visited{color:var(--psp-active--color)}& td.psp-null:after,& th.psp-null:after{content:var(--psp-label--null--content,"-");color:var(--psp-label--null--color,inherit);font-size:var(--psp-label--null--font-size,inherit);vertical-align:middle}}.psp-header-border:not(.psp-is-top):not(.psp-header-leaf){box-shadow:1px 0px var(--psp-inactive--border-color,#8b868045)}.psp-header-group{box-shadow:0px 10px 0 -9px var(--psp-inactive--border-color,#8b868045)}.psp-is-top{box-shadow:5px 4px 0px -4px var(--psp-inactive--border-color,#8b868045)}.psp-is-top.psp-header-group:not(.psp-header-group-corner){box-shadow:5px 4px 0px -4px var(--psp-inactive--border-color,#8b868045), 0px 10px 0 -9px var(--psp-inactive--border-color,#8b868045)}.psp-header-border.psp-header-group{&:not(.psp-is-top):not(.psp-header-group-corner){box-shadow:1px 0px var(--psp-inactive--border-color,#8b868045), 0px 10px 0 -9px var(--psp-inactive--border-color,#8b868045)}}perspective-viewer[settings] tr.rt-autosize .psp-header-leaf.psp-header-border:not(.psp-menu-enabled){box-shadow:1px 0px var(--psp-inactive--border-color,#8b868045)}:host-context(perspective-viewer[settings]) tr.rt-autosize .psp-header-leaf.psp-header-border:not(.psp-menu-enabled){box-shadow:1px 0px var(--psp-inactive--border-color,#8b868045)}.psp-header-leaf.psp-header-border{box-shadow:5px -4px 0px -4px var(--psp-inactive--border-color,#8b868045)}tr:only-child th{box-shadow:none!important}regular-table{& tbody{& tr:hover th.psp-tree-leaf:not(.psp-row-selected):not(.psp-row-subselected),& tr:hover th.psp-tree-label:not(.psp-row-selected):not(.psp-row-subselected),& tr:hover td:not(.psp-row-selected):not(.psp-row-subselected),& tr:hover:after{box-shadow:0px 1px 0px var(--psp-datagrid--hover--border-color,#c5c9d080);border-color:var(--psp-datagrid--hover--border-color,#c5c9d080)!important;&.psp-menu-open{box-shadow:inset -2px 0px 0px var(--psp--color), inset 2px 0px 0px var(--psp--color), 0px 1px 0px var(--psp-datagrid--hover--border-color,#c5c9d080)}}& tr:last-child:hover td:not(.psp-row-selected):not(.psp-row-subselected).psp-menu-open{box-shadow:inset -2px 0px 0px var(--psp--color), inset 2px 0px 0px var(--psp--color), inset 0px -2px 0px var(--psp--color), 0px 1px 0px var(--psp-datagrid--hover--border-color,#c5c9d080)}& tr:hover+tr th.psp-tree-leaf:not(.psp-row-selected):not(.psp-row-subselected),& tr:hover+tr th.psp-tree-label:not(.psp-row-selected):not(.psp-row-subselected),& tr:hover+tr td:not(.psp-row-selected):not(.psp-row-subselected){border-top-color:#0000}& tr{& th:first-child:not(:empty),& th:first-child:empty+th:not(:empty),& th:first-child:empty~th:empty+th:not(:empty),& td:first-child{border-left-width:1px;border-left-color:#0000}& th:last-child,& td:last-child{border-right-width:0;border-right-color:#0000}}& tr:hover{color:inherit;& th:first-child:not(:empty),& th:first-child:empty+th:not(:empty),& th:first-child:empty~th:empty+th:not(:empty),& td:first-child{border-left-color:var(--psp-datagrid--hover--border-color,#c5c9d080)!important}& th:last-child,& td:last-child{border-right-color:var(--psp-datagrid--hover--border-color,#c5c9d080)!important}}}}perspective-viewer-datagrid:not(.sub-cell-scroll-disabled) regular-table table,:host(:not(.sub-cell-scroll-disabled)) regular-table table{& tbody td,& thead th:not(.rt-group-corner){transform:translate(var(--regular-table--transform-x,0px))}& tbody{transform:translate(0, var(--regular-table--transform-y,0px))}& tbody tr:first-child{& td,& th,&:after{clip-path:polygon(0 var(--regular-table--clip-y,0), 0 200%, 200% 200%, 200% var(--regular-table--clip-y,0))}}& tbody tr td:first-of-type{clip-path:polygon(var(--regular-table--clip-x,0) 0, var(--regular-table--clip-x,0) 200%, 200% 200%, 200% 0)}& tbody tr:first-child td:first-of-type{clip-path:polygon(var(--regular-table--clip-x,0) var(--regular-table--clip-y,0), var(--regular-table--clip-x,0) 200%, 200% 200%, 200% var(--regular-table--clip-y,0))}& thead tr:last-child:after,& tbody tr:not(:first-child):after{transform:translate(var(--regular-table--transform-x,0px))}& tbody tr:hover:first-child:after{clip-path:polygon(0 var(--regular-table--clip-y,0), 0 200%, 200% 200%, 200% var(--regular-table--clip-y,0))}& thead tr th.rt-group-corner+th:not(.rt-group-corner){clip-path:polygon(var(--regular-table--clip-x,0) 0, var(--regular-table--clip-x,0) 200%, 200% 200%, 200% 0)}}regular-table{outline:none;&::-webkit-scrollbar,&::-webkit-scrollbar-corner{background-color:#0000;width:12px;height:12px}&::-webkit-scrollbar-thumb{background-clip:content-box;background:var(--psp--color);border:5.5px solid var(--psp--background-color);min-width:10%;max-width:50%;min-height:10%;max-height:50%}}perspective-viewer,:host{& .psp-menu-enabled{border-radius:3px 3px 0 0;padding:0 6px;font-size:8px}& .psp-menu-enabled:hover,& tr:not(.rt-autosize) th.psp-menu-open{color:var(--psp--background-color);background-color:var(--psp--color);border-bottom-color:var(--psp--color);cursor:pointer}& tr:not(.rt-autosize) th.psp-menu-open{&:before{background-repeat:no-repeat;background-color:var(--psp--color);content:"";width:10px;height:8px;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-image:var(--psp-icon--column-settings--mask-image);mask-image:var(--psp-icon--column-settings--mask-image);background-color:var(--psp--background-color);margin-right:4px;display:inline-block}}& td.psp-menu-open{box-shadow:inset -2px 0px 0px var(--psp--color), inset 2px 0px 0px var(--psp--color)}& tr:first-child td.psp-menu-open{border-top-color:var(--psp--color)!important}& tr:last-child td.psp-menu-open{box-shadow:inset -2px 0px 0px var(--psp--color), inset 2px 0px 0px var(--psp--color), inset 0px -2px 0px var(--psp--color)}}perspective-viewer,:host-context(perspective-viewer){& regular-table table thead tr:last-child th{border-bottom-width:1px;border-bottom-color:var(--psp-inactive--border-color,#8b868045)}}.psp-sort-enabled:hover{cursor:pointer}.psp-row-selected,:hover .psp-row-selected,:hover th.psp-tree-leaf.psp-row-selected,:hover th.psp-tree-label.psp-row-selected{color:#fff!important;background-color:var(--selected-row--background-color,#ea7319)!important;border-color:var(--selected-row--background-color,#ea7319)!important}regular-table.flat-group-rollup-mode.vertical-row-headers th.psp-tree-label:not(:last-of-type){writing-mode:vertical-lr}.psp-row-selected.psp-tree-label:not(:hover):before,regular-table:not(.flat-group-rollup-mode) .psp-row-selected.psp-tree-label:not(:hover):before{color:#fff}.psp-row-subselected,:hover .psp-row-subselected,:hover th.psp-tree-leaf.psp-row-subselected,:hover th.psp-tree-label.psp-row-subselected{background:#ea731933!important}.psp-error{color:red}td:focus{outline:1px dotted #666}perspective-viewer.dragging,:host-context(perspective-viewer.dragging){& regular-table{pointer-events:none}}.psp-header-border:last-child{border-right-width:0}.psp-header-sort-desc:after{background-repeat:no-repeat;background-color:var(--psp--color);content:"";width:14px;height:11px;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-image:var(--psp-icon--sort-desc--mask-image);mask-image:var(--psp-icon--sort-desc--mask-image);margin-left:4px;display:inline-block}.psp-header-sort-asc:after{background-repeat:no-repeat;background-color:var(--psp--color);content:"";width:14px;height:11px;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-image:var(--psp-icon--sort-asc--mask-image);mask-image:var(--psp-icon--sort-asc--mask-image);margin-left:4px;display:inline-block}.psp-header-sort-col-desc:after{background-repeat:no-repeat;background-color:var(--psp--color);content:"";width:14px;height:11px;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-image:var(--psp-icon--sort-col-desc--mask-image);mask-image:var(--psp-icon--sort-col-desc--mask-image);margin-left:4px;display:inline-block}.psp-header-sort-col-asc:after{background-repeat:no-repeat;background-color:var(--psp--color);content:"";width:14px;height:11px;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-image:var(--psp-icon--sort-col-asc--mask-image);mask-image:var(--psp-icon--sort-col-asc--mask-image);margin-left:4px;display:inline-block}.psp-header-sort-abs-desc:after{background-repeat:no-repeat;background-color:var(--psp--color);content:"";width:14px;height:11px;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-image:var(--psp-icon--sort-abs-desc--mask-image);mask-image:var(--psp-icon--sort-abs-desc--mask-image);margin-left:4px;display:inline-block}.psp-header-sort-abs-asc:after{background-repeat:no-repeat;background-color:var(--psp--color);content:"";width:14px;height:11px;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-image:var(--psp-icon--sort-abs-asc--mask-image);mask-image:var(--psp-icon--sort-abs-asc--mask-image);margin-left:4px;display:inline-block}.psp-header-sort-abs-col-desc:after{background-repeat:no-repeat;background-color:var(--psp--color);content:"";width:14px;height:11px;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-image:var(--psp-icon--sort-abs-col-desc--mask-image);mask-image:var(--psp-icon--sort-abs-col-desc--mask-image);margin-left:4px;display:inline-block}.psp-header-sort-abs-col-asc:after{background-repeat:no-repeat;background-color:var(--psp--color);content:"";width:14px;height:11px;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-image:var(--psp-icon--sort-abs-col-asc--mask-image);mask-image:var(--psp-icon--sort-abs-col-asc--mask-image);margin-left:4px;display:inline-block}tbody th:last-of-type{border-right:1px solid var(--psp-inactive--border-color,#8b868045);text-overflow:ellipsis;overflow:hidden}tbody th:empty{background-image:linear-gradient(to right, transparent 9px, var(--psp-inactive--border-color,#eee) 10px, transparent 11px);pointer-events:none;background-repeat:no-repeat;min-width:20px;max-width:20px}regular-table:not(.flat-group-rollup-mode){& .psp-tree-label{min-width:0;max-width:0}& .psp-tree-label:before{color:var(--psp--color);font-family:var(--psp-button--font-family,inherit);padding-right:11px}& .psp-tree-label-expand:before{content:var(--psp-label--tree-expand--content,"+")}& .psp-tree-label-collapse:before{content:var(--psp-label--tree-collapse--content,"-")}& .psp-tree-label-expand,& .psp-tree-label-collapse{cursor:pointer}& .psp-tree-label:hover:before{color:var(--psp-active--color);text-shadow:0px 0px 5px var(--psp-active--color)}}.psp-tree-leaf{padding-left:24px}.psp-align-right{text-align:right}.psp-align-left{text-align:left}.psp-positive:not(:focus){color:var(--psp-datagrid--pos-cell--color)}.psp-negative:not(:focus){color:var(--psp-datagrid--neg-cell--color)}regular-table table tbody td{min-width:52px!important}.psp-is-width-override .rt-column-resize,.rt-column-resize:hover{border:1px dashed #999;border-width:1px 1px 0 0}.boolean-editable{cursor:pointer}regular-table table{user-select:none;color:inherit;border-collapse:separate;font-size:1em;& th{font-weight:400}& td,& th{border-color:var(--psp-inactive--border-color,#8b868045);height:23px}& .psp-header-group{text-overflow:ellipsis}& th.psp-header-leaf{border-bottom-width:0;& span{height:23px;min-height:23px}}& td,& th.psp-tree-label,& th.psp-tree-label,& th.psp-tree-leaf,& tbody tr:first-child th{border-style:solid;border-width:1px 0 0}& tbody th:empty{background-position:0 -10px}& td.psp-select-region,& th.psp-select-region{background-color:var(--psp--color)!important;color:var(--psp--background-color)!important;border-color:var(--psp--background-color)!important}}regular-table tbody tr:hover td.psp-select-region:not(.psp-row-selected):not(.psp-row-subselected),regular-table tbody tr:hover+tr td.psp-select-region:not(.psp-row-selected):not(.psp-row-subselected){border-color:var(--psp--background-color)!important}regular-table tbody tr:hover{& td.psp-select-region.psp-menu-open{&:not(.psp-row-selected):not(.psp-row-subselected){box-shadow:inset -2px 0px 0px var(--psp--background-color), inset 2px 0px 0px var(--psp--background-color)}}}:host-context(perspective-viewer[settings]) td.psp-select-region.psp-menu-open{box-shadow:inset -2px 0px 0px var(--psp--background-color), inset 2px 0px 0px var(--psp--background-color)}regular-table #psp-column-edit-buttons th:not(.rt-group-corner) span:not(.rt-column-resize):before{content:var(--psp-datagrid--column-edit-button--content,"Edit")}perspective-viewer:not([settings]),:host-context(perspective-viewer:not([settings])){& regular-table #psp-column-edit-buttons:after{content:none}}regular-table table thead tr:last-child:after{box-sizing:border-box;content:" ";border-bottom:1px solid var(--psp-inactive--border-color);width:10000px;height:23px;display:block}regular-table table tbody tr:after{box-sizing:border-box;content:" ";border-top:1px solid #0000;width:10000px;height:23px;display:block}regular-table table tbody tr:not(:first-child):after{border-top:1px solid var(--psp-inactive--border-color)}regular-table table tbody tr:hover:not(:first-child):after,regular-table table tbody tr:hover+tr:after{border-top:1px solid var(--psp-datagrid--hover--border-color)}@keyframes pulse_pos{0%{background-color:var(--pulse--background-color-start,#0080ff80)}to{background-color:var(--pulse--background-color-end,#0080ff00)}}@keyframes pulse_pos2{0%{background-color:var(--pulse--background-color-start,#0080ff80)}to{background-color:var(--pulse--background-color-end,#0080ff00)}}@keyframes pulse_neg{0%{background-color:var(--pulse--background-color-start,#ff190080)}to{background-color:var(--pulse--background-color-end,#ff190000)}}@keyframes pulse_neg2{0%{background-color:var(--pulse--background-color-start,#ff190080)}to{background-color:var(--pulse--background-color-end,#ff190000)}}
@@ -1,5 +1,5 @@
1
- import"regular-table";import{PerspectiveSelectDetail as Q}from"@perspective-dev/viewer";function V(e,t){return t.type==="body"||t.type==="column_header"||t.type==="corner"?e._column_types[t.x]:e._row_header_types[(t.row_header_x??0)-1]}var C=Symbol("Perspective Column Config");import lt from"chroma-js";var ee=class{format(t){return t?"true":"false"}},tt={float:{format:{style:"decimal",minimumFractionDigits:2,maximumFractionDigits:2}},datetime:{format:{dateStyle:"short",timeStyle:"medium"}},date:{format:{dateStyle:"short"}}},Y=class{_formatters;constructor(){this._formatters=new Map}create_datetime_formatter(t,o){if(o.date_format?.format!=="custom"){let r={timeZone:o.date_format?.timeZone,dateStyle:o.date_format?.dateStyle==="disabled"?void 0:o.date_format?.dateStyle??"short",timeStyle:o.date_format?.timeStyle==="disabled"?void 0:o.date_format?.timeStyle??"medium"};return new Intl.DateTimeFormat(navigator.languages,r)}else{let r={timeZone:o.date_format?.timeZone,hour12:o.date_format?.hour12??!0,fractionalSecondDigits:o.date_format?.fractionalSecondDigits};return o.date_format?.year!=="disabled"&&(r.year=o.date_format?.year??"2-digit"),o.date_format?.month!=="disabled"&&(r.month=o.date_format?.month??"numeric"),o.date_format?.day!=="disabled"&&(r.day=o.date_format?.day??"numeric"),o.date_format?.weekday&&o.date_format?.weekday!=="disabled"&&(r.weekday=o.date_format.weekday),o.date_format?.hour!=="disabled"&&(r.hour=o.date_format?.hour??"numeric"),o.date_format?.minute!=="disabled"&&(r.minute=o.date_format?.minute??"numeric"),o.date_format?.second!=="disabled"&&(r.second=o.date_format?.second??"numeric"),new Intl.DateTimeFormat(navigator.languages,r)}}create_date_formatter(t,o){let r={timeZone:"utc",dateStyle:o.date_format?.dateStyle==="disabled"?void 0:o.date_format?.dateStyle??"short"};return new Intl.DateTimeFormat(navigator.languages,r)}create_number_formatter(t,o){let r=o.number_format??tt[t]?.format;return new Intl.NumberFormat(navigator.languages,r)}create_boolean_formatter(t,o){return new ee}get(t,o){let r=[t,...Object.values(o.date_format??{}),...Object.values(o.number_format??{})].join("-");return this._formatters.has(r)||(t==="date"?this._formatters.set(r,this.create_date_formatter(t,o)):t==="datetime"?this._formatters.set(r,this.create_datetime_formatter(t,o)):t==="integer"||t==="float"?this._formatters.set(r,this.create_number_formatter(t,o)):t==="boolean"?this._formatters.set(r,this.create_boolean_formatter(t,o)):this._formatters.set(r,!1)),this._formatters.get(r)}};var ae=new Y,ie=1;function ce(e,t){return ae.get(e,t)}function z(e,t,o={},r=!1){if(t===null)return null;let s=r&&this._table_schema[e]||this._schema[e]||"string",l=o[e]||{};if((s==="integer"||s==="float")&&l?.number_fg_mode==="bar"){let a=Math.max(0,Math.min(ie,Math.abs(t/l.fg_gradient)*ie)),i=this._div_factory.get(),d=t>=0?"left":"right",p=(a*100).toFixed(2);return i.setAttribute("style",`width:calc(${p}% - 4px);position:absolute;${d}:2px;height:80%;top:10%;pointer-events:none;`),i}else if(l?.format==="link"&&s==="string"){let a=document.createElement("a");return a.setAttribute("href",t),a.setAttribute("target","_blank"),a.textContent=t,a}else if(l?.format==="bold"&&s==="string"){let a=document.createElement("b");return a.textContent=t,a}else if(l?.format==="italics"&&s==="string"){let a=document.createElement("i");return a.textContent=t,a}else{let a=ae.get(s,l);return a?a.format(t):t}}function*de(e=[],t,o){let r=o[C]||{};for(let s of e){let l=["TOTAL",...s],n=l[l.length-1],a=l.slice(0,l.length-1).fill(""),i=z.call(this,t[a.length-1],n,r,!0);i instanceof HTMLElement?a=a.concat(i):a=a.concat({toString:()=>i}),a.length=t.length+1,yield a}}function*pe(e=[],t,o){let r=o[C]||{};for(let s of e)yield s.map((l,n)=>z.call(this,t[n],l,r,!0))}function*me(e=[],t,o){let r=o[C]||{};for(let s of e){let l=[""];for(let n in s)l.push(z.call(this,t[n],s[n],r,!0));yield s}}function ue(e){let t,o,r,s,l;return async function(a,i,d,p,c){let m={},u={start_row:d,start_col:i,end_row:c,end_col:p,id:!0},g=null;if(p-i>0&&c-d>0){this._is_old_viewport=this._last_window?.start_row===d&&this._last_window?.end_row===c&&this._last_window?.start_col===i&&this._last_window?.end_col===p;let[T,L]=await Promise.all([this._view.to_columns_string(u),this._view.num_columns()]);g=L,m=JSON.parse(T);let M=Object.keys(m).filter(_=>_!=="__ROW_PATH__"&&_!=="__ID__"),N=!1;for(let _=0;_<M.length;_++)this._column_paths[u.start_col+_]!==M[_]&&(N=!0,this._column_paths[u.start_col+_]=M[_]);if(N){let[_,E]=await Promise.all([this._view.schema(),this._view.expression_schema()]);this._schema={..._,...E};for(let P=0;P<M.length;P++){let ne=M[P].split("|")[this._config.split_by.length];this._is_editable[P+u.start_col]=!!this._table_schema[ne],this._column_types[P+u.start_col]=this._schema[ne]}}this._last_window=u,this._ids=m.__ID__||Array(c-d).fill(null).map((_,E)=>[E+d]),this._reverse_columns=this._column_paths.slice(i,p).reduce((_,E,P)=>(_.set(E,P),_),new Map),this._reverse_ids=this._ids?.reduce((_,E,P)=>(_.set(E?.join("|"),P),_),new Map)}else this._div_factory.clear(),g=await this._view.num_columns();let b=[],f=[],h=[],w=[],y=e.hasAttribute("settings");for(let T=i;T<Math.min(p,this._column_paths.length);++T){let L=this._column_paths[T],D=L.split("|"),M=m[L]||new Array(c-d).fill(null),N=Math.min(a[C]?.[D[this._config.split_by.length]]?.aggregate_depth||0,this._config.group_by.length);b.push(M.map((_,E)=>(m?.__ROW_PATH__?.[E]?.length??0)<N?"":z.call(this,D[this._config.split_by.length],_,a[C]||{}))),f.push(M),y&&D.push(""),h.push(D),w.push(L)}let x=p-i>0&&c-d>0;x&&(this.last_column_paths=o,this.last_meta=t,this.last_ids=r,this.last_reverse_ids=s,this.last_reverse_columns=l,o=w,t=f,r=this._ids,s=this._reverse_ids,l=this._reverse_columns);let k=m.__ROW_PATH__!==void 0,A=this._config.group_rollup_mode==="flat",v=Array.from((k?A?pe:de:me).call(this,m.__ROW_PATH__,this._config.group_by,a)),R=x?v[0]?.length:ot(this._config);return{num_column_headers:this._config.split_by.length+(y?2:1),num_row_headers:R,num_rows:this._num_rows,num_columns:g,row_headers:v,column_headers:h,data:b,metadata:f,column_header_merge_depth:Math.max(0,this._config.split_by.length)}}}function ot(e){return e.group_rollup_mode==="flat"?e.group_by.length:e.group_rollup_mode==="total"||e.group_by.length===0?0:e.group_by.length+1}import ge from"chroma-js";function te(e,t){return ge.mix(e,`rgb(${t[0]},${t[1]},${t[2]})`,.5).hex()}function O([e,t,o,r],s=[255,255,255]){function l(n,a){return((1-r)*(s[n]/255)+r*(a/255))*255}return[l(0,e),l(1,t),l(2,o)]}function H([e,t,o]){return Math.sqrt(e*e*.299+t*t*.587+o*o*.114)>130?"#161616":"#ffffff"}function rt(e){let[t,o,r]=e.rgb(),[s,l,n]=e.set("hsl.h",(e.get("hsl.h")-15)%360).rgb(),[a,i,d]=e.set("hsl.h",(e.get("hsl.h")+15)%360).rgb();return`linear-gradient(to right top,rgb(${s},${l},${n}),rgb(${t},${o},${r}) 50%,rgb(${a},${i},${d}))`}function S(e){let t=ge(e),o=rt(t),r=t.rgb();return[e,r[0],r[1],r[2],o,`rgba(${r[0]},${r[1]},${r[2]},1)`,`rgba(${r[0]},${r[1]},${r[2]},0)`]}function K(e,t,o){let r=window.getComputedStyle(e).getPropertyValue(t).trim();return r.length>0?r:o}var oe=class{_name;_elements;_index;constructor(t){this._name=t,this._elements=[],this._index=0}clear(){this._index=0}get(){this._elements[this._index]||(this._elements[this._index]=document.createElement(this._name));let t=this._elements[this._index];return this._index+=1,t}};async function q(e,t,o,r={}){let s=await o.get_config();if(this?.model?._config){let v=this.model._config,R=v.group_by.length!==s.group_by.length,se=(v.group_by.length===0||s.group_by.length===0)&&R;if(!R)for(let _ in v.group_by)R||=s.group_by[_]!==v.group_by[_];let T=v.split_by.length!==s.split_by.length;if(!T)for(let _ in v.split_by)T||=s.split_by[_]!==v.split_by[_];let L=v.columns.length!==s.columns.length;if(!L)for(let _ in v.columns)L||=s.columns[_]!==v.columns[_];let D=v.filter.length!==s.filter.length;if(!D)for(let _ in v.filter)for(let E in s.filter[_])D||=s.filter[_][E]!==v.filter[_][E];let M=v.sort.length!==s.sort.length;if(!M)for(let _ in v.sort)for(let E in s.sort[_])M||=s.sort[_][E]!==v.sort[_][E];let N=v.group_rollup_mode!==s.group_rollup_mode;this._reset_scroll_top=R,this._reset_scroll_left=T,this._reset_select=R||T||D||M||L,this._reset_column_size=N||T||R||L||se}let[l,n,a,i,d]=await Promise.all([t.schema(),o.num_rows(),o.schema(),o.expression_schema(),this.parentElement.getEditPort()]),p=lt(K(e,"--plugin--background","#FFFFFF")).rgb(),c=S(K(e,"--rt-pos-cell--color","#338DCD")),m=S(K(e,"--rt-neg-cell--color","#FF5942")),u=S(te(c[0],p)),g=S(te(m[0],p)),b=S(K(e,"--active--color","#ff0000")),f={...a,...i},h={...l,...i},w=[],y=[],x=[],k=this._edit_mode||"READ_ONLY";this._edit_button.dataset.editMode=k;let A=Object.assign(r,{_edit_port:d,_view:o,_table:t,_table_schema:h,_config:s,_num_rows:n,_schema:f,_ids:[],_plugin_background:p,_color:b,_pos_fg_color:c,_neg_fg_color:m,_pos_bg_color:u,_neg_bg_color:g,_column_paths:w,_column_types:x,_is_editable:y,_edit_mode:k,_selection_state:{selected_areas:[],dirty:!1},_row_header_types:s.group_by.map(v=>h[v]),_series_color_map:new Map,_series_color_seed:new Map,_div_factory:r._div_factory||new oe("div")});return e.setDataListener(ue(this.parentElement).bind(A,e),{virtual_mode:window.getComputedStyle(e).getPropertyValue("--datagrid-virtual-mode")?.trim()||"both"}),A}var W=["READ_ONLY","EDIT","SELECT_ROW","SELECT_COLUMN","SELECT_REGION"];function F(e){typeof e>"u"&&(e=W[(W.indexOf(this._edit_mode)+1)%W.length]),this.parentElement?.setSelection?.(),this._edit_mode=e,this.model&&(this.model._edit_mode=e,this.model._selection_state={selected_areas:[],dirty:!0}),this._edit_button!==void 0&&(this._edit_button.dataset.editMode=e),this.dataset.editMode=e}function U(e){typeof e>"u"&&(e=!this._is_scroll_lock),this._is_scroll_lock=e,this.classList.toggle("sub-cell-scroll-disabled",e),this._scroll_lock!==void 0&&this._scroll_lock.classList.toggle("lock-scroll",e)}function j(e,t=!1){if(!this._initialized)return;t&&(this._cached_column_sizes=e);let o={},{group_by:r}=this.model._config,s=r?.length>0?r.length+1:0;for(let l of Object.keys(e))if(l==="__ROW_PATH__")o[s-1]=e[l];else{let n=this.model._column_paths.indexOf(l);o[n+s]=e[l]}this.regular_table.restoreColumnSizes(o)}function G(){if(!this._initialized)return{};if(this._cached_column_sizes){let s=this._cached_column_sizes;return this._cached_column_sizes=void 0,s}let e=this.regular_table.saveColumnSizes(),{group_by:t}=this.model._config,o=t?.length>0?t.length+1:0,r={};for(let s of Object.keys(e)){let l=Number(s);if(e[l]!==void 0){let n=l-o;n>-1?r[this.model._column_paths[n]]=e[l]:n===-1&&(r.__ROW_PATH__=e[l])}}return r}function _e(e,t,o){let r=Array.from(e.children[0].children[0].children),s=r.length,l=t.hasAttribute("settings");if(s<=1?r[0]?.removeAttribute("id"):r.forEach((n,a)=>{let i=l?1:0,d=a===s-(i+1)?"psp-column-titles":a===s-i?"psp-column-edit-buttons":null;d?n.setAttribute("id",d):n.removeAttribute("id")}),t.classList.toggle("psp-menu-open",!!o),l&&s>=2){let n=Array.from(r[s-2].children),a=Array.from(r[s-1].children);if(n&&a){r.slice(0,s-2).forEach(i=>{Array.from(i.children).forEach(d=>{d.classList.toggle("psp-menu-open",!1)})});for(let i=0;i<n.length;i++){let d=n[i],p=a[i],c=d.textContent===o;if(d.classList.toggle("psp-menu-open",c),p.classList.toggle("psp-menu-open",c),this._config.columns.length>1)for(let m of e.querySelectorAll("td")){let u=e.getMeta(m);if(!u?.column_header)continue;let g=u.column_header[u.column_header.length-2]===o;m.classList.toggle("psp-menu-open",g)}}}}}function be(e,t,o){let r=this._config.group_by.length-(this._config.group_rollup_mode==="flat"?1:0),s=this._column_settings_selected_column;for(let{element:l,metadata:n}of e.cells){if(!n||n.type==="body"||n.type==="row_header")continue;let a=n.column_header?.[this._config.split_by.length],i=this._config.sort.find(f=>f[0]===a),d=typeof n.x>"u",p=n.type==="corner"&&n.row_header_x===r||!d&&(n.x+1)%this._config.columns.length===0;l.classList.toggle("psp-header-border",p),l.classList.toggle("psp-header-group",!1),l.classList.toggle("psp-header-leaf",!0),l.classList.toggle("psp-is-top",!1),l.classList.toggle("psp-header-corner",d),l.classList.toggle("psp-header-sort-asc",!o&&!!i&&i[1]==="asc"),l.classList.toggle("psp-header-sort-desc",!o&&!!i&&i[1]==="desc"),l.classList.toggle("psp-header-sort-col-asc",!o&&!!i&&i[1]==="col asc"),l.classList.toggle("psp-header-sort-col-desc",!o&&!!i&&i[1]==="col desc"),l.classList.toggle("psp-header-sort-abs-asc",!o&&!!i&&i[1]==="asc abs"),l.classList.toggle("psp-header-sort-abs-desc",!o&&!!i&&i[1]==="desc abs"),l.classList.toggle("psp-header-sort-abs-col-asc",!o&&!!i&&i[1]==="col asc abs"),l.classList.toggle("psp-header-sort-abs-col-desc",!o&&!!i&&i[1]==="col desc abs");let c=V(this,n),m=c==="integer"||c==="float",u=c==="string",g=c==="date",b=c==="datetime";if(l.classList.toggle("psp-align-right",m),l.classList.toggle("psp-align-left",!m),l.classList.toggle("psp-menu-enabled",(u||m||g||b)&&!d&&n.column_header_y===this._config.split_by.length+1),l.classList.toggle("psp-sort-enabled",(u||m||g||b)&&!d&&n.column_header_y===this._config.split_by.length),l.classList.toggle("psp-is-width-override",t.saveColumnSizes()[n.size_key]!==void 0),this._config.columns.length>1&&s){let f=n.column_header?.[n.column_header.length-2]===s;l.classList.toggle("psp-menu-open",f)}}}var st={desc:"asc",asc:void 0,"desc abs":"asc abs","asc abs":void 0},nt={desc:"asc",asc:void 0,"desc abs":"asc abs","asc abs":void 0};async function fe(e,t,o,r){let s=e.getMeta(r);if(!s?.column_header)return;let l=s.column_header[this._config.split_by.length],n=o.ctrlKey||o.metaKey||o.altKey?it:at,a=o.shiftKey,i=n.call(this,`${l}`,a);await t.restore({sort:i})}function it(e,t){let o=[],r=!1;for(let s of this._config.sort){let[l,n]=s;if(l===e){r=!0;let a=he.call(this,e,n,t);a&&o.push(a)}else o.push(s)}return r||o.push([e,t?"desc abs":"desc"]),o}function at(e,t){for(let[o,r]of this._config.sort)if(o===e){let s=he.call(this,e,r,t);return s?[s]:[]}return[[e,t?"desc abs":"desc"]]}function he(e,t,o){let s=this._config.split_by.length>0?nt:st,l=t?s[t]:"desc";if(l)return[e,l]}async function ye(e,t){let o=e.getMeta(t.target);if(!o||o.type!=="row_header")return;let r=t.target.classList.contains("psp-tree-label-collapse");t.shiftKey&&r?this._view.set_depth(o.row_header.filter(s=>s!==void 0).length-2):t.shiftKey?this._view.set_depth(o.row_header.filter(s=>s!==void 0).length-1):r?this._view.collapse(o.y):this._view.expand(o.y),this._num_rows=await this._view.num_rows(),this._num_columns=await this._view.num_columns(),e.draw()}async function ve(e,t,o){if(o.which!==1)return;let r=o.target;if(r?.tagName!=="A"){for(;r&&r.tagName!=="TD"&&r.tagName!=="TH";)if(r=r.parentElement,!r||!e.contains(r))return;if(r){if(r.classList.contains("psp-tree-label")){ye.call(this,e,o);return}if(r.classList.contains("psp-menu-enabled")){let l=e.getMeta(r)?.column_header?.[this._config.split_by.length];await t.toggleColumnSettings(`${l}`)}else r.classList.contains("psp-sort-enabled")&&fe.call(this,e,t,o,r)}}}function we(e,t){if(t.which!==1)return;let o=t.target;for(;o&&o.tagName!=="TD"&&o.tagName!=="TH";)if(o=o.parentElement,!o||!e.contains(o))return;o&&(o.classList.contains("psp-tree-label")&&t.offsetX<26||o.classList.contains("psp-header-leaf")&&!o.classList.contains("psp-header-corner"))&&t.stopImmediatePropagation()}function re(e,t,o){let r=e.getMeta(o);if(!r)return!1;let s=t._schema[t._column_paths[r.x]],l=o.textContent||"",n=t._ids[r.y-r.y0][0];if(s==="float"||s==="integer"){let i=parseFloat(l.replace(/,/g,""));if(isNaN(i))return!1;l=i}else if(s==="date"||s==="datetime"){let i=Date.parse(l);if(isNaN(i))return!1;l=i}else s==="boolean"&&(l=l==="true"?!1:l==="false"?!0:null);let a={__INDEX__:n,[t._column_paths[r.x]]:l};return t._table.update([a],{port_id:t._edit_port,format:null}),!0}function xe(e,t,o){let r=e.getMeta(o.target);if(r?.type==="body"||r?.type==="column_header"){let s=this._is_editable[r.x],l=V(this,r)==="boolean",n=o.target.classList.contains("psp-null");s&&l&&!n&&re(e,this,o.target)}}function Ee(e,t,o){let r=o.get(t),s=t.getRootNode();if(r){for(let{element:l,metadata:n}of e)if(n.type==="body"&&n.x===r.x&&n.y===r.y){s.activeElement!==l&&l.focus({preventScroll:!0});return}document.activeElement!==document.body&&t.contains(s.activeElement)&&s.activeElement.blur()}}function Ce(e,t){let o=t.get(e);if(!o)return!1;let r=e.getRootNode(),s=e.children[0]?.children[1];if(s)for(let l of s.children)for(let n of l.children){let a=e.getMeta(n);if(a?.type==="body"&&a.x===o.x&&a.y===o.y)return r.activeElement!==n&&n.focus({preventScroll:!0}),!0}return document.activeElement!==document.body&&e.contains(r.activeElement)&&r.activeElement.blur(),!1}function dt(e){let t;return async function(...o){if(t){await t;return}let r;t=new Promise(l=>r=l);let s=await e.apply(this,o);return t=void 0,r(),s}}function ke(){if(this.isContentEditable){let e=this.getRootNode().getSelection()?.getRangeAt(0);if(!e)return 0;let t=e.cloneRange();return t.selectNodeContents(this),t.setEnd(e.endContainer,e.endOffset),t.toString().length}else return this.selectionStart||0}var I=dt(async function(e,t,o,r,s){let l=e.getMeta(o);if(!l||l.type!=="body")return;let n=this._column_paths.length,a=this._num_rows,i=t.get(e);if(!i)return;l.x+r<n&&0<=l.x+r&&(i.x=l.x+r),l.y+s<a&&0<=l.y+s&&(i.y=l.y+s);let d=Math.max(l.x0-10,0),p=Math.min(l.x0+10,n),c=Math.max(l.y0-5,0),m=Math.min(l.y0+10,a),u=l.x0+r,g=l.y0+s;for(;!Ce(e,t)&&u>=d&&u<p&&g>=c&&g<m;)await e.scrollToCell(u,g),t.set(e,i),u+=r,g+=s});function pt(e,t,o){let r=t.getMeta(o);return r?.type==="body"&&r.y===e._num_rows-1}function Me(e,t,o,r){let s=e.getRootNode().activeElement;switch(r.target.classList.remove("psp-error"),r.key){case"Enter":r.preventDefault(),pt(this,e,s)?(s.blur(),o.delete(e)):r.shiftKey?I.call(this,e,o,s,0,-1):I.call(this,e,o,s,0,1);break;case"ArrowLeft":ke.call(s)===0&&(r.preventDefault(),I.call(this,e,o,s,-1,0));break;case"ArrowUp":r.preventDefault(),I.call(this,e,o,s,0,-1);break;case"ArrowRight":ke.call(s)===(s.textContent?.length||0)&&(r.preventDefault(),I.call(this,e,o,s,1,0));break;case"ArrowDown":r.preventDefault(),I.call(this,e,o,s,0,1);break;default:}}function J(e,t=!1){let o=this._config.group_by.length===0&&this._config.split_by.length===0,r=e.hasAttribute("selectable"),s=e.children[0],l=t||s?._edit_mode==="EDIT";return o&&!r&&l}function Se(e,t,o,r){if(this._edit_mode==="EDIT"){if(!J.call(this,t))return;Me.call(this,e,t,o,r)}else console.debug(`Mode ${this._edit_mode} for "keydown" event not yet implemented`)}function Te(e,t,o){if(this._edit_mode==="EDIT"){if(!J.call(this,t))return;xe.call(this,e,t,o)}else this._edit_mode==="READ_ONLY"||this._edit_mode==="SELECT_COLUMN"||this._edit_mode==="SELECT_ROW"||this._edit_mode==="SELECT_REGION"||console.debug(`Mode ${this._edit_mode} for "click" event not yet implemented`)}function Re(e,t,o,r){if(J.call(this,t)&&o.has(e)){let s=r.target;s.classList.remove("psp-error");let l=o.get(e);o.delete(e),l.content!==s.textContent&&(re(e,this,s)||(s.textContent=l.content||"",s.classList.add("psp-error"),s.focus()))}}function Le(e,t,o,r){let s=r.target,l=e.getMeta(s);if(l?.type==="body"){let n={x:l.x,y:l.y,content:s.textContent||void 0};o.set(e,n)}}async function $({_view:e,_config:t},o,r){let s=t.group_by,l=t.split_by,n=o>=0?o:0,a=n+1,i=await e.to_json({start_row:n,end_row:a}),p=i.map(h=>h.__ROW_PATH__)[0]||[],c=s.map((h,w)=>{let y=p[w];return y?[h,"==",y]:void 0}).filter(h=>h!==void 0),m=s.length>0?r+1:r,u=Object.keys(i[0])[m],g={row:i[0],column_names:[],config:{filter:[]}},b=[];if(u){let h=u.split("|");g.column_names=[h[l.length]],b=l.map((w,y)=>{let x=h[y];return x?[w,"==",x]:void 0}).filter(w=>w!==void 0).filter(([,,w])=>w!=="__ROW_PATH__")}let f=t.filter.concat(c).concat(b);return g.config={filter:f},g}async function De(e,t,o,r){let s=e.getMeta(r.target);if(t.hasAttribute("selectable")&&!r.handled&&!r.shiftKey&&r.button===0&&(r.stopImmediatePropagation(),!!s&&(s.type==="body"||s.type==="row_header")&&s.y>=0)){let l=this._ids?.[s.y-s.y0],n=o.get(e),a=!!n&&n.reduce((u,g,b)=>u&&g===l[b],!0),i=!!n&&l.length===n.length&&a,{row:d,column_names:p,config:c}=await $(this,s.y,s.type==="body"?s.x:0),m;i?(o.delete(e),m=new Q(!1,d,[],[],[{filter:structuredClone(this._config.filter)}])):(o.set(e,l),m=new Q(!0,d,p,[],[c])),await e.draw({preserve_width:!0}),r.handled=!0,t.dispatchEvent(new CustomEvent("perspective-select",{bubbles:!0,composed:!0,detail:m}))}}async function Pe(e,t,o){o.delete(e);for(let r of e.querySelectorAll("td,th"))r.classList.toggle("psp-row-selected",!1),r.classList.toggle("psp-row-subselected",!1)}async function Oe(e,t,o){let r=e.getMeta(o.target);if(!r||r.type!=="body")return;let{x:s,y:l}=r,{row:n,column_names:a,config:i}=await $(this,l,s);t.dispatchEvent(new CustomEvent("perspective-click",{bubbles:!0,composed:!0,detail:{row:n,column_names:a,config:i}}))}var ut="mouse-selected-area",He=(e,t,{className:o=ut,selected:r=[]}={})=>(e.model._selection_state={selected_areas:r,dirty:!0},t.addEventListener("mousedown",gt(e,t,o)),t.addEventListener("mouseover",_t(e,t,o)),t.addEventListener("mouseup",bt(e,t,o)),t.addStyleListener(()=>B(e,t,o)),t),gt=(e,t,o)=>r=>{let s=r;if(s.button===0&&(e.model._edit_mode==="SELECT_REGION"||e.model._edit_mode==="SELECT_ROW"||e.model._edit_mode==="SELECT_COLUMN")){e.model._selection_state.CURRENT_MOUSEDOWN_COORDINATES={};let l=t.getMeta(s.target);if(l?.type==="body"&&l.x!==void 0&&l.y!==void 0){e.model._selection_state.CURRENT_MOUSEDOWN_COORDINATES={x:l.x,y:l.y},e.model._selection_state.old_selected_areas=e.model._selection_state.selected_areas,e.model._selection_state.selected_areas=[];let n={x0:l.x,x1:l.x,y0:l.y,y1:l.y};e.model._selection_state.potential_selection=n,B(e,t,o,e.model._selection_state.selected_areas.concat([n]));return}}e.model._selection_state.selected_areas=[]},_t=(e,t,o)=>r=>{let s=r;if((e.model._edit_mode==="SELECT_REGION"||e.model._edit_mode==="SELECT_ROW"||e.model._edit_mode==="SELECT_COLUMN")&&e.model._selection_state.CURRENT_MOUSEDOWN_COORDINATES&&e.model._selection_state.CURRENT_MOUSEDOWN_COORDINATES.x!==void 0){let l=t.getMeta(s.target);if(l?.type==="body"&&l.x!==void 0&&l.y!==void 0){let n={x0:Math.min(l.x,e.model._selection_state.CURRENT_MOUSEDOWN_COORDINATES.x),x1:Math.max(l.x,e.model._selection_state.CURRENT_MOUSEDOWN_COORDINATES.x),y0:Math.min(l.y,e.model._selection_state.CURRENT_MOUSEDOWN_COORDINATES.y),y1:Math.max(l.y,e.model._selection_state.CURRENT_MOUSEDOWN_COORDINATES.y)};e.model._selection_state.potential_selection=n,B(e,t,o,e.model._selection_state.selected_areas.concat([n]))}}},bt=(e,t,o)=>r=>{let s=r;if(e.model._edit_mode==="SELECT_REGION"||e.model._edit_mode==="SELECT_ROW"||e.model._edit_mode==="SELECT_COLUMN"){let l=t.getMeta(s.target);if(!l)return;if((e.model._selection_state.old_selected_areas?.length??0)>0){let n=e.model._selection_state.old_selected_areas[0];if(n.x0===n.x1&&n.y0===n.y1&&l?.type==="body"&&n.x0===l.x&&n.y0===l.y){e.model._selection_state.selected_areas=[],e.model._selection_state.old_selected_areas=[],e.model._selection_state.CURRENT_MOUSEDOWN_COORDINATES={},e.model._selection_state.potential_selection=void 0,B(e,t,o,[]);return}}if(e.model._selection_state.old_selected_areas=[],e.model._selection_state.CURRENT_MOUSEDOWN_COORDINATES&&e.model._selection_state.CURRENT_MOUSEDOWN_COORDINATES.x!==void 0&&l?.type==="body"&&l.x!==void 0&&l.y!==void 0){let n={x0:Math.min(l.x,e.model._selection_state.CURRENT_MOUSEDOWN_COORDINATES.x),x1:Math.max(l.x,e.model._selection_state.CURRENT_MOUSEDOWN_COORDINATES.x),y0:Math.min(l.y,e.model._selection_state.CURRENT_MOUSEDOWN_COORDINATES.y),y1:Math.max(l.y,e.model._selection_state.CURRENT_MOUSEDOWN_COORDINATES.y)};e.model._selection_state.selected_areas.push(n),B(e,t,o)}e.model._selection_state.CURRENT_MOUSEDOWN_COORDINATES={},e.model._selection_state.potential_selection=void 0}};function ft(e,t,{x0:o,x1:r,y0:s,y1:l}){let n={},a=t.model._edit_mode;o!==void 0&&["SELECT_COLUMN","SELECT_REGION"].indexOf(a)>-1&&(n.start_col=o),r!==void 0&&["SELECT_COLUMN","SELECT_REGION"].indexOf(a)>-1&&(n.end_col=r+1),s!==void 0&&["SELECT_ROW","SELECT_REGION"].indexOf(a)>-1&&(n.start_row=s),l!==void 0&&["SELECT_ROW","SELECT_REGION"].indexOf(a)>-1&&(n.end_row=l+1),e.setSelection(n)}var B=(e,t,o,r)=>{if(e.model._edit_mode==="SELECT_REGION"||e.model._edit_mode==="SELECT_ROW"||e.model._edit_mode==="SELECT_COLUMN"){r=e.model._selection_state.selected_areas.slice(0),e.model._selection_state.potential_selection&&r.push(e.model._selection_state.potential_selection);let s=t.querySelectorAll("tbody td");if(r.length>0)ft(e.parentElement,e,r[0]),ht(e,t,r,o);else{e.parentElement.setSelection();for(let l of s)l.classList.remove(o)}}else if(e.model._selection_state.dirty){e.model._selection_state.dirty=!1;let s=t.querySelectorAll("tbody td");for(let l of s)l.classList.remove(o)}},ht=(e,t,o,r)=>{if(e.model._edit_mode==="SELECT_REGION"&&o.length>0){let s=t.querySelectorAll("tbody td");for(let l of s){let n=t.getMeta(l);if(!n||n.type!=="body")continue;let a=!1;for(let{x0:i,x1:d,y0:p,y1:c}of o)i!==void 0&&p!==void 0&&d!==void 0&&c!==void 0&&i<=n.x&&n.x<=d&&p<=n.y&&n.y<=c&&(a=!0,e.model._selection_state.dirty=!0,l.classList.add(r));a||l.classList.remove(r)}}else if(e.model._edit_mode==="SELECT_ROW"&&o.length>0){let s=t.querySelectorAll("tbody td");for(let l of s){let n=t.getMeta(l);if(!n)continue;let a=!1;for(let{x0:i,x1:d,y0:p,y1:c}of o)i!==void 0&&p!==void 0&&d!==void 0&&c!==void 0&&n?.type==="body"&&p<=n.y&&n.y<=c&&(e.model._selection_state.dirty=!0,a=!0,l.classList.add(r));a||l.classList.remove(r)}}else if(e.model._edit_mode==="SELECT_COLUMN"&&o.length>0){let s=t.querySelectorAll("tbody td");for(let l of s){let n=t.getMeta(l);if(!n)continue;let a=!1;for(let{x0:i,x1:d,y0:p,y1:c}of o)i!==void 0&&p!==void 0&&d!==void 0&&c!==void 0&&n?.type==="body"&&i<=n.x&&n.x<=d&&(e.model._selection_state.dirty=!0,a=!0,l.classList.add(r));a||l.classList.remove(r)}}};function Ae(e,t,o){if(e.length===0)return;let r=this._column_settings_selected_column,s=e.length,l=o.hasAttribute("settings");if(s<=1?e[0]?.row.removeAttribute("id"):e.forEach(({row:i},d)=>{let p=l?1:0,c=d===s-(p+1)?"psp-column-titles":d===s-p?"psp-column-edit-buttons":null;c?i.setAttribute("id",c):i.removeAttribute("id")}),o.classList.toggle("psp-menu-open",!!r),l&&s>=2){let i=e[s-2],d=e[s-1];if(i&&d){e.slice(0,s-2).forEach(({cells:p})=>{p.forEach(({element:c})=>{c.classList.toggle("psp-menu-open",!1)})});for(let p=0;p<i.cells.length;p++){let c=i.cells[p]?.element,m=d.cells[p]?.element;if(!c||!m)continue;let u=c.textContent===r;c.classList.toggle("psp-menu-open",u),m.classList.toggle("psp-menu-open",u)}}}let n=this._config.split_by.length;if(n<e.length){let i=e[n];i&&this._styleColumnHeaderRow(i,t,!1)}let a=this._config.split_by.length+1;if(a<e.length){let i=e[a];i&&this._styleColumnHeaderRow(i,t,!0)}}function Ne(e,t){let o=this._config.group_by.length,r=[],s=new Set;for(let l=0;l<e.length;l++){let{row:n,cells:a}=e[l],i=new Set;for(let d=0;d<a.length;d++){let{element:p,metadata:c}=a[d];if(!c)continue;p.style.backgroundColor="";let m=c.type==="corner"&&o>0&&c.row_header_x===o||c.type==="column_header"&&c.x>=0;p.classList.toggle("psp-align-right",!1),p.classList.toggle("psp-align-left",!1),p.classList.toggle("psp-header-group",!0),p.classList.toggle("psp-header-leaf",!1),p.classList.toggle("psp-header-border",m),p.classList.toggle("psp-header-group-corner",c.type==="corner"),p.classList.toggle("psp-color-mode-bar",!1),p.classList.toggle("psp-header-sort-asc",!1),p.classList.toggle("psp-header-sort-desc",!1),p.classList.toggle("psp-header-sort-col-asc",!1),p.classList.toggle("psp-header-sort-col-desc",!1),p.classList.toggle("psp-sort-enabled",!1);let u=d;for(;r[l]&&r[l][u];++u);i.add(u);let g=p;for(let b=u;b<u+g.colSpan;++b)for(let f=l;f<l+g.rowSpan;++f)r[f]||(r[f]=[]),r[f][b]=!0;g.classList.toggle("psp-is-top",l===0||!s.has(u))}s=i}}function Ve(e,t,[,,,,,o,r],[,,,,,s,l],n){let a=this._ids?.[e.dy??0]?.join("|"),i=(n?(e.column_header??[]).slice(0,-1):e.column_header??[]).join("|");if(this.last_reverse_columns?.has(i)&&this.last_reverse_ids?.has(a)){let d=this.last_reverse_ids?.get(a),p=this.last_reverse_columns.get(i);this._is_old_viewport?p!==void 0&&d!==void 0&&this.last_meta?.[p]?.[d]!==void 0&&this.last_meta[p][d]>(e.user??0)?(t.style.setProperty("--pulse--background-color-start",s),t.style.setProperty("--pulse--background-color-end",l),t.style.animationName==="pulse_neg"?t.style.animation="pulse_neg2 0.5s linear":t.style.animation="pulse_neg 0.5s linear"):p!==void 0&&d!==void 0&&this.last_meta?.[p]?.[d]!==void 0&&this.last_meta[p][d]<(e.user??0)?(t.style.setProperty("--pulse--background-color-start",o),t.style.setProperty("--pulse--background-color-end",r),t.style.animationName==="pulse_pos"?t.style.animation="pulse_pos2 0.5s linear":t.style.animation="pulse_pos 0.5s linear"):d!==e.dy&&(t.style.animation=""):t.style.animation=""}else t.style.animation=""}function ze(e,t,o,r){let s=(o.user??0)>0,l=(o.user??0)<0,n;e?.pos_bg_color!==void 0?n=e.pos_bg_color:n=this._pos_bg_color;let a;e?.neg_bg_color!==void 0?a=e.neg_bg_color:a=this._neg_bg_color;let i=s?n:l?a:["",this._plugin_background[0],this._plugin_background[1],this._plugin_background[2],"","",""];{let[m,u,g,b]=i;if(t.style.position="",o._is_hidden_by_aggregate_depth)t.style.animation="",t.style.backgroundColor="";else if(e?.number_bg_mode==="color")t.style.animation="",t.style.backgroundColor=m;else if(e?.number_bg_mode==="gradient"){let f=Math.max(0,Math.min(1,Math.abs((o.user??0)/(e.bg_gradient??1)))),h=this._plugin_background,w=H(O([u,g,b,f],h));t.style.animation="",t.style.color=w,t.style.backgroundColor=`rgba(${u},${g},${b},${f})`}else e?.number_bg_mode==="pulse"?(Ve.call(this,o,t,n,a,r),t.style.backgroundColor=""):(e?.number_bg_mode==="disabled"||e?.number_bg_mode,t.style.animation="",t.style.backgroundColor="")}let d=e?.pos_fg_color!==void 0?s?e.pos_fg_color:l?e.neg_fg_color:["",this._plugin_background[0],this._plugin_background[1],this._plugin_background[2],"","",""]:s?this._pos_fg_color:l?this._neg_fg_color:["",this._plugin_background[0],this._plugin_background[1],this._plugin_background[2],"","",""],[p,,,,c]=d;if(o._is_hidden_by_aggregate_depth)t.style.backgroundColor="",t.style.color="";else if(e?.number_fg_mode==="disabled")if(e?.number_bg_mode==="color"){let m=this._plugin_background,u=H(O([i[1],i[2],i[3],1],m));t.style.color=u}else e?.number_bg_mode==="gradient"||(t.style.color="");else e?.number_fg_mode==="bar"?(t.style.color="",t.style.position="relative",c!==""&&t.children.length>0&&t.children[0].nodeType===Node.ELEMENT_NODE&&(t.children[0].style.background=c)):(e?.number_fg_mode==="color"||!e?.number_fg_mode)&&(t.style.color=p)}import Ie from"chroma-js";function We(e,t,o){let r=o.column_header?.[this._config.split_by.length],s=e?.color!==void 0?e.color:this._color,[l,n,a,i]=s;if(o._is_hidden_by_aggregate_depth)t.style.backgroundColor="",t.style.color="";else if(e?.string_color_mode==="foreground"&&o.user!==null)t.style.color=l,t.style.backgroundColor="",e?.format==="link"&&t.children[0]&&(t.children[0].style.color=l);else if(e?.string_color_mode==="background"&&o.user!==null){let d=this._plugin_background,p=H(O([n,a,i,1],d));t.style.color=p,t.style.backgroundColor=l}else if(e?.string_color_mode==="series"&&o.user!==null&&r){this._series_color_map.has(r)||(this._series_color_map.set(r,new Map),this._series_color_seed.set(r,0));let d=this._series_color_map.get(r);if(o.user&&!d.has(o.user)){let k=this._series_color_seed.get(r)??0;d.set(o.user,k),this._series_color_seed.set(r,k+1)}let p=d.get(o.user)??0,[c,m,u]=Ie(l).hsl();c=c+p*150%360;let g=Ie(c,m,u,"hsl"),[b,f,h]=g.rgb(),w=g.hex(),y=this._plugin_background,x=H(O([b,f,h,1],y));t.style.color=x,t.style.backgroundColor=w}else t.style.backgroundColor="",t.style.color=""}function Fe(e,t,o){let r=this._color,[s,l,n,a]=r;if(o._is_hidden_by_aggregate_depth)t.style.backgroundColor="",t.style.color="";else if(e?.datetime_color_mode==="foreground"&&o.user!==null)t.style.color=s,t.style.backgroundColor="";else if(e?.datetime_color_mode==="background"&&o.user!==null){let i=this._plugin_background,d=H(O([l,n,a,1],i));t.style.color=d,t.style.backgroundColor=s}else t.style.backgroundColor="",t.style.color=""}function Ue(e,t,o){if(o._is_hidden_by_aggregate_depth)t.style.backgroundColor="",t.style.color="";else{let[r]=o.user===!0?this._pos_fg_color:o.user===!1?this._neg_fg_color:["",0,0,0,""];t.style.backgroundColor="",t.style.color=r}}function je(e,t,o){let r=o.value!==void 0&&o.value!==null&&o.value?.toString()?.trim().length>0,s=(o.row_header_x??0)>=this._config.group_by.length,l=e.getMeta({dx:0,dy:(o.y??0)-(o.y0??0)+1}),n=l&&l.row_header&&typeof l.row_header[(o.row_header_x??0)+1]<"u";t.classList.toggle("psp-tree-label",r&&!s),t.classList.toggle("psp-tree-label-expand",r&&!s&&!n),t.classList.toggle("psp-tree-label-collapse",r&&!s&&n),t.classList.toggle("psp-tree-leaf",r&&s)}function Ge(e,t,o,r,s,l,n,a,i){let d=n.has(l),p=n.get(l);l.classList.toggle("flat-group-rollup-mode",this._config.group_rollup_mode==="flat");for(let{element:c,metadata:m,isHeader:u}of e){let g=m.column_header?.[this._config.split_by.length],b=V(this,m),f=g?t[g.toString()]:void 0,h=b==="integer"||b==="float";m._is_hidden_by_aggregate_depth=(y=>y===0||y===void 0?!1:y-1<Math.min(this._config.group_by.length,f?.aggregate_depth||0))(m.row_header?.filter(y=>y!==void 0)?.length),h?ze.call(this,f,c,m,o):b==="boolean"?Ue.call(this,f,c,m):b==="string"?We.call(this,f,c,m):b==="date"||b==="datetime"?Fe.call(this,f,c,m):(c.style.backgroundColor="",c.style.color=""),c.classList.toggle("psp-bool-type",b==="boolean"&&m.user!==null),c.classList.toggle("psp-null",m.value===null),c.classList.toggle("psp-align-right",!u&&h),c.classList.toggle("psp-align-left",u||!h),this._column_settings_selected_column?c.classList.toggle("psp-menu-open",g===this._column_settings_selected_column):c.classList.toggle("psp-menu-open",!1),c.classList.toggle("psp-color-mode-bar",f?.number_fg_mode==="bar"&&h),u&&je.call(this,l,c,m);let w=c.parentElement;if(w&&(w.dataset.y=String(m.y)),m.type!=="row_header"||m.row_header_x===m.row_header.length-1||m.row_header[m.row_header_x+1]===void 0?(c.dataset.y=String(m.y),m.type!=="row_header"?c.dataset.x=String(m.x):delete c.dataset.x):(delete c.dataset.y,delete c.dataset.x),r)if(!d)c.classList.toggle("psp-row-selected",!1),c.classList.toggle("psp-row-subselected",!1);else{let y=this._ids[(m.y??0)-(m.y0??0)],x=p.reduce((A,v,R)=>A&&v===y[R],!0),k=p;u&&m.type==="row_header"&&m.row_header_x!==void 0&&y[m.row_header_x]?(c.classList.toggle("psp-row-selected",!1),c.classList.toggle("psp-row-subselected",!1)):(c.classList.toggle("psp-row-selected",y.length===k.length&&x),c.classList.toggle("psp-row-subselected",y.length!==k.length&&x))}if(!u&&m.type==="body")if(s&&this._is_editable[m.x]){let x=m.column_header?.[this._config.split_by.length]?.toString();x&&b==="string"&&t[x]?.format==="link"?(c.toggleAttribute("contenteditable",!1),c.classList.toggle("boolean-editable",!1)):b==="boolean"?(c.toggleAttribute("contenteditable",!1),c.classList.toggle("boolean-editable",m.user!==null)):(s!==c.hasAttribute("contenteditable")&&c.toggleAttribute("contenteditable",s),c.classList.toggle("boolean-editable",!1))}else c.toggleAttribute("contenteditable",!1),c.classList.toggle("boolean-editable",!1)}}function $e(e,t,o=!1){let r=e._config.group_by.length===0&&e._config.split_by.length===0,s=t.hasAttribute("selectable"),l=t.children[0],n=o||l?.dataset?.editMode==="EDIT";return r&&!s&&n}function Be(e,t,o){return function(s,l){let n=s[C]||{},a=l.hasAttribute("settings"),i=l.hasAttribute("selectable"),d=$e(this,l),p=$e(this,l,!0);e.classList.toggle("edit-mode-allowed",p);let c=[],m=[],u=s.children[0]?.children[1];if(u)for(let b of u.children)for(let f of b.children){let h=s.getMeta(f);if(h){let w=f.tagName==="TH";c.push({element:f,metadata:h,isHeader:w})}}let g=s.children[0]?.children[0];if(g)for(let b of g.children){let f={row:b,cells:[]};for(let h of b.children){let w=s.getMeta(h);f.cells.push({element:h,metadata:w})}m.push(f)}this._applyBodyCellStyles(c,n,a,i,d,s,t,o,l),this._applyGroupHeaderStyles(m,s),this._applyColumnHeaderStyles(m,s,l),this._applyFocusStyle(c,s,o)}}function Ye(e){e._applyBodyCellStyles=Ge,e._applyGroupHeaderStyles=Ne,e._applyColumnHeaderStyles=Ae,e._applyFocusStyle=Ee,e._styleColumnHeaderRow=be}async function Ke(e){let t=this.parentElement,o=await t.getTable();if(this._initialized)await q.call(this,this.regular_table,o,e,this.model);else{if(this.innerHTML="",this.shadowRoot?this.shadowRoot.appendChild(this.regular_table):this.appendChild(this.regular_table),this.model=await q.call(this,this.regular_table,o,e),!this.model)return;He(this,this.regular_table,{className:"psp-select-region"});let r=new WeakMap,s=new WeakMap;Ye(this.model),this.regular_table.addStyleListener(Be(this,r,s).bind(this.model,this.regular_table,t)),this.regular_table.addEventListener("click",we.bind(this.model,this.regular_table)),this.regular_table.addEventListener("mousedown",De.bind(this.model,this.regular_table,t,r)),this.regular_table.addEventListener("psp-deselect-all",Pe.bind(this.model,this.regular_table,t,r)),this.regular_table.addEventListener("click",Oe.bind(this.model,this.regular_table,t)),this.regular_table.addEventListener("mousedown",ve.bind(this.model,this.regular_table,t)),this.regular_table.addEventListener("click",Te.bind(this.model,this.regular_table,t)),this.regular_table.addEventListener("focusin",Le.bind(this.model,this.regular_table,t,s)),this.regular_table.addEventListener("focusout",Re.bind(this.model,this.regular_table,t,s)),this.regular_table.addEventListener("keydown",Se.bind(this.model,this.regular_table,t,s)),t.addEventListener("perspective-toggle-column-settings",l=>{let n=l;if(this.isConnected){if(_e.call(this.model,this.regular_table,t,n.detail.column_name??void 0),!n.detail.open){this.model._column_settings_selected_column=void 0;return}this.model._column_settings_selected_column=n.detail.column_name??void 0}}),this._initialized=!0}}function qe(e,t){e=JSON.parse(JSON.stringify(e)),t=JSON.parse(JSON.stringify(t));let o={};if(e.columns)for(let[l,n]of Object.entries(e.columns))n.column_size_override!==void 0&&(o[l]=n.column_size_override,delete n.column_size_override);let r={};if(t)for(let[l,n]of Object.entries(t))r[l]={...n,pos_fg_color:n.pos_fg_color?S(n.pos_fg_color):void 0,neg_fg_color:n.neg_fg_color?S(n.neg_fg_color):void 0,pos_bg_color:n.pos_bg_color?S(n.pos_bg_color):void 0,neg_bg_color:n.neg_bg_color?S(n.neg_bg_color):void 0,color:n.color?S(n.color):void 0};"edit_mode"in e&&e.edit_mode&&(W.indexOf(e.edit_mode)!==-1?F.call(this,e.edit_mode):console.error("Unknown edit mode "+e.edit_mode)),"scroll_lock"in e&&U.call(this,e.scroll_lock);let s=this.regular_table;j.call(this,o,!0),s[C]=r}function Je(){if(this.regular_table){let e={columns:{},scroll_lock:!!this._is_scroll_lock,edit_mode:this._edit_mode},t=G.call(this);for(let o of Object.keys(t||{}))e.columns?.[o]||(e.columns=e.columns||{},e.columns[o]={}),e.columns[o].column_size_override=t[o];return JSON.parse(JSON.stringify(e))}return{}}async function Ze(e){if(this.parentElement&&await this.activate(e),!this.isConnected||this.offsetParent==null||!this.model)return;let t=G.call(this),o=this.regular_table.draw({invalid_columns:!0});this._reset_scroll_top&&(this.regular_table.scrollTop=0,this._reset_scroll_top=!1),this._reset_scroll_left&&(this.regular_table.scrollLeft=0,this._reset_scroll_left=!1),this._reset_select&&(this.regular_table.dispatchEvent(new CustomEvent("psp-deselect-all",{bubbles:!1})),this._reset_select=!1),this._reset_column_size&&(this.regular_table.resetAutoSize(),this._reset_column_size=!1),j.call(this,t),await o,this._toolbar?.classList.toggle("aggregated",this.model._config.group_by.length>0||this.model._config.split_by.length>0)}function le(e,t){return e==="integer"||e==="float"?{datagrid_number_style:{fg_gradient:0,pos_fg_color:this.model._pos_fg_color[0],neg_fg_color:this.model._neg_fg_color[0],number_fg_mode:"color",bg_gradient:0,pos_bg_color:this.model._pos_bg_color[0],neg_bg_color:this.model._neg_bg_color[0],number_bg_mode:"disabled"},number_string_format:!0}:e==="date"||e==="datetime"||e==="string"?{[e==="date"||e==="datetime"?"datagrid_datetime_style":"datagrid_string_style"]:{color:this.model._color[0],bg_color:this.model._color[0]}}:null}var Xe='regular-table{padding:0;margin:12px 0 0 12px;font-family:inherit;--rt-hover--border-color:var(--inactive--color,#c5c9d080);}regular-table div[tabindex]{outline:none;}regular-table>div{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;}regular-table th{text-align:center;}regular-table thead tr:not(.rt-autosize) th{overflow:hidden;max-width:0px;}regular-table thead tr:last-child .rt-float,regular-table tbody .rt-float{text-align:right;}regular-table thead .rt-integer,regular-table tbody .rt-integer{text-align:right;}regular-table tbody th{text-align:left;}regular-table span.rt-tree-container{display:flex;align-items:center;height:100%;}regular-table thead .rt-string,regular-table tbody .rt-string,regular-table thead .rt-date,regular-table tbody .rt-date,regular-table thead .rt-datetime,regular-table tbody .rt-datetime{text-align:left;}regular-table thead tr:last-child th{border-bottom:1px solid#8b868045;}regular-table tbody tr:first-child td,regular-table tbody tr:first-child th{border-top:1px solid transparent!important;}regular-table th{position:relative;}regular-table tr th span.rt-tree-group{margin-left:5px;margin-right:15px;border-left:1px solid#eee;height:100%;}regular-table td,regular-table th{white-space:nowrap;font-size:12px;padding-right:5px;padding-left:5px;padding-top:0px;padding-bottom:0px;height:19px;}regular-table table *{box-sizing:border-box;}regular-table table{position:absolute;color:#666;outline:none;}regular-table span.rt-row-header-icon{color:#aaa;padding-right:4px;font-family:var(--button--font-family);}regular-table span.rt-column-header-icon{font-size:10px;padding-left:3px;display:inline-block;width:10px;font-family:var(--button--font-family);}regular-table span.rt-row-header-icon:hover{color:#1a7da1;text-shadow:0px 0px 3px#1a7da1;}regular-table .rt-selected td{background-color:#eee;}regular-table .rt-cell-clip{overflow:hidden;text-overflow:ellipsis;}regular-table td span.rt-group-name,regular-table th span.rt-group-name{margin-right:-5px;padding-right:5px;padding-left:8px;flex:1;height:100%;}regular-table th span.rt-group-name{text-align:left;}regular-table td th span.rt-group-leaf,regular-table th span.rt-group-leaf{margin-left:16px;height:100%;}regular-table .rt-column-resize{height:100%;width:10px;position:absolute;top:0;right:0;cursor:col-resize;}regular-table a{color:var(--rt-pos-cell--color);}regular-table a:visited{color:var(--active--color);}regular-table td.psp-null:after,regular-table th.psp-null:after{content:var(--null--content,"-");}.psp-header-border:not(.psp-is-top):not(.psp-header-leaf){box-shadow:1px 0px var(--inactive--border-color,#8b868045);}.psp-header-group{box-shadow:0px 10px 0 -9px var(--inactive--border-color,#8b868045);}.psp-is-top{box-shadow:5px 4px 0px -4px var(--inactive--border-color,#8b868045);}.psp-is-top.psp-header-group:not(.psp-header-group-corner){box-shadow:5px 4px 0px -4px var(--inactive--border-color,#8b868045),0px 10px 0 -9px var(--inactive--border-color,#8b868045);}.psp-header-border.psp-header-group:not(.psp-is-top):not(.psp-header-group-corner){box-shadow:1px 0px var(--inactive--border-color,#8b868045),0px 10px 0 -9px var(--inactive--border-color,#8b868045);}perspective-viewer[settings] tr.rt-autosize .psp-header-leaf.psp-header-border:not(.psp-menu-enabled){box-shadow:1px 0px var(--inactive--border-color,#8b868045);}:host-context(perspective-viewer[settings]) tr.rt-autosize .psp-header-leaf.psp-header-border:not(.psp-menu-enabled){box-shadow:1px 0px var(--inactive--border-color,#8b868045);}.psp-header-leaf.psp-header-border{box-shadow:5px -4px 0px -4px var(--inactive--border-color,#8b868045);}tr:only-child th{box-shadow:none!important;}regular-table tbody tr:hover th.psp-tree-leaf:not(.psp-row-selected):not(.psp-row-subselected),regular-table tbody tr:hover th.psp-tree-label:not(.psp-row-selected):not(.psp-row-subselected),regular-table tbody tr:hover td:not(.psp-row-selected):not(.psp-row-subselected),regular-table tbody tr:hover:after{border-color:var(--rt-hover--border-color,#c5c9d080)!important;box-shadow:0px 1px 0px var(--rt-hover--border-color,#c5c9d080);}regular-table tbody tr:hover th.psp-tree-leaf.psp-menu-open:not(.psp-row-selected):not(.psp-row-subselected),regular-table tbody tr:hover th.psp-tree-label.psp-menu-open:not(.psp-row-selected):not(.psp-row-subselected),regular-table tbody tr:hover td.psp-menu-open:not(.psp-row-selected):not(.psp-row-subselected),regular-table tbody tr.psp-menu-open:hover:after{box-shadow:inset -2px 0px 0px var(--icon--color),inset 2px 0px 0px var(--icon--color),0px 1px 0px var(--rt-hover--border-color,#c5c9d080);}regular-table tbody tr:last-child:hover td.psp-menu-open:not(.psp-row-selected):not(.psp-row-subselected){box-shadow:inset -2px 0px 0px var(--icon--color),inset 2px 0px 0px var(--icon--color),inset 0px -2px 0px var(--icon--color),0px 1px 0px var(--rt-hover--border-color,#c5c9d080);}regular-table tbody tr:hover+tr th.psp-tree-leaf:not(.psp-row-selected):not(.psp-row-subselected),regular-table tbody tr:hover+tr th.psp-tree-label:not(.psp-row-selected):not(.psp-row-subselected),regular-table tbody tr:hover+tr td:not(.psp-row-selected):not(.psp-row-subselected){border-top-color:transparent;}regular-table tbody tr th:first-child:not(:empty),regular-table tbody tr th:first-child:empty+th:not(:empty),regular-table tbody tr th:first-child:empty~th:empty+th:not(:empty),regular-table tbody tr td:first-child{border-left-width:1px;border-left-color:transparent;}regular-table tbody tr th:last-child,regular-table tbody tr td:last-child{border-right-width:0px;border-right-color:transparent;}regular-table tbody tr:hover{color:inherit;}regular-table tbody tr:hover th:first-child:not(:empty),regular-table tbody tr:hover th:first-child:empty+th:not(:empty),regular-table tbody tr:hover th:first-child:empty~th:empty+th:not(:empty),regular-table tbody tr:hover td:first-child{border-left-color:var(--rt-hover--border-color,#c5c9d080)!important;}regular-table tbody tr:hover th:last-child,regular-table tbody tr:hover td:last-child{border-right-color:var(--rt-hover--border-color,#c5c9d080)!important;}perspective-viewer-datagrid:not(.sub-cell-scroll-disabled) regular-table table tbody td,perspective-viewer-datagrid:not(.sub-cell-scroll-disabled) regular-table table thead th:not(.rt-group-corner),:host(:not(.sub-cell-scroll-disabled)) regular-table table tbody td,:host(:not(.sub-cell-scroll-disabled)) regular-table table thead th:not(.rt-group-corner){transform:translate(var(--regular-table--transform-x,0px));}perspective-viewer-datagrid:not(.sub-cell-scroll-disabled) regular-table table tbody,:host(:not(.sub-cell-scroll-disabled)) regular-table table tbody{transform:translate(0,var(--regular-table--transform-y,0px));}perspective-viewer-datagrid:not(.sub-cell-scroll-disabled) regular-table table tbody tr:first-child td,perspective-viewer-datagrid:not(.sub-cell-scroll-disabled) regular-table table tbody tr:first-child th,perspective-viewer-datagrid:not(.sub-cell-scroll-disabled) regular-table table tbody tr:first-child:after,:host(:not(.sub-cell-scroll-disabled)) regular-table table tbody tr:first-child td,:host(:not(.sub-cell-scroll-disabled)) regular-table table tbody tr:first-child th,:host(:not(.sub-cell-scroll-disabled)) regular-table table tbody tr:first-child:after{clip-path:polygon(0 var(--regular-table--clip-y,0),0 200%,200% 200%,200% var(--regular-table--clip-y,0));}perspective-viewer-datagrid:not(.sub-cell-scroll-disabled) regular-table table tbody tr td:first-of-type,:host(:not(.sub-cell-scroll-disabled)) regular-table table tbody tr td:first-of-type{clip-path:polygon(var(--regular-table--clip-x,0) 0,var(--regular-table--clip-x,0) 200%,200% 200%,200% 0);}perspective-viewer-datagrid:not(.sub-cell-scroll-disabled) regular-table table tbody tr:first-child td:first-of-type,:host(:not(.sub-cell-scroll-disabled)) regular-table table tbody tr:first-child td:first-of-type{clip-path:polygon(var(--regular-table--clip-x,0) var(--regular-table--clip-y,0),var(--regular-table--clip-x,0) 200%,200% 200%,200% var(--regular-table--clip-y,0));}perspective-viewer-datagrid:not(.sub-cell-scroll-disabled) regular-table table thead tr:last-child:after,:host(:not(.sub-cell-scroll-disabled)) regular-table table thead tr:last-child:after{transform:translate(var(--regular-table--transform-x,0px));}perspective-viewer-datagrid:not(.sub-cell-scroll-disabled) regular-table table tbody tr:not(:first-child):after,:host(:not(.sub-cell-scroll-disabled)) regular-table table tbody tr:not(:first-child):after{transform:translate(var(--regular-table--transform-x,0px));}perspective-viewer-datagrid:not(.sub-cell-scroll-disabled) regular-table table tbody tr:hover:first-child:after,:host(:not(.sub-cell-scroll-disabled)) regular-table table tbody tr:hover:first-child:after{clip-path:polygon(0 var(--regular-table--clip-y,0),0 200%,200% 200%,200% var(--regular-table--clip-y,0));}perspective-viewer-datagrid:not(.sub-cell-scroll-disabled) regular-table table thead tr th.rt-group-corner+th:not(.rt-group-corner),:host(:not(.sub-cell-scroll-disabled)) regular-table table thead tr th.rt-group-corner+th:not(.rt-group-corner){clip-path:polygon(var(--regular-table--clip-x,0) 0,var(--regular-table--clip-x,0) 200%,200% 200%,200% 0);}regular-table{outline:none;}regular-table::-webkit-scrollbar,regular-table::-webkit-scrollbar-corner{background-color:transparent;height:12px;width:12px;}regular-table::-webkit-scrollbar-thumb{background-clip:content-box;background:var(--icon--color);border:5.5px solid var(--plugin--background);max-height:50%;max-width:50%;min-width:10%;min-height:10%;}perspective-viewer .psp-menu-enabled{padding:0 6px;font-size:8px;border-radius:3px 3px 0 0;}perspective-viewer .psp-menu-enabled:hover,perspective-viewer tr:not(.rt-autosize) th.psp-menu-open{color:var(--plugin--background);background-color:var(--icon--color);border-bottom-color:var(--icon--color);cursor:pointer;}perspective-viewer tr:not(.rt-autosize) th.psp-menu-open:before{background-repeat:no-repeat;background-color:var(--icon--color);content:"";display:inline-block;-webkit-mask-size:cover;mask-size:cover;height:8px;width:10px;-webkit-mask-image:var(--column-settings-icon--mask-image);mask-image:var(--column-settings-icon--mask-image);margin-right:4px;background-color:var(--plugin--background);}perspective-viewer td.psp-menu-open{box-shadow:inset -2px 0px 0px var(--icon--color),inset 2px 0px 0px var(--icon--color);}perspective-viewer tr:first-child td.psp-menu-open{border-top-color:var(--icon--color)!important;}perspective-viewer tr:last-child td.psp-menu-open{box-shadow:inset -2px 0px 0px var(--icon--color),inset 2px 0px 0px var(--icon--color),inset 0px -2px 0px var(--icon--color);}:host .psp-menu-enabled{padding:0 6px;font-size:8px;border-radius:3px 3px 0 0;}:host .psp-menu-enabled:hover,:host tr:not(.rt-autosize) th.psp-menu-open{color:var(--plugin--background);background-color:var(--icon--color);border-bottom-color:var(--icon--color);cursor:pointer;}:host tr:not(.rt-autosize) th.psp-menu-open:before{background-repeat:no-repeat;background-color:var(--icon--color);content:"";display:inline-block;-webkit-mask-size:cover;mask-size:cover;height:8px;width:10px;-webkit-mask-image:var(--column-settings-icon--mask-image);mask-image:var(--column-settings-icon--mask-image);margin-right:4px;background-color:var(--plugin--background);}:host td.psp-menu-open{box-shadow:inset -2px 0px 0px var(--icon--color),inset 2px 0px 0px var(--icon--color);}:host tr:first-child td.psp-menu-open{border-top-color:var(--icon--color)!important;}:host tr:last-child td.psp-menu-open{box-shadow:inset -2px 0px 0px var(--icon--color),inset 2px 0px 0px var(--icon--color),inset 0px -2px 0px var(--icon--color);}perspective-viewer regular-table table thead tr:last-child th{border-bottom-width:1px;border-bottom-color:var(--inactive--border-color,#8b868045);}:host-context(perspective-viewer) regular-table table thead tr:last-child th{border-bottom-width:1px;border-bottom-color:var(--inactive--border-color,#8b868045);}.psp-sort-enabled:hover{cursor:pointer;}.psp-row-selected,:hover .psp-row-selected,:hover th.psp-tree-leaf.psp-row-selected,:hover th.psp-tree-label.psp-row-selected{color:white!important;background-color:var(--selected-row--background-color,#ea7319)!important;border-color:var(--selected-row--background-color,#ea7319)!important;}regular-table.flat-group-rollup-mode.vertical-row-headers th.psp-tree-label:not(:last-of-type){writing-mode:vertical-lr;}.psp-row-selected.psp-tree-label:not(:hover):before{color:white;}regular-table:not(.flat-group-rollup-mode) .psp-row-selected.psp-tree-label:not(:hover):before{color:white;}.psp-row-subselected,:hover .psp-row-subselected,:hover th.psp-tree-leaf.psp-row-subselected,:hover th.psp-tree-label.psp-row-subselected{background:rgba(234,115,25,0.2)!important;}.psp-error{color:red;}td:focus{outline:#666;outline-style:dotted;outline-width:1px;}perspective-viewer.dragging regular-table{pointer-events:none;}:host-context(perspective-viewer.dragging) regular-table{pointer-events:none;}.psp-header-border:last-child{border-right-width:0px;}.psp-header-sort-desc:after{background-repeat:no-repeat;background-color:var(--icon--color);content:"";display:inline-block;-webkit-mask-size:cover;mask-size:cover;width:14px;height:11px;margin-left:4px;-webkit-mask-image:var(--sort-desc-icon--mask-image);mask-image:var(--sort-desc-icon--mask-image);}.psp-header-sort-asc:after{background-repeat:no-repeat;background-color:var(--icon--color);content:"";display:inline-block;-webkit-mask-size:cover;mask-size:cover;width:14px;height:11px;margin-left:4px;-webkit-mask-image:var(--sort-asc-icon--mask-image);mask-image:var(--sort-asc-icon--mask-image);}.psp-header-sort-col-desc:after{background-repeat:no-repeat;background-color:var(--icon--color);content:"";display:inline-block;-webkit-mask-size:cover;mask-size:cover;width:14px;height:11px;margin-left:4px;-webkit-mask-image:var(--sort-col-desc-icon--mask-image);mask-image:var(--sort-col-desc-icon--mask-image);}.psp-header-sort-col-asc:after{background-repeat:no-repeat;background-color:var(--icon--color);content:"";display:inline-block;-webkit-mask-size:cover;mask-size:cover;width:14px;height:11px;margin-left:4px;-webkit-mask-image:var(--sort-col-asc-icon--mask-image);mask-image:var(--sort-col-asc-icon--mask-image);}.psp-header-sort-abs-desc:after{background-repeat:no-repeat;background-color:var(--icon--color);content:"";display:inline-block;-webkit-mask-size:cover;mask-size:cover;width:14px;height:11px;margin-left:4px;-webkit-mask-image:var(--sort-abs-desc-icon--mask-image);mask-image:var(--sort-abs-desc-icon--mask-image);}.psp-header-sort-abs-asc:after{background-repeat:no-repeat;background-color:var(--icon--color);content:"";display:inline-block;-webkit-mask-size:cover;mask-size:cover;width:14px;height:11px;margin-left:4px;-webkit-mask-image:var(--sort-abs-asc-icon--mask-image);mask-image:var(--sort-abs-asc-icon--mask-image);}.psp-header-sort-abs-col-desc:after{background-repeat:no-repeat;background-color:var(--icon--color);content:"";display:inline-block;-webkit-mask-size:cover;mask-size:cover;width:14px;height:11px;margin-left:4px;-webkit-mask-image:var(--sort-abs-col-desc-icon--mask-image);mask-image:var(--sort-abs-col-desc-icon--mask-image);}.psp-header-sort-abs-col-asc:after{background-repeat:no-repeat;background-color:var(--icon--color);content:"";display:inline-block;-webkit-mask-size:cover;mask-size:cover;width:14px;height:11px;margin-left:4px;-webkit-mask-image:var(--sort-abs-col-asc-icon--mask-image);mask-image:var(--sort-abs-col-asc-icon--mask-image);}tbody th:last-of-type{border-right:1px solid var(--inactive--border-color,#8b868045);overflow:hidden;text-overflow:ellipsis;}tbody th:empty{background-image:linear-gradient(to right,transparent 9px,var(--inactive--border-color,#eee) 10px,transparent 11px);background-repeat:no-repeat;min-width:20px;max-width:20px;pointer-events:none;}regular-table:not(.flat-group-rollup-mode) .psp-tree-label{max-width:0px;min-width:0px;}regular-table:not(.flat-group-rollup-mode) .psp-tree-label:before{color:var(--icon--color);font-family:var(--button--font-family,inherit);padding-right:11px;}regular-table:not(.flat-group-rollup-mode) .psp-tree-label-expand:before{content:var(--tree-label-expand--content,"+");}regular-table:not(.flat-group-rollup-mode) .psp-tree-label-collapse:before{content:var(--tree-label-collapse--content,"-");}regular-table:not(.flat-group-rollup-mode) .psp-tree-label-expand,regular-table:not(.flat-group-rollup-mode) .psp-tree-label-collapse{cursor:pointer;}regular-table:not(.flat-group-rollup-mode) .psp-tree-label:hover:before{color:var(--active--color);text-shadow:0px 0px 5px var(--active--color);}.psp-tree-leaf{padding-left:24px;}.psp-align-right{text-align:right;}.psp-align-left{text-align:left;}.psp-positive:not(:focus){color:var(--rt-pos-cell--color);}.psp-negative:not(:focus){color:var(--rt-neg-cell--color);}regular-table table tbody td{min-width:52px!important;}.psp-is-width-override .rt-column-resize,.rt-column-resize:hover{border:1px dashed#999;border-bottom-width:0px;border-left-width:0px;}.boolean-editable{cursor:pointer;}regular-table table{user-select:none;color:inherit;border-collapse:separate;}regular-table table th{font-weight:400;}regular-table table td,regular-table table th{border-color:var(--inactive--border-color,#8b868045);height:23px;}regular-table table .psp-header-group{text-overflow:ellipsis;}regular-table table th.psp-header-leaf{border-bottom-width:0px;}regular-table table th.psp-header-leaf span{height:23px;min-height:23px;}regular-table table td,regular-table table th.psp-tree-label,regular-table table th.psp-tree-label,regular-table table th.psp-tree-leaf,regular-table table tbody tr:first-child th{border-style:solid;border-width:0px;border-top-width:1px;}regular-table table tbody th:empty{background-position:0px -10px;}regular-table table td.psp-select-region,regular-table table th.psp-select-region{background-color:var(--icon--color)!important;color:var(--plugin--background)!important;border-color:var(--plugin--background)!important;}regular-table tbody tr:hover td.psp-select-region:not(.psp-row-selected):not(.psp-row-subselected),regular-table tbody tr:hover+tr td.psp-select-region:not(.psp-row-selected):not(.psp-row-subselected){border-color:var(--plugin--background)!important;}regular-table tbody tr:hover td.psp-select-region.psp-menu-open:not(.psp-row-selected):not(.psp-row-subselected){box-shadow:inset -2px 0px 0px var(--plugin--background),inset 2px 0px 0px var(--plugin--background);}:host-context(perspective-viewer[settings]) td.psp-select-region.psp-menu-open{box-shadow:inset -2px 0px 0px var(--plugin--background),inset 2px 0px 0px var(--plugin--background);}regular-table #psp-column-edit-buttons th:not(.rt-group-corner) span:not(.rt-column-resize):before{content:var(--datagrid-column-edit-button--content,"Edit");}perspective-viewer:not([settings]) regular-table #psp-column-edit-buttons:after{content:none;}:host-context(perspective-viewer:not([settings])) regular-table #psp-column-edit-buttons:after{content:none;}regular-table table thead tr:last-child:after{width:10000px;box-sizing:border-box;display:block;height:23px;content:" ";border-bottom:1px solid var(--inactive--border-color);}regular-table table tbody tr:after{width:10000px;box-sizing:border-box;display:block;height:23px;content:" ";border-top:1px solid transparent;}regular-table table tbody tr:not(:first-child):after{border-top:1px solid var(--inactive--border-color);}regular-table table tbody tr:hover:not(:first-child):after{border-top:1px solid var(--rt-hover--border-color);}regular-table table tbody tr:hover+tr:after{border-top:1px solid var(--rt-hover--border-color);}@keyframes pulse_pos{0%{background-color:var(--pulse--background-color-start,rgba(0,128,255,0.5));}100%{background-color:var(--pulse--background-color-end,rgba(0,128,255,0));}}@keyframes pulse_pos2{0%{background-color:var(--pulse--background-color-start,rgba(0,128,255,0.5));}100%{background-color:var(--pulse--background-color-end,rgba(0,128,255,0));}}@keyframes pulse_neg{0%{background-color:var(--pulse--background-color-start,rgba(255,25,0,0.5));}100%{background-color:var(--pulse--background-color-end,rgba(255,25,0,0));}}@keyframes pulse_neg2{0%{background-color:var(--pulse--background-color-start,rgba(255,25,0,0.5));}100%{background-color:var(--pulse--background-color-end,rgba(255,25,0,0));}}';var Z=class e extends HTMLElement{static _global_stylesheet_installed=!1;static _sheet;static renderTarget=window.CSS?.supports&&window.CSS?.supports("selector(:host-context(foo))")?"shadow":"light";regular_table;model;_toolbar;_edit_button;_scroll_lock;_is_scroll_lock;_edit_mode;_initialized;_reset_scroll_top;_reset_scroll_left;_reset_select;_reset_column_size;constructor(){super(),this.regular_table=document.createElement("regular-table"),this.regular_table.part="regular-table",this._is_scroll_lock=!1,this._edit_mode="READ_ONLY";let t=e;t._sheet||(t._sheet=new CSSStyleSheet,t._sheet.replaceSync(Xe)),t.renderTarget==="shadow"?this.attachShadow({mode:"open"}).adoptedStyleSheets.push(t._sheet):t.renderTarget==="light"&&!t._global_stylesheet_installed&&(t._global_stylesheet_installed=!0,document.adoptedStyleSheets.push(t._sheet))}connectedCallback(){this._toolbar||(this._toolbar=document.createElement("perspective-viewer-datagrid-toolbar"));let t=this.parentElement;t&&t.appendChild(this._toolbar)}disconnectedCallback(){this._toolbar?.parentElement?.removeChild?.(this._toolbar)}async activate(t){return await Ke.call(this,t)}get name(){return"Datagrid"}get category(){return"Basic"}get select_mode(){return"toggle"}get min_config_columns(){}get config_column_names(){return["Columns"]}get group_rollups(){return["rollup","flat","total"]}get priority(){return 1}can_render_column_styles(t,o){return t!=="boolean"}column_style_controls(t,o){return le.call(this,t,o)}async draw(t){return await Ze.call(this,t)}async update(t){if(this.model===void 0)await this.draw(t);else if(this.model._config.split_by?.length>0){let o=await t.dimensions();this.model._num_rows=o.num_view_rows,await this.regular_table.draw()}else this.model._num_rows=await t.num_rows(),await this.regular_table.draw()}async render(t){let r=await this.parentElement.getView(),s=await r.to_columns(t),l=await r.column_paths(t),n=t?.end_row!==void 0&&t?.end_row!==null&&t?.start_row!==void 0&&t?.start_row!==null?t.end_row-t.start_row:await r.num_rows(),a="";for(let i=0;i<n;i++){for(let d of l){let p=s[d],c=this.model._schema[d],m=this.regular_table[C],u=d.split("|").at(-1),g=ce(c,m?.[u]||{});g?a+=g.format(p[i])+" ":a+=p[i]+" "}a+=`
2
- `}return a.trim()}async resize(){!this.isConnected||this.offsetParent==null||this._initialized&&await this.regular_table.draw()}async clear(){this.regular_table.resetAutoSize(),this.regular_table.clear()}async save(){return Je.call(this)}async restore(t,o){return qe.call(this,t,o??{})}async restyle(){this.model?._view&&await this.draw(this.model._view)}async delete(){this.disconnectedCallback(),this._toolbar=void 0,this.regular_table.table_model&&this.regular_table.resetAutoSize(),this.regular_table.clear()}};var Qe=':host{position:relative;display:block;height:100%;}:host #container{position:absolute;display:flex;flex-direction:column;justify-content:stretch;align-items:stretch;top:0;left:0;right:0;bottom:0;}:host #toolbar{display:flex;align-items:stretch;height:100%;}:host #toolbar .hover-target{margin:0;display:inline-flex;align-items:center;cursor:pointer;}:host #toolbar .hover-target:hover{box-shadow:-4px 0 0 var(--icon--color),4px 0 0 var(--icon--color);background-color:var(--icon--color);}:host #slot-container{flex:1;position:relative;}#scroll_lock.lock-scroll:before{-webkit-mask-image:var(--toolbar-scroll-lock-active--content);}#scroll_lock:before{-webkit-mask-image:var(--toolbar-scroll-lock--content);}#select_mode:before{content:"highlight_alt";}#edit_mode:before{-webkit-mask-image:"";}#edit_mode[data-edit-mode="READ_ONLY"]:before{-webkit-mask-image:var(--toolbar-edit-mode--read-only--content);}#edit_mode[data-edit-mode="EDIT"]:before{-webkit-mask-image:var(--toolbar-edit-mode--edit--content);}:host(.aggregated) #toolbar #edit_mode[data-edit-mode="EDIT"]:before{-webkit-mask-image:var(--toolbar-edit-mode--read-only--content);}#edit_mode[data-edit-mode="SELECT_ROW"]:before{-webkit-mask-image:var(--toolbar-edit-mode--select-row--content);}#edit_mode[data-edit-mode="SELECT_COLUMN"]:before{-webkit-mask-image:var(--toolbar-edit-mode--select-column--content);}#edit_mode[data-edit-mode="SELECT_REGION"]:before{-webkit-mask-image:var(--toolbar-edit-mode--select-region--content);}#edit_mode[data-edit-mode="READ_ONLY"] span:before{content:var(--edit-mode--read-only--content,"Read Only");}#edit_mode[data-edit-mode="EDIT"] span:before{content:var(--edit-mode--edit--content,"Editable");}#edit_mode[data-edit-mode="SELECT_ROW"] span:before{content:var(--edit-mode--select-row--content,"Row Select");}#edit_mode[data-edit-mode="SELECT_COLUMN"] span:before{content:var(--edit-mode--select-column--content,"Column Select");}#edit_mode[data-edit-mode="SELECT_REGION"] span:before{content:var(--edit-mode--select-region--content,"Region Select");}#scroll_lock span:before{content:var(--scroll-lock-toggle--content,"Free Scroll");}#scroll_lock.lock-scroll span:before{content:var(--scroll-lock-alt-toggle--content,"Align Scroll");}.button:before{width:21px;height:21px;content:"";-webkit-mask-size:cover;mask-size:cover;background-color:var(--icon--color);}.button.editable:before,.button.lock-scroll:before{color:inherit;}.button{display:inline-flex;justify-content:center;align-items:center;user-select:none;padding:0 5px;border:1px solid transparent;border-radius:3px;border:1px solid transparent;box-sizing:border-box;display:inline-flex;font-size:var(--label--font-size,0.75em);height:22px;user-select:none;white-space:nowrap;width:37px;}.button>span{display:none;margin:0;padding:0;}.hover-target:focus-within .button,.hover-target:hover .button{position:relative;background-color:var(--icon--color);color:var(--plugin--background);opacity:1;display:flex;align-items:center;cursor:pointer;}.hover-target:focus-within .button:before,.hover-target:hover .button:before{background-color:var(--plugin--background);}.hover-target:focus-within .button>span,.hover-target:hover .button>span{display:block;position:absolute;top:calc(100% + 3px);left:50%;translate:-50%;margin:0;padding:5px;height:auto;white-space:pre-wrap;line-height:1;font-size:9px;background-color:var(--icon--color);width:35px;text-align:center;border-radius:0 0 3px 3px;}';var et=new CSSStyleSheet;et.replaceSync(Qe);var X=class extends HTMLElement{_initialized=!1;connectedCallback(){if(this._initialized)return;this._initialized=!0,this.setAttribute("slot","statusbar-extra"),this.attachShadow({mode:"open"}),this.shadowRoot.adoptedStyleSheets.push(et),this.shadowRoot.innerHTML=`
1
+ import"regular-table";import{PerspectiveSelectDetail as Q}from"@perspective-dev/viewer";function V(e,t){return t.type==="body"||t.type==="column_header"||t.type==="corner"?e._column_types[t.x]:e._row_header_types[(t.row_header_x??0)-1]}var C=Symbol("Perspective Column Config");import st from"chroma-js";var ee=class{format(t){return t?"true":"false"}},tt={float:{format:{style:"decimal",minimumFractionDigits:2,maximumFractionDigits:2}},datetime:{format:{dateStyle:"short",timeStyle:"medium"}},date:{format:{dateStyle:"short"}}},Y=class{_formatters;constructor(){this._formatters=new Map}create_datetime_formatter(t,o){if(o.date_format?.format!=="custom"){let r={timeZone:o.date_format?.timeZone,dateStyle:o.date_format?.dateStyle==="disabled"?void 0:o.date_format?.dateStyle??"short",timeStyle:o.date_format?.timeStyle==="disabled"?void 0:o.date_format?.timeStyle??"medium"};return new Intl.DateTimeFormat(navigator.languages,r)}else{let r={timeZone:o.date_format?.timeZone,hour12:o.date_format?.hour12??!0,fractionalSecondDigits:o.date_format?.fractionalSecondDigits};return o.date_format?.year!=="disabled"&&(r.year=o.date_format?.year??"2-digit"),o.date_format?.month!=="disabled"&&(r.month=o.date_format?.month??"numeric"),o.date_format?.day!=="disabled"&&(r.day=o.date_format?.day??"numeric"),o.date_format?.weekday&&o.date_format?.weekday!=="disabled"&&(r.weekday=o.date_format.weekday),o.date_format?.hour!=="disabled"&&(r.hour=o.date_format?.hour??"numeric"),o.date_format?.minute!=="disabled"&&(r.minute=o.date_format?.minute??"numeric"),o.date_format?.second!=="disabled"&&(r.second=o.date_format?.second??"numeric"),new Intl.DateTimeFormat(navigator.languages,r)}}create_date_formatter(t,o){let r={timeZone:"utc",dateStyle:o.date_format?.dateStyle==="disabled"?void 0:o.date_format?.dateStyle??"short"};return new Intl.DateTimeFormat(navigator.languages,r)}create_number_formatter(t,o){let r=o.number_format??tt[t]?.format;return new Intl.NumberFormat(navigator.languages,r)}create_boolean_formatter(t,o){return new ee}get(t,o){let r=[t,...Object.values(o.date_format??{}),...Object.values(o.number_format??{})].join("-");return this._formatters.has(r)||(t==="date"?this._formatters.set(r,this.create_date_formatter(t,o)):t==="datetime"?this._formatters.set(r,this.create_datetime_formatter(t,o)):t==="integer"||t==="float"?this._formatters.set(r,this.create_number_formatter(t,o)):t==="boolean"?this._formatters.set(r,this.create_boolean_formatter(t,o)):this._formatters.set(r,!1)),this._formatters.get(r)}};var ae=new Y,ie=1;function ce(e,t){return ae.get(e,t)}function z(e,t,o={},r=!1){if(t===null)return null;let n=r&&this._table_schema[e]||this._schema[e]||"string",s=o[e]||{};if((n==="integer"||n==="float")&&s?.number_fg_mode==="bar"){let a=Math.max(0,Math.min(ie,Math.abs(t/s.fg_gradient)*ie)),i=this._div_factory.get(),d=t>=0?"left":"right",p=(a*100).toFixed(2);return i.setAttribute("style",`width:calc(${p}% - 4px);position:absolute;${d}:2px;height:80%;top:10%;pointer-events:none;`),i}else if(s?.format==="link"&&n==="string"){let a=document.createElement("a");return a.setAttribute("href",t),a.setAttribute("target","_blank"),a.textContent=t,a}else if(s?.format==="bold"&&n==="string"){let a=document.createElement("b");return a.textContent=t,a}else if(s?.format==="italics"&&n==="string"){let a=document.createElement("i");return a.textContent=t,a}else{let a=ae.get(n,s);return a?a.format(t):t}}function*de(e=[],t,o){let r=o[C]||{};for(let n of e){let s=["TOTAL",...n],l=s[s.length-1],a=s.slice(0,s.length-1).fill(""),i=z.call(this,t[a.length-1],l,r,!0);i instanceof HTMLElement?a=a.concat(i):a=a.concat({toString:()=>i}),a.length=t.length+1,yield a}}function*pe(e=[],t,o){let r=o[C]||{};for(let n of e)yield n.map((s,l)=>z.call(this,t[l],s,r,!0))}function*me(e=[],t,o){let r=o[C]||{};for(let n of e){let s=[""];for(let l in n)s.push(z.call(this,t[l],n[l],r,!0));yield n}}function _e(e){let t,o,r,n,s;return async function(a,i,d,p,c){let m={},_={start_row:d,start_col:i,end_row:c,end_col:p,id:!0},u=null;if(p-i>0&&c-d>0){this._is_old_viewport=this._last_window?.start_row===d&&this._last_window?.end_row===c&&this._last_window?.start_col===i&&this._last_window?.end_col===p;let[R,L]=await Promise.all([this._view.to_columns_string(_),this._view.num_columns()]);u=L,m=JSON.parse(R);let M=Object.keys(m).filter(g=>g!=="__ROW_PATH__"&&g!=="__ID__"),N=!1;for(let g=0;g<M.length;g++)this._column_paths[_.start_col+g]!==M[g]&&(N=!0,this._column_paths[_.start_col+g]=M[g]);if(N){let[g,x]=await Promise.all([this._view.schema(),this._view.expression_schema()]);this._schema={...g,...x};for(let P=0;P<M.length;P++){let le=M[P].split("|")[this._config.split_by.length];this._is_editable[P+_.start_col]=!!this._table_schema[le],this._column_types[P+_.start_col]=this._schema[le]}}this._last_window=_,this._ids=m.__ID__||Array(c-d).fill(null).map((g,x)=>[x+d]),this._reverse_columns=this._column_paths.slice(i,p).reduce((g,x,P)=>(g.set(x,P),g),new Map),this._reverse_ids=this._ids?.reduce((g,x,P)=>(g.set(x?.join("|"),P),g),new Map)}else this._div_factory.clear(),u=await this._view.num_columns();let f=[],h=[],b=[],w=[],y=e.hasAttribute("settings");for(let R=i;R<Math.min(p,this._column_paths.length);++R){let L=this._column_paths[R],D=L.split("|"),M=m[L]||new Array(c-d).fill(null),N=Math.min(a[C]?.[D[this._config.split_by.length]]?.aggregate_depth||0,this._config.group_by.length);f.push(M.map((g,x)=>(m?.__ROW_PATH__?.[x]?.length??0)<N?"":z.call(this,D[this._config.split_by.length],g,a[C]||{}))),h.push(M),y&&D.push(""),b.push(D),w.push(L)}let E=p-i>0&&c-d>0;E&&(this.last_column_paths=o,this.last_meta=t,this.last_ids=r,this.last_reverse_ids=n,this.last_reverse_columns=s,o=w,t=h,r=this._ids,n=this._reverse_ids,s=this._reverse_columns);let k=m.__ROW_PATH__!==void 0,A=this._config.group_rollup_mode==="flat",v=Array.from((k?A?pe:de:me).call(this,m.__ROW_PATH__,this._config.group_by,a)),T=E?v[0]?.length:ot(this._config);return{num_column_headers:this._config.split_by.length+(y?2:1),num_row_headers:T,num_rows:this._num_rows,num_columns:u,row_headers:v,column_headers:b,data:f,metadata:h,column_header_merge_depth:Math.max(0,this._config.split_by.length)}}}function ot(e){return e.group_rollup_mode==="flat"?e.group_by.length:e.group_rollup_mode==="total"||e.group_by.length===0?0:e.group_by.length+1}import ue from"chroma-js";function te(e,t){return ue.mix(e,`rgb(${t[0]},${t[1]},${t[2]})`,.5).hex()}function O([e,t,o,r],n=[255,255,255]){function s(l,a){return((1-r)*(n[l]/255)+r*(a/255))*255}return[s(0,e),s(1,t),s(2,o)]}function H([e,t,o]){return Math.sqrt(e*e*.299+t*t*.587+o*o*.114)>130?"#161616":"#ffffff"}function rt(e){let[t,o,r]=e.rgb(),[n,s,l]=e.set("hsl.h",(e.get("hsl.h")-15)%360).rgb(),[a,i,d]=e.set("hsl.h",(e.get("hsl.h")+15)%360).rgb();return`linear-gradient(to right top,rgb(${n},${s},${l}),rgb(${t},${o},${r}) 50%,rgb(${a},${i},${d}))`}function S(e){let t=ue(e),o=rt(t),r=t.rgb();return[e,r[0],r[1],r[2],o,`rgba(${r[0]},${r[1]},${r[2]},1)`,`rgba(${r[0]},${r[1]},${r[2]},0)`]}function K(e,t,o){let r=window.getComputedStyle(e).getPropertyValue(t).trim();return r.length>0?r:o}var oe=class{_name;_elements;_index;constructor(t){this._name=t,this._elements=[],this._index=0}clear(){this._index=0}get(){this._elements[this._index]||(this._elements[this._index]=document.createElement(this._name));let t=this._elements[this._index];return this._index+=1,t}};async function q(e,t,o,r={}){let n=await o.get_config();if(this?.model?._config){let v=this.model._config,T=v.group_by.length!==n.group_by.length,ne=(v.group_by.length===0||n.group_by.length===0)&&T;if(!T)for(let g in v.group_by)T||=n.group_by[g]!==v.group_by[g];let R=v.split_by.length!==n.split_by.length;if(!R)for(let g in v.split_by)R||=n.split_by[g]!==v.split_by[g];let L=v.columns.length!==n.columns.length;if(!L)for(let g in v.columns)L||=n.columns[g]!==v.columns[g];let D=v.filter.length!==n.filter.length;if(!D)for(let g in v.filter)for(let x in n.filter[g])D||=n.filter[g][x]!==v.filter[g][x];let M=v.sort.length!==n.sort.length;if(!M)for(let g in v.sort)for(let x in n.sort[g])M||=n.sort[g][x]!==v.sort[g][x];let N=v.group_rollup_mode!==n.group_rollup_mode;this._reset_scroll_top=T,this._reset_scroll_left=R,this._reset_select=T||R||D||M||L,this._reset_column_size=N||R||T||L||ne}let[s,l,a,i,d]=await Promise.all([t.schema(),o.num_rows(),o.schema(),o.expression_schema(),this.parentElement.getEditPort()]),p=st(K(e,"--psp--background-color","#FFFFFF")).rgb(),c=S(K(e,"--psp-datagrid--pos-cell--color","#338DCD")),m=S(K(e,"--psp-datagrid--neg-cell--color","#FF5942")),_=S(te(c[0],p)),u=S(te(m[0],p)),f=S(K(e,"--psp-active--color","#ff0000")),h={...a,...i},b={...s,...i},w=[],y=[],E=[],k=this._edit_mode||"READ_ONLY";this._edit_button.dataset.editMode=k;let A=Object.assign(r,{_edit_port:d,_view:o,_table:t,_table_schema:b,_config:n,_num_rows:l,_schema:h,_ids:[],_plugin_background:p,_color:f,_pos_fg_color:c,_neg_fg_color:m,_pos_bg_color:_,_neg_bg_color:u,_column_paths:w,_column_types:E,_is_editable:y,_edit_mode:k,_selection_state:{selected_areas:[],dirty:!1},_row_header_types:n.group_by.map(v=>b[v]),_series_color_map:new Map,_series_color_seed:new Map,_div_factory:r._div_factory||new oe("div")});return e.setDataListener(_e(this.parentElement).bind(A,e),{virtual_mode:window.getComputedStyle(e).getPropertyValue("--datagrid-virtual-mode")?.trim()||"both"}),A}var W=["READ_ONLY","EDIT","SELECT_ROW","SELECT_COLUMN","SELECT_REGION"];function F(e){typeof e>"u"&&(e=W[(W.indexOf(this._edit_mode)+1)%W.length]),this.parentElement?.setSelection?.(),this._edit_mode=e,this.model&&(this.model._edit_mode=e,this.model._selection_state={selected_areas:[],dirty:!0}),this._edit_button!==void 0&&(this._edit_button.dataset.editMode=e),this.dataset.editMode=e}function U(e){typeof e>"u"&&(e=!this._is_scroll_lock),this._is_scroll_lock=e,this.classList.toggle("sub-cell-scroll-disabled",e),this._scroll_lock!==void 0&&this._scroll_lock.classList.toggle("lock-scroll",e)}function j(e,t=!1){if(!this._initialized)return;t&&(this._cached_column_sizes=e);let o={},{group_by:r}=this.model._config,n=r?.length>0?r.length+1:0;for(let s of Object.keys(e))if(s==="__ROW_PATH__")o[n-1]=e[s];else{let l=this.model._column_paths.indexOf(s);o[l+n]=e[s]}this.regular_table.restoreColumnSizes(o)}function G(){if(!this._initialized)return{};if(this._cached_column_sizes){let n=this._cached_column_sizes;return this._cached_column_sizes=void 0,n}let e=this.regular_table.saveColumnSizes(),{group_by:t}=this.model._config,o=t?.length>0?t.length+1:0,r={};for(let n of Object.keys(e)){let s=Number(n);if(e[s]!==void 0){let l=s-o;l>-1?r[this.model._column_paths[l]]=e[s]:l===-1&&(r.__ROW_PATH__=e[s])}}return r}function ge(e,t,o){let r=Array.from(e.children[0].children[0].children),n=r.length,s=t.hasAttribute("settings");if(n<=1?r[0]?.removeAttribute("id"):r.forEach((l,a)=>{let i=s?1:0,d=a===n-(i+1)?"psp-column-titles":a===n-i?"psp-column-edit-buttons":null;d?l.setAttribute("id",d):l.removeAttribute("id")}),t.classList.toggle("psp-menu-open",!!o),s&&n>=2){let l=Array.from(r[n-2].children),a=Array.from(r[n-1].children);if(l&&a){r.slice(0,n-2).forEach(i=>{Array.from(i.children).forEach(d=>{d.classList.toggle("psp-menu-open",!1)})});for(let i=0;i<l.length;i++){let d=l[i],p=a[i],c=d.textContent===o;if(d.classList.toggle("psp-menu-open",c),p.classList.toggle("psp-menu-open",c),this._config.columns.length>1)for(let m of e.querySelectorAll("td")){let _=e.getMeta(m);if(!_?.column_header)continue;let u=_.column_header[_.column_header.length-2]===o;m.classList.toggle("psp-menu-open",u)}}}}}function fe(e,t,o){let r=this._config.group_by.length-(this._config.group_rollup_mode==="flat"?1:0),n=this._column_settings_selected_column;for(let{element:s,metadata:l}of e.cells){if(!l||l.type==="body"||l.type==="row_header")continue;let a=l.column_header?.[this._config.split_by.length],i=this._config.sort.find(h=>h[0]===a),d=typeof l.x>"u",p=l.type==="corner"&&l.row_header_x===r||!d&&(l.x+1)%this._config.columns.length===0;s.classList.toggle("psp-header-border",p),s.classList.toggle("psp-header-group",!1),s.classList.toggle("psp-header-leaf",!0),s.classList.toggle("psp-is-top",!1),s.classList.toggle("psp-header-corner",d),s.classList.toggle("psp-header-sort-asc",!o&&!!i&&i[1]==="asc"),s.classList.toggle("psp-header-sort-desc",!o&&!!i&&i[1]==="desc"),s.classList.toggle("psp-header-sort-col-asc",!o&&!!i&&i[1]==="col asc"),s.classList.toggle("psp-header-sort-col-desc",!o&&!!i&&i[1]==="col desc"),s.classList.toggle("psp-header-sort-abs-asc",!o&&!!i&&i[1]==="asc abs"),s.classList.toggle("psp-header-sort-abs-desc",!o&&!!i&&i[1]==="desc abs"),s.classList.toggle("psp-header-sort-abs-col-asc",!o&&!!i&&i[1]==="col asc abs"),s.classList.toggle("psp-header-sort-abs-col-desc",!o&&!!i&&i[1]==="col desc abs");let c=V(this,l),m=c==="integer"||c==="float",_=c==="string",u=c==="date",f=c==="datetime";if(s.classList.toggle("psp-align-right",m),s.classList.toggle("psp-align-left",!m),s.classList.toggle("psp-menu-enabled",(_||m||u||f)&&!d&&l.column_header_y===this._config.split_by.length+1),s.classList.toggle("psp-sort-enabled",(_||m||u||f)&&!d&&l.column_header_y===this._config.split_by.length),s.classList.toggle("psp-is-width-override",t.saveColumnSizes()[l.size_key]!==void 0),this._config.columns.length>1&&n){let h=l.column_header?.[l.column_header.length-2]===n;s.classList.toggle("psp-menu-open",h)}}}var nt={desc:"asc",asc:void 0,"desc abs":"asc abs","asc abs":void 0},lt={desc:"asc",asc:void 0,"desc abs":"asc abs","asc abs":void 0};async function he(e,t,o,r){let n=e.getMeta(r);if(!n?.column_header)return;let s=n.column_header[this._config.split_by.length],l=o.ctrlKey||o.metaKey||o.altKey?it:at,a=o.shiftKey,i=l.call(this,`${s}`,a);await t.restore({sort:i})}function it(e,t){let o=[],r=!1;for(let n of this._config.sort){let[s,l]=n;if(s===e){r=!0;let a=be.call(this,e,l,t);a&&o.push(a)}else o.push(n)}return r||o.push([e,t?"desc abs":"desc"]),o}function at(e,t){for(let[o,r]of this._config.sort)if(o===e){let n=be.call(this,e,r,t);return n?[n]:[]}return[[e,t?"desc abs":"desc"]]}function be(e,t,o){let n=this._config.split_by.length>0?lt:nt,s=t?n[t]:"desc";if(s)return[e,s]}async function ye(e,t){let o=e.getMeta(t.target);if(!o||o.type!=="row_header")return;let r=t.target.classList.contains("psp-tree-label-collapse");t.shiftKey&&r?this._view.set_depth(o.row_header.filter(n=>n!==void 0).length-2):t.shiftKey?this._view.set_depth(o.row_header.filter(n=>n!==void 0).length-1):r?this._view.collapse(o.y):this._view.expand(o.y),this._num_rows=await this._view.num_rows(),this._num_columns=await this._view.num_columns(),e.draw()}async function ve(e,t,o){if(o.which!==1)return;let r=o.target;if(r?.tagName!=="A"){for(;r&&r.tagName!=="TD"&&r.tagName!=="TH";)if(r=r.parentElement,!r||!e.contains(r))return;if(r){if(r.classList.contains("psp-tree-label")){ye.call(this,e,o);return}if(r.classList.contains("psp-menu-enabled")){let s=e.getMeta(r)?.column_header?.[this._config.split_by.length];await t.toggleColumnSettings(`${s}`)}else r.classList.contains("psp-sort-enabled")&&he.call(this,e,t,o,r)}}}function we(e,t){if(t.which!==1)return;let o=t.target;for(;o&&o.tagName!=="TD"&&o.tagName!=="TH";)if(o=o.parentElement,!o||!e.contains(o))return;o&&(o.classList.contains("psp-tree-label")&&t.offsetX<26||o.classList.contains("psp-header-leaf")&&!o.classList.contains("psp-header-corner"))&&t.stopImmediatePropagation()}function re(e,t,o){let r=e.getMeta(o);if(!r)return!1;let n=t._schema[t._column_paths[r.x]],s=o.textContent||"",l=t._ids[r.y-r.y0][0];if(n==="float"||n==="integer"){let i=parseFloat(s.replace(/,/g,""));if(isNaN(i))return!1;s=i}else if(n==="date"||n==="datetime"){let i=Date.parse(s);if(isNaN(i))return!1;s=i}else n==="boolean"&&(s=s==="true"?!1:s==="false"?!0:null);let a={__INDEX__:l,[t._column_paths[r.x]]:s};return t._table.update([a],{port_id:t._edit_port,format:null}),!0}function Ee(e,t,o){let r=e.getMeta(o.target);if(r?.type==="body"||r?.type==="column_header"){let n=this._is_editable[r.x],s=V(this,r)==="boolean",l=o.target.classList.contains("psp-null");n&&s&&!l&&re(e,this,o.target)}}function xe(e,t,o){let r=o.get(t),n=t.getRootNode();if(r){for(let{element:s,metadata:l}of e)if(l.type==="body"&&l.x===r.x&&l.y===r.y){n.activeElement!==s&&s.focus({preventScroll:!0});return}document.activeElement!==document.body&&t.contains(n.activeElement)&&n.activeElement.blur()}}function Ce(e,t){let o=t.get(e);if(!o)return!1;let r=e.getRootNode(),n=e.children[0]?.children[1];if(n)for(let s of n.children)for(let l of s.children){let a=e.getMeta(l);if(a?.type==="body"&&a.x===o.x&&a.y===o.y)return r.activeElement!==l&&l.focus({preventScroll:!0}),!0}return document.activeElement!==document.body&&e.contains(r.activeElement)&&r.activeElement.blur(),!1}function dt(e){let t;return async function(...o){if(t){await t;return}let r;t=new Promise(s=>r=s);let n=await e.apply(this,o);return t=void 0,r(),n}}function ke(){if(this.isContentEditable){let e=this.getRootNode().getSelection()?.getRangeAt(0);if(!e)return 0;let t=e.cloneRange();return t.selectNodeContents(this),t.setEnd(e.endContainer,e.endOffset),t.toString().length}else return this.selectionStart||0}var I=dt(async function(e,t,o,r,n){let s=e.getMeta(o);if(!s||s.type!=="body")return;let l=this._column_paths.length,a=this._num_rows,i=t.get(e);if(!i)return;s.x+r<l&&0<=s.x+r&&(i.x=s.x+r),s.y+n<a&&0<=s.y+n&&(i.y=s.y+n);let d=Math.max(s.x0-10,0),p=Math.min(s.x0+10,l),c=Math.max(s.y0-5,0),m=Math.min(s.y0+10,a),_=s.x0+r,u=s.y0+n;for(;!Ce(e,t)&&_>=d&&_<p&&u>=c&&u<m;)await e.scrollToCell(_,u),t.set(e,i),_+=r,u+=n});function pt(e,t,o){let r=t.getMeta(o);return r?.type==="body"&&r.y===e._num_rows-1}function Me(e,t,o,r){let n=e.getRootNode().activeElement;switch(r.target.classList.remove("psp-error"),r.key){case"Enter":r.preventDefault(),pt(this,e,n)?(n.blur(),o.delete(e)):r.shiftKey?I.call(this,e,o,n,0,-1):I.call(this,e,o,n,0,1);break;case"ArrowLeft":ke.call(n)===0&&(r.preventDefault(),I.call(this,e,o,n,-1,0));break;case"ArrowUp":r.preventDefault(),I.call(this,e,o,n,0,-1);break;case"ArrowRight":ke.call(n)===(n.textContent?.length||0)&&(r.preventDefault(),I.call(this,e,o,n,1,0));break;case"ArrowDown":r.preventDefault(),I.call(this,e,o,n,0,1);break;default:}}function J(e,t=!1){let o=this._config.group_by.length===0&&this._config.split_by.length===0,r=e.hasAttribute("selectable"),n=e.children[0],s=t||n?._edit_mode==="EDIT";return o&&!r&&s}function Se(e,t,o,r){if(this._edit_mode==="EDIT"){if(!J.call(this,t))return;Me.call(this,e,t,o,r)}else console.debug(`Mode ${this._edit_mode} for "keydown" event not yet implemented`)}function Re(e,t,o){if(this._edit_mode==="EDIT"){if(!J.call(this,t))return;Ee.call(this,e,t,o)}else this._edit_mode==="READ_ONLY"||this._edit_mode==="SELECT_COLUMN"||this._edit_mode==="SELECT_ROW"||this._edit_mode==="SELECT_REGION"||console.debug(`Mode ${this._edit_mode} for "click" event not yet implemented`)}function Te(e,t,o,r){if(J.call(this,t)&&o.has(e)){let n=r.target;n.classList.remove("psp-error");let s=o.get(e);o.delete(e),s.content!==n.textContent&&(re(e,this,n)||(n.textContent=s.content||"",n.classList.add("psp-error"),n.focus()))}}function Le(e,t,o,r){let n=r.target,s=e.getMeta(n);if(s?.type==="body"){let l={x:s.x,y:s.y,content:n.textContent||void 0};o.set(e,l)}}async function $({_view:e,_config:t},o,r){let n=t.group_by,s=t.split_by,l=o>=0?o:0,a=l+1,i=await e.to_json({start_row:l,end_row:a}),p=i.map(b=>b.__ROW_PATH__)[0]||[],c=n.map((b,w)=>{let y=p[w];return y?[b,"==",y]:void 0}).filter(b=>b!==void 0),m=n.length>0?r+1:r,_=Object.keys(i[0])[m],u={row:i[0],column_names:[],config:{filter:[]}},f=[];if(_){let b=_.split("|");u.column_names=[b[s.length]],f=s.map((w,y)=>{let E=b[y];return E?[w,"==",E]:void 0}).filter(w=>w!==void 0).filter(([,,w])=>w!=="__ROW_PATH__")}let h=t.filter.concat(c).concat(f);return u.config={filter:h},u}async function De(e,t,o,r){let n=e.getMeta(r.target);if(t.hasAttribute("selectable")&&!r.handled&&!r.shiftKey&&r.button===0&&(r.stopImmediatePropagation(),!!n&&(n.type==="body"||n.type==="row_header")&&n.y>=0)){let s=this._ids?.[n.y-n.y0],l=o.get(e),a=!!l&&l.reduce((_,u,f)=>_&&u===s[f],!0),i=!!l&&s.length===l.length&&a,{row:d,column_names:p,config:c}=await $(this,n.y,n.type==="body"?n.x:0),m;i?(o.delete(e),m=new Q(!1,d,[],[],[{filter:structuredClone(this._config.filter)}])):(o.set(e,s),m=new Q(!0,d,p,[],[c])),await e.draw({preserve_width:!0}),r.handled=!0,t.dispatchEvent(new CustomEvent("perspective-select",{bubbles:!0,composed:!0,detail:m}))}}async function Pe(e,t,o){o.delete(e);for(let r of e.querySelectorAll("td,th"))r.classList.toggle("psp-row-selected",!1),r.classList.toggle("psp-row-subselected",!1)}async function Oe(e,t,o){let r=e.getMeta(o.target);if(!r||r.type!=="body")return;let{x:n,y:s}=r,{row:l,column_names:a,config:i}=await $(this,s,n);t.dispatchEvent(new CustomEvent("perspective-click",{bubbles:!0,composed:!0,detail:{row:l,column_names:a,config:i}}))}var _t="mouse-selected-area",He=(e,t,{className:o=_t,selected:r=[]}={})=>(e.model._selection_state={selected_areas:r,dirty:!0},t.addEventListener("mousedown",ut(e,t,o)),t.addEventListener("mouseover",gt(e,t,o)),t.addEventListener("mouseup",ft(e,t,o)),t.addStyleListener(()=>B(e,t,o)),t),ut=(e,t,o)=>r=>{let n=r;if(n.button===0&&(e.model._edit_mode==="SELECT_REGION"||e.model._edit_mode==="SELECT_ROW"||e.model._edit_mode==="SELECT_COLUMN")){e.model._selection_state.CURRENT_MOUSEDOWN_COORDINATES={};let s=t.getMeta(n.target);if(s?.type==="body"&&s.x!==void 0&&s.y!==void 0){e.model._selection_state.CURRENT_MOUSEDOWN_COORDINATES={x:s.x,y:s.y},e.model._selection_state.old_selected_areas=e.model._selection_state.selected_areas,e.model._selection_state.selected_areas=[];let l={x0:s.x,x1:s.x,y0:s.y,y1:s.y};e.model._selection_state.potential_selection=l,B(e,t,o,e.model._selection_state.selected_areas.concat([l]));return}}e.model._selection_state.selected_areas=[]},gt=(e,t,o)=>r=>{let n=r;if((e.model._edit_mode==="SELECT_REGION"||e.model._edit_mode==="SELECT_ROW"||e.model._edit_mode==="SELECT_COLUMN")&&e.model._selection_state.CURRENT_MOUSEDOWN_COORDINATES&&e.model._selection_state.CURRENT_MOUSEDOWN_COORDINATES.x!==void 0){let s=t.getMeta(n.target);if(s?.type==="body"&&s.x!==void 0&&s.y!==void 0){let l={x0:Math.min(s.x,e.model._selection_state.CURRENT_MOUSEDOWN_COORDINATES.x),x1:Math.max(s.x,e.model._selection_state.CURRENT_MOUSEDOWN_COORDINATES.x),y0:Math.min(s.y,e.model._selection_state.CURRENT_MOUSEDOWN_COORDINATES.y),y1:Math.max(s.y,e.model._selection_state.CURRENT_MOUSEDOWN_COORDINATES.y)};e.model._selection_state.potential_selection=l,B(e,t,o,e.model._selection_state.selected_areas.concat([l]))}}},ft=(e,t,o)=>r=>{let n=r;if(e.model._edit_mode==="SELECT_REGION"||e.model._edit_mode==="SELECT_ROW"||e.model._edit_mode==="SELECT_COLUMN"){let s=t.getMeta(n.target);if(!s)return;if((e.model._selection_state.old_selected_areas?.length??0)>0){let l=e.model._selection_state.old_selected_areas[0];if(l.x0===l.x1&&l.y0===l.y1&&s?.type==="body"&&l.x0===s.x&&l.y0===s.y){e.model._selection_state.selected_areas=[],e.model._selection_state.old_selected_areas=[],e.model._selection_state.CURRENT_MOUSEDOWN_COORDINATES={},e.model._selection_state.potential_selection=void 0,B(e,t,o,[]);return}}if(e.model._selection_state.old_selected_areas=[],e.model._selection_state.CURRENT_MOUSEDOWN_COORDINATES&&e.model._selection_state.CURRENT_MOUSEDOWN_COORDINATES.x!==void 0&&s?.type==="body"&&s.x!==void 0&&s.y!==void 0){let l={x0:Math.min(s.x,e.model._selection_state.CURRENT_MOUSEDOWN_COORDINATES.x),x1:Math.max(s.x,e.model._selection_state.CURRENT_MOUSEDOWN_COORDINATES.x),y0:Math.min(s.y,e.model._selection_state.CURRENT_MOUSEDOWN_COORDINATES.y),y1:Math.max(s.y,e.model._selection_state.CURRENT_MOUSEDOWN_COORDINATES.y)};e.model._selection_state.selected_areas.push(l),B(e,t,o)}e.model._selection_state.CURRENT_MOUSEDOWN_COORDINATES={},e.model._selection_state.potential_selection=void 0}};function ht(e,t,{x0:o,x1:r,y0:n,y1:s}){let l={},a=t.model._edit_mode;o!==void 0&&["SELECT_COLUMN","SELECT_REGION"].indexOf(a)>-1&&(l.start_col=o),r!==void 0&&["SELECT_COLUMN","SELECT_REGION"].indexOf(a)>-1&&(l.end_col=r+1),n!==void 0&&["SELECT_ROW","SELECT_REGION"].indexOf(a)>-1&&(l.start_row=n),s!==void 0&&["SELECT_ROW","SELECT_REGION"].indexOf(a)>-1&&(l.end_row=s+1),e.setSelection(l)}var B=(e,t,o,r)=>{if(e.model._edit_mode==="SELECT_REGION"||e.model._edit_mode==="SELECT_ROW"||e.model._edit_mode==="SELECT_COLUMN"){r=e.model._selection_state.selected_areas.slice(0),e.model._selection_state.potential_selection&&r.push(e.model._selection_state.potential_selection);let n=t.querySelectorAll("tbody td");if(r.length>0)ht(e.parentElement,e,r[0]),bt(e,t,r,o);else{e.parentElement.setSelection();for(let s of n)s.classList.remove(o)}}else if(e.model._selection_state.dirty){e.model._selection_state.dirty=!1;let n=t.querySelectorAll("tbody td");for(let s of n)s.classList.remove(o)}},bt=(e,t,o,r)=>{if(e.model._edit_mode==="SELECT_REGION"&&o.length>0){let n=t.querySelectorAll("tbody td");for(let s of n){let l=t.getMeta(s);if(!l||l.type!=="body")continue;let a=!1;for(let{x0:i,x1:d,y0:p,y1:c}of o)i!==void 0&&p!==void 0&&d!==void 0&&c!==void 0&&i<=l.x&&l.x<=d&&p<=l.y&&l.y<=c&&(a=!0,e.model._selection_state.dirty=!0,s.classList.add(r));a||s.classList.remove(r)}}else if(e.model._edit_mode==="SELECT_ROW"&&o.length>0){let n=t.querySelectorAll("tbody td");for(let s of n){let l=t.getMeta(s);if(!l)continue;let a=!1;for(let{x0:i,x1:d,y0:p,y1:c}of o)i!==void 0&&p!==void 0&&d!==void 0&&c!==void 0&&l?.type==="body"&&p<=l.y&&l.y<=c&&(e.model._selection_state.dirty=!0,a=!0,s.classList.add(r));a||s.classList.remove(r)}}else if(e.model._edit_mode==="SELECT_COLUMN"&&o.length>0){let n=t.querySelectorAll("tbody td");for(let s of n){let l=t.getMeta(s);if(!l)continue;let a=!1;for(let{x0:i,x1:d,y0:p,y1:c}of o)i!==void 0&&p!==void 0&&d!==void 0&&c!==void 0&&l?.type==="body"&&i<=l.x&&l.x<=d&&(e.model._selection_state.dirty=!0,a=!0,s.classList.add(r));a||s.classList.remove(r)}}};function Ae(e,t,o){if(e.length===0)return;let r=this._column_settings_selected_column,n=e.length,s=o.hasAttribute("settings");if(n<=1?e[0]?.row.removeAttribute("id"):e.forEach(({row:i},d)=>{let p=s?1:0,c=d===n-(p+1)?"psp-column-titles":d===n-p?"psp-column-edit-buttons":null;c?i.setAttribute("id",c):i.removeAttribute("id")}),o.classList.toggle("psp-menu-open",!!r),s&&n>=2){let i=e[n-2],d=e[n-1];if(i&&d){e.slice(0,n-2).forEach(({cells:p})=>{p.forEach(({element:c})=>{c.classList.toggle("psp-menu-open",!1)})});for(let p=0;p<i.cells.length;p++){let c=i.cells[p]?.element,m=d.cells[p]?.element;if(!c||!m)continue;let _=c.textContent===r;c.classList.toggle("psp-menu-open",_),m.classList.toggle("psp-menu-open",_)}}}let l=this._config.split_by.length;if(l<e.length){let i=e[l];i&&this._styleColumnHeaderRow(i,t,!1)}let a=this._config.split_by.length+1;if(a<e.length){let i=e[a];i&&this._styleColumnHeaderRow(i,t,!0)}}function Ne(e,t){let o=this._config.group_by.length,r=[],n=new Set;for(let s=0;s<e.length;s++){let{row:l,cells:a}=e[s],i=new Set;for(let d=0;d<a.length;d++){let{element:p,metadata:c}=a[d];if(!c)continue;p.style.backgroundColor="";let m=c.type==="corner"&&o>0&&c.row_header_x===o||c.type==="column_header"&&c.x>=0;p.classList.toggle("psp-align-right",!1),p.classList.toggle("psp-align-left",!1),p.classList.toggle("psp-header-group",!0),p.classList.toggle("psp-header-leaf",!1),p.classList.toggle("psp-header-border",m),p.classList.toggle("psp-header-group-corner",c.type==="corner"),p.classList.toggle("psp-color-mode-bar",!1),p.classList.toggle("psp-header-sort-asc",!1),p.classList.toggle("psp-header-sort-desc",!1),p.classList.toggle("psp-header-sort-col-asc",!1),p.classList.toggle("psp-header-sort-col-desc",!1),p.classList.toggle("psp-sort-enabled",!1);let _=d;for(;r[s]&&r[s][_];++_);i.add(_);let u=p;for(let f=_;f<_+u.colSpan;++f)for(let h=s;h<s+u.rowSpan;++h)r[h]||(r[h]=[]),r[h][f]=!0;u.classList.toggle("psp-is-top",s===0||!n.has(_))}n=i}}function Ve(e,t,[,,,,,o,r],[,,,,,n,s],l){let a=this._ids?.[e.dy??0]?.join("|"),i=(l?(e.column_header??[]).slice(0,-1):e.column_header??[]).join("|");if(this.last_reverse_columns?.has(i)&&this.last_reverse_ids?.has(a)){let d=this.last_reverse_ids?.get(a),p=this.last_reverse_columns.get(i);this._is_old_viewport?p!==void 0&&d!==void 0&&this.last_meta?.[p]?.[d]!==void 0&&this.last_meta[p][d]>(e.user??0)?(t.style.setProperty("--pulse--background-color-start",n),t.style.setProperty("--pulse--background-color-end",s),t.style.animationName==="pulse_neg"?t.style.animation="pulse_neg2 0.5s linear":t.style.animation="pulse_neg 0.5s linear"):p!==void 0&&d!==void 0&&this.last_meta?.[p]?.[d]!==void 0&&this.last_meta[p][d]<(e.user??0)?(t.style.setProperty("--pulse--background-color-start",o),t.style.setProperty("--pulse--background-color-end",r),t.style.animationName==="pulse_pos"?t.style.animation="pulse_pos2 0.5s linear":t.style.animation="pulse_pos 0.5s linear"):d!==e.dy&&(t.style.animation=""):t.style.animation=""}else t.style.animation=""}function ze(e,t,o,r){let n=(o.user??0)>0,s=(o.user??0)<0,l;e?.pos_bg_color!==void 0?l=e.pos_bg_color:l=this._pos_bg_color;let a;e?.neg_bg_color!==void 0?a=e.neg_bg_color:a=this._neg_bg_color;let i=n?l:s?a:["",this._plugin_background[0],this._plugin_background[1],this._plugin_background[2],"","",""];{let[m,_,u,f]=i;if(t.style.position="",o._is_hidden_by_aggregate_depth)t.style.animation="",t.style.backgroundColor="";else if(e?.number_bg_mode==="color")t.style.animation="",t.style.backgroundColor=m;else if(e?.number_bg_mode==="gradient"){let h=Math.max(0,Math.min(1,Math.abs((o.user??0)/(e.bg_gradient??1)))),b=this._plugin_background,w=H(O([_,u,f,h],b));t.style.animation="",t.style.color=w,t.style.backgroundColor=`rgba(${_},${u},${f},${h})`}else e?.number_bg_mode==="pulse"?(Ve.call(this,o,t,l,a,r),t.style.backgroundColor=""):(e?.number_bg_mode==="disabled"||e?.number_bg_mode,t.style.animation="",t.style.backgroundColor="")}let d=e?.pos_fg_color!==void 0?n?e.pos_fg_color:s?e.neg_fg_color:["",this._plugin_background[0],this._plugin_background[1],this._plugin_background[2],"","",""]:n?this._pos_fg_color:s?this._neg_fg_color:["",this._plugin_background[0],this._plugin_background[1],this._plugin_background[2],"","",""],[p,,,,c]=d;if(o._is_hidden_by_aggregate_depth)t.style.backgroundColor="",t.style.color="";else if(e?.number_fg_mode==="disabled")if(e?.number_bg_mode==="color"){let m=this._plugin_background,_=H(O([i[1],i[2],i[3],1],m));t.style.color=_}else e?.number_bg_mode==="gradient"||(t.style.color="");else e?.number_fg_mode==="bar"?(t.style.color="",t.style.position="relative",c!==""&&t.children.length>0&&t.children[0].nodeType===Node.ELEMENT_NODE&&(t.children[0].style.background=c)):(e?.number_fg_mode==="color"||!e?.number_fg_mode)&&(t.style.color=p)}import Ie from"chroma-js";function We(e,t,o){let r=o.column_header?.[this._config.split_by.length],n=e?.color!==void 0?e.color:this._color,[s,l,a,i]=n;if(o._is_hidden_by_aggregate_depth)t.style.backgroundColor="",t.style.color="";else if(e?.string_color_mode==="foreground"&&o.user!==null)t.style.color=s,t.style.backgroundColor="",e?.format==="link"&&t.children[0]&&(t.children[0].style.color=s);else if(e?.string_color_mode==="background"&&o.user!==null){let d=this._plugin_background,p=H(O([l,a,i,1],d));t.style.color=p,t.style.backgroundColor=s}else if(e?.string_color_mode==="series"&&o.user!==null&&r){this._series_color_map.has(r)||(this._series_color_map.set(r,new Map),this._series_color_seed.set(r,0));let d=this._series_color_map.get(r);if(o.user&&!d.has(o.user)){let k=this._series_color_seed.get(r)??0;d.set(o.user,k),this._series_color_seed.set(r,k+1)}let p=d.get(o.user)??0,[c,m,_]=Ie(s).hsl();c=c+p*150%360;let u=Ie(c,m,_,"hsl"),[f,h,b]=u.rgb(),w=u.hex(),y=this._plugin_background,E=H(O([f,h,b,1],y));t.style.color=E,t.style.backgroundColor=w}else t.style.backgroundColor="",t.style.color=""}function Fe(e,t,o){let r=e?.color!==void 0?e.color:this._color,[n,s,l,a]=r;if(o._is_hidden_by_aggregate_depth)t.style.backgroundColor="",t.style.color="";else if(e?.datetime_color_mode==="foreground"&&o.user!==null)t.style.color=n,t.style.backgroundColor="";else if(e?.datetime_color_mode==="background"&&o.user!==null){let i=this._plugin_background,d=H(O([s,l,a,1],i));t.style.color=d,t.style.backgroundColor=n}else t.style.backgroundColor="",t.style.color=""}function Ue(e,t,o){if(o._is_hidden_by_aggregate_depth)t.style.backgroundColor="",t.style.color="";else{let[r]=o.user===!0?this._pos_fg_color:o.user===!1?this._neg_fg_color:["",0,0,0,""];t.style.backgroundColor="",t.style.color=r}}function je(e,t,o){let r=o.value!==void 0&&o.value!==null&&o.value?.toString()?.trim().length>0,n=(o.row_header_x??0)>=this._config.group_by.length,s=e.getMeta({dx:0,dy:(o.y??0)-(o.y0??0)+1}),l=s&&s.row_header&&typeof s.row_header[(o.row_header_x??0)+1]<"u";t.classList.toggle("psp-tree-label",r&&!n),t.classList.toggle("psp-tree-label-expand",r&&!n&&!l),t.classList.toggle("psp-tree-label-collapse",r&&!n&&l),t.classList.toggle("psp-tree-leaf",r&&n)}function Ge(e,t,o,r,n,s,l,a,i){let d=l.has(s),p=l.get(s);s.classList.toggle("flat-group-rollup-mode",this._config.group_rollup_mode==="flat");for(let{element:c,metadata:m,isHeader:_}of e){let u=m.column_header?.[this._config.split_by.length],f=V(this,m),h=u?t[u.toString()]:void 0,b=f==="integer"||f==="float";m._is_hidden_by_aggregate_depth=this._config.group_rollup_mode==="rollup"&&(y=>y===0||y===void 0?!1:y-1<Math.min(this._config.group_by.length,h?.aggregate_depth||0))(m.row_header?.filter(y=>y!==void 0)?.length),b?ze.call(this,h,c,m,o):f==="boolean"?Ue.call(this,h,c,m):f==="string"?We.call(this,h,c,m):f==="date"||f==="datetime"?Fe.call(this,h,c,m):(c.style.backgroundColor="",c.style.color=""),c.classList.toggle("psp-bool-type",f==="boolean"&&m.user!==null),c.classList.toggle("psp-null",m.value===null),c.classList.toggle("psp-align-right",!_&&b),c.classList.toggle("psp-align-left",_||!b),this._column_settings_selected_column?c.classList.toggle("psp-menu-open",u===this._column_settings_selected_column):c.classList.toggle("psp-menu-open",!1),c.classList.toggle("psp-color-mode-bar",h?.number_fg_mode==="bar"&&b),_&&je.call(this,s,c,m);let w=c.parentElement;if(w&&(w.dataset.y=String(m.y)),m.type!=="row_header"||m.row_header_x===m.row_header.length-1||m.row_header[m.row_header_x+1]===void 0?(c.dataset.y=String(m.y),m.type!=="row_header"?c.dataset.x=String(m.x):delete c.dataset.x):(delete c.dataset.y,delete c.dataset.x),r)if(!d)c.classList.toggle("psp-row-selected",!1),c.classList.toggle("psp-row-subselected",!1);else{let y=this._ids[(m.y??0)-(m.y0??0)],E=p.reduce((A,v,T)=>A&&v===y[T],!0),k=p;_&&m.type==="row_header"&&m.row_header_x!==void 0&&y[m.row_header_x]?(c.classList.toggle("psp-row-selected",!1),c.classList.toggle("psp-row-subselected",!1)):(c.classList.toggle("psp-row-selected",y.length===k.length&&E),c.classList.toggle("psp-row-subselected",y.length!==k.length&&E))}if(!_&&m.type==="body")if(n&&this._is_editable[m.x]){let E=m.column_header?.[this._config.split_by.length]?.toString();E&&f==="string"&&t[E]?.format==="link"?(c.toggleAttribute("contenteditable",!1),c.classList.toggle("boolean-editable",!1)):f==="boolean"?(c.toggleAttribute("contenteditable",!1),c.classList.toggle("boolean-editable",m.user!==null)):(n!==c.hasAttribute("contenteditable")&&c.toggleAttribute("contenteditable",n),c.classList.toggle("boolean-editable",!1))}else c.toggleAttribute("contenteditable",!1),c.classList.toggle("boolean-editable",!1)}}function $e(e,t,o=!1){let r=e._config.group_by.length===0&&e._config.split_by.length===0,n=t.hasAttribute("selectable"),s=t.children[0],l=o||s?.dataset?.editMode==="EDIT";return r&&!n&&l}function Be(e,t,o){return function(n,s){let l=n[C]||{},a=s.hasAttribute("settings"),i=s.hasAttribute("selectable"),d=$e(this,s),p=$e(this,s,!0);e.classList.toggle("edit-mode-allowed",p);let c=[],m=[],_=n.children[0]?.children[1];if(_)for(let f of _.children)for(let h of f.children){let b=n.getMeta(h);if(b){let w=h.tagName==="TH";c.push({element:h,metadata:b,isHeader:w})}}let u=n.children[0]?.children[0];if(u)for(let f of u.children){let h={row:f,cells:[]};for(let b of f.children){let w=n.getMeta(b);h.cells.push({element:b,metadata:w})}m.push(h)}this._applyBodyCellStyles(c,l,a,i,d,n,t,o,s),this._applyGroupHeaderStyles(m,n),this._applyColumnHeaderStyles(m,n,s),this._applyFocusStyle(c,n,o)}}function Ye(e){e._applyBodyCellStyles=Ge,e._applyGroupHeaderStyles=Ne,e._applyColumnHeaderStyles=Ae,e._applyFocusStyle=xe,e._styleColumnHeaderRow=fe}async function Ke(e){let t=this.parentElement,o=await t.getTable();if(this._initialized)await q.call(this,this.regular_table,o,e,this.model);else{if(this.innerHTML="",this.shadowRoot?this.shadowRoot.appendChild(this.regular_table):this.appendChild(this.regular_table),this.model=await q.call(this,this.regular_table,o,e),!this.model)return;He(this,this.regular_table,{className:"psp-select-region"});let r=new WeakMap,n=new WeakMap;Ye(this.model),this.regular_table.addStyleListener(Be(this,r,n).bind(this.model,this.regular_table,t)),this.regular_table.addEventListener("click",we.bind(this.model,this.regular_table)),this.regular_table.addEventListener("mousedown",De.bind(this.model,this.regular_table,t,r)),this.regular_table.addEventListener("psp-deselect-all",Pe.bind(this.model,this.regular_table,t,r)),this.regular_table.addEventListener("click",Oe.bind(this.model,this.regular_table,t)),this.regular_table.addEventListener("mousedown",ve.bind(this.model,this.regular_table,t)),this.regular_table.addEventListener("click",Re.bind(this.model,this.regular_table,t)),this.regular_table.addEventListener("focusin",Le.bind(this.model,this.regular_table,t,n)),this.regular_table.addEventListener("focusout",Te.bind(this.model,this.regular_table,t,n)),this.regular_table.addEventListener("keydown",Se.bind(this.model,this.regular_table,t,n)),t.addEventListener("perspective-toggle-column-settings",s=>{let l=s;if(this.isConnected){if(ge.call(this.model,this.regular_table,t,l.detail.column_name??void 0),!l.detail.open){this.model._column_settings_selected_column=void 0;return}this.model._column_settings_selected_column=l.detail.column_name??void 0}}),this._initialized=!0}}function qe(e,t){e=JSON.parse(JSON.stringify(e)),t=JSON.parse(JSON.stringify(t));let o={};if(e.columns)for(let[s,l]of Object.entries(e.columns))l.column_size_override!==void 0&&(o[s]=l.column_size_override,delete l.column_size_override);let r={};if(t)for(let[s,l]of Object.entries(t))r[s]={...l,pos_fg_color:l.pos_fg_color?S(l.pos_fg_color):void 0,neg_fg_color:l.neg_fg_color?S(l.neg_fg_color):void 0,pos_bg_color:l.pos_bg_color?S(l.pos_bg_color):void 0,neg_bg_color:l.neg_bg_color?S(l.neg_bg_color):void 0,color:l.color?S(l.color):void 0};"edit_mode"in e&&e.edit_mode&&(W.indexOf(e.edit_mode)!==-1?F.call(this,e.edit_mode):console.error("Unknown edit mode "+e.edit_mode)),"scroll_lock"in e&&U.call(this,e.scroll_lock);let n=this.regular_table;j.call(this,o,!0),n[C]=r}function Je(){if(this.regular_table){let e={columns:{},scroll_lock:!!this._is_scroll_lock,edit_mode:this._edit_mode},t=G.call(this);for(let o of Object.keys(t||{}))e.columns?.[o]||(e.columns=e.columns||{},e.columns[o]={}),e.columns[o].column_size_override=t[o];return JSON.parse(JSON.stringify(e))}return{}}async function Ze(e){if(this.parentElement&&await this.activate(e),!this.isConnected||this.offsetParent==null||!this.model)return;let t=G.call(this),o=this.regular_table.draw({invalid_columns:!0});this._reset_scroll_top&&(this.regular_table.scrollTop=0,this._reset_scroll_top=!1),this._reset_scroll_left&&(this.regular_table.scrollLeft=0,this._reset_scroll_left=!1),this._reset_select&&(this.regular_table.dispatchEvent(new CustomEvent("psp-deselect-all",{bubbles:!1})),this._reset_select=!1),this._reset_column_size&&(this.regular_table.resetAutoSize(),this._reset_column_size=!1),j.call(this,t),await o,this._toolbar?.classList.toggle("aggregated",this.model._config.group_by.length>0||this.model._config.split_by.length>0)}function se(e,t){return e==="integer"||e==="float"?{datagrid_number_style:{fg_gradient:0,pos_fg_color:this.model._pos_fg_color[0],neg_fg_color:this.model._neg_fg_color[0],number_fg_mode:"color",bg_gradient:0,pos_bg_color:this.model._pos_bg_color[0],neg_bg_color:this.model._neg_bg_color[0],number_bg_mode:"disabled"},number_string_format:!0}:e==="date"||e==="datetime"||e==="string"?{[e==="date"||e==="datetime"?"datagrid_datetime_style":"datagrid_string_style"]:{color:this.model._color[0],bg_color:this.model._color[0]}}:null}var Xe='regular-table{--psp-datagrid--hover--border-color:var(--psp-inactive--color,#c5c9d080);margin:12px 0 0 12px;padding:0;font-family:inherit;& div[tabindex]{outline:none}&>div{position:absolute;inset:0;overflow:hidden}& th{text-align:center}& thead tr:not(.rt-autosize) th{max-width:0;overflow:hidden}& thead tr:last-child .rt-float,& tbody .rt-float,& thead .rt-integer,& tbody .rt-integer{text-align:right}& tbody th{text-align:left}& span.rt-tree-container{align-items:center;height:100%;display:flex}& thead .rt-string,& tbody .rt-string,& thead .rt-date,& tbody .rt-date,& thead .rt-datetime,& tbody .rt-datetime{text-align:left}& thead tr:last-child th{border-bottom:1px solid #8b868045}& tbody tr:first-child td,& tbody tr:first-child th{border-top:1px solid #0000!important}& th{position:relative}& tr th span.rt-tree-group{border-left:1px solid #eee;height:100%;margin-left:5px;margin-right:15px}& td,& th{white-space:nowrap;height:var(--psp-datagrid--row--height,19px);padding:0 5px}& table *{box-sizing:border-box}& table{color:#666;outline:none;position:absolute}& span.rt-row-header-icon{color:#aaa;font-family:var(--psp-button--font-family);padding-right:4px}& span.rt-column-header-icon{width:10px;font-size:10px;font-family:var(--psp-button--font-family);padding-left:3px;display:inline-block}& span.rt-row-header-icon:hover{color:#1a7da1;text-shadow:0 0 3px #1a7da1}& .rt-selected td{background-color:#eee}& .rt-cell-clip{text-overflow:ellipsis;overflow:hidden}& td span.rt-group-name,& th span.rt-group-name{flex:1;height:100%;margin-right:-5px;padding-left:8px;padding-right:5px}& th span.rt-group-name{text-align:left}& td th span.rt-group-leaf,& th span.rt-group-leaf{height:100%;margin-left:16px}& .rt-column-resize{cursor:col-resize;width:10px;height:100%;position:absolute;top:0;right:0}& a{color:var(--psp-datagrid--pos-cell--color)}& a:visited{color:var(--psp-active--color)}& td.psp-null:after,& th.psp-null:after{content:var(--psp-label--null--content,"-");color:var(--psp-label--null--color,inherit);font-size:var(--psp-label--null--font-size,inherit);vertical-align:middle}}.psp-header-border:not(.psp-is-top):not(.psp-header-leaf){box-shadow:1px 0px var(--psp-inactive--border-color,#8b868045)}.psp-header-group{box-shadow:0px 10px 0 -9px var(--psp-inactive--border-color,#8b868045)}.psp-is-top{box-shadow:5px 4px 0px -4px var(--psp-inactive--border-color,#8b868045)}.psp-is-top.psp-header-group:not(.psp-header-group-corner){box-shadow:5px 4px 0px -4px var(--psp-inactive--border-color,#8b868045), 0px 10px 0 -9px var(--psp-inactive--border-color,#8b868045)}.psp-header-border.psp-header-group{&:not(.psp-is-top):not(.psp-header-group-corner){box-shadow:1px 0px var(--psp-inactive--border-color,#8b868045), 0px 10px 0 -9px var(--psp-inactive--border-color,#8b868045)}}perspective-viewer[settings] tr.rt-autosize .psp-header-leaf.psp-header-border:not(.psp-menu-enabled){box-shadow:1px 0px var(--psp-inactive--border-color,#8b868045)}:host-context(perspective-viewer[settings]) tr.rt-autosize .psp-header-leaf.psp-header-border:not(.psp-menu-enabled){box-shadow:1px 0px var(--psp-inactive--border-color,#8b868045)}.psp-header-leaf.psp-header-border{box-shadow:5px -4px 0px -4px var(--psp-inactive--border-color,#8b868045)}tr:only-child th{box-shadow:none!important}regular-table{& tbody{& tr:hover th.psp-tree-leaf:not(.psp-row-selected):not(.psp-row-subselected),& tr:hover th.psp-tree-label:not(.psp-row-selected):not(.psp-row-subselected),& tr:hover td:not(.psp-row-selected):not(.psp-row-subselected),& tr:hover:after{box-shadow:0px 1px 0px var(--psp-datagrid--hover--border-color,#c5c9d080);border-color:var(--psp-datagrid--hover--border-color,#c5c9d080)!important;&.psp-menu-open{box-shadow:inset -2px 0px 0px var(--psp--color), inset 2px 0px 0px var(--psp--color), 0px 1px 0px var(--psp-datagrid--hover--border-color,#c5c9d080)}}& tr:last-child:hover td:not(.psp-row-selected):not(.psp-row-subselected).psp-menu-open{box-shadow:inset -2px 0px 0px var(--psp--color), inset 2px 0px 0px var(--psp--color), inset 0px -2px 0px var(--psp--color), 0px 1px 0px var(--psp-datagrid--hover--border-color,#c5c9d080)}& tr:hover+tr th.psp-tree-leaf:not(.psp-row-selected):not(.psp-row-subselected),& tr:hover+tr th.psp-tree-label:not(.psp-row-selected):not(.psp-row-subselected),& tr:hover+tr td:not(.psp-row-selected):not(.psp-row-subselected){border-top-color:#0000}& tr{& th:first-child:not(:empty),& th:first-child:empty+th:not(:empty),& th:first-child:empty~th:empty+th:not(:empty),& td:first-child{border-left-width:1px;border-left-color:#0000}& th:last-child,& td:last-child{border-right-width:0;border-right-color:#0000}}& tr:hover{color:inherit;& th:first-child:not(:empty),& th:first-child:empty+th:not(:empty),& th:first-child:empty~th:empty+th:not(:empty),& td:first-child{border-left-color:var(--psp-datagrid--hover--border-color,#c5c9d080)!important}& th:last-child,& td:last-child{border-right-color:var(--psp-datagrid--hover--border-color,#c5c9d080)!important}}}}perspective-viewer-datagrid:not(.sub-cell-scroll-disabled) regular-table table,:host(:not(.sub-cell-scroll-disabled)) regular-table table{& tbody td,& thead th:not(.rt-group-corner){transform:translate(var(--regular-table--transform-x,0px))}& tbody{transform:translate(0, var(--regular-table--transform-y,0px))}& tbody tr:first-child{& td,& th,&:after{clip-path:polygon(0 var(--regular-table--clip-y,0), 0 200%, 200% 200%, 200% var(--regular-table--clip-y,0))}}& tbody tr td:first-of-type{clip-path:polygon(var(--regular-table--clip-x,0) 0, var(--regular-table--clip-x,0) 200%, 200% 200%, 200% 0)}& tbody tr:first-child td:first-of-type{clip-path:polygon(var(--regular-table--clip-x,0) var(--regular-table--clip-y,0), var(--regular-table--clip-x,0) 200%, 200% 200%, 200% var(--regular-table--clip-y,0))}& thead tr:last-child:after,& tbody tr:not(:first-child):after{transform:translate(var(--regular-table--transform-x,0px))}& tbody tr:hover:first-child:after{clip-path:polygon(0 var(--regular-table--clip-y,0), 0 200%, 200% 200%, 200% var(--regular-table--clip-y,0))}& thead tr th.rt-group-corner+th:not(.rt-group-corner){clip-path:polygon(var(--regular-table--clip-x,0) 0, var(--regular-table--clip-x,0) 200%, 200% 200%, 200% 0)}}regular-table{outline:none;&::-webkit-scrollbar,&::-webkit-scrollbar-corner{background-color:#0000;width:12px;height:12px}&::-webkit-scrollbar-thumb{background-clip:content-box;background:var(--psp--color);border:5.5px solid var(--psp--background-color);min-width:10%;max-width:50%;min-height:10%;max-height:50%}}perspective-viewer,:host{& .psp-menu-enabled{border-radius:3px 3px 0 0;padding:0 6px;font-size:8px}& .psp-menu-enabled:hover,& tr:not(.rt-autosize) th.psp-menu-open{color:var(--psp--background-color);background-color:var(--psp--color);border-bottom-color:var(--psp--color);cursor:pointer}& tr:not(.rt-autosize) th.psp-menu-open{&:before{background-repeat:no-repeat;background-color:var(--psp--color);content:"";width:10px;height:8px;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-image:var(--psp-icon--column-settings--mask-image);mask-image:var(--psp-icon--column-settings--mask-image);background-color:var(--psp--background-color);margin-right:4px;display:inline-block}}& td.psp-menu-open{box-shadow:inset -2px 0px 0px var(--psp--color), inset 2px 0px 0px var(--psp--color)}& tr:first-child td.psp-menu-open{border-top-color:var(--psp--color)!important}& tr:last-child td.psp-menu-open{box-shadow:inset -2px 0px 0px var(--psp--color), inset 2px 0px 0px var(--psp--color), inset 0px -2px 0px var(--psp--color)}}perspective-viewer,:host-context(perspective-viewer){& regular-table table thead tr:last-child th{border-bottom-width:1px;border-bottom-color:var(--psp-inactive--border-color,#8b868045)}}.psp-sort-enabled:hover{cursor:pointer}.psp-row-selected,:hover .psp-row-selected,:hover th.psp-tree-leaf.psp-row-selected,:hover th.psp-tree-label.psp-row-selected{color:#fff!important;background-color:var(--selected-row--background-color,#ea7319)!important;border-color:var(--selected-row--background-color,#ea7319)!important}regular-table.flat-group-rollup-mode.vertical-row-headers th.psp-tree-label:not(:last-of-type){writing-mode:vertical-lr}.psp-row-selected.psp-tree-label:not(:hover):before,regular-table:not(.flat-group-rollup-mode) .psp-row-selected.psp-tree-label:not(:hover):before{color:#fff}.psp-row-subselected,:hover .psp-row-subselected,:hover th.psp-tree-leaf.psp-row-subselected,:hover th.psp-tree-label.psp-row-subselected{background:#ea731933!important}.psp-error{color:red}td:focus{outline:1px dotted #666}perspective-viewer.dragging,:host-context(perspective-viewer.dragging){& regular-table{pointer-events:none}}.psp-header-border:last-child{border-right-width:0}.psp-header-sort-desc:after{background-repeat:no-repeat;background-color:var(--psp--color);content:"";width:14px;height:11px;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-image:var(--psp-icon--sort-desc--mask-image);mask-image:var(--psp-icon--sort-desc--mask-image);margin-left:4px;display:inline-block}.psp-header-sort-asc:after{background-repeat:no-repeat;background-color:var(--psp--color);content:"";width:14px;height:11px;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-image:var(--psp-icon--sort-asc--mask-image);mask-image:var(--psp-icon--sort-asc--mask-image);margin-left:4px;display:inline-block}.psp-header-sort-col-desc:after{background-repeat:no-repeat;background-color:var(--psp--color);content:"";width:14px;height:11px;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-image:var(--psp-icon--sort-col-desc--mask-image);mask-image:var(--psp-icon--sort-col-desc--mask-image);margin-left:4px;display:inline-block}.psp-header-sort-col-asc:after{background-repeat:no-repeat;background-color:var(--psp--color);content:"";width:14px;height:11px;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-image:var(--psp-icon--sort-col-asc--mask-image);mask-image:var(--psp-icon--sort-col-asc--mask-image);margin-left:4px;display:inline-block}.psp-header-sort-abs-desc:after{background-repeat:no-repeat;background-color:var(--psp--color);content:"";width:14px;height:11px;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-image:var(--psp-icon--sort-abs-desc--mask-image);mask-image:var(--psp-icon--sort-abs-desc--mask-image);margin-left:4px;display:inline-block}.psp-header-sort-abs-asc:after{background-repeat:no-repeat;background-color:var(--psp--color);content:"";width:14px;height:11px;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-image:var(--psp-icon--sort-abs-asc--mask-image);mask-image:var(--psp-icon--sort-abs-asc--mask-image);margin-left:4px;display:inline-block}.psp-header-sort-abs-col-desc:after{background-repeat:no-repeat;background-color:var(--psp--color);content:"";width:14px;height:11px;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-image:var(--psp-icon--sort-abs-col-desc--mask-image);mask-image:var(--psp-icon--sort-abs-col-desc--mask-image);margin-left:4px;display:inline-block}.psp-header-sort-abs-col-asc:after{background-repeat:no-repeat;background-color:var(--psp--color);content:"";width:14px;height:11px;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-image:var(--psp-icon--sort-abs-col-asc--mask-image);mask-image:var(--psp-icon--sort-abs-col-asc--mask-image);margin-left:4px;display:inline-block}tbody th:last-of-type{border-right:1px solid var(--psp-inactive--border-color,#8b868045);text-overflow:ellipsis;overflow:hidden}tbody th:empty{background-image:linear-gradient(to right, transparent 9px, var(--psp-inactive--border-color,#eee) 10px, transparent 11px);pointer-events:none;background-repeat:no-repeat;min-width:20px;max-width:20px}regular-table:not(.flat-group-rollup-mode){& .psp-tree-label{min-width:0;max-width:0}& .psp-tree-label:before{color:var(--psp--color);font-family:var(--psp-button--font-family,inherit);padding-right:11px}& .psp-tree-label-expand:before{content:var(--psp-label--tree-expand--content,"+")}& .psp-tree-label-collapse:before{content:var(--psp-label--tree-collapse--content,"-")}& .psp-tree-label-expand,& .psp-tree-label-collapse{cursor:pointer}& .psp-tree-label:hover:before{color:var(--psp-active--color);text-shadow:0px 0px 5px var(--psp-active--color)}}.psp-tree-leaf{padding-left:24px}.psp-align-right{text-align:right}.psp-align-left{text-align:left}.psp-positive:not(:focus){color:var(--psp-datagrid--pos-cell--color)}.psp-negative:not(:focus){color:var(--psp-datagrid--neg-cell--color)}regular-table table tbody td{min-width:52px!important}.psp-is-width-override .rt-column-resize,.rt-column-resize:hover{border:1px dashed #999;border-width:1px 1px 0 0}.boolean-editable{cursor:pointer}regular-table table{user-select:none;color:inherit;border-collapse:separate;font-size:1em;& th{font-weight:400}& td,& th{border-color:var(--psp-inactive--border-color,#8b868045);height:23px}& .psp-header-group{text-overflow:ellipsis}& th.psp-header-leaf{border-bottom-width:0;& span{height:23px;min-height:23px}}& td,& th.psp-tree-label,& th.psp-tree-label,& th.psp-tree-leaf,& tbody tr:first-child th{border-style:solid;border-width:1px 0 0}& tbody th:empty{background-position:0 -10px}& td.psp-select-region,& th.psp-select-region{background-color:var(--psp--color)!important;color:var(--psp--background-color)!important;border-color:var(--psp--background-color)!important}}regular-table tbody tr:hover td.psp-select-region:not(.psp-row-selected):not(.psp-row-subselected),regular-table tbody tr:hover+tr td.psp-select-region:not(.psp-row-selected):not(.psp-row-subselected){border-color:var(--psp--background-color)!important}regular-table tbody tr:hover{& td.psp-select-region.psp-menu-open{&:not(.psp-row-selected):not(.psp-row-subselected){box-shadow:inset -2px 0px 0px var(--psp--background-color), inset 2px 0px 0px var(--psp--background-color)}}}:host-context(perspective-viewer[settings]) td.psp-select-region.psp-menu-open{box-shadow:inset -2px 0px 0px var(--psp--background-color), inset 2px 0px 0px var(--psp--background-color)}regular-table #psp-column-edit-buttons th:not(.rt-group-corner) span:not(.rt-column-resize):before{content:var(--psp-datagrid--column-edit-button--content,"Edit")}perspective-viewer:not([settings]),:host-context(perspective-viewer:not([settings])){& regular-table #psp-column-edit-buttons:after{content:none}}regular-table table thead tr:last-child:after{box-sizing:border-box;content:" ";border-bottom:1px solid var(--psp-inactive--border-color);width:10000px;height:23px;display:block}regular-table table tbody tr:after{box-sizing:border-box;content:" ";border-top:1px solid #0000;width:10000px;height:23px;display:block}regular-table table tbody tr:not(:first-child):after{border-top:1px solid var(--psp-inactive--border-color)}regular-table table tbody tr:hover:not(:first-child):after,regular-table table tbody tr:hover+tr:after{border-top:1px solid var(--psp-datagrid--hover--border-color)}@keyframes pulse_pos{0%{background-color:var(--pulse--background-color-start,#0080ff80)}to{background-color:var(--pulse--background-color-end,#0080ff00)}}@keyframes pulse_pos2{0%{background-color:var(--pulse--background-color-start,#0080ff80)}to{background-color:var(--pulse--background-color-end,#0080ff00)}}@keyframes pulse_neg{0%{background-color:var(--pulse--background-color-start,#ff190080)}to{background-color:var(--pulse--background-color-end,#ff190000)}}@keyframes pulse_neg2{0%{background-color:var(--pulse--background-color-start,#ff190080)}to{background-color:var(--pulse--background-color-end,#ff190000)}}';var Z=class e extends HTMLElement{static _global_stylesheet_installed=!1;static _sheet;static renderTarget=window.CSS?.supports&&window.CSS?.supports("selector(:host-context(foo))")?"shadow":"light";regular_table;model;_toolbar;_edit_button;_scroll_lock;_is_scroll_lock;_edit_mode;_initialized;_reset_scroll_top;_reset_scroll_left;_reset_select;_reset_column_size;constructor(){super(),this.regular_table=document.createElement("regular-table"),this.regular_table.part="regular-table",this._is_scroll_lock=!1,this._edit_mode="READ_ONLY";let t=e;t._sheet||(t._sheet=new CSSStyleSheet,t._sheet.replaceSync(Xe)),t.renderTarget==="shadow"?this.attachShadow({mode:"open"}).adoptedStyleSheets.push(t._sheet):t.renderTarget==="light"&&!t._global_stylesheet_installed&&(t._global_stylesheet_installed=!0,document.adoptedStyleSheets.push(t._sheet))}connectedCallback(){this._toolbar||(this._toolbar=document.createElement("perspective-viewer-datagrid-toolbar"));let t=this.parentElement;t&&t.appendChild(this._toolbar)}disconnectedCallback(){this._toolbar?.parentElement?.removeChild?.(this._toolbar)}async activate(t){return await Ke.call(this,t)}get name(){return"Datagrid"}get category(){return"Basic"}get select_mode(){return"toggle"}get min_config_columns(){}get config_column_names(){return["Columns"]}get group_rollups(){return["rollup","flat","total"]}get priority(){return 1}can_render_column_styles(t,o){return t!=="boolean"}column_style_controls(t,o){return se.call(this,t,o)}async draw(t){return await Ze.call(this,t)}async update(t){if(this.model===void 0)await this.draw(t);else if(this.model._config.split_by?.length>0){let o=await t.dimensions();this.model._num_rows=o.num_view_rows,await this.regular_table.draw()}else this.model._num_rows=await t.num_rows(),await this.regular_table.draw()}async render(t){let r=await this.parentElement.getView(),n=await r.to_columns(t),s=await r.column_paths(t),l=t?.end_row!==void 0&&t?.end_row!==null&&t?.start_row!==void 0&&t?.start_row!==null?t.end_row-t.start_row:await r.num_rows(),a="";for(let i=0;i<l;i++){for(let d of s){let p=n[d],c=this.model._schema[d],m=this.regular_table[C],_=d.split("|").at(-1),u=ce(c,m?.[_]||{});u?a+=u.format(p[i])+" ":a+=p[i]+" "}a+=`
2
+ `}return a.trim()}async resize(){!this.isConnected||this.offsetParent==null||this._initialized&&await this.regular_table.draw()}async clear(){this.regular_table.resetAutoSize(),this.regular_table.clear()}async save(){return Je.call(this)}async restore(t,o){return qe.call(this,t,o??{})}async restyle(){this.model?._view&&await this.draw(this.model._view)}async delete(){this.disconnectedCallback(),this._toolbar=void 0,this.regular_table.table_model&&this.regular_table.resetAutoSize(),this.regular_table.clear()}};var Qe=':host{height:100%;display:block;position:relative}:host #container{flex-direction:column;justify-content:stretch;align-items:stretch;display:flex;position:absolute;inset:0}:host #toolbar{align-items:stretch;height:100%;display:flex}:host #toolbar .hover-target{cursor:pointer;align-items:center;margin:0;display:inline-flex;&:hover{box-shadow:-4px 0 0 var(--psp--color), 4px 0 0 var(--psp--color);background-color:var(--psp--color)}}:host #slot-container{flex:1;position:relative}#scroll_lock.lock-scroll:before{-webkit-mask-image:var(--psp-toolbar-scroll-lock-active--content)}#scroll_lock:before{-webkit-mask-image:var(--psp-toolbar-scroll-lock--content)}#select_mode:before{content:"highlight_alt"}#edit_mode:before{-webkit-mask-image:""}#edit_mode[data-edit-mode=READ_ONLY]:before{-webkit-mask-image:var(--psp-toolbar-edit-mode-read-only--content)}#edit_mode[data-edit-mode=EDIT]:before{-webkit-mask-image:var(--psp-toolbar-edit-mode-edit--content)}:host(.aggregated) #toolbar #edit_mode[data-edit-mode=EDIT]:before{-webkit-mask-image:var(--psp-toolbar-edit-mode-read-only--content)}#edit_mode[data-edit-mode=SELECT_ROW]:before{-webkit-mask-image:var(--psp-toolbar-edit-mode-select-row--content)}#edit_mode[data-edit-mode=SELECT_COLUMN]:before{-webkit-mask-image:var(--psp-toolbar-edit-mode-select-column--content)}#edit_mode[data-edit-mode=SELECT_REGION]:before{-webkit-mask-image:var(--psp-toolbar-edit-mode-select-region--content)}#edit_mode[data-edit-mode=READ_ONLY] span:before{content:var(--psp-label--edit-mode-read-only--content,"Read Only")}#edit_mode[data-edit-mode=EDIT] span:before{content:var(--psp-label--edit-mode-edit--content,"Editable")}#edit_mode[data-edit-mode=SELECT_ROW] span:before{content:var(--psp-label--edit-mode-select-row--content,"Row Select")}#edit_mode[data-edit-mode=SELECT_COLUMN] span:before{content:var(--psp-label--edit-mode-select-column--content,"Column Select")}#edit_mode[data-edit-mode=SELECT_REGION] span:before{content:var(--psp-label--edit-mode-select-region--content,"Region Select")}#scroll_lock span:before{content:var(--psp-label--scroll-lock-toggle--content,"Free Scroll")}#scroll_lock.lock-scroll span:before{content:var(--psp-label--scroll-lock-alt-toggle--content,"Align Scroll")}.button:before{content:"";background-color:var(--psp--color);width:21px;height:21px;-webkit-mask-size:cover;mask-size:cover}.button.editable:before,.button.lock-scroll:before{color:inherit}.button{user-select:none;box-sizing:border-box;font-size:var(--label--font-size,.75em);white-space:nowrap;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;width:37px;height:22px;padding:0 5px;display:inline-flex}.button>span{margin:0;padding:0;display:none}.hover-target:focus-within .button,.hover-target:hover .button{background-color:var(--psp--color);color:var(--psp--background-color);opacity:1;cursor:pointer;align-items:center;display:flex;position:relative}.hover-target:focus-within .button:before,.hover-target:hover .button:before{background-color:var(--psp--background-color)}.hover-target:focus-within .button>span,.hover-target:hover .button>span{white-space:pre-wrap;background-color:var(--psp--color);text-align:center;border-radius:0 0 3px 3px;width:35px;height:auto;margin:0;padding:5px;font-size:9px;line-height:1;display:block;position:absolute;top:calc(100% + 3px);left:50%;translate:-50%}';var et=new CSSStyleSheet;et.replaceSync(Qe);var X=class extends HTMLElement{_initialized=!1;connectedCallback(){if(this._initialized)return;this._initialized=!0,this.setAttribute("slot","statusbar-extra"),this.attachShadow({mode:"open"}),this.shadowRoot.adoptedStyleSheets.push(et),this.shadowRoot.innerHTML=`
3
3
  <div id="toolbar">
4
4
  <span class="hover-target">
5
5
  <span id="scroll_lock" class="button">