@xiee/utils 1.14.91 → 1.14.92

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.
@@ -29,7 +29,9 @@
29
29
  background-image: none;
30
30
  }
31
31
 
32
- .lti-sortable {
32
+ /* the click target is the label span, not the whole cell (so the resize grip
33
+ * stays separate), so the pointer cursor belongs on the label too */
34
+ .lti-sortable .lti-label {
33
35
  cursor: pointer;
34
36
  user-select: none;
35
37
  }
@@ -1,2 +1,2 @@
1
- .lt-table{& :is(.lti-head,.lti-pager-row) td{padding-left:0;padding-right:0}& .lti-search{background-image:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"gray\" stroke-width=\"2\"><circle cx=\"6.5\" cy=\"6.5\" r=\"4.5\"/><path d=\"M10 10l5 5\"/></svg>");background-position:.4em;background-repeat:no-repeat;background-size:1em;width:100%;padding:.5em 0 .5em 1.6em}& .lti-search:focus{background-image:none;padding-left:.5em}& .lti-sortable{cursor:pointer;user-select:none}& .lti-sort{margin-left:.3em;font-size:.8em}& .lti-empty td{text-align:center}& .lti-expand{cursor:pointer;background:0 0;border:none;margin-right:.4em;padding:0}& .lti-detail>td{padding-left:1.5em}& th:has(.lti-resizer){position:relative}& .lti-resizer{cursor:col-resize;user-select:none;touch-action:none;width:5px;height:100%;position:absolute;top:0;right:0}& .lti-resizer:hover{opacity:.3;background:currentColor}&.lti-resizing{cursor:col-resize;user-select:none}&.lti-fixed{table-layout:fixed;& thead th,& tbody tr:not(.lti-detail) td{overflow:hidden}}& .lti-bar{align-items:center;gap:.3em;display:flex;& .lti-search{flex:1}&:has(.lti-cols){justify-content:space-between;& .lti-search{flex:0 auto;width:auto}}}& .lti-cols{position:relative;& button{background:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"gray\" stroke-width=\"1.5\"><path d=\"M1 8s2.5-4.5 7-4.5 7 4.5 7 4.5-2.5 4.5-7 4.5-7-4.5-7-4.5z\"/><circle cx=\"8\" cy=\"8\" r=\"2\"/></svg>") 50%/contain no-repeat;border:none;width:1.2em;height:1.2em;padding:0}& .lti-menu{z-index:1;background:canvas;border:1px solid;padding:.3em .6em;position:absolute;top:100%;left:0;& label{white-space:nowrap;cursor:pointer;display:block}}}& .lti-chip{align-items:center;gap:.3em;display:inline-flex;&.lti-on .lti-chip-name{font-weight:600}& .lti-chip-cur{color:#555;font-variant-numeric:tabular-nums}}& .lti-pop{position:relative;& .lti-funnel{opacity:.55;background:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" fill=\"gray\"><path d=\"M1 2h14l-5.5 6.5V14l-3 1V8.5z\"/></svg>") 50%/contain no-repeat;border:none;width:1.1em;height:1.1em;padding:0}&.lti-on .lti-funnel{opacity:1}& .lti-pop-panel{z-index:1;flex-direction:column;display:flex;position:absolute;top:100%;left:0;&[hidden]{display:none}background:canvas;border:1px solid;gap:.5em;min-width:14em;max-width:90vw;padding:.6em}}& .lti-slider{height:1.2em;margin:.4em .6em;position:relative;&:before{content:"";background:#c8c8c8;border-radius:3px;height:3px;position:absolute;inset:50% 0 auto;transform:translateY(-50%)}& .lti-slider-fill{background:#4a90d9;height:3px;position:absolute;inset:50% 0;transform:translateY(-50%)}& .lti-thumb{cursor:pointer;touch-action:none;background:#4a90d9;border:2px solid #fff;border-radius:50%;width:14px;height:14px;padding:0;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 2px #0006}}& .lti-slider-out{text-align:center;font-variant-numeric:tabular-nums}& .lti-pager{align-items:center;gap:.3em;display:flex}& button,& select{font:inherit;cursor:pointer}& .lti-pos{margin:0 auto 0 .3em}}
1
+ .lt-table{& :is(.lti-head,.lti-pager-row) td{padding-left:0;padding-right:0}& .lti-search{background-image:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"gray\" stroke-width=\"2\"><circle cx=\"6.5\" cy=\"6.5\" r=\"4.5\"/><path d=\"M10 10l5 5\"/></svg>");background-position:.4em;background-repeat:no-repeat;background-size:1em;width:100%;padding:.5em 0 .5em 1.6em}& .lti-search:focus{background-image:none;padding-left:.5em}& .lti-sortable .lti-label{cursor:pointer;user-select:none}& .lti-sort{margin-left:.3em;font-size:.8em}& .lti-empty td{text-align:center}& .lti-expand{cursor:pointer;background:0 0;border:none;margin-right:.4em;padding:0}& .lti-detail>td{padding-left:1.5em}& th:has(.lti-resizer){position:relative}& .lti-resizer{cursor:col-resize;user-select:none;touch-action:none;width:5px;height:100%;position:absolute;top:0;right:0}& .lti-resizer:hover{opacity:.3;background:currentColor}&.lti-resizing{cursor:col-resize;user-select:none}&.lti-fixed{table-layout:fixed;& thead th,& tbody tr:not(.lti-detail) td{overflow:hidden}}& .lti-bar{align-items:center;gap:.3em;display:flex;& .lti-search{flex:1}&:has(.lti-cols){justify-content:space-between;& .lti-search{flex:0 auto;width:auto}}}& .lti-cols{position:relative;& button{background:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"gray\" stroke-width=\"1.5\"><path d=\"M1 8s2.5-4.5 7-4.5 7 4.5 7 4.5-2.5 4.5-7 4.5-7-4.5-7-4.5z\"/><circle cx=\"8\" cy=\"8\" r=\"2\"/></svg>") 50%/contain no-repeat;border:none;width:1.2em;height:1.2em;padding:0}& .lti-menu{z-index:1;background:canvas;border:1px solid;padding:.3em .6em;position:absolute;top:100%;left:0;& label{white-space:nowrap;cursor:pointer;display:block}}}& .lti-chip{align-items:center;gap:.3em;display:inline-flex;&.lti-on .lti-chip-name{font-weight:600}& .lti-chip-cur{color:#555;font-variant-numeric:tabular-nums}}& .lti-pop{position:relative;& .lti-funnel{opacity:.55;background:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" fill=\"gray\"><path d=\"M1 2h14l-5.5 6.5V14l-3 1V8.5z\"/></svg>") 50%/contain no-repeat;border:none;width:1.1em;height:1.1em;padding:0}&.lti-on .lti-funnel{opacity:1}& .lti-pop-panel{z-index:1;flex-direction:column;display:flex;position:absolute;top:100%;left:0;&[hidden]{display:none}background:canvas;border:1px solid;gap:.5em;min-width:14em;max-width:90vw;padding:.6em}}& .lti-slider{height:1.2em;margin:.4em .6em;position:relative;&:before{content:"";background:#c8c8c8;border-radius:3px;height:3px;position:absolute;inset:50% 0 auto;transform:translateY(-50%)}& .lti-slider-fill{background:#4a90d9;height:3px;position:absolute;inset:50% 0;transform:translateY(-50%)}& .lti-thumb{cursor:pointer;touch-action:none;background:#4a90d9;border:2px solid #fff;border-radius:50%;width:14px;height:14px;padding:0;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 2px #0006}}& .lti-slider-out{text-align:center;font-variant-numeric:tabular-nums}& .lti-pager{align-items:center;gap:.3em;display:flex}& button,& select{font:inherit;cursor:pointer}& .lti-pos{margin:0 auto 0 .3em}}
2
2
  /*# sourceMappingURL=lt-interactive.min.css.map */
@@ -1 +1 @@
1
- {"version":3,"mappings":"AAKA,UAGE,kEAQA,gWAUA,4DAKA,gDAKA,4CAKA,kCAMA,oFASA,oCAKA,yCAGA,0HAUA,wDAMA,kDAKA,+BAME,2DAOF,oDAIE,qBAGA,+CAIE,uCAQJ,8BAEE,uVAOA,6GAQE,0DAUJ,4DAIE,wCAGA,8DAKF,6BAEE,oQAUA,+BAGA,gGAQE,uBACI,wFAUR,8DAIE,kIASA,0GAOA,6NAeF,sEAKA,sDAKA,8CAKA","sources":["lt-interactive.css"],"sourcesContent":["/* lt-interactive.css — controls for lt-interactive.js (search box, sortable\n * headers, column filters, pager). Classes are namespaced `lti-*` to avoid\n * clashing with core `lt-*`. Only properties that change a default are\n * declared. */\n\n.lt-table {\n /* the search box and the pager are full-width rows of the table, so they line\n * up with its edges rather than the cell text */\n :is(.lti-head, .lti-pager-row) td {\n padding-left: 0;\n padding-right: 0;\n }\n\n /* Each box fills its cell: the whole table for the search, one column for a\n * filter. A faded magnifier stands in for a placeholder — it says \"type here\n * to search\" in no language — and steps aside once the box has the focus. */\n .lti-search {\n width: 100%;\n padding: .5em 0 .5em 1.6em;\n background-image: url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"gray\" stroke-width=\"2\"><circle cx=\"6.5\" cy=\"6.5\" r=\"4.5\"/><path d=\"M10 10l5 5\"/></svg>');\n background-repeat: no-repeat;\n background-position: 0.4em center;\n background-size: 1em;\n }\n /* on focus the magnifier goes away, leaving a small left pad so the caret\n * sits just inside the edge rather than behind the icon's wider gutter */\n .lti-search:focus {\n padding-left: .5em;\n background-image: none;\n }\n\n .lti-sortable {\n cursor: pointer;\n user-select: none;\n }\n /* the ▲/▼ indicator, set off from the column label */\n .lti-sort {\n margin-left: 0.3em;\n font-size: 0.8em;\n }\n\n .lti-empty td {\n text-align: center;\n }\n\n /* the expand caret leads the first cell of each row; it carries its own\n * glyph (▸ / ▾), so it needs no borders or background of its own */\n .lti-expand {\n border: none;\n background: none;\n padding: 0;\n margin-right: 0.4em;\n cursor: pointer;\n }\n /* a row's detail spans every column; the inset marks it as belonging to the\n * row above it */\n .lti-detail > td {\n padding-left: 1.5em;\n }\n\n /* the drag grip sits on a column's right edge, inside its header cell */\n th:has(.lti-resizer) {\n position: relative;\n }\n .lti-resizer {\n position: absolute;\n top: 0;\n right: 0;\n width: 5px;\n height: 100%;\n cursor: col-resize;\n user-select: none;\n touch-action: none;\n }\n .lti-resizer:hover {\n background: currentColor;\n opacity: 0.3;\n }\n /* while dragging, the pointer keeps the resize cursor anywhere on the table,\n * and the drag selects no text */\n &.lti-resizing {\n cursor: col-resize;\n user-select: none;\n }\n /* column widths are authoritative once frozen, so a drag moves one edge only */\n &.lti-fixed {\n table-layout: fixed;\n /* a shrunk column hides its overflow rather than spilling into the next\n * column or out under the resize grip, so the grip can shrink it freely;\n * the detail row (full width, possibly tall) and the popover-bearing\n * filter/bar cells (<td>) are left to overflow */\n thead th, tbody tr:not(.lti-detail) td {\n overflow: hidden;\n }\n }\n\n /* the column menu and search box share this flex bar: alone, the search fills\n * it; with the menu button, they sit at opposite ends */\n .lti-bar {\n display: flex;\n align-items: center;\n gap: 0.3em;\n .lti-search {\n flex: 1;\n }\n &:has(.lti-cols) {\n justify-content: space-between;\n /* width:auto overrides the base 100%, so the box takes its natural width\n * and the free space falls between it and the menu button */\n .lti-search {\n flex: 0 1 auto;\n width: auto;\n }\n }\n }\n\n /* the column-visibility menu: an eye button and the checklist it pops up */\n .lti-cols {\n position: relative;\n button {\n border: none;\n padding: 0;\n width: 1.2em;\n height: 1.2em;\n background: center / contain no-repeat url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"gray\" stroke-width=\"1.5\"><path d=\"M1 8s2.5-4.5 7-4.5 7 4.5 7 4.5-2.5 4.5-7 4.5-7-4.5-7-4.5z\"/><circle cx=\"8\" cy=\"8\" r=\"2\"/></svg>');\n }\n .lti-menu {\n position: absolute;\n z-index: 1;\n top: 100%;\n left: 0;\n background: Canvas;\n border: 1px solid;\n padding: 0.3em 0.6em;\n label {\n display: block;\n white-space: nowrap;\n cursor: pointer;\n }\n }\n }\n\n /* typed filter chips sit after the search box in the head bar; each is a label,\n * a summary of the current filter, and a funnel popping up the widget + box */\n .lti-chip {\n display: inline-flex;\n align-items: center;\n gap: 0.3em;\n &.lti-on .lti-chip-name {\n font-weight: 600;\n }\n .lti-chip-cur {\n color: #555;\n font-variant-numeric: tabular-nums;\n }\n }\n .lti-pop {\n position: relative;\n .lti-funnel {\n border: none;\n padding: 0;\n width: 1.1em;\n height: 1.1em;\n opacity: 0.55;\n background: center / contain no-repeat url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" fill=\"gray\"><path d=\"M1 2h14l-5.5 6.5V14l-3 1V8.5z\"/></svg>');\n }\n /* a funnel standing in for a header-level filter reads as active when its\n * column has a live term */\n &.lti-on .lti-funnel {\n opacity: 1;\n }\n .lti-pop-panel {\n position: absolute;\n z-index: 1;\n top: 100%;\n left: 0;\n display: flex;\n flex-direction: column;\n /* an explicit display beats the UA [hidden] rule, so re-hide it here */\n &[hidden] { display: none; }\n gap: 0.5em;\n min-width: 14em;\n max-width: 90vw;\n padding: 0.6em;\n background: Canvas;\n border: 1px solid;\n }\n }\n\n /* the custom range slider: a track with a fill band between two button thumbs */\n .lti-slider {\n position: relative;\n height: 1.2em;\n margin: 0.4em 0.6em;\n &::before {\n content: \"\";\n position: absolute;\n inset: 50% 0 auto;\n height: 3px;\n transform: translateY(-50%);\n background: #c8c8c8;\n border-radius: 3px;\n }\n .lti-slider-fill {\n position: absolute;\n inset: 50% 0;\n height: 3px;\n transform: translateY(-50%);\n background: #4a90d9;\n }\n .lti-thumb {\n position: absolute;\n top: 50%;\n width: 14px;\n height: 14px;\n padding: 0;\n transform: translate(-50%, -50%);\n border: 2px solid #fff;\n border-radius: 50%;\n background: #4a90d9;\n box-shadow: 0 0 2px rgba(0, 0, 0, 0.4);\n cursor: pointer;\n touch-action: none;\n }\n }\n .lti-slider-out {\n text-align: center;\n font-variant-numeric: tabular-nums;\n }\n\n .lti-pager {\n display: flex;\n align-items: center;\n gap: 0.3em;\n }\n button, select {\n font: inherit;\n cursor: pointer;\n }\n /* push the row count away from the arrows, and the page size to the far end */\n .lti-pos {\n margin: 0 auto 0 0.3em;\n }\n}\n"],"names":[]}
1
+ {"version":3,"mappings":"AAKA,UAGE,kEAQA,gWAUA,4DAOA,2DAKA,4CAKA,kCAMA,oFASA,oCAKA,yCAGA,0HAUA,wDAMA,kDAKA,+BAME,2DAOF,oDAIE,qBAGA,+CAIE,uCAQJ,8BAEE,uVAOA,6GAQE,0DAUJ,4DAIE,wCAGA,8DAKF,6BAEE,oQAUA,+BAGA,gGAQE,uBACI,wFAUR,8DAIE,kIASA,0GAOA,6NAeF,sEAKA,sDAKA,8CAKA","sources":["lt-interactive.css"],"sourcesContent":["/* lt-interactive.css — controls for lt-interactive.js (search box, sortable\n * headers, column filters, pager). Classes are namespaced `lti-*` to avoid\n * clashing with core `lt-*`. Only properties that change a default are\n * declared. */\n\n.lt-table {\n /* the search box and the pager are full-width rows of the table, so they line\n * up with its edges rather than the cell text */\n :is(.lti-head, .lti-pager-row) td {\n padding-left: 0;\n padding-right: 0;\n }\n\n /* Each box fills its cell: the whole table for the search, one column for a\n * filter. A faded magnifier stands in for a placeholder — it says \"type here\n * to search\" in no language — and steps aside once the box has the focus. */\n .lti-search {\n width: 100%;\n padding: .5em 0 .5em 1.6em;\n background-image: url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"gray\" stroke-width=\"2\"><circle cx=\"6.5\" cy=\"6.5\" r=\"4.5\"/><path d=\"M10 10l5 5\"/></svg>');\n background-repeat: no-repeat;\n background-position: 0.4em center;\n background-size: 1em;\n }\n /* on focus the magnifier goes away, leaving a small left pad so the caret\n * sits just inside the edge rather than behind the icon's wider gutter */\n .lti-search:focus {\n padding-left: .5em;\n background-image: none;\n }\n\n /* the click target is the label span, not the whole cell (so the resize grip\n * stays separate), so the pointer cursor belongs on the label too */\n .lti-sortable .lti-label {\n cursor: pointer;\n user-select: none;\n }\n /* the ▲/▼ indicator, set off from the column label */\n .lti-sort {\n margin-left: 0.3em;\n font-size: 0.8em;\n }\n\n .lti-empty td {\n text-align: center;\n }\n\n /* the expand caret leads the first cell of each row; it carries its own\n * glyph (▸ / ▾), so it needs no borders or background of its own */\n .lti-expand {\n border: none;\n background: none;\n padding: 0;\n margin-right: 0.4em;\n cursor: pointer;\n }\n /* a row's detail spans every column; the inset marks it as belonging to the\n * row above it */\n .lti-detail > td {\n padding-left: 1.5em;\n }\n\n /* the drag grip sits on a column's right edge, inside its header cell */\n th:has(.lti-resizer) {\n position: relative;\n }\n .lti-resizer {\n position: absolute;\n top: 0;\n right: 0;\n width: 5px;\n height: 100%;\n cursor: col-resize;\n user-select: none;\n touch-action: none;\n }\n .lti-resizer:hover {\n background: currentColor;\n opacity: 0.3;\n }\n /* while dragging, the pointer keeps the resize cursor anywhere on the table,\n * and the drag selects no text */\n &.lti-resizing {\n cursor: col-resize;\n user-select: none;\n }\n /* column widths are authoritative once frozen, so a drag moves one edge only */\n &.lti-fixed {\n table-layout: fixed;\n /* a shrunk column hides its overflow rather than spilling into the next\n * column or out under the resize grip, so the grip can shrink it freely;\n * the detail row (full width, possibly tall) and the popover-bearing\n * filter/bar cells (<td>) are left to overflow */\n thead th, tbody tr:not(.lti-detail) td {\n overflow: hidden;\n }\n }\n\n /* the column menu and search box share this flex bar: alone, the search fills\n * it; with the menu button, they sit at opposite ends */\n .lti-bar {\n display: flex;\n align-items: center;\n gap: 0.3em;\n .lti-search {\n flex: 1;\n }\n &:has(.lti-cols) {\n justify-content: space-between;\n /* width:auto overrides the base 100%, so the box takes its natural width\n * and the free space falls between it and the menu button */\n .lti-search {\n flex: 0 1 auto;\n width: auto;\n }\n }\n }\n\n /* the column-visibility menu: an eye button and the checklist it pops up */\n .lti-cols {\n position: relative;\n button {\n border: none;\n padding: 0;\n width: 1.2em;\n height: 1.2em;\n background: center / contain no-repeat url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"gray\" stroke-width=\"1.5\"><path d=\"M1 8s2.5-4.5 7-4.5 7 4.5 7 4.5-2.5 4.5-7 4.5-7-4.5-7-4.5z\"/><circle cx=\"8\" cy=\"8\" r=\"2\"/></svg>');\n }\n .lti-menu {\n position: absolute;\n z-index: 1;\n top: 100%;\n left: 0;\n background: Canvas;\n border: 1px solid;\n padding: 0.3em 0.6em;\n label {\n display: block;\n white-space: nowrap;\n cursor: pointer;\n }\n }\n }\n\n /* typed filter chips sit after the search box in the head bar; each is a label,\n * a summary of the current filter, and a funnel popping up the widget + box */\n .lti-chip {\n display: inline-flex;\n align-items: center;\n gap: 0.3em;\n &.lti-on .lti-chip-name {\n font-weight: 600;\n }\n .lti-chip-cur {\n color: #555;\n font-variant-numeric: tabular-nums;\n }\n }\n .lti-pop {\n position: relative;\n .lti-funnel {\n border: none;\n padding: 0;\n width: 1.1em;\n height: 1.1em;\n opacity: 0.55;\n background: center / contain no-repeat url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" fill=\"gray\"><path d=\"M1 2h14l-5.5 6.5V14l-3 1V8.5z\"/></svg>');\n }\n /* a funnel standing in for a header-level filter reads as active when its\n * column has a live term */\n &.lti-on .lti-funnel {\n opacity: 1;\n }\n .lti-pop-panel {\n position: absolute;\n z-index: 1;\n top: 100%;\n left: 0;\n display: flex;\n flex-direction: column;\n /* an explicit display beats the UA [hidden] rule, so re-hide it here */\n &[hidden] { display: none; }\n gap: 0.5em;\n min-width: 14em;\n max-width: 90vw;\n padding: 0.6em;\n background: Canvas;\n border: 1px solid;\n }\n }\n\n /* the custom range slider: a track with a fill band between two button thumbs */\n .lti-slider {\n position: relative;\n height: 1.2em;\n margin: 0.4em 0.6em;\n &::before {\n content: \"\";\n position: absolute;\n inset: 50% 0 auto;\n height: 3px;\n transform: translateY(-50%);\n background: #c8c8c8;\n border-radius: 3px;\n }\n .lti-slider-fill {\n position: absolute;\n inset: 50% 0;\n height: 3px;\n transform: translateY(-50%);\n background: #4a90d9;\n }\n .lti-thumb {\n position: absolute;\n top: 50%;\n width: 14px;\n height: 14px;\n padding: 0;\n transform: translate(-50%, -50%);\n border: 2px solid #fff;\n border-radius: 50%;\n background: #4a90d9;\n box-shadow: 0 0 2px rgba(0, 0, 0, 0.4);\n cursor: pointer;\n touch-action: none;\n }\n }\n .lti-slider-out {\n text-align: center;\n font-variant-numeric: tabular-nums;\n }\n\n .lti-pager {\n display: flex;\n align-items: center;\n gap: 0.3em;\n }\n button, select {\n font: inherit;\n cursor: pointer;\n }\n /* push the row count away from the arrows, and the page size to the far end */\n .lti-pos {\n margin: 0 auto 0 0.3em;\n }\n}\n"],"names":[]}
@@ -5,8 +5,9 @@
5
5
  * table whose spec carries `interactive`, it adds the requested controls and
6
6
  * re-renders <tbody> through the core `spec._viewRows` seam. Every control is a
7
7
  * row of the table itself — the search box in <thead>, the pager in <tfoot> —
8
- * so it is exactly as wide as the table and scrolls with it. Flat rows only (no
9
- * row groups or indentation); such tables stay static, with a console warning.
8
+ * so it is exactly as wide as the table and scrolls with it. Row structure is
9
+ * honored: separator row groups, indentation, and rowspan row groups all
10
+ * sort/filter within each group or subtree, never across it (see computeView).
10
11
  */
11
12
  (root => {
12
13
  "use strict";
@@ -31,6 +32,13 @@
31
32
  $$ = (el, sel) => el.querySelectorAll(sel),
32
33
  on = (t, type, fn, opts) => t.addEventListener(type, fn, opts),
33
34
  off = (t, type, fn) => t.removeEventListener(type, fn);
35
+ // A row's data cells, in column order: its children minus the leading rowspan
36
+ // group-column cells (class `lt-row-group`), which are not in `spec._cols` and,
37
+ // in rowspan mode, appear on some rows but not others (a run's later rows have
38
+ // none). Selecting by class — not position — is what lets the positional code
39
+ // (hide, detail, display capture) stay correct whatever leads the row.
40
+ const dataCells = tr =>
41
+ [...tr.children].filter(c => !c.classList.contains("lt-row-group"));
34
42
  // Create a <tag> and assign `props`: a dashed key ("aria-label") sets an
35
43
  // attribute, any other key ("className", "type", "textContent") a DOM
36
44
  // property. Appends to `parent` when given, and returns the new element.
@@ -97,51 +105,140 @@
97
105
  // predicates are combined with AND: a row must pass all of them.
98
106
  function computeView(spec, disp, state) {
99
107
  const cols = spec._cols || [], data = spec.data || {},
108
+ nRow = (data[cols[0]] || []).length,
100
109
  cell = (c, r) => ({
101
110
  raw: data[c]?.[r - 1] ?? null, disp: disp[c]?.[r - 1] ?? ""
102
111
  });
103
- let idx = Array.from({ length: (data[cols[0]] || []).length }, (_, i) => i + 1);
104
112
 
105
- // filters first: each looks at one cell, so they are the cheapest
113
+ // The per-row keep test: the column filters, the table-wide search, then the
114
+ // externally registered predicates, combined with AND (a row must pass all).
115
+ // A filter looks at one cell, so the cheap tests come first.
116
+ const tests = [];
106
117
  for (const c in state.filters || {}) {
107
118
  const pred = matcher(state.filters[c]);
108
- if (pred) idx = idx.filter(r => pred([cell(c, r)]));
119
+ if (pred) tests.push(r => pred([cell(c, r)]));
109
120
  }
110
- const pred = matcher(state.term);
111
- if (pred) idx = idx.filter(r => pred(cols.map(c => cell(c, r))));
112
-
121
+ const sPred = matcher(state.term);
122
+ if (sPred) tests.push(r => sPred(cols.map(c => cell(c, r))));
113
123
  // predicates registered from outside (el._lt.filter) run last, each a
114
- // function of the row's raw values keyed by column; combined with AND. The
115
- // row carries *every* column (not just the visible `cols`), so a widget can
116
- // filter on a hidden helper column — e.g. forestly's incidence slider reads
117
- // the hidden `hide_prop`, its parameter dropdown the hidden `parameter`.
124
+ // function of the row's raw values keyed by column. The row carries *every*
125
+ // column (not just the visible `cols`), so a widget can filter on a hidden
126
+ // helper column — e.g. forestly's incidence slider reads the hidden
127
+ // `hide_prop`, its parameter dropdown the hidden `parameter`.
118
128
  const fns = Object.values(state.predicates || {});
119
129
  if (fns.length) {
120
- const all = Object.keys(data);
121
- const row = r => Object.fromEntries(all.map(c => [c, data[c]?.[r - 1] ?? null]));
122
- idx = idx.filter(r => { const o = row(r); return fns.every(f => f(o)); });
130
+ const all = Object.keys(data),
131
+ row = r => Object.fromEntries(all.map(c => [c, data[c]?.[r - 1] ?? null]));
132
+ tests.push(r => { const o = row(r); return fns.every(f => f(o)); });
123
133
  }
124
-
125
- // sort by each key in turn, falling through to the next on a tie; a key's
126
- // column (resolved once) carries its numeric test and direction. nulls sort
127
- // last regardless of direction, so the direction never applies to them.
128
- const keys = (state.sort || []).map(k => {
129
- const col = data[k.col];
130
- return col && { col, num: numCol(col), dir: k.dir === "desc" ? -1 : 1 };
131
- }).filter(Boolean);
132
- if (keys.length) {
133
- coll ||= new Intl.Collator();
134
- idx.sort((a, b) => {
134
+ const keep = r => tests.every(t => t(r));
135
+
136
+ // Build a comparator from a list of sort keys: each key in turn, falling
137
+ // through to the next on a tie; a key's column (resolved once) carries its
138
+ // numeric test and direction. nulls sort last regardless of direction, so the
139
+ // direction never applies to them. Null when the list sorts nothing.
140
+ const makeCmp = sortKeys => {
141
+ const keys = sortKeys.map(k => {
142
+ const col = data[k.col];
143
+ return col && { col, num: numCol(col), dir: k.dir === "desc" ? -1 : 1 };
144
+ }).filter(Boolean);
145
+ return keys.length ? (a, b) => {
135
146
  for (const { col, num, dir } of keys) {
136
147
  const x = col[a - 1], y = col[b - 1], xn = x == null, yn = y == null;
137
148
  if (xn || yn) { if (xn !== yn) return xn ? 1 : -1; continue; }
149
+ coll ||= new Intl.Collator();
138
150
  const c = num ? x - y : coll.compare(String(x), String(y));
139
151
  if (c) return dir * c;
140
152
  }
141
153
  return 0;
142
- });
154
+ } : null;
155
+ };
156
+
157
+ // Reduce a list of rows (in document order) to the kept rows in view order,
158
+ // sorted by `cmp`. With no indentation this is a plain filter + sort. With
159
+ // indentation the rows form a tree (a row's parent is the nearest earlier row
160
+ // one level up): filtering keeps any row with a surviving descendant, so a
161
+ // match stays in context, and a sort reorders siblings while each subtree
162
+ // travels with its parent.
163
+ const indent = spec._indent;
164
+ const reduce = (rows, cmp) => {
165
+ if (!indent) {
166
+ const out = rows.filter(keep);
167
+ return cmp ? out.sort(cmp) : out;
168
+ }
169
+ const roots = [], stack = [];
170
+ for (const r of rows) {
171
+ const node = { r, kids: [] }, lv = indent[r - 1] || 0;
172
+ while (stack.length && stack[stack.length - 1].lv >= lv) stack.pop();
173
+ (stack.length ? stack[stack.length - 1].node.kids : roots).push(node);
174
+ stack.push({ node, lv });
175
+ }
176
+ const prune = ns => ns.map(n => {
177
+ const kids = prune(n.kids);
178
+ return keep(n.r) || kids.length ? { r: n.r, kids } : null;
179
+ }).filter(Boolean);
180
+ const sortNodes = ns => {
181
+ if (cmp) ns.sort((a, b) => cmp(a.r, b.r));
182
+ ns.forEach(n => sortNodes(n.kids));
183
+ return ns;
184
+ };
185
+ const flat = [], walk = ns => ns.forEach(n => { flat.push(n.r); walk(n.kids); });
186
+ walk(sortNodes(prune(roots)));
187
+ return flat;
188
+ };
189
+
190
+ const all = () => Array.from({ length: nRow }, (_, i) => i + 1);
191
+
192
+ // Rowspan row groups: the group columns (outermost first) nest, so the view
193
+ // must stay a hierarchy — sorting a data column may only reorder rows within
194
+ // the innermost group, never across a group boundary, or a spanning cell
195
+ // would have to split. So partition by group column 1, then recurse on
196
+ // column 2 within each block, …, and only at the leaves sort by the data
197
+ // keys. A group column the reader clicked orders its blocks by that column
198
+ // (its key is pulled out of the leaf sort); untouched, blocks keep their
199
+ // first-appearance order. Rendering recomputes the spans from this order.
200
+ const gcols = spec._rowspan;
201
+ if (gcols) {
202
+ const dir = {}, leaf = [];
203
+ for (const k of state.sort || [])
204
+ gcols.includes(k.col) ? (dir[k.col] = k.dir) : leaf.push(k);
205
+ const leafCmp = makeCmp(leaf);
206
+ const partition = (rows, depth) => {
207
+ if (depth === gcols.length) return reduce(rows, leafCmp);
208
+ const col = data[gcols[depth]], blocks = new Map();
209
+ for (const r of rows) {
210
+ const v = col[r - 1], key = v == null ? "\0" : String(v);
211
+ (blocks.get(key) || blocks.set(key, { v, rows: [] }).get(key)).rows.push(r);
212
+ }
213
+ let order = [...blocks.values()];
214
+ if (dir[gcols[depth]]) {
215
+ const num = numCol(col), d = dir[gcols[depth]] === "desc" ? -1 : 1;
216
+ order.sort((a, b) => {
217
+ const an = a.v == null, bn = b.v == null;
218
+ if (an || bn) return an === bn ? 0 : an ? 1 : -1;
219
+ coll ||= new Intl.Collator();
220
+ return d * (num ? a.v - b.v : coll.compare(String(a.v), String(b.v)));
221
+ });
222
+ }
223
+ return order.flatMap(b => partition(b.rows, depth + 1));
224
+ };
225
+ return partition(all(), 0);
143
226
  }
144
- return idx;
227
+
228
+ // Separator row groups keep their place (the group is the unit that does not
229
+ // move): each group's rows filter/sort within it, and the surviving rows of
230
+ // all groups concatenate in group order, then any ungrouped rows (manual
231
+ // groups need not cover every row). A group left with no row simply
232
+ // contributes nothing — its header is re-emitted at render only when a row
233
+ // remains.
234
+ const cmp = makeCmp(state.sort || []);
235
+ const groups = spec._groups;
236
+ if (!groups) return reduce(all(), cmp);
237
+ const grouped = new Set(), out = [];
238
+ for (const g of groups) { g.rows.forEach(r => grouped.add(r)); out.push(...reduce(g.rows, cmp)); }
239
+ const rest = [];
240
+ for (let r = 1; r <= nRow; r++) if (!grouped.has(r)) rest.push(r);
241
+ return [...out, ...reduce(rest, cmp)];
145
242
  }
146
243
 
147
244
  // The rows of `view` on the current page. `state.page` is clamped into range
@@ -156,33 +253,60 @@
156
253
  return view.slice(state.page * n, (state.page + 1) * n);
157
254
  }
158
255
 
159
- // Enhanceable only when the rows are flat: row groups and indentation give the
160
- // row order a meaning of its own (grouping, hierarchy) that reordering or
161
- // dropping rows would destroy. Column spanners, explicit or from `auto_span`,
162
- // are no obstacle: they are <thead> rows, and only <tbody> is ever re-rendered.
163
- // Row-keyed styles and footnotes are fine too — core keys them to the original
164
- // row indices, which is what the view carries.
165
- const isFlat = spec => !spec.row_group &&
166
- !(spec.ops || []).some(o => o.type === "row_group" || o.type === "indent");
167
-
168
256
  // Displayed text per column, keyed to the original row order. It does not
169
257
  // change with the view, so capture it once from the initial full render.
170
- function captureDisplay(el, cols) {
258
+ // `order[i]` is the original 1-based index of the i-th body row as rendered
259
+ // (for a grouped table whose groups do not follow file order); absent ⇒ body
260
+ // rows are in index order. Separator group-header rows are skipped — they are
261
+ // no column's cell. `dataCells` drops any leading rowspan group cell, so the
262
+ // index lines up with `cols` whatever precedes the data cells.
263
+ function captureDisplay(el, cols, order) {
171
264
  const disp = {};
172
265
  cols.forEach(c => disp[c] = []);
173
- $$(el, "tbody tr").forEach((tr, ri) => cols.forEach(
174
- (c, ci) => disp[c][ri] = tr.children[ci]?.textContent ?? ""
175
- ));
266
+ let i = 0;
267
+ $$(el, "tbody tr").forEach(tr => {
268
+ if (tr.classList.contains("lt-row-group")) return;
269
+ const r = order ? order[i] : i + 1, cells = dataCells(tr);
270
+ cols.forEach((c, ci) => disp[c][r - 1] = cells[ci]?.textContent ?? "");
271
+ i++;
272
+ });
176
273
  return disp;
177
274
  }
178
275
 
179
276
  function enhance(el, spec) {
180
- if (!isFlat(spec)) return console.warn(
181
- "lt: interactive tables need flat rows (no row groups or indentation); " +
182
- "rendering a static table."
183
- );
184
277
  const opts = spec.interactive, cols = spec._cols || [],
185
- disp = captureDisplay(el, cols),
278
+ data = spec.data || {}, nRow = (data[cols[0]] || []).length,
279
+ groups = spec._groups,
280
+ // each row's group (for re-emitting a surviving header), and the body
281
+ // render order: groups in order, then any ungrouped rows (so a manual
282
+ // group listed out of file order maps the display text correctly)
283
+ groupOf = {}, order = groups ? [] : null;
284
+ if (groups) {
285
+ const seen = new Set();
286
+ groups.forEach(g => g.rows.forEach(r => { groupOf[r] = g; order.push(r); seen.add(r); }));
287
+ for (let r = 1; r <= nRow; r++) if (!seen.has(r)) order.push(r);
288
+ }
289
+ // turn a page's data rows into the row list core renders: a group header
290
+ // (an object core draws as a full-width label row) is inserted whenever the
291
+ // group changes, so a group spanning a page boundary re-shows its header at
292
+ // the top of the next page; ungrouped rows get none.
293
+ const withGroups = rows => {
294
+ if (!groups) return rows;
295
+ const out = []; let prev;
296
+ for (const r of rows) {
297
+ const g = groupOf[r];
298
+ if (g !== prev) { if (g) out.push({ label: g.label, raw: g.raw }); prev = g; }
299
+ out.push(r);
300
+ }
301
+ return out;
302
+ };
303
+ // the rowspan group columns lead the header row (they are hidden from
304
+ // `cols`); the full header order drives sort, so clicking a group header
305
+ // reorders its blocks (computeView pulls a group-column key out of the leaf
306
+ // sort — see the `_rowspan` branch there)
307
+ const nGroup = spec._rowspan ? spec._rowspan.length : 0,
308
+ allCols = nGroup ? [...spec._rowspan, ...cols] : cols;
309
+ const disp = captureDisplay(el, cols, order),
186
310
  // the bottom header row: the one whose cells line up with `cols`
187
311
  hrow = [...$$(el, "thead tr")].pop(),
188
312
  // an array `sort` on the options is an initial sort (a list of key
@@ -204,13 +328,16 @@
204
328
  const refresh = (stale = true) => {
205
329
  if (stale) { view = computeView(spec, disp, state); state.page = 0; }
206
330
  const rows = pageSlice(view, state),
331
+ // _viewRows carries the page's data rows with group headers spliced
332
+ // back in; postSwap hooks get the same list, one entry per <tbody> row
333
+ vr = withGroups(rows),
207
334
  tmp = elem(el.ownerDocument, "template", {
208
- innerHTML: LT.buildHtml({ ...spec, _viewRows: rows })
335
+ innerHTML: LT.buildHtml({ ...spec, _viewRows: vr })
209
336
  });
210
337
  const body = $(tmp.content, "tbody");
211
338
  if (!rows.length) // no matches: a neutral symbol spanning all columns
212
339
  body.innerHTML = `<tr class="lti-empty"><td colspan="${cols.length}">—</td></tr>`;
213
- else postSwap.forEach(f => f(body, rows));
340
+ else postSwap.forEach(f => f(body, vr));
214
341
  $(el, "tbody").replaceWith(body);
215
342
  sync(view.length);
216
343
  };
@@ -247,16 +374,18 @@
247
374
  const headBar = (opts.search !== false || opts.hide || barCols.length) ?
248
375
  elem(el.ownerDocument, "div", { className: "lti-bar" },
249
376
  fullRow(el.tHead || el.createTHead(), "lti-head", cols.length, 0)) : null;
250
- // the header labels, read before sort/resize decorate the cells, so the
251
- // column menu can list the displayed labels rather than the raw names
252
- const labels = [...$$(hrow, "th")].map(th => th.textContent);
253
- // wire sort before adding the filter row, so it sees the header row only
254
- if (opts.sort !== false) addSort(hrow, cols, state, refresh);
377
+ // the data-column header labels (skipping any leading group cell), read
378
+ // before sort/resize decorate the cells, so the column menu can list the
379
+ // displayed labels rather than the raw names
380
+ const labels = dataCells(hrow).map(th => th.textContent);
381
+ // wire sort before adding the filter row, so it sees the header row only;
382
+ // `allCols` so every header cell binds (a group header is sortable too)
383
+ if (opts.sort !== false) addSort(hrow, allCols, state, refresh);
255
384
  // the under-header filter row: needed when a default applies to visible
256
385
  // columns or any named column is itself visible
257
386
  if (flt && (flt.default || (flt.cols && Object.keys(flt.cols).some(c => cols.includes(c)))))
258
387
  addFilter(hrow, cols, flt, spec.data, state, refresh);
259
- const layout = opts.resize ? fixedLayout(el, hrow, cols.length) : null;
388
+ const layout = opts.resize ? fixedLayout(el, hrow, cols.length, nGroup) : null;
260
389
  if (opts.resize) addResize(el, layout);
261
390
  if (opts.hide)
262
391
  addColumnToggle(headBar, el, hrow, cols, labels, opts.hide, layout, postSwap);
@@ -426,7 +555,11 @@
426
555
  rerender();
427
556
  };
428
557
  return (body, rows) => [...body.rows].forEach((tr, i) => {
429
- const r = rows[i], td0 = tr.cells[0], open = state.expanded.has(r);
558
+ const r = rows[i];
559
+ if (typeof r !== "number") return; // a separator group-header row
560
+ // the first data cell (past any leading rowspan group cell), so the caret
561
+ // sits in the row's own first column, not a group label
562
+ const td0 = dataCells(tr)[0], open = state.expanded.has(r);
430
563
  if (!td0) return;
431
564
  const btn = elem(doc, "button", {
432
565
  type: "button", className: "lti-expand", textContent: open ? "▾" : "▸",
@@ -444,14 +577,16 @@
444
577
  });
445
578
  }
446
579
 
447
- // The table's <colgroup>, created (one <col> per column) when core emitted
448
- // none — it only does so for a table given explicit widths on the R side.
449
- function colGroup(el, nCol) {
580
+ // The table's <colgroup>, created when core emitted none (it only does so for
581
+ // a table given explicit widths on the R side). It gets `nGroup` leading <col>s
582
+ // for the rowspan group columns (which lead each header/body row) then one per
583
+ // data column, matching core's own layout so widths line up.
584
+ function colGroup(el, nCol, nGroup = 0) {
450
585
  let g = $(el, "colgroup");
451
586
  if (!g) {
452
587
  const doc = el.ownerDocument;
453
588
  g = elem(doc, "colgroup");
454
- for (let i = 0; i < nCol; i++) elem(doc, "col", {}, g);
589
+ for (let i = 0; i < nGroup + nCol; i++) elem(doc, "col", {}, g);
455
590
  // <colgroup> comes after <caption> (the title), before <thead>
456
591
  el.caption ? el.caption.after(g) : el.prepend(g);
457
592
  }
@@ -466,9 +601,9 @@
466
601
  // content width (an unconstrained reflow, with the widths put back after).
467
602
  // `setWidth(i, w, min)` sets column i to `w` px (clamped to `min`), widening or
468
603
  // narrowing the table by as much; the other columns keep their widths.
469
- function fixedLayout(el, hrow, nCol) {
604
+ function fixedLayout(el, hrow, nCol, nGroup = 0) {
470
605
  const ths = [...$$(hrow, "th")],
471
- cs = colGroup(el, nCol), wOf = e => e.getBoundingClientRect().width;
606
+ cs = colGroup(el, nCol, nGroup), wOf = e => e.getBoundingClientRect().width;
472
607
  const freeze = () => {
473
608
  if (el.classList.contains("lti-fixed")) return;
474
609
  const w = ths.map(wOf);
@@ -493,7 +628,9 @@
493
628
  el.style.width =
494
629
  parseFloat(el.style.width) + parseFloat(cs[i].style.width) - old + "px";
495
630
  };
496
- return { ths, cs, freeze, natural, setWidth };
631
+ // `dataCs` drops the leading group <col>s, so a data-column consumer (the
632
+ // column-hide menu) indexes it by data-column position
633
+ return { ths, cs, dataCs: cs.slice(nGroup), freeze, natural, setWidth };
497
634
  }
498
635
 
499
636
  // Drag-to-resize column edges: a grip on the right edge of each header cell.
@@ -514,8 +651,8 @@
514
651
  freeze();
515
652
  const x0 = e.clientX, w0 = parseFloat(cs[i].style.width);
516
653
  el.classList.add("lti-resizing");
517
- // the floor is MIN_COL (setWidth's default): a frozen cell clips its
518
- // content, so shrinking just hides the overflow, grip at the edge
654
+ // no label floor: omit setWidth's min arg to take its default, and the
655
+ // cell clips its overflow (CSS) instead of spilling when shrunk
519
656
  drag(e, ev => setWidth(i, w0 + ev.clientX - x0),
520
657
  () => el.classList.remove("lti-resizing"));
521
658
  };
@@ -532,10 +669,11 @@
532
669
  function addColumnToggle(cell, el, hrow, cols, labels, opt, layout, postSwap) {
533
670
  const doc = el.ownerDocument,
534
671
  start = (opt && opt.hidden) || [], hidden = new Set();
535
- // show/hide column i's cell in one row, skipping the single colspan cell of
536
- // a detail or empty row (which spans every column and is no column's own)
672
+ // show/hide column i's cell in one row (indexing the row's data cells, past
673
+ // any leading rowspan group cell), skipping the single colspan cell of a
674
+ // detail or empty row (which spans every column and is no column's own)
537
675
  const setCell = (tr, i, on) => {
538
- const c = tr.children[i];
676
+ const c = dataCells(tr)[i];
539
677
  if (c && c.colSpan === 1) c.hidden = on;
540
678
  };
541
679
  // re-hide every hidden column's cells on each freshly-built <tbody>
@@ -551,7 +689,7 @@
551
689
  // keeps them in sync; only the fresh <tbody> is re-hidden (via postSwap).
552
690
  const apply = i => {
553
691
  const on = hidden.has(i);
554
- if (layout?.cs[i]) layout.cs[i].hidden = on;
692
+ if (layout?.dataCs[i]) layout.dataCs[i].hidden = on;
555
693
  for (const tr of el.rows)
556
694
  if (!tr.classList.contains("lt-spanner-row")) setCell(tr, i, on);
557
695
  };
@@ -1,2 +1,2 @@
1
- (t=>{"use strict";const e=t.LT;if(!e?.onMount||e.plugins.interactive)return;let n;const o=t=>"number"==typeof t.find(t=>null!=t),s=t=>"string"!=typeof t?{...t}:"-"===t[0]?{col:t.slice(1),dir:"desc"}:{col:t,dir:"asc"},i=(t,e)=>t.querySelector(e),l=(t,e)=>t.querySelectorAll(e),r=(t,e,n,o)=>t.addEventListener(e,n,o);function a(t,e,n={},o){const s=t.createElement(e);for(const t in n)t.includes("-")?s.setAttribute(t,n[t]):s[t]=n[t];return o?o.appendChild(s):s}function c(t,e,n){t.preventDefault();const o=t.target.ownerDocument||document,s=t=>e(t);r(o,"pointermove",s),r(o,"pointerup",()=>{var t,e;t="pointermove",e=s,o.removeEventListener(t,e),n&&n()},{once:!0})}function d(t){const e=String(t??"").trim();if(""===e)return null;if(/(^|[^\w$])x([^\w$]|$)/.test(e)){let t;try{t=new Function("x",`return (${e});`)}catch(t){}if(t){const n=/^\s*!|!=/.test(e),o=e=>{if(null==e)return n;try{const n=Number(e);return!!t(String(e))||""!==e&&isFinite(n)&&!!t(n)}catch(t){return!1}};return t=>t[n?"every":"some"](t=>o(t.raw))}}const n="!"===e[0],o=(n?e.slice(1).trim():e).toLowerCase();return""===o?null:t=>n!==t.some(t=>null!=t.disp&&String(t.disp).toLowerCase().includes(o))}function u(t,e,s){const i=t._cols||[],l=t.data||{},r=(t,n)=>({raw:l[t]?.[n-1]??null,disp:e[t]?.[n-1]??""});let a=Array.from({length:(l[i[0]]||[]).length},(t,e)=>e+1);for(const t in s.filters||{}){const e=d(s.filters[t]);e&&(a=a.filter(n=>e([r(t,n)])))}const c=d(s.term);c&&(a=a.filter(t=>c(i.map(e=>r(e,t)))));const u=Object.values(s.predicates||{});if(u.length){const t=Object.keys(l),e=e=>Object.fromEntries(t.map(t=>[t,l[t]?.[e-1]??null]));a=a.filter(t=>{const n=e(t);return u.every(t=>t(n))})}const p=(s.sort||[]).map(t=>{const e=l[t.col];return e&&{col:e,num:o(e),dir:"desc"===t.dir?-1:1}}).filter(Boolean);return p.length&&(n||=new Intl.Collator,a.sort((t,e)=>{for(const{col:o,num:s,dir:i}of p){const l=o[t-1],r=o[e-1],a=null==l,c=null==r;if(a||c){if(a!==c)return a?1:-1;continue}const d=s?l-r:n.compare(String(l),String(r));if(d)return i*d}return 0})),a}function p(t,e){const n=e.pageSize;if(!n)return e.page=0,t;const o=Math.max(0,Math.ceil(t.length/n)-1);return e.page=Math.min(Math.max(e.page||0,0),o),t.slice(e.page*n,(e.page+1)*n)}function f(n,o){if(!(t=>!t.row_group&&!(t.ops||[]).some(t=>"row_group"===t.type||"indent"===t.type))(o))return console.warn("lt: interactive tables need flat rows (no row groups or indentation); rendering a static table.");const d=o.interactive,f=o._cols||[],w=function(t,e){const n={};return e.forEach(t=>n[t]=[]),l(t,"tbody tr").forEach((t,o)=>e.forEach((e,s)=>n[e][o]=t.children[s]?.textContent??"")),n}(n,f),y=[...l(n,"thead tr")].pop(),b={filters:{},predicates:{},page:0,pageSize:0,sort:Array.isArray(d.sort)?d.sort.map(s):[]};let x,v=()=>{};const S=[],N=(t=!0)=>{t&&(x=u(o,w,b),b.page=0);const s=p(x,b),l=a(n.ownerDocument,"template",{innerHTML:e.buildHtml({...o,_viewRows:s})}),r=i(l.content,"tbody");s.length?S.forEach(t=>t(r,s)):r.innerHTML=`<tr class="lti-empty"><td colspan="${f.length}">—</td></tr>`,i(n,"tbody").replaceWith(r),v(x.length)};n._lt={spec:o,state:b,refresh:()=>N(),view:()=>x||u(o,w,b),filter(t,e){e?b.predicates[t]=e:delete b.predicates[t],N()}};const E=d.filter,k=E?.cols?Object.keys(E.cols).filter(t=>!0!==E.cols[t]&&!f.includes(t)):[],M=!1!==d.search||d.hide||k.length?a(n.ownerDocument,"div",{className:"lti-bar"},m(n.tHead||n.createTHead(),"lti-head",f.length,0)):null,$=[...l(y,"th")].map(t=>t.textContent);!1!==d.sort&&function(t,e,n,o){const s=t.ownerDocument,i={},r=()=>{for(const t in i)i[t].th.removeAttribute("aria-sort"),i[t].ind.textContent="";const t=n.sort||[];t.forEach(({col:e,dir:n},o)=>{const s=i[e];s&&(s.th.setAttribute("aria-sort","desc"===n?"descending":"ascending"),s.ind.textContent=("desc"===n?"▼":"▲")+(t.length>1?String(o+1).replace(/\d/g,t=>"₀₁₂₃₄₅₆₇₈₉"[t]):""))})};l(t,"th").forEach((t,l)=>{const c=e[l];if(null==c)return;t.classList.add("lti-sortable");const d=a(s,"span",{className:"lti-label"},t);for(;t.firstChild!==d;)d.append(t.firstChild);i[c]={th:t,ind:a(s,"span",{className:"lti-sort"},d)},d.onclick=t=>{!function(t,e,n){const o=(t.sort||[]).slice(),s=o.findIndex(t=>t.col===e),i=s<0?"asc":"asc"===o[s].dir?"desc":null;if(!n)return void(t.sort=i?[{col:e,dir:i}]:[]);s<0?o.push({col:e,dir:i}):i?o[s]={col:e,dir:i}:o.splice(s,1);t.sort=o}(n,c,t.shiftKey),r(),o()}}),r()}(y,f,b,N),E&&(E.default||E.cols&&Object.keys(E.cols).some(t=>f.includes(t)))&&function(t,e,n,o,s,i){const l=t.ownerDocument,r=a(l,"tr",{className:"lti-filters"}),c=n.default,d=n.cols||{};e.forEach(t=>{const e=a(l,"td",{},r),n=t in d?d[t]:c;if(n)if(!0===n){g(e.appendChild(h(l,`Filter ${t}`)),e=>{e?s.filters[t]=e:delete s.filters[t],i()})}else e.appendChild(C(l,t,n,o,s,i,null))}),t.parentNode.appendChild(r)}(y,f,E,o.data,b,N);const A=d.resize?function(t,e,n){const o=[...l(e,"th")],s=function(t,e){let n=i(t,"colgroup");if(!n){const o=t.ownerDocument;n=a(o,"colgroup");for(let t=0;t<e;t++)a(o,"col",{},n);t.caption?t.caption.after(n):t.prepend(n)}return[...n.children]}(t,n),r=t=>t.getBoundingClientRect().width,c=()=>{if(t.classList.contains("lti-fixed"))return;const e=o.map(r);t.style.width=r(t)+"px",s.forEach((t,n)=>t.style.width=e[n]+"px"),t.classList.add("lti-fixed")},d=e=>{const n=s.map(t=>t.style.width),i=t.style.width;s.forEach(t=>t.style.width=""),t.style.width="",t.classList.remove("lti-fixed");const l=r(o[e]);return s.forEach((t,e)=>t.style.width=n[e]),t.style.width=i,t.classList.add("lti-fixed"),l},u=(e,n,o=24)=>{const i=parseFloat(s[e].style.width);s[e].style.width=Math.max(n,o)+"px",t.style.width=parseFloat(t.style.width)+parseFloat(s[e].style.width)-i+"px"};return{ths:o,cs:s,freeze:c,natural:d,setWidth:u}}(n,y,f.length):null;if(d.resize&&function(t,e){const n=t.ownerDocument,{ths:o,cs:s,freeze:i,natural:l,setWidth:r}=e;o.forEach((e,o)=>{const d=a(n,"div",{className:"lti-resizer"},e);d.ondblclick=t=>{t.stopPropagation(),i(),r(o,l(o))},d.onpointerdown=e=>{e.stopPropagation(),i();const n=e.clientX,l=parseFloat(s[o].style.width);t.classList.add("lti-resizing"),c(e,t=>r(o,l+t.clientX-n),()=>t.classList.remove("lti-resizing"))}})}(n,A),d.hide&&function(t,e,n,o,s,i,l,c){const d=e.ownerDocument,u=i&&i.hidden||[],p=new Set,f=(t,e,n)=>{const o=t.children[e];o&&1===o.colSpan&&(o.hidden=n)};c.push(t=>p.forEach(e=>{for(const n of t.rows)f(n,e,!0)}));const h=t=>{const n=p.has(t);l?.cs[t]&&(l.cs[t].hidden=n);for(const o of e.rows)o.classList.contains("lt-spanner-row")||f(o,t,n)},m=a(d,"span",{className:"lti-cols"},t),g=a(d,"button",{type:"button",title:"Columns","aria-label":"Show or hide columns","aria-expanded":"false"},m),w=a(d,"div",{className:"lti-menu",hidden:!0},m);o.forEach((t,e)=>{if(null==t)return;const n=a(d,"label",{},w),o=a(d,"input",{type:"checkbox",checked:!0},n);n.append(s[e]??t),u.includes(t)&&(o.checked=!1,p.add(e)),o.onchange=()=>{o.checked?p.delete(e):p.add(e),h(e)}}),o.forEach((t,e)=>h(e));const y=t=>{w.hidden=!t,g.setAttribute("aria-expanded",String(t))};g.onclick=t=>{t.stopPropagation(),y(w.hidden)},r(d,"click",t=>{m.contains(t.target)||y(!1)}),r(d,"keydown",t=>{"Escape"===t.key&&y(!1)})}(M,n,0,f,$,d.hide,A,S),!1!==d.search&&function(t,e,n,o){const s=t.appendChild(h(e.ownerDocument,"Search"));g(s,t=>{n.term=t,o()})}(M,n,b,N),k.length&&function(t,e,n,o,s,i){const l=t.ownerDocument;for(const r of e)t.appendChild(C(l,r,n[r],o,s,i,n[r].label||r))}(M,k,E.cols,o.data,b,N),d.detail&&S.push(function(n,o,s,i,l,r){const c=n.ownerDocument,d=s.length,u={};i.expanded=new Set;const p=(t,e)=>{const n={};for(const o in t)n[o]=t[o]?.[e-1]??null;return n},f=e=>{if(e in u)return u[e];const n=p(o._display||{},e);let s=null;if(Array.isArray(l)){const t={};for(const e of l)t[e]=[n[e]??null];s={data:t}}else{const i="function"==typeof l?l:t[l];"function"==typeof i&&(s=i(p(o.data||{},e),e,n))}return u[e]=s},h=t=>{i.expanded.has(t)?i.expanded.delete(t):i.expanded.add(t),r()};return(t,n)=>[...t.rows].forEach((t,o)=>{const s=n[o],l=t.cells[0],r=i.expanded.has(s);if(!l)return;const u=a(c,"button",{type:"button",className:"lti-expand",textContent:r?"▾":"▸","aria-expanded":String(r),"aria-label":"Toggle detail"});u.onclick=()=>h(s),l.prepend(u);const p=r&&f(s);if(p){const n=a(c,"tr",{className:"lti-detail"});t.after(n);const o=a(c,"td",{colSpan:d},n);e.render(a(c,"div",{},o),p)}})}(n,o,f,b,d.detail,()=>N(!1))),d.pager){const t=Array.isArray(d.pager)?d.pager:[10,25,50,100];v=function(t,e,n,o,s){const i=t.ownerDocument;let l=t.tFoot;l||((l=t.createTFoot()).className="lt-footer");const r=a(i,"div",{className:"lti-pager"},m(l,"lti-pager-row",e.length,-1)),c=a(i,"span",{className:"lti-pos"});o.pageSize=n[0];const d=[()=>0,t=>t-1,t=>t+1,()=>1e9],u=["«","‹","›","»"].map((t,e)=>{const n=a(i,"button",{type:"button",textContent:t,"aria-label":["First","Previous","Next","Last"][e]},r);return n.onclick=()=>{o.page=d[e](o.page),s()},n});if(r.appendChild(c),n.length>1){const t=a(i,"select",{"aria-label":"Rows per page"},r);n.forEach(e=>a(i,"option",{value:e,textContent:e||"∞"},t)),t.onchange=()=>{o.pageSize=+t.value,o.page=0,s()}}return t=>{const e=o.pageSize||t||1,n=Math.max(0,Math.ceil(t/e)-1);c.textContent=t?`${o.page*e+1}–${Math.min(t,(o.page+1)*e)} / ${t}`:"0 / 0",u.forEach((t,e)=>t.disabled=e<2?!o.page:o.page===n)}}(n,f,t,b,()=>N(!1)),N()}else(b.sort.length||d.detail)&&N()}function h(t,e){return a(t,"input",{type:"search",className:"lti-search","aria-label":e})}function m(t,e,n,o){const s=t.insertRow(o);return s.className=e,a(t.ownerDocument,"td",{colSpan:n},s)}function g(t,e){let n;const o=()=>e(t.value);t.oninput=()=>{clearTimeout(n),n=setTimeout(o,150)},t.onchange=()=>{clearTimeout(n),o()}}const w=t=>""===t?"":`x == ${JSON.stringify(String(t))}`,y=t=>{const e=/^\s*x\s*==\s*(['"])([\s\S]*)\1\s*$/.exec(t||"");return e?e[2]:null},b=(t,e,n,o)=>t<=n&&e>=o?"":`x >= ${t} && x <= ${e}`,x=t=>{const e=/^\s*x\s*>=\s*(-?[\d.]+)\s*&&\s*x\s*<=\s*(-?[\d.]+)\s*$/.exec(t||"");return e?[parseFloat(e[1]),parseFloat(e[2])]:null};function v(t,e,n){const o=e.min,s=e.max,i=s-o||1,l=e.step||i/100,r=a(t,"div",{className:"lti-slider"}),d=a(t,"div",{className:"lti-slider-fill"},r),u=e=>a(t,"button",{type:"button",className:"lti-thumb",role:"slider","aria-label":e,"aria-valuemin":o,"aria-valuemax":s},r),p=[u("Minimum"),u("Maximum")];let f=[o,s];const h=t=>(t-o)/i*100,m=()=>{p.forEach((t,e)=>{t.style.left=h(f[e])+"%",t.setAttribute("aria-valuenow",f[e])}),d.style.left=h(f[0])+"%",d.style.right=100-h(f[1])+"%"},g=(t,e)=>{f[t]=(t=>{const e=Math.round((t-o)/l)*l+o;return Math.min(s,Math.max(o,Math.round(1e6*e)/1e6))})(e),f[0]>f[1]&&(f=[Math.min(...f),Math.max(...f)]),m(),n(f.slice())};return p.forEach((t,e)=>{t.onpointerdown=n=>{t.focus(),c(n,t=>g(e,(t=>{const e=r.getBoundingClientRect();return o+i*Math.min(1,Math.max(0,(t-e.left)/e.width))})(t.clientX)))},t.onkeydown=t=>{const n={ArrowLeft:-1,ArrowDown:-1,ArrowRight:1,ArrowUp:1}[t.key];if(n)g(e,f[e]+n*l);else if("Home"===t.key)g(e,o);else{if("End"!==t.key)return;g(e,s)}t.preventDefault()}}),m(),{el:r,set:t=>{f=t.slice(),m()}}}function S(t,e,n){const o=a(t,"span",{className:"lti-pop"}),s=a(t,"button",{type:"button",className:"lti-funnel",title:e,"aria-label":e,"aria-expanded":"false"},o),i=a(t,"div",{className:"lti-pop-panel",hidden:!0},o);n(i);const l=e=>{i.hidden=!e,s.setAttribute("aria-expanded",String(e)),e&&(()=>{i.style.left=i.style.right="";const e=i.getBoundingClientRect(),n=(t.defaultView||window).innerWidth;e.right>n-4&&(i.style.left="auto",i.style.right="0")})()};return s.onclick=t=>{t.stopPropagation(),l(i.hidden)},r(t,"click",t=>{o.contains(t.target)||l(!1)}),r(t,"keydown",t=>{"Escape"===t.key&&l(!1)}),o}const N={select:{describe:(t,e)=>{const n=y(t);if(null==n)return t?"⋯":"";const o=e.choices.find(t=>t.value===n);return o?o.label:n},init:t=>w(t.selected??(t.choices[0]||{}).value??""),build:(t,e,n)=>{const o=function(t,e,n){const o=a(t,"select",{className:"lti-filter-pick"});return e.forEach(e=>a(t,"option",{value:e.value,textContent:e.label},o)),o.onchange=()=>n(o.value),{el:o,set:t=>o.value=t}}(t,e.choices,t=>n(w(t),s)),s={el:o.el,reflect:t=>{const e=y(t);o.set(null==e?"":e)}};return s}},range:{describe:t=>{const e=x(t);return e?`${e[0]} – ${e[1]}`:t?"⋯":""},init:t=>t.value?b(t.value[0],t.value[1],t.min,t.max):"",build:(t,e,n)=>{const o=a(t,"span",{className:"lti-slider-out"}),s=t=>o.textContent=`${t[0]} – ${t[1]}`,i=v(t,e,t=>{s(t),n(b(t[0],t[1],e.min,e.max),l)}),l={el:[i.el,o],reflect:t=>{const n=x(t)||[e.min,e.max];i.set(n),s(n)}};return l}}};function C(t,e,n,o,s,i,l){const r=function(t,e){if("select"===t.type){let n=t.choices;if(!n){const t=new Set,o=[];for(const n of e)null==n||t.has(n)||(t.add(n),o.push(n));o.sort((t,e)=>"number"==typeof t&&"number"==typeof e?t-e:String(t).localeCompare(String(e))),n=o.map(t=>({value:String(t),label:String(t)}))}return{...t,choices:n}}let{min:n,max:o}=t;if(null==n||null==o){let t=1/0,s=-1/0;for(const n of e){const e=Number(n);isFinite(e)&&(e<t&&(t=e),e>s&&(s=e))}null==n&&(n=isFinite(t)?t:0),null==o&&(o=isFinite(s)?s:1)}return{...t,min:n,max:o}}(n,o[e]||[]),c=N[r.type],d=[];let u=()=>{};const p=(t,n)=>{t?s.filters[e]=t:delete s.filters[e],i();const o=s.filters[e]||"";d.forEach(t=>t!==n&&t.reflect(o)),u(o)},f=S(t,`Filter ${r.label||e}`,n=>{const o=a(t,"input",{type:"search",className:"lti-search","aria-label":`${r.label||e} filter expression`},n),s={reflect:e=>{t.activeElement!==o&&(o.value=e)}};d.push(s),g(o,t=>p(t.trim(),s));const i=c.build(t,r,p);d.push(i),n.append(...[].concat(i.el)),p(c.init(r),null)});let h,m=f;return null!=l&&(m=a(t,"span",{className:"lti-chip"}),a(t,"span",{className:"lti-chip-name",textContent:l},m),h=a(t,"span",{className:"lti-chip-cur"},m),m.appendChild(f)),u=t=>{m.classList.toggle("lti-on",!!t),h&&(h.textContent=c.describe(t,r))},u(s.filters[e]||""),m}const E=(t,e)=>{e?.interactive&&!t.dataset.ltiOn&&(t.dataset.ltiOn="1",f(t,e))};e.plugins.interactive={matcher:d,computeView:u,pageSlice:p,enhance:f},e.onMount.push(E),"undefined"!=typeof document&&l(document,".lt-table").forEach(t=>E(t,t._ltSpec))})("undefined"!=typeof window?window:globalThis);
1
+ (t=>{"use strict";const e=t.LT;if(!e?.onMount||e.plugins.interactive)return;let n;const s=t=>"number"==typeof t.find(t=>null!=t),o=t=>"string"!=typeof t?{...t}:"-"===t[0]?{col:t.slice(1),dir:"desc"}:{col:t,dir:"asc"},r=(t,e)=>t.querySelector(e),l=(t,e)=>t.querySelectorAll(e),i=(t,e,n,s)=>t.addEventListener(e,n,s),a=t=>[...t.children].filter(t=>!t.classList.contains("lt-row-group"));function c(t,e,n={},s){const o=t.createElement(e);for(const t in n)t.includes("-")?o.setAttribute(t,n[t]):o[t]=n[t];return s?s.appendChild(o):o}function u(t,e,n){t.preventDefault();const s=t.target.ownerDocument||document,o=t=>e(t);i(s,"pointermove",o),i(s,"pointerup",()=>{var t,e;t="pointermove",e=o,s.removeEventListener(t,e),n&&n()},{once:!0})}function d(t){const e=String(t??"").trim();if(""===e)return null;if(/(^|[^\w$])x([^\w$]|$)/.test(e)){let t;try{t=new Function("x",`return (${e});`)}catch(t){}if(t){const n=/^\s*!|!=/.test(e),s=e=>{if(null==e)return n;try{const n=Number(e);return!!t(String(e))||""!==e&&isFinite(n)&&!!t(n)}catch(t){return!1}};return t=>t[n?"every":"some"](t=>s(t.raw))}}const n="!"===e[0],s=(n?e.slice(1).trim():e).toLowerCase();return""===s?null:t=>n!==t.some(t=>null!=t.disp&&String(t.disp).toLowerCase().includes(s))}function p(t,e,o){const r=t._cols||[],l=t.data||{},i=(l[r[0]]||[]).length,a=(t,n)=>({raw:l[t]?.[n-1]??null,disp:e[t]?.[n-1]??""}),c=[];for(const t in o.filters||{}){const e=d(o.filters[t]);e&&c.push(n=>e([a(t,n)]))}const u=d(o.term);u&&c.push(t=>u(r.map(e=>a(e,t))));const p=Object.values(o.predicates||{});if(p.length){const t=Object.keys(l),e=e=>Object.fromEntries(t.map(t=>[t,l[t]?.[e-1]??null]));c.push(t=>{const n=e(t);return p.every(t=>t(n))})}const f=t=>c.every(e=>e(t)),h=t=>{const e=t.map(t=>{const e=l[t.col];return e&&{col:e,num:s(e),dir:"desc"===t.dir?-1:1}}).filter(Boolean);return e.length?(t,s)=>{for(const{col:o,num:r,dir:l}of e){const e=o[t-1],i=o[s-1],a=null==e,c=null==i;if(a||c){if(a!==c)return a?1:-1;continue}n||=new Intl.Collator;const u=r?e-i:n.compare(String(e),String(i));if(u)return l*u}return 0}:null},m=t._indent,g=(t,e)=>{if(!m){const n=t.filter(f);return e?n.sort(e):n}const n=[],s=[];for(const e of t){const t={r:e,kids:[]},o=m[e-1]||0;for(;s.length&&s[s.length-1].lv>=o;)s.pop();(s.length?s[s.length-1].node.kids:n).push(t),s.push({node:t,lv:o})}const o=t=>t.map(t=>{const e=o(t.kids);return f(t.r)||e.length?{r:t.r,kids:e}:null}).filter(Boolean),r=t=>(e&&t.sort((t,n)=>e(t.r,n.r)),t.forEach(t=>r(t.kids)),t),l=[],i=t=>t.forEach(t=>{l.push(t.r),i(t.kids)});return i(r(o(n))),l},w=()=>Array.from({length:i},(t,e)=>e+1),y=t._rowspan;if(y){const t={},e=[];for(const n of o.sort||[])y.includes(n.col)?t[n.col]=n.dir:e.push(n);const r=h(e),i=(e,o)=>{if(o===y.length)return g(e,r);const a=l[y[o]],c=new Map;for(const t of e){const e=a[t-1],n=null==e?"\0":String(e);(c.get(n)||c.set(n,{v:e,rows:[]}).get(n)).rows.push(t)}let u=[...c.values()];if(t[y[o]]){const e=s(a),r="desc"===t[y[o]]?-1:1;u.sort((t,s)=>{const o=null==t.v,l=null==s.v;return o||l?o===l?0:o?1:-1:(n||=new Intl.Collator,r*(e?t.v-s.v:n.compare(String(t.v),String(s.v))))})}return u.flatMap(t=>i(t.rows,o+1))};return i(w(),0)}const b=h(o.sort||[]),x=t._groups;if(!x)return g(w(),b);const v=new Set,S=[];for(const t of x)t.rows.forEach(t=>v.add(t)),S.push(...g(t.rows,b));const E=[];for(let t=1;t<=i;t++)v.has(t)||E.push(t);return[...S,...g(E,b)]}function f(t,e){const n=e.pageSize;if(!n)return e.page=0,t;const s=Math.max(0,Math.ceil(t.length/n)-1);return e.page=Math.min(Math.max(e.page||0,0),s),t.slice(e.page*n,(e.page+1)*n)}function h(n,s){const d=s.interactive,h=s._cols||[],y=((s.data||{})[h[0]]||[]).length,b=s._groups,x={},v=b?[]:null;if(b){const t=new Set;b.forEach(e=>e.rows.forEach(n=>{x[n]=e,v.push(n),t.add(n)}));for(let e=1;e<=y;e++)t.has(e)||v.push(e)}const S=s._rowspan?s._rowspan.length:0,E=S?[...s._rowspan,...h]:h,C=function(t,e,n){const s={};e.forEach(t=>s[t]=[]);let o=0;return l(t,"tbody tr").forEach(t=>{if(t.classList.contains("lt-row-group"))return;const r=n?n[o]:o+1,l=a(t);e.forEach((t,e)=>s[t][r-1]=l[e]?.textContent??""),o++}),s}(n,h,v),k=[...l(n,"thead tr")].pop(),M={filters:{},predicates:{},page:0,pageSize:0,sort:Array.isArray(d.sort)?d.sort.map(o):[]};let L,$=()=>{};const A=[],D=(t=!0)=>{t&&(L=p(s,C,M),M.page=0);const o=f(L,M),l=(t=>{if(!b)return t;const e=[];let n;for(const s of t){const t=x[s];t!==n&&(t&&e.push({label:t.label,raw:t.raw}),n=t),e.push(s)}return e})(o),i=c(n.ownerDocument,"template",{innerHTML:e.buildHtml({...s,_viewRows:l})}),a=r(i.content,"tbody");o.length?A.forEach(t=>t(a,l)):a.innerHTML=`<tr class="lti-empty"><td colspan="${h.length}">—</td></tr>`,r(n,"tbody").replaceWith(a),$(L.length)};n._lt={spec:s,state:M,refresh:()=>D(),view:()=>L||p(s,C,M),filter(t,e){e?M.predicates[t]=e:delete M.predicates[t],D()}};const F=d.filter,_=F?.cols?Object.keys(F.cols).filter(t=>!0!==F.cols[t]&&!h.includes(t)):[],z=!1!==d.search||d.hide||_.length?c(n.ownerDocument,"div",{className:"lti-bar"},g(n.tHead||n.createTHead(),"lti-head",h.length,0)):null,T=a(k).map(t=>t.textContent);!1!==d.sort&&function(t,e,n,s){const o=t.ownerDocument,r={},i=()=>{for(const t in r)r[t].th.removeAttribute("aria-sort"),r[t].ind.textContent="";const t=n.sort||[];t.forEach(({col:e,dir:n},s)=>{const o=r[e];o&&(o.th.setAttribute("aria-sort","desc"===n?"descending":"ascending"),o.ind.textContent=("desc"===n?"▼":"▲")+(t.length>1?String(s+1).replace(/\d/g,t=>"₀₁₂₃₄₅₆₇₈₉"[t]):""))})};l(t,"th").forEach((t,l)=>{const a=e[l];if(null==a)return;t.classList.add("lti-sortable");const u=c(o,"span",{className:"lti-label"},t);for(;t.firstChild!==u;)u.append(t.firstChild);r[a]={th:t,ind:c(o,"span",{className:"lti-sort"},u)},u.onclick=t=>{!function(t,e,n){const s=(t.sort||[]).slice(),o=s.findIndex(t=>t.col===e),r=o<0?"asc":"asc"===s[o].dir?"desc":null;if(!n)return void(t.sort=r?[{col:e,dir:r}]:[]);o<0?s.push({col:e,dir:r}):r?s[o]={col:e,dir:r}:s.splice(o,1);t.sort=s}(n,a,t.shiftKey),i(),s()}}),i()}(k,E,M,D),F&&(F.default||F.cols&&Object.keys(F.cols).some(t=>h.includes(t)))&&function(t,e,n,s,o,r){const l=t.ownerDocument,i=c(l,"tr",{className:"lti-filters"}),a=n.default,u=n.cols||{};e.forEach(t=>{const e=c(l,"td",{},i),n=t in u?u[t]:a;if(n)if(!0===n){w(e.appendChild(m(l,`Filter ${t}`)),e=>{e?o.filters[t]=e:delete o.filters[t],r()})}else e.appendChild(N(l,t,n,s,o,r,null))}),t.parentNode.appendChild(i)}(k,h,F,s.data,M,D);const O=d.resize?function(t,e,n,s=0){const o=[...l(e,"th")],i=function(t,e,n=0){let s=r(t,"colgroup");if(!s){const o=t.ownerDocument;s=c(o,"colgroup");for(let t=0;t<n+e;t++)c(o,"col",{},s);t.caption?t.caption.after(s):t.prepend(s)}return[...s.children]}(t,n,s),a=t=>t.getBoundingClientRect().width,u=()=>{if(t.classList.contains("lti-fixed"))return;const e=o.map(a);t.style.width=a(t)+"px",i.forEach((t,n)=>t.style.width=e[n]+"px"),t.classList.add("lti-fixed")},d=e=>{const n=i.map(t=>t.style.width),s=t.style.width;i.forEach(t=>t.style.width=""),t.style.width="",t.classList.remove("lti-fixed");const r=a(o[e]);return i.forEach((t,e)=>t.style.width=n[e]),t.style.width=s,t.classList.add("lti-fixed"),r},p=(e,n,s=24)=>{const o=parseFloat(i[e].style.width);i[e].style.width=Math.max(n,s)+"px",t.style.width=parseFloat(t.style.width)+parseFloat(i[e].style.width)-o+"px"};return{ths:o,cs:i,dataCs:i.slice(s),freeze:u,natural:d,setWidth:p}}(n,k,h.length,S):null;if(d.resize&&function(t,e){const n=t.ownerDocument,{ths:s,cs:o,freeze:r,natural:l,setWidth:i}=e;s.forEach((e,s)=>{const a=c(n,"div",{className:"lti-resizer"},e);a.ondblclick=t=>{t.stopPropagation(),r(),i(s,l(s))},a.onpointerdown=e=>{e.stopPropagation(),r();const n=e.clientX,l=parseFloat(o[s].style.width);t.classList.add("lti-resizing"),u(e,t=>i(s,l+t.clientX-n),()=>t.classList.remove("lti-resizing"))}})}(n,O),d.hide&&function(t,e,n,s,o,r,l,u){const d=e.ownerDocument,p=r&&r.hidden||[],f=new Set,h=(t,e,n)=>{const s=a(t)[e];s&&1===s.colSpan&&(s.hidden=n)};u.push(t=>f.forEach(e=>{for(const n of t.rows)h(n,e,!0)}));const m=t=>{const n=f.has(t);l?.dataCs[t]&&(l.dataCs[t].hidden=n);for(const s of e.rows)s.classList.contains("lt-spanner-row")||h(s,t,n)},g=c(d,"span",{className:"lti-cols"},t),w=c(d,"button",{type:"button",title:"Columns","aria-label":"Show or hide columns","aria-expanded":"false"},g),y=c(d,"div",{className:"lti-menu",hidden:!0},g);s.forEach((t,e)=>{if(null==t)return;const n=c(d,"label",{},y),s=c(d,"input",{type:"checkbox",checked:!0},n);n.append(o[e]??t),p.includes(t)&&(s.checked=!1,f.add(e)),s.onchange=()=>{s.checked?f.delete(e):f.add(e),m(e)}}),s.forEach((t,e)=>m(e));const b=t=>{y.hidden=!t,w.setAttribute("aria-expanded",String(t))};w.onclick=t=>{t.stopPropagation(),b(y.hidden)},i(d,"click",t=>{g.contains(t.target)||b(!1)}),i(d,"keydown",t=>{"Escape"===t.key&&b(!1)})}(z,n,0,h,T,d.hide,O,A),!1!==d.search&&function(t,e,n,s){const o=t.appendChild(m(e.ownerDocument,"Search"));w(o,t=>{n.term=t,s()})}(z,n,M,D),_.length&&function(t,e,n,s,o,r){const l=t.ownerDocument;for(const i of e)t.appendChild(N(l,i,n[i],s,o,r,n[i].label||i))}(z,_,F.cols,s.data,M,D),d.detail&&A.push(function(n,s,o,r,l,i){const u=n.ownerDocument,d=o.length,p={};r.expanded=new Set;const f=(t,e)=>{const n={};for(const s in t)n[s]=t[s]?.[e-1]??null;return n},h=e=>{if(e in p)return p[e];const n=f(s._display||{},e);let o=null;if(Array.isArray(l)){const t={};for(const e of l)t[e]=[n[e]??null];o={data:t}}else{const r="function"==typeof l?l:t[l];"function"==typeof r&&(o=r(f(s.data||{},e),e,n))}return p[e]=o},m=t=>{r.expanded.has(t)?r.expanded.delete(t):r.expanded.add(t),i()};return(t,n)=>[...t.rows].forEach((t,s)=>{const o=n[s];if("number"!=typeof o)return;const l=a(t)[0],i=r.expanded.has(o);if(!l)return;const p=c(u,"button",{type:"button",className:"lti-expand",textContent:i?"▾":"▸","aria-expanded":String(i),"aria-label":"Toggle detail"});p.onclick=()=>m(o),l.prepend(p);const f=i&&h(o);if(f){const n=c(u,"tr",{className:"lti-detail"});t.after(n);const s=c(u,"td",{colSpan:d},n);e.render(c(u,"div",{},s),f)}})}(n,s,h,M,d.detail,()=>D(!1))),d.pager){const t=Array.isArray(d.pager)?d.pager:[10,25,50,100];$=function(t,e,n,s,o){const r=t.ownerDocument;let l=t.tFoot;l||((l=t.createTFoot()).className="lt-footer");const i=c(r,"div",{className:"lti-pager"},g(l,"lti-pager-row",e.length,-1)),a=c(r,"span",{className:"lti-pos"});s.pageSize=n[0];const u=[()=>0,t=>t-1,t=>t+1,()=>1e9],d=["«","‹","›","»"].map((t,e)=>{const n=c(r,"button",{type:"button",textContent:t,"aria-label":["First","Previous","Next","Last"][e]},i);return n.onclick=()=>{s.page=u[e](s.page),o()},n});if(i.appendChild(a),n.length>1){const t=c(r,"select",{"aria-label":"Rows per page"},i);n.forEach(e=>c(r,"option",{value:e,textContent:e||"∞"},t)),t.onchange=()=>{s.pageSize=+t.value,s.page=0,o()}}return t=>{const e=s.pageSize||t||1,n=Math.max(0,Math.ceil(t/e)-1);a.textContent=t?`${s.page*e+1}–${Math.min(t,(s.page+1)*e)} / ${t}`:"0 / 0",d.forEach((t,e)=>t.disabled=e<2?!s.page:s.page===n)}}(n,h,t,M,()=>D(!1)),D()}else(M.sort.length||d.detail)&&D()}function m(t,e){return c(t,"input",{type:"search",className:"lti-search","aria-label":e})}function g(t,e,n,s){const o=t.insertRow(s);return o.className=e,c(t.ownerDocument,"td",{colSpan:n},o)}function w(t,e){let n;const s=()=>e(t.value);t.oninput=()=>{clearTimeout(n),n=setTimeout(s,150)},t.onchange=()=>{clearTimeout(n),s()}}const y=t=>""===t?"":`x == ${JSON.stringify(String(t))}`,b=t=>{const e=/^\s*x\s*==\s*(['"])([\s\S]*)\1\s*$/.exec(t||"");return e?e[2]:null},x=(t,e,n,s)=>t<=n&&e>=s?"":`x >= ${t} && x <= ${e}`,v=t=>{const e=/^\s*x\s*>=\s*(-?[\d.]+)\s*&&\s*x\s*<=\s*(-?[\d.]+)\s*$/.exec(t||"");return e?[parseFloat(e[1]),parseFloat(e[2])]:null};function S(t,e,n){const s=e.min,o=e.max,r=o-s||1,l=e.step||r/100,i=c(t,"div",{className:"lti-slider"}),a=c(t,"div",{className:"lti-slider-fill"},i),d=e=>c(t,"button",{type:"button",className:"lti-thumb",role:"slider","aria-label":e,"aria-valuemin":s,"aria-valuemax":o},i),p=[d("Minimum"),d("Maximum")];let f=[s,o];const h=t=>(t-s)/r*100,m=()=>{p.forEach((t,e)=>{t.style.left=h(f[e])+"%",t.setAttribute("aria-valuenow",f[e])}),a.style.left=h(f[0])+"%",a.style.right=100-h(f[1])+"%"},g=(t,e)=>{f[t]=(t=>{const e=Math.round((t-s)/l)*l+s;return Math.min(o,Math.max(s,Math.round(1e6*e)/1e6))})(e),f[0]>f[1]&&(f=[Math.min(...f),Math.max(...f)]),m(),n(f.slice())};return p.forEach((t,e)=>{t.onpointerdown=n=>{t.focus(),u(n,t=>g(e,(t=>{const e=i.getBoundingClientRect();return s+r*Math.min(1,Math.max(0,(t-e.left)/e.width))})(t.clientX)))},t.onkeydown=t=>{const n={ArrowLeft:-1,ArrowDown:-1,ArrowRight:1,ArrowUp:1}[t.key];if(n)g(e,f[e]+n*l);else if("Home"===t.key)g(e,s);else{if("End"!==t.key)return;g(e,o)}t.preventDefault()}}),m(),{el:i,set:t=>{f=t.slice(),m()}}}function E(t,e,n){const s=c(t,"span",{className:"lti-pop"}),o=c(t,"button",{type:"button",className:"lti-funnel",title:e,"aria-label":e,"aria-expanded":"false"},s),r=c(t,"div",{className:"lti-pop-panel",hidden:!0},s);n(r);const l=e=>{r.hidden=!e,o.setAttribute("aria-expanded",String(e)),e&&(()=>{r.style.left=r.style.right="";const e=r.getBoundingClientRect(),n=(t.defaultView||window).innerWidth;e.right>n-4&&(r.style.left="auto",r.style.right="0")})()};return o.onclick=t=>{t.stopPropagation(),l(r.hidden)},i(t,"click",t=>{s.contains(t.target)||l(!1)}),i(t,"keydown",t=>{"Escape"===t.key&&l(!1)}),s}const C={select:{describe:(t,e)=>{const n=b(t);if(null==n)return t?"⋯":"";const s=e.choices.find(t=>t.value===n);return s?s.label:n},init:t=>y(t.selected??(t.choices[0]||{}).value??""),build:(t,e,n)=>{const s=function(t,e,n){const s=c(t,"select",{className:"lti-filter-pick"});return e.forEach(e=>c(t,"option",{value:e.value,textContent:e.label},s)),s.onchange=()=>n(s.value),{el:s,set:t=>s.value=t}}(t,e.choices,t=>n(y(t),o)),o={el:s.el,reflect:t=>{const e=b(t);s.set(null==e?"":e)}};return o}},range:{describe:t=>{const e=v(t);return e?`${e[0]} – ${e[1]}`:t?"⋯":""},init:t=>t.value?x(t.value[0],t.value[1],t.min,t.max):"",build:(t,e,n)=>{const s=c(t,"span",{className:"lti-slider-out"}),o=t=>s.textContent=`${t[0]} – ${t[1]}`,r=S(t,e,t=>{o(t),n(x(t[0],t[1],e.min,e.max),l)}),l={el:[r.el,s],reflect:t=>{const n=v(t)||[e.min,e.max];r.set(n),o(n)}};return l}}};function N(t,e,n,s,o,r,l){const i=function(t,e){if("select"===t.type){let n=t.choices;if(!n){const t=new Set,s=[];for(const n of e)null==n||t.has(n)||(t.add(n),s.push(n));s.sort((t,e)=>"number"==typeof t&&"number"==typeof e?t-e:String(t).localeCompare(String(e))),n=s.map(t=>({value:String(t),label:String(t)}))}return{...t,choices:n}}let{min:n,max:s}=t;if(null==n||null==s){let t=1/0,o=-1/0;for(const n of e){const e=Number(n);isFinite(e)&&(e<t&&(t=e),e>o&&(o=e))}null==n&&(n=isFinite(t)?t:0),null==s&&(s=isFinite(o)?o:1)}return{...t,min:n,max:s}}(n,s[e]||[]),a=C[i.type],u=[];let d=()=>{};const p=(t,n)=>{t?o.filters[e]=t:delete o.filters[e],r();const s=o.filters[e]||"";u.forEach(t=>t!==n&&t.reflect(s)),d(s)},f=E(t,`Filter ${i.label||e}`,n=>{const s=c(t,"input",{type:"search",className:"lti-search","aria-label":`${i.label||e} filter expression`},n),o={reflect:e=>{t.activeElement!==s&&(s.value=e)}};u.push(o),w(s,t=>p(t.trim(),o));const r=a.build(t,i,p);u.push(r),n.append(...[].concat(r.el)),p(a.init(i),null)});let h,m=f;return null!=l&&(m=c(t,"span",{className:"lti-chip"}),c(t,"span",{className:"lti-chip-name",textContent:l},m),h=c(t,"span",{className:"lti-chip-cur"},m),m.appendChild(f)),d=t=>{m.classList.toggle("lti-on",!!t),h&&(h.textContent=a.describe(t,i))},d(o.filters[e]||""),m}const k=(t,e)=>{e?.interactive&&!t.dataset.ltiOn&&(t.dataset.ltiOn="1",h(t,e))};e.plugins.interactive={matcher:d,computeView:p,pageSlice:f,enhance:h},e.onMount.push(k),"undefined"!=typeof document&&l(document,".lt-table").forEach(t=>k(t,t._ltSpec))})("undefined"!=typeof window?window:globalThis);
2
2
  //# sourceMappingURL=lt-interactive.min.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["root","LT","onMount","plugins","interactive","coll","numCol","col","find","v","parseKey","k","slice","dir","$","el","sel","querySelector","$$","querySelectorAll","on","t","type","fn","opts","addEventListener","elem","doc","tag","props","parent","e","createElement","includes","setAttribute","appendChild","drag","onMove","onEnd","preventDefault","target","ownerDocument","document","move","ev","removeEventListener","once","matcher","term","String","trim","test","Function","neg","raw","num","Number","isFinite","cells","c","needle","toLowerCase","some","disp","computeView","spec","state","cols","_cols","data","cell","r","idx","Array","from","length","_","i","filters","pred","filter","map","fns","Object","values","predicates","all","keys","row","fromEntries","o","every","f","sort","Boolean","Intl","Collator","a","b","x","y","xn","yn","compare","pageSlice","view","n","pageSize","page","last","Math","max","ceil","min","enhance","row_group","ops","isFlat","console","warn","forEach","tr","ri","ci","children","textContent","captureDisplay","hrow","pop","isArray","sync","postSwap","refresh","stale","rows","tmp","innerHTML","buildHtml","_viewRows","body","content","replaceWith","_lt","id","flt","barCols","headBar","search","hide","className","fullRow","tHead","createTHead","labels","th","marks","paint","removeAttribute","ind","order","m","replace","d","classList","add","lab","firstChild","append","onclick","additive","findIndex","push","splice","cycle","shiftKey","addSort","default","def","explicit","onType","searchInput","typedFilter","parentNode","addFilter","layout","resize","nCol","ths","cs","g","caption","after","prepend","colGroup","wOf","getBoundingClientRect","width","freeze","contains","w","style","natural","keep","tw","remove","j","setWidth","old","parseFloat","fixedLayout","grip","ondblclick","stopPropagation","onpointerdown","x0","clientX","w0","addResize","opt","start","hidden","Set","setCell","colSpan","apply","has","wrap","btn","title","menu","label","box","checked","onchange","delete","open","key","addColumnToggle","input","addSearch","cfg","addControlFilters","detail","detailOpt","rerender","cache","expanded","pick","src","build","_display","out","toggle","td0","child","render","addDetail","pager","sizes","repage","foot","tFoot","createTFoot","bar","pos","steps","p","btns","glyph","value","total","disabled","addPaginate","sect","cls","insertRow","timer","go","oninput","clearTimeout","setTimeout","selExpr","JSON","stringify","selParse","s","exec","rngExpr","lo","hi","rngParse","makeSlider","onInput","span","step","track","fill","mk","role","thumbs","val","pct","left","right","setOne","round","snap","focus","at","onkeydown","ArrowLeft","ArrowDown","ArrowRight","ArrowUp","set","popover","panel","vw","defaultView","window","innerWidth","place","KINDS","select","describe","choices","init","selected","setTerm","options","makeSelect","ed","reflect","range","show","chipLabel","column","seen","vals","localeCompare","Infinity","resolveSpec","kind","editors","mark","expr","cur","boxEd","activeElement","wEd","concat","summary","dataset","ltiOn","_ltSpec","globalThis"],"sources":["lt-interactive.js"],"mappings":"AAUA,CAACA,IACC,aACA,MAAMC,EAAKD,EAAKC,GAEhB,IAAKA,GAAIC,SAAWD,EAAGE,QAAQC,YAAa,OAG5C,IAAIC,EAGJ,MAAMC,EAASC,GAA2C,iBAA7BA,EAAIC,KAAKC,GAAU,MAALA,GAKrCC,EAAWC,GAAkB,iBAANA,EAAiB,IAAKA,GACxC,MAATA,EAAE,GAAa,CAAEJ,IAAKI,EAAEC,MAAM,GAAIC,IAAK,QAAW,CAAEN,IAAKI,EAAGE,IAAK,OAG7DC,EAAI,CAACC,EAAIC,IAAQD,EAAGE,cAAcD,GAClCE,EAAK,CAACH,EAAIC,IAAQD,EAAGI,iBAAiBH,GACtCI,EAAK,CAACC,EAAGC,EAAMC,EAAIC,IAASH,EAAEI,iBAAiBH,EAAMC,EAAIC,GAK/D,SAASE,EAAKC,EAAKC,EAAKC,EAAQ,CAAC,EAAGC,GAClC,MAAMC,EAAIJ,EAAIK,cAAcJ,GAC5B,IAAK,MAAMjB,KAAKkB,EACdlB,EAAEsB,SAAS,KAAOF,EAAEG,aAAavB,EAAGkB,EAAMlB,IAAOoB,EAAEpB,GAAKkB,EAAMlB,GAChE,OAAOmB,EAASA,EAAOK,YAAYJ,GAAKA,CAC1C,CAIA,SAASK,EAAKL,EAAGM,EAAQC,GACvBP,EAAEQ,iBACF,MAAMZ,EAAMI,EAAES,OAAOC,eAAiBC,SAAUC,EAAOC,GAAMP,EAAOO,GACpExB,EAAGO,EAAK,cAAegB,GACvBvB,EAAGO,EAAK,YAAa,KAjBX,IAAIL,EAAMC,EAAND,EAkBH,cAlBSC,EAkBMoB,EAApBhB,EAlBuBkB,oBAAoBvB,EAAMC,GAmBrDe,GAASA,KACR,CAAEQ,MAAM,GACb,CAYA,SAASC,EAAQC,GACf,MAAMvC,EAAIwC,OAAOD,GAAQ,IAAIE,OAC7B,GAAU,KAANzC,EAAU,OAAO,KACrB,GAAI,wBAAwB0C,KAAK1C,GAAI,CACnC,IAAIc,EACJ,IAAMA,EAAK,IAAI6B,SAAS,IAAK,WAAW3C,MAAQ,CAAE,MAAOsB,GAAI,CAC7D,GAAIR,EAAI,CACN,MAAM8B,EAAM,WAAWF,KAAK1C,GAAI0C,EAAOG,IACrC,GAAW,MAAPA,EAAa,OAAOD,EACxB,IACE,MAAME,EAAMC,OAAOF,GACnB,QAAS/B,EAAG0B,OAAOK,KAAkB,KAARA,GAAcG,SAASF,MAAUhC,EAAGgC,EACnE,CAAE,MAAOxB,GAAK,OAAO,CAAO,GAE9B,OAAO2B,GAASA,EAAML,EAAM,QAAU,QAAQM,GAAKR,EAAKQ,EAAEL,KAC5D,CACF,CACA,MAAMD,EAAe,MAAT5C,EAAE,GAAYmD,GAAUP,EAAM5C,EAAEG,MAAM,GAAGsC,OAASzC,GAAGoD,cACjE,MAAe,KAAXD,EAAsB,KACnBF,GAASL,IAAQK,EAAMI,KAC5BH,GAAe,MAAVA,EAAEI,MAAgBd,OAAOU,EAAEI,MAAMF,cAAc5B,SAAS2B,GAEjE,CAUA,SAASI,EAAYC,EAAMF,EAAMG,GAC/B,MAAMC,EAAOF,EAAKG,OAAS,GAAIC,EAAOJ,EAAKI,MAAQ,CAAC,EAC9CC,EAAO,CAACX,EAAGY,KAAM,CACfjB,IAAKe,EAAKV,KAAKY,EAAI,IAAM,KAAMR,KAAMA,EAAKJ,KAAKY,EAAI,IAAM,KAEjE,IAAIC,EAAMC,MAAMC,KAAK,CAAEC,QAASN,EAAKF,EAAK,KAAO,IAAIQ,QAAU,CAACC,EAAGC,IAAMA,EAAI,GAG7E,IAAK,MAAMlB,KAAKO,EAAMY,SAAW,CAAC,EAAG,CACnC,MAAMC,EAAOhC,EAAQmB,EAAMY,QAAQnB,IAC/BoB,IAAMP,EAAMA,EAAIQ,OAAOT,GAAKQ,EAAK,CAACT,EAAKX,EAAGY,MAChD,CACA,MAAMQ,EAAOhC,EAAQmB,EAAMlB,MACvB+B,IAAMP,EAAMA,EAAIQ,OAAOT,GAAKQ,EAAKZ,EAAKc,IAAItB,GAAKW,EAAKX,EAAGY,OAO3D,MAAMW,EAAMC,OAAOC,OAAOlB,EAAMmB,YAAc,CAAC,GAC/C,GAAIH,EAAIP,OAAQ,CACd,MAAMW,EAAMH,OAAOI,KAAKlB,GAClBmB,EAAMjB,GAAKY,OAAOM,YAAYH,EAAIL,IAAItB,GAAK,CAACA,EAAGU,EAAKV,KAAKY,EAAI,IAAM,QACzEC,EAAMA,EAAIQ,OAAOT,IAAO,MAAMmB,EAAIF,EAAIjB,GAAI,OAAOW,EAAIS,MAAMC,GAAKA,EAAEF,KACpE,CAKA,MAAMH,GAAQrB,EAAM2B,MAAQ,IAAIZ,IAAItE,IAClC,MAAMJ,EAAM8D,EAAK1D,EAAEJ,KACnB,OAAOA,GAAO,CAAEA,MAAKgD,IAAKjD,EAAOC,GAAMM,IAAe,SAAVF,EAAEE,KAAkB,EAAI,KACnEmE,OAAOc,SAaV,OAZIP,EAAKZ,SACPtE,IAAS,IAAI0F,KAAKC,SAClBxB,EAAIqB,KAAK,CAACI,EAAGC,KACX,IAAK,MAAM3F,IAAEA,EAAGgD,IAAEA,EAAG1C,IAAEA,KAAS0E,EAAM,CACpC,MAAMY,EAAI5F,EAAI0F,EAAI,GAAIG,EAAI7F,EAAI2F,EAAI,GAAIG,EAAU,MAALF,EAAWG,EAAU,MAALF,EAC3D,GAAIC,GAAMC,EAAI,CAAE,GAAID,IAAOC,EAAI,OAAOD,EAAK,GAAK,EAAG,QAAU,CAC7D,MAAM1C,EAAIJ,EAAM4C,EAAIC,EAAI/F,EAAKkG,QAAQtD,OAAOkD,GAAIlD,OAAOmD,IACvD,GAAIzC,EAAG,OAAO9C,EAAM8C,CACtB,CACA,OAAO,KAGJa,CACT,CAMA,SAASgC,EAAUC,EAAMvC,GACvB,MAAMwC,EAAIxC,EAAMyC,SAChB,IAAKD,EAAqB,OAAhBxC,EAAM0C,KAAO,EAAUH,EACjC,MAAMI,EAAOC,KAAKC,IAAI,EAAGD,KAAKE,KAAKP,EAAK9B,OAAS+B,GAAK,GAEtD,OADAxC,EAAM0C,KAAOE,KAAKG,IAAIH,KAAKC,IAAI7C,EAAM0C,MAAQ,EAAG,GAAIC,GAC7CJ,EAAK7F,MAAMsD,EAAM0C,KAAOF,GAAIxC,EAAM0C,KAAO,GAAKF,EACvD,CAsBA,SAASQ,EAAQnG,EAAIkD,GACnB,IAfaA,KAASA,EAAKkD,aACzBlD,EAAKmD,KAAO,IAAItD,KAAK4B,GAAgB,cAAXA,EAAEpE,MAAmC,WAAXoE,EAAEpE,MAcnD+F,CAAOpD,GAAO,OAAOqD,QAAQC,KAChC,mGAGF,MAAM/F,EAAOyC,EAAK7D,YAAa+D,EAAOF,EAAKG,OAAS,GAC9CL,EAfR,SAAwBhD,EAAIoD,GAC1B,MAAMJ,EAAO,CAAC,EAKd,OAJAI,EAAKqD,QAAQ7D,GAAKI,EAAKJ,GAAK,IAC5BzC,EAAGH,EAAI,YAAYyG,QAAQ,CAACC,EAAIC,IAAOvD,EAAKqD,QAC1C,CAAC7D,EAAGgE,IAAO5D,EAAKJ,GAAG+D,GAAMD,EAAGG,SAASD,IAAKE,aAAe,KAEpD9D,CACT,CAQe+D,CAAe/G,EAAIoD,GAE1B4D,EAAO,IAAI7G,EAAGH,EAAI,aAAaiH,MAG/B9D,EAAQ,CACNY,QAAS,CAAC,EAAGO,WAAY,CAAC,EAAGuB,KAAM,EAAGD,SAAU,EAChDd,KAAMpB,MAAMwD,QAAQzG,EAAKqE,MAAQrE,EAAKqE,KAAKZ,IAAIvE,GAAY,IAEnE,IAAI+F,EACAyB,EAAO,OAKX,MAAMC,EAAW,GAIXC,EAAU,CAACC,GAAQ,KACnBA,IAAS5B,EAAOzC,EAAYC,EAAMF,EAAMG,GAAQA,EAAM0C,KAAO,GACjE,MAAM0B,EAAO9B,EAAUC,EAAMvC,GACvBqE,EAAM7G,EAAKX,EAAG0B,cAAe,WAAY,CACvC+F,UAAWvI,EAAGwI,UAAU,IAAKxE,EAAMyE,UAAWJ,MAEhDK,EAAO7H,EAAEyH,EAAIK,QAAS,SACvBN,EAAK3D,OAELwD,EAASX,QAAQ5B,GAAKA,EAAE+C,EAAML,IADjCK,EAAKH,UAAY,sCAAsCrE,EAAKQ,sBAE9D7D,EAAEC,EAAI,SAAS8H,YAAYF,GAC3BT,EAAKzB,EAAK9B,SAQZ5D,EAAG+H,IAAM,CACP7E,OAAMC,QACNkE,QAAS,IAAMA,IAIf3B,KAAM,IAAMA,GAAQzC,EAAYC,EAAMF,EAAMG,GAC5C,MAAAc,CAAO+D,EAAIxH,GACTA,EAAM2C,EAAMmB,WAAW0D,GAAMxH,SAAc2C,EAAMmB,WAAW0D,GAC5DX,GACF,GASF,MAAMY,EAAMxH,EAAKwD,OACXiE,EAAUD,GAAK7E,KACbgB,OAAOI,KAAKyD,EAAI7E,MAAMa,OAAOrB,IAAqB,IAAhBqF,EAAI7E,KAAKR,KAAgBQ,EAAKlC,SAAS0B,IAAM,GAGjFuF,GAA2B,IAAhB1H,EAAK2H,QAAoB3H,EAAK4H,MAAQH,EAAQtE,OAC7DjD,EAAKX,EAAG0B,cAAe,MAAO,CAAE4G,UAAW,WACzCC,EAAQvI,EAAGwI,OAASxI,EAAGyI,cAAe,WAAYrF,EAAKQ,OAAQ,IAAM,KAGnE8E,EAAS,IAAIvI,EAAG6G,EAAM,OAAO9C,IAAIyE,GAAMA,EAAG7B,cAE9B,IAAdrG,EAAKqE,MAiFX,SAAiBkC,EAAM5D,EAAMD,EAAOkE,GAClC,MAAMzG,EAAMoG,EAAKtF,cAAekH,EAAQ,CAAC,EACnCC,EAAQ,KACZ,IAAK,MAAMjG,KAAKgG,EACdA,EAAMhG,GAAG+F,GAAGG,gBAAgB,aAC5BF,EAAMhG,GAAGmG,IAAIjC,YAAc,GAE7B,MAAMkC,EAAQ7F,EAAM2B,MAAQ,GAC5BkE,EAAMvC,QAAQ,EAAGjH,MAAKM,OAAOgE,KAC3B,MAAMmF,EAAIL,EAAMpJ,GACXyJ,IACLA,EAAEN,GAAGxH,aAAa,YAAqB,SAARrB,EAAiB,aAAe,aAC/DmJ,EAAEF,IAAIjC,aAAuB,SAARhH,EAAiB,IAAM,MACzCkJ,EAAMpF,OAAS,EArUP1B,OAqUe4B,EAAI,GArUToF,QAAQ,MAAOC,GAAK,aAAaA,IAqUnB,QAGvChJ,EAAG6G,EAAM,MAAMP,QAAQ,CAACkC,EAAI/B,KAC1B,MAAMpH,EAAM4D,EAAKwD,GACjB,GAAW,MAAPpH,EAAa,OACjBmJ,EAAGS,UAAUC,IAAI,gBAGjB,MAAMC,EAAM3I,EAAKC,EAAK,OAAQ,CAAE0H,UAAW,aAAeK,GAC1D,KAAOA,EAAGY,aAAeD,GAAKA,EAAIE,OAAOb,EAAGY,YAC5CX,EAAMpJ,GAAO,CAAEmJ,KAAII,IAAKpI,EAAKC,EAAK,OAAQ,CAAE0H,UAAW,YAAcgB,IACrEA,EAAIG,QAAUzI,KAxClB,SAAemC,EAAO3D,EAAKkK,GACzB,MAAMV,GAAS7F,EAAM2B,MAAQ,IAAIjF,QAC3BiE,EAAIkF,EAAMW,UAAU/J,GAAKA,EAAEJ,MAAQA,GACnCM,EAAMgE,EAAI,EAAI,MAAyB,QAAjBkF,EAAMlF,GAAGhE,IAAgB,OAAS,KAC9D,IAAK4J,EAAoD,YAAxCvG,EAAM2B,KAAOhF,EAAM,CAAC,CAAEN,MAAKM,QAAS,IACjDgE,EAAI,EAAGkF,EAAMY,KAAK,CAAEpK,MAAKM,QACpBA,EAAKkJ,EAAMlF,GAAK,CAAEtE,MAAKM,OAC3BkJ,EAAMa,OAAO/F,EAAG,GACrBX,EAAM2B,KAAOkE,CACf,CA+ByBc,CAAM3G,EAAO3D,EAAKwB,EAAE+I,UAAWlB,IAASxB,OAE/DwB,GACF,CA7G2BmB,CAAQhD,EAAM5D,EAAMD,EAAOkE,GAGhDY,IAAQA,EAAIgC,SAAYhC,EAAI7E,MAAQgB,OAAOI,KAAKyD,EAAI7E,MAAML,KAAKH,GAAKQ,EAAKlC,SAAS0B,MAiHxF,SAAmBoE,EAAM5D,EAAM6E,EAAK3E,EAAMH,EAAOkE,GAC/C,MAAMzG,EAAMoG,EAAKtF,cACX+C,EAAM9D,EAAKC,EAAK,KAAM,CAAE0H,UAAW,gBACnC4B,EAAMjC,EAAIgC,QAASE,EAAWlC,EAAI7E,MAAQ,CAAC,EACjDA,EAAKqD,QAAQ7D,IACX,MAAMW,EAAO5C,EAAKC,EAAK,KAAM,CAAC,EAAG6D,GAC3BvB,EAAON,KAAKuH,EAAWA,EAASvH,GAAKsH,EAC3C,GAAKhH,EACL,IAAa,IAATA,EAAe,CAEjBkH,EADc7G,EAAKnC,YAAYiJ,EAAYzJ,EAAK,UAAUgC,MAC5ClD,IAAOA,EAAKyD,EAAMY,QAAQnB,GAAKlD,SAAYyD,EAAMY,QAAQnB,GAAIyE,KAC7E,MACE9D,EAAKnC,YAAYkJ,EAAY1J,EAAKgC,EAAGM,EAAMI,EAAMH,EAAOkE,EAAS,SAErEL,EAAKuD,WAAWnJ,YAAYqD,EAC9B,CA/HI+F,CAAUxD,EAAM5D,EAAM6E,EAAK/E,EAAKI,KAAMH,EAAOkE,GAC/C,MAAMoD,EAAShK,EAAKiK,OAkNtB,SAAqB1K,EAAIgH,EAAM2D,GAC7B,MAAMC,EAAM,IAAIzK,EAAG6G,EAAM,OACnB6D,EAtBR,SAAkB7K,EAAI2K,GACpB,IAAIG,EAAI/K,EAAEC,EAAI,YACd,IAAK8K,EAAG,CACN,MAAMlK,EAAMZ,EAAG0B,cACfoJ,EAAInK,EAAKC,EAAK,YACd,IAAK,IAAIkD,EAAI,EAAGA,EAAI6G,EAAM7G,IAAKnD,EAAKC,EAAK,MAAO,CAAC,EAAGkK,GAEpD9K,EAAG+K,QAAU/K,EAAG+K,QAAQC,MAAMF,GAAK9K,EAAGiL,QAAQH,EAChD,CACA,MAAO,IAAIA,EAAEjE,SACf,CAYaqE,CAASlL,EAAI2K,GAAOQ,EAAMnK,GAAKA,EAAEoK,wBAAwBC,MAC9DC,EAAS,KACb,GAAItL,EAAGoJ,UAAUmC,SAAS,aAAc,OACxC,MAAMC,EAAIZ,EAAI1G,IAAIiH,GAClBnL,EAAGyL,MAAMJ,MAAQF,EAAInL,GAAM,KAC3B6K,EAAGpE,QAAQ,CAAC7D,EAAGkB,IAAMlB,EAAE6I,MAAMJ,MAAQG,EAAE1H,GAAK,MAC5C9D,EAAGoJ,UAAUC,IAAI,cAEbqC,EAAU5H,IACd,MAAM6H,EAAOd,EAAG3G,IAAItB,GAAKA,EAAE6I,MAAMJ,OAAQO,EAAK5L,EAAGyL,MAAMJ,MACvDR,EAAGpE,QAAQ7D,GAAKA,EAAE6I,MAAMJ,MAAQ,IAChCrL,EAAGyL,MAAMJ,MAAQ,GACjBrL,EAAGoJ,UAAUyC,OAAO,aACpB,MAAML,EAAIL,EAAIP,EAAI9G,IAIlB,OAHA+G,EAAGpE,QAAQ,CAAC7D,EAAGkJ,IAAMlJ,EAAE6I,MAAMJ,MAAQM,EAAKG,IAC1C9L,EAAGyL,MAAMJ,MAAQO,EACjB5L,EAAGoJ,UAAUC,IAAI,aACVmC,GAEHO,EAAW,CAACjI,EAAG0H,EAAGtF,EAzdV,MA0dZ,MAAM8F,EAAMC,WAAWpB,EAAG/G,GAAG2H,MAAMJ,OACnCR,EAAG/G,GAAG2H,MAAMJ,MAAQtF,KAAKC,IAAIwF,EAAGtF,GAAO,KACvClG,EAAGyL,MAAMJ,MACPY,WAAWjM,EAAGyL,MAAMJ,OAASY,WAAWpB,EAAG/G,GAAG2H,MAAMJ,OAASW,EAAM,MAEvE,MAAO,CAAEpB,MAAKC,KAAIS,SAAQI,UAASK,WACrC,CA9O+BG,CAAYlM,EAAIgH,EAAM5D,EAAKQ,QAAU,KAYlE,GAXInD,EAAKiK,QAmPX,SAAmB1K,EAAIyK,GACrB,MAAM7J,EAAMZ,EAAG0B,eAAekJ,IAAEA,EAAGC,GAAEA,EAAES,OAAEA,EAAMI,QAAEA,EAAOK,SAAEA,GAAatB,EACvEG,EAAInE,QAAQ,CAACkC,EAAI7E,KACf,MAAMqI,EAAOxL,EAAKC,EAAK,MAAO,CAAE0H,UAAW,eAAiBK,GAC5DwD,EAAKC,WAAapL,IAChBA,EAAEqL,kBACFf,IACAS,EAASjI,EAAG4H,EAAQ5H,KAEtBqI,EAAKG,cAAgBtL,IACnBA,EAAEqL,kBACFf,IACA,MAAMiB,EAAKvL,EAAEwL,QAASC,EAAKR,WAAWpB,EAAG/G,GAAG2H,MAAMJ,OAClDrL,EAAGoJ,UAAUC,IAAI,gBAGjBhI,EAAKL,EAAGa,GAAMkK,EAASjI,EAAG2I,EAAK5K,EAAG2K,QAAUD,GAC1C,IAAMvM,EAAGoJ,UAAUyC,OAAO,mBAGlC,CAvQmBa,CAAU1M,EAAIyK,GAC3BhK,EAAK4H,MA+QX,SAAyB9E,EAAMvD,EAAIgH,EAAM5D,EAAMsF,EAAQiE,EAAKlC,EAAQrD,GAClE,MAAMxG,EAAMZ,EAAG0B,cACTkL,EAASD,GAAOA,EAAIE,QAAW,GAAIA,EAAS,IAAIC,IAGhDC,EAAU,CAACrG,EAAI5C,EAAGzD,KACtB,MAAMuC,EAAI8D,EAAGG,SAAS/C,GAClBlB,GAAmB,IAAdA,EAAEoK,UAAepK,EAAEiK,OAASxM,IAGvC+G,EAASwC,KAAKhC,GAAQiF,EAAOpG,QAAQ3C,IACnC,IAAK,MAAM4C,KAAMkB,EAAKL,KAAMwF,EAAQrG,EAAI5C,GAAG,MAS7C,MAAMmJ,EAAQnJ,IACZ,MAAMzD,EAAKwM,EAAOK,IAAIpJ,GAClB2G,GAAQI,GAAG/G,KAAI2G,EAAOI,GAAG/G,GAAG+I,OAASxM,GACzC,IAAK,MAAMqG,KAAM1G,EAAGuH,KACbb,EAAG0C,UAAUmC,SAAS,mBAAmBwB,EAAQrG,EAAI5C,EAAGzD,IAE3D8M,EAAOxM,EAAKC,EAAK,OAAQ,CAAE0H,UAAW,YAAc/E,GACpD6J,EAAMzM,EAAKC,EAAK,SAAU,CACxBL,KAAM,SAAU8M,MAAO,UACvB,aAAc,uBAAwB,gBAAiB,SACtDF,GACHG,EAAO3M,EAAKC,EAAK,MAAO,CAAE0H,UAAW,WAAYuE,QAAQ,GAAQM,GACvE/J,EAAKqD,QAAQ,CAAC7D,EAAGkB,KACf,GAAS,MAALlB,EAAW,OACf,MAAM2K,EAAQ5M,EAAKC,EAAK,QAAS,CAAC,EAAG0M,GAC/BE,EAAM7M,EAAKC,EAAK,QAAS,CAAEL,KAAM,WAAYkN,SAAS,GAAQF,GACpEA,EAAM/D,OAAOd,EAAO5E,IAAMlB,GACtBgK,EAAM1L,SAAS0B,KAAM4K,EAAIC,SAAU,EAAOZ,EAAOxD,IAAIvF,IACzD0J,EAAIE,SAAW,KACbF,EAAIC,QAAUZ,EAAOc,OAAO7J,GAAK+I,EAAOxD,IAAIvF,GAC5CmJ,EAAMnJ,MAGVV,EAAKqD,QAAQ,CAAC5C,EAAGC,IAAMmJ,EAAMnJ,IAC7B,MAAM8J,EAAOvN,IACXiN,EAAKT,QAAUxM,EACf+M,EAAIjM,aAAa,gBAAiBe,OAAO7B,KAE3C+M,EAAI3D,QAAUzI,IAAOA,EAAEqL,kBAAmBuB,EAAKN,EAAKT,SACpDxM,EAAGO,EAAK,QAASI,IAAYmM,EAAK5B,SAASvK,EAAES,SAASmM,GAAK,KAC3DvN,EAAGO,EAAK,UAAWI,IAAqB,WAAVA,EAAE6M,KAAkBD,GAAK,IACzD,CAjUIE,CAAgB3F,EAASnI,EAAIgH,EAAM5D,EAAMsF,EAAQjI,EAAK4H,KAAMoC,EAAQrD,IAClD,IAAhB3G,EAAK2H,QAgDX,SAAmB7E,EAAMvD,EAAImD,EAAOkE,GAClC,MAAM0G,EAAQxK,EAAKnC,YAAYiJ,EAAYrK,EAAG0B,cAAe,WAC7D0I,EAAO2D,EAAOrO,IAAOyD,EAAMlB,KAAOvC,EAAG2H,KACvC,CAnD6B2G,CAAU7F,EAASnI,EAAImD,EAAOkE,GACrDa,EAAQtE,QAsiBd,SAA2BL,EAAM2E,EAAS+F,EAAK3K,EAAMH,EAAOkE,GAC1D,MAAMzG,EAAM2C,EAAK7B,cACjB,IAAK,MAAMlC,KAAO0I,EAChB3E,EAAKnC,YACHkJ,EAAY1J,EAAKpB,EAAKyO,EAAIzO,GAAM8D,EAAMH,EAAOkE,EAAS4G,EAAIzO,GAAK+N,OAAS/N,GAC9E,CA3iBsB0O,CAAkB/F,EAASD,EAASD,EAAI7E,KAAMF,EAAKI,KAAMH,EAAOkE,GAIhF5G,EAAK0N,QACP/G,EAASwC,KAiIb,SAAmB5J,EAAIkD,EAAME,EAAMD,EAAOiL,EAAWC,GACnD,MAAMzN,EAAMZ,EAAG0B,cAAeiJ,EAAOvH,EAAKQ,OAAQ0K,EAAQ,CAAC,EAC3DnL,EAAMoL,SAAW,IAAIzB,IAIrB,MAAM0B,EAAO,CAACC,EAAKjL,KACjB,MAAMmB,EAAI,CAAC,EAAG,IAAK,MAAM/B,KAAK6L,EAAK9J,EAAE/B,GAAK6L,EAAI7L,KAAKY,EAAI,IAAM,KAAM,OAAOmB,GAEtE+J,EAAQlL,IACZ,GAAIA,KAAK8K,EAAO,OAAOA,EAAM9K,GAC7B,MAAMR,EAAOwL,EAAKtL,EAAKyL,UAAY,CAAC,EAAGnL,GACvC,IAAIoL,EAAM,KACV,GAAIlL,MAAMwD,QAAQkH,GAAY,CAG5B,MAAM9K,EAAO,CAAC,EACd,IAAK,MAAMV,KAAKwL,EAAW9K,EAAKV,GAAK,CAACI,EAAKJ,IAAM,MACjDgM,EAAM,CAAEtL,OACV,KAAO,CAEL,MAAM9C,EAA0B,mBAAd4N,EAA2BA,EAAYnP,EAAKmP,GAC5C,mBAAP5N,IAAmBoO,EAAMpO,EAAGgO,EAAKtL,EAAKI,MAAQ,CAAC,EAAGE,GAAIA,EAAGR,GACtE,CACA,OAAOsL,EAAM9K,GAAKoL,GAEdC,EAASrL,IACbL,EAAMoL,SAASrB,IAAI1J,GAAKL,EAAMoL,SAASZ,OAAOnK,GAAKL,EAAMoL,SAASlF,IAAI7F,GACtE6K,KAEF,MAAO,CAACzG,EAAML,IAAS,IAAIK,EAAKL,MAAMd,QAAQ,CAACC,EAAI5C,KACjD,MAAMN,EAAI+D,EAAKzD,GAAIgL,EAAMpI,EAAG/D,MAAM,GAAIiL,EAAOzK,EAAMoL,SAASrB,IAAI1J,GAChE,IAAKsL,EAAK,OACV,MAAM1B,EAAMzM,EAAKC,EAAK,SAAU,CAC9BL,KAAM,SAAU+H,UAAW,aAAcxB,YAAa8G,EAAO,IAAM,IACnE,gBAAiB1L,OAAO0L,GAAO,aAAc,kBAE/CR,EAAI3D,QAAU,IAAMoF,EAAOrL,GAC3BsL,EAAI7D,QAAQmC,GACZ,MAAM2B,EAAQnB,GAAQc,EAAMlL,GAC5B,GAAIuL,EAAO,CACT,MAAMtK,EAAM9D,EAAKC,EAAK,KAAM,CAAE0H,UAAW,eACzC5B,EAAGsE,MAAMvG,GACT,MAAMlB,EAAO5C,EAAKC,EAAK,KAAM,CAAEoM,QAASrC,GAAQlG,GAChDvF,EAAG8P,OAAOrO,EAAKC,EAAK,MAAO,CAAC,EAAG2C,GAAOwL,EACxC,GAEJ,CAhLkBE,CAAUjP,EAAIkD,EAAME,EAAMD,EAAO1C,EAAK0N,OAAQ,IAAM9G,GAAQ,KAExE5G,EAAKyO,MAAO,CACd,MAAMC,EAAQzL,MAAMwD,QAAQzG,EAAKyO,OAASzO,EAAKyO,MAAQ,CAAC,GAAI,GAAI,GAAI,KACpE/H,EAyiBJ,SAAqBnH,EAAIoD,EAAM+L,EAAOhM,EAAOiM,GAC3C,MAAMxO,EAAMZ,EAAG0B,cACf,IAAI2N,EAAOrP,EAAGsP,MAETD,KAAOA,EAAOrP,EAAGuP,eAAejH,UAAY,aACjD,MAAMkH,EAAM7O,EAAKC,EAAK,MAAO,CAAE0H,UAAW,aAClCC,EAAQ8G,EAAM,gBAAiBjM,EAAKQ,QAAS,IAC/C6L,EAAM9O,EAAKC,EAAK,OAAQ,CAAE0H,UAAW,YAC3CnF,EAAMyC,SAAWuJ,EAAM,GAEvB,MAAMO,EAAQ,CAAC,IAAM,EAAGC,GAAKA,EAAI,EAAGA,GAAKA,EAAI,EAAG,IAAM,KAChDC,EAAO,CAAC,IAAK,IAAK,IAAK,KAAK1L,IAAI,CAAC2L,EAAO/L,KAC5C,MAAMqB,EAAIxE,EAAKC,EAAK,SAAU,CAC5BL,KAAM,SAAUuG,YAAa+I,EAC7B,aAAc,CAAC,QAAS,WAAY,OAAQ,QAAQ/L,IACnD0L,GAEH,OADArK,EAAEsE,QAAU,KAAQtG,EAAM0C,KAAO6J,EAAM5L,GAAGX,EAAM0C,MAAOuJ,KAChDjK,IAGT,GADAqK,EAAIpO,YAAYqO,GACZN,EAAMvL,OAAS,EAAG,CACpB,MAAM3D,EAAMU,EAAKC,EAAK,SAAU,CAAE,aAAc,iBAAmB4O,GAEnEL,EAAM1I,QAAQd,GAAKhF,EAAKC,EAAK,SAAU,CAAEkP,MAAOnK,EAAGmB,YAAanB,GAAK,KAAO1F,IAC5EA,EAAIyN,SAAW,KAAQvK,EAAMyC,UAAY3F,EAAI6P,MAAO3M,EAAM0C,KAAO,EAAGuJ,IACtE,CACA,OAAOW,IAEL,MAAMpK,EAAIxC,EAAMyC,UAAYmK,GAAS,EAC/BjK,EAAOC,KAAKC,IAAI,EAAGD,KAAKE,KAAK8J,EAAQpK,GAAK,GAChD8J,EAAI3I,YAAciJ,EAChB,GAAG5M,EAAM0C,KAAOF,EAAI,KAAKI,KAAKG,IAAI6J,GAAQ5M,EAAM0C,KAAO,GAAKF,QAAQoK,IACpE,QACFH,EAAKnJ,QAAQ,CAACtB,EAAGrB,IAAMqB,EAAE6K,SAAWlM,EAAI,GAAKX,EAAM0C,KAAO1C,EAAM0C,OAASC,GAE7E,CA5kBWmK,CAAYjQ,EAAIoD,EAAM+L,EAAOhM,EAAO,IAAMkE,GAAQ,IACzDA,GACF,MAAWlE,EAAM2B,KAAKlB,QAAUnD,EAAK0N,SAGnC9G,GAEJ,CAKA,SAASgD,EAAYzJ,EAAK2M,GACxB,OAAO5M,EAAKC,EAAK,QAAS,CACxBL,KAAM,SAAU+H,UAAW,aAAc,aAAciF,GAE3D,CAMA,SAAShF,EAAQ2H,EAAMC,EAAKxF,EAAM8E,GAChC,MAAMhL,EAAMyL,EAAKE,UAAUX,GAE3B,OADAhL,EAAI6D,UAAY6H,EACTxP,EAAKuP,EAAKxO,cAAe,KAAM,CAAEsL,QAASrC,GAAQlG,EAC3D,CAIA,SAAS2F,EAAO2D,EAAOd,GACrB,IAAIoD,EACJ,MAAMC,EAAK,IAAMrD,EAAMc,EAAM+B,OAC7B/B,EAAMwC,QAAU,KAAQC,aAAaH,GAAQA,EAAQI,WAAWH,EAAI,MACpEvC,EAAML,SAAW,KAAQ8C,aAAaH,GAAQC,IAChD,CAkSA,MAAMI,EAAUhR,GAAW,KAANA,EAAW,GAAK,QAAQiR,KAAKC,UAAU1O,OAAOxC,MAC7DmR,EAAWC,IACT,MAAM7H,EAAI,qCAAqC8H,KAAKD,GAAK,IACzD,OAAO7H,EAAIA,EAAE,GAAK,MAEpB+H,EAAU,CAACC,EAAIC,EAAIhL,EAAKF,IACtBiL,GAAM/K,GAAOgL,GAAMlL,EAAM,GAAK,QAAQiL,aAAcC,IACtDC,EAAWL,IACT,MAAM7H,EAAI,yDAAyD8H,KAAKD,GAAK,IAC7E,OAAO7H,EAAI,CAACgD,WAAWhD,EAAE,IAAKgD,WAAWhD,EAAE,KAAO,MA6C1D,SAASmI,EAAWxQ,EAAKqN,EAAKoD,GAC5B,MAAMnL,EAAM+H,EAAI/H,IAAKF,EAAMiI,EAAIjI,IAAKsL,EAAOtL,EAAME,GAAO,EAClDqL,EAAOtD,EAAIsD,MAAQD,EAAO,IAC1BE,EAAQ7Q,EAAKC,EAAK,MAAO,CAAE0H,UAAW,eACtCmJ,EAAO9Q,EAAKC,EAAK,MAAO,CAAE0H,UAAW,mBAAqBkJ,GAC1DE,EAAKpI,GAAO3I,EAAKC,EAAK,SAAU,CAC9BL,KAAM,SAAU+H,UAAW,YAAaqJ,KAAM,SAC9C,aAAcrI,EAAK,gBAAiBpD,EAAK,gBAAiBF,GACzDwL,GACHI,EAAS,CAACF,EAAG,WAAYA,EAAG,YAClC,IAAIG,EAAM,CAAC3L,EAAKF,GAChB,MAAM8L,EAAMpS,IAAMA,EAAIwG,GAAOoL,EAAO,IAK9BzI,EAAQ,KACN+I,EAAOnL,QAAQ,CAACnG,EAAGwD,KACjBxD,EAAEmL,MAAMsG,KAAOD,EAAID,EAAI/N,IAAM,IAC7BxD,EAAEa,aAAa,gBAAiB0Q,EAAI/N,MAEtC2N,EAAKhG,MAAMsG,KAAOD,EAAID,EAAI,IAAM,IAChCJ,EAAKhG,MAAMuG,MAAQ,IAAMF,EAAID,EAAI,IAAM,KAEzCI,EAAS,CAACnO,EAAGpE,KACXmS,EAAI/N,GAbCpE,KACL,MAAMoR,EAAI/K,KAAKmM,OAAOxS,EAAIwG,GAAOqL,GAAQA,EAAOrL,EAChD,OAAOH,KAAKG,IAAIF,EAAKD,KAAKC,IAAIE,EAAKH,KAAKmM,MAAU,IAAJpB,GAAW,OAWhDqB,CAAKzS,GACVmS,EAAI,GAAKA,EAAI,KAAIA,EAAM,CAAC9L,KAAKG,OAAO2L,GAAM9L,KAAKC,OAAO6L,KAC1DhJ,IACAwI,EAAQQ,EAAIhS,UAkBpB,OAhBA+R,EAAOnL,QAAQ,CAACnG,EAAGwD,KAKjBxD,EAAEgM,cAAgBtL,IAAOV,EAAE8R,QAAS/Q,EAAKL,EAAGa,GAAMoQ,EAAOnO,EAJ9C0I,KACT,MAAMhJ,EAAIgO,EAAMpG,wBAChB,OAAOlF,EAAMoL,EAAOvL,KAAKG,IAAI,EAAGH,KAAKC,IAAI,GAAIwG,EAAUhJ,EAAEuO,MAAQvO,EAAE6H,SAETgH,CAAGxQ,EAAG2K,YAClElM,EAAEgS,UAAYtR,IACZ,MAAMmI,EAAI,CAAEoJ,WAAY,EAAGC,WAAY,EAAGC,WAAY,EAAGC,QAAS,GAAI1R,EAAE6M,KACxE,GAAI1E,EAAG8I,EAAOnO,EAAG+N,EAAI/N,GAAKqF,EAAIoI,QACzB,GAAc,SAAVvQ,EAAE6M,IAAgBoE,EAAOnO,EAAGoC,OAChC,IAAc,QAAVlF,EAAE6M,IACN,OADqBoE,EAAOnO,EAAGkC,EACzB,CACXhF,EAAEQ,oBAGNqH,IACO,CAAE7I,GAAIwR,EAAOmB,IAAKjT,IAAOmS,EAAMnS,EAAEG,QAASgJ,KACnD,CAIA,SAAS+J,EAAQhS,EAAK2M,EAAOmB,GAC3B,MAAMvB,EAAOxM,EAAKC,EAAK,OAAQ,CAAE0H,UAAW,YACtC8E,EAAMzM,EAAKC,EAAK,SAAU,CACxBL,KAAM,SAAU+H,UAAW,aAAc+E,MAAOE,EAChD,aAAcA,EAAO,gBAAiB,SACrCJ,GACH0F,EAAQlS,EAAKC,EAAK,MAAO,CAAE0H,UAAW,gBAAiBuE,QAAQ,GAAQM,GAC7EuB,EAAMmE,GAIN,MAKMjF,EAAOvN,IACXwS,EAAMhG,QAAUxM,EAChB+M,EAAIjM,aAAa,gBAAiBe,OAAO7B,IACrCA,GARQ,MACZwS,EAAMpH,MAAMsG,KAAOc,EAAMpH,MAAMuG,MAAQ,GACvC,MAAMxO,EAAIqP,EAAMzH,wBAAyB0H,GAAMlS,EAAImS,aAAeC,QAAQC,WACtEzP,EAAEwO,MAAQc,EAAK,IAAKD,EAAMpH,MAAMsG,KAAO,OAAQc,EAAMpH,MAAMuG,MAAQ,MAK/DkB,IAKV,OAHA9F,EAAI3D,QAAUzI,IAAOA,EAAEqL,kBAAmBuB,EAAKiF,EAAMhG,SACrDxM,EAAGO,EAAK,QAASI,IAAYmM,EAAK5B,SAASvK,EAAES,SAASmM,GAAK,KAC3DvN,EAAGO,EAAK,UAAWI,IAAqB,WAAVA,EAAE6M,KAAkBD,GAAK,KAChDT,CACT,CASA,MAAMgG,EAAQ,CACZC,OAAQ,CACNC,SAAU,CAAC/S,EAAG2N,KACZ,MAAMvO,EAAImR,EAASvQ,GACnB,GAAS,MAALZ,EAAW,OAAOY,EAAI,IAAM,GAChC,MAAMqE,EAAIsJ,EAAIqF,QAAQ7T,KAAKkF,GAAKA,EAAEmL,QAAUpQ,GAC5C,OAAOiF,EAAIA,EAAE4I,MAAQ7N,GAEvB6T,KAAMtF,GAAOyC,EAAQzC,EAAIuF,WAAavF,EAAIqF,QAAQ,IAAM,CAAC,GAAGxD,OAAS,IACrEpB,MAAO,CAAC9N,EAAKqN,EAAKwF,KAChB,MAAMjI,EA5GZ,SAAoB5K,EAAK8S,EAASrC,GAChC,MAAMpR,EAAMU,EAAKC,EAAK,SAAU,CAAE0H,UAAW,oBAG7C,OAFAoL,EAAQjN,QAAQ9B,GAAKhE,EAAKC,EAAK,SAAU,CAAEkP,MAAOnL,EAAEmL,MAAOhJ,YAAanC,EAAE4I,OAAStN,IACnFA,EAAIyN,SAAW,IAAM2D,EAAQpR,EAAI6P,OAC1B,CAAE9P,GAAIC,EAAK0S,IAAKjT,GAAKO,EAAI6P,MAAQpQ,EAC1C,CAuGgBiU,CAAW/S,EAAKqN,EAAIqF,QAAS5T,GAAK+T,EAAQ/C,EAAQhR,GAAIkU,IAC1DA,EAAK,CAAE5T,GAAIwL,EAAExL,GAAI6T,QAASvT,IAAO,MAAMZ,EAAImR,EAASvQ,GAAIkL,EAAEmH,IAAS,MAALjT,EAAY,GAAKA,KACrF,OAAOkU,IAGXE,MAAO,CACLT,SAAU/S,IAAO,MAAMqP,EAAIwB,EAAS7Q,GAAI,OAAOqP,EAAI,GAAGA,EAAE,QAAQA,EAAE,KAAOrP,EAAI,IAAM,IACnFiT,KAAMtF,GAAOA,EAAI6B,MAAQkB,EAAQ/C,EAAI6B,MAAM,GAAI7B,EAAI6B,MAAM,GAAI7B,EAAI/H,IAAK+H,EAAIjI,KAAO,GACjF0I,MAAO,CAAC9N,EAAKqN,EAAKwF,KAChB,MAAM7E,EAAMjO,EAAKC,EAAK,OAAQ,CAAE0H,UAAW,mBACrCyL,EAAOpE,GAAKf,EAAI9H,YAAc,GAAG6I,EAAE,QAAQA,EAAE,KAC7CnE,EAAI4F,EAAWxQ,EAAKqN,EAAKvO,IAAOqU,EAAKrU,GAAI+T,EAAQzC,EAAQtR,EAAE,GAAIA,EAAE,GAAIuO,EAAI/H,IAAK+H,EAAIjI,KAAM4N,KACxFA,EAAK,CAAE5T,GAAI,CAACwL,EAAExL,GAAI4O,GAAMiF,QAASvT,IAAO,MAAMqP,EAAIwB,EAAS7Q,IAAM,CAAC2N,EAAI/H,IAAK+H,EAAIjI,KAAMwF,EAAEmH,IAAIhD,GAAIoE,EAAKpE,KAC1G,OAAOiE,KASb,SAAStJ,EAAY1J,EAAKpB,EAAK0D,EAAMI,EAAMH,EAAOkE,EAAS2M,GACzD,MAAM/F,EA7JR,SAAqB/K,EAAM+Q,GACzB,GAAkB,WAAd/Q,EAAK3C,KAAmB,CAC1B,IAAI+S,EAAUpQ,EAAKoQ,QACnB,IAAKA,EAAS,CACZ,MAAMY,EAAO,IAAIpH,IAAOqH,EAAO,GAC/B,IAAK,MAAMzU,KAAKuU,EAAiB,MAALvU,GAAcwU,EAAKhH,IAAIxN,KAAMwU,EAAK7K,IAAI3J,GAAIyU,EAAKvK,KAAKlK,IAChFyU,EAAKrP,KAAK,CAACI,EAAGC,IAAmB,iBAAND,GAA+B,iBAANC,EAChDD,EAAIC,EAAIjD,OAAOgD,GAAGkP,cAAclS,OAAOiD,KAC3CmO,EAAUa,EAAKjQ,IAAIxE,IAAK,CAAGoQ,MAAO5N,OAAOxC,GAAI6N,MAAOrL,OAAOxC,KAC7D,CACA,MAAO,IAAKwD,EAAMoQ,UACpB,CACA,IAAIpN,IAAEA,EAAGF,IAAEA,GAAQ9C,EACnB,GAAW,MAAPgD,GAAsB,MAAPF,EAAa,CAC9B,IAAIiL,EAAKoD,IAAUnD,GAAK,IACxB,IAAK,MAAMxR,KAAKuU,EAAQ,CACtB,MAAMtO,EAAIlD,OAAO/C,GACbgD,SAASiD,KAAUA,EAAIsL,IAAIA,EAAKtL,GAAOA,EAAIuL,IAAIA,EAAKvL,GAC1D,CACW,MAAPO,IAAaA,EAAMxD,SAASuO,GAAMA,EAAK,GAChC,MAAPjL,IAAaA,EAAMtD,SAASwO,GAAMA,EAAK,EAC7C,CACA,MAAO,IAAKhO,EAAMgD,MAAKF,MACzB,CAsIcsO,CAAYpR,EAAMI,EAAK9D,IAAQ,IACrC+U,EAAOpB,EAAMlF,EAAI1N,MACjBiU,EAAU,GAChB,IAAIC,EAAO,OAGX,MAAMhB,EAAU,CAACiB,EAAM/Q,KACrB+Q,EAAQvR,EAAMY,QAAQvE,GAAOkV,SAAevR,EAAMY,QAAQvE,GAC1D6H,IACA,MAAMsN,EAAMxR,EAAMY,QAAQvE,IAAQ,GAClCgV,EAAQ/N,QAAQzF,GAAKA,IAAM2C,GAAQ3C,EAAE6S,QAAQc,IAC7CF,EAAKE,IAEDxH,EAAOyF,EAAQhS,EAAK,UAAUqN,EAAIV,OAAS/N,IAAOqT,IACtD,MAAMrF,EAAM7M,EAAKC,EAAK,QAAS,CAC7BL,KAAM,SAAU+H,UAAW,aAC3B,aAAc,GAAG2F,EAAIV,OAAS/N,uBAC7BqT,GACG+B,EAAQ,CAAEf,QAASnU,IAAWkB,EAAIiU,gBAAkBrH,IAAKA,EAAIsC,MAAQpQ,KAC3E8U,EAAQ5K,KAAKgL,GACbxK,EAAOoD,EAAK9N,GAAK+T,EAAQ/T,EAAEyC,OAAQyS,IACnC,MAAME,EAAMP,EAAK7F,MAAM9N,EAAKqN,EAAKwF,GACjCe,EAAQ5K,KAAKkL,GACbjC,EAAMrJ,UAAU,GAAGuL,OAAOD,EAAI9U,KAC9ByT,EAAQc,EAAKhB,KAAKtF,GAAM,QAI1B,IAAiB+G,EAAb/V,EAAOkO,EAYX,OAXiB,MAAb6G,IACF/U,EAAO0B,EAAKC,EAAK,OAAQ,CAAE0H,UAAW,aACtC3H,EAAKC,EAAK,OAAQ,CAAE0H,UAAW,gBAAiBxB,YAAakN,GAAa/U,GAC1E+V,EAAUrU,EAAKC,EAAK,OAAQ,CAAE0H,UAAW,gBAAkBrJ,GAC3DA,EAAKmC,YAAY+L,IAEnBsH,EAAOE,IACL1V,EAAKmK,UAAUyF,OAAO,WAAY8F,GAC9BK,IAASA,EAAQlO,YAAcyN,EAAKlB,SAASsB,EAAK1G,KAExDwG,EAAKtR,EAAMY,QAAQvE,IAAQ,IACpBP,CACT,CAqDA,MAAME,EAAU,CAACa,EAAIkD,KACdA,GAAM7D,cAAeW,EAAGiV,QAAQC,QACrClV,EAAGiV,QAAQC,MAAQ,IACnB/O,EAAQnG,EAAIkD,KAGdhE,EAAGE,QAAQC,YAAc,CAAE2C,UAASiB,cAAawC,YAAWU,WAC5DjH,EAAGC,QAAQyK,KAAKzK,GAIQ,oBAAbwC,UACTxB,EAAGwB,SAAU,aAAa8E,QAAQzG,GAAMb,EAAQa,EAAIA,EAAGmV,SAC1D,EAl2BD,CAk2BqB,oBAAXnC,OAAyBA,OAASoC","ignoreList":[]}
1
+ {"version":3,"names":["root","LT","onMount","plugins","interactive","coll","numCol","col","find","v","parseKey","k","slice","dir","$","el","sel","querySelector","$$","querySelectorAll","on","t","type","fn","opts","addEventListener","dataCells","tr","children","filter","c","classList","contains","elem","doc","tag","props","parent","e","createElement","includes","setAttribute","appendChild","drag","onMove","onEnd","preventDefault","target","ownerDocument","document","move","ev","removeEventListener","once","matcher","term","String","trim","test","Function","neg","raw","num","Number","isFinite","cells","needle","toLowerCase","some","disp","computeView","spec","state","cols","_cols","data","nRow","length","cell","r","tests","filters","pred","push","sPred","map","fns","Object","values","predicates","all","keys","row","fromEntries","o","every","f","keep","makeCmp","sortKeys","Boolean","a","b","x","y","xn","yn","Intl","Collator","compare","indent","_indent","reduce","rows","cmp","out","sort","roots","stack","node","kids","lv","pop","prune","ns","n","sortNodes","forEach","flat","walk","Array","from","_","i","gcols","_rowspan","leaf","leafCmp","partition","depth","blocks","Map","key","get","set","order","d","an","bn","flatMap","groups","_groups","grouped","Set","g","add","rest","has","pageSlice","view","pageSize","page","last","Math","max","ceil","min","enhance","groupOf","seen","nGroup","allCols","ci","textContent","captureDisplay","hrow","isArray","sync","postSwap","refresh","stale","vr","prev","label","withGroups","tmp","innerHTML","buildHtml","_viewRows","body","content","replaceWith","_lt","id","flt","barCols","headBar","search","hide","className","fullRow","tHead","createTHead","labels","th","marks","paint","removeAttribute","ind","m","replace","lab","firstChild","append","onclick","additive","findIndex","splice","cycle","shiftKey","addSort","default","def","explicit","onType","searchInput","typedFilter","parentNode","addFilter","layout","resize","nCol","ths","cs","caption","after","prepend","colGroup","wOf","getBoundingClientRect","width","freeze","w","style","natural","tw","remove","j","setWidth","old","parseFloat","dataCs","fixedLayout","grip","ondblclick","stopPropagation","onpointerdown","x0","clientX","w0","addResize","opt","start","hidden","setCell","colSpan","apply","wrap","btn","title","menu","box","checked","onchange","delete","open","addColumnToggle","input","addSearch","cfg","addControlFilters","detail","detailOpt","rerender","cache","expanded","pick","src","build","_display","toggle","td0","child","render","addDetail","pager","sizes","repage","foot","tFoot","createTFoot","bar","pos","steps","p","btns","glyph","value","total","disabled","addPaginate","sect","cls","insertRow","timer","go","oninput","clearTimeout","setTimeout","selExpr","JSON","stringify","selParse","s","exec","rngExpr","lo","hi","rngParse","makeSlider","onInput","span","step","track","fill","mk","role","thumbs","val","pct","left","right","setOne","round","snap","focus","at","onkeydown","ArrowLeft","ArrowDown","ArrowRight","ArrowUp","popover","panel","vw","defaultView","window","innerWidth","place","KINDS","select","describe","choices","init","selected","setTerm","options","makeSelect","ed","reflect","range","show","chipLabel","column","vals","localeCompare","Infinity","resolveSpec","kind","editors","mark","expr","cur","boxEd","activeElement","wEd","concat","summary","dataset","ltiOn","_ltSpec","globalThis"],"sources":["lt-interactive.js"],"mappings":"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","ignoreList":[]}
package/js/lt.js CHANGED
@@ -561,7 +561,8 @@
561
561
  out.push(`</tr>`);
562
562
  }
563
563
  out.push(`<tr>`);
564
- for (const rs of rowSpans) out.push(`<th scope="col">${txt(rs.label)}</th>`);
564
+ for (const rs of rowSpans)
565
+ out.push(`<th scope="col" class="lt-row-group">${txt(rs.label)}</th>`);
565
566
  for (let i = 0; i < cols.length; i++)
566
567
  out.push(`<th scope="col"${attr("class", colCls[i])}>${txt(colLabels[i])}${mark("column_labels", cols[i])}</th>`);
567
568
  out.push(`</tr></thead>`);
@@ -575,19 +576,29 @@
575
576
  }
576
577
 
577
578
  // Row rendering
578
- const pushRow = r => {
579
+ const pushRow = (r, spanCells) => {
579
580
  out.push(`<tr>`);
580
581
  // Row-group cells. For a group spanning n > 1 rows, the label goes in a
581
582
  // non-spanning cell on the first row — so vertical-align centers it
582
583
  // within that row's height (matching the body cells) instead of across
583
584
  // the whole span — followed by an empty filler cell spanning the
584
- // remaining n - 1 rows. A single-row group is just the label cell.
585
- for (const rs of rowSpans) {
586
- const span = rs.spans[r - 1], fill = (rs.spans[r - 2] || 0) - 1;
587
- if (span > 0)
588
- out.push(`<th scope="row" class="lt-row-group${span > 1 ? " lt-row-open" : ""}">${escIf(isRaw(rs.col), cell(rs.col, r))}${mark("row_groups", str(data[rs.col][r - 1]))}</th>`);
589
- else if (fill > 0)
590
- out.push(`<th class="lt-row-group"${attr("rowspan", fill > 1 ? fill : 0)}></th>`);
585
+ // remaining n - 1 rows. A single-row group is just the label cell. The
586
+ // per-column descriptor ({label, open} for the label cell, {fill} for the
587
+ // filler, nothing when covered by a filler above) is supplied by the
588
+ // caller when rows are reordered (`spanCells`, computed in view order),
589
+ // else derived from the file-order spans.
590
+ for (let gi = 0; gi < rowSpans.length; gi++) {
591
+ const rs = rowSpans[gi];
592
+ let d = spanCells ? spanCells[gi] : null;
593
+ if (!spanCells) {
594
+ const span = rs.spans[r - 1], fill = (rs.spans[r - 2] || 0) - 1;
595
+ d = span > 0 ? { label: true, open: span > 1 } : fill > 0 ? { fill } : null;
596
+ }
597
+ if (!d) continue;
598
+ if (d.label)
599
+ out.push(`<th scope="row" class="lt-row-group${d.open ? " lt-row-open" : ""}">${escIf(isRaw(rs.col), cell(rs.col, r))}${mark("row_groups", str(data[rs.col][r - 1]))}</th>`);
600
+ else
601
+ out.push(`<th class="lt-row-group"${attr("rowspan", d.fill > 1 ? d.fill : 0)}></th>`);
591
602
  }
592
603
  const ind = indent[r - 1] || 0;
593
604
  for (let ci = 0; ci < cols.length; ci++) {
@@ -612,21 +623,58 @@
612
623
  out.push(`</tr>`);
613
624
  };
614
625
 
615
- // <tbody>. An optional `spec._viewRows` (1-based original row indices) sets
616
- // the order/subset of rows for the flat case — the seam the interactive
617
- // plugin uses to sort/filter without re-implementing row rendering. Absent
618
- // ⇒ all rows in original order (the default). Row-indexed styles/footnotes/
619
- // indent stay correct because they remain keyed to the original indices.
626
+ // A separator row-group header: a single full-width cell carrying the label.
627
+ const groupHeader = (label, raw) =>
628
+ `<tr class="lt-row-group"><th colspan="${nCol}" scope="colgroup">${escIf(raw, label)}${mark("row_groups", label)}</th></tr>`;
629
+
630
+ // Rowspan group cells recomputed for a reordered view: the file-order
631
+ // `rs.spans` no longer describe the runs, so walk the view sequence and
632
+ // group its rows into runs sharing the same group-value prefix (column gi's
633
+ // run breaks when its value or any earlier group column's value changes).
634
+ // Each run's first row gets the label cell, its second a filler spanning the
635
+ // rest; the remaining rows get nothing. Returns one descriptor array per
636
+ // view position, matching pushRow's `spanCells`.
637
+ const viewRowSpans = seq => {
638
+ const info = seq.map(() => []);
639
+ for (let gi = 0; gi < rowSpans.length; gi++) {
640
+ const key = r => rowSpans.slice(0, gi + 1)
641
+ .map(rs => str(data[rs.col][r - 1])).join("\u0000");
642
+ for (let i = 0; i < seq.length;) {
643
+ let j = i + 1;
644
+ const k = key(seq[i]);
645
+ while (j < seq.length && key(seq[j]) === k) j++;
646
+ const len = j - i;
647
+ info[i][gi] = { label: true, open: len > 1 };
648
+ if (len > 1) info[i + 1][gi] = { fill: len - 1 };
649
+ i = j;
650
+ }
651
+ }
652
+ return info;
653
+ };
654
+
655
+ // <tbody>. An optional `spec._viewRows` sets the order/subset of rows — the
656
+ // seam the interactive plugin uses to sort/filter without re-implementing row
657
+ // rendering. Each entry is a 1-based original row index, or (for a grouped
658
+ // table) an object `{label, raw}` for a separator group header the plugin
659
+ // decided to re-emit. It takes precedence over the file-order branches below,
660
+ // which draw the static table. Row-indexed styles/footnotes/indent stay
661
+ // correct because they remain keyed to the original indices. In rowspan mode
662
+ // the span cells are recomputed from the view order (viewRowSpans).
620
663
  out.push(`<tbody>`);
621
- if (groups.length) {
664
+ if (spec._viewRows) {
665
+ const info = rowSpans.length ?
666
+ viewRowSpans(spec._viewRows.filter(r => typeof r === "number")) : null;
667
+ let vi = 0;
668
+ for (const r of spec._viewRows)
669
+ if (r && typeof r === "object") out.push(groupHeader(r.label, r.raw));
670
+ else pushRow(r, info ? info[vi++] : null);
671
+ } else if (groups.length) {
622
672
  const seen = {};
623
673
  for (const g of groups) {
624
- out.push(`<tr class="lt-row-group"><th colspan="${nCol}" scope="colgroup">${escIf(g.raw, g.label)}${mark("row_groups", g.label)}</th></tr>`);
674
+ out.push(groupHeader(g.label, g.raw));
625
675
  for (const r of g.rows) { seen[r] = 1; pushRow(r); }
626
676
  }
627
677
  for (let r = 1; r <= nRow; r++) if (!seen[r]) pushRow(r);
628
- } else if (spec._viewRows) {
629
- for (const r of spec._viewRows) pushRow(r);
630
678
  } else {
631
679
  for (let r = 1; r <= nRow; r++) pushRow(r);
632
680
  }
@@ -667,6 +715,15 @@
667
715
  // Also expose the formatted cell text (every column, including hidden ones),
668
716
  // so plugins can show the displayed values (e.g. a row detail).
669
717
  spec._display = display;
718
+ // Expose the resolved row structure so the interactive plugin can honor it:
719
+ // the separator row groups (each `{label, rows, raw}`), the per-row indent
720
+ // levels (an array, or null when none), and the rowspan group columns (the
721
+ // column names drawn as spanning cells, outermost first, or null) — the
722
+ // plugin sorts/filters within each run and recomputes the spans in view
723
+ // order (see buildHtml's viewRowSpans).
724
+ spec._groups = groups.length ? groups : null;
725
+ spec._indent = indent.some(v => v) ? indent : null;
726
+ spec._rowspan = rowSpans.length ? rowSpans.map(rs => rs.col) : null;
670
727
  // Wrap in a div so a wide table can scroll horizontally (`overflow-x`)
671
728
  // instead of overflowing the page.
672
729
  return `<div class="lt-wrap">${out.join("")}</div>`;
package/js/lt.min.js CHANGED
@@ -1,2 +1,2 @@
1
- (t=>{"use strict";if(t.LT?.buildHtml)return;const o=(t,o)=>t.querySelector(o),n=t.LT?.cells||{},e=t=>String(t).replace(/&/g,"&amp;").replace(/[<]/g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"),s=t=>Array.isArray(t)?String(t[0]??""):e(t),l=(t,o)=>t?String(o??""):e(o),r=(t,o)=>!0===t||Array.isArray(t)&&t.includes(o),c=t=>`<sup class="lt-fnref">${t}</sup>`,i=t=>t===1/0?"∞":t===-1/0?"-∞":String(t??""),a=t=>"number"==typeof t&&isFinite(t),f=t=>a(t)||Math.abs(t)===1/0,u=t=>t?.length&&"number"==typeof t.find(t=>null!=t),p=t=>(t.columns||Object.keys(t.data||{})).filter(o=>o in(t.data||{})),h=(t,o)=>{let n=o;for(const e of t)"label"===e.type&&null!=e.labels?.[o]&&(n=e.labels[o]);return n};function d(t,o,n,e){if(t===1/0)return"∞";if(t===-1/0)return"−∞";if(!a(t))return null;let s=null!=e?function(t){if(!/e/i.test(t))return t;const[,o,n,e="",s]=t.match(/^(-?)(\d+)(?:\.(\d+))?e([+-]?\d+)$/i),l=+s,r=n+e,c=n.length+l;let i;return i=c<=0?"0."+"0".repeat(-c)+r:c>=r.length?r+"0".repeat(c-r.length):r.slice(0,c)+"."+r.slice(c),o+i}(t.toPrecision(e)):null!=o?t.toFixed(o):String(t);if(/^-0(\.0+)?$/.test(s)&&(s=s.slice(1)),n){const t=s.split(".");t[0]=t[0].replace(/\B(?=(\d{3})+(?!\d))/g,n),s=t.join(".")}return"-"===s[0]&&(s="−"+s.slice(1)),null!=o||n||null!=e?s:null}function g(t,o){if(!o)return t.filter(t=>""!==t).join(" ");let n=o,e="";for(;n;){const o=n.match(/<<(.*?)>>/);if(!o){e+=m(n,t);break}o.index>0&&(e+=m(n.slice(0,o.index),t));const s=o[1],l=[...s.matchAll(/\{(\d+)\}/g)].map(t=>+t[1]);l.length&&!l.every(o=>""!==t[o-1])||(e+=m(s,t)),n=n.slice(o.index+o[0].length)}return e}function m(t,o){for(let n=0;n<o.length;n++)t=t.split("{"+(n+1)+"}").join(o[n]);return t}function b(t){const o=t.data||{},n=t.ops||[],e=p(t),s=e.length?o[e[0]].length:0,l={};for(const t of e)l[t]=o[t].map(i);!function(t,o,n){if(!1===t.auto_format)return;const e=t.data||{},s=t.ops||[],l=p(t),r=new Set;for(const t of s)if("fmt_number"===t.type)for(const o of t.columns||l)r.add(o);for(const t of l){if(r.has(t))continue;const l=e[t];if(!u(l))continue;const c=h(s,t),i=/%|[ _](pct|percent)$/i.test(c);if(/year/i.test(c)&&l.every(t=>null==t||/^\d{4}$/.test(String(t))))continue;let p=0,g=0;for(const t of l){if(!a(t))continue;const o=Math.abs(i?100*t:t),n=o<1?0:Math.floor(Math.log10(o))+1;n>p&&(p=n);const e=String(t).match(/\.(\d+)/);if(!e)continue;const s=e[1].replace(/0+$/,"").length-(i?2:0);s>g&&(g=s)}g=Math.min(g,Math.max(4-p,0));for(let e=0;e<n;e++){const n=l[e];if(!f(n))continue;const s=d(i?100*n:n,g," ");null!=s&&(o[t][e]=s+(i?"%":""))}}}(t,l,s);const r=(t,n)=>{for(const e of t)if(o[e])for(let t=0;t<s;t++)n(e,t,o[e][t])};for(const t of n){const o=t.columns||e;switch(t.type){case"fmt_number":r(o,(o,n,e)=>{if(!f(e))return;const s=!0===t.percent?100*e:e,r=t.percent?"%":"",c=d(s,t.decimals,t.big_mark??"",t.sig_digits),i=t.prefix||"",a=(t.suffix||"")+r;null!=c?l[o][n]=i+c+a:(i||a)&&(l[o][n]=i+String(s)+a)});break;case"fmt_date":r(o,(o,n,e)=>{if(null==e)return;const s=e instanceof Date?e:new Date(e);isNaN(s)||(l[o][n]=t.method?s[t.method]():t.options?s.toLocaleDateString(t.locale,t.options):s.toLocaleDateString(t.locale))});break;case"sub":r(o,(o,n,e)=>{null!=t.small&&a(e)&&0!==e&&Math.abs(e)<t.small?l[o][n]=t.small_text??"<"+t.small:null!=t.zero&&0===e?l[o][n]=t.zero:null!=t.missing&&null==e&&(l[o][n]=t.missing)});break;case"merge":{const o=t.columns;if(!o||o.length<2)break;const n=o[0];for(let e=0;e<s;e++){const s=o.map(t=>l[t]?.[e]??"");l[n][e]=g(s,t.pattern)}break}}}const c=void 0===t.missing?"—":t.missing;if(c)for(const t of e)for(let n=0;n<s;n++)null==o[t][n]&&""===l[t][n]&&(l[t][n]=c);return{display:l,nRow:s}}function w(t){!function(t){if(!1===t.sort||!t.row_group)return;const o=t.data||{},n=[].concat(t.row_group),e=p(t),s=e.length?o[e[0]].length:0;if(!s)return;const l=Array.from({length:s},(t,o)=>o);l.sort((t,e)=>{for(const s of n){const n=o[s]?.[t],l=o[s]?.[e];if(n!=l){if(null==n)return 1;if(null==l)return-1;if(n<l)return-1;if(n>l)return 1}}return 0});for(const t of e)o[t]=l.map(n=>o[t][n]);const r=new Array(s);for(let t=0;t<s;t++)r[l[t]]=t+1;for(const o of t.ops||[])o.rows&&(o.rows=o.rows.map(t=>r[t-1]))}(t);const o=t.data||{},{display:f,nRow:d}=b(t),{visible:g,align:m,colLabels:w,colWidths:$,tableWidth:y,indent:_,groups:x,rowSpans:S,styles:v,spanners:L,cellMap:M,footnotes:j,notes:A,header:k}=function(t){const o=t.data||{},e=t.ops||[],s=p(t),l=s.length?o[s[0]].length:0,c=(t,o)=>{for(const n of e)n.type===t&&o(n)};let a="string"==typeof t.row_group;const f=Array.isArray(t.row_group)?t.row_group:t.row_group?[t.row_group]:[];a||1!==f.length||!1===t.auto_sep||u(o[f[0]])||!o[f[0]]?.some(t=>(t+"").length>20)||(a=!0);const d=new Set;for(const t of f)d.add(t);c("merge",t=>{!1!==t.hide&&t.columns&&t.columns.slice(1).forEach(t=>d.add(t))}),c("hide",t=>(t.columns||[]).forEach(t=>d.add(t)));let g=s.filter(t=>!d.has(t));c("move",t=>{const o=(t.columns||[]).filter(t=>g.includes(t));if(!o.length)return;const n=g.filter(t=>!o.includes(t));if(null==t.after)g=[...o,...n];else{const e=n.indexOf(t.after);e>=0&&(g=[...n.slice(0,e+1),...o,...n.slice(e+1)])}});const m=(t,o,n)=>{const e=g.indexOf(o);e>=0&&(t[e]=n)},b=g.map(t=>u(o[t])?"right":"left");c("align",t=>{for(const o of t.columns||[])m(b,o,t.align)});const w=o=>!1===t.auto_label?o:o.replace(/[._]/g," "),$=g.map(w);let y,_;c("label",t=>{for(const[o,n]of Object.entries(t.labels||{}))m($,o,n)}),c("width",t=>{if(t.table&&(_=t.table),t.widths){y||(y=g.map(()=>""));for(const[o,n]of Object.entries(t.widths))m(y,o,n)}});const x=new Array(l).fill(0);c("indent",t=>{if(t.rows)for(const o of t.rows)x[o-1]=t.level??1});const S=t=>{const o=[];for(let n=0;n<l;){const e=i(t[n]),s=[n+1];for(;++n<l&&i(t[n])===e;)s.push(n+1);o.push({label:e,rows:s})}return o};let v=[];if(a&&f.length&&o[f[0]]){const n=r(t.html_cols,f[0]);v.push(...S(o[f[0]]).map(t=>({...t,raw:n})))}c("row_group",t=>v.push({label:t.label,rows:t.rows})),c("group_order",t=>{if(!v.length)return;const o=[],n=[];for(const n of t.order||[]){const t=v.find(t=>t.label===n);t&&o.push(t)}for(const t of v)o.includes(t)||n.push(t);v=[...o,...n]});const L=[];if(!a&&f.length)for(const t of f){const n=new Array(l).fill(0);for(const e of S(o[t]||[]))n[e.rows[0]-1]=e.rows.length;L.push({col:t,label:h(e,t),spans:n})}const M=e.filter(t=>"style"===t.type);let j=(t.spanners||[]).map(t=>{const o=t.columns.slice().sort((t,o)=>g.indexOf(t)-g.indexOf(o));return{...t,columns:o}});if(t.auto_span){const o="string"==typeof t.auto_span?new RegExp(t.auto_span):/[._]/;j=[...j];for(let t=0;t<g.length;){const n=g[t].match(o);if(!n){t++;continue}const e=g[t].slice(0,n.index);let s=t+1;for(;s<g.length;){const t=g[s].match(o);if(!t||g[s].slice(0,t.index)!==e)break;s++}if(s-t>=2){j.push({label:e,columns:g.slice(t,s)});for(let n=t;n<s;n++){const t=g[n].match(o);t&&($[n]=w(g[n].slice(t.index+t[0].length)))}}t=s}}const A={};for(const t of e){const o=n[t.type];if(!o)continue;const e=o.resolve(t)||{};for(const t of Object.keys(e))A[t]={rnd:o,cfg:e[t]}}return{visible:g,align:b,colLabels:$,colWidths:y,tableWidth:_,indent:x,groups:v,rowSpans:L,styles:M,spanners:j,cellMap:A,footnotes:t.footnotes||[],notes:t.notes||[],header:t.header||{},nRow:l}}(t),E={esc:e,isNum:a,str:i},O=function(t){const o=[],n={};return t.forEach(t=>{null==n[t.text]&&(n[t.text]=o.length+1,o.push(t.text))}),{order:o,idx:n}}(j),T=((t,o)=>(n,e)=>{for(const s of t){const t=s.location;if(t.type!==n)continue;const l=o[s.text];if("title"===n&&t.group===e)return l;if("column_labels"===n&&t.columns.includes(e))return l;if("column_spanners"===n&&t.spanners.includes(e))return l;if("row_groups"===n){if("all"===t.match)return l;if("exact"===t.match&&t.values.includes(e))return l;if("starts_with"===t.match&&e.startsWith(t.value))return l}}return 0})(j,O.idx),R=S.length,D=g.length+R,H=o=>r(t.html_cols,o),W=[`<table class="lt-table"${y?` style="width:${y}"`:""}>`],q=(t,o)=>{const n=T(t,o);return n?c(n):""},B=(t,o)=>f[t]?.[o-1]??"",N=(t,o)=>o?` ${t}="${o}"`:"",z=g.map((t,o)=>((0===o&&x.length?"lt-indent ":"")+({right:"al-r",center:"al-c"}[m[o]]||"")).trimEnd()),C=(t,o,n)=>{for(let e=1;e<=d;e++)if(!t||t.includes(e))for(const t of o||g){const o=g.indexOf(t);o>=0&&n(`${e},${o}`,t,e)}},F={},K={},P=(t,o,n,e)=>{t[o]=t[o]?t[o]+e+n:n};for(const t of v)C(t.rows,t.columns?[].concat(t.columns):null,(n,e,s)=>{t.test&&!t.test(o[e][s-1])||(t.css&&P(F,n,t.css,";"),t.class&&P(K,n,t.class," "))});if($&&$.some(t=>t)){W.push("<colgroup>");for(let t=0;t<R;t++)W.push("<col>");for(let t=0;t<g.length;t++)W.push(`<col${N("style",$[t]?"width:"+$[t]:"")}>`);W.push("</colgroup>")}const G=[["title","lt-title"],["subtitle","lt-subtitle"]].filter(([t])=>null!=k[t]&&""!==k[t]).map(([t,o])=>`<div class="${o}">${s(k[t])}${q("title",t)}</div>`);if(G.length&&W.push('<caption class="lt-caption">',...G,"</caption>"),W.push("<thead>"),L.length){const t='<th class="lt-spanner-empty"></th>';W.push('<tr class="lt-spanner-row">'),W.push(t.repeat(R));for(let o=0;o<g.length;){const n=L.find(t=>t.columns[0]===g[o]);n?(W.push(`<th colspan="${n.columns.length}" scope="colgroup" class="lt-spanner">${s(n.label)}${q("column_spanners",n.label)}</th>`),o+=n.columns.length):(W.push(t),o++)}W.push("</tr>")}W.push("<tr>");for(const t of S)W.push(`<th scope="col">${s(t.label)}</th>`);for(let t=0;t<g.length;t++)W.push(`<th scope="col"${N("class",z[t])}>${s(w[t])}${q("column_labels",g[t])}</th>`);W.push("</tr></thead>");const I={};for(const t of j){if("body"!==t.location.type)continue;const o=O.idx[t.text];C(t.location.rows,t.location.columns||[],t=>{I[t]=o})}const J=t=>{W.push("<tr>");for(const n of S){const e=n.spans[t-1],s=(n.spans[t-2]||0)-1;e>0?W.push(`<th scope="row" class="lt-row-group${e>1?" lt-row-open":""}">${l(H(n.col),B(n.col,t))}${q("row_groups",i(o[n.col][t-1]))}</th>`):s>0&&W.push(`<th class="lt-row-group"${N("rowspan",s>1?s:0)}></th>`)}const n=_[t-1]||0;for(let s=0;s<g.length;s++){const r=`${t},${s}`,a=g[s],u=I[r],p=K[r],h=[z[s],p].filter(Boolean).join(" ");let d=F[r]||"";0===s&&n&&(d=(d?d+";":"")+`padding-left:${n+1}em`);const m=M[a];if(m){const n=[h,m.rnd.cellClass?.(m.cfg)||""].filter(Boolean).join(" ");W.push(`<td${N("class",n)}${N("style",d)}>${m.rnd.cell(m.cfg,o,t,E)}${u?c(u):""}</td>`);continue}const b=i(o[a][t-1]),w=f[a][t-1],$=b!==w?` title="${e(b)}"`:"";W.push(`<td${N("class",h)}${N("style",d)}${$}>${l(H(a),w)}${u?c(u):""}</td>`)}W.push("</tr>")};if(W.push("<tbody>"),x.length){const t={};for(const o of x){W.push(`<tr class="lt-row-group"><th colspan="${D}" scope="colgroup">${l(o.raw,o.label)}${q("row_groups",o.label)}</th></tr>`);for(const n of o.rows)t[n]=1,J(n)}for(let o=1;o<=d;o++)t[o]||J(o)}else if(t._viewRows)for(const o of t._viewRows)J(o);else for(let t=1;t<=d;t++)J(t);W.push("</tbody>");const Q=g.map(t=>M[t]&&M[t].rnd.foot?.(M[t].cfg,E)||""),U=Q.some(t=>t);if(O.order.length||A.length||U){const t=(t,o)=>`<tr class="${t}"><td colspan="${D}">${o}</td></tr>`;if(W.push('<tfoot class="lt-footer">'),U){W.push('<tr class="lt-plot-foot">'),W.push("<td></td>".repeat(R));for(let t=0;t<g.length;t++){const o=M[g[t]],n=Q[t]&&o&&o.rnd.cellClass?.(o.cfg)||"",e=[z[t],n].filter(Boolean).join(" ");W.push(`<td${N("class",e)}>${Q[t]}</td>`)}W.push("</tr>")}O.order.forEach((o,n)=>W.push(t("lt-footnote",`${c(n+1)} ${s(o)}`)));for(const o of A)W.push(t("lt-source-note",s(o)));W.push("</tfoot>")}return W.push("</table>"),t._cols=g,t._display=f,`<div class="lt-wrap">${W.join("")}</div>`}const $=t.LT?.plugins||{},y=t.LT?.onMount||[],_=(t,o)=>(t._ltSpec=o,(t=>{const o=(t,o)=>{t.altKey&&o.classList.toggle("lt-raw")};t.onclick=n=>{1===n.detail&&o(n,t)},t.ondblclick=n=>{o(n,t.ownerDocument.documentElement)}})(t),y.forEach(n=>n(t,o)),t),x=(t,n)=>{t.insertAdjacentHTML("afterend",w(n)),_(o(t.nextElementSibling,"table"),n)},S={push:t=>x(t.s,t.d)};(t.LT?.q||[]).forEach(S.push),t.LT={build:t=>x(document.currentScript,t),render:(t,n)=>(t.innerHTML=w(n),_(o(t,"table"),n)),refresh:t=>{const n=t?._ltSpec,e=t?.closest(".lt-wrap");if(!n||!e)return;e.insertAdjacentHTML("afterend",w(n));const s=e.nextElementSibling;return e.remove(),_(o(s,"table"),n)},buildHtml:w,plugins:$,onMount:y,cells:n,q:S}})(window);
1
+ (t=>{"use strict";if(t.LT?.buildHtml)return;const o=(t,o)=>t.querySelector(o),n=t.LT?.cells||{},e=t=>String(t).replace(/&/g,"&amp;").replace(/[<]/g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"),l=t=>Array.isArray(t)?String(t[0]??""):e(t),s=(t,o)=>t?String(o??""):e(o),r=(t,o)=>!0===t||Array.isArray(t)&&t.includes(o),c=t=>`<sup class="lt-fnref">${t}</sup>`,i=t=>t===1/0?"∞":t===-1/0?"-∞":String(t??""),a=t=>"number"==typeof t&&isFinite(t),f=t=>a(t)||Math.abs(t)===1/0,u=t=>t?.length&&"number"==typeof t.find(t=>null!=t),p=t=>(t.columns||Object.keys(t.data||{})).filter(o=>o in(t.data||{})),h=(t,o)=>{let n=o;for(const e of t)"label"===e.type&&null!=e.labels?.[o]&&(n=e.labels[o]);return n};function d(t,o,n,e){if(t===1/0)return"∞";if(t===-1/0)return"−∞";if(!a(t))return null;let l=null!=e?function(t){if(!/e/i.test(t))return t;const[,o,n,e="",l]=t.match(/^(-?)(\d+)(?:\.(\d+))?e([+-]?\d+)$/i),s=+l,r=n+e,c=n.length+s;let i;return i=c<=0?"0."+"0".repeat(-c)+r:c>=r.length?r+"0".repeat(c-r.length):r.slice(0,c)+"."+r.slice(c),o+i}(t.toPrecision(e)):null!=o?t.toFixed(o):String(t);if(/^-0(\.0+)?$/.test(l)&&(l=l.slice(1)),n){const t=l.split(".");t[0]=t[0].replace(/\B(?=(\d{3})+(?!\d))/g,n),l=t.join(".")}return"-"===l[0]&&(l="−"+l.slice(1)),null!=o||n||null!=e?l:null}function g(t,o){if(!o)return t.filter(t=>""!==t).join(" ");let n=o,e="";for(;n;){const o=n.match(/<<(.*?)>>/);if(!o){e+=m(n,t);break}o.index>0&&(e+=m(n.slice(0,o.index),t));const l=o[1],s=[...l.matchAll(/\{(\d+)\}/g)].map(t=>+t[1]);s.length&&!s.every(o=>""!==t[o-1])||(e+=m(l,t)),n=n.slice(o.index+o[0].length)}return e}function m(t,o){for(let n=0;n<o.length;n++)t=t.split("{"+(n+1)+"}").join(o[n]);return t}function b(t){const o=t.data||{},n=t.ops||[],e=p(t),l=e.length?o[e[0]].length:0,s={};for(const t of e)s[t]=o[t].map(i);!function(t,o,n){if(!1===t.auto_format)return;const e=t.data||{},l=t.ops||[],s=p(t),r=new Set;for(const t of l)if("fmt_number"===t.type)for(const o of t.columns||s)r.add(o);for(const t of s){if(r.has(t))continue;const s=e[t];if(!u(s))continue;const c=h(l,t),i=/%|[ _](pct|percent)$/i.test(c);if(/year/i.test(c)&&s.every(t=>null==t||/^\d{4}$/.test(String(t))))continue;let p=0,g=0;for(const t of s){if(!a(t))continue;const o=Math.abs(i?100*t:t),n=o<1?0:Math.floor(Math.log10(o))+1;n>p&&(p=n);const e=String(t).match(/\.(\d+)/);if(!e)continue;const l=e[1].replace(/0+$/,"").length-(i?2:0);l>g&&(g=l)}g=Math.min(g,Math.max(4-p,0));for(let e=0;e<n;e++){const n=s[e];if(!f(n))continue;const l=d(i?100*n:n,g," ");null!=l&&(o[t][e]=l+(i?"%":""))}}}(t,s,l);const r=(t,n)=>{for(const e of t)if(o[e])for(let t=0;t<l;t++)n(e,t,o[e][t])};for(const t of n){const o=t.columns||e;switch(t.type){case"fmt_number":r(o,(o,n,e)=>{if(!f(e))return;const l=!0===t.percent?100*e:e,r=t.percent?"%":"",c=d(l,t.decimals,t.big_mark??"",t.sig_digits),i=t.prefix||"",a=(t.suffix||"")+r;null!=c?s[o][n]=i+c+a:(i||a)&&(s[o][n]=i+String(l)+a)});break;case"fmt_date":r(o,(o,n,e)=>{if(null==e)return;const l=e instanceof Date?e:new Date(e);isNaN(l)||(s[o][n]=t.method?l[t.method]():t.options?l.toLocaleDateString(t.locale,t.options):l.toLocaleDateString(t.locale))});break;case"sub":r(o,(o,n,e)=>{null!=t.small&&a(e)&&0!==e&&Math.abs(e)<t.small?s[o][n]=t.small_text??"<"+t.small:null!=t.zero&&0===e?s[o][n]=t.zero:null!=t.missing&&null==e&&(s[o][n]=t.missing)});break;case"merge":{const o=t.columns;if(!o||o.length<2)break;const n=o[0];for(let e=0;e<l;e++){const l=o.map(t=>s[t]?.[e]??"");s[n][e]=g(l,t.pattern)}break}}}const c=void 0===t.missing?"—":t.missing;if(c)for(const t of e)for(let n=0;n<l;n++)null==o[t][n]&&""===s[t][n]&&(s[t][n]=c);return{display:s,nRow:l}}function w(t){!function(t){if(!1===t.sort||!t.row_group)return;const o=t.data||{},n=[].concat(t.row_group),e=p(t),l=e.length?o[e[0]].length:0;if(!l)return;const s=Array.from({length:l},(t,o)=>o);s.sort((t,e)=>{for(const l of n){const n=o[l]?.[t],s=o[l]?.[e];if(n!=s){if(null==n)return 1;if(null==s)return-1;if(n<s)return-1;if(n>s)return 1}}return 0});for(const t of e)o[t]=s.map(n=>o[t][n]);const r=new Array(l);for(let t=0;t<l;t++)r[s[t]]=t+1;for(const o of t.ops||[])o.rows&&(o.rows=o.rows.map(t=>r[t-1]))}(t);const o=t.data||{},{display:f,nRow:d}=b(t),{visible:g,align:m,colLabels:w,colWidths:$,tableWidth:y,indent:_,groups:x,rowSpans:S,styles:v,spanners:j,cellMap:L,footnotes:M,notes:A,header:k}=function(t){const o=t.data||{},e=t.ops||[],l=p(t),s=l.length?o[l[0]].length:0,c=(t,o)=>{for(const n of e)n.type===t&&o(n)};let a="string"==typeof t.row_group;const f=Array.isArray(t.row_group)?t.row_group:t.row_group?[t.row_group]:[];a||1!==f.length||!1===t.auto_sep||u(o[f[0]])||!o[f[0]]?.some(t=>(t+"").length>20)||(a=!0);const d=new Set;for(const t of f)d.add(t);c("merge",t=>{!1!==t.hide&&t.columns&&t.columns.slice(1).forEach(t=>d.add(t))}),c("hide",t=>(t.columns||[]).forEach(t=>d.add(t)));let g=l.filter(t=>!d.has(t));c("move",t=>{const o=(t.columns||[]).filter(t=>g.includes(t));if(!o.length)return;const n=g.filter(t=>!o.includes(t));if(null==t.after)g=[...o,...n];else{const e=n.indexOf(t.after);e>=0&&(g=[...n.slice(0,e+1),...o,...n.slice(e+1)])}});const m=(t,o,n)=>{const e=g.indexOf(o);e>=0&&(t[e]=n)},b=g.map(t=>u(o[t])?"right":"left");c("align",t=>{for(const o of t.columns||[])m(b,o,t.align)});const w=o=>!1===t.auto_label?o:o.replace(/[._]/g," "),$=g.map(w);let y,_;c("label",t=>{for(const[o,n]of Object.entries(t.labels||{}))m($,o,n)}),c("width",t=>{if(t.table&&(_=t.table),t.widths){y||(y=g.map(()=>""));for(const[o,n]of Object.entries(t.widths))m(y,o,n)}});const x=new Array(s).fill(0);c("indent",t=>{if(t.rows)for(const o of t.rows)x[o-1]=t.level??1});const S=t=>{const o=[];for(let n=0;n<s;){const e=i(t[n]),l=[n+1];for(;++n<s&&i(t[n])===e;)l.push(n+1);o.push({label:e,rows:l})}return o};let v=[];if(a&&f.length&&o[f[0]]){const n=r(t.html_cols,f[0]);v.push(...S(o[f[0]]).map(t=>({...t,raw:n})))}c("row_group",t=>v.push({label:t.label,rows:t.rows})),c("group_order",t=>{if(!v.length)return;const o=[],n=[];for(const n of t.order||[]){const t=v.find(t=>t.label===n);t&&o.push(t)}for(const t of v)o.includes(t)||n.push(t);v=[...o,...n]});const j=[];if(!a&&f.length)for(const t of f){const n=new Array(s).fill(0);for(const e of S(o[t]||[]))n[e.rows[0]-1]=e.rows.length;j.push({col:t,label:h(e,t),spans:n})}const L=e.filter(t=>"style"===t.type);let M=(t.spanners||[]).map(t=>{const o=t.columns.slice().sort((t,o)=>g.indexOf(t)-g.indexOf(o));return{...t,columns:o}});if(t.auto_span){const o="string"==typeof t.auto_span?new RegExp(t.auto_span):/[._]/;M=[...M];for(let t=0;t<g.length;){const n=g[t].match(o);if(!n){t++;continue}const e=g[t].slice(0,n.index);let l=t+1;for(;l<g.length;){const t=g[l].match(o);if(!t||g[l].slice(0,t.index)!==e)break;l++}if(l-t>=2){M.push({label:e,columns:g.slice(t,l)});for(let n=t;n<l;n++){const t=g[n].match(o);t&&($[n]=w(g[n].slice(t.index+t[0].length)))}}t=l}}const A={};for(const t of e){const o=n[t.type];if(!o)continue;const e=o.resolve(t)||{};for(const t of Object.keys(e))A[t]={rnd:o,cfg:e[t]}}return{visible:g,align:b,colLabels:$,colWidths:y,tableWidth:_,indent:x,groups:v,rowSpans:j,styles:L,spanners:M,cellMap:A,footnotes:t.footnotes||[],notes:t.notes||[],header:t.header||{},nRow:s}}(t),E={esc:e,isNum:a,str:i},O=function(t){const o=[],n={};return t.forEach(t=>{null==n[t.text]&&(n[t.text]=o.length+1,o.push(t.text))}),{order:o,idx:n}}(M),T=((t,o)=>(n,e)=>{for(const l of t){const t=l.location;if(t.type!==n)continue;const s=o[l.text];if("title"===n&&t.group===e)return s;if("column_labels"===n&&t.columns.includes(e))return s;if("column_spanners"===n&&t.spanners.includes(e))return s;if("row_groups"===n){if("all"===t.match)return s;if("exact"===t.match&&t.values.includes(e))return s;if("starts_with"===t.match&&e.startsWith(t.value))return s}}return 0})(M,O.idx),R=S.length,D=g.length+R,H=o=>r(t.html_cols,o),W=[`<table class="lt-table"${y?` style="width:${y}"`:""}>`],q=(t,o)=>{const n=T(t,o);return n?c(n):""},B=(t,o)=>f[t]?.[o-1]??"",N=(t,o)=>o?` ${t}="${o}"`:"",z=g.map((t,o)=>((0===o&&x.length?"lt-indent ":"")+({right:"al-r",center:"al-c"}[m[o]]||"")).trimEnd()),C=(t,o,n)=>{for(let e=1;e<=d;e++)if(!t||t.includes(e))for(const t of o||g){const o=g.indexOf(t);o>=0&&n(`${e},${o}`,t,e)}},F={},K={},P=(t,o,n,e)=>{t[o]=t[o]?t[o]+e+n:n};for(const t of v)C(t.rows,t.columns?[].concat(t.columns):null,(n,e,l)=>{t.test&&!t.test(o[e][l-1])||(t.css&&P(F,n,t.css,";"),t.class&&P(K,n,t.class," "))});if($&&$.some(t=>t)){W.push("<colgroup>");for(let t=0;t<R;t++)W.push("<col>");for(let t=0;t<g.length;t++)W.push(`<col${N("style",$[t]?"width:"+$[t]:"")}>`);W.push("</colgroup>")}const G=[["title","lt-title"],["subtitle","lt-subtitle"]].filter(([t])=>null!=k[t]&&""!==k[t]).map(([t,o])=>`<div class="${o}">${l(k[t])}${q("title",t)}</div>`);if(G.length&&W.push('<caption class="lt-caption">',...G,"</caption>"),W.push("<thead>"),j.length){const t='<th class="lt-spanner-empty"></th>';W.push('<tr class="lt-spanner-row">'),W.push(t.repeat(R));for(let o=0;o<g.length;){const n=j.find(t=>t.columns[0]===g[o]);n?(W.push(`<th colspan="${n.columns.length}" scope="colgroup" class="lt-spanner">${l(n.label)}${q("column_spanners",n.label)}</th>`),o+=n.columns.length):(W.push(t),o++)}W.push("</tr>")}W.push("<tr>");for(const t of S)W.push(`<th scope="col" class="lt-row-group">${l(t.label)}</th>`);for(let t=0;t<g.length;t++)W.push(`<th scope="col"${N("class",z[t])}>${l(w[t])}${q("column_labels",g[t])}</th>`);W.push("</tr></thead>");const I={};for(const t of M){if("body"!==t.location.type)continue;const o=O.idx[t.text];C(t.location.rows,t.location.columns||[],t=>{I[t]=o})}const J=(t,n)=>{W.push("<tr>");for(let e=0;e<S.length;e++){const l=S[e];let r=n?n[e]:null;if(!n){const o=l.spans[t-1],n=(l.spans[t-2]||0)-1;r=o>0?{label:!0,open:o>1}:n>0?{fill:n}:null}r&&(r.label?W.push(`<th scope="row" class="lt-row-group${r.open?" lt-row-open":""}">${s(H(l.col),B(l.col,t))}${q("row_groups",i(o[l.col][t-1]))}</th>`):W.push(`<th class="lt-row-group"${N("rowspan",r.fill>1?r.fill:0)}></th>`))}const l=_[t-1]||0;for(let n=0;n<g.length;n++){const r=`${t},${n}`,a=g[n],u=I[r],p=K[r],h=[z[n],p].filter(Boolean).join(" ");let d=F[r]||"";0===n&&l&&(d=(d?d+";":"")+`padding-left:${l+1}em`);const m=L[a];if(m){const n=[h,m.rnd.cellClass?.(m.cfg)||""].filter(Boolean).join(" ");W.push(`<td${N("class",n)}${N("style",d)}>${m.rnd.cell(m.cfg,o,t,E)}${u?c(u):""}</td>`);continue}const b=i(o[a][t-1]),w=f[a][t-1],$=b!==w?` title="${e(b)}"`:"";W.push(`<td${N("class",h)}${N("style",d)}${$}>${s(H(a),w)}${u?c(u):""}</td>`)}W.push("</tr>")},Q=(t,o)=>`<tr class="lt-row-group"><th colspan="${D}" scope="colgroup">${s(o,t)}${q("row_groups",t)}</th></tr>`;if(W.push("<tbody>"),t._viewRows){const n=S.length?(t=>{const n=t.map(()=>[]);for(let e=0;e<S.length;e++){const l=t=>S.slice(0,e+1).map(n=>i(o[n.col][t-1])).join("\0");for(let o=0;o<t.length;){let s=o+1;const r=l(t[o]);for(;s<t.length&&l(t[s])===r;)s++;const c=s-o;n[o][e]={label:!0,open:c>1},c>1&&(n[o+1][e]={fill:c-1}),o=s}}return n})(t._viewRows.filter(t=>"number"==typeof t)):null;let e=0;for(const o of t._viewRows)o&&"object"==typeof o?W.push(Q(o.label,o.raw)):J(o,n?n[e++]:null)}else if(x.length){const t={};for(const o of x){W.push(Q(o.label,o.raw));for(const n of o.rows)t[n]=1,J(n)}for(let o=1;o<=d;o++)t[o]||J(o)}else for(let t=1;t<=d;t++)J(t);W.push("</tbody>");const U=g.map(t=>L[t]&&L[t].rnd.foot?.(L[t].cfg,E)||""),V=U.some(t=>t);if(O.order.length||A.length||V){const t=(t,o)=>`<tr class="${t}"><td colspan="${D}">${o}</td></tr>`;if(W.push('<tfoot class="lt-footer">'),V){W.push('<tr class="lt-plot-foot">'),W.push("<td></td>".repeat(R));for(let t=0;t<g.length;t++){const o=L[g[t]],n=U[t]&&o&&o.rnd.cellClass?.(o.cfg)||"",e=[z[t],n].filter(Boolean).join(" ");W.push(`<td${N("class",e)}>${U[t]}</td>`)}W.push("</tr>")}O.order.forEach((o,n)=>W.push(t("lt-footnote",`${c(n+1)} ${l(o)}`)));for(const o of A)W.push(t("lt-source-note",l(o)));W.push("</tfoot>")}return W.push("</table>"),t._cols=g,t._display=f,t._groups=x.length?x:null,t._indent=_.some(t=>t)?_:null,t._rowspan=S.length?S.map(t=>t.col):null,`<div class="lt-wrap">${W.join("")}</div>`}const $=t.LT?.plugins||{},y=t.LT?.onMount||[],_=(t,o)=>(t._ltSpec=o,(t=>{const o=(t,o)=>{t.altKey&&o.classList.toggle("lt-raw")};t.onclick=n=>{1===n.detail&&o(n,t)},t.ondblclick=n=>{o(n,t.ownerDocument.documentElement)}})(t),y.forEach(n=>n(t,o)),t),x=(t,n)=>{t.insertAdjacentHTML("afterend",w(n)),_(o(t.nextElementSibling,"table"),n)},S={push:t=>x(t.s,t.d)};(t.LT?.q||[]).forEach(S.push),t.LT={build:t=>x(document.currentScript,t),render:(t,n)=>(t.innerHTML=w(n),_(o(t,"table"),n)),refresh:t=>{const n=t?._ltSpec,e=t?.closest(".lt-wrap");if(!n||!e)return;e.insertAdjacentHTML("afterend",w(n));const l=e.nextElementSibling;return e.remove(),_(o(l,"table"),n)},buildHtml:w,plugins:$,onMount:y,cells:n,q:S}})(window);
2
2
  //# sourceMappingURL=lt.min.js.map
package/js/lt.min.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["root","LT","buildHtml","$","el","sel","querySelector","cellRenderers","cells","esc","s","String","replace","txt","v","Array","isArray","escIf","raw","rawCol","hc","c","includes","sup","i","str","Infinity","isNum","isFinite","isNumInf","Math","abs","numCol","col","length","find","colOrder","spec","columns","Object","keys","data","filter","colLabel","ops","lbl","op","type","labels","fmtNumber","decimals","bigMark","sigDigits","test","sign","int","frac","expStr","match","exp","digits","point","out","repeat","slice","expandExp","toPrecision","toFixed","parts","split","join","mergeVals","vals","pattern","remaining","result","m","subRefs","index","block","refs","matchAll","map","x","every","applyOps","colNames","nRow","display","auto_format","fmtCols","Set","add","has","pct","maxInt","n","a","intW","floor","log10","d","min","max","autoFmt","eachCell","cols","fn","percent","psfx","f","big_mark","sig_digits","pfx","prefix","sfx","suffix","Date","isNaN","method","options","toLocaleDateString","locale","small","small_text","zero","missing","mCols","target","miss","undefined","sort","row_group","concat","idx","from","_","b","va","vb","newPos","rows","r","sortByGroups","visible","align","colLabels","colWidths","tableWidth","indent","groups","rowSpans","styles","spanners","cellMap","footnotes","fns","notes","header","hdr","onOp","t","rowGroupSep","rowGroupCols","auto_sep","some","hidden","g","hide","forEach","toMove","rest","after","pos","indexOf","setByCol","arr","val","autoLbl","auto_label","entries","table","widths","w","fill","level","runs","label","push","html_cols","ordered","order","gc","spans","sp","auto_span","sep","RegExp","j","m2","k","mk","rnd","cfgs","resolve","cfg","resolveSpec","U","reg","text","indexFootnotes","fIdx","loc","location","hit","group","values","startsWith","value","matcher","nGrp","nCol","isRaw","mark","cell","attr","colCls","right","center","trimEnd","eachLoc","locCols","ci","styleMap","classMap","addTo","key","css","class","caption","cls","emptyTh","rs","bodyMarks","fi","pushRow","span","ind","cc","Boolean","cm","pcls","cellClass","disp","tip","seen","_viewRows","footCells","foot","hasFoot","h","footRow","html","extra","ac","_cols","_display","plugins","onMount","ready","tbl","_ltSpec","e","altKey","classList","toggle","onclick","detail","ondblclick","ownerDocument","documentElement","wireRaw","mount","insertAdjacentHTML","nextElementSibling","q","build","document","currentScript","render","innerHTML","refresh","wrap","closest","next","remove","window"],"sources":["lt.js"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["root","LT","buildHtml","$","el","sel","querySelector","cellRenderers","cells","esc","s","String","replace","txt","v","Array","isArray","escIf","raw","rawCol","hc","c","includes","sup","i","str","Infinity","isNum","isFinite","isNumInf","Math","abs","numCol","col","length","find","colOrder","spec","columns","Object","keys","data","filter","colLabel","ops","lbl","op","type","labels","fmtNumber","decimals","bigMark","sigDigits","test","sign","int","frac","expStr","match","exp","digits","point","out","repeat","slice","expandExp","toPrecision","toFixed","parts","split","join","mergeVals","vals","pattern","remaining","result","m","subRefs","index","block","refs","matchAll","map","x","every","applyOps","colNames","nRow","display","auto_format","fmtCols","Set","add","has","pct","maxInt","n","a","intW","floor","log10","d","min","max","autoFmt","eachCell","cols","fn","percent","psfx","f","big_mark","sig_digits","pfx","prefix","sfx","suffix","Date","isNaN","method","options","toLocaleDateString","locale","small","small_text","zero","missing","mCols","target","miss","undefined","sort","row_group","concat","idx","from","_","b","va","vb","newPos","rows","r","sortByGroups","visible","align","colLabels","colWidths","tableWidth","indent","groups","rowSpans","styles","spanners","cellMap","footnotes","fns","notes","header","hdr","onOp","t","rowGroupSep","rowGroupCols","auto_sep","some","hidden","g","hide","forEach","toMove","rest","after","pos","indexOf","setByCol","arr","val","autoLbl","auto_label","entries","table","widths","w","fill","level","runs","label","push","html_cols","ordered","order","gc","spans","sp","auto_span","sep","RegExp","j","m2","k","mk","rnd","cfgs","resolve","cfg","resolveSpec","U","reg","text","indexFootnotes","fIdx","loc","location","hit","group","values","startsWith","value","matcher","nGrp","nCol","isRaw","mark","cell","attr","colCls","right","center","trimEnd","eachLoc","locCols","ci","styleMap","classMap","addTo","key","css","class","caption","cls","emptyTh","rs","bodyMarks","fi","pushRow","spanCells","gi","span","open","ind","cc","Boolean","cm","pcls","cellClass","disp","tip","groupHeader","_viewRows","info","seq","len","viewRowSpans","vi","seen","footCells","foot","hasFoot","h","footRow","html","extra","ac","_cols","_display","_groups","_indent","_rowspan","plugins","onMount","ready","tbl","_ltSpec","e","altKey","classList","toggle","onclick","detail","ondblclick","ownerDocument","documentElement","wireRaw","mount","insertAdjacentHTML","nextElementSibling","q","build","document","currentScript","render","innerHTML","refresh","wrap","closest","next","remove","window"],"sources":["lt.js"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xiee/utils",
3
- "version": "1.14.91",
3
+ "version": "1.14.92",
4
4
  "description": "Miscellaneous tools and utilities to manipulate HTML pages",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1"