@xiee/utils 1.14.93 → 1.14.95

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.
@@ -235,8 +235,7 @@
235
235
  // groups need not cover every row). A group left with no row simply
236
236
  // contributes nothing — its header is re-emitted at render only when a row
237
237
  // remains.
238
- const cmp = makeCmp(state.sort || []);
239
- const groups = spec._groups;
238
+ const cmp = makeCmp(state.sort || []), groups = spec._groups;
240
239
  if (!groups) return reduce(all(), cmp);
241
240
  const grouped = new Set(), out = [];
242
241
  for (const g of groups) { g.rows.forEach(r => grouped.add(r)); out.push(...reduce(g.rows, cmp)); }
@@ -309,7 +308,10 @@
309
308
  // reorders its blocks (computeView pulls a group-column key out of the leaf
310
309
  // sort — see the `_rowspan` branch there)
311
310
  const nGroup = spec._rowspan ? spec._rowspan.length : 0,
312
- allCols = nGroup ? [...spec._rowspan, ...cols] : cols;
311
+ allCols = nGroup ? [...spec._rowspan, ...cols] : cols,
312
+ // the table's full column count: a full-width row (control bar, pager,
313
+ // no-match placeholder, detail) must span the leading group columns too
314
+ nAll = nGroup + cols.length;
313
315
  const disp = captureDisplay(el, cols, order),
314
316
  // the bottom header row: the one whose cells line up with `cols`
315
317
  hrow = [...$$(el, "thead tr")].pop(),
@@ -340,7 +342,7 @@
340
342
  });
341
343
  const body = $(tmp.content, "tbody");
342
344
  if (!rows.length) // no matches: a neutral symbol spanning all columns
343
- body.innerHTML = `<tr class="lti-empty"><td colspan="${cols.length}">—</td></tr>`;
345
+ body.innerHTML = `<tr class="lti-empty"><td colspan="${nAll}">—</td></tr>`;
344
346
  else postSwap.forEach(f => f(body, vr));
345
347
  $(el, "tbody").replaceWith(body);
346
348
  sync(view.length);
@@ -378,7 +380,7 @@
378
380
  // head-bar filter chips, then the search box (which absorbs the free space)
379
381
  const headBar = (opts.search !== false || opts.hide || barCols.length || opts.download) ?
380
382
  elem(el.ownerDocument, "div", { className: "lti-bar" },
381
- fullRow(el.tHead || el.createTHead(), "lti-head", cols.length, 0)) : null;
383
+ fullRow(el.tHead || el.createTHead(), "lti-head", nAll, 0)) : null;
382
384
  // the data-column header labels (skipping any leading group cell), read
383
385
  // before sort/resize decorate the cells, so the column menu can list the
384
386
  // displayed labels rather than the raw names
@@ -389,7 +391,7 @@
389
391
  // the under-header filter row: needed when a default applies to visible
390
392
  // columns or any named column is itself visible
391
393
  if (flt && (flt.default || (flt.cols && Object.keys(flt.cols).some(c => cols.includes(c)))))
392
- addFilter(hrow, cols, flt, spec.data, state, refresh);
394
+ addFilter(hrow, cols, flt, spec.data, state, refresh, nGroup);
393
395
  const layout = opts.resize ? fixedLayout(el, hrow, cols.length, nGroup) : null;
394
396
  if (opts.resize) addResize(el, layout);
395
397
  // the icon buttons sit together in a group that keeps its natural width;
@@ -410,11 +412,11 @@
410
412
  // which rows carry a detail block, so a plain re-render (no new view) is
411
413
  // enough
412
414
  if (opts.detail)
413
- postSwap.push(addDetail(el, spec, cols, state, opts.detail, () => refresh(false)));
415
+ postSwap.push(addDetail(el, spec, nAll, state, opts.detail, () => refresh(false)));
414
416
  // `pager` is the page sizes to offer, the first one being the initial
415
417
  if (opts.pager) {
416
418
  const sizes = Array.isArray(opts.pager) ? opts.pager : [10, 25, 50, 100];
417
- sync = addPaginate(el, cols, sizes, state, () => refresh(false));
419
+ sync = addPaginate(el, nAll, sizes, nRow, state, () => refresh(false));
418
420
  refresh(); // cut the full render down to the first page
419
421
  } else if (state.sort.length || opts.detail) {
420
422
  // core rendered the rows in file order; re-render to apply an initial
@@ -545,10 +547,13 @@
545
547
  // normalized { default?, cols? }: each visible column takes its named spec, or
546
548
  // the default when unnamed. A `true` spec is a plain search box; a typed spec
547
549
  // is a funnel + popover under the header (see typedFilter).
548
- function addFilter(hrow, cols, flt, data, state, refresh) {
550
+ function addFilter(hrow, cols, flt, data, state, refresh, nGroup = 0) {
549
551
  const doc = hrow.ownerDocument,
550
552
  row = elem(doc, "tr", { className: "lti-filters" }),
551
553
  def = flt.default, explicit = flt.cols || {};
554
+ // leading rowspan group columns carry no filter, but their cells must still
555
+ // be present so each data column's box lines up under its own header
556
+ for (let i = 0; i < nGroup; i++) elem(doc, "td", {}, row);
552
557
  cols.forEach(c => {
553
558
  const cell = elem(doc, "td", {}, row),
554
559
  spec = c in explicit ? explicit[c] : def;
@@ -573,8 +578,10 @@
573
578
  // interactive). Expanded rows are tracked by their original index, so detail
574
579
  // follows its row across sort/filter/page. Resolving `detailOpt` is deferred
575
580
  // to the first expand, so a global built after the table still works.
576
- function addDetail(el, spec, cols, state, detailOpt, rerender) {
577
- const doc = el.ownerDocument, nCol = cols.length, cache = {};
581
+ function addDetail(el, spec, nCol, state, detailOpt, rerender) {
582
+ // `nCol` is the table's full width, so the detail row spans the leading
583
+ // rowspan group columns too
584
+ const doc = el.ownerDocument, cache = {};
578
585
  state.expanded = new Set();
579
586
  // a row as an object keyed by column (every column, including ones hidden
580
587
  // from the table), built from `src`: spec.data gives raw values, spec._display
@@ -729,18 +736,41 @@
729
736
  postSwap.push(body => hidden.forEach(i => {
730
737
  for (const tr of body.rows) setCell(tr, i, true);
731
738
  }));
739
+ // The spanner row merges cells, so column i is not at cell index i there as
740
+ // in every other row; handle it separately (applySpan). Map each spanner-row
741
+ // cell to the column range it covers (skipping the leading row-group
742
+ // placeholders): hide a plain colspan-1 slot outright, and shrink a real
743
+ // spanner's colSpan — hiding it only once all its columns are gone — so the
744
+ // spanners stay aligned with the body as columns come and go.
745
+ const nGrp = [...hrow.children].length - dataCells(hrow).length,
746
+ spanRow = [...el.rows].find(tr => tr.classList.contains("lt-spanner-row")),
747
+ spanCells = spanRow ? dataCells(spanRow).slice(nGrp) : [];
748
+ let col0 = 0;
749
+ spanCells.forEach(c => { c._span = c.colSpan; c._start = col0; col0 += c._span; });
750
+ // Recompute every spanner cell from the current `hidden` set (idempotent, so
751
+ // it is safe to call on each apply): a real spanner's colSpan is its columns
752
+ // still showing, and it vanishes once all are hidden.
753
+ const applySpan = () => {
754
+ for (const c of spanCells) {
755
+ let gone = 0;
756
+ for (let j = c._start; j < c._start + c._span; j++) if (hidden.has(j)) gone++;
757
+ c.colSpan = Math.max(1, c._span - gone);
758
+ c.hidden = gone >= c._span;
759
+ }
760
+ };
732
761
  // show/hide column i everywhere it lives: the <col> (fixed layout only) and,
733
762
  // one row at a time, every per-column cell — the header labels, the filter
734
- // boxes, the body cells, and a plot's axis footer. The spanner row is the one
735
- // row whose merged cells break the 1:1 column-to-cell index, so skip it; the
736
- // setCell colspan guard skips the other full-width rows (search bar, detail,
737
- // footnotes, pager). <thead>/<tfoot> survive a <tbody> swap, so this one pass
738
- // keeps them in sync; only the fresh <tbody> is re-hidden (via postSwap).
763
+ // boxes, the body cells, and a plot's axis footer, plus the spanner row via
764
+ // applySpan. The setCell colspan guard skips the other full-width rows
765
+ // (search bar, detail, footnotes, pager). <thead>/<tfoot> survive a <tbody>
766
+ // swap, so this one pass keeps them in sync; only the fresh <tbody> is
767
+ // re-hidden (via postSwap).
739
768
  const apply = i => {
740
769
  const on = hidden.has(i);
741
770
  if (layout?.dataCs[i]) layout.dataCs[i].hidden = on;
742
771
  for (const tr of el.rows)
743
772
  if (!tr.classList.contains("lt-spanner-row")) setCell(tr, i, on);
773
+ applySpan();
744
774
  };
745
775
  const wrap = elem(doc, "span", { className: "lti-cols" }, cell),
746
776
  btn = elem(doc, "button", {
@@ -807,6 +837,9 @@
807
837
  ? a - b : String(a).localeCompare(String(b)));
808
838
  choices = vals.map(v => ({ value: String(v), label: String(v) }));
809
839
  }
840
+ // a leading blank is the "no filter" choice, so a select shows every row
841
+ // until the reader picks a value (and can always return to it)
842
+ if (!choices.some(o => o.value === "")) choices = [{ value: "", label: "" }, ...choices];
810
843
  return { ...spec, choices };
811
844
  }
812
845
  let { min, max } = spec;
@@ -887,7 +920,7 @@
887
920
 
888
921
  // A funnel button that toggles a floating panel built by `build(panel)`; closes
889
922
  // on an outside click or Escape. Returns the wrapper element.
890
- function popover(doc, label, build) {
923
+ function popover(doc, label, build, onClose) {
891
924
  const wrap = elem(doc, "span", { className: "lti-pop" }),
892
925
  btn = elem(doc, "button", {
893
926
  type: "button", className: "lti-funnel", title: label,
@@ -895,18 +928,25 @@
895
928
  }, wrap),
896
929
  panel = elem(doc, "div", { className: "lti-pop-panel", hidden: true }, wrap);
897
930
  build(panel);
898
- // keep the panel inside the viewport: it opens to the funnel's left edge by
899
- // default, but a funnel near the right margin would push it off-screen (and
900
- // raise a horizontal scrollbar), so anchor it to the funnel's right instead
931
+ // keep the panel inside the table's scroll box: it opens to the funnel's left
932
+ // edge by default, but a funnel near the right edge would push it past the
933
+ // box (raising its horizontal scrollbar), so anchor it to the funnel's right
934
+ // instead. The limit is the scroll box's right edge, not the viewport's — the
935
+ // box can have room on screen yet none of its own, and vice versa.
901
936
  const place = () => {
902
937
  panel.style.left = panel.style.right = ""; // back to the CSS default (left:0)
903
- const r = panel.getBoundingClientRect(), vw = (doc.defaultView || window).innerWidth;
904
- if (r.right > vw - 4) { panel.style.left = "auto"; panel.style.right = "0"; }
938
+ const vw = (doc.defaultView || window).innerWidth,
939
+ box = wrap.closest(".lt-wrap"),
940
+ limit = Math.min(vw, box ? box.getBoundingClientRect().right : vw);
941
+ if (panel.getBoundingClientRect().right > limit - 4) {
942
+ panel.style.left = "auto"; panel.style.right = "0";
943
+ }
905
944
  };
906
945
  const open = on => {
946
+ const was = !panel.hidden;
907
947
  panel.hidden = !on;
908
948
  btn.setAttribute("aria-expanded", String(on));
909
- if (on) place();
949
+ if (on) place(); else if (was) onClose && onClose();
910
950
  };
911
951
  btn.onclick = e => { e.stopPropagation(); open(panel.hidden); };
912
952
  on(doc, "click", e => { if (!wrap.contains(e.target)) open(false); });
@@ -929,7 +969,7 @@
929
969
  const o = cfg.choices.find(o => o.value === v);
930
970
  return o ? o.label : v;
931
971
  },
932
- init: cfg => selExpr(cfg.selected ?? (cfg.choices[0] || {}).value ?? ""),
972
+ init: cfg => selExpr(cfg.selected ?? ""),
933
973
  build: (doc, cfg, setTerm) => {
934
974
  const w = makeSelect(doc, cfg.choices, v => setTerm(selExpr(v), ed)),
935
975
  ed = { el: w.el, reflect: t => { const v = selParse(t); w.set(v == null ? "" : v); } };
@@ -979,7 +1019,7 @@
979
1019
  editors.push(wEd);
980
1020
  panel.append(...[].concat(wEd.el));
981
1021
  setTerm(kind.init(cfg), null); // seed the configured default
982
- });
1022
+ }, () => showSummary()); // refresh the chip text on close
983
1023
  // a hidden column wraps the funnel in a chip (label + value summary); a
984
1024
  // visible column shows the bare funnel under its own header
985
1025
  let root = wrap, summary;
@@ -989,11 +1029,14 @@
989
1029
  summary = elem(doc, "span", { className: "lti-chip-cur" }, root);
990
1030
  root.appendChild(wrap);
991
1031
  }
992
- mark = cur => {
993
- root.classList.toggle("lti-on", !!cur);
994
- if (summary) summary.textContent = kind.describe(cur, cfg);
995
- };
1032
+ // the active-state class tracks every change (color only, no reflow), but the
1033
+ // chip's value text is a variable width, so a live update while dragging the
1034
+ // slider would shift the funnel (and its popover) sideways; defer it to close
1035
+ mark = cur => root.classList.toggle("lti-on", !!cur);
1036
+ const showSummary = () =>
1037
+ summary && (summary.textContent = kind.describe(state.filters[col] || "", cfg));
996
1038
  mark(state.filters[col] || ""); // paint the seeded term
1039
+ showSummary();
997
1040
  return root;
998
1041
  }
999
1042
 
@@ -1010,13 +1053,13 @@
1010
1053
  // numbers only: « ‹ › » for first/previous/next/last and `from–to / total`
1011
1054
  // for the position. Returns the callback that updates them for a new row
1012
1055
  // count.
1013
- function addPaginate(el, cols, sizes, state, repage) {
1056
+ function addPaginate(el, nCol, sizes, nRow, state, repage) {
1014
1057
  const doc = el.ownerDocument;
1015
1058
  let foot = el.tFoot;
1016
1059
  // reuse the core footer if there is one, so the pager is sized like it
1017
1060
  if (!foot) (foot = el.createTFoot()).className = "lt-footer";
1018
1061
  const bar = elem(doc, "div", { className: "lti-pager" },
1019
- fullRow(foot, "lti-pager-row", cols.length, -1)),
1062
+ fullRow(foot, "lti-pager-row", nCol, -1)),
1020
1063
  pos = elem(doc, "span", { className: "lti-pos" });
1021
1064
  state.pageSize = sizes[0];
1022
1065
  // the last page is clamped by pageSlice(), so a large number will do
@@ -1030,7 +1073,8 @@
1030
1073
  return b;
1031
1074
  });
1032
1075
  bar.appendChild(pos);
1033
- if (sizes.length > 1) {
1076
+ // no dropdown when even the smallest size holds every row (none would split)
1077
+ if (sizes.length > 1 && nRow > Math.min(...sizes.filter(n => n > 0))) {
1034
1078
  const sel = elem(doc, "select", { "aria-label": "Rows per page" }, bar);
1035
1079
  // 0: every row on one page (∞)
1036
1080
  sizes.forEach(n => elem(doc, "option", { value: n, textContent: n || "∞" }, sel));
@@ -1039,10 +1083,12 @@
1039
1083
  return total => {
1040
1084
  // a page size of 0 is one page holding everything
1041
1085
  const n = state.pageSize || total || 1,
1042
- last = Math.max(0, Math.ceil(total / n) - 1);
1043
- pos.textContent = total ?
1086
+ last = Math.max(0, Math.ceil(total / n) - 1),
1087
+ // under a filter, append the full count in parens (a symbol, no i18n)
1088
+ all = total < nRow ? ` (${nRow})` : "";
1089
+ pos.textContent = (total ?
1044
1090
  `${state.page * n + 1}–${Math.min(total, (state.page + 1) * n)} / ${total}` :
1045
- "0 / 0";
1091
+ "0 / 0") + all;
1046
1092
  btns.forEach((b, i) => b.disabled = i < 2 ? !state.page : state.page === last);
1047
1093
  };
1048
1094
  }
@@ -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"},l=(t,e,o)=>(n||=new Intl.Collator,o?t-e:n.compare(String(t),String(e))),r=(t,e)=>t.querySelector(e),i=(t,e)=>t.querySelectorAll(e),a=(t,e,n,o)=>t.addEventListener(e,n,o),c=t=>[...t.children].filter(t=>!t.classList.contains("lt-row-group"));function u(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 d(t,e,n){t.preventDefault();const o=t.target.ownerDocument||document,s=t=>e(t);a(o,"pointermove",s),a(o,"pointerup",()=>{var t,e;t="pointermove",e=s,o.removeEventListener(t,e),n&&n()},{once:!0})}function p(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 f(t,e,n){const s=t._cols||[],r=t.data||{},i=(r[s[0]]||[]).length,a=(t,n)=>({raw:r[t]?.[n-1]??null,disp:e[t]?.[n-1]??""}),c=[];for(const t in n.filters||{}){const e=p(n.filters[t]);e&&c.push(n=>e([a(t,n)]))}const u=p(n.term);u&&c.push(t=>u(s.map(e=>a(e,t))));const d=Object.values(n.predicates||{});if(d.length){const t=Object.keys(r),e=e=>Object.fromEntries(t.map(t=>[t,r[t]?.[e-1]??null]));c.push(t=>{const n=e(t);return d.every(t=>t(n))})}const f=t=>c.every(e=>e(t)),h=t=>{const e=t.map(t=>{const e=r[t.col];return e&&{col:e,num:o(e),dir:"desc"===t.dir?-1:1}}).filter(Boolean);return e.length?(t,n)=>{for(const{col:o,num:s,dir:r}of e){const e=o[t-1],i=o[n-1],a=null==e,c=null==i;if(a||c){if(a!==c)return a?1:-1;continue}const u=l(e,i,s);if(u)return r*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=[],o=[];for(const e of t){const t={r:e,kids:[]},s=m[e-1]||0;for(;o.length&&o[o.length-1].lv>=s;)o.pop();(o.length?o[o.length-1].node.kids:n).push(t),o.push({node:t,lv:s})}const s=t=>t.map(t=>{const e=s(t.kids);return f(t.r)||e.length?{r:t.r,kids:e}:null}).filter(Boolean),l=t=>(e&&t.sort((t,n)=>e(t.r,n.r)),t.forEach(t=>l(t.kids)),t),r=[],i=t=>t.forEach(t=>{r.push(t.r),i(t.kids)});return i(l(s(n))),r},w=()=>Array.from({length:i},(t,e)=>e+1),y=t._rowspan;if(y){const t={},e=[];for(const o of n.sort||[])y.includes(o.col)?t[o.col]=o.dir:e.push(o);const s=h(e),i=(e,n)=>{if(n===y.length)return g(e,s);const a=r[y[n]],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[n]]){const e=o(a),s="desc"===t[y[n]]?-1:1;u.sort((t,n)=>{const o=null==t.v,r=null==n.v;return o||r?o===r?0:o?1:-1:s*l(t.v,n.v,e)})}return u.flatMap(t=>i(t.rows,n+1))};return i(w(),0)}const b=h(n.sort||[]),v=t._groups;if(!v)return g(w(),b);const x=new Set,S=[];for(const t of v)t.rows.forEach(t=>x.add(t)),S.push(...g(t.rows,b));const C=[];for(let t=1;t<=i;t++)x.has(t)||C.push(t);return[...S,...g(C,b)]}function h(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 m(n,o){const l=o.interactive,p=o._cols||[],m=((o.data||{})[p[0]]||[]).length,v=o._groups,x={},S=v?[]:null;if(v){const t=new Set;v.forEach(e=>e.rows.forEach(n=>{x[n]=e,S.push(n),t.add(n)}));for(let e=1;e<=m;e++)t.has(e)||S.push(e)}const C=o._rowspan?o._rowspan.length:0,E=C?[...o._rowspan,...p]:p,N=function(t,e,n){const o={};e.forEach(t=>o[t]=[]);let s=0;return i(t,"tbody tr").forEach(t=>{if(t.classList.contains("lt-row-group"))return;const l=n?n[s]:s+1,r=c(t);e.forEach((t,e)=>o[t][l-1]=r[e]?.textContent??""),s++}),o}(n,p,S),k=[...i(n,"thead tr")].pop(),M={filters:{},predicates:{},page:0,pageSize:0,sort:Array.isArray(l.sort)?l.sort.map(s):[]};let D,$=()=>{};const A=[],F=(t=!0)=>{t&&(D=f(o,N,M),M.page=0);const s=h(D,M),l=(t=>{if(!v)return t;const e=[];let n;for(const o of t){const t=x[o];t!==n&&(t&&e.push({label:t.label,raw:t.raw}),n=t),e.push(o)}return e})(s),i=u(n.ownerDocument,"template",{innerHTML:e.buildHtml({...o,_viewRows:l})}),a=r(i.content,"tbody");s.length?A.forEach(t=>t(a,l)):a.innerHTML=`<tr class="lti-empty"><td colspan="${p.length}">—</td></tr>`,r(n,"tbody").replaceWith(a),$(D.length)};n._lt={spec:o,state:M,refresh:()=>F(),view:()=>D||f(o,N,M),filter(t,e){e?M.predicates[t]=e:delete M.predicates[t],F()}};const _=l.filter,z=_?.cols?Object.keys(_.cols).filter(t=>!0!==_.cols[t]&&!p.includes(t)):[],R=!1!==l.search||l.hide||z.length||l.download?u(n.ownerDocument,"div",{className:"lti-bar"},w(n.tHead||n.createTHead(),"lti-head",p.length,0)):null,j=c(k).map(t=>t.textContent);!1!==l.sort&&function(t,e,n,o){const s=t.ownerDocument,l={},r=()=>{for(const t in l)l[t].th.removeAttribute("aria-sort"),l[t].ind.textContent="";const t=n.sort||[];t.forEach(({col:e,dir:n},o)=>{const s=l[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]):""))})};i(t,"th").forEach((t,i)=>{const a=e[i];if(null==a)return;t.classList.add("lti-sortable");const c=u(s,"span",{className:"lti-label"},t);for(;t.firstChild!==c;)c.append(t.firstChild);l[a]={th:t,ind:u(s,"span",{className:"lti-sort"},c)},c.onclick=t=>{!function(t,e,n){const o=(t.sort||[]).slice(),s=o.findIndex(t=>t.col===e),l=s<0?"asc":"asc"===o[s].dir?"desc":null;if(!n)return void(t.sort=l?[{col:e,dir:l}]:[]);s<0?o.push({col:e,dir:l}):l?o[s]={col:e,dir:l}:o.splice(s,1);t.sort=o}(n,a,t.shiftKey),r(),o()}}),r()}(k,E,M,F),_&&(_.default||_.cols&&Object.keys(_.cols).some(t=>p.includes(t)))&&function(t,e,n,o,s,l){const r=t.ownerDocument,i=u(r,"tr",{className:"lti-filters"}),a=n.default,c=n.cols||{};e.forEach(t=>{const e=u(r,"td",{},i),n=t in c?c[t]:a;if(n)if(!0===n){y(e.appendChild(g(r,`Filter ${t}`)),e=>{e?s.filters[t]=e:delete s.filters[t],l()})}else e.appendChild(L(r,t,n,o,s,l,null))}),t.parentNode.appendChild(i)}(k,p,_,o.data,M,F);const O=l.resize?function(t,e,n,o=0){const s=[...i(e,"th")],l=function(t,e,n=0){let o=r(t,"colgroup");if(!o){const s=t.ownerDocument;o=u(s,"colgroup");for(let t=0;t<n+e;t++)u(s,"col",{},o);t.caption?t.caption.after(o):t.prepend(o)}return[...o.children]}(t,n,o),a=t=>t.getBoundingClientRect().width,c=()=>{if(t.classList.contains("lti-fixed"))return;const e=s.map(a);t.style.width=a(t)+"px",l.forEach((t,n)=>t.style.width=e[n]+"px"),t.classList.add("lti-fixed")},d=e=>{const n=l.map(t=>t.style.width),o=t.style.width;l.forEach(t=>t.style.width=""),t.style.width="",t.classList.remove("lti-fixed");const r=a(s[e]);return l.forEach((t,e)=>t.style.width=n[e]),t.style.width=o,t.classList.add("lti-fixed"),r},p=(e,n,o=24)=>{const s=parseFloat(l[e].style.width);l[e].style.width=Math.max(n,o)+"px",t.style.width=parseFloat(t.style.width)+parseFloat(l[e].style.width)-s+"px"};return{ths:s,cs:l,dataCs:l.slice(o),freeze:c,natural:d,setWidth:p}}(n,k,p.length,C):null;l.resize&&function(t,e){const n=t.ownerDocument,{ths:o,cs:s,freeze:l,natural:r,setWidth:i}=e;o.forEach((e,o)=>{const a=u(n,"div",{className:"lti-resizer"},e);a.ondblclick=t=>{t.stopPropagation(),l(),i(o,r(o))},a.onpointerdown=e=>{e.stopPropagation(),l();const n=e.clientX,r=parseFloat(s[o].style.width);t.classList.add("lti-resizing"),d(e,t=>i(o,r+t.clientX-n),()=>t.classList.remove("lti-resizing"))}})}(n,O);const T=l.hide||l.download?u(n.ownerDocument,"div",{className:"lti-icons"},R):null;if(l.hide&&function(t,e,n,o,s,l,r,i){const d=e.ownerDocument,p=l&&l.hidden||[],f=new Set,h=(t,e,n)=>{const o=c(t)[e];o&&1===o.colSpan&&(o.hidden=n)};i.push(t=>f.forEach(e=>{for(const n of t.rows)h(n,e,!0)}));const m=t=>{const n=f.has(t);r?.dataCs[t]&&(r.dataCs[t].hidden=n);for(const o of e.rows)o.classList.contains("lt-spanner-row")||h(o,t,n)},g=u(d,"span",{className:"lti-cols"},t),w=u(d,"button",{type:"button",title:"Columns","aria-label":"Show or hide columns","aria-expanded":"false"},g),y=u(d,"div",{className:"lti-menu",hidden:!0},g);o.forEach((t,e)=>{if(null==t)return;const n=u(d,"label",{},y),o=u(d,"input",{type:"checkbox",checked:!0},n);n.append(s[e]??t),p.includes(t)&&(o.checked=!1,f.add(e)),o.onchange=()=>{o.checked?f.delete(e):f.add(e),m(e)}}),o.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)},a(d,"click",t=>{g.contains(t.target)||b(!1)}),a(d,"keydown",t=>{"Escape"===t.key&&b(!1)})}(T,n,0,p,j,l.hide,O,A),l.download&&function(t,e,n,o,s,l){const r=e.ownerDocument,i=("string"==typeof l&&l?l:"table").replace(/(\.csv)?$/i,".csv"),a=o.map((t,e)=>e).filter(t=>null!=o[t]);u(r,"button",{type:"button",className:"lti-download",title:"Download CSV","aria-label":"Download table as CSV"},t).onclick=()=>{const t=n._display||{},l=[a.map(t=>b(s[t]??o[t])).join(",")];for(const n of e._lt.view())l.push(a.map(e=>b((t[o[e]]||[])[n-1])).join(","));const c=URL.createObjectURL(new Blob([l.join("\n")],{type:"text/csv"}));u(r,"a",{href:c,download:i}).click(),URL.revokeObjectURL(c)}}(T,n,o,p,j,l.download),z.length&&function(t,e,n,o,s,l){const r=t.ownerDocument;for(const i of e)t.appendChild(L(r,i,n[i],o,s,l,n[i].label||i))}(u(n.ownerDocument,"div",{className:"lti-chips"},R),z,_.cols,o.data,M,F),!1!==l.search&&function(t,e,n,o){const s=t.appendChild(g(e.ownerDocument,"Search"));y(s,t=>{n.term=t,o()})}(R,n,M,F),l.detail&&A.push(function(n,o,s,l,r,i){const a=n.ownerDocument,d=s.length,p={};l.expanded=new Set;const f=(t,e)=>{const n={};for(const o in t)n[o]=t[o]?.[e-1]??null;return n},h=e=>{if(e in p)return p[e];const n=f(o._display||{},e);let s=null;if(Array.isArray(r)){const t={};for(const e of r)t[e]=[n[e]??null];s={data:t}}else{const l="function"==typeof r?r:t[r];"function"==typeof l&&(s=l(f(o.data||{},e),e,n))}return p[e]=s},m=t=>{l.expanded.has(t)?l.expanded.delete(t):l.expanded.add(t),i()};return(t,n)=>[...t.rows].forEach((t,o)=>{const s=n[o];if("number"!=typeof s)return;const r=c(t)[0],i=l.expanded.has(s);if(!r)return;const p=u(a,"button",{type:"button",className:"lti-expand",textContent:i?"▾":"▸","aria-expanded":String(i),"aria-label":"Toggle detail"});p.onclick=()=>m(s),r.prepend(p);const f=i&&h(s);if(f){const n=u(a,"tr",{className:"lti-detail"});t.after(n);const o=u(a,"td",{colSpan:d},n);e.render(u(a,"div",{},o),f)}})}(n,o,p,M,l.detail,()=>F(!1))),l.pager){const t=Array.isArray(l.pager)?l.pager:[10,25,50,100];$=function(t,e,n,o,s){const l=t.ownerDocument;let r=t.tFoot;r||((r=t.createTFoot()).className="lt-footer");const i=u(l,"div",{className:"lti-pager"},w(r,"lti-pager-row",e.length,-1)),a=u(l,"span",{className:"lti-pos"});o.pageSize=n[0];const c=[()=>0,t=>t-1,t=>t+1,()=>1e9],d=["«","‹","›","»"].map((t,e)=>{const n=u(l,"button",{type:"button",textContent:t,"aria-label":["First","Previous","Next","Last"][e]},i);return n.onclick=()=>{o.page=c[e](o.page),s()},n});if(i.appendChild(a),n.length>1){const t=u(l,"select",{"aria-label":"Rows per page"},i);n.forEach(e=>u(l,"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);a.textContent=t?`${o.page*e+1}–${Math.min(t,(o.page+1)*e)} / ${t}`:"0 / 0",d.forEach((t,e)=>t.disabled=e<2?!o.page:o.page===n)}}(n,p,t,M,()=>F(!1)),F()}else(M.sort.length||l.detail)&&F()}function g(t,e){return u(t,"input",{type:"search",className:"lti-search","aria-label":e})}function w(t,e,n,o){const s=t.insertRow(o);return s.className=e,u(t.ownerDocument,"td",{colSpan:n},s)}function y(t,e){let n;const o=()=>e(t.value);t.oninput=()=>{clearTimeout(n),n=setTimeout(o,150)},t.onchange=()=>{clearTimeout(n),o()}}function b(t){const e=null==t?"":String(t);return/[",\n]/.test(e)?'"'+e.replace(/"/g,'""')+'"':e}const v=t=>""===t?"":`x == ${JSON.stringify(String(t))}`,x=t=>{const e=/^\s*x\s*==\s*(['"])([\s\S]*)\1\s*$/.exec(t||"");return e?e[2]:null},S=(t,e,n,o)=>t<=n&&e>=o?"":`x >= ${t} && x <= ${e}`,C=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 E(t,e,n){const o=e.min,s=e.max,l=s-o||1,r=e.step||l/100,i=u(t,"div",{className:"lti-slider"}),a=u(t,"div",{className:"lti-slider-fill"},i),c=e=>u(t,"button",{type:"button",className:"lti-thumb",role:"slider","aria-label":e,"aria-valuemin":o,"aria-valuemax":s},i),p=[c("Minimum"),c("Maximum")];let f=[o,s];const h=t=>(t-o)/l*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-o)/r)*r+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(),d(n,t=>g(e,(t=>{const e=i.getBoundingClientRect();return o+l*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*r);else if("Home"===t.key)g(e,o);else{if("End"!==t.key)return;g(e,s)}t.preventDefault()}}),m(),{el:i,set:t=>{f=t.slice(),m()}}}function N(t,e,n){const o=u(t,"span",{className:"lti-pop"}),s=u(t,"button",{type:"button",className:"lti-funnel",title:e,"aria-label":e,"aria-expanded":"false"},o),l=u(t,"div",{className:"lti-pop-panel",hidden:!0},o);n(l);const r=e=>{l.hidden=!e,s.setAttribute("aria-expanded",String(e)),e&&(()=>{l.style.left=l.style.right="";const e=l.getBoundingClientRect(),n=(t.defaultView||window).innerWidth;e.right>n-4&&(l.style.left="auto",l.style.right="0")})()};return s.onclick=t=>{t.stopPropagation(),r(l.hidden)},a(t,"click",t=>{o.contains(t.target)||r(!1)}),a(t,"keydown",t=>{"Escape"===t.key&&r(!1)}),o}const k={select:{describe:(t,e)=>{const n=x(t);if(null==n)return t?"⋯":"";const o=e.choices.find(t=>t.value===n);return o?o.label:n},init:t=>v(t.selected??(t.choices[0]||{}).value??""),build:(t,e,n)=>{const o=function(t,e,n){const o=u(t,"select",{className:"lti-filter-pick"});return e.forEach(e=>u(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(v(t),s)),s={el:o.el,reflect:t=>{const e=x(t);o.set(null==e?"":e)}};return s}},range:{describe:t=>{const e=C(t);return e?`${e[0]} – ${e[1]}`:t?"⋯":""},init:t=>t.value?S(t.value[0],t.value[1],t.min,t.max):"",build:(t,e,n)=>{const o=u(t,"span",{className:"lti-slider-out"}),s=t=>o.textContent=`${t[0]} – ${t[1]}`,l=E(t,e,t=>{s(t),n(S(t[0],t[1],e.min,e.max),r)}),r={el:[l.el,o],reflect:t=>{const n=C(t)||[e.min,e.max];l.set(n),s(n)}};return r}}};function L(t,e,n,o,s,l,r){const i=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]||[]),a=k[i.type],c=[];let d=()=>{};const p=(t,n)=>{t?s.filters[e]=t:delete s.filters[e],l();const o=s.filters[e]||"";c.forEach(t=>t!==n&&t.reflect(o)),d(o)},f=N(t,`Filter ${i.label||e}`,n=>{const o=u(t,"input",{type:"search",className:"lti-search","aria-label":`${i.label||e} filter expression`},n),s={reflect:e=>{t.activeElement!==o&&(o.value=e)}};c.push(s),y(o,t=>p(t.trim(),s));const l=a.build(t,i,p);c.push(l),n.append(...[].concat(l.el)),p(a.init(i),null)});let h,m=f;return null!=r&&(m=u(t,"span",{className:"lti-chip"}),u(t,"span",{className:"lti-chip-name",textContent:r},m),h=u(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(s.filters[e]||""),m}const M=(t,e)=>{e?.interactive&&!t.dataset.ltiOn&&(t.dataset.ltiOn="1",m(t,e))};e.plugins.interactive={matcher:p,computeView:f,pageSlice:h,enhance:m},e.onMount.push(M),"undefined"!=typeof document&&i(document,".lt-table").forEach(t=>M(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 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"},l=(t,e,o)=>(n||=new Intl.Collator,o?t-e:n.compare(String(t),String(e))),r=(t,e)=>t.querySelector(e),i=(t,e)=>t.querySelectorAll(e),a=(t,e,n,o)=>t.addEventListener(e,n,o),c=t=>[...t.children].filter(t=>!t.classList.contains("lt-row-group"));function u(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 d(t,e,n){t.preventDefault();const o=t.target.ownerDocument||document,s=t=>e(t);a(o,"pointermove",s),a(o,"pointerup",()=>{var t,e;t="pointermove",e=s,o.removeEventListener(t,e),n&&n()},{once:!0})}function p(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 f(t,e,n){const s=t._cols||[],r=t.data||{},i=(r[s[0]]||[]).length,a=(t,n)=>({raw:r[t]?.[n-1]??null,disp:e[t]?.[n-1]??""}),c=[];for(const t in n.filters||{}){const e=p(n.filters[t]);e&&c.push(n=>e([a(t,n)]))}const u=p(n.term);u&&c.push(t=>u(s.map(e=>a(e,t))));const d=Object.values(n.predicates||{});if(d.length){const t=Object.keys(r),e=e=>Object.fromEntries(t.map(t=>[t,r[t]?.[e-1]??null]));c.push(t=>{const n=e(t);return d.every(t=>t(n))})}const f=t=>c.every(e=>e(t)),h=t=>{const e=t.map(t=>{const e=r[t.col];return e&&{col:e,num:o(e),dir:"desc"===t.dir?-1:1}}).filter(Boolean);return e.length?(t,n)=>{for(const{col:o,num:s,dir:r}of e){const e=o[t-1],i=o[n-1],a=null==e,c=null==i;if(a||c){if(a!==c)return a?1:-1;continue}const u=l(e,i,s);if(u)return r*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=[],o=[];for(const e of t){const t={r:e,kids:[]},s=m[e-1]||0;for(;o.length&&o[o.length-1].lv>=s;)o.pop();(o.length?o[o.length-1].node.kids:n).push(t),o.push({node:t,lv:s})}const s=t=>t.map(t=>{const e=s(t.kids);return f(t.r)||e.length?{r:t.r,kids:e}:null}).filter(Boolean),l=t=>(e&&t.sort((t,n)=>e(t.r,n.r)),t.forEach(t=>l(t.kids)),t),r=[],i=t=>t.forEach(t=>{r.push(t.r),i(t.kids)});return i(l(s(n))),r},w=()=>Array.from({length:i},(t,e)=>e+1),y=t._rowspan;if(y){const t={},e=[];for(const o of n.sort||[])y.includes(o.col)?t[o.col]=o.dir:e.push(o);const s=h(e),i=(e,n)=>{if(n===y.length)return g(e,s);const a=r[y[n]],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[n]]){const e=o(a),s="desc"===t[y[n]]?-1:1;u.sort((t,n)=>{const o=null==t.v,r=null==n.v;return o||r?o===r?0:o?1:-1:s*l(t.v,n.v,e)})}return u.flatMap(t=>i(t.rows,n+1))};return i(w(),0)}const b=h(n.sort||[]),v=t._groups;if(!v)return g(w(),b);const x=new Set,S=[];for(const t of v)t.rows.forEach(t=>x.add(t)),S.push(...g(t.rows,b));const C=[];for(let t=1;t<=i;t++)x.has(t)||C.push(t);return[...S,...g(C,b)]}function h(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 m(n,o){const l=o.interactive,p=o._cols||[],m=((o.data||{})[p[0]]||[]).length,v=o._groups,x={},S=v?[]:null;if(v){const t=new Set;v.forEach(e=>e.rows.forEach(n=>{x[n]=e,S.push(n),t.add(n)}));for(let e=1;e<=m;e++)t.has(e)||S.push(e)}const C=o._rowspan?o._rowspan.length:0,E=C?[...o._rowspan,...p]:p,N=C+p.length,k=function(t,e,n){const o={};e.forEach(t=>o[t]=[]);let s=0;return i(t,"tbody tr").forEach(t=>{if(t.classList.contains("lt-row-group"))return;const l=n?n[s]:s+1,r=c(t);e.forEach((t,e)=>o[t][l-1]=r[e]?.textContent??""),s++}),o}(n,p,S),L=[...i(n,"thead tr")].pop(),_={filters:{},predicates:{},page:0,pageSize:0,sort:Array.isArray(l.sort)?l.sort.map(s):[]};let $,D=()=>{};const A=[],F=(t=!0)=>{t&&($=f(o,k,_),_.page=0);const s=h($,_),l=(t=>{if(!v)return t;const e=[];let n;for(const o of t){const t=x[o];t!==n&&(t&&e.push({label:t.label,raw:t.raw}),n=t),e.push(o)}return e})(s),i=u(n.ownerDocument,"template",{innerHTML:e.buildHtml({...o,_viewRows:l})}),a=r(i.content,"tbody");s.length?A.forEach(t=>t(a,l)):a.innerHTML=`<tr class="lti-empty"><td colspan="${N}">—</td></tr>`,r(n,"tbody").replaceWith(a),D($.length)};n._lt={spec:o,state:_,refresh:()=>F(),view:()=>$||f(o,k,_),filter(t,e){e?_.predicates[t]=e:delete _.predicates[t],F()}};const z=l.filter,R=z?.cols?Object.keys(z.cols).filter(t=>!0!==z.cols[t]&&!p.includes(t)):[],j=!1!==l.search||l.hide||R.length||l.download?u(n.ownerDocument,"div",{className:"lti-bar"},w(n.tHead||n.createTHead(),"lti-head",N,0)):null,O=c(L).map(t=>t.textContent);!1!==l.sort&&function(t,e,n,o){const s=t.ownerDocument,l={},r=()=>{for(const t in l)l[t].th.removeAttribute("aria-sort"),l[t].ind.textContent="";const t=n.sort||[];t.forEach(({col:e,dir:n},o)=>{const s=l[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]):""))})};i(t,"th").forEach((t,i)=>{const a=e[i];if(null==a)return;t.classList.add("lti-sortable");const c=u(s,"span",{className:"lti-label"},t);for(;t.firstChild!==c;)c.append(t.firstChild);l[a]={th:t,ind:u(s,"span",{className:"lti-sort"},c)},c.onclick=t=>{!function(t,e,n){const o=(t.sort||[]).slice(),s=o.findIndex(t=>t.col===e),l=s<0?"asc":"asc"===o[s].dir?"desc":null;if(!n)return void(t.sort=l?[{col:e,dir:l}]:[]);s<0?o.push({col:e,dir:l}):l?o[s]={col:e,dir:l}:o.splice(s,1);t.sort=o}(n,a,t.shiftKey),r(),o()}}),r()}(L,E,_,F),z&&(z.default||z.cols&&Object.keys(z.cols).some(t=>p.includes(t)))&&function(t,e,n,o,s,l,r=0){const i=t.ownerDocument,a=u(i,"tr",{className:"lti-filters"}),c=n.default,d=n.cols||{};for(let t=0;t<r;t++)u(i,"td",{},a);e.forEach(t=>{const e=u(i,"td",{},a),n=t in d?d[t]:c;if(n)if(!0===n){y(e.appendChild(g(i,`Filter ${t}`)),e=>{e?s.filters[t]=e:delete s.filters[t],l()})}else e.appendChild(M(i,t,n,o,s,l,null))}),t.parentNode.appendChild(a)}(L,p,z,o.data,_,F,C);const T=l.resize?function(t,e,n,o=0){const s=[...i(e,"th")],l=function(t,e,n=0){let o=r(t,"colgroup");if(!o){const s=t.ownerDocument;o=u(s,"colgroup");for(let t=0;t<n+e;t++)u(s,"col",{},o);t.caption?t.caption.after(o):t.prepend(o)}return[...o.children]}(t,n,o),a=t=>t.getBoundingClientRect().width,c=()=>{if(t.classList.contains("lti-fixed"))return;const e=s.map(a);t.style.width=a(t)+"px",l.forEach((t,n)=>t.style.width=e[n]+"px"),t.classList.add("lti-fixed")},d=e=>{const n=l.map(t=>t.style.width),o=t.style.width;l.forEach(t=>t.style.width=""),t.style.width="",t.classList.remove("lti-fixed");const r=a(s[e]);return l.forEach((t,e)=>t.style.width=n[e]),t.style.width=o,t.classList.add("lti-fixed"),r},p=(e,n,o=24)=>{const s=parseFloat(l[e].style.width);l[e].style.width=Math.max(n,o)+"px",t.style.width=parseFloat(t.style.width)+parseFloat(l[e].style.width)-s+"px"};return{ths:s,cs:l,dataCs:l.slice(o),freeze:c,natural:d,setWidth:p}}(n,L,p.length,C):null;l.resize&&function(t,e){const n=t.ownerDocument,{ths:o,cs:s,freeze:l,natural:r,setWidth:i}=e;o.forEach((e,o)=>{const a=u(n,"div",{className:"lti-resizer"},e);a.ondblclick=t=>{t.stopPropagation(),l(),i(o,r(o))},a.onpointerdown=e=>{e.stopPropagation(),l();const n=e.clientX,r=parseFloat(s[o].style.width);t.classList.add("lti-resizing"),d(e,t=>i(o,r+t.clientX-n),()=>t.classList.remove("lti-resizing"))}})}(n,T);const B=l.hide||l.download?u(n.ownerDocument,"div",{className:"lti-icons"},j):null;if(l.hide&&function(t,e,n,o,s,l,r,i){const d=e.ownerDocument,p=l&&l.hidden||[],f=new Set,h=(t,e,n)=>{const o=c(t)[e];o&&1===o.colSpan&&(o.hidden=n)};i.push(t=>f.forEach(e=>{for(const n of t.rows)h(n,e,!0)}));const m=[...n.children].length-c(n).length,g=[...e.rows].find(t=>t.classList.contains("lt-spanner-row")),w=g?c(g).slice(m):[];let y=0;w.forEach(t=>{t._span=t.colSpan,t._start=y,y+=t._span});const b=()=>{for(const t of w){let e=0;for(let n=t._start;n<t._start+t._span;n++)f.has(n)&&e++;t.colSpan=Math.max(1,t._span-e),t.hidden=e>=t._span}},v=t=>{const n=f.has(t);r?.dataCs[t]&&(r.dataCs[t].hidden=n);for(const o of e.rows)o.classList.contains("lt-spanner-row")||h(o,t,n);b()},x=u(d,"span",{className:"lti-cols"},t),S=u(d,"button",{type:"button",title:"Columns","aria-label":"Show or hide columns","aria-expanded":"false"},x),C=u(d,"div",{className:"lti-menu",hidden:!0},x);o.forEach((t,e)=>{if(null==t)return;const n=u(d,"label",{},C),o=u(d,"input",{type:"checkbox",checked:!0},n);n.append(s[e]??t),p.includes(t)&&(o.checked=!1,f.add(e)),o.onchange=()=>{o.checked?f.delete(e):f.add(e),v(e)}}),o.forEach((t,e)=>v(e));const E=t=>{C.hidden=!t,S.setAttribute("aria-expanded",String(t))};S.onclick=t=>{t.stopPropagation(),E(C.hidden)},a(d,"click",t=>{x.contains(t.target)||E(!1)}),a(d,"keydown",t=>{"Escape"===t.key&&E(!1)})}(B,n,L,p,O,l.hide,T,A),l.download&&function(t,e,n,o,s,l){const r=e.ownerDocument,i=("string"==typeof l&&l?l:"table").replace(/(\.csv)?$/i,".csv"),a=o.map((t,e)=>e).filter(t=>null!=o[t]);u(r,"button",{type:"button",className:"lti-download",title:"Download CSV","aria-label":"Download table as CSV"},t).onclick=()=>{const t=n._display||{},l=[a.map(t=>b(s[t]??o[t])).join(",")];for(const n of e._lt.view())l.push(a.map(e=>b((t[o[e]]||[])[n-1])).join(","));const c=URL.createObjectURL(new Blob([l.join("\n")],{type:"text/csv"}));u(r,"a",{href:c,download:i}).click(),URL.revokeObjectURL(c)}}(B,n,o,p,O,l.download),R.length&&function(t,e,n,o,s,l){const r=t.ownerDocument;for(const i of e)t.appendChild(M(r,i,n[i],o,s,l,n[i].label||i))}(u(n.ownerDocument,"div",{className:"lti-chips"},j),R,z.cols,o.data,_,F),!1!==l.search&&function(t,e,n,o){const s=t.appendChild(g(e.ownerDocument,"Search"));y(s,t=>{n.term=t,o()})}(j,n,_,F),l.detail&&A.push(function(n,o,s,l,r,i){const a=n.ownerDocument,d={};l.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 d)return d[e];const n=p(o._display||{},e);let s=null;if(Array.isArray(r)){const t={};for(const e of r)t[e]=[n[e]??null];s={data:t}}else{const l="function"==typeof r?r:t[r];"function"==typeof l&&(s=l(p(o.data||{},e),e,n))}return d[e]=s},h=t=>{l.expanded.has(t)?l.expanded.delete(t):l.expanded.add(t),i()};return(t,n)=>[...t.rows].forEach((t,o)=>{const r=n[o];if("number"!=typeof r)return;const i=c(t)[0],d=l.expanded.has(r);if(!i)return;const p=u(a,"button",{type:"button",className:"lti-expand",textContent:d?"▾":"▸","aria-expanded":String(d),"aria-label":"Toggle detail"});p.onclick=()=>h(r),i.prepend(p);const m=d&&f(r);if(m){const n=u(a,"tr",{className:"lti-detail"});t.after(n);const o=u(a,"td",{colSpan:s},n);e.render(u(a,"div",{},o),m)}})}(n,o,N,_,l.detail,()=>F(!1))),l.pager){const t=Array.isArray(l.pager)?l.pager:[10,25,50,100];D=function(t,e,n,o,s,l){const r=t.ownerDocument;let i=t.tFoot;i||((i=t.createTFoot()).className="lt-footer");const a=u(r,"div",{className:"lti-pager"},w(i,"lti-pager-row",e,-1)),c=u(r,"span",{className:"lti-pos"});s.pageSize=n[0];const d=[()=>0,t=>t-1,t=>t+1,()=>1e9],p=["«","‹","›","»"].map((t,e)=>{const n=u(r,"button",{type:"button",textContent:t,"aria-label":["First","Previous","Next","Last"][e]},a);return n.onclick=()=>{s.page=d[e](s.page),l()},n});if(a.appendChild(c),n.length>1&&o>Math.min(...n.filter(t=>t>0))){const t=u(r,"select",{"aria-label":"Rows per page"},a);n.forEach(e=>u(r,"option",{value:e,textContent:e||"∞"},t)),t.onchange=()=>{s.pageSize=+t.value,s.page=0,l()}}return t=>{const e=s.pageSize||t||1,n=Math.max(0,Math.ceil(t/e)-1),l=t<o?` (${o})`:"";c.textContent=(t?`${s.page*e+1}–${Math.min(t,(s.page+1)*e)} / ${t}`:"0 / 0")+l,p.forEach((t,e)=>t.disabled=e<2?!s.page:s.page===n)}}(n,N,t,m,_,()=>F(!1)),F()}else(_.sort.length||l.detail)&&F()}function g(t,e){return u(t,"input",{type:"search",className:"lti-search","aria-label":e})}function w(t,e,n,o){const s=t.insertRow(o);return s.className=e,u(t.ownerDocument,"td",{colSpan:n},s)}function y(t,e){let n;const o=()=>e(t.value);t.oninput=()=>{clearTimeout(n),n=setTimeout(o,150)},t.onchange=()=>{clearTimeout(n),o()}}function b(t){const e=null==t?"":String(t);return/[",\n]/.test(e)?'"'+e.replace(/"/g,'""')+'"':e}const v=t=>""===t?"":`x == ${JSON.stringify(String(t))}`,x=t=>{const e=/^\s*x\s*==\s*(['"])([\s\S]*)\1\s*$/.exec(t||"");return e?e[2]:null},S=(t,e,n,o)=>t<=n&&e>=o?"":`x >= ${t} && x <= ${e}`,C=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 E(t,e,n){const o=e.min,s=e.max,l=s-o||1,r=e.step||l/100,i=u(t,"div",{className:"lti-slider"}),a=u(t,"div",{className:"lti-slider-fill"},i),c=e=>u(t,"button",{type:"button",className:"lti-thumb",role:"slider","aria-label":e,"aria-valuemin":o,"aria-valuemax":s},i),p=[c("Minimum"),c("Maximum")];let f=[o,s];const h=t=>(t-o)/l*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-o)/r)*r+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(),d(n,t=>g(e,(t=>{const e=i.getBoundingClientRect();return o+l*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*r);else if("Home"===t.key)g(e,o);else{if("End"!==t.key)return;g(e,s)}t.preventDefault()}}),m(),{el:i,set:t=>{f=t.slice(),m()}}}function N(t,e,n,o){const s=u(t,"span",{className:"lti-pop"}),l=u(t,"button",{type:"button",className:"lti-funnel",title:e,"aria-label":e,"aria-expanded":"false"},s),r=u(t,"div",{className:"lti-pop-panel",hidden:!0},s);n(r);const i=e=>{const n=!r.hidden;r.hidden=!e,l.setAttribute("aria-expanded",String(e)),e?(()=>{r.style.left=r.style.right="";const e=(t.defaultView||window).innerWidth,n=s.closest(".lt-wrap"),o=Math.min(e,n?n.getBoundingClientRect().right:e);r.getBoundingClientRect().right>o-4&&(r.style.left="auto",r.style.right="0")})():n&&o&&o()};return l.onclick=t=>{t.stopPropagation(),i(r.hidden)},a(t,"click",t=>{s.contains(t.target)||i(!1)}),a(t,"keydown",t=>{"Escape"===t.key&&i(!1)}),s}const k={select:{describe:(t,e)=>{const n=x(t);if(null==n)return t?"⋯":"";const o=e.choices.find(t=>t.value===n);return o?o.label:n},init:t=>v(t.selected??""),build:(t,e,n)=>{const o=function(t,e,n){const o=u(t,"select",{className:"lti-filter-pick"});return e.forEach(e=>u(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(v(t),s)),s={el:o.el,reflect:t=>{const e=x(t);o.set(null==e?"":e)}};return s}},range:{describe:t=>{const e=C(t);return e?`${e[0]} – ${e[1]}`:t?"⋯":""},init:t=>t.value?S(t.value[0],t.value[1],t.min,t.max):"",build:(t,e,n)=>{const o=u(t,"span",{className:"lti-slider-out"}),s=t=>o.textContent=`${t[0]} – ${t[1]}`,l=E(t,e,t=>{s(t),n(S(t[0],t[1],e.min,e.max),r)}),r={el:[l.el,o],reflect:t=>{const n=C(t)||[e.min,e.max];l.set(n),s(n)}};return r}}};function M(t,e,n,o,s,l,r){const i=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 n.some(t=>""===t.value)||(n=[{value:"",label:""},...n]),{...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]||[]),a=k[i.type],c=[];let d=()=>{};const p=(t,n)=>{t?s.filters[e]=t:delete s.filters[e],l();const o=s.filters[e]||"";c.forEach(t=>t!==n&&t.reflect(o)),d(o)},f=N(t,`Filter ${i.label||e}`,n=>{const o=u(t,"input",{type:"search",className:"lti-search","aria-label":`${i.label||e} filter expression`},n),s={reflect:e=>{t.activeElement!==o&&(o.value=e)}};c.push(s),y(o,t=>p(t.trim(),s));const l=a.build(t,i,p);c.push(l),n.append(...[].concat(l.el)),p(a.init(i),null)},()=>g());let h,m=f;null!=r&&(m=u(t,"span",{className:"lti-chip"}),u(t,"span",{className:"lti-chip-name",textContent:r},m),h=u(t,"span",{className:"lti-chip-cur"},m),m.appendChild(f)),d=t=>m.classList.toggle("lti-on",!!t);const g=()=>h&&(h.textContent=a.describe(s.filters[e]||"",i));return d(s.filters[e]||""),g(),m}const L=(t,e)=>{e?.interactive&&!t.dataset.ltiOn&&(t.dataset.ltiOn="1",m(t,e))};e.plugins.interactive={matcher:p,computeView:f,pageSlice:h,enhance:m},e.onMount.push(L),"undefined"!=typeof document&&i(document,".lt-table").forEach(t=>L(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","cmpVals","x","y","num","Intl","Collator","compare","String","$","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","trim","test","Function","neg","raw","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","xn","yn","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","download","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","icons","opt","start","hidden","setCell","colSpan","apply","wrap","btn","title","menu","box","checked","onchange","delete","open","addColumnToggle","name","file","_display","lines","csvField","join","url","URL","createObjectURL","Blob","href","click","revokeObjectURL","addDownload","cfg","addControlFilters","input","addSearch","detail","detailOpt","rerender","cache","expanded","pick","src","build","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","s","selExpr","JSON","stringify","selParse","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":[]}
1
+ {"version":3,"names":["root","LT","onMount","plugins","interactive","coll","numCol","col","find","v","parseKey","k","slice","dir","cmpVals","x","y","num","Intl","Collator","compare","String","$","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","trim","test","Function","neg","raw","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","xn","yn","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","nAll","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","download","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","icons","opt","start","hidden","setCell","colSpan","nGrp","spanRow","spanCells","col0","_span","_start","applySpan","gone","apply","wrap","btn","title","menu","box","checked","onchange","delete","open","addColumnToggle","name","file","_display","lines","csvField","join","url","URL","createObjectURL","Blob","href","click","revokeObjectURL","addDownload","cfg","addControlFilters","input","addSearch","detail","detailOpt","rerender","cache","expanded","pick","src","build","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","s","selExpr","JSON","stringify","selParse","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","onClose","panel","was","vw","defaultView","window","innerWidth","closest","limit","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","showSummary","summary","dataset","ltiOn","_ltSpec","globalThis"],"sources":["lt-interactive.js"],"mappings":"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","ignoreList":[]}
package/js/lt-plot.js CHANGED
@@ -8,8 +8,7 @@
8
8
  */
9
9
  (root => {
10
10
  "use strict";
11
- const LT = root.LT || (root.LT = {});
12
- const cells = LT.cells || (LT.cells = {});
11
+ const LT = root.LT || (root.LT = {}), cells = LT.cells || (LT.cells = {});
13
12
  if (cells.errorbar) return; // duplicate inclusion is a no-op
14
13
 
15
14
  // Horizontal padding (px) left/right inside an error-bar SVG, so points,
@@ -32,7 +31,10 @@
32
31
  };
33
32
  const d = niceNum(niceNum(hi - lo, false) / (n - 1), true),
34
33
  dec = Math.max(0, -Math.floor(Math.log10(d))), ticks = [];
35
- for (let v = Math.ceil(lo / d) * d; v <= hi + d / 2; v += d)
34
+ // stay within [lo, hi]: a tick past hi would be clamped onto the right edge
35
+ // (see ebX), bunching the last gap. The small tolerance only absorbs the
36
+ // float drift of landing exactly on hi.
37
+ for (let v = Math.ceil(lo / d) * d; v <= hi + d * 1e-9; v += d)
36
38
  ticks.push(+v.toFixed(dec));
37
39
  return ticks;
38
40
  }
@@ -72,7 +74,7 @@
72
74
  const num = k => { const v = data[k]?.[r - 1]; return u.isNum(v) ? v : null; };
73
75
  const H = eb.height, n = eb.cols.length, x = v => ebX(eb, v),
74
76
  yOf = i => stackY(i, n, H), // one track per series, stacked
75
- cap = Math.min(4, (H / n - 1) / 2); // half-height of the end caps
77
+ cap = Math.min(3, (H / n - 1) / 2); // half-height of the end caps
76
78
  let s = `<svg class="lt-eb" width="${eb.width}" height="${H}">`;
77
79
  if (eb.ref != null)
78
80
  s += `<line class="lt-eb-ref" x1="${x(eb.ref)}" y1="0" x2="${x(eb.ref)}" y2="${H}"/>`;
@@ -175,9 +177,9 @@
175
177
  // entries become null (a gap in the line, a skipped bar). `u` carries the core
176
178
  // helpers (esc/isNum/str).
177
179
  function spSeries(sp, data, r, u) {
178
- const cell = data[sp.cols[0]]?.[r - 1];
179
- const raw = sp.cols.length === 1 && Array.isArray(cell)
180
- ? cell : sp.cols.map(c => data[c]?.[r - 1]);
180
+ const cell = data[sp.cols[0]]?.[r - 1],
181
+ raw = sp.cols.length === 1 && Array.isArray(cell)
182
+ ? cell : sp.cols.map(c => data[c]?.[r - 1]);
181
183
  return raw.map(v => u.isNum(v) ? +v : null);
182
184
  }
183
185
 
@@ -188,8 +190,8 @@
188
190
  function svgSparkline(sp, data, r, u) {
189
191
  const vals = spSeries(sp, data, r, u), fin = vals.filter(v => v != null);
190
192
  if (!fin.length) return "";
191
- const W = sp.width, H = sp.height, n = vals.length;
192
- const lo = sp.min != null ? sp.min : Math.min(...fin),
193
+ const W = sp.width, H = sp.height, n = vals.length,
194
+ lo = sp.min != null ? sp.min : Math.min(...fin),
193
195
  hi = sp.max != null ? sp.max : Math.max(...fin);
194
196
  const xAt = i => round1(n > 1 ? SP_PAD + i / (n - 1) * (W - 2 * SP_PAD) : W / 2),
195
197
  yAt = v => round1(hi > lo
package/js/lt-plot.min.js CHANGED
@@ -1,2 +1,2 @@
1
- (t=>{"use strict";const l=t.LT||(t.LT={}),s=l.cells||(l.cells={});if(s.errorbar)return;function e(t,l,s=5){if(!(l>t))return[t];const e=(t,l)=>{const s=Math.floor(Math.log10(t)),e=t/10**s;return(l?e<1.5?1:e<3?2:e<7?5:10:e<=1?1:e<=2?2:e<=5?5:10)*10**s},n=e(e(l-t,!1)/(s-1),!0),i=Math.max(0,-Math.floor(Math.log10(n))),o=[];for(let s=Math.ceil(t/n)*n;s<=l+n/2;s+=n)o.push(+s.toFixed(i));return o}function n(t){const l=t.width-8,s=11*Math.max(String(t.min).length,String(t.max).length)*.6+11;return Math.max(2,Math.min(8,Math.floor(l/s)+1))}const i=(t,l)=>{const s=t.width-8,e=t.max-t.min,n=e>0?4+(l-t.min)/e*s:t.width/2;return Math.round(10*Math.max(4,Math.min(t.width-4,n)))/10},o=(t,l,s)=>l<=1?s/2:Math.round((t+1)/(l+1)*s);function r(t,l,s,e){const n=t=>{const n=l[t]?.[s-1];return e.isNum(n)?n:null},r=t.height,c=t.cols.length,a=l=>i(t,l),h=Math.min(4,(r/c-1)/2);let u=`<svg class="lt-eb" width="${t.width}" height="${r}">`;null!=t.ref&&(u+=`<line class="lt-eb-ref" x1="${a(t.ref)}" y1="0" x2="${a(t.ref)}" y2="${r}"/>`);const $=[];return t.cols.forEach((l,s)=>{const i=n(l),x=n(t.los[s]),m=n(t.his[s]);if(null==i&&null==x&&null==m)return;const f=(t=>o(t,c,r))(s),g=t.colors?.[s],d=g?` stroke="${e.esc(g)}"`:"",b=g?` fill="${e.esc(g)}"`:"";if(null!=x&&null!=m){const t=a(x),l=a(m);u+=`<line${d} x1="${t}" y1="${f}" x2="${l}" y2="${f}"/><line${d} x1="${t}" y1="${f-h}" x2="${t}" y2="${f+h}"/><line${d} x1="${l}" y1="${f-h}" x2="${l}" y2="${f+h}"/>`}null!=i&&(u+=`<circle${b} cx="${a(i)}" cy="${f}" r="3"/>`);const w=null!=x&&null!=m?` (${e.str(x)}, ${e.str(m)})`:"";$.push((t.labels?.[s]?t.labels[s]+": ":"")+(null!=i?e.str(i):"")+w)}),$.length?u+`<title>${e.esc($.join("\n"))}</title></svg>`:""}function c(t){let l=`<svg class="lt-eb-grid-bg" width="${t.width}" height="100%" viewBox="0 0 ${t.width} 10" preserveAspectRatio="none">`;for(const s of t.ticks)l+=`<line x1="${i(t,s)}" y1="0" x2="${i(t,s)}" y2="10"/>`;return l+"</svg>"}function a(t,l){const s=t.width,e=t.axisLabel,n=e?32:18,o=l=>i(t,l);let r=`<svg class="lt-eb-axis" width="${s}" height="${n}" overflow="visible"><line x1="4" y1="1" x2="${s-4}" y2="1"/>`;for(const e of t.ticks||[]){const t=o(e);r+=`<line x1="${t}" y1="0" x2="${t}" y2="4"/><text x="${t}" y="15" text-anchor="${t<=4?"start":t>=s-4?"end":"middle"}">${l.esc(l.str(e))}</text>`}return e&&(r+=`<text class="lt-eb-axis-label" x="${s/2}" y="${n-4}" text-anchor="middle">${l.esc(e)}</text>`),r+"</svg>"}s.errorbar={resolve(t){const l=t.columns||[],s=l[0];if(!s)return{};const i={col:s,cols:l,los:t.lowers||[],his:t.uppers||[],colors:t.colors,labels:t.labels,min:t.min,max:t.max,ref:t.ref,axis:t.axis,axisLabel:t.axis_label,width:t.width||160,height:t.height||16};return t.axis&&(i.ticks=e(i.min,i.max,n(i))),{[s]:i}},cellClass:t=>t.ticks?"lt-eb-cell":"",cell:(t,l,s,e)=>(t.ticks?c(t):"")+r(t,l,s,e),foot:(t,l)=>(t.ticks?a(t,l):"")+m(t,l)};const h=t=>Math.round(10*t)/10,u=t=>`"${t}"`;function $(t,l,s,e){const n=function(t,l,s,e){const n=l[t.cols[0]]?.[s-1];return(1===t.cols.length&&Array.isArray(n)?n:t.cols.map(t=>l[t]?.[s-1])).map(t=>e.isNum(t)?+t:null)}(t,l,s,e),i=n.filter(t=>null!=t);if(!i.length)return"";const o=t.width,r=t.height,c=n.length,a=null!=t.min?t.min:Math.min(...i),$=null!=t.max?t.max:Math.max(...i),x=t=>h($>a?r-2-(t-a)/($-a)*(r-4):r/2),m=t.color?` style="color:${e.esc(t.color)}"`:"";let f;if("bar"===t.kind){const t=(o-4)/c,l=h(Math.max(1,.8*t)),s=x(a<0&&$>0?0:a);f=n.map((e,n)=>{if(null==e)return"";const i=x(e),o=h(2+n*t+(t-l)/2);return`<rect class="lt-spark-bar" x=${u(o)} y=${u(Math.min(i,s))} width=${u(l)} height=${u(Math.max(1,Math.abs(s-i)))}/>`}).join("")}else{let t="",l=!1;n.forEach((s,e)=>{null!=s?(t+=`${l?"L":"M"}${(t=>h(c>1?2+t/(c-1)*(o-4):o/2))(e)} ${x(s)}`,l=!0):l=!1}),f=`<path class="lt-spark-line" d="${t}"/>`}return`<svg class="lt-spark" width="${o}" height="${r}"${m}>${f}<title>${e.esc(i.map(e.str).join(", "))}</title></svg>`}function x(t,l,s,e){const n=t.height,r=t.cols.length;let c=`<svg class="lt-dot" width="${t.width}" height="${n}">`;const a=[];return t.cols.forEach((h,u)=>{const $=l[h]?.[s-1];if(!e.isNum($))return;const x=t.colors?.[u],m=x?` fill="${e.esc(x)}"`:"";c+=`<circle${m} cx="${(l=>i(t,l))($)}" cy="${(l=>t.stagger?o(l,r,n):n/2)(u)}" r="3"/>`,a.push((t.labels?.[u]?t.labels[u]+": ":"")+e.str($))}),c+`<title>${e.esc(a.join("\n"))}</title></svg>`}function m(t,l){if(!t.colors)return"";return`<div class="lt-plot-legend">${t.cols.map((s,e)=>`<span><i style="background:${l.esc(t.colors[e])}"></i>${l.esc(t.labels?.[e]??s)}</span>`).join("")}</div>`}s.sparkline={resolve(t){const l=t.columns||[],s=l[0];return s?{[s]:{col:s,cols:l,kind:t.kind,min:t.min,max:t.max,color:t.color,width:t.width||120,height:t.height||20}}:{}},cell:(t,l,s,e)=>$(t,l,s,e)},s.dotplot={resolve(t){const l=t.columns||[],s=l[0];if(!s)return{};const i={col:s,cols:l,colors:t.colors,labels:t.labels,stagger:t.stagger,min:t.min,max:t.max,axisLabel:t.axis_label,width:t.width||160,height:t.height||16};return t.axis&&(i.ticks=e(i.min,i.max,n(i))),{[s]:i}},cellClass:t=>t.ticks?"lt-eb-cell":"",cell:(t,l,s,e)=>(t.ticks?c(t):"")+x(t,l,s,e),foot:(t,l)=>(t.ticks?a(t,l):"")+m(t,l)};const f=t.document;if(f)for(const t of f.querySelectorAll(".lt-table"))(t._ltSpec?.ops||[]).some(t=>s[t.type])&&l.refresh?.(t)})(window);
1
+ (t=>{"use strict";const l=t.LT||(t.LT={}),s=l.cells||(l.cells={});if(s.errorbar)return;function e(t,l,s=5){if(!(l>t))return[t];const e=(t,l)=>{const s=Math.floor(Math.log10(t)),e=t/10**s;return(l?e<1.5?1:e<3?2:e<7?5:10:e<=1?1:e<=2?2:e<=5?5:10)*10**s},n=e(e(l-t,!1)/(s-1),!0),i=Math.max(0,-Math.floor(Math.log10(n))),o=[];for(let s=Math.ceil(t/n)*n;s<=l+1e-9*n;s+=n)o.push(+s.toFixed(i));return o}function n(t){const l=t.width-8,s=11*Math.max(String(t.min).length,String(t.max).length)*.6+11;return Math.max(2,Math.min(8,Math.floor(l/s)+1))}const i=(t,l)=>{const s=t.width-8,e=t.max-t.min,n=e>0?4+(l-t.min)/e*s:t.width/2;return Math.round(10*Math.max(4,Math.min(t.width-4,n)))/10},o=(t,l,s)=>l<=1?s/2:Math.round((t+1)/(l+1)*s);function r(t,l,s,e){const n=t=>{const n=l[t]?.[s-1];return e.isNum(n)?n:null},r=t.height,c=t.cols.length,a=l=>i(t,l),h=Math.min(3,(r/c-1)/2);let u=`<svg class="lt-eb" width="${t.width}" height="${r}">`;null!=t.ref&&(u+=`<line class="lt-eb-ref" x1="${a(t.ref)}" y1="0" x2="${a(t.ref)}" y2="${r}"/>`);const $=[];return t.cols.forEach((l,s)=>{const i=n(l),x=n(t.los[s]),m=n(t.his[s]);if(null==i&&null==x&&null==m)return;const f=(t=>o(t,c,r))(s),g=t.colors?.[s],d=g?` stroke="${e.esc(g)}"`:"",b=g?` fill="${e.esc(g)}"`:"";if(null!=x&&null!=m){const t=a(x),l=a(m);u+=`<line${d} x1="${t}" y1="${f}" x2="${l}" y2="${f}"/><line${d} x1="${t}" y1="${f-h}" x2="${t}" y2="${f+h}"/><line${d} x1="${l}" y1="${f-h}" x2="${l}" y2="${f+h}"/>`}null!=i&&(u+=`<circle${b} cx="${a(i)}" cy="${f}" r="3"/>`);const w=null!=x&&null!=m?` (${e.str(x)}, ${e.str(m)})`:"";$.push((t.labels?.[s]?t.labels[s]+": ":"")+(null!=i?e.str(i):"")+w)}),$.length?u+`<title>${e.esc($.join("\n"))}</title></svg>`:""}function c(t){let l=`<svg class="lt-eb-grid-bg" width="${t.width}" height="100%" viewBox="0 0 ${t.width} 10" preserveAspectRatio="none">`;for(const s of t.ticks)l+=`<line x1="${i(t,s)}" y1="0" x2="${i(t,s)}" y2="10"/>`;return l+"</svg>"}function a(t,l){const s=t.width,e=t.axisLabel,n=e?32:18,o=l=>i(t,l);let r=`<svg class="lt-eb-axis" width="${s}" height="${n}" overflow="visible"><line x1="4" y1="1" x2="${s-4}" y2="1"/>`;for(const e of t.ticks||[]){const t=o(e);r+=`<line x1="${t}" y1="0" x2="${t}" y2="4"/><text x="${t}" y="15" text-anchor="${t<=4?"start":t>=s-4?"end":"middle"}">${l.esc(l.str(e))}</text>`}return e&&(r+=`<text class="lt-eb-axis-label" x="${s/2}" y="${n-4}" text-anchor="middle">${l.esc(e)}</text>`),r+"</svg>"}s.errorbar={resolve(t){const l=t.columns||[],s=l[0];if(!s)return{};const i={col:s,cols:l,los:t.lowers||[],his:t.uppers||[],colors:t.colors,labels:t.labels,min:t.min,max:t.max,ref:t.ref,axis:t.axis,axisLabel:t.axis_label,width:t.width||160,height:t.height||16};return t.axis&&(i.ticks=e(i.min,i.max,n(i))),{[s]:i}},cellClass:t=>t.ticks?"lt-eb-cell":"",cell:(t,l,s,e)=>(t.ticks?c(t):"")+r(t,l,s,e),foot:(t,l)=>(t.ticks?a(t,l):"")+m(t,l)};const h=t=>Math.round(10*t)/10,u=t=>`"${t}"`;function $(t,l,s,e){const n=function(t,l,s,e){const n=l[t.cols[0]]?.[s-1];return(1===t.cols.length&&Array.isArray(n)?n:t.cols.map(t=>l[t]?.[s-1])).map(t=>e.isNum(t)?+t:null)}(t,l,s,e),i=n.filter(t=>null!=t);if(!i.length)return"";const o=t.width,r=t.height,c=n.length,a=null!=t.min?t.min:Math.min(...i),$=null!=t.max?t.max:Math.max(...i),x=t=>h($>a?r-2-(t-a)/($-a)*(r-4):r/2),m=t.color?` style="color:${e.esc(t.color)}"`:"";let f;if("bar"===t.kind){const t=(o-4)/c,l=h(Math.max(1,.8*t)),s=x(a<0&&$>0?0:a);f=n.map((e,n)=>{if(null==e)return"";const i=x(e),o=h(2+n*t+(t-l)/2);return`<rect class="lt-spark-bar" x=${u(o)} y=${u(Math.min(i,s))} width=${u(l)} height=${u(Math.max(1,Math.abs(s-i)))}/>`}).join("")}else{let t="",l=!1;n.forEach((s,e)=>{null!=s?(t+=`${l?"L":"M"}${(t=>h(c>1?2+t/(c-1)*(o-4):o/2))(e)} ${x(s)}`,l=!0):l=!1}),f=`<path class="lt-spark-line" d="${t}"/>`}return`<svg class="lt-spark" width="${o}" height="${r}"${m}>${f}<title>${e.esc(i.map(e.str).join(", "))}</title></svg>`}function x(t,l,s,e){const n=t.height,r=t.cols.length;let c=`<svg class="lt-dot" width="${t.width}" height="${n}">`;const a=[];return t.cols.forEach((h,u)=>{const $=l[h]?.[s-1];if(!e.isNum($))return;const x=t.colors?.[u],m=x?` fill="${e.esc(x)}"`:"";c+=`<circle${m} cx="${(l=>i(t,l))($)}" cy="${(l=>t.stagger?o(l,r,n):n/2)(u)}" r="3"/>`,a.push((t.labels?.[u]?t.labels[u]+": ":"")+e.str($))}),c+`<title>${e.esc(a.join("\n"))}</title></svg>`}function m(t,l){if(!t.colors)return"";return`<div class="lt-plot-legend">${t.cols.map((s,e)=>`<span><i style="background:${l.esc(t.colors[e])}"></i>${l.esc(t.labels?.[e]??s)}</span>`).join("")}</div>`}s.sparkline={resolve(t){const l=t.columns||[],s=l[0];return s?{[s]:{col:s,cols:l,kind:t.kind,min:t.min,max:t.max,color:t.color,width:t.width||120,height:t.height||20}}:{}},cell:(t,l,s,e)=>$(t,l,s,e)},s.dotplot={resolve(t){const l=t.columns||[],s=l[0];if(!s)return{};const i={col:s,cols:l,colors:t.colors,labels:t.labels,stagger:t.stagger,min:t.min,max:t.max,axisLabel:t.axis_label,width:t.width||160,height:t.height||16};return t.axis&&(i.ticks=e(i.min,i.max,n(i))),{[s]:i}},cellClass:t=>t.ticks?"lt-eb-cell":"",cell:(t,l,s,e)=>(t.ticks?c(t):"")+x(t,l,s,e),foot:(t,l)=>(t.ticks?a(t,l):"")+m(t,l)};const f=t.document;if(f)for(const t of f.querySelectorAll(".lt-table"))(t._ltSpec?.ops||[]).some(t=>s[t.type])&&l.refresh?.(t)})(window);
2
2
  //# sourceMappingURL=lt-plot.min.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["root","LT","cells","errorbar","niceTicks","lo","hi","n","niceNum","x","round","e","Math","floor","log10","f","d","dec","max","ticks","v","ceil","push","toFixed","nAxisTicks","eb","inner","width","per","String","min","length","ebX","span","p","stackY","i","H","svgErrorbar","data","r","u","num","k","isNum","height","cols","cap","s","ref","titles","forEach","c","est","los","his","y","yOf","col","colors","st","esc","fl","xl","xh","ci","str","labels","join","svgGrid","t","svgAxis","W","lbl","axisLabel","xt","resolve","op","columns","lowers","uppers","axis","axis_label","cellClass","cell","foot","legend","round1","q","svgSparkline","sp","vals","Array","isArray","map","spSeries","fin","filter","yAt","style","color","body","kind","slot","bw","base","yv","abs","pen","xAt","svgDotplot","dp","stagger","cfg","sparkline","dotplot","doc","document","tbl","querySelectorAll","_ltSpec","ops","some","o","type","refresh","window"],"sources":["lt-plot.js"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["root","LT","cells","errorbar","niceTicks","lo","hi","n","niceNum","x","round","e","Math","floor","log10","f","d","dec","max","ticks","v","ceil","push","toFixed","nAxisTicks","eb","inner","width","per","String","min","length","ebX","span","p","stackY","i","H","svgErrorbar","data","r","u","num","k","isNum","height","cols","cap","s","ref","titles","forEach","c","est","los","his","y","yOf","col","colors","st","esc","fl","xl","xh","ci","str","labels","join","svgGrid","t","svgAxis","W","lbl","axisLabel","xt","resolve","op","columns","lowers","uppers","axis","axis_label","cellClass","cell","foot","legend","round1","q","svgSparkline","sp","vals","Array","isArray","map","spSeries","fin","filter","yAt","style","color","body","kind","slot","bw","base","yv","abs","pen","xAt","svgDotplot","dp","stagger","cfg","sparkline","dotplot","doc","document","tbl","querySelectorAll","_ltSpec","ops","some","o","type","refresh","window"],"sources":["lt-plot.js"],"mappings":"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","ignoreList":[]}
package/js/lt.js CHANGED
@@ -294,8 +294,8 @@
294
294
  onOp("align", op => { for (const c of (op.columns || [])) setByCol(align, c, op.align); });
295
295
 
296
296
  // Column labels
297
- const autoLbl = s => spec.auto_label === false ? s : s.replace(/[._]/g, " ");
298
- const colLabels = visible.map(autoLbl);
297
+ const autoLbl = s => spec.auto_label === false ? s : s.replace(/[._]/g, " "),
298
+ colLabels = visible.map(autoLbl);
299
299
  onOp("label", op => {
300
300
  for (const [c, lbl] of Object.entries(op.labels || {})) setByCol(colLabels, c, lbl);
301
301
  });
@@ -492,8 +492,8 @@
492
492
  // R side); spec.html_cols is true (all columns) or a name array.
493
493
  isRaw = c => rawCol(spec.html_cols, c),
494
494
  out = [`<table class="lt-table"${tableWidth ? ` style="width:${tableWidth}"` : ""}>`];
495
- const mark = (type, val) => { const i = fIdx(type, val); return i ? sup(i) : ""; };
496
- const cell = (c, r) => display[c]?.[r - 1] ?? "";
495
+ const mark = (type, val) => { const i = fIdx(type, val); return i ? sup(i) : ""; },
496
+ cell = (c, r) => display[c]?.[r - 1] ?? "";
497
497
  // ` name="val"` for a truthy val, else "" — for optional HTML attributes.
498
498
  const attr = (n, v) => v ? ` ${n}="${v}"` : "";
499
499
  // Plain class names per column (alignment + leading-indent), "" if none.
@@ -694,8 +694,8 @@
694
694
  cols.forEach((c, i) => {
695
695
  const cm = cellMap[c];
696
696
  // reuse the renderer's cell class so the footer lines up with the plot
697
- const extra = footCells[i] && cm ? (cm.rnd.cellClass?.(cm.cfg) || "") : "";
698
- const ac = [colCls[i], extra].filter(Boolean).join(" ");
697
+ const extra = footCells[i] && cm ? (cm.rnd.cellClass?.(cm.cfg) || "") : "",
698
+ ac = [colCls[i], extra].filter(Boolean).join(" ");
699
699
  out.push(`<td${attr("class", ac)}>${footCells[i]}</td>`);
700
700
  });
701
701
  out.push(`</tr>`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xiee/utils",
3
- "version": "1.14.93",
3
+ "version": "1.14.95",
4
4
  "description": "Miscellaneous tools and utilities to manipulate HTML pages",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1"